1<!DOCTYPE html> 2<html> 3<head i18n-values="dir:textdirection;"> 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5<meta charset="utf-8"/> 6<title>Android System Trace</title> 7<style> 8 html, 9 body { 10 height: 100%; 11 } 12 13 body { 14 -webkit-flex-direction: column; 15 display: -webkit-flex; 16 margin: 0; 17 padding: 0; 18 } 19 20 body > tr-ui-timeline-view { 21 -webkit-flex: 1 1 auto; 22 min-height: 0; 23 } 24 body > tr-ui-timeline-view:focus { 25 outline: none; 26 } 27</style> 28<template id="overlay-template"> 29 <style> 30 overlay-mask { 31 left: 0; 32 padding: 8px; 33 position: absolute; 34 top: 0; 35 z-index: 1000; 36 font-family: sans-serif; 37 -webkit-justify-content: center; 38 background: rgba(0, 0, 0, 0.8); 39 display: -webkit-flex; 40 height: 100%; 41 left: 0; 42 position: fixed; 43 top: 0; 44 width: 100%; 45 } 46 overlay-mask:focus { 47 outline: none; 48 } 49 overlay-vertical-centering-container { 50 -webkit-justify-content: center; 51 -webkit-flex-direction: column; 52 display: -webkit-flex; 53 } 54 overlay-frame { 55 z-index: 1100; 56 background: rgb(255, 255, 255); 57 border: 1px solid #ccc; 58 margin: 75px; 59 display: -webkit-flex; 60 -webkit-flex-direction: column; 61 min-height: 0; 62 } 63 title-bar { 64 -webkit-align-items: center; 65 -webkit-flex-direction: row; 66 border-bottom: 1px solid #ccc; 67 background-color: #ddd; 68 display: -webkit-flex; 69 padding: 5px; 70 -webkit-flex: 0 0 auto; 71 } 72 title { 73 display: inline; 74 font-weight: bold; 75 -webkit-box-flex: 1; 76 -webkit-flex: 1 1 auto; 77 } 78 close-button { 79 -webkit-align-self: flex-end; 80 border: 1px solid #eee; 81 background-color: #999; 82 font-size: 10pt; 83 font-weight: bold; 84 padding: 2px; 85 text-align: center; 86 width: 16px; 87 } 88 close-button:hover { 89 background-color: #ddd; 90 border-color: black; 91 cursor: pointer; 92 } 93 overlay-content { 94 display: -webkit-flex; 95 -webkit-flex: 1 1 auto; 96 -webkit-flex-direction: column; 97 overflow-y: auto; 98 padding: 10px; 99 min-width: 300px; 100 min-height: 0; 101 } 102 button-bar { 103 -webkit-align-items: baseline; 104 border-top: 1px solid #ccc; 105 display: -webkit-flex; 106 -webkit-flex: 0 0 auto; 107 -webkit-flex-direction: row-reverse; 108 padding: 4px; 109 } 110 </style> 111 112 <overlay-mask> 113 <overlay-vertical-centering-container> 114 <overlay-frame> 115 <title-bar> 116 <title></title> 117 <close-button>✕</close-button> 118 </title-bar> 119 <overlay-content> 120 <content></content> 121 </overlay-content> 122 <button-bar></button-bar> 123 </overlay-frame> 124 </overlay-vertical-centering-container> 125 </overlay-mask> 126</template><style> 127* /deep/ .labeled-checkbox { 128 display: flex; 129 white-space: nowrap; 130} 131</style><dom-module id="tr-ui-a-analysis-link"> 132 <template> 133 <style> 134 :host { 135 display: inline; 136 cursor: pointer; 137 cursor: pointer; 138 white-space: nowrap; 139 } 140 a { 141 text-decoration: underline; 142 } 143 </style> 144 <a href="{{href}}" on-click="onClicked_" on-mouseenter="onMouseEnter_" on-mouseleave="onMouseLeave_"><content></content></a> 145 146 </template> 147</dom-module><dom-module id="tr-ui-b-table"> 148 <template> 149 <style> 150 :host { 151 display: flex; 152 flex-direction: column; 153 } 154 155 table { 156 flex: 1 1 auto; 157 align-self: stretch; 158 border-collapse: separate; 159 border-spacing: 0; 160 border-width: 0; 161 -webkit-user-select: initial; 162 } 163 164 tr > td { 165 padding: 2px 4px 2px 4px; 166 vertical-align: top; 167 } 168 169 table > tbody:focus { 170 outline: none; 171 } 172 table > tbody:focus[selection-mode="row"] > tr[selected], 173 table > tbody:focus[selection-mode="cell"] > tr > td[selected], 174 table > tbody:focus > tr.empty-row > td { 175 outline: 1px dotted #666666; 176 outline-offset: -1px; 177 } 178 179 button.toggle-button { 180 height: 15px; 181 line-height: 60%; 182 vertical-align: middle; 183 width: 100%; 184 } 185 186 button > * { 187 height: 15px; 188 vertical-align: middle; 189 } 190 191 td.button-column { 192 width: 30px; 193 } 194 195 table > thead > tr > td.sensitive:hover { 196 background-color: #fcfcfc; 197 } 198 199 table > thead > tr > td { 200 font-weight: bold; 201 text-align: left; 202 203 background-color: #eee; 204 white-space: nowrap; 205 overflow: hidden; 206 text-overflow: ellipsis; 207 208 border-top: 1px solid #ffffff; 209 border-bottom: 1px solid #aaa; 210 } 211 212 table > tfoot { 213 background-color: #eee; 214 font-weight: bold; 215 } 216 217 /* Light row and cell highlight. */ 218 table > tbody[row-highlight-style="light"] > tr[selected], 219 table > tbody[cell-highlight-style="light"] > tr > td[selected] { 220 background-color: rgb(213, 236, 229); /* light turquoise */ 221 } 222 table > tbody[row-highlight-style="light"] > 223 tr:not(.empty-row):not([selected]):hover, 224 table > tbody[cell-highlight-style="light"] > 225 tr:not(.empty-row):not([selected]) > td:hover { 226 background-color: #f6f6f6; /* light grey */ 227 } 228 229 /* Dark row and cell highlight. */ 230 table > tbody[row-highlight-style="dark"] > tr[selected], 231 table > tbody[cell-highlight-style="dark"] > tr > td[selected] { 232 background-color: rgb(103, 199, 165); /* turquoise */ 233 } 234 table > tbody[row-highlight-style="dark"] > 235 tr:not(.empty-row):not([selected]):hover, 236 table > tbody[cell-highlight-style="dark"] > 237 tr:not(.empty-row):not([selected]) > td:hover { 238 background-color: #e6e6e6; /* grey */ 239 } 240 table > tbody[row-highlight-style="dark"] > tr:hover[selected], 241 table > tbody[cell-highlight-style="dark"] > tr[selected] > td:hover { 242 background-color: rgb(171, 217, 202); /* semi-light turquoise */ 243 } 244 245 table > colgroup > col[selected] { 246 background-color: #e6e6e6; /* grey */ 247 } 248 249 table > tbody > tr.empty-row > td { 250 color: #666; 251 font-style: italic; 252 text-align: center; 253 } 254 255 table > tbody.has-footer > tr:last-child > td { 256 border-bottom: 1px solid #aaa; 257 } 258 259 table > tfoot > tr:first-child > td { 260 border-top: 1px solid #ffffff; 261 } 262 263 :host([zebra]) table tbody tr:nth-child(even) { 264 background-color: #f4f4f4; 265 } 266 267 expand-button { 268 -webkit-user-select: none; 269 cursor: pointer; 270 margin-right: 3px; 271 font-size: smaller; 272 height: 1rem; 273 } 274 275 expand-button.button-expanded { 276 transform: rotate(90deg); 277 } 278 </style> 279 <table> 280 <colgroup id="cols"> 281 </colgroup> 282 <thead id="head"> 283 </thead> 284 <tbody id="body"> 285 </tbody> 286 <tfoot id="foot"> 287 </tfoot> 288 </table> 289 </template> 290</dom-module><dom-module id="tr-ui-b-table-header-cell"> 291 <template> 292 <style> 293 :host { 294 -webkit-user-select: none; 295 display: flex; 296 } 297 298 span { 299 flex: 0 1 auto; 300 } 301 302 #side { 303 -webkit-user-select: none; 304 flex: 0 0 auto; 305 padding-left: 2px; 306 padding-right: 2px; 307 vertical-align: top; 308 font-size: 15px; 309 font-family: sans-serif; 310 line-height: 85%; 311 margin-left: 5px; 312 } 313 314 #side.disabled { 315 color: rgb(140, 140, 140); 316 } 317 318 #title:empty, #side:empty { 319 display: none; 320 } 321 </style> 322 323 <span id="title"></span> 324 <span id="side"></span> 325 </template> 326</dom-module><dom-module id="tr-v-ui-scalar-context-controller"> 327 <template></template> 328</dom-module><dom-module id="tr-v-ui-scalar-span"> 329 <template> 330 <style> 331 :host { 332 display: flex; 333 flex-direction: row; 334 justify-content: flex-end; 335 position: relative; 336 /* Limit the sparkline's negative z-index to the span only. */ 337 isolation: isolate; 338 } 339 340 :host(.left-align) { 341 justify-content: flex-start; 342 } 343 344 :host(.inline) { 345 display: inline-flex; 346 } 347 348 #sparkline { 349 width: 0%; 350 position: absolute; 351 bottom: 0; 352 display: none; 353 height: 100%; 354 background-color: hsla(216, 100%, 94.5%, .75); 355 border-color: hsl(216, 100%, 89%); 356 box-sizing: border-box; 357 z-index: -1; 358 } 359 #sparkline.positive { 360 border-right-style: solid; 361 /* The border width must be kept in sync with buildSparklineStyle_(). */ 362 border-right-width: 1px; 363 } 364 #sparkline:not(.positive) { 365 border-left-style: solid; 366 /* The border width must be kept in sync with buildSparklineStyle_(). */ 367 border-left-width: 1px; 368 } 369 #sparkline.better { 370 background-color: hsla(115, 100%, 93%, .75); 371 border-color: hsl(118, 60%, 80%); 372 } 373 #sparkline.worse { 374 background-color: hsla(0, 100%, 88%, .75); 375 border-color: hsl(0, 100%, 80%); 376 } 377 378 #content, #significance, #warning { 379 flex-grow: 0; 380 } 381 #content.better { 382 color: green; 383 } 384 #content.worse { 385 color: red; 386 } 387 388 #significance svg { 389 margin-left: 4px; 390 display: none; 391 height: 1em; 392 vertical-align: text-top; 393 stroke-width: 4; 394 fill: rgba(0, 0, 0, 0); 395 } 396 #significance #insignificant { 397 stroke: black; 398 } 399 #significance #significantly_better { 400 stroke: green; 401 } 402 #significance #significantly_worse { 403 stroke: red; 404 } 405 406 #warning { 407 display: none; 408 margin-left: 4px; 409 height: 1em; 410 vertical-align: text-top; 411 stroke-width: 0; 412 } 413 #warning path { 414 fill: rgb(255, 185, 185); 415 } 416 #warning rect { 417 fill: red; 418 } 419 </style> 420 421 <span id="sparkline"></span> 422 423 <span id="content"></span> 424 425 <span id="significance"> 426 427 <svg id="insignificant" viewBox="0 0 128 128"> 428 <circle cx="64" cy="64" r="60"></circle> 429 <circle cx="44" cy="44" r="4"></circle> 430 <circle cx="84" cy="44" r="4"></circle> 431 <line x1="36" x2="92" y1="80" y2="80"></line> 432 </svg> 433 434 435 <svg id="significantly_better" viewBox="0 0 128 128"> 436 <circle cx="64" cy="64" r="60"></circle> 437 <circle cx="44" cy="44" r="4"></circle> 438 <circle cx="84" cy="44" r="4"></circle> 439 <path d="M 28 64 Q 64 128 100 64"></path> 440 </svg> 441 442 443 <svg id="significantly_worse" viewBox="0 0 128 128"> 444 <circle cx="64" cy="64" r="60"></circle> 445 <circle cx="44" cy="44" r="4"></circle> 446 <circle cx="84" cy="44" r="4"></circle> 447 <path d="M 36 96 Q 64 48 92 96"></path> 448 </svg> 449 </span> 450 451 <svg id="warning" viewBox="0 0 128 128"> 452 <path d="M 64 0 L 128 128 L 0 128 L 64 0"></path> 453 <rect height="84" width="8" x="60" y="0"></rect> 454 <rect height="24" width="8" x="60" y="100"></rect> 455 </svg> 456 </template> 457</dom-module><dom-module id="tr-ui-a-generic-object-view"> 458 <template> 459 <style> 460 :host { 461 display: block; 462 font-family: monospace; 463 } 464 </style> 465 <div id="content"> 466 </div> 467 </template> 468</dom-module><dom-module id="tr-ui-a-generic-object-view-with-label"> 469 <template> 470 <style> 471 :host { 472 display: block; 473 } 474 </style> 475 </template> 476</dom-module><dom-module id="tr-ui-b-drag-handle"> 477 <template> 478 <style> 479 :host { 480 -webkit-user-select: none; 481 box-sizing: border-box; 482 display: block; 483 } 484 485 :host(.horizontal-drag-handle) { 486 background-image: -webkit-gradient(linear, 487 0 0, 0 100%, 488 from(#E5E5E5), 489 to(#D1D1D1)); 490 border-bottom: 1px solid #8e8e8e; 491 border-top: 1px solid white; 492 cursor: ns-resize; 493 flex: 0 0 auto; 494 height: 7px; 495 position: relative; 496 } 497 498 :host(.vertical-drag-handle) { 499 background-image: -webkit-gradient(linear, 500 0 0, 100% 0, 501 from(#E5E5E5), 502 to(#D1D1D1)); 503 border-left: 1px solid white; 504 border-right: 1px solid #8e8e8e; 505 cursor: ew-resize; 506 flex: 0 0 auto; 507 position: relative; 508 width: 7px; 509 } 510 </style> 511 <div></div> 512 </template> 513</dom-module><dom-module id="tv-ui-b-hotkey-controller"> 514 <template> 515 <div></div> 516 </template> 517</dom-module><dom-module id="tr-ui-b-info-bar"> 518 <template> 519 <style> 520 :host { 521 align-items: center; 522 flex: 0 0 auto; 523 background-color: rgb(252, 235, 162); 524 border-bottom: 1px solid #A3A3A3; 525 border-left: 1px solid white; 526 border-right: 1px solid #A3A3A3; 527 border-top: 1px solid white; 528 display: flex; 529 height: 26px; 530 padding: 0 3px 0 3px; 531 } 532 533 :host([hidden]) { 534 display: none !important; 535 } 536 537 #message { flex: 1 1 auto; } 538 </style> 539 540 <span id="message"></span> 541 <span id="buttons"></span> 542 </template> 543</dom-module><style> 544* /deep/ .x-list-view{-webkit-user-select:none;display:block}* /deep/ .x-list-view:focus{outline:none}* /deep/ .x-list-view *{-webkit-user-select:none}* /deep/ .x-list-view>.list-item{padding:2px 4px 2px 4px}* /deep/ .x-list-view:focus>.list-item[selected]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ .x-list-view>.list-item[selected]{background-color:rgb(103,199,165)} 545</style><dom-module id="tr-ui-b-mouse-mode-icon"> 546 <template> 547 <style> 548 :host { 549 display: block; 550 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=); 551 width: 27px; 552 height: 30px; 553 } 554 :host.active { 555 cursor: auto; 556 } 557 </style> 558 </template> 559</dom-module><dom-module id="tr-ui-b-mouse-mode-selector"> 560 <template> 561 <style> 562 :host { 563 564 -webkit-user-drag: element; 565 -webkit-user-select: none; 566 567 background: #DDD; 568 border: 1px solid #BBB; 569 border-radius: 4px; 570 box-shadow: 0 1px 2px rgba(0,0,0,0.2); 571 left: calc(100% - 120px); 572 position: absolute; 573 top: 100px; 574 user-select: none; 575 width: 29px; 576 z-index: 20; 577 } 578 579 .drag-handle { 580 background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=) 2px 3px no-repeat; 581 background-repeat: no-repeat; 582 border-bottom: 1px solid #BCBCBC; 583 cursor: move; 584 display: block; 585 height: 13px; 586 width: 27px; 587 } 588 589 .tool-button { 590 background-position: center center; 591 background-repeat: no-repeat; 592 border-bottom: 1px solid #BCBCBC; 593 border-top: 1px solid #F1F1F1; 594 cursor: pointer; 595 } 596 597 .buttons > .tool-button:last-child { 598 border-bottom: none; 599 } 600 601 </style> 602 <div class="drag-handle"></div> 603 <div class="buttons"> 604 </div> 605 </template> 606</dom-module><dom-module id="tr-ui-e-chrome-cc-display-item-list-item"> 607 <template> 608 <style> 609 :host { 610 border-bottom: 1px solid #555; 611 display: block; 612 font-size: 12px; 613 padding: 3px 5px; 614 } 615 616 :host(:hover) { 617 background-color: #f0f0f0; 618 cursor: pointer; 619 } 620 621 .header { 622 font-weight: bold; 623 margin: 2px 0; 624 } 625 626 .header > .extra { 627 background-color: #777; 628 border-radius: 4px; 629 color: white; 630 margin: 0 6px; 631 text-decoration: none; 632 padding: 2px 4px; 633 } 634 635 .raw-details { 636 white-space: pre-wrap; 637 } 638 639 .details > dl { 640 margin: 0; 641 } 642 643 :host(:not([selected])) .details { 644 display: none; 645 } 646 </style> 647 <div class="header"> 648 {{name}} 649 <template if="{{_computeIf(richDetails)}}" is="dom-if"> 650 <a class="extra" download="drawing.skp" href$="{{_computeHref(richDetails)}}" on-click="{{stopPropagation}}">SKP</a> 651 </template> 652 </div> 653 <div class="details"> 654 <template if="{{rawDetails}}"> 655 <div class="raw-details">{{rawDetails}}</div> 656 </template> 657 <template bind="{{richDetails}}" if="{{richDetails}}" is="dom-if"> 658 <dl> 659 <template bind="{{cullRect}}" if="{{cullRect}}" is="dom-if"> 660 <dt>Cull rect</dt> 661 <dd>{{x}},{{y}} {{width}}×{{height}}</dd> 662 </template> 663 <template bind="{{visualRect}}" if="{{visualRect}}" is="dom-if"> 664 <dt>Visual rect</dt> 665 <dd>{{x}},{{y}} {{width}}×{{height}}</dd> 666 </template> 667 </dl> 668 </template> 669 </div> 670 </template> 671 672</dom-module><style> 673* * /deep/ tr-ui-e-chrome-cc-picture-ops-list-view{-webkit-flex-direction:column;border-top:1px solid grey;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view{-webkit-flex:1 1 auto;overflow:auto}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item{border-bottom:1px solid #555;font-size:small;font-weight:bold;padding-bottom:5px;padding-left:5px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item:hover{background-color:#f0f0f0;cursor:pointer}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>*{color:#777;font-size:x-small;font-weight:normal;margin-left:1em;max-width:300px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.elementInfo{color:purple;font-size:small;font-weight:bold}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.time{color:rgb(136,0,0)}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view:focus>.list-item[beforeSelection]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view>.list-item[beforeSelection]{background-color:rgb(103,199,165)} 674</style><template id="tr-ui-e-chrome-cc-display-item-debugger-template"> 675 <style> 676 * /deep/ tr-ui-e-chrome-cc-display-item-debugger { 677 -webkit-flex: 1 1 auto; 678 display: -webkit-flex; 679 } 680 681 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel { 682 -webkit-flex-direction: column; 683 display: -webkit-flex; 684 min-width: 300px; 685 overflow-y: auto; 686 } 687 688 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 689 display-item-info { 690 -webkit-flex: 1 1 auto; 691 padding-top: 2px; 692 } 693 694 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 695 display-item-info .title { 696 font-weight: bold; 697 margin-left: 5px; 698 margin-right: 5px; 699 } 700 701 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 702 display-item-info .export { 703 margin: 5px; 704 } 705 706 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > tr-ui-b-drag-handle { 707 -webkit-flex: 0 0 auto; 708 } 709 710 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel { 711 -webkit-flex: 1 1 auto; 712 display: -webkit-flex; 713 } 714 715 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 716 display-item-info > header { 717 border-bottom: 1px solid #555; 718 } 719 720 /*************************************************/ 721 722 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 723 tr-ui-e-chrome-cc-picture-ops-list-view.hasPictureOps { 724 display: block; 725 } 726 727 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 728 tr-ui-b-drag-handle.hasPictureOps { 729 display: block; 730 } 731 732 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 733 tr-ui-e-chrome-cc-picture-ops-list-view { 734 display: none; 735 overflow-y: auto; 736 } 737 738 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 739 tr-ui-b-drag-handle { 740 display: none; 741 } 742 743 * /deep/ tr-ui-e-chrome-cc-display-item-debugger raster-area { 744 -webkit-flex: 1 1 auto; 745 background-color: #ddd; 746 min-height: 200px; 747 min-width: 200px; 748 overflow-y: auto; 749 padding-left: 5px; 750 } 751 </style> 752 753 <left-panel> 754 <display-item-info> 755 <header> 756 <span class="title">Display Item List</span> 757 <span class="size"></span> 758 <div class="export"> 759 <input class="dlfilename" type="text" value="displayitemlist.json"/> 760 <button class="dlexport">Export display item list</button> 761 </div> 762 <div class="export"> 763 <input class="skpfilename" type="text" value="skpicture.skp"/> 764 <button class="skpexport">Export list as SkPicture</button> 765 </div> 766 </header> 767 </display-item-info> 768 </left-panel> 769 <right-panel> 770 <raster-area><canvas></canvas></raster-area> 771 </right-panel> 772</template><style> 773* /deep/ .tr-ui-e-chrome-cc-display-item-list-view{-webkit-flex:1 1 auto!important;display:-webkit-flex} 774</style><style> 775* /deep/ tr-ui-e-chrome-cc-layer-picker{-webkit-flex-direction:column;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;display:inline;font-size:14px;padding-left:2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls input[type='checkbox']{vertical-align:-2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>.x-list-view{-webkit-flex:1 1 auto;font-family:monospace;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view{-webkit-flex:0 0 auto;height:200px;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view *{-webkit-user-select:text!important;cursor:text} 776</style><style> 777* /deep/ quad-stack-view { 778 display: block; 779 float: left; 780 height: 100%; 781 overflow: hidden; 782 position: relative; /* For the absolute positioned mouse-mode-selector */ 783 width: 100%; 784} 785 786* /deep/ quad-stack-view > #header { 787 position: absolute; 788 font-size: 70%; 789 top: 10px; 790 left: 10px; 791 width: 800px; 792} 793* /deep/ quad-stack-view > #stacking-distance-slider { 794 position: absolute; 795 font-size: 70%; 796 top: 10px; 797 right: 10px; 798} 799 800* /deep/ quad-stack-view > #chrome-left { 801 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABICAYAAABC4+HLAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyMmV/Pm9QAAIABJREFUeNrtvXmwXdd13vlbe9/7BgzEQAIcQAIEQYKjSAokLVlOW5Fk2nLKmqx0J2Wp0k652h13uiy5XYqdwU7sSnckpZ1yV3U75apU4kos27Elu9NlyRXZjiiRomSTIiWZs0hwHsABJIY33rPX6j/W2ueed3DvAyDKKoGFW0UCeO/ec/fZZ+29v7XWt74lAIuLi7tXV1f/raq+zcy2AogIZsbpvrqfMzNE5IS/1/fVn5sZKaUTrtX9/v7nT+fn9e/1e052X/3r1THWa3R/37+miKCq7c+mjW/a+F/P57vj6/45bayn+wzXs4n+794Q9nP8+PHdS0tL31LVmfpGVQU4YSInGUb/YfZvpn+zp/LQu4Y27X31d933nurkq+qaa08yotO55npG0v2O+r1/XZ9fb2FMWoD9Oe5+pju//e+fdP3u83+j2I+89NJLn11dXf1bdSCTJnnSSpz2+/VWZ/8m+w+g/zD616yT2P9733BOZ5f4dhbCevPQHet63zVtV3y9n1/v/k9nZ562SNY7Gd5o9iPPP//8qxVKrQdL+hOy3qqdNEnTjv1JA+vuRpMGvd7kn8oCqded9B2THuJ6u/Kk7+vuiNOgQH8OX+/np813/376O/CkU2EavDwVWPiGsp9nn33WJt3ItF2ne2xOe2jTHuTJMOS0He1UcG33791JmWQYkzB6dyfp7tynsktPG8/Jdv2TGcLpfH7Sc5m0EKZBsPV+tp4PMe39bwj7efrpp229G5u2O3WPplN1cE/XQZsENybtnNN2pv4x3N1Fpu2S/SO6j6fXgz6n4gRPGmMfR7/ez/cXd/1798Tsfr4PMU52Oq4Hp95I9jPor7ZJ+G7STlEnvN7gesfXpB2tH5lZzynrO07Txtb92aQTY9rv+3i1v4jqv5umOSEq0r9O3/iqEUx6MPXnqjpxrk73812oMQmP968zyUj68zPp+U1bxG80+5GnnnrKpkVxTiWUuN4q7+96/YFXp6pvANN8hD7MmRbF6O7200KR9ed9CDbpSF4v6jIJtnQjQdPGOylK9p34/HowaFL0Z73IUNex7Z5Gk3bkN6L9yBNPPGHdY3fayu3uSP0dqH62uyP0w4XrDWo957gPEfqf78e4p4U8+0Y86R6711pvAUyL3vTvd9ou238Q/Xn4dj4/Cd6d7BlMC532534S9OnO8xvVfuTxxx+39RJlk/DtpAGc6k6hquScp+7EkyIn0+LV60Ufpu2q05zN/sOYFIfvP8CT5VEmGWN/h5w0zm/38+sl7/r3drLntt58rzdXbyT7kccee8z6O2b3JnLO6zpjk47nkyVg1pu07muas9b3CaZh4f5uPMn4Sikn7Jj9RTEJMnQfVHdck4x3Wt5i0qL6dj8/6WQ5GcSYBiEn+STrhT/fqPYzmJYxrRcopax5eH18Oi38WI2ulLImYTPNMavv716z/93rRXUmOZXVgZ5kePX7+hPeN5xJTmx3MdXf9zHyM888w8LCwgn30IUQ0xzWSYvhVD4/LarTzpWBpOl+zqRQ9lqjE2DCtbH2x9MW3XA45JxzzmHnzp0njYp9r9jPoH75Gkekc8SZ2ZpjrH/Ez8wMSSmHMY4YjZp2MDnniVGT/sPvRhxmZ2fJOWHmxj0ajU7AtvV6k4727gSklMg5M4jdq6iyuro69bv799fNptYF0X3vJKjz8MMPMz+/gWuvuYatW7eScgIEwTADEwEUAZDkBgtuYONlCCJgAuZ/N5QkCcP8avFzUH8fsZgNEoJJLAakc+2TjENi90RQjGSCJm1/hwlmgmRFFIwEYoiNxyPxvYZ07gVKUzh8+DD333cfRZXLLrvsBLxfjbl76pyO/ZRS1thq325O137k4YcftvUSOf1Ufdco/uwLX+LOv7ibZ194EYBdF+zkB956C+98+99ARE64ue6XqyqDwaDdGZqm4Qtf/DK3f+UveO7QS2uu944f/IH2WpNwdp2U/oT8+W23c8dX7+K5GN9FF+zkb7zlZt71jh9cswNPw8uTsPU0h19VeeSRR7j55lvYumUzK6MCpqTs9p2AAiRLmChWBBIIiqZEMkVUMAQTJZtQSCCKkDE0/h+7twkKpCSYxrhVMTGyCYogohRLCGvHoYD0xyGKScIUpC5AVSQl/0ACaxeCkJJhakDCTJEEiKAmDMx8XSdAY6lZQjHmZoa89NLL3Pv1r3PVVVeesDH3T+FTtZ/uguhu8v3o36naj4ggjzzyiPXhwtRjOf6+tLjEP//4r3HOuRfw5psPsOeSXQA8+dQz3Pu1ezl2+BC//I9+jvn5uXWjDfW1uLjIr37y19m8/fzJ13vlBf75L/48c3Oza3aWadSP5eUVfuUT/2bd6/3yL/xvbNgwv2Y3qbtOF0J2MfN6ka7nnnuOvZfuZcfO8xitKnloFBXEBHGLc4MTQwVEDeIkyAqa/Pdh9z5vaqgkUuz8akYGVATEHOYYiCSUQtJqkCDJsJJIvXFYNRIzLGWQQqqLEiOhqKS6gnzhqJ9cJplsiiXBSnfBJF957TEoJBKYYskwFUSgWCKnBkmZp59+mpdfepmdO3eu2USn+V/r2c/JWAX9CN/J7KdNiD744IO2nqM0Cff+01/9P7js6gP8d29/C5detJNtmzYC8OrxBZ547kVu/+JfcPDBe/iXv/xPkCnkvHalm/HPTvV6v/SP25vs3mB3fKurI37pX36cfdesf73HHriH//2X/3Fr/NOSTZMyzn0n0sx47LHH+JEf+REWFhd8pzcliRtyBVbFYlcTN0bfpoWEYiaxENTtjOQwByOZ7+r+b/zacY5YICvH/iDmBurjmzQOKMlIWkPThpohkuN0iwWI+YrNGkdeQswwcbhlWEAzw8wXazZDJfsYMP84ghXzxSHip5rB/IY5/sv/+0dc96Y3rdmA2uz0YDA1EHIqDNv1KDAVvk2yn64vOujHlqdlJ+vv/+wLX2JuywVcfOkeXj2ywGtHn0C1Hov+uUsu3cNzzz/Hf7vtdm5959snRknq6wtfvOOUr/fnX7yDH37n29fccBdG5Zy57fYvs2HrqV7vdm59x9vXJeqtx6WqD+T555/nyiv3s7y8TMLhSgLMElkURx+KENi+7uzi0EgtIUCi+OmSwIpjmYTSAIN6uiSDkkAKQgp/IgON+yaGnxIBz/rjcPckj30LU5I5rCsJsiYsafgjCbXEUIwiiqq4e1J9FjVfNCioYMlPC/eJIFuisTiN0oBkhllBcmJlaYnL9+/n0KFD7Nixg5xza6hPP/00S0tLzM7Mho/lfpGicW/hyyCQAv75Nuw+UOwi/o7WmXLfClhYOMaWLVvZtWtXG7TpRibrMx/0V1j34XcdT4DBYMA933yQnRdeymhUOHZsCZFEqrurORRZHRV2XrCLr33jft596zsZjUbtiuzGqQeDAXd//T52Xrj3lK53zzce4G/d+k6WlpfXOF5jSAhf+8YD7DjF8d3zjQf50VvfRdM0LYzqv/pHcH9napqGF154gb/59rdz7PhxTPCdNSliisYuK5rjIRsWPyeJQyGhWhyNCEn9sbrPIGRJmBRfeCb+kEXQwDZG49AFIYmh4kvmhHGYISTEGl9YBimPoZypvx8VJA3R5IurMcdrSTrjLuGjGJCNpJnGlCwWp6CRMLIoMCBhFJPYIAxNxjVXX83v//7vs337dnLONE1DzpmXX36Zt73tB1g8fhwzh3OIObyrp60IWp9XNlBfRtkCPqWIM9T5x+GhDIQN8/O88srLfPWrX+WWW245IeLVPvvubt49biZRMTDj6MISGzdt9i81YTjIzM/OMjc7w3AwANwp27hpM0cWln0iOt9RowruSAlHFpZP43pLJxAB68lnZuSUOXJa41tCIuQ7jYBWf9fnP5kZo9GIlZUVLrzwQpaXVzxihGHJEE1ucdlIkgOwKMncj5Ds0SjfZd2R9re7AeWkGOFUhuOrrd+jFDPMEkJ1XGPhxdY+cRzZARPJfR9Jiqm/P2wONKHJwJRs6jt0Su5nWHJfQj2IYBQIp14xBkI47OE/BVyUFI6/KCk5zJOSGY1W2bFjB03TrOGtzQyHNKNRnTGQghWjWInxGI0phvtyNOZg0GAU86hmlMYw9c9qMYyCjgpHjx9ndmYD3//Wt3LPPfdM9FtUlYGqUko5IbzVdUi7WHw4M8vc3CxzczNsmnejq6HSphSWVlYBWF2ZY2Z2tt2tuwuw/ruUwszs6V2vuxi6TlYd48zM6V+vC8/qYqgnZT861Y+dP/bYo/zoj/4Yo3o8u1PgoVRJiPqJBRkRo6C+oxchSaGIxC5uJHEfwDdqN3xTg+wRKXd2EyRIBppjy/fLY02CWCzTxuHX91MAEfdPNJESqBopFcwyJurAqg3jWpx6DqkExVIiNwIDQa1BAWRAQiE5XExJ/URCyQgFIZlB9rk8cOAAt912G/v3728jiMOZGVQDEShoSUhuEM2U5CecFHWIGbAzlwZJghRDs0AJ2FVdu2wUMxI+XyqFpjF27drF0aNH2bRpU7txt455fcjVuCrE6Ds6DkdW2bF9C1lg49wsG+ZmOWfjHNu3bGL7lk1s2TjPpvlZNszOkMTYsW0LWvSEHbhraDu2nfr1ztu6haa3uLqn0qhpOO+0rncOTWcy+vmMesLVxVgXdimFpmligWbmZgZtLN8vFmFZbbBGHfdSwo9whxot8ZAdMydzTG9aUDGKGlZ8QaiGU6wGVtDSUChIY6j6gqOBTHPScZj5qVHUoAg0DaYlIIWhlj2qFUhBDUwLNH4tMCgKZqRSGMwO+PM//VOGgznPe2jDYGbIvfd8g5mZAapCMcEEv6cK8RpFLLFp06Z2Lqvt7dmzh4cfeRBTQ1E04GXBEG187pLSqNKYbyBm0IQda6MoDUbB1DwQUvyE1tJgKFqM1dJw6Z5Lefzxx1vb7B4EqbtSJjmmXYjVNIXrr7mCI68dZmaQmJ8dsu2cTezYtpkd2zaz9ZyNzM8OmRlkjr52mBuu2c/qaHRCZGcMSxpuuGb/qV/v2isYxfW6GdFqtE3TcMNpjq8mGbs+xyRSX520GhMvpfDC889z7XXXsdKsYMV8t7fA3ChYJmWgGKkIlh3SWeQEwJDkp0UJKKIioGNXW9R3PnKKEK+E32BYDlxvUMTQzEnHIREQSCQaMSRn9+dlvKOmMUr3aFRKcco43JIUicWU+G+3fYHf/c+/x6c+9R+ZGQ6ZmZ3jtz/1Kf7PX/vX3HPvvTHaQsYgKUnFo9C5oBirKytcdeVVvPjii+1zEBGOHTvGxk0bfXGabyxGQ1GHmaYB4YqRLDYIIXyw4vDQ/HoJQ61BTHyPKeZ3aMbxhQXm5+dPSDCaGamPt7pQZRJL8qYbrmP56KscPnwYEZgZJAbZ/5sZZMA4fPgVlo++yoEbrqXCtq4Bdv2bm9/8JpaPvXZq17v+2hNgTXcxN03DzQeuP+Xx3XLg+hNoGN1Togsxu4umnijPv/AC+6/YTxlZZIo1YJIf5yLmBpeFMhCwEg67J8QkVacyRe66eLg1aRtcUVFSgmzFsx3uWSKSkWIUibiSpcD1648DMU/ggTvP6r5PskhrmEMfRFEJKBcZfJPkjq4nQTA13vk338mHfuJDfOXOr/J7v/t7/M7v/A53fvlOfuqnfoqbbjhA8di1/2nZr5kU0YQlhz7XvukannrqqTW2snXrVpYXFrBmBH5+OBnA/CRxP0NJVjySZoo2DrLcbhu0eDTORONnxde3FUQLqoVmtMreS/fwzDPPnOBe5J/+6Z/+F/1dvZ9V7BqHiHDDtVdy51f/ktVRw9ZzNpMkMRo1HD16jAce/hbPPv0k/+N//941Wcr1CoNuvO4q7vjKetd7gr/3t98zkXJ8QpTJjBuuu5IvTxnf/Q9/i+effpIPf/DHJiqO9EPX/Yhd9UuWl5fZMD/ProsupJhDBEniOzaCWMakuNMsjp0znhzTSv0wRbL4yYCQyWgliJhTMzKZRty3cNhDJNgMY0ACz66H333ScRSHVSnCrZbdfzFpc4okFLHsvkEkBE0E6YSPfXxQrHDF/suZnZ3jttu+wHPPPcv73vdefuiHfpiVZrlNbLYJy4Hfm9uSn4jaFF47coScUuvnbd26lccOPsa27eehxXd/JO7LQAZgJRZ84+epZM8JeYwtIaKIRZpGxXNFLTvMIuye2LRxE48++ig7d+5c48/KPffcY5O4+11nvOsj1N/Pz2/ggYe/xaNPPUcTGHc4GLBvz0Vcc8U+VlZXpkrgTCrPrNf71pPPnnC9a6+8gqWlxTUOUx1T/VmfGbphw0buf+gRHn3yudavaMe3/3JWVpZPYOXW+6vX7CYcu9GUpmm47777+OAHP+h4NxYlSdr8gOGOY45TwCpIsRQwxkjqxi7iECCJY3MBj91L8viXKSlFrN7iG6SyrOp1OaVxEAlB1EPFyTzSVCkjmgSp2XGNPALBO2kMy0JW8YhW8VNpODvLp//g03zjG/diCDfeeAN/+8c/yOrqClgOLpZgA8NGKU6vOI0QhMzK8iL/9fOf58orr2QwGJBz5v777+etb/l+jh096rAzCNApbhMqRItTRVKHGBmcF6CYkSUjWlr+pNNrIodiwlNPP8WuXbvWJKoHXew+GAwYjUYnxPS78d9q3EtLi+zfdym3HLiBuVlP1qyurPLakSMsryxPrNfuhnL7hLKFhePs33cpN9/4Jubm58BgeWWFI0eOsLBwfM3i7BrytLrlhYXjXL1/H993043MzsyAwMrKKseOHWNxcWEq6a3PzO0nSFWV0WjE7OwsMzOzLC8teagTQ5w8FVljZ8B6bD/Ig2YkUaz4I1Tx06Sh+E4cxuIZcHdAU8Ak0+T2ihtWzYSj1NThScfhYM4dbne6fVcV8bCx5zpicanvvO2qix+bepSrFMgizM7O8h8/9Z/46p1f4f0f+HEA/ugP/5CVpRU+/KEPsTxa8XAxhpRUM6C+IFViDgqbNp3Tnso153HhhRfyyuGXyGmGOjtJxfliqYbFPX+hpiQKWIoNB1CFQYrTsqGIRLTKT+xk0ChA4Yr9+3ng/vvZu3dvaw+D7mmxsrLCYDBY44TWf3eNsJsPeeWVV9aVdekvvm7Uql88tLq6yksvvzy1sH+aSkh9NU3T+k0iwuLiIouLi+0J2K8zmERP7+Z2qvPdz3EcOnSI6667jtXVZTQZ0pgf81KZrNWgAuNWrlJSSolEWPL9WqWGOt2eJSlaguJhvusnEc/yV0ygRkkpiH+QRSnCScfhnCl1smM44BVIdVnBnnFOEfpMiBVUnMxYeWFZ3FP6/z77x9x5x528//0f4F3vfAdigpbCZ/7wM1yyezdveetbnL8lCbNC5cAUJ7d4SFoSS6Nlrrnmap555ll27tzJcDjk3HPP5eDBg1x2+RU0qytgQol5dNaDopactoLFCVyQLKhCSua+hQTzWD33YwKpcUaA/8ztbBRRs/bk6OPsLkTRoHj3C/Yn1Rv0/ZJJBSarq6troEr3c/XPmvnuQ7FJmfu+sMAkI+/WpPQTndMURGqCr8/6rD8/dOgQ73nPezh27HhEYzzk6Md6pX8bFbAIhonDJKhoxWLXTwFp1NdPY8EgFzT8Dv+AOwbOrjWPgKXKbfLo1CmNo15HPHFmUhgTVQh+lOOWLM641aCFWEtbj+cgyo/+yLvZtnUb3//Wt7G6OkIwfviHb2Xnzgu48c3Xs7K86idNzTGUoLlLxUdOiMwI1159NX/5l3exbdu29jkuLi4yPzvL8dUVSoNDtDjJLKBRI0YmkqXOcEQSFI2cShKkLowSSUlLkU+CZMbi4iLnbt/O8vIyMzMzbkt33nmnTaqK6lZx1aOuX7vcx+yTanq7MKpbfNR1quvu3F8wfQp5d7ev4+v6Al3o0/eX1hMHm1aLPEl8YWFhgZWVZd7+gz/IatOEPzDwya8bdXLoQwnqglR6OBFNcqhDOLbq22dEIiM513iUR8woyZ32XJ3sFDukuPtSKhnxFMbRJgZjx0ymIIM2CWkBO6xS4FNk7cVQC1jia6UNh1rOfgKotgnLFGOWDkFRTZyuUmodSaX1BNoYCF+548vMDGeYn59nZmYGVeXwK4fZef4FqFkEH2owISElnil+X77Ak/PQLBYzYNKQbNDys2rEziJQkFDO2bKVu+6+i71797q9dxNp/d247yfUnMC00Gw3kdNNltXPTitb7VZ91YRQn6zY/96+L1TDq30nvY6l+2fNldSxdU/Mfji3C+1WVlZ45JFHeOtb3sZodTWIbL4raTAKa8UFxTlOTlfxZJRU34DkcXuLRG6p4VdAszu+QZZTBSkOY6zu/MUJWaYRTTuNcfhxlaIOQ+Ik8ARhqZBNPOyMJFLkFDTGX0wpJUCYiI+ztaHY7ASsGRuemS+iZCCqEbiKMKv6ovRxKbccuIWDBw+2lBIR4YVDLzAzHJLQCF1bhzZSPKnZEjiDvqLmi5sCyfMeJpU640466uPT5Pe4PFohDTLD4dARQ3e3rYbdzRB3F0mfqj0pD9CFL12sXiM+1ZDrd9WfdSejv+C6pMWukXezmv3/uhCpe63uoqvjrYuq6WHOetp1v3N+fp65+TnMMpTShjOt3QE9ROvYPI5/83oKlRL1FIrzNSRyAJXFamBNLexzjJ78mqq+YFJxACZ4dvB0xqFBFycpUMhmlBw0k6CxWnJDdlqKnwR+gezcrmD+WkR+tN1/jUJARRM/tSg+1mSU8K80KCGkgiEeoFAfkqkyt2kD8/PzLVlVVbn22mu57YtfYLUUNm7cgBYfmgUb2BduHJfFKBRnAqRIXBZnKIuCNMWTirFo0eKUEwEdGcuLy2MbuP32260LfU6m0zRNm3Q9XdZazDIajRgOh+2C6Auk9X2e9dQpJtU+96HSYDA4IYk5TVh4Te1w+Br9U+PFF1/kyquuYu/eS50KkiQoHtLmCHJEhGosnRrPD6IgOaIl5rAJ8YSYJoWSUSnk5Bwqq5gjJUyLR4tybhm8vkA4rXFIMmiEkqSlswseyclSTxL3XzyRCGLF5QaiZLZSw2t+JuHObaJuAuo8KLF6i/V/Dgu1pk+C1hEOcRLP8D/1zFM89NBDnH/++QyHQy91Hgx44IEHKKUwPz9PaZq4txpVq5WINZIXLoJGwZa4RyZtrNzvQVGSed3LzOwsKQm7du0aEw+7jmyfaDiJRtENuU2Td+z/vMvd6i6++u8uhOpHlyoEqousr3LXvYd+sq7eU9c3miSjWRdJ9WO6i7DuYIcOHeLHP/B+ji0skSWyA6kWKKU2x13LUn3HcuydUoSjgk6NJqwUkNziYMtK1hTwSONKvggk+WJJgbFNGswyScopj6MN+yZjkEAbQwYNlMwwfKKSPN8S9u9JNcmIRj1HkByliEfGRoKm5KzxONMkxpCjTEDw7L1FWUESpWgIX2SLkoKoGMzC/iuu4Mtf/jI7duxobWJ5eZnLLrusjXh2Swb69tO3iYpQuqWw1fftRkyHw+GaIM2gL0ZQv7juntN0nLoZ9a5D3GXdttTfyHr2F0QdcH8xdk+P6kt0F0w3RNyv0OtH37rXn8TA7YsorK6unlBPXEphYWGByy+7jMWlZa+YK8kd5sDqKejfRkNmgBaPubvwgNKUQYxRIZnvxil2VC3+WREnFOILysSDrKoCNAgShU/J687l9MeRygCNYqriTA7PyquzcX0z953fiIRMtnEJbQ7elnrQQHMhaaIBp8cHLPOKkUqV0VYvQsy8ZiVqQ8Tpu2OonmBlZYX9+/dz5MgRtmzZsqaMtm8bw+FwzabaZ23X1+zs7Bok008kT5JYSl0j74ZtR6PRGojV3fFreLOLxfs+S5f+XXfe6mtMKputi6DrVPfpIX1fon5n15/o+g2T9GHrOJaXl9fkbUoprTJJHWddwE3T8MQTT/COH3oXpSmRqnP6tyexvKRUUMQG7luY1GgqiSF5UDynkSzwdZSamkQxj4dXsyWyQE7uvFrUwWrKEIVPOqgV36c/Do3TS6VGsiLWr2PlkAxYKo5zaiYcozHncGlAGEsgJUUdObhn4ZAmp2Acx2JHpBO50tZvMrE2ny1RHKXA277/bRw8eHCNXX237Sd1C4e6cKceMd2sdI3ydJ31SYXsdYDd1djdyfuwqgt3BoPBCSJjNRFZrzccDtes+vWUUvqJwvr+4XC4Jsxcd4+6+6SUGI1GHD16lAcffJD/4e/8HZaPL3nVWXCSPLTpLB1LbqopZGsQT4aliB5pyaTAtwWQQfAhtJCDqaqRlCtBabBhwnKJIiOLTDfQSOQrTn8czsNIHhUL6J0HOGwzJxUWEZJKsDIEy4ZJ9ipDrUojGg67JwuCKxwejuc1LIfJB8YXEY9WRZGXImQN1i+GpuSnWTGWV5b48Ic/zNfvvZejR4+uQTffLfuR27/0pdhCiAL6MUmM4J7Uyq5WmiU0kmqEo2oj1Z9JyLVU3GqRFfU5Cp+ge52uDx+7UJ3kVgFJWPO++pska+Vqqq+FdcbT+S4i4tJqRdXQUCSU3JeTljM1HA64+qorWS4N2VJ8jQYBLpMoQUWHAUKDix9U+ptj/cBI4nymAEvxQBwe+XXjHlJBtdIQ05hwh6JZSPo6xtFm68f3i4IFnZycQhBhnJF3H1yD4hIlsCpjxq6M6+NpqTIhAySKFKfiD5K11A93xI0qFlRTqV42HLkhEyQJDz74wASxD9pn1SGutQteqM+acRBhLBI2wZ7Hw2+t6/lDh2woQhG8drkaazUUBI00ewpqDClR1EXGqiZRq2IR0jE5HM+avZWITzsTMqInEb2oC0BDoCxJ8IoiopCCy+OsS6c1iPiR7xFFI6dQvqhiCjHlLfwQN6Lx/Xssp5iQrBpK5JJbdqrXSYiF1kegDM8ZBDkvplIl5igHLSMoH9XZFIOSa2WdeXVbZGpdWMfxuVRHH39fLFvPVai87nH4JsDaZ6WG5SBFVl6X1PmHsV5QhEQcCZcsAAAWiUlEQVTN/3S+VfIipBosE0FLzWRnf1Z4Vtp9J/WAXcpRvBVUrprIi/vGxpG2yOWf5FkJRdx+Bh6DeN32nCRKFyV2No1Yd12ViguMpZRiB/AEVor4u0VM2+LYN/Hj2LO6cXhGFVjoVDjetnqsBMUnDuVURS1IpOw7TqP12K8Lw5Nm7vA5dUDVs8MSnl8hwpKhzKfqIgWu3RScHgtjSw4l6s6SgtWKuhqHU9OkzbYWMyx1ggPm7FZJyZ1UBIsyToschguG+HcXxZN+kdmuQVdNJRJw1jlVtS2W+k6MQ8W8bDcMMhWjSfgmY8Vza6o+P8Hd0wjFWlQG1mNc8OfqGWev2WgipKzqBuf+T4kyFB9f0TzOktdEqLoWlpl4HQaN86LsVJ+VeaTvO2jPg6B6erRDIIdR13oD/02s+uQTSJvrdfwpUTBjA2sTR9IINlCkyWiuzM/sD0DMSS0mTkqzhKbiANpo2aClEXLc2LhYP7Kfgb/rSSvWtMk2y7G7hbSHVUigtcjIKMUX60iEQQOWa/DU0BIs2ahRdqLOd2aOihZee+UwRYsbQ3a2qmbIxb1hC1U3oQ1ZjRm7GnkFEXKLIYmEn4zRRYp6kXofFYIEydHLB4OK0RmHf5eChOYVY2q81edWhdrCc3B4GBC3as3Fs0rFoaDXllQYowEVfcMiiJh10Yt2TqzkTGE/GeS7OkeDFD5CSfFnOFxSAjRKwKIUxklGvC4TGRSk8aIXk8bLO1NyxuQgao6roYaRWlSEWZhiIlFaAw+tpMANKeHx8Ip5Ww5NPDj1YnpPPDmFuoqMWRz1VfAMgvgnhpVwxIrn5Er2IqEkvjMnySjFT6SUnX/0HZij44tHWVkdccnu3Zx9fe+/Btr4DuvUBW1hjiTfL1IpNAKDyNiqFefN+Kbv8Wp1LaVKoSdi89Iq7/lRlc0jKJqsfW9JNi7cJ3mMPRwlrUzTtoYldokorjZxcKniO4e6DIWvfMVLSXODufU7wcE8yVZq2FDHO3xj1SeSVr0jWUE1ofL65shILC6tsG/fZW3M/ezre/uVkBJVZo5HCacxyDruuJkTzqzSHrK4WFqFKWLkyOWk6kTWLHllZhYP3UXZekRliFj4uHorBSFMzOPdFllaB8w4F0Y8sqJVXdzEaxnCaTXxMkpxBVn/uqSh9FcimuEOutQQRUrOdkU8vBo+kNcCvP45SiI0zejswjiTFodLODaUCJ21YbzgpKSICnn9rbSliCYRprOE5OTOoLg2kJHIUQYq2aMKOVVpRtpoeKoymVLpy0FbSA66UjinxRLJ7RfLGUWcyyMOzCLC6pg4uUaTmKDZa4fropFU2miNk3BaXgdSwqlLige1amVdcvr2654j9zfOvs4gWEVxVW2rNc2iHg7P7qiJiDujppTqtBSw1CDmcXRWidqA8LOtuAYTTlOQKOUZkwIrv8ZFugbqWqzSOulxZBQNOU+HLSkcNi3GAEHzyIPDGkxRF0cKCqpiKaT7i7rwWBX6ipNINbtoQHJGJjmFbEsVFNOWkWq8zjkadRzDs68zBVa5wQ2DgpAkObOsRFSiCsdJxdgZyKHm4OFbBhG4SZW373FzHUR7lKBGWIT2UieLOtTIaUQtmvsblT7txDUlkzRXIqUnk5LnHyQWBknIqDvFklxVQ2sCLBYdCcmGWnJJTvFQoRYhDYKBKhGxyQRPKLVhz29njlxMwDVaObs2zjBYFUmdxqzF3yI1l5DaTKSiaEkgrhhHEmaGmc2bNjM7mHF4o5HOi2qvXEJu3/DC/uAQEU53FokkWxDGUtVX9TLHpDkUx+tWPBYTm8kDl6jJngjy/GotAfUQclRTen11VMah47BdUUgpBJ6DFaCUEAwzJGVmN8yxYdM8m+Y3QM7Vg4kkkTE7nJ06R5VHZHEAnV0bZxysiqysefioiDCIWmQstbyYZMllKkMndX5mA//3b/w//MnnPsett97K//qz/wuriwbZd+IaXUo11m8pdFIjc12MJJGbiOIUzFzvtR1P01bOEUS9lDOPPPQQr7z6Kju2n8cVV1zuSStxaUxyiCfXa5iHgEuQ5VxCMORhUE/IVapQUGFTSqwsL/E7v/uf+eY3v86RI0eYGQ65/PLLee973su1N1xPWVnh2OICn/+jz/P+D3wgAgedOTJXRS8mDCIjXSkjZ19nCqyKrKMUT+J5mt4CK9MamAZRKhnMzczyG//2N3jowQe56aab+PrX7yUxJCWLCJLDnMoZwlwNIqc4naQySR1Mlcp5CQl8SSn8F2lT+W5YnpRqSmHvnktJOfHoY4+ShkFYyzkSSNYqjbcyXuKEEq1Z+6iuz4RAcpw6szNz/Pmf/lf+3k/+JN969GG2bd/Gvn37uPiSSzh+fIGPf/IT/Itf+iWOHDvGRz/yc+Q8OHGOYuJUPNTbWGkTY2dfZ9DiKADFG5aIppYe4KJi2qrsIQ2iwuzcLP/+t/4D9993H9u2bUO1cPPNN6Ml5F5qWNZLgl260Wruo6qMp7arllrxgFHtHyFgxeVUUggwN5W8KL7INm3eiKJs2LQRBQ5+63FyErSx4PxUiFfpGR4CdqFwRTUFT6j4Yo6SycEg8cd//F/49Gf+kBuuvx5B2LZ1G9deey2X7N5N0YZ9+/axuLTEz/7sz7Jnz+4WgnbnyKNmrhiokS23s7DqzINViaalbZQcNGXR0AbKThxIgllhbm6WT/32b3P3XXezY8cOzIwtW7byD3/mH7K4shzdiYxG8IRfKzwfLMiiYeAaxfnFI0ollMilbY4HRaNqLXnmXDJWCkVgzyWX8sSTjzOcmWPzhs0cOX6EJ558kt2790TysJCCJtBUVTypQoBGyRp98ELmrHgTl8OHD/MHf/Bp9u3bx2g04qMf/Qh7du9meWWZLENKafh3/+Hf8/xzz3HFFVcE6zeoJDFHLvDhVBlVF1FGcoSlzxrcmeVz2ABSoYTSRAlYoCl7D4eggc8Mh3zmM3/A7bffwfnnnw/Azp07+djHPkajDefMDUNhI1rwBllNVVlcWvRdNFid3quCwP7aGo5ZioYr3gekcnA8cqWklMMHSly+7woee+IgOQ3YumULh189zLPPPsPFF+9qWxRr66iH6oc60SxriBCrO82ShJQGfPozf8TevXs5duwYv/iLv8imTedw7PhxhEQjixxfXOa+b/4V5+04b1xGGwVHqXK7teZSSnTZqnUTejaSe+YtDu82mkU6HYEyYh5gFVNSHvC5P/kTPv/5P+Oiiy5sDeOhhx7i3e9+d0igyLgntYybtm/cuJFf/79+nXM2nxPKEwnJ2tJKUu0BIerZZIWmKdx11x1ITuOWXLjgGSHfLyS2bN3Cls3nUFTZunUbrx0+zPPPvsCFF1zoY8rR6kqcqGgaogiR6fYwrUfWBnOzPPLwg2zffi6X7buM7du2szJaDSq28OLLr/LRj3yEiy++mKNHj3p8S4RmtQkWLeHZV3GxqvAXGFNbZvnZ15myOEwsIq+1j0EmpdKqSKDG7Pw8n/7MZ9izZ8+a6r9zzz2X8847b90vKKXhi1/8Eu99z4+5+28lEhgS7EpXscgpuzyKKK+8dIiLd+9hkMQ1YtMIs2FIygS1pOo6hR9hZLZu386hFw6x6+JdjJrGe3lHEZEnxx37ayTzarPHJmU2JGNpyWVZLrrgQlaa1SBOehRr1wUX8NnPfg60RPbeN4Dl0QrLxxfbXuKo530oNm4qGYIHdhZXnWGLwxVhnJEq4lDDosREjZShrK5y1VVXsbS0dNpfsLo6YveuXWhxDySJdy8ySSRV1LIr1WlpT565jZs5fuwIaWbW9Y0sk5JGHsPFYES974KKMDDH+0X9NGmaEs0nvejHlFbqsu19h4euNdiBRYW5uVnX2F1aIqsXz2jxSpOl0SrLr7ziaRJlXAVnRm6VA6tgW/FkYuuE51pOefZ1Ri0OCrkMKGmsnySB2ZNAo0JZXuEjH/kon/zkJ9bUY59//vlcffVV3tpM2sLTtrZPzNiydQs33ngTy6tLkSj0uolkng/IOHFPa2mjGlu3biJnf2+tx0gdSYFg/XPs+AJZ1DsUkVhZXuDSSy9DKYg5M9ijYt4FqaiQcnFNpWxYyd5ZVYSiDeeffz5NU7j77rv50E98iIWlBVqhm5JdtsYysxtmKKPG+wCKK3VX9JSTM38tNFqrOksKn+fs68x5ydPPPF116sPochSF+C5emyFIRGQ+8YmPt7W8zz77HH//7/8kb37zAe+akw1TbwxZBbUV7yCkVW81HOycDG0kmh5KW8stVVM1VUHxCO9aFMvgnKnXXn2Nlw4dYtu554IVFldX2Lt7D6Vx/ydngvIuURIqQYyM8leSJzsju52ScMcdt/OlL93O4uIiBw68mb/7d3+C5ZXlqGly3+uVl17iV37lV7nxxhv4n/7B/8xoZTWKZizyi937SO6UR4vjFw49z00HbjprdWdKnsOakFUxjQ6exYnehdDmHtdooIWPfexjlJDc2bXrIn7zN3+Tv/rmN5zuPYrrFHXcrRaG6Ht+MYNSEFXKyHMSpp4LMNShkXmyT83afm+VKFi1/I6+eoRnn3uGrdu3oRiLSyvsufgSmlGlo9decNCkWn9hjKJGo4QAcqNOFUmmFFPe8a53ISJs3ryZ2277Iv/q4/+Kl156iY0bNoHC5z77x/yjX/gFzr/gfP7irr9kNg+pnQHaA7VoKwEKhjVB3bez2fEz7uR48qknLJNbdQ9LtaC4qkDUckZvmSXJM9Sf/OQnWxmUgwcP8lu/9VssLi4g5CASWtCVkq+TWmgURfFAiHpVXaZg9YpHtCza9bbyjeIwaSYP+NrXv8auCy6ClFg8vsieS/d4F9bIp2RxkWLNtLXX0Zpi3M8uKPBaO8DEybi0uMSv/ZtfY252luXlZR5//HEWFhYYDAZccsklbN++nYWFBd73vvdx0803U7Q5YY6INsaVGZ+Sy8+8+PwhDhw4cNbqzqSTo2BRqFOiFtuL8FMIFFA0+jQ03p8tZX7+536e5RWP7uw4b4d/Pqjpg2gmoqqIGk2IhlkqFINGjSZOBFXvEJpKQa2BQqhIBPtcFGu8GaIUb86+aX4TBeP48aPs3rMbbUY0USCF+omgRKticzHjohpL1JeHJqUpTl+36HmtpmyY38A/+6f/hAsvuojRaMT+/fu5+aabuf6GG5ifn2eQB/zMz/wDvu+W76OUZuIcWaijazFUCqWRXlHX2dcZcXI88eTjZpJoJYTa5iJjwYFKwo7MhwscZKGMCnd/7S7edMONbJyb94hTkii2DwVwAaxBZNCWt0rkARSviZBilARZw1hTLcgfh4UsKvEkpPEXFo6zcdNm12K1VjmrrfKr2lOefmg1WECdS+b6JjZuqFgpLHhgYn7DPMeOH+eRRx7m6NGjzM7NcsnFl7D3sr0cO7rg2XCxqXOU1JuqJFwsLQ0yh154nptuOutznDmL44knDPHqORt4Ew/VHPUXIeyg4pSLUK3TkHMPcaiqTeFwJVH14d2g1ZyqHmL1Xq0aelUaurBZooVCrdgLmJNrfTmtTlGKL9boA6HiDUwkh8SPiod9XUCD1EQ31VSbqsQCiSYsYhJtvdplBGY0SRhaFc2JTqbqQoGCYqc4RzUhmtOAF188C6vOLFhFzYr7jq5BIdeooZBUQg3PXD+1lOiyGBhe3dFurGqQatvpE6JKLjXeQ6HVEKoOdpwQxXMY3qXHG40UDGk80lTEe+URkvtaqScWPSrCnyBgVJXsMUtobtqGj973O8iUNCGr0zj3KciNqr7gBhqkkLZ3hYXBW0uzP5U5MhOn47SaT2dfZ8zi0Ej21cahRLzes9niESh1yEEJdZCIHCW1tr2UiF+H6Nmg0RWxrbQTV6zTKmxEkPQ6X1xlHNUKAwnZzuR1TqUEEz3V0m9DdeCD01Atz3jVYTSalOLYvwRd3YoLOlSVESxakdnIGzhqRJWiM5IFrUXR1z1HVb3x7OsMSgIGEhmTG6L/AsGXkoznMGosn+QVdC01PYWyRwqZ+mjxS9u1xHddBMvFdYdLaRuyCDky8jXWFO1QrLiUTklRo+Rqikkt1MktZEejM1UIK9RbkFQV1r1iRC17UZVEaxcpURUYcEqhiPsz0nj0rKr6IfK650gH5ezaONNODqnE1xAIIKIsVVXDosmIR1b94edsnUIoGxtRLm1OoVXwVWtVDnNTF03VeM1eUpqsbdjYRKKvsg0zDmUkKSKlI1Zcuw+NW+VWX8ePIRdSbheLjFwNBD8NBiWa1BOOe/gG5rMShUoBM78Dc+Slv+msxZ1RPkfoQbmYQY3qgI4E1QYzx+Zq3uAU9SyzVawfjd2LetMUxXtEW/SK8B50OT4T6iMaHY5QShVIEPH6h+TizVWlRIMoWFTRIjTi/kkJyCYWbFtTirijXlXNVUucHrX/t2vrWiNOlykuueNhZ1opTO/zEi20NNqhvc450qawYX4Df3XffWsoOGdf38PRqscOPmYpFG1ShlSyc5kyUQvurXSlNBGFicBU1F20WlPquk2VLlLFvzUUsVPrRIdvUCKqU6nudY83acNg1tK9MySvIHRIpeTk6iWErGfkMaM/orcPQ1rdbvdtShrXkVeyjCilqrkXVzqR6NtXhcorn+t1z1HxnNIrr77KyspS9LUIXtkayFUZPbV1g7WdWaPXfCsKYViwVySawXTeYIzJjq3av7Tq7bWPNxEKr+OQWrIs2p6I1umjN+011oSvrSfCyOrvpBaGhSp7R4e3+px0tXbbga+9le/WHMljjx70pHg4qSqCyMhLSU1c87XqzVpoCIbUjSuXgKYQcDbI4vKZskauvmrcgmhGJSRzglflSt/RtsBcMsc0t4TDksbibN4ZKSrwxJCiHnatRVFt96DIrkdttySX1K+ZE4v0dTXmFCdUFonmMcEOiJyMiLbq79+xOZJOo4ToAe6+j7WLX6r5mDe7SUGt8QaQHgk0Fd94skb9irR+XKp6KTIOr0t0lR1InKhrxkGba5LiRNRstZeGz1OTooePpjVtjMfPKuar6kNXKqq6ovugfVZEi4BoU2AaWsUhB0vQ1uJ5EJWX3605annVIkKREp1Ds3cBjRZZIeCHiIuU1V3FzBscinn72kQJ/K2RSIwFIJVHFUVNRNutCN820SvDdbAij5E1yIdGrhQMIWTjSyvCTU7MRqjUhZ4tdi6NZF9oZsVNSLZxf47sLYNTZMyl+hrRMyKpRueMyHN8p+coKqBU1GnuGCWVttNq7R8jql6LbnGaRu9AojamCm1HcUtUZDZutBqSQeoVj2hBtbgGcJETx4GXAljxZ+bs6WjtXIxRSLYq6gvDAqKGwkpSIoEM0gQnwSo1SZgp3tO8RBsJgnemMVduG+NnpbUeJ/Fdn6OBVme0hmKJTp9tljlk4iWq8qLfRirxuTJuQqPRJqgemVrPqugYlELbqf62WHSASuIdf1o2cNDMq9+SQqbexp2anKBo0fsiGMSR3EvW0ERfDRkYTSPef1oEHakLrJVEoYE09Aw+CVd/tKCwZ3IqSBn4Qygh+fnXNEeSBt8T4zj7rMZzNPjKV75KbbLT9idogVhIeNZjrdvaqsrsmESuo9Mjq6NCMq61DvwvXdzr35GihUBtKmNRm60hNh05OMfHMZQkqdN2rYtvg9LRJiSqhm0kO10BoZUBSiYtDBtLhNSuFFVwOnlo+K9xjhLfG+M4+6zGc/T/A8/G/snZpSWJAAAAAElFTkSuQmCC); 802 display: none; 803} 804 805* /deep/ quad-stack-view > #chrome-mid { 806 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAABICAYAAADRa1RpAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFycE5v9iFQAAAQtJREFUOMvtkjGSWzEMQx/0eYrM3v8k3vgqycalSwlI8Ufyl3OBFMtGIgUCIEd6PB6RBEASqvfONSrJXrDNbNkQ8ywA2y/SmayW+ZIESTsiyQsxo40xmMS2aUmYbheHpCVd0+UqJGGMsey3mUyldoUvlY3D9rIN0K7Wbe/WbZ+y1yWtaVtrp3VJzAEX6ZVjc2p7b2mtnYhNdl6m05rwtfV/ltx7XypJTpXeO7Y5juOlchzHaWxyrJmuhLapqgIJONv05+srThBgiQpBTSRwGOr3rwccgWHUhJ7P5/YNlbd/2XiL78L/WajP240AQUihfnx84EDJjCHKHjTAbkimQDgBjAJ1/3kHAgEk/gL71AHEWVXPGQAAAABJRU5ErkJggg==); 807 display: none; 808} 809 810* /deep/ quad-stack-view > #chrome-right { 811 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABICAYAAACaw4eEAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyghKmOqnQAADE1JREFUaN6dmsuyZsdRhb/M2uf07bREYDykPeIleAMibNx92i9BgEPBgyB5xlvgtgI8VDNBI41xhGkpQowERgqw3H0ue1cuBlm1T/3Vu4XNiWj9l12XrMyVK1fWL/v6668lCXdHEt/1Z2YnnyUhCTPbX8dn45pmRkR81z7/XUr59Pz8/K8ePnz47/bVV19pnDhu0t+Pmx0Z+Pv8zWv1/eZnZ2dntw8ePPizZXw4bj5/P3vq6G/eePZiX9fd9/Xng6/reg78/dInzxPG9+/auH83GjEbPUahj6m1Hoa6v1/X9c+XPrlP7INqrfuru7+10WzUkUHvOtTojPF1mPdHSzdqPPXo5vm046bdq0fhGr+bvXZk6OgAM2OZBx7hZD7hnCzbtp149Wid0YOjx+eE6t8tMzb659Ebkg5PPY8ZvXpEQWNCzck2M4H3BWeM1Fr31/6+GziPmTefM3tcYzQoIt4a3+cso2EzhsYTzAAdw9M9M3rviPv683dl/Oi9pdZKKeVk4piVRyDu1NI3mCtARFBKeWeGbtt2yHV9HXdnGUMyGjSfZq4K42ajYbPXx836XjO+jsj3rawcFx5dPgK8bzJ6eGbzI8yO3j4yaMToiWF98fl0c4bNSXBEJ/Ozd1HSEY8BLGOIxlONeCqlnHyWtGNoxteRMX38uP44fkyyPnfpp58zqy/s7jsGj0rOEcvPVaMD/sj4I/zWWllmMB/VviOwHumv+dkRGc9EOtOUu6fHZteOGBtDN/+NeJwPNRsxl54RU3PIO4x827a3wNwfdr45kib92WhAf9+fHem1I7FZa31rr+WIr45kzrjZsixvZWHHYcfqXFHGctM9ta7ridcigmVZWNf1DvyllN2wkatmHIxCby7kYzbPOD2qFCN39efrut55rE8YM3I+8VENHPFVa2VZlkOSdXe2bTuhmHdl+W5ox8T8YCbD/l2t9YQqRiNGjx8l1JEamVXKri56doyTuzfGhWd+OyLJjsNRlo+eHaX63Iy8ldnjQn3hbmA/yagGusfG7JwrxZytcxMyjpnH77VyPEEP65iVs5tntp4ldp8zlrG+x8z2Y9L1f91Jy+zeccGZn0Zv9nFHTH500BGbM6HOojMiWEZQf1cN7Aut68qyLCdeGFN+xuRYJ7tXu5fetU9EZCiPOp8xm8bTzLqpe2jkoDnzxjCOa8/VZByzzG7t8gQ4eT+GdO4Be0kZDTgq5kea/0g0RgS+rushNkbg93o6aqeejUeNR/fcUWmaqWLbtn39MdGWGcRHUrcb17E1jhszq3tvxNCsJuaE6VGZMbeMKTrL6LGelVL2k41jx6zuRbknSS9BI7WMdDRTxLi3z+VkDl3/7vb29oS3xhoZESdZOm4whrW/7/NHT83UtNze3u6c1I06Ozs7wdjc7PaQzsV8JNSOp7k97IDvtDPDYTdsvts6Pz8/MXCsm2PD2g/Tm+Vx0bHZHTNvjMyRyh2pajk/P0cIZEAHLLgXQLg5ckDCAFsKCwtIeHHAQGAmSnEkMAyZMBkin4lc3jBEM4a7MZgo7mBGhLD/+M1/qiCqDJflIjICYbknjlEtQEl81cBDYIaUi3aDwoEQ7mABuFMjcHOMQHLMRLSDhhlFQk4+k9IhLggZBREeVLN+NNwNCAhRwjGMimGyPJlA3owyIwiKEltWjTBHNchIGpLleIS5ITNKQHVDYRiBGUQI/83X/0XUyorhm2EKAsvT1IqFgwusgglCWARV3SuGmdNchwgiRHWQagcHIqCNJ7whJ6AI20AeUJ3A0ilP/vQJ33zzDdvNDbWkO91oAwphrah7wVGG1cHMqSHkggiwDJthmAcgjIIVg5rfWc1h2AZ7AgBLpMElMpQCUyOSX/3rr/j+9/+EGoEQTgKxKnDADRROmCiWySJBeILbMCxENVhwBISCnldm4EBEeiQRk1AJs/Y5ER2q7BX03v17SQnumDeXRqXgDaSA1cSdIExQDM+UgtoArTyMIjABJUPt4S2hRHEIgbdstV5LI4OusDvDMgMNqw3sHqi0HPcMotyRNqp5ArnmRrkLuBm4kHmjDAeEDMICk2PFMwomqjI2xYSHsJIUUnxoeBO7rdQUJ2qeJk8SLfdLGtgWCouEVzFUG7NXMAXVG1YqyDdMhSDgFuTpabUEiUguUw3AiAafbhoR4EtmpJknKArgytMaBHBmIozEIQ41M1dK7ySGEvxQ8NoI1w2WFh0XlsUaFYilJ5zhpuGKwBxXeygIqxlrE6Ih1wKPgi8L799/QGcJo4M5o9oYDfcKUZJmEFdX12zrikh2xwwrQA2KOeqETRlCGaKaUFXLpjQwy5Elu4dzflb4uw8/5MXP/wEsE6ORVX8hbVRzTVcN4ic/ec4HH3zA7XaTC1sQtZUXAm98Z7I7uvjii8+5ePw4pUiwu7TXuogM3cX7j/jhX/yIJz948gf/NPjll1/yy1/+E//z299RCGrL+AxI8krQfhk5Ab+6LmrGyDA1dvfkqOvXNzy7fMonn7w8umjafabmsDuowPPnz3nz5joLiN9VCwIqJDGHweixV59/weNHF4itZSMJbGq61kg3h3N2fs7D9x7jIdTwIzw3tCxrZo560U5U8frNFdu6URWJS8RmRukto3smv07uxwJrMa9uLDJCG1ZKI87AWJBvhEOsG9WEhSVcWBtu1A615da2kboiPaRW4hSRcBGEClhg0cTDycWdJR1XgUdkrN2hRqslGapydo+fffgRL37+Ir1opzrrJHZDAiB49vySv/3gp9zcRiqLCpsrjSLrnpQ27KH8/ItXPHz4PtRbRMoTajrBw6Hk4o8vLvjhj/6SH/w/wf/xx//I629/u9fPjkxLIZfVwmLwWBhQqUqgU1NZlCrkQVRwGW9urrl89pRPXr78gw27vHzO9dVVI2cIOYVIGHkrYXVDUQaPvXrFo4tHbFV7dnkjzGT+5BjXwnK/cPHovcRLI9hME3ZeM2+HtRwQAVdXb1ivr6ldzfYC3sSnPFAUZHW+HE7WtqamZL07avrcnYgKKtR6m/VKQTR9n0JQjZj7KqD2LCLY2h4quqsKNUWA5BQPatjAY1hTpuAO2iqlGLV1EQJ8C87vnfOzjz7ixS8+5vf93y+sFeZnl5f89K//htttw1bAW5d05rAK90awjOD//BUPHtynblmInXStyUHJR3jw3sV7/PjpU548eXJArvZ/gv/Fx7/g9bfftug4NfVKa7byd8pN9ZT5I9rFSM/wSPFXrOn5Tby5vubp0x/z8uU/t1Jx5/H9v3b3/q4YGJfPLrl+c0Pde8lgEWxN0znG1jG6e+zfXnHvwQNETdmMINqlSEeZJ1Dvn93j4uJiL+6jv8TQO9L6lya9f/fta26228wodVwZboFU2gLbqbqglZLarzTbdpvBEhWxNJI1bq5uuV6/SRCHt35AyAwPo5aKZzlIHRb5SqTR1nRSnitQtC4phNlyqvlTppRUlmZEQJizhCErbYSa57J8SNkLRm3s7RV54AHymjK9cYjUyg+wqV8XRCtfdzea+IZiFIoSsFKBEm1SE26SpXZCeDh7g9P64R4SrU2ZkC1btea5TMDsqCJ5UfUuZwO1BlnZ6tkgrWWWqjOgqhJmsLWa2dowsKZK0nuKlMWokWWBoBIeiJpZF6CqhtnMdHSHW6PdZLfijjISu2HX11dEjURrTza3BtymzaLV5NZwEGQYW4ekaLdCkXSDRCkidr2n/XKGUlOKjxc6oXZN0H4ZefXrVxQ3atTsjD1lkJpIDNEwlSCRZ53rp4zViNiQtqwEStHT1YoUOaclSY1MmmjXCelNz2Q1T5L/7LPPYDEePXqYNa0ENHnd7xeKKUFiAO2HBM97DZMoS1prMmQLrqCE8uZHIgVDNAFpFEW7BnGKWQtnYJ6GOmL54+99D0JEzfT1alRzikHtda+1/4nsxk/VqQZmlXXzJMUiqFu7nrJMe8v2LhteteuAvEcrVqk1m+Owdn9h7ZYSE6WAIrkjPCVIFua8s0jhWHfhZ5YZZ6rZNxoplZp3clg2uUSKAcmwYpgqUs1iFI5Z4rr3mliq3IVqVDbwM9CGkao1rN1IR6F4xepCEFht1wAhIKjRNH0Dv6ym5lHrEQw8JSlUtapghHJ+qiK13OyZ6yyf/sunSYqyVuPavVVq3bvSgrKxcKVGU7/s1U5ovXz1W5v9ftPVet68cbSehRo65ZNfUuB/AWHLchVUWJtFAAAAAElFTkSuQmCC); 812 display: none; 813} 814</style><template id="quad-stack-view-template"> 815 <div id="header"></div> 816 <input id="stacking-distance-slider" max="400" min="1" step="1" type="range"/> 817 818 <canvas id="canvas"></canvas> 819 <img id="chrome-left"/> 820 <img id="chrome-mid"/> 821 <img id="chrome-right"/> 822</template><style> 823* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view { 824 position: relative; 825} 826 827* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > top-controls { 828 -webkit-flex: 0 0 auto; 829 background-image: -webkit-gradient(linear, 830 0 0, 100% 0, 831 from(#E5E5E5), 832 to(#D1D1D1)); 833 border-bottom: 1px solid #8e8e8e; 834 border-top: 1px solid white; 835 display: flex; 836 flex-flow: row wrap; 837 flex-direction: row; 838 font-size: 14px; 839 padding-left: 2px; 840 overflow: hidden; 841} 842 843* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > 844 top-controls input[type='checkbox'] { 845 vertical-align: -2px; 846} 847 848* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > .what-rasterized { 849 color: -webkit-link; 850 cursor: pointer; 851 text-decoration: underline; 852 position: absolute; 853 bottom: 10px; 854 left: 10px; 855} 856 857* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > #input-event { 858 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMnwAADJ8BPja39wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAyNSURBVHic7Z1PTCPXHcc/4wWWVbJN2cJSLVqiQJuGpoIGEVWReoBNIlIF5RCRSysOK9EbksUeOHLIIQcULbLEEYk7oqduD6gSRoqUEyK7dCOabOHghCiAE/JntQtesHt4fuM3z2+MZzy2x8ZfaTTjN+Px4/fh9/7Pb6xMJkND4VGk2hloyKkGkJCpASRkagAJmRpAQqYGkJCpASRkaqp2BvzKsizf3w1z38sKc+ZUaQCuAFeB57P7q4AF/Kxsj4GnLrfL+6PDYofQAskCaAJ6gJeB6+QAFOvZpwgwPwOHwCNgN5uu/+H252raJHRALMu6ggDwCtALNAf8E88QUL5AAHqSTVcNUTU4oQBiWVYzMIiA0E3lGhtp4CsEnPtACgFDGqXiYKoKxLKsCPAaMIwojlzV1tZGV1cXHR0ddHR00N7ebh93dHQAcHh4aG/JZNI+3tvb4+jo6LzsPAY+QYA5Ix9KBsoPpmpALMt6BXgTaHe7pre3l5GREUZGRujv7/fdsspkMmxtbRGPx4nH4+zs7BS6/HtgHfgvOW9xeE05bVZxIJZldQNvATf1c5FIhMHBQYaHh7l16xbd3d1lyUMikWBtbY319XU2NzdJp9Omy74B1oAEAoa8yIZTDttVDIhlWZeB94Dfm86Pjo4SjUbLBsFNiUSCWCzG6uqq2yVfAv9CNKHTlNlbKgLEsqxrwF+BX+nnhoaGuHPnDv39/WXPRyFtbW1x9+5dNjY2TKePgBXgOwQUFUyg3lJ2IJZl9QAfAK1qek9PD9PT04yMjJT1970qHo8zPz/P7u6ufuoE+CewQw6Kw2OCsGVZgViW9SdgFNGLBqC1tZWZmRnGx8eJRMI5lJZOp1lZWWFubo7j42P1VAZR4W8gWmJn5KBAAEVYWYBkm7PvIvoWtjo7O1lYWKCvry/w3yyHtre3mZqaYn9/Xz/1EPg3ot+iQslQIpTAgWRh/A0x5GFrYGCAWCxGe7trKzeUSiaTRKNRHjx4oJ/6CvgHoigLDEo5yox30WCMjY2xtLRUczAA2tvbWVpaYmxsTD91E3gbMbTTBFxCFM0WYPntMwXqIdk64x3lM9FolMnJycB+o5paXFwkFovplfcniDrlNLvJXr4vTwnMQ7KtqVE1rZ5gAExOThKNRvXkPyMGQaWXlOQpgQDJ9jM+QGlNjY2N1RUMqcnJSb34shClwnVE8aVCAY9QSi6ysj3wv6N0+gYGBlhaWqKlpaWke4dVqVSK27dv6xX9j8AyYpDyGaL4svsqxdo5CA95DwVGZ2cnsVisbmEAtLS0EIvF6OzsVJNfQIzRlVTJlwQkO1Boj021traysLBQk60pr2pvb2dhYYHWVscAxEuI1pcKJYIHKKV6yFvqh5mZmZrp9AWhvr4+ZmZm9OQ3MAMpSr6BZOcz7CH0np4exsfH/d6uZjU+Pk5Pj6PbdR34LT69xBeQbG/8TTVteno6tGNT5VQkEmF6elpPfh24TK7VFaFIKH4t+BrKTN/Q0FDoRm0rqZGREYaGhtSkXyDqVs9Fl2cg2QUJw2ranTt3vN6m7mSwwR8R68dULzm31eXHQwZRFiSMjo5WfXIpDOrv72d01DFQcQXoQ3hI0V7iB8gr9pcjEdNQwoVVNBrV69EXcanccfEST0Cyi9jsSe/BwcGKz4GHWd3d3QwOOqaAOoDnMFfuRnn1kJfV7wwPD3v8ev1Ls4mF+Ac2FVsW5C8aLxpI9ou/U9Nu3brlOcP1LoNNbuJej+R5ihcPaQJ+Iz/09vY2iiuDuru76e3tVZN+jeiTyFHggsWWFyA9KAufL3K/4zxptrkE3MClYkcDUxQQU3HVAOIug226yHlIXvNXrUe8eEiHPGhra2v0PQqov7+ftrY2NekFzEVWSXWI3Rns6uoq6ZGyepdlWXR1dalJrRTwEFVegFyVB3L5f0Pu0mzUirC1CsPoJcUCuYLyGFkDyPnSbBQhB8VUZNm99nOBZC+8qqZdhBnBUmWw0RXMQHx5iOPpprB5yMbGBp999lm1s+GQwUZXKFBUSRULxOEhYQNy//59Hj58WO1sOOQCpGAfBOoESBhVwENMm61in/cOXRt3f3+f09NTAH766SdaWlrY29sDoLm5mevXr1cze25y9QypYoH8rH44PDwsIU/B6KOPPrLzcXBwQCQS4dNPPwXgxo0bfPzxx9XMnslGJ7h7hkX2GZOaBRKLxezjxcVFLl++zMTERBVz5JTBRseGy3zXIaEDEna5eAgENIX7WP2QTCaL/NrFlcFG0kMKLvIttsh6ilg83ATh85D3338/dGNrmo3SiAXYuvLgeImX9Rj4peHHqq5r165VOwt50mx0gjkqhJT92cvgol2P7O3thSa+VBiVyWTsJnhWsv4wBrZR5QWIjfzo6IitrS0vebxQ2tra0oPdPCbfQ4ze4gXII/VDPB73k9cLIYNtDnACUJ9td8gLkF2UiqkBxF2abc6AJOboD3lQzgWi1BWnCCgA7OzskEgk/Oa5bpVIJPTwT9+RCymoe4jvIkt+8Qs1cW1tzVem61kGm8jiKk1+gIE8eV25+Ihc3CjW19c9fr3+pdkkgwCiwsiL+oDyUKhXIE8QISUA2NzcbBRbihKJBJubm2rSD4h4KLLuOMMQRUiVn9XvdrGVTqcdg3wXXbFYTI9Op3qHuqlQHCoKSNadJNH7KGNbq6urjT4Jou+hRaVLIUoTE4zA6hD5Q5+oCXfv3vVxm/qSwQY7iG6C9BAZByWv6auOevgBIr3ke5mwsbFxofsl8XhcDw34BPgaYXg1KI0p6JlDRQPRiq0zRGQ1W/Pz827RPeta6XSa+fl5Pfl/5LxC3QrCAP9P4WYQcW2/kQm7u7usrKz4vF3tamVlRY/P+CPwLTlvcANiDN/kCYjiJXLv6AXNzc2xvb3t5ZY1re3tbebm5vRk2Vc7JReExgTDqFI8JIMIMvylTDw+PmZqaupCzCgmk0mmpqb0IJkHiLpV9Ypn5MA4oJimMDwD0eqSDCLIsD3WvL+/TzQaJZVKeb11zSiVShGNRvXgmE+Az8kVU8+UrSjvgNKCz8jxmaeIIMNyEoYHDx4wOztbwq3DrdnZWT1W1imi5XmCE0YKlyLLbYLPFxDlZhLKd4ggw/aJe/fusbi46Of2odbi4iL37t1TkzLAfxAzqmc4PcPkIQVVqofIfRrREVpXL4jFYnUFRQbB1PQIMZsqYaSUraiWlaqSQvxlV3rIFd2XEIsm/gL8Qb1ubGyMDz/8sGajzKVSKWZnZ3XPANHs/xxh+BSiyDrObifkirCiiisIDogK5TIwjvY6ijoMpHwEbCJAPCMHQIWhxl4sKmxsEEEwwQmlCQHlbeBV9do6CjX+DbBNDobqHSYYRQfCLDnimKEZfJbN0CpiENLOxf7+PhMTEywvL4d6mCWdTrO8vMzExIQOI4Pod31OPowTzHWHpz80kMjWyqpB6SXSU5oRQYbfARwVSA2+ruIU0ZrSK/ATnEBky8oxqlusnQMLNa4VXRa5Sr4JEYdwDPG8tkM18kKXJ+TmgWQ/Q3qDDsNTJa4r6NjvkA/lEsJTnkdEMX3J9N0Qv/LoAFFEyRaTbFFJGPK4ZBhQntdVgDuUZkTr6w2E1zgUspeC/YjoY3yPczgkZdhk568kGFC+F7qAE4qsU2S90owIpfo6ImCkUVV6bd4TxHzGtzgnmNThEN0rHK0pSngFUtleeeQCRa1XmhHN41eBAcRDka6qwIslU4jRhq/Jn8tQh0HUitttWtb3YvRyv4MKck8MyUeCZRGmeosMGPkiIshNpR72yCCW6hwgFiTI1pE0tDS6abDQ87BIMarEW9rAGUFNNot1MHL/HCIs3k1E8K9LAWfpDDEYepDd5Lopdc5b9Qx9r14nx/EgABhQASCQ109RizAdjApH9vhvIOJNvYCIFyJjhhSjNLlm6WMEgCS5tbbqAjbTlKsKwwTCHmCtmfcY2j/khCL3auwPNXyRGqOwifzQRq2IYk7dwDl8cYwwpjoqrRrSDYYKpdCaqpLrC5Oq8S5c+xCzx+hwTJtbEBdT3aMbUBpVXWvrtsnz+op1CNArVFXlbdEu3mICowJS9+cBsR/Exx2IaQG0af1tHggI1itUVft96vahsi/kOabPxQCRe93IaW3TAVQMhFRVgdiZMIORexOgQiDkXv3DdAObPMYIgAqBkAoFECmtJ+4Gp9Ax2rEORe51w+sQ7OOK17FhAqLKBY567AbBTSY4rsfVsktogagqACfvUpd0tz/SkR4GW9QEEFVBhtAI499ec0DqXf8H8f4X10jf2YAAAAAASUVORK5CYII=); 859 display: none; 860} 861</style><template id="tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template"> 862 <img id="input-event"/> 863</template><style> 864* /deep/ tr-ui-e-chrome-cc-layer-view{-webkit-flex-direction:column;display:-webkit-flex;left:0;position:relative;top:0}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-tree-quad-stack-view{-webkit-flex:1 1 100%;-webkit-flex-direction:column;min-height:0;display:-webkit-flex;width:100%}* /deep/tr-ui-e-chrome-cc- layer-view>tr-ui-e-chrome-cc-layer-view-analysis{height:150px;overflow-y:auto}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-view-analysis *{-webkit-user-select:text} 865</style><style> 866* /deep/ .tr-ui-e-chrome-cc-lthi-s-view{-webkit-flex:1 1 auto!important;-webkit-flex-direction:row;display:-webkit-flex}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-e-chrome-cc-layer-picker{-webkit-flex:1 1 auto}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-b-drag-handle{-webkit-flex:0 0 auto} 867</style><style> 868* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view{-webkit-flex:0 0 auto;font-size:0;margin:0;min-height:200px;min-width:200px;overflow:hidden;padding:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view.hidden{display:none} 869</style><style> 870* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view{display:block;height:180px;margin:0;padding:0;position:relative}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view>.use-percentile-scale{left:0;position:absolute;top:0} 871</style><template id="tr-ui-e-chrome-cc-picture-debugger-template"> 872 <style> 873 * /deep/ tr-ui-e-chrome-cc-picture-debugger { 874 -webkit-flex: 1 1 auto; 875 -webkit-flex-direction: row; 876 display: -webkit-flex; 877 } 878 879 * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-a-generic-object-view { 880 -webkit-flex-direction: column; 881 display: -webkit-flex; 882 width: 400px; 883 } 884 885 * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel { 886 -webkit-flex-direction: column; 887 display: -webkit-flex; 888 min-width: 300px; 889 } 890 891 * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel > picture-info { 892 -webkit-flex: 0 0 auto; 893 padding-top: 2px; 894 } 895 896 * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel > 897 picture-info .title { 898 font-weight: bold; 899 margin-left: 5px; 900 margin-right: 5px; 901 } 902 903 * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-b-drag-handle { 904 -webkit-flex: 0 0 auto; 905 } 906 907 * /deep/ tr-ui-e-chrome-cc-picture-debugger .filename { 908 -webkit-user-select: text; 909 margin-left: 5px; 910 } 911 912 * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel { 913 -webkit-flex: 1 1 auto; 914 -webkit-flex-direction: column; 915 display: -webkit-flex; 916 } 917 918 * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel > 919 tr-ui-e-chrome-cc-picture-ops-chart-view { 920 min-height: 150px; 921 min-width : 0; 922 overflow-x: auto; 923 overflow-y: hidden; 924 } 925 926 /*************************************************/ 927 928 * /deep/ tr-ui-e-chrome-cc-picture-debugger raster-area { 929 background-color: #ddd; 930 min-height: 200px; 931 min-width: 200px; 932 overflow-y: auto; 933 padding-left: 5px; 934 } 935 </style> 936 937 <left-panel> 938 <picture-info> 939 <div> 940 <span class="title">Skia Picture</span> 941 <span class="size"></span> 942 </div> 943 <div> 944 <input class="filename" type="text" value="skpicture.skp"/> 945 <button class="export">Export</button> 946 </div> 947 </picture-info> 948 </left-panel> 949 <right-panel> 950 <tr-ui-e-chrome-cc-picture-ops-chart-view> 951 </tr-ui-e-chrome-cc-picture-ops-chart-view> 952 <raster-area><canvas></canvas></raster-area> 953 </right-panel> 954</template><style> 955* /deep/ .tr-ui-e-chrome-cc-picture-snapshot-view{-webkit-flex:0 1 auto!important;display:-webkit-flex} 956</style><dom-module id="tr-ui-a-stack-frame"> 957 <template> 958 <style> 959 :host { 960 display: flex; 961 flex-direction: row; 962 align-items: center; 963 font-size: 12px; 964 } 965 </style> 966 <tr-ui-b-table id="table"></tr-ui-b-table> 967 </template> 968</dom-module><dom-module id="tr-ui-a-single-event-sub-view"> 969 <template> 970 <style> 971 :host { 972 display: flex; 973 flex: 0 1; 974 flex-direction: column; 975 } 976 #table { 977 flex: 0 1 auto; 978 align-self: stretch; 979 font-size: 12px; 980 } 981 </style> 982 <tr-ui-b-table id="table"> 983 </tr-ui-b-table> 984 </template> 985</dom-module><dom-module id="tr-ui-e-chrome-cc-raster-task-view"> 986 <template> 987 <style> 988 :host { 989 display: flex; 990 flex-direction: column; 991 } 992 #heading { 993 flex: 0 0 auto; 994 } 995 tr-ui-b-table { 996 font-size: 12px; 997 } 998 </style> 999 1000 <div id="heading"> 1001 Rasterization costs in 1002 <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link> 1003 </div> 1004 <tr-ui-b-table id="content"></tr-ui-b-table> 1005 </template> 1006</dom-module><style> 1007.tr-ui-e-chrome-gpu-state-snapshot-view{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAEwATABMYqp3KAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90JCQsBMCH7ZqYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAUElEQVRYw+3WwQkAIAiF4Vc0hTO5/wiuURvYIcQOv1cRPhDlDXffSsrMsrYiQi/zU80FAACAVX3nt3lWAABA/x+ovnPyAAAA5AHyAAAA3wMOd34Xd+lsglgAAAAASUVORK5CYII=);display:-webkit-flex;overflow:auto}.tr-ui-e-chrome-gpu-state-snapshot-view img{display:block;margin:16px auto 16px auto} 1008</style><dom-module id="tr-ui-a-layout-tree-sub-view"> 1009 <template> 1010 <style> 1011 tr-ui-b-table { 1012 font-size: 12px; 1013 } 1014 </style> 1015 <div id="content"></div> 1016 </template> 1017</dom-module><dom-module id="tr-ui-e-s-frame-data-side-panel"> 1018 <template> 1019 <style> 1020 :host { 1021 display: flex; 1022 width: 600px; 1023 flex-direction: column; 1024 } 1025 table-container { 1026 display: flex; 1027 overflow: auto; 1028 font-size: 12px; 1029 } 1030 </style> 1031 <div> 1032 Organize by: 1033 <select id="select"> 1034 <option value="none">None</option> 1035 <option value="tree">Frame Tree</option> 1036 </select> 1037 </div> 1038 <table-container> 1039 <tr-ui-b-table id="table"></tr-ui-b-table> 1040 </table-container> 1041 </template> 1042</dom-module><dom-module id="tr-ui-b-chart-legend-key"> 1043 <template> 1044 <style> 1045 #checkbox { 1046 margin: 0; 1047 visibility: hidden; 1048 vertical-align: text-top; 1049 } 1050 #label, #link { 1051 white-space: nowrap; 1052 text-overflow: ellipsis; 1053 overflow: hidden; 1054 display: inline-block; 1055 } 1056 </style> 1057 1058 <input checked="" id="checkbox" type="checkbox"/> 1059 <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link> 1060 <label id="label"></label> 1061 </template> 1062</dom-module><style> 1063 * /deep/ .chart-base { 1064 -webkit-user-select: none; 1065 cursor: default; 1066 } 1067 1068 * /deep/ .chart-base .axis path, 1069 * /deep/ .chart-base .axis line { 1070 fill: none; 1071 shape-rendering: crispEdges; 1072 stroke: #000; 1073 } 1074</style><template id="chart-base-template"> 1075 <svg> 1076 <g id="chart-area" xmlns="http://www.w3.org/2000/svg"> 1077 <g class="x axis"></g> 1078 <g class="y axis"></g> 1079 <text id="title"></text> 1080 </g> 1081 </svg> 1082</template><style> 1083 * /deep/ .chart-base-2d.updating-brushing-state #brushes > * { 1084 fill: rgb(103, 199, 165) 1085 } 1086 1087 * /deep/ .chart-base-2d #brushes { 1088 fill: rgb(213, 236, 229) 1089 } 1090</style><dom-module id="tr-ui-e-s-input-latency-side-panel"> 1091 <template> 1092 <style> 1093 :host { 1094 flex-direction: column; 1095 display: flex; 1096 } 1097 toolbar { 1098 flex: 0 0 auto; 1099 border-bottom: 1px solid black; 1100 display: flex; 1101 } 1102 result-area { 1103 flex: 1 1 auto; 1104 display: block; 1105 min-height: 0; 1106 overflow-y: auto; 1107 } 1108 </style> 1109 1110 <toolbar id="toolbar"></toolbar> 1111 <result-area id="result_area"></result-area> 1112 </template> 1113</dom-module><dom-module id="tr-ui-b-heading"> 1114 <template> 1115 <style> 1116 :host { 1117 background-color: rgb(243, 245, 247); 1118 border-right: 1px solid #8e8e8e; 1119 display: block; 1120 height: 100%; 1121 margin: 0; 1122 padding: 0 5px 0 0; 1123 } 1124 1125 heading { 1126 display: block; 1127 overflow-x: hidden; 1128 text-align: left; 1129 text-overflow: ellipsis; 1130 white-space: nowrap; 1131 } 1132 1133 #arrow { 1134 -webkit-flex: 0 0 auto; 1135 font-family: sans-serif; 1136 margin-left: 5px; 1137 margin-right: 5px; 1138 width: 8px; 1139 } 1140 1141 #link, #heading_content { 1142 display: none; 1143 } 1144 </style> 1145 <heading id="heading" on-click="onHeadingDivClicked_"> 1146 <span id="arrow"></span> 1147 <span id="heading_content"></span> 1148 <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link> 1149 </heading> 1150 </template> 1151</dom-module><style> 1152.track-button{background-color:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.2);font-size:10px;height:12px;text-align:center;width:12px}.track-button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.5);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.track-close-button{left:2px;position:absolute;top:2px}.track-collapse-button{left:3px;position:absolute;top:2px} 1153</style><style> 1154.object-instance-track{height:18px} 1155</style><style> 1156.tr-ui-e-system-stats-instance-track{height:500px}.tr-ui-e-system-stats-instance-track ul{list-style:none;list-style-position:outside;margin:0;overflow:hidden} 1157</style><style> 1158.tr-ui-e-system-stats-snapshot-view .subhead{font-size:small;padding-bottom:10px}.tr-ui-e-system-stats-snapshot-view ul{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;font-family:monospace;list-style:none;margin:0;padding-left:15px}.tr-ui-e-system-stats-snapshot-view li{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;list-style:none;margin:0;padding-left:15px} 1159</style><dom-module id="tr-ui-e-v8-gc-objects-stats-table"> 1160 <template> 1161 <style> 1162 tr-ui-b-table { 1163 flex: 0 0 auto; 1164 align-self: stretch; 1165 margin-top: 1em; 1166 font-size: 12px; 1167 } 1168 .diff { 1169 display: inline-block; 1170 margin-top: 1em; 1171 margin-left: 0.8em; 1172 } 1173 </style> 1174 <div class="diff" id="diffOption"> 1175 Diff 1176 </div> 1177 <tr-ui-b-table id="diffTable"></tr-ui-b-table> 1178 <tr-ui-b-table id="table"></tr-ui-b-table> 1179 </template> 1180</dom-module><dom-module id="tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view"> 1181 <template> 1182 <style> 1183 </style> 1184 <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats"> 1185 </tr-ui-e-v8-gc-objects-stats-table> 1186 </template> 1187</dom-module><dom-module id="tr-ui-e-v8-ic-stats-table"> 1188 <template> 1189 <style> 1190 tr-ui-b-table { 1191 flex: 0 0 auto; 1192 align-self: stretch; 1193 margin-top: 1em; 1194 font-size: 12px; 1195 } 1196 #total { 1197 margin-top: 1em; 1198 margin-left: 0.8em; 1199 } 1200 #groupOption { 1201 display: inline-block; 1202 margin-top: 1em; 1203 margin-left: 0.8em; 1204 } 1205 </style> 1206 <div style="padding-right: 200px"> 1207 <div style="float:right; border-style: solid; border-width: 1px; padding:20px"> 1208 0 uninitialized<br/> 1209 . premonomorphic<br/> 1210 1 monomorphic<br/> 1211 ^ recompute handler<br/> 1212 P polymorphic<br/> 1213 N megamorphic<br/> 1214 G generic 1215 </div> 1216 </div> 1217 <div id="total"> 1218 </div> 1219 <div id="groupOption"> 1220 Group Key 1221 </div> 1222 <tr-ui-b-table id="table"></tr-ui-b-table> 1223 </template> 1224</dom-module><dom-module id="tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view"> 1225 <template> 1226 <tr-ui-e-v8-ic-stats-table id="table"> 1227 </tr-ui-e-v8-ic-stats-table> 1228 </template> 1229</dom-module><dom-module id="tr-ui-e-v8-runtime-call-stats-table"> 1230 <template> 1231 <style> 1232 #table { 1233 flex: 0 0 auto; 1234 align-self: stretch; 1235 margin-top: 1em; 1236 font-size: 12px; 1237 } 1238 </style> 1239 <tr-ui-b-table id="table"></tr-ui-b-table> 1240 </template> 1241</dom-module><dom-module id="tr-ui-e-multi-v8-thread-slice-sub-view"> 1242 <template> 1243 <tr-ui-a-multi-thread-slice-sub-view id="content"></tr-ui-a-multi-thread-slice-sub-view> 1244 <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table> 1245 </template> 1246</dom-module><dom-module id="tr-ui-e-single-v8-gc-stats-thread-slice-sub-view"> 1247 <template> 1248 <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view> 1249 <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats"></tr-ui-e-v8-gc-objects-stats-table> 1250 </template> 1251</dom-module><dom-module id="tr-ui-e-single-v8-ic-stats-thread-slice-sub-view"> 1252 <template> 1253 <tr-ui-e-v8-ic-stats-table id="table"> 1254 </tr-ui-e-v8-ic-stats-table> 1255 </template> 1256</dom-module><dom-module id="tr-ui-e-single-v8-thread-slice-sub-view"> 1257 <template> 1258 <tr-ui-a-single-thread-slice-sub-view id="content"></tr-ui-a-single-thread-slice-sub-view> 1259 <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table> 1260 </template> 1261</dom-module><dom-module id="tr-ui-a-alert-sub-view"> 1262 <template> 1263 <style> 1264 :host { 1265 display: flex; 1266 flex-direction: column; 1267 } 1268 #table { 1269 flex: 1 1 auto; 1270 align-self: stretch; 1271 font-size: 12px; 1272 } 1273 </style> 1274 <tr-ui-b-table id="table"> 1275 </tr-ui-b-table> 1276 </template> 1277</dom-module><dom-module id="tr-ui-b-tab-view"> 1278 <template> 1279 <style> 1280 :host { 1281 display: flex; 1282 flex-direction: column; 1283 } 1284 1285 #selection_description, #tabs { 1286 font-size: 12px; 1287 } 1288 1289 #selection_description { 1290 display: inline-block; 1291 font-weight: bold; 1292 margin: 9px 0px 4px 20px; 1293 } 1294 1295 #tabs { 1296 flex: 0 0 auto; 1297 border-top: 1px solid #8e8e8e; 1298 border-bottom: 1px solid #8e8e8e; 1299 background-color: #ececec; 1300 overflow: hidden; 1301 margin: 0; 1302 } 1303 1304 #tabs input[type=radio] { 1305 display: none; 1306 } 1307 1308 #tabs tab label { 1309 cursor: pointer; 1310 display: inline-block; 1311 border: 1px solid #ececec; 1312 margin: 5px 0px 0px 15px; 1313 padding: 3px 10px 3px 10px; 1314 } 1315 1316 #tabs tab label span { 1317 font-weight: bold; 1318 } 1319 1320 #tabs:focus input[type=radio]:checked ~ label { 1321 outline: dotted 1px #8e8e8e; 1322 outline-offset: -2px; 1323 } 1324 1325 #tabs input[type=radio]:checked ~ label { 1326 background-color: white; 1327 border: 1px solid #8e8e8e; 1328 border-bottom: 1px solid white; 1329 } 1330 1331 #subView { 1332 flex: 1 1 auto; 1333 overflow: auto; 1334 } 1335 </style> 1336 <div hidden="[[tabsHidden]]" id="tabs"> 1337 <label id="selection_description">[[label_]]</label> 1338 <template is="dom-repeat" items="[[subViews_]]"> 1339 <tab> 1340 <input checked="[[isChecked_(item)]]" id$="[[computeRadioId_(item)]]" name="tabs" on-change="onTabChanged_" type="radio"/> 1341 <label for$="[[computeRadioId_(item)]]"> 1342 <template if="[[item.tabIcon]]" is="dom-if"> 1343 <span style$="[[item.tabIcon.style]]">[[item.tabIcon.text]]</span> 1344 </template> 1345 [[item.tabLabel]] 1346 </label> 1347 </tab> 1348 </template> 1349 </div> 1350 <div id="subView"></div> 1351 <content> 1352 </content> 1353 </template> 1354</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view"> 1355 <template> 1356 <tr-ui-b-tab-view id="tabs"></tr-ui-b-tab-view> 1357 </template> 1358</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view-tab"> 1359 <template> 1360 <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller> 1361 <tr-ui-b-info-bar hidden="" id="info"></tr-ui-b-info-bar> 1362 <tr-ui-b-table id="table"></tr-ui-b-table> 1363 </template> 1364</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-path-view"> 1365 <template> 1366 <style> 1367 :host { 1368 display: flex; 1369 flex-direction: column; 1370 } 1371 </style> 1372 <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller> 1373 <tr-ui-b-table id="table"></tr-ui-b-table> 1374 </template> 1375</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-pane"> 1376 <template> 1377 <style> 1378 :host { 1379 display: flex; 1380 flex-direction: column; 1381 } 1382 1383 #header { 1384 flex: 0 0 auto; 1385 display: flex; 1386 flex-direction: row; 1387 align-items: center; 1388 1389 background-color: #eee; 1390 border-bottom: 1px solid #8e8e8e; 1391 border-top: 1px solid white; 1392 } 1393 1394 #label { 1395 flex: 1 1 auto; 1396 padding: 8px; 1397 font-size: 15px; 1398 font-weight: bold; 1399 } 1400 1401 #view_mode_container { 1402 display: none; 1403 flex: 0 0 auto; 1404 padding: 5px; 1405 font-size: 15px; 1406 } 1407 1408 #contents { 1409 flex: 1 0 auto; 1410 align-self: stretch; 1411 font-size: 12px; 1412 } 1413 1414 #info_text { 1415 padding: 8px; 1416 color: #666; 1417 font-style: italic; 1418 text-align: center; 1419 } 1420 1421 #split_view { 1422 display: none; /* Hide until memory allocator dumps are set. */ 1423 flex: 1 0 auto; 1424 align-self: stretch; 1425 flex-direction: row; 1426 } 1427 1428 #path_view { 1429 width: 50%; 1430 } 1431 1432 #breakdown_view { 1433 flex: 1 1 auto; 1434 width: 0; 1435 } 1436 1437 #path_view, #breakdown_view { 1438 overflow-x: auto; /* Show scrollbar if necessary. */ 1439 } 1440 </style> 1441 <div id="header"> 1442 <div id="label">Heap details</div> 1443 <div id="view_mode_container"> 1444 <span>View mode:</span> 1445 1446 </div> 1447 </div> 1448 <div id="contents"> 1449 <tr-ui-b-info-bar hidden="" id="info_bar"> 1450 </tr-ui-b-info-bar> 1451 1452 <div id="info_text">No heap dump selected</div> 1453 1454 <div id="split_view"> 1455 <tr-ui-a-memory-dump-heap-details-path-view id="path_view"> 1456 </tr-ui-a-memory-dump-heap-details-path-view> 1457 <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle> 1458 <tr-ui-a-memory-dump-heap-details-breakdown-view id="breakdown_view"> 1459 </tr-ui-a-memory-dump-heap-details-breakdown-view> 1460 </div> 1461 </div> 1462 </template> 1463</dom-module><dom-module id="tr-ui-a-memory-dump-allocator-details-pane"> 1464 <template> 1465 <style> 1466 :host { 1467 display: flex; 1468 flex-direction: column; 1469 } 1470 1471 #label { 1472 flex: 0 0 auto; 1473 padding: 8px; 1474 1475 background-color: #eee; 1476 border-bottom: 1px solid #8e8e8e; 1477 border-top: 1px solid white; 1478 1479 font-size: 15px; 1480 font-weight: bold; 1481 } 1482 1483 #contents { 1484 flex: 1 0 auto; 1485 align-self: stretch; 1486 font-size: 12px; 1487 } 1488 1489 #info_text { 1490 padding: 8px; 1491 color: #666; 1492 font-style: italic; 1493 text-align: center; 1494 } 1495 1496 #table { 1497 display: none; /* Hide until memory allocator dumps are set. */ 1498 flex: 1 0 auto; 1499 align-self: stretch; 1500 font-size: 12px; 1501 } 1502 </style> 1503 <div id="label">Component details</div> 1504 <div id="contents"> 1505 <div id="info_text">No memory allocator dump selected</div> 1506 <tr-ui-b-table id="table"></tr-ui-b-table> 1507 </div> 1508 </template> 1509</dom-module><dom-module id="tr-ui-a-memory-dump-vm-regions-details-pane"> 1510 <template> 1511 <style> 1512 :host { 1513 display: flex; 1514 flex-direction: column; 1515 } 1516 1517 #label { 1518 flex: 0 0 auto; 1519 padding: 8px; 1520 1521 background-color: #eee; 1522 border-bottom: 1px solid #8e8e8e; 1523 border-top: 1px solid white; 1524 1525 font-size: 15px; 1526 font-weight: bold; 1527 } 1528 1529 #contents { 1530 flex: 1 0 auto; 1531 align-self: stretch; 1532 font-size: 12px; 1533 } 1534 1535 #info_text { 1536 padding: 8px; 1537 color: #666; 1538 font-style: italic; 1539 text-align: center; 1540 } 1541 1542 #table { 1543 display: none; /* Hide until memory dumps are set. */ 1544 flex: 1 0 auto; 1545 align-self: stretch; 1546 font-size: 12px; 1547 } 1548 </style> 1549 <div id="label">Memory maps</div> 1550 <div id="contents"> 1551 <div id="info_text">No memory maps selected</div> 1552 <tr-ui-b-table id="table"></tr-ui-b-table> 1553 </div> 1554 </template> 1555</dom-module><dom-module id="tr-ui-b-color-legend"> 1556 <template> 1557 <style> 1558 :host { 1559 display: inline-block; 1560 } 1561 1562 #square { 1563 font-size: 150%; /* Make the square bigger. */ 1564 line-height: 0%; /* Prevent the square from increasing legend height. */ 1565 } 1566 </style> 1567 <span id="square"></span> 1568 <span id="label"></span> 1569 </template> 1570</dom-module><dom-module id="tr-ui-b-view-specific-brushing-state"> 1571 <template></template> 1572</dom-module><dom-module id="tr-ui-a-memory-dump-overview-pane"> 1573 <template> 1574 <style> 1575 :host { 1576 display: flex; 1577 flex-direction: column; 1578 } 1579 1580 #label { 1581 flex: 0 0 auto; 1582 padding: 8px; 1583 1584 background-color: #eee; 1585 border-bottom: 1px solid #8e8e8e; 1586 border-top: 1px solid white; 1587 1588 font-size: 15px; 1589 font-weight: bold; 1590 } 1591 1592 #label a { 1593 font-weight: normal; 1594 float: right; 1595 } 1596 1597 #contents { 1598 flex: 1 0 auto; 1599 align-self: stretch; 1600 font-size: 12px; 1601 overflow: auto; 1602 } 1603 1604 #info_text { 1605 padding: 8px; 1606 color: #666; 1607 font-style: italic; 1608 text-align: center; 1609 } 1610 1611 #table { 1612 display: none; /* Hide until memory dumps are set. */ 1613 flex: 1 0 auto; 1614 align-self: stretch; 1615 font-size: 12px; 1616 } 1617 </style> 1618 <tr-ui-b-view-specific-brushing-state id="state" view-id="analysis.memory_dump_overview_pane"> 1619 </tr-ui-b-view-specific-brushing-state> 1620 <div id="label">Overview <a href="https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra">Help</a></div> 1621 <div id="contents"> 1622 <div id="info_text">No memory memory dumps selected</div> 1623 <tr-ui-b-table id="table"></tr-ui-b-table> 1624 </div> 1625 </template> 1626</dom-module><dom-module id="tr-ui-a-memory-dump-header-pane"> 1627 <template> 1628 <style> 1629 :host { 1630 display: flex; 1631 flex-direction: row; 1632 align-items: center; 1633 1634 background-color: #d0d0d0; 1635 border-bottom: 1px solid #8e8e8e; 1636 border-top: 1px solid white; 1637 } 1638 1639 #label { 1640 flex: 1 1 auto; 1641 padding: 6px; 1642 font-size: 15px; 1643 } 1644 1645 #aggregation_mode_container { 1646 display: none; 1647 flex: 0 0 auto; 1648 padding: 5px; 1649 font-size: 15px; 1650 } 1651 </style> 1652 1653 <div id="label"></div> 1654 <div id="aggregation_mode_container"> 1655 <span>Metric aggregation:</span> 1656 1657 </div> 1658 </template> 1659</dom-module><dom-module id="tr-ui-a-stacked-pane-view"> 1660 <template> 1661 <style> 1662 :host { 1663 display: flex; 1664 flex-direction: column; 1665 } 1666 1667 #pane_container > * { 1668 flex: 0 0 auto; 1669 } 1670 </style> 1671 <div id="pane_container"> 1672 </div> 1673 </template> 1674</dom-module><dom-module id="tr-ui-a-container-memory-dump-sub-view"> 1675 <template> 1676 <style> 1677 tr-ui-b-table { 1678 font-size: 12px; 1679 } 1680 </style> 1681 <div id="content"></div> 1682 </template> 1683</dom-module><dom-module id="tr-ui-a-counter-sample-sub-view"> 1684 <template> 1685 <style> 1686 :host { 1687 display: flex; 1688 flex-direction: column; 1689 } 1690 tr-ui-b-table { 1691 font-size: 12px; 1692 } 1693 </style> 1694 <tr-ui-b-table id="table"></tr-ui-b-table> 1695 </template> 1696</dom-module><dom-module id="tr-ui-a-multi-event-summary-table"> 1697 <template> 1698 <style> 1699 :host { 1700 display: flex; 1701 } 1702 #table { 1703 flex: 1 1 auto; 1704 align-self: stretch; 1705 font-size: 12px; 1706 } 1707 </style> 1708 <tr-ui-b-table id="table"> 1709 </tr-ui-b-table> 1710 1711 </template> 1712</dom-module><dom-module id="tr-ui-a-selection-summary-table"> 1713 <template> 1714 <style> 1715 :host { 1716 display: flex; 1717 } 1718 #table { 1719 flex: 1 1 auto; 1720 align-self: stretch; 1721 font-size: 12px; 1722 } 1723 </style> 1724 <tr-ui-b-table id="table"> 1725 </tr-ui-b-table> 1726 1727 </template> 1728</dom-module><dom-module id="tr-ui-b-radio-picker"> 1729 <template> 1730 <style> 1731 :host([vertical]) #container { 1732 flex-direction: column; 1733 } 1734 :host(:not[vertical]) #container { 1735 flex-direction: row; 1736 } 1737 #container { 1738 display: flex; 1739 } 1740 #container > div { 1741 padding-left: 1em; 1742 padding-bottom: 0.5em; 1743 } 1744 </style> 1745 <div id="container"></div> 1746 </template> 1747</dom-module><dom-module id="tr-v-ui-breakdown-span"> 1748 <template> 1749 <style> 1750 :host { 1751 display: flex; 1752 flex-direction: column; 1753 } 1754 #table_container { 1755 display: flex; 1756 flex: 0 0 auto; 1757 } 1758 #table { 1759 max-height: 150px; 1760 overflow-y: auto; 1761 } 1762 </style> 1763 1764 <div id="empty">(empty)</div> 1765 <div id="table_container"> 1766 <div id="container"></div> 1767 <span> 1768 <tr-ui-b-table id="table"></tr-ui-b-table> 1769 </span> 1770 </div> 1771 </template> 1772</dom-module><dom-module id="tr-v-ui-buildbot-info-span"> 1773 <template> 1774 <tr-ui-b-table id="table"></tr-ui-b-table> 1775 </template> 1776</dom-module><dom-module id="tr-v-ui-collected-related-event-set-span"> 1777 1778</dom-module><dom-module id="tr-v-ui-device-info-span"> 1779 <template> 1780 <tr-ui-b-table id="table"></tr-ui-b-table> 1781 </template> 1782</dom-module><dom-module id="tr-v-ui-generic-diagnostic-span"> 1783 <template> 1784 <tr-ui-a-generic-object-view id="generic"></tr-ui-a-generic-object-view> 1785 </template> 1786 1787 1788</dom-module><dom-module id="tr-v-ui-merged-buildbot-info-span"> 1789 <template> 1790 <tr-ui-b-table id="table"></tr-ui-b-table> 1791 </template> 1792</dom-module><dom-module id="tr-v-ui-merged-device-info-span"> 1793 <template> 1794 <tr-ui-b-table id="table"></tr-ui-b-table> 1795 </template> 1796</dom-module><dom-module id="tr-v-ui-merged-revision-info-span"> 1797 <template> 1798 <tr-ui-b-table id="table"></tr-ui-b-table> 1799 </template> 1800</dom-module><dom-module id="tr-v-ui-merged-telemetry-info-span"> 1801 <template> 1802 <style> 1803 #hide, #table { 1804 display: none; 1805 } 1806 </style> 1807 <button id="show" on-click="onShow_">Show</button> 1808 <button id="hide" on-click="onHide_">Hide</button> 1809 <tr-ui-b-table id="table"></tr-ui-b-table> 1810 </template> 1811</dom-module><dom-module id="tr-v-ui-related-event-set-span"> 1812 1813</dom-module><dom-module id="tr-v-ui-related-histogram-map-span"> 1814 <template> 1815 <tr-ui-b-table id="table"></tr-ui-b-table> 1816 </template> 1817</dom-module><dom-module id="tr-v-ui-related-histogram-set-span"> 1818 1819</dom-module><dom-module id="tr-v-ui-revision-info-span"> 1820 <template> 1821 <tr-ui-b-table id="table"></tr-ui-b-table> 1822 </template> 1823</dom-module><dom-module id="tr-v-ui-scalar-diagnostic-span"> 1824 <template> 1825 <tr-v-ui-scalar-span id="scalar"></tr-v-ui-scalar-span> 1826 </template> 1827 1828 1829</dom-module><dom-module id="tr-v-ui-telemetry-info-span"> 1830 <template> 1831 <tr-ui-b-table id="table"></tr-ui-b-table> 1832 </template> 1833</dom-module><dom-module id="tr-v-ui-unmergeable-diagnostic-set-span"> 1834 1835</dom-module><dom-module id="tr-v-ui-diagnostic-map-table"> 1836 <template> 1837 <tr-ui-b-table id="table"></tr-ui-b-table> 1838 </template> 1839 1840 1841</dom-module><dom-module name="tr-v-ui-scalar-map-table"> 1842 <template> 1843 <style> 1844 </style> 1845 <tr-ui-b-table id="table"></tr-ui-b-table> 1846 </template> 1847</dom-module><dom-module id="tr-v-ui-histogram-span"> 1848 <template> 1849 <style> 1850 #container { 1851 display: flex; 1852 flex-direction: row; 1853 justify-content: space-between; 1854 } 1855 #chart { 1856 flex-grow: 1; 1857 display: none; 1858 } 1859 #drag_handle, #sample_diagnostics_container { 1860 display: none; 1861 } 1862 #chart svg { 1863 display: block; 1864 } 1865 </style> 1866 1867 <div id="container"> 1868 <div id="chart"></div> 1869 <div id="stats_container"> 1870 <tr-v-ui-scalar-map-table id="stats"></tr-v-ui-scalar-map-table> 1871 </div> 1872 </div> 1873 <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle> 1874 1875 <tr-v-ui-diagnostic-map-table id="histogram_diagnostics"></tr-v-ui-diagnostic-map-table> 1876 1877 <div id="sample_diagnostics_container"> 1878 <div id="merge_sample_diagnostics_container"> 1879 <input checked="" id="merge_sample_diagnostics" on-change="updateDiagnostics_" type="checkbox"/> 1880 <label for="merge_sample_diagnostics">Merge Sample Diagnostics</label> 1881 </div> 1882 <tr-v-ui-diagnostic-map-table id="sample_diagnostics"></tr-v-ui-diagnostic-map-table> 1883 </div> 1884 </template> 1885</dom-module><dom-module id="tr-ui-a-multi-event-sub-view"> 1886 <template> 1887 <style> 1888 :host { 1889 display: flex; 1890 overflow: auto; 1891 } 1892 #content { 1893 display: flex; 1894 flex-direction: column; 1895 flex: 0 1 auto; 1896 align-self: stretch; 1897 } 1898 #content > * { 1899 flex: 0 0 auto; 1900 align-self: stretch; 1901 } 1902 #histogramContainer { 1903 display: flex; 1904 } 1905 1906 tr-ui-a-multi-event-summary-table { 1907 border-bottom: 1px solid #aaa; 1908 } 1909 1910 tr-ui-a-selection-summary-table { 1911 margin-top: 1.25em; 1912 border-top: 1px solid #aaa; 1913 background-color: #eee; 1914 font-weight: bold; 1915 margin-bottom: 1.25em; 1916 border-bottom: 1px solid #aaa; 1917 } 1918 </style> 1919 <div id="content"> 1920 <tr-ui-a-multi-event-summary-table id="eventSummaryTable"> 1921 </tr-ui-a-multi-event-summary-table> 1922 <tr-ui-a-selection-summary-table id="selectionSummaryTable"> 1923 </tr-ui-a-selection-summary-table> 1924 <tr-ui-b-radio-picker id="radioPicker"> 1925 </tr-ui-b-radio-picker> 1926 <div id="histogramContainer"> 1927 <tr-v-ui-histogram-span id="histogramSpan"> 1928 </tr-v-ui-histogram-span> 1929 </div> 1930 </div> 1931 </template> 1932</dom-module><dom-module id="tr-ui-a-related-events"> 1933 <template> 1934 <style> 1935 :host { 1936 display: flex; 1937 flex-direction: column; 1938 } 1939 #table { 1940 flex: 1 1 auto; 1941 align-self: stretch; 1942 font-size: 12px; 1943 } 1944 </style> 1945 <tr-ui-b-table id="table"></tr-ui-b-table> 1946 </template> 1947</dom-module><dom-module id="tr-ui-a-multi-async-slice-sub-view"> 1948 <template> 1949 <style> 1950 :host { 1951 display: flex; 1952 } 1953 #container { 1954 display: flex; 1955 flex: 1 1 auto; 1956 } 1957 #events { 1958 margin-left: 8px; 1959 flex: 0 1 200px; 1960 } 1961 </style> 1962 <div id="container"> 1963 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 1964 <div id="events"> 1965 <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events> 1966 </div> 1967 </div> 1968 </template> 1969</dom-module><dom-module id="tr-ui-a-multi-cpu-slice-sub-view"> 1970 <template> 1971 <style> 1972 :host { 1973 display: flex; 1974 } 1975 #content { 1976 flex: 1 1 auto; 1977 } 1978 </style> 1979 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 1980 </template> 1981</dom-module><dom-module id="tr-ui-a-multi-flow-event-sub-view"> 1982 <template> 1983 <style> 1984 :host { 1985 display: flex; 1986 } 1987 </style> 1988 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 1989 </template> 1990</dom-module><dom-module id="tr-ui-a-multi-instant-event-sub-view"> 1991 <template> 1992 <style> 1993 :host { 1994 display: block; 1995 } 1996 </style> 1997 <div id="content"></div> 1998 </template> 1999</dom-module><dom-module id="tr-ui-a-multi-object-sub-view"> 2000 <template> 2001 <style> 2002 :host { 2003 display: flex; 2004 font-size: 12px; 2005 } 2006 </style> 2007 <tr-ui-b-table id="content"></tr-ui-b-table> 2008 </template> 2009</dom-module><dom-module id="tr-ui-a-frame-power-usage-chart"> 2010 <template> 2011 <div id="content"></div> 2012 </template> 2013</dom-module><dom-module id="tr-ui-a-power-sample-summary-table"> 2014 <template> 2015 <style> 2016 tr-ui-b-table { 2017 font-size: 12px; 2018 } 2019 </style> 2020 <tr-ui-b-table id="table"></tr-ui-b-table> 2021 </template> 2022</dom-module><dom-module id="tr-ui-a-multi-power-sample-sub-view"> 2023 <template> 2024 <style> 2025 :host { 2026 display: flex; 2027 flex-direction: row; 2028 } 2029 #tables { 2030 display: flex; 2031 flex-direction: column; 2032 width: 50%; 2033 } 2034 #chart { 2035 width: 50%; 2036 } 2037 </style> 2038 <div id="tables"> 2039 <tr-ui-a-power-sample-summary-table id="summaryTable"> 2040 </tr-ui-a-power-sample-summary-table> 2041 </div> 2042 <tr-ui-a-frame-power-usage-chart id="chart"> 2043 </tr-ui-a-frame-power-usage-chart> 2044 </template> 2045</dom-module><dom-module id="tr-ui-a-multi-sample-sub-view"> 2046 <template> 2047 <style> 2048 :host { display: block; } 2049 #control { 2050 background-color: #e6e6e6; 2051 background-image: -webkit-gradient(linear, 0 0, 0 100%, 2052 from(#E5E5E5), to(#D1D1D1)); 2053 flex: 0 0 auto; 2054 overflow-x: auto; 2055 } 2056 #control::-webkit-scrollbar { height: 0px; } 2057 #control { 2058 font-size: 12px; 2059 display: flex; 2060 flex-direction: row; 2061 align-items: stretch; 2062 margin: 1px; 2063 margin-right: 2px; 2064 } 2065 tr-ui-b-table { 2066 font-size: 12px; 2067 } 2068 </style> 2069 <div id="control"> 2070 Sample View Option 2071 </div> 2072 <tr-ui-b-table id="table"> 2073 </tr-ui-b-table> 2074 </template> 2075</dom-module><dom-module id="tr-ui-a-multi-thread-slice-sub-view"> 2076 <template> 2077 <style> 2078 :host { 2079 display: flex; 2080 } 2081 #content { 2082 display: flex; 2083 flex: 1 1 auto; 2084 } 2085 #content > tr-ui-a-related-events { 2086 margin-left: 8px; 2087 flex: 0 1 200px; 2088 } 2089 </style> 2090 <div id="content"></div> 2091 </template> 2092</dom-module><dom-module id="tr-ui-a-multi-thread-time-slice-sub-view"> 2093 <template> 2094 <style> 2095 :host { 2096 display: flex; 2097 } 2098 #content { 2099 flex: 1 1 auto; 2100 } 2101 </style> 2102 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 2103 </template> 2104</dom-module><dom-module id="tr-ui-a-user-expectation-related-samples-table"> 2105 <template> 2106 <style> 2107 #table { 2108 flex: 1 1 auto; 2109 align-self: stretch; 2110 font-size: 12px; 2111 } 2112 </style> 2113 <tr-ui-b-table id="table"></tr-ui-b-table> 2114 </template> 2115</dom-module><dom-module id="tr-ui-a-multi-user-expectation-sub-view"> 2116 <template> 2117 <style> 2118 :host { 2119 display: flex; 2120 flex: 1 1 auto; 2121 } 2122 #events { 2123 margin-left: 8px; 2124 flex: 0 1 200px; 2125 } 2126 </style> 2127 <tr-ui-a-multi-event-sub-view id="realView"></tr-ui-a-multi-event-sub-view> 2128 <div id="events"> 2129 <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table> 2130 </div> 2131 </template> 2132</dom-module><dom-module id="tr-ui-a-single-async-slice-sub-view"> 2133 <template> 2134 <style> 2135 :host { 2136 display: flex; 2137 flex-direction: row; 2138 } 2139 #events { 2140 display:flex; 2141 flex-direction: column; 2142 } 2143 </style> 2144 <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view> 2145 <div id="events"> 2146 <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events> 2147 </div> 2148 </template> 2149</dom-module><dom-module id="tr-ui-a-single-cpu-slice-sub-view"> 2150 <template> 2151 <style> 2152 table { 2153 border-collapse: collapse; 2154 border-width: 0; 2155 margin-bottom: 25px; 2156 width: 100%; 2157 } 2158 2159 table tr > td:first-child { 2160 padding-left: 2px; 2161 } 2162 2163 table tr > td { 2164 padding: 2px 4px 2px 4px; 2165 vertical-align: text-top; 2166 width: 150px; 2167 } 2168 2169 table td td { 2170 padding: 0 0 0 0; 2171 width: auto; 2172 } 2173 tr { 2174 vertical-align: top; 2175 } 2176 2177 tr:nth-child(2n+0) { 2178 background-color: #e2e2e2; 2179 } 2180 </style> 2181 <table> 2182 <tbody><tr> 2183 <td>Running process:</td><td id="process-name"></td> 2184 </tr> 2185 <tr> 2186 <td>Running thread:</td><td id="thread-name"></td> 2187 </tr> 2188 <tr> 2189 <td>Start:</td> 2190 <td> 2191 <tr-v-ui-scalar-span id="start"> 2192 </tr-v-ui-scalar-span> 2193 </td> 2194 </tr> 2195 <tr> 2196 <td>Duration:</td> 2197 <td> 2198 <tr-v-ui-scalar-span id="duration"> 2199 </tr-v-ui-scalar-span> 2200 </td> 2201 </tr> 2202 <tr> 2203 <td>Active slices:</td><td id="running-thread"></td> 2204 </tr> 2205 <tr> 2206 <td>Args:</td> 2207 <td> 2208 <tr-ui-a-generic-object-view id="args"> 2209 </tr-ui-a-generic-object-view> 2210 </td> 2211 </tr> 2212 </tbody></table> 2213 </template> 2214</dom-module><dom-module id="tr-ui-a-single-flow-event-sub-view"> 2215 <template> 2216 <style> 2217 :host { 2218 display: block; 2219 } 2220 </style> 2221 <tr-ui-a-single-event-sub-view id="singleEventSubView"> 2222 </tr-ui-a-single-event-sub-view> 2223 </template> 2224</dom-module><dom-module id="tr-ui-a-single-frame-sub-view"> 2225 <template> 2226 <style> 2227 :host { 2228 display: flex; 2229 flex-direction: column; 2230 } 2231 #asv { 2232 flex: 0 0 auto; 2233 align-self: stretch; 2234 } 2235 </style> 2236 <tr-ui-a-alert-sub-view id="asv"> 2237 </tr-ui-a-alert-sub-view> 2238 </template> 2239</dom-module><dom-module id="tr-ui-a-single-instant-event-sub-view"> 2240 <template> 2241 <style> 2242 :host { 2243 display: block; 2244 } 2245 </style> 2246 <div id="content"></div> 2247 </template> 2248</dom-module><dom-module id="tr-ui-a-single-object-instance-sub-view"> 2249 <template> 2250 <style> 2251 :host { 2252 display: block; 2253 } 2254 2255 #snapshots > * { 2256 display: block; 2257 } 2258 2259 :host { 2260 overflow: auto; 2261 display: block; 2262 } 2263 2264 * { 2265 -webkit-user-select: text; 2266 } 2267 2268 .title { 2269 border-bottom: 1px solid rgb(128, 128, 128); 2270 font-size: 110%; 2271 font-weight: bold; 2272 } 2273 2274 td, th { 2275 font-family: monospace; 2276 vertical-align: top; 2277 } 2278 </style> 2279 <div id="content"></div> 2280 </template> 2281</dom-module><dom-module id="tr-ui-a-single-object-snapshot-sub-view"> 2282 <template> 2283 <style> 2284 #args { 2285 white-space: pre; 2286 } 2287 2288 :host { 2289 overflow: auto; 2290 display: flex; 2291 } 2292 2293 ::content * { 2294 -webkit-user-select: text; 2295 } 2296 2297 ::content .title { 2298 border-bottom: 1px solid rgb(128, 128, 128); 2299 font-size: 110%; 2300 font-weight: bold; 2301 } 2302 2303 ::content td, th { 2304 font-family: monospace; 2305 vertical-align: top; 2306 } 2307 </style> 2308 <content></content> 2309 </template> 2310</dom-module><dom-module id="tr-ui-a-power-sample-table"> 2311 <template> 2312 <style> 2313 :host { 2314 display: flex; 2315 font-size: 12px; 2316 } 2317 </style> 2318 <tr-ui-b-table id="table"></tr-ui-b-table> 2319 </template> 2320</dom-module><dom-module id="tr-ui-a-single-power-sample-sub-view"> 2321 <template> 2322 <style> 2323 :host { display: block; } 2324 </style> 2325 <tr-ui-a-power-sample-table id="samplesTable"> 2326 </tr-ui-a-power-sample-table> 2327 </template> 2328</dom-module><dom-module id="tr-ui-a-single-sample-sub-view"> 2329 <template> 2330 <style> 2331 :host { 2332 display: flex; 2333 font-size: 12px; 2334 } 2335 </style> 2336 <tr-ui-b-table id="content"></tr-ui-b-table> 2337 </template> 2338</dom-module><dom-module id="tr-ui-a-single-thread-slice-sub-view"> 2339 <template> 2340 <style> 2341 :host { 2342 display: flex; 2343 flex-direction: row; 2344 } 2345 #events { 2346 display: flex; 2347 flex-direction: column; 2348 } 2349 2350 </style> 2351 <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view> 2352 <div id="events"> 2353 <tr-ui-a-related-events id="relatedEvents"> 2354 </tr-ui-a-related-events> 2355 </div> 2356 </template> 2357</dom-module><dom-module id="tr-ui-a-single-thread-time-slice-sub-view"> 2358 <template> 2359 <style> 2360 table { 2361 border-collapse: collapse; 2362 border-width: 0; 2363 margin-bottom: 25px; 2364 width: 100%; 2365 } 2366 2367 table tr > td:first-child { 2368 padding-left: 2px; 2369 } 2370 2371 table tr > td { 2372 padding: 2px 4px 2px 4px; 2373 vertical-align: text-top; 2374 width: 150px; 2375 } 2376 2377 table td td { 2378 padding: 0 0 0 0; 2379 width: auto; 2380 } 2381 tr { 2382 vertical-align: top; 2383 } 2384 2385 tr:nth-child(2n+0) { 2386 background-color: #e2e2e2; 2387 } 2388 </style> 2389 <table> 2390 <tbody><tr> 2391 <td>Running process:</td><td id="process-name"></td> 2392 </tr> 2393 <tr> 2394 <td>Running thread:</td><td id="thread-name"></td> 2395 </tr> 2396 <tr> 2397 <td>State:</td> 2398 <td><b><span id="state"></span></b></td> 2399 </tr> 2400 <tr> 2401 <td>Start:</td> 2402 <td> 2403 <tr-v-ui-scalar-span id="start"> 2404 </tr-v-ui-scalar-span> 2405 </td> 2406 </tr> 2407 <tr> 2408 <td>Duration:</td> 2409 <td> 2410 <tr-v-ui-scalar-span id="duration"> 2411 </tr-v-ui-scalar-span> 2412 </td> 2413 </tr> 2414 2415 <tr> 2416 <td>On CPU:</td><td id="on-cpu"></td> 2417 </tr> 2418 2419 <tr> 2420 <td>Running instead:</td><td id="running-instead"></td> 2421 </tr> 2422 2423 <tr> 2424 <td>Args:</td><td id="args"></td> 2425 </tr> 2426 </tbody></table> 2427 </template> 2428</dom-module><dom-module id="tr-ui-a-single-user-expectation-sub-view"> 2429 <template> 2430 <style> 2431 :host { 2432 display: flex; 2433 flex-direction: row; 2434 } 2435 #events { 2436 display: flex; 2437 flex-direction: column; 2438 } 2439 </style> 2440 <tr-ui-a-single-event-sub-view id="realView"></tr-ui-a-single-event-sub-view> 2441 <div id="events"> 2442 <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table> 2443 </div> 2444 </template> 2445</dom-module><dom-module id="tr-ui-a-analysis-view"> 2446 <template> 2447 <style> 2448 :host { 2449 background-color: white; 2450 display: flex; 2451 flex-direction: column; 2452 height: 275px; 2453 overflow: auto; 2454 } 2455 2456 :host(.tall-mode) { 2457 height: 525px; 2458 } 2459 </style> 2460 <content></content> 2461 </template> 2462</dom-module><dom-module id="tr-ui-b-dropdown"> 2463 <template> 2464 <style> 2465 :host { 2466 position: relative; 2467 display: flex; 2468 } 2469 #outer { 2470 display: flex; 2471 flex: 0 0 auto; 2472 padding: 1px 4px 1px 4px; 2473 -webkit-user-select: none; 2474 cursor: default; 2475 } 2476 2477 #state { 2478 display: flex; 2479 flex: 0 0 auto; 2480 margin-left: 2px; 2481 margin-right: 0px; 2482 flex: 0 0 auto; 2483 } 2484 2485 #icon { 2486 display: flex; 2487 flex: 0 0 auto; 2488 flex: 0 0 auto; 2489 } 2490 dialog { 2491 position: absolute; 2492 padding: 0; 2493 border: 0; 2494 margin: 0; 2495 } 2496 dialog::backdrop { 2497 background: rgba(0,0,0,.05); 2498 } 2499 2500 #dialog-frame { 2501 background-color: #fff; 2502 display: flex; 2503 flex-direction: column; 2504 flex: 1 1 auto; 2505 padding: 6px; 2506 border: 1px solid black; 2507 -webkit-user-select: none; 2508 cursor: default; 2509 } 2510 </style> 2511 <tr-ui-b-toolbar-button id="outer" on-click="onOuterClick_" on-keydown="onOuterKeyDown_"> 2512 <div id="icon">⚙</div> 2513 <div id="state">▾</div> 2514 </tr-ui-b-toolbar-button> 2515 <dialog id="dialog" on-cancel="onDialogCancel_" on-click="onDialogClick_"> 2516 <div id="dialog-frame"> 2517 <content></content> 2518 </div> 2519 </dialog> 2520 </template> 2521</dom-module><dom-module id="tr-ui-b-info-bar-group"> 2522 <template> 2523 <style> 2524 :host { 2525 flex: 0 0 auto; 2526 flex-direction: column; 2527 display: flex; 2528 } 2529 </style> 2530 <div id="messages"></div> 2531 </template> 2532</dom-module><dom-module id="tr-ui-b-toolbar-button"> 2533 <template> 2534 <style> 2535 :host { 2536 display: flex; 2537 background-color: #f8f8f8; 2538 border: 1px solid rgba(0, 0, 0, 0.5); 2539 color: rgba(0,0,0,0.8); 2540 justify-content: center; 2541 align-self: stretch; 2542 min-width: 23px; 2543 } 2544 2545 :host(:hover) { 2546 background-color: rgba(255, 255, 255, 1.0); 2547 border-color: rgba(0, 0, 0, 0.8); 2548 box-shadow: 0 0 .05em rgba(0, 0, 0, 0.4); 2549 color: rgba(0, 0, 0, 1); 2550 } 2551 2552 #aligner { 2553 display: flex; 2554 flex: 0 0 auto; 2555 align-self: center; 2556 } 2557 </style> 2558 <div id="aligner"> 2559 <content></content> 2560 </div> 2561 </template> 2562</dom-module><style> 2563.drawing-container{-webkit-box-flex:1;display:inline;overflow:auto;overflow-x:hidden;position:relative}.drawing-container-canvas{-webkit-box-flex:1;display:block;pointer-events:none;position:absolute;top:0} 2564</style><style> 2565.letter-dot-track { 2566 height: 18px; 2567} 2568</style><style> 2569.chart-track { 2570 height: 30px; 2571 position: relative; 2572} 2573</style><style> 2574.cpu-usage-track { 2575 height: 90px; 2576} 2577</style><style> 2578.power-series-track { 2579 height: 90px; 2580} 2581</style><style> 2582.spacing-track{height:4px} 2583</style><style> 2584.rect-track{height:18px} 2585</style><style> 2586.thread-track{-webkit-box-orient:vertical;display:-webkit-box;position:relative} 2587</style><style> 2588.process-track-header{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;font-size:75%}.process-track-name:before{content:'\25B8';padding:0 5px}.process-track-base.expanded .process-track-name:before{content:'\25BE'} 2589</style><style> 2590.model-track { 2591 -webkit-box-flex: 1; 2592} 2593</style><style> 2594.x-axis-track { 2595 height: 12px; 2596} 2597 2598.x-axis-track.tall-mode { 2599 height: 30px; 2600} 2601</style><dom-module id="tr-ui-timeline-track-view"> 2602 <template> 2603 <style> 2604 :host { 2605 -webkit-box-orient: vertical; 2606 display: -webkit-box; 2607 position: relative; 2608 } 2609 2610 :host ::content * { 2611 -webkit-user-select: none; 2612 cursor: default; 2613 } 2614 2615 #drag_box { 2616 background-color: rgba(0, 0, 255, 0.25); 2617 border: 1px solid rgb(0, 0, 96); 2618 font-size: 75%; 2619 position: fixed; 2620 } 2621 2622 #hint_text { 2623 position: absolute; 2624 bottom: 6px; 2625 right: 6px; 2626 font-size: 8pt; 2627 } 2628 </style> 2629 <content></content> 2630 2631 <div id="drag_box"></div> 2632 <div id="hint_text"></div> 2633 2634 <tv-ui-b-hotkey-controller id="hotkey_controller"> 2635 </tv-ui-b-hotkey-controller> 2636 </template> 2637</dom-module><dom-module id="tr-ui-find-control"> 2638 <template> 2639 <style> 2640 :host { 2641 -webkit-user-select: none; 2642 display: -webkit-flex; 2643 position: relative; 2644 } 2645 input { 2646 -webkit-user-select: auto; 2647 background-color: #f8f8f8; 2648 border: 1px solid rgba(0, 0, 0, 0.5); 2649 box-sizing: border-box; 2650 margin: 0; 2651 padding: 0; 2652 width: 170px; 2653 } 2654 input:focus { 2655 background-color: white; 2656 } 2657 tr-ui-b-toolbar-button { 2658 border-left: none; 2659 margin: 0; 2660 } 2661 #hitCount { 2662 left: 0; 2663 opacity: 0.25; 2664 pointer-events: none; 2665 position: absolute; 2666 text-align: right; 2667 top: 2px; 2668 width: 167px; 2669 z-index: 1; 2670 } 2671 #spinner { 2672 visibility: hidden; 2673 width: 8px; 2674 height: 8px; 2675 left: 154px; 2676 pointer-events: none; 2677 position: absolute; 2678 top: 4px; 2679 z-index: 1; 2680 2681 border: 2px solid transparent; 2682 border-bottom: 2px solid rgba(0, 0, 0, 0.5); 2683 border-right: 2px solid rgba(0, 0, 0, 0.5); 2684 border-radius: 50%; 2685 } 2686 @keyframes spin { 100% { transform: rotate(360deg); } } 2687 </style> 2688 2689 <input id="filter" on-blur="filterBlur" on-focus="filterFocus" on-input="filterTextChanged" on-keydown="filterKeyDown" on-mouseup="filterMouseUp" type="text"/> 2690 <div id="spinner"></div> 2691 <tr-ui-b-toolbar-button on-click="findPrevious"> 2692 ← 2693 </tr-ui-b-toolbar-button> 2694 <tr-ui-b-toolbar-button on-click="findNext"> 2695 → 2696 </tr-ui-b-toolbar-button> 2697 <div id="hitCount">0 of 0</div> 2698 </template> 2699</dom-module><dom-module id="tr-ui-scripting-control"> 2700 <template> 2701 <style> 2702 :host { 2703 flex: 1 1 auto; 2704 } 2705 .root { 2706 font-family: monospace; 2707 cursor: text; 2708 2709 padding: 2px; 2710 margin: 2px; 2711 border: 1px solid rgba(0, 0, 0, 0.5); 2712 background: white; 2713 2714 height: 100px; 2715 overflow-y: auto; 2716 2717 transition-property: opacity, height, padding, margin; 2718 transition-duration: .2s; 2719 transition-timing-function: ease-out; 2720 } 2721 .hidden { 2722 margin-top: 0px; 2723 margin-bottom: 0px; 2724 padding-top: 0px; 2725 padding-bottom: 0px; 2726 height: 0px; 2727 opacity: 0; 2728 } 2729 .focused { 2730 outline: auto 5px -webkit-focus-ring-color; 2731 } 2732 #history { 2733 -webkit-user-select: text; 2734 color: #777; 2735 } 2736 #promptContainer { 2737 display: flex; 2738 } 2739 #promptMark { 2740 width: 1em; 2741 color: #468; 2742 } 2743 #prompt { 2744 flex: 1; 2745 width: 100%; 2746 border: none !important; 2747 background-color: inherit !important; 2748 font: inherit !important; 2749 text-overflow: clip !important; 2750 text-decoration: none !important; 2751 } 2752 #prompt:focus { 2753 outline: none; 2754 } 2755 </style> 2756 2757 <div class="root hidden" id="root" on-focus="onConsoleFocus" tabindex="0"> 2758 <div id="history"></div> 2759 <div id="promptContainer"> 2760 <span id="promptMark">></span> 2761 <input id="prompt" on-blur="onConsoleBlur" on-keydown="promptKeyDown" on-keypress="promptKeyPress" type="text"/> 2762 </div> 2763 </div> 2764 </template> 2765</dom-module><dom-module id="tr-ui-side-panel-container"> 2766 <template> 2767 <style> 2768 :host { 2769 align-items: stretch; 2770 display: -webkit-flex; 2771 background-color: white; 2772 } 2773 2774 :host([expanded]) > #side_panel_drag_handle, 2775 :host([expanded]) > active-panel-container { 2776 -webkit-flex: 1 1 auto; 2777 border-left: 1px solid black; 2778 display: -webkit-flex; 2779 } 2780 2781 :host(:not([expanded])) > #side_panel_drag_handle, 2782 :host(:not([expanded])) > active-panel-container { 2783 display: none; 2784 } 2785 2786 active-panel-container { 2787 display: flex; 2788 } 2789 2790 tab-strip { 2791 -webkit-flex: 0 0 auto; 2792 -webkit-flex-direction: column; 2793 -webkit-user-select: none; 2794 background-color: rgb(236, 236, 236); 2795 border-left: 1px solid black; 2796 cursor: default; 2797 display: -webkit-flex; 2798 min-width: 18px; /* workaround for flexbox and writing-mode mixing bug */ 2799 padding: 10px 0 10px 0; 2800 font-size: 12px; 2801 } 2802 2803 tab-strip > tab-strip-label { 2804 -webkit-writing-mode: vertical-rl; 2805 display: inline; 2806 margin-right: 1px; 2807 min-height: 20px; 2808 padding: 15px 3px 15px 1px; 2809 } 2810 2811 tab-strip > 2812 tab-strip-label:not([enabled]) { 2813 color: rgb(128, 128, 128); 2814 } 2815 2816 tab-strip > tab-strip-label[selected] { 2817 background-color: white; 2818 border: 1px solid rgb(163, 163, 163); 2819 border-left: none; 2820 padding: 14px 2px 14px 1px; 2821 } 2822 2823 #active_panel_container { 2824 overflow: auto; 2825 } 2826 </style> 2827 2828 <tr-ui-b-drag-handle id="side_panel_drag_handle"></tr-ui-b-drag-handle> 2829 <active-panel-container id="active_panel_container"> 2830 </active-panel-container> 2831 <tab-strip id="tab_strip"></tab-strip> 2832 </template> 2833</dom-module><dom-module id="tr-ui-timeline-view-help-overlay"> 2834 <template> 2835 <style> 2836 :host { 2837 -webkit-flex: 1 1 auto; 2838 -webkit-flex-direction: row; 2839 display: -webkit-flex; 2840 width: 700px; 2841 } 2842 .column { 2843 width: 50%; 2844 } 2845 h2 { 2846 font-size: 1.2em; 2847 margin: 0; 2848 margin-top: 5px; 2849 text-align: center; 2850 } 2851 h3 { 2852 margin: 0; 2853 margin-left: 126px; 2854 margin-top: 10px; 2855 } 2856 .pair { 2857 -webkit-flex: 1 1 auto; 2858 -webkit-flex-direction: row; 2859 display: -webkit-flex; 2860 } 2861 .command { 2862 font-family: monospace; 2863 margin-right: 5px; 2864 text-align: right; 2865 width: 150px; 2866 } 2867 .action { 2868 font-size: 0.9em; 2869 text-align: left; 2870 width: 200px; 2871 } 2872 tr-ui-b-mouse-mode-icon { 2873 border: 1px solid #888; 2874 border-radius: 3px; 2875 box-shadow: inset 0 0 2px rgba(0,0,0,0.3); 2876 display: inline-block; 2877 margin-right: 1px; 2878 position: relative; 2879 top: 4px; 2880 } 2881 .mouse-mode-icon.pan-mode { 2882 background-position: -1px -11px; 2883 } 2884 .mouse-mode-icon.select-mode { 2885 background-position: -1px -41px; 2886 } 2887 .mouse-mode-icon.zoom-mode { 2888 background-position: -1px -71px; 2889 } 2890 .mouse-mode-icon.timing-mode { 2891 background-position: -1px -101px; 2892 } 2893 </style> 2894 <div class="column left"> 2895 <h2>Navigation</h2> 2896 <div class="pair"> 2897 <div class="command">w/s</div> 2898 <div class="action">Zoom in/out (+shift: faster)</div> 2899 </div> 2900 2901 <div class="pair"> 2902 <div class="command">a/d</div> 2903 <div class="action">Pan left/right (+shift: faster)</div> 2904 </div> 2905 2906 <div class="pair"> 2907 <div class="command">→/shift-TAB</div> 2908 <div class="action">Select previous event</div> 2909 </div> 2910 2911 <div class="pair"> 2912 <div class="command">←/TAB</div> 2913 <div class="action">Select next event</div> 2914 </div> 2915 2916 <h2>Mouse Controls</h2> 2917 <div class="pair"> 2918 <div class="command">click</div> 2919 <div class="action">Select event</div> 2920 </div> 2921 <div class="pair"> 2922 <div class="command">alt-mousewheel</div> 2923 <div class="action">Zoom in/out</div> 2924 </div> 2925 2926 <h3> 2927 <tr-ui-b-mouse-mode-icon mode-name="SELECTION"></tr-ui-b-mouse-mode-icon> 2928 Select mode 2929 </h3> 2930 <div class="pair"> 2931 <div class="command">drag</div> 2932 <div class="action">Box select</div> 2933 </div> 2934 2935 <div class="pair"> 2936 <div class="command"><span class="mod"></span>-click/drag</div> 2937 <div class="action">Add events to the current selection</div> 2938 </div> 2939 2940 <div class="pair"> 2941 <div class="command">double click</div> 2942 <div class="action">Select all events with same title</div> 2943 </div> 2944 2945 <h3> 2946 <tr-ui-b-mouse-mode-icon mode-name="PANSCAN"></tr-ui-b-mouse-mode-icon> 2947 Pan mode 2948 </h3> 2949 <div class="pair"> 2950 <div class="command">drag</div> 2951 <div class="action">Pan the view</div> 2952 </div> 2953 2954 <h3> 2955 <tr-ui-b-mouse-mode-icon mode-name="ZOOM"></tr-ui-b-mouse-mode-icon> 2956 Zoom mode 2957 </h3> 2958 <div class="pair"> 2959 <div class="command">drag</div> 2960 <div class="action">Zoom in/out by dragging up/down</div> 2961 </div> 2962 2963 <h3> 2964 <tr-ui-b-mouse-mode-icon mode-name="TIMING"></tr-ui-b-mouse-mode-icon> 2965 Timing mode 2966 </h3> 2967 <div class="pair"> 2968 <div class="command">drag</div> 2969 <div class="action">Create or move markers</div> 2970 </div> 2971 2972 <div class="pair"> 2973 <div class="command">double click</div> 2974 <div class="action">Set marker range to slice</div> 2975 </div> 2976 </div> 2977 2978 <div class="column right"> 2979 <h2>General</h2> 2980 <div class="pair"> 2981 <div class="command">1-4</div> 2982 <div class="action">Switch mouse mode</div> 2983 </div> 2984 2985 <div class="pair"> 2986 <div class="command">shift</div> 2987 <div class="action">Hold for temporary select</div> 2988 </div> 2989 2990 <div class="pair"> 2991 <div class="command">space</div> 2992 <div class="action">Hold for temporary pan</div> 2993 </div> 2994 2995 <div class="pair"> 2996 <div class="command">/</div> 2997 <div class="action">Search</div> 2998 </div> 2999 3000 <div class="pair"> 3001 <div class="command">enter</div> 3002 <div class="action">Step through search results</div> 3003 </div> 3004 3005 <div class="pair"> 3006 <div class="command">f</div> 3007 <div class="action">Zoom into selection</div> 3008 </div> 3009 3010 <div class="pair"> 3011 <div class="command">z/0</div> 3012 <div class="action">Reset zoom and pan</div> 3013 </div> 3014 3015 <div class="pair"> 3016 <div class="command">g/G</div> 3017 <div class="action">Toggle 60hz grid</div> 3018 </div> 3019 3020 <div class="pair"> 3021 <div class="command">v</div> 3022 <div class="action">Highlight VSync</div> 3023 </div> 3024 3025 <div class="pair"> 3026 <div class="command">h</div> 3027 <div class="action">Toggle low/high details</div> 3028 </div> 3029 3030 <div class="pair"> 3031 <div class="command">m</div> 3032 <div class="action">Mark current selection</div> 3033 </div> 3034 3035 <div class="pair"> 3036 <div class="command">p</div> 3037 <div class="action">Select power samples over current selection interval</div> 3038 </div> 3039 3040 <div class="pair"> 3041 <div class="command">`</div> 3042 <div class="action">Show or hide the scripting console</div> 3043 </div> 3044 3045 <div class="pair"> 3046 <div class="command">?</div> 3047 <div class="action">Show help</div> 3048 </div> 3049 </div> 3050 </template> 3051</dom-module><dom-module id="tr-ui-timeline-view-metadata-overlay"> 3052 <template> 3053 <style> 3054 :host { 3055 width: 700px; 3056 3057 overflow: auto; 3058 } 3059 </style> 3060 <tr-ui-b-table id="table"></tr-ui-b-table> 3061 </template> 3062</dom-module><dom-module id="tr-ui-timeline-view"> 3063 <template> 3064 <style> 3065 :host { 3066 flex-direction: column; 3067 cursor: default; 3068 display: flex; 3069 font-family: sans-serif; 3070 padding: 0; 3071 } 3072 3073 #control { 3074 background-color: #e6e6e6; 3075 background-image: -webkit-gradient(linear, 0 0, 0 100%, 3076 from(#E5E5E5), to(#D1D1D1)); 3077 flex: 0 0 auto; 3078 overflow-x: auto; 3079 } 3080 3081 #control::-webkit-scrollbar { height: 0px; } 3082 3083 #control > #bar { 3084 font-size: 12px; 3085 display: flex; 3086 flex-direction: row; 3087 margin: 1px; 3088 } 3089 3090 #control > #bar > #title { 3091 display: flex; 3092 align-items: center; 3093 padding-left: 8px; 3094 padding-right: 8px; 3095 flex: 1 1 auto; 3096 } 3097 3098 #control > #bar > #left_controls, 3099 #control > #bar > #right_controls { 3100 display: flex; 3101 flex-direction: row; 3102 align-items: stretch; 3103 } 3104 3105 #control > #bar > #left_controls > * { margin-right: 2px; } 3106 #control > #bar > #right_controls > * { margin-left: 2px; } 3107 #control > #collapsing_controls { display: flex; } 3108 3109 middle-container { 3110 flex: 1 1 auto; 3111 flex-direction: row; 3112 border-bottom: 1px solid #8e8e8e; 3113 display: flex; 3114 min-height: 0; 3115 } 3116 3117 middle-container ::content track-view-container { 3118 flex: 1 1 auto; 3119 display: flex; 3120 min-height: 0; 3121 min-width: 0; 3122 overflow-x: hidden; 3123 } 3124 3125 middle-container ::content track-view-container > * { flex: 1 1 auto; } 3126 middle-container > x-timeline-view-side-panel-container { flex: 0 0 auto; } 3127 tr-ui-b-drag-handle { flex: 0 0 auto; } 3128 tr-ui-a-analysis-view { flex: 0 0 auto; } 3129 </style> 3130 3131 <tv-ui-b-hotkey-controller id="hkc"></tv-ui-b-hotkey-controller> 3132 <div id="control"> 3133 <div id="bar"> 3134 <div id="left_controls"></div> 3135 <div id="title">^_^</div> 3136 <div id="right_controls"> 3137 <tr-ui-b-toolbar-button id="view_metadata_button"> 3138 M 3139 </tr-ui-b-toolbar-button> 3140 <tr-ui-b-dropdown id="view_options_dropdown"></tr-ui-b-dropdown> 3141 <tr-ui-find-control id="view_find_control"></tr-ui-find-control> 3142 <tr-ui-b-toolbar-button id="view_console_button"> 3143 » 3144 </tr-ui-b-toolbar-button> 3145 <tr-ui-b-toolbar-button id="view_help_button"> 3146 ? 3147 </tr-ui-b-toolbar-button> 3148 </div> 3149 </div> 3150 <div id="collapsing_controls"></div> 3151 <tr-ui-b-info-bar-group id="import-warnings"> 3152 </tr-ui-b-info-bar-group> 3153 </div> 3154 <middle-container> 3155 <content></content> 3156 3157 <tr-ui-side-panel-container id="side_panel_container"> 3158 </tr-ui-side-panel-container> 3159 </middle-container> 3160 <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle> 3161 <tr-ui-a-analysis-view id="analysis"></tr-ui-a-analysis-view> 3162 3163 <tr-v-ui-preferred-display-unit id="display_unit"> 3164 </tr-v-ui-preferred-display-unit> 3165 </template> 3166</dom-module><dom-module id="tr-ui-b-grouping-table"> 3167 <template> 3168 <style> 3169 :host { 3170 display: flex; 3171 } 3172 #table { 3173 flex: 1 1 auto; 3174 font-size: 12px; 3175 } 3176 </style> 3177 <tr-ui-b-table id="table"></tr-ui-b-table> 3178 </template> 3179</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker"> 3180 <template> 3181 <style> 3182 #container { 3183 display: flex; 3184 } 3185 #container *:not(:first-child) { 3186 padding-left: 3px; 3187 border-left: 1px solid black; 3188 margin-left: 3px; 3189 } 3190 </style> 3191 3192 <div id="container"></div> 3193 </template> 3194</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker-group"> 3195 <template> 3196 <style> 3197 :host { 3198 white-space: nowrap; 3199 } 3200 #left, #right { 3201 user-select: none; 3202 cursor: pointer; 3203 } 3204 </style> 3205 3206 <span id="left" on-click="moveLeft_">◀</span> 3207 <input id="enabled" on-change="onEnableChanged_" type="checkbox"/> 3208 <label for="enabled" id="label"></label> 3209 <span id="right" on-click="moveRight_">▶</span> 3210 </template> 3211</dom-module><dom-module id="tr-ui-sp-file-size-stats-side-panel"> 3212 <template> 3213 <style> 3214 :host { 3215 display: flex; 3216 flex-direction: column; 3217 } 3218 toolbar { 3219 align-items: center; 3220 background-color: rgb(236, 236, 236); 3221 border-bottom: 1px solid #8e8e8e; 3222 display: flex; 3223 flex-direction: row; 3224 flex-direction: row; 3225 flex: 0 0 auto; 3226 font-size: 12px; 3227 padding: 0 10px 0 10px; 3228 } 3229 table-container { 3230 display: flex; 3231 min-height: 0px; 3232 overflow-y: auto; 3233 } 3234 </style> 3235 3236 <toolbar> 3237 <span><b>Group by:</b></span> 3238 <tr-ui-b-grouping-table-groupby-picker id="picker"> 3239 </tr-ui-b-grouping-table-groupby-picker> 3240 </toolbar> 3241 <table-container> 3242 <tr-ui-b-grouping-table id="table"></tr-ui-b-grouping-table> 3243 </table-container> 3244 </template> 3245</dom-module><dom-module id="tr-v-ui-histogram-set-controls"> 3246 <template> 3247 <style> 3248 :host { 3249 display: block; 3250 } 3251 3252 #help, #feedback { 3253 display: none; 3254 margin-left: 20px; 3255 } 3256 3257 #search { 3258 max-width: 20em; 3259 margin-right: 20px; 3260 } 3261 3262 #controls { 3263 white-space: nowrap; 3264 } 3265 3266 #show_overview, #hide_overview { 3267 height: 1em; 3268 margin-right: 20px; 3269 } 3270 3271 #show_overview { 3272 stroke: blue; 3273 stroke-width: 16; 3274 } 3275 3276 #show_overview:hover { 3277 background: blue; 3278 stroke: white; 3279 } 3280 3281 #hide_overview { 3282 display: none; 3283 stroke-width: 18; 3284 stroke: black; 3285 } 3286 3287 #hide_overview:hover { 3288 background: black; 3289 stroke: white; 3290 } 3291 3292 #reference_display_label { 3293 display: none; 3294 margin-right: 20px; 3295 } 3296 3297 #statistic { 3298 display: none; 3299 margin-right: 20px; 3300 } 3301 3302 #download_csv { 3303 margin-right: 20px; 3304 } 3305 </style> 3306 3307 <div id="controls"> 3308 <input id="search" placeholder="Find Histogram name" value="{{searchQuery::keyup}}"/> 3309 3310 <svg id="show_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128"> 3311 <line x1="19" x2="49" y1="109" y2="49"></line> 3312 <line x1="49" x2="79" y1="49" y2="79"></line> 3313 <line x1="79" x2="109" y1="79" y2="19"></line> 3314 </svg> 3315 <svg id="hide_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128"> 3316 <line x1="28" x2="100" y1="28" y2="100"></line> 3317 <line x1="28" x2="100" y1="100" y2="28"></line> 3318 </svg> 3319 3320 <select id="reference_display_label" value="{{referenceDisplayLabel::change}}"> 3321 <option value="">Select a reference column</option> 3322 </select> 3323 3324 <select id="statistic" value="{{displayStatisticName::change}}"> 3325 </select> 3326 3327 <button id="download_csv" on-click="downloadCSV_">⬇ CSV</button> 3328 3329 <input checked="{{showAll::change}}" id="show_all" title="When unchecked, less important histograms are hidden." type="checkbox"/> 3330 <label for="show_all" title="When unchecked, less important histograms are hidden.">Show all</label> 3331 3332 <a id="help">Help</a> 3333 <a id="feedback">Feedback</a> 3334 </div> 3335 3336 <tr-ui-b-grouping-table-groupby-picker id="picker"> 3337 </tr-ui-b-grouping-table-groupby-picker> 3338 </template> 3339</dom-module><dom-module id="tr-v-ui-histogram-set-table-cell"> 3340 <template> 3341 <style> 3342 #histogram_container { 3343 display: flex; 3344 flex-direction: row; 3345 } 3346 3347 #missing, #empty, #unmergeable, #scalar { 3348 flex-grow: 1; 3349 } 3350 3351 #open_histogram, #close_histogram, #open_histogram svg, #close_histogram svg { 3352 height: 1em; 3353 } 3354 3355 #open_histogram svg { 3356 margin-left: 4px; 3357 stroke-width: 0; 3358 stroke: blue; 3359 fill: blue; 3360 } 3361 :host(:hover) #open_histogram svg { 3362 background: blue; 3363 stroke: white; 3364 fill: white; 3365 } 3366 3367 #scalar { 3368 flex-grow: 1; 3369 white-space: nowrap; 3370 } 3371 3372 #histogram { 3373 flex-grow: 1; 3374 } 3375 3376 #close_histogram svg line { 3377 stroke-width: 18; 3378 stroke: black; 3379 } 3380 #close_histogram:hover svg { 3381 background: black; 3382 } 3383 #close_histogram:hover svg line { 3384 stroke: white; 3385 } 3386 3387 #overview_container { 3388 display: none; 3389 } 3390 </style> 3391 3392 <div id="histogram_container"> 3393 <span id="missing">(missing)</span> 3394 <span id="empty">(empty)</span> 3395 <span id="unmergeable">(unmergeable)</span> 3396 3397 <tr-v-ui-scalar-span id="scalar" on-click="openHistogram_"></tr-v-ui-scalar-span> 3398 3399 <span id="open_histogram" on-click="openHistogram_"> 3400 <svg viewBox="0 0 128 128"> 3401 <rect height="16" width="32" x="16" y="24"></rect> 3402 <rect height="16" width="96" x="16" y="56"></rect> 3403 <rect height="16" width="64" x="16" y="88"></rect> 3404 </svg> 3405 </span> 3406 3407 <span id="histogram"></span> 3408 3409 <span id="close_histogram" on-click="closeHistogram_"> 3410 <svg viewBox="0 0 128 128"> 3411 <line x1="28" x2="100" y1="28" y2="100"></line> 3412 <line x1="28" x2="100" y1="100" y2="28"></line> 3413 </svg> 3414 </span> 3415 </div> 3416 3417 <div id="overview_container"> 3418 </div> 3419 </template> 3420</dom-module><dom-module id="tr-v-ui-histogram-set-table-name-cell"> 3421 <template> 3422 <style> 3423 #name_container { 3424 display: flex; 3425 } 3426 3427 #name { 3428 overflow: hidden; 3429 white-space: nowrap; 3430 text-overflow: ellipsis; 3431 } 3432 3433 #show_overview, #hide_overview, #show_overview svg, #hide_overview svg { 3434 height: 1em; 3435 margin-left: 5px; 3436 } 3437 3438 #show_overview svg { 3439 stroke: blue; 3440 stroke-width: 16; 3441 } 3442 3443 #show_overview:hover svg { 3444 background: blue; 3445 stroke: white; 3446 } 3447 3448 #hide_overview { 3449 display: none; 3450 } 3451 3452 #hide_overview svg { 3453 stroke-width: 18; 3454 stroke: black; 3455 } 3456 3457 #hide_overview:hover svg { 3458 background: black; 3459 stroke: white; 3460 } 3461 3462 #open_histograms, #close_histograms, #open_histograms svg, #close_histograms svg { 3463 height: 1em; 3464 } 3465 3466 #close_histograms { 3467 display: none; 3468 } 3469 3470 #open_histograms svg { 3471 margin-left: 4px; 3472 stroke-width: 0; 3473 stroke: blue; 3474 fill: blue; 3475 } 3476 #open_histograms:hover svg { 3477 background: blue; 3478 stroke: white; 3479 fill: white; 3480 } 3481 3482 #close_histograms line { 3483 stroke-width: 18; 3484 stroke: black; 3485 } 3486 #close_histograms:hover { 3487 background: black; 3488 } 3489 #close_histograms:hover line { 3490 stroke: white; 3491 } 3492 3493 #overview_container { 3494 display: none; 3495 } 3496 </style> 3497 3498 <div id="name_container"> 3499 <span id="name"></span> 3500 3501 <span id="show_overview" on-click="showOverview_"> 3502 <svg viewBox="0 0 128 128"> 3503 <line x1="19" x2="49" y1="109" y2="49"></line> 3504 <line x1="49" x2="79" y1="49" y2="79"></line> 3505 <line x1="79" x2="109" y1="79" y2="19"></line> 3506 </svg> 3507 </span> 3508 3509 <span id="hide_overview" on-click="hideOverview_"> 3510 <svg viewBox="0 0 128 128"> 3511 <line x1="28" x2="100" y1="28" y2="100"></line> 3512 <line x1="28" x2="100" y1="100" y2="28"></line> 3513 </svg> 3514 </span> 3515 3516 <span id="open_histograms" on-click="openHistograms_"> 3517 <svg viewBox="0 0 128 128"> 3518 <rect height="16" width="32" x="16" y="24"></rect> 3519 <rect height="16" width="96" x="16" y="56"></rect> 3520 <rect height="16" width="64" x="16" y="88"></rect> 3521 </svg> 3522 </span> 3523 3524 <span id="close_histograms" on-click="closeHistograms_"> 3525 <svg viewBox="0 0 128 128"> 3526 <line x1="28" x2="100" y1="28" y2="100"></line> 3527 <line x1="28" x2="100" y1="100" y2="28"></line> 3528 </svg> 3529 </span> 3530 </div> 3531 3532 <div id="overview_container"> 3533 </div> 3534 </template> 3535</dom-module><dom-module id="tr-v-ui-histogram-set-table"> 3536 <template> 3537 <style> 3538 :host { 3539 min-height: 0px; 3540 overflow: auto; 3541 } 3542 #table { 3543 margin-top: 5px; 3544 } 3545 </style> 3546 3547 <tr-ui-b-table id="table"> 3548 </tr-ui-b-table></template> 3549</dom-module><dom-module id="tr-v-ui-histogram-set-view"> 3550 <template> 3551 <style> 3552 :host { 3553 font-family: sans-serif; 3554 } 3555 3556 #zero { 3557 color: red; 3558 /* histogram-set-table is used by both metrics-side-panel and results2.html. 3559 * This font-size rule has no effect in results2.html, but improves 3560 * legibility in the metrics-side-panel, which sets font-size in order to 3561 * make this table denser. 3562 */ 3563 font-size: initial; 3564 } 3565 3566 #container { 3567 display: none; 3568 } 3569 </style> 3570 3571 <div id="zero">zero Histograms</div> 3572 3573 <div id="container"> 3574 <tr-v-ui-histogram-set-controls id="controls"> 3575 </tr-v-ui-histogram-set-controls> 3576 3577 <tr-v-ui-histogram-set-table id="table"></tr-v-ui-histogram-set-table> 3578 </div> 3579 </template> 3580</dom-module><dom-module id="tr-ui-sp-metrics-side-panel"> 3581 <template> 3582 <style> 3583 :host { 3584 display: flex; 3585 flex-direction: column; 3586 } 3587 div#error { 3588 color: red; 3589 } 3590 #results { 3591 font-size: 12px; 3592 } 3593 </style> 3594 3595 <top-left-controls id="top_left_controls"></top-left-controls> 3596 3597 <tr-v-ui-histogram-set-view id="results"></tr-v-ui-histogram-set-view> 3598 3599 <div id="error"></div> 3600 </template> 3601</dom-module><dom-module id="tr-ui-e-s-alerts-side-panel"> 3602 <template> 3603 <style> 3604 :host { 3605 display: block; 3606 width: 250px; 3607 } 3608 #content { 3609 flex-direction: column; 3610 display: flex; 3611 } 3612 tr-ui-b-table { 3613 font-size: 12px; 3614 } 3615 </style> 3616 3617 <div id="content"> 3618 <toolbar id="toolbar"></toolbar> 3619 <result-area id="result_area"></result-area> 3620 </div> 3621 </template> 3622</dom-module><script> 3623 3624// Copyright 2015 The Chromium Authors. All rights reserved. 3625// Use of this source code is governed by a BSD-style license that can be 3626// found in the LICENSE file. 3627 3628/* WARNING: This file is auto generated. 3629 * 3630 * Do not edit directly. 3631 */ 3632 3633'use strict';if(window.Polymer){throw new Error('Cannot proceed. Polymer already present.');} 3634window.Polymer={};window.Polymer.dom='shadow';(function(){function resolve(){document.body.removeAttribute('unresolved');} 3635if(window.WebComponents){addEventListener('WebComponentsReady',resolve);}else{if(document.readyState==='interactive'||document.readyState==='complete'){resolve();}else{addEventListener('DOMContentLoaded',resolve);}}}());window.Polymer={Settings:function(){var settings=window.Polymer||{};if(!settings.noUrlSettings){var parts=location.search.slice(1).split('&');for(var i=0,o;i<parts.length&&(o=parts[i]);i++){o=o.split('=');o[0]&&(settings[o[0]]=o[1]||true);}} 3636settings.wantShadow=settings.dom==='shadow';settings.hasShadow=Boolean(Element.prototype.createShadowRoot);settings.nativeShadow=settings.hasShadow&&!window.ShadowDOMPolyfill;settings.useShadow=settings.wantShadow&&settings.hasShadow;settings.hasNativeImports=Boolean('import'in document.createElement('link'));settings.useNativeImports=settings.hasNativeImports;settings.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative;settings.useNativeShadow=settings.useShadow&&settings.nativeShadow;settings.usePolyfillProto=!settings.useNativeCustomElements&&!Object.__proto__;settings.hasNativeCSSProperties=!navigator.userAgent.match('AppleWebKit/601')&&window.CSS&&CSS.supports&&CSS.supports('box-shadow','0 0 0 var(--foo)');settings.useNativeCSSProperties=settings.hasNativeCSSProperties&&settings.lazyRegister&&settings.useNativeCSSProperties;settings.isIE=navigator.userAgent.match('Trident');return settings;}()};(function(){var userPolymer=window.Polymer;window.Polymer=function(prototype){if(typeof prototype==='function'){prototype=prototype.prototype;} 3637if(!prototype){prototype={};} 3638prototype=desugar(prototype);var customCtor=prototype===prototype.constructor.prototype?prototype.constructor:null;var options={prototype:prototype};if(prototype.extends){options.extends=prototype.extends;} 3639Polymer.telemetry._registrate(prototype);var ctor=document.registerElement(prototype.is,options);return customCtor||ctor;};var desugar=function(prototype){var base=Polymer.Base;if(prototype.extends){base=Polymer.Base._getExtendedPrototype(prototype.extends);} 3640prototype=Polymer.Base.chainObject(prototype,base);prototype.registerCallback();return prototype;};if(userPolymer){for(var i in userPolymer){Polymer[i]=userPolymer[i];}} 3641Polymer.Class=function(prototype){if(!prototype.factoryImpl){prototype.factoryImpl=function(){};} 3642return desugar(prototype).constructor;};}());Polymer.telemetry={registrations:[],_regLog:function(prototype){console.log('['+prototype.is+']: registered');},_registrate:function(prototype){this.registrations.push(prototype);Polymer.log&&this._regLog(prototype);},dumpRegistrations:function(){this.registrations.forEach(this._regLog);}};Object.defineProperty(window,'currentImport',{enumerable:true,configurable:true,get:function(){return(document._currentScript||document.currentScript||{}).ownerDocument;}});Polymer.RenderStatus={_ready:false,_callbacks:[],whenReady:function(cb){if(this._ready){cb();}else{this._callbacks.push(cb);}},_makeReady:function(){this._ready=true;for(var i=0;i<this._callbacks.length;i++){this._callbacks[i]();} 3643this._callbacks=[];},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.RenderStatus._makeReady();});},_afterNextRenderQueue:[],_waitingNextRender:false,afterNextRender:function(element,fn,args){this._watchNextRender();this._afterNextRenderQueue.push([element,fn,args]);},hasRendered:function(){return this._ready;},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=true;var fn=function(){Polymer.RenderStatus._flushNextRender();};if(!this._ready){this.whenReady(fn);}else{requestAnimationFrame(fn);}}},_flushNextRender:function(){var self=this;setTimeout(function(){self._flushRenderCallbacks(self._afterNextRenderQueue);self._afterNextRenderQueue=[];self._waitingNextRender=false;});},_flushRenderCallbacks:function(callbacks){for(var i=0,h;i<callbacks.length;i++){h=callbacks[i];h[1].apply(h[0],h[2]||Polymer.nar);}}};if(window.HTMLImports){HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender();});}else{Polymer.RenderStatus._catchFirstRender();} 3644Polymer.ImportStatus=Polymer.RenderStatus;Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady;(function(){'use strict';var settings=Polymer.Settings;Polymer.Base={__isPolymerInstance__:true,_addFeature:function(feature){this.mixin(this,feature);},registerCallback:function(){if(settings.lazyRegister==='max'){if(this.beforeRegister){this.beforeRegister();}}else{this._desugarBehaviors();for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(this);}} 3645if(this.beforeRegister){this.beforeRegister();}} 3646this._registerFeatures();if(!settings.lazyRegister){this.ensureRegisterFinished();}},createdCallback:function(){if(settings.disableUpgradeEnabled){if(this.hasAttribute('disable-upgrade')){this._propertySetter=disableUpgradePropertySetter;this._configValue=null;this.__data__={};return;}else{this.__hasInitialized=true;}} 3647this.__initialize();},__initialize:function(){if(!this.__hasRegisterFinished){this._ensureRegisterFinished(this.__proto__);} 3648Polymer.telemetry.instanceCount++;this.root=this;for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.created){b.created.call(this);}} 3649if(this.created){this.created();} 3650this._initFeatures();},ensureRegisterFinished:function(){this._ensureRegisterFinished(this);},_ensureRegisterFinished:function(proto){if(proto.__hasRegisterFinished!==proto.is||!proto.is){if(settings.lazyRegister==='max'){proto._desugarBehaviors();for(var i=0,b;i<proto.behaviors.length;i++){b=proto.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(proto);}}} 3651proto.__hasRegisterFinished=proto.is;if(proto._finishRegisterFeatures){proto._finishRegisterFeatures();} 3652for(var j=0,pb;j<proto.behaviors.length;j++){pb=proto.behaviors[j];if(pb.registered){pb.registered.call(proto);}} 3653if(proto.registered){proto.registered();} 3654if(settings.usePolyfillProto&&proto!==this){proto.extend(this,proto);}}},attachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=true;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.attached){b.attached.call(self);}} 3655if(self.attached){self.attached();}});},detachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=false;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.detached){b.detached.call(self);}} 3656if(self.detached){self.detached();}});},attributeChangedCallback:function(name,oldValue,newValue){this._attributeChangedImpl(name);for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.attributeChanged){b.attributeChanged.call(this,name,oldValue,newValue);}} 3657if(this.attributeChanged){this.attributeChanged(name,oldValue,newValue);}},_attributeChangedImpl:function(name){this._setAttributeToProperty(this,name);},extend:function(target,source){if(target&&source){var n$=Object.getOwnPropertyNames(source);for(var i=0,n;i<n$.length&&(n=n$[i]);i++){this.copyOwnProperty(n,source,target);}} 3658return target||source;},mixin:function(target,source){for(var i in source){target[i]=source[i];} 3659return target;},copyOwnProperty:function(name,source,target){var pd=Object.getOwnPropertyDescriptor(source,name);if(pd){Object.defineProperty(target,name,pd);}},_logger:function(level,args){if(args.length===1&&Array.isArray(args[0])){args=args[0];} 3660switch(level){case'log':case'warn':case'error':console[level].apply(console,args);break;}},_log:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('log',args);},_warn:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('warn',args);},_error:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('error',args);},_logf:function(){return this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0));}};Polymer.Base._logPrefix=function(){var color=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent);return color?['%c[%s::%s]:','font-weight: bold; background-color:#EEEE00;']:['[%s::%s]:'];}();Polymer.Base.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){if(!Object.__proto__){object=Polymer.Base.extend(Object.create(inherited),object);} 3661object.__proto__=inherited;} 3662return object;};Polymer.Base=Polymer.Base.chainObject(Polymer.Base,HTMLElement.prototype);Polymer.BaseDescriptors={};var disableUpgradePropertySetter;if(settings.disableUpgradeEnabled){disableUpgradePropertySetter=function(property,value){this.__data__[property]=value;};var origAttributeChangedCallback=Polymer.Base.attributeChangedCallback;Polymer.Base.attributeChangedCallback=function(name,oldValue,newValue){if(!this.__hasInitialized&&name==='disable-upgrade'){this.__hasInitialized=true;this._propertySetter=Polymer.Bind._modelApi._propertySetter;this._configValue=Polymer.Base._configValue;this.__initialize();} 3663origAttributeChangedCallback.call(this,name,oldValue,newValue);};} 3664if(window.CustomElements){Polymer.instanceof=CustomElements.instanceof;}else{Polymer.instanceof=function(obj,ctor){return obj instanceof ctor;};} 3665Polymer.isInstance=function(obj){return Boolean(obj&&obj.__isPolymerInstance__);};Polymer.telemetry.instanceCount=0;}());(function(){var modules={};var lcModules={};var findModule=function(id){return modules[id]||lcModules[id.toLowerCase()];};var DomModule=function(){return document.createElement('dom-module');};DomModule.prototype=Object.create(HTMLElement.prototype);Polymer.Base.mixin(DomModule.prototype,{createdCallback:function(){this.register();},register:function(id){id=id||this.id||this.getAttribute('name')||this.getAttribute('is');if(id){this.id=id;modules[id]=this;lcModules[id.toLowerCase()]=this;}},import:function(id,selector){if(id){var m=findModule(id);if(!m){forceDomModulesUpgrade();m=findModule(id);} 3666if(m&&selector){m=m.querySelector(selector);} 3667return m;}}});Object.defineProperty(DomModule.prototype,'constructor',{value:DomModule,configurable:true,writable:true});var cePolyfill=window.CustomElements&&!CustomElements.useNative;document.registerElement('dom-module',DomModule);function forceDomModulesUpgrade(){if(cePolyfill){var script=document._currentScript||document.currentScript;var doc=script&&script.ownerDocument||document;var modules=doc.querySelectorAll('dom-module');for(var i=modules.length-1,m;i>=0&&(m=modules[i]);i--){if(m.__upgraded__){return;}else{CustomElements.upgrade(m);}}}}}());Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var module=(document._currentScript||document.currentScript).parentNode;if(module.localName==='dom-module'){var id=module.id||module.getAttribute('name')||module.getAttribute('is');this.is=id;}} 3668if(this.is){this.is=this.is.toLowerCase();}}});Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){if(this.behaviors.length){this.behaviors=this._desugarSomeBehaviors(this.behaviors);}},_desugarSomeBehaviors:function(behaviors){var behaviorSet=[];behaviors=this._flattenBehaviorsList(behaviors);for(var i=behaviors.length-1;i>=0;i--){var b=behaviors[i];if(behaviorSet.indexOf(b)===-1){this._mixinBehavior(b);behaviorSet.unshift(b);}} 3669return behaviorSet;},_flattenBehaviorsList:function(behaviors){var flat=[];for(var i=0;i<behaviors.length;i++){var b=behaviors[i];if(b instanceof Array){flat=flat.concat(this._flattenBehaviorsList(b));}else if(b){flat.push(b);}else{this._warn(this._logf('_flattenBehaviorsList','behavior is null, check for missing or 404 import'));}} 3670return flat;},_mixinBehavior:function(b){var n$=Object.getOwnPropertyNames(b);var useAssignment=b._noAccessors;for(var i=0,n;i<n$.length&&(n=n$[i]);i++){if(!Polymer.Base._behaviorProperties[n]&&!this.hasOwnProperty(n)){if(useAssignment){this[n]=b[n];}else{this.copyOwnProperty(n,b,this);}}}},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors);},_prepFlattenedBehaviors:function(behaviors){for(var i=0,l=behaviors.length;i<l;i++){this._prepBehavior(behaviors[i]);} 3671this._prepBehavior(this);},_marshalBehaviors:function(){for(var i=0;i<this.behaviors.length;i++){this._marshalBehavior(this.behaviors[i]);} 3672this._marshalBehavior(this);}});Polymer.Base._behaviorProperties={hostAttributes:true,beforeRegister:true,registered:true,properties:true,observers:true,listeners:true,created:true,attached:true,detached:true,attributeChanged:true,ready:true,_noAccessors:true};Polymer.Base._addFeature({_getExtendedPrototype:function(tag){return this._getExtendedNativePrototype(tag);},_nativePrototypes:{},_getExtendedNativePrototype:function(tag){var p=this._nativePrototypes[tag];if(!p){p=Object.create(this.getNativePrototype(tag));var p$=Object.getOwnPropertyNames(Polymer.Base);for(var i=0,n;i<p$.length&&(n=p$[i]);i++){if(!Polymer.BaseDescriptors[n]){p[n]=Polymer.Base[n];}} 3673Object.defineProperties(p,Polymer.BaseDescriptors);this._nativePrototypes[tag]=p;} 3674return p;},getNativePrototype:function(tag){return Object.getPrototypeOf(document.createElement(tag));}});Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var ctor=function(){return this._factory(arguments);};if(this.hasOwnProperty('extends')){ctor.extends=this.extends;} 3675Object.defineProperty(this,'constructor',{value:ctor,writable:true,configurable:true});ctor.prototype=this;},_factory:function(args){var elt=document.createElement.apply(document,this._factoryArgs);if(this.factoryImpl){this.factoryImpl.apply(elt,args);} 3676return elt;}});Polymer.nob=Object.create(null);Polymer.Base._addFeature({getPropertyInfo:function(property){var info=this._getPropertyInfo(property,this.properties);if(!info){for(var i=0;i<this.behaviors.length;i++){info=this._getPropertyInfo(property,this.behaviors[i].properties);if(info){return info;}}} 3677return info||Polymer.nob;},_getPropertyInfo:function(property,properties){var p=properties&&properties[property];if(typeof p==='function'){p=properties[property]={type:p};} 3678if(p){p.defined=true;} 3679return p;},_prepPropertyInfo:function(){this._propertyInfo={};for(var i=0;i<this.behaviors.length;i++){this._addPropertyInfo(this._propertyInfo,this.behaviors[i].properties);} 3680this._addPropertyInfo(this._propertyInfo,this.properties);this._addPropertyInfo(this._propertyInfo,this._propertyEffects);},_addPropertyInfo:function(target,source){if(source){var t,s;for(var i in source){t=target[i];s=source[i];if(i[0]==='_'&&!s.readOnly){continue;} 3681if(!target[i]){target[i]={type:typeof s==='function'?s:s.type,readOnly:s.readOnly,attribute:Polymer.CaseMap.camelToDashCase(i)};}else{if(!t.type){t.type=s.type;} 3682if(!t.readOnly){t.readOnly=s.readOnly;}}}}}});(function(){var propertiesDesc={configurable:true,writable:true,enumerable:true,value:{}};Polymer.BaseDescriptors.properties=propertiesDesc;Object.defineProperty(Polymer.Base,'properties',propertiesDesc);}());Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(dash){return this._caseMap[dash]||(this._caseMap[dash]=dash.indexOf('-')<0?dash:dash.replace(this._rx.dashToCamel,function(m){return m[1].toUpperCase();}));},camelToDashCase:function(camel){return this._caseMap[camel]||(this._caseMap[camel]=camel.replace(this._rx.camelToDash,'-$1').toLowerCase());}};Polymer.Base._addFeature({_addHostAttributes:function(attributes){if(!this._aggregatedAttributes){this._aggregatedAttributes={};} 3683if(attributes){this.mixin(this._aggregatedAttributes,attributes);}},_marshalHostAttributes:function(){if(this._aggregatedAttributes){this._applyAttributes(this,this._aggregatedAttributes);}},_applyAttributes:function(node,attr$){for(var n in attr$){if(!this.hasAttribute(n)&&n!=='class'){var v=attr$[n];this.serializeValueToAttribute(v,n,this);}}},_marshalAttributes:function(){this._takeAttributesToModel(this);},_takeAttributesToModel:function(model){if(this.hasAttributes()){for(var i in this._propertyInfo){var info=this._propertyInfo[i];if(this.hasAttribute(info.attribute)){this._setAttributeToProperty(model,info.attribute,i,info);}}}},_setAttributeToProperty:function(model,attribute,property,info){if(!this._serializing){property=property||Polymer.CaseMap.dashToCamelCase(attribute);info=info||this._propertyInfo&&this._propertyInfo[property];if(info&&!info.readOnly){var v=this.getAttribute(attribute);model[property]=this.deserialize(v,info.type);}}},_serializing:false,reflectPropertyToAttribute:function(property,attribute,value){this._serializing=true;value=value===undefined?this[property]:value;this.serializeValueToAttribute(value,attribute||Polymer.CaseMap.camelToDashCase(property));this._serializing=false;},serializeValueToAttribute:function(value,attribute,node){var str=this.serialize(value);node=node||this;if(str===undefined){node.removeAttribute(attribute);}else{node.setAttribute(attribute,str);}},deserialize:function(value,type){switch(type){case Number:value=Number(value);break;case Boolean:value=value!=null;break;case Object:try{value=JSON.parse(value);}catch(x){} 3684break;case Array:try{value=JSON.parse(value);}catch(x){value=null;console.warn('Polymer::Attributes: couldn`t decode Array as JSON');} 3685break;case Date:value=new Date(value);break;case String:default:break;} 3686return value;},serialize:function(value){switch(typeof value){case'boolean':return value?'':undefined;case'object':if(value instanceof Date){return value.toString();}else if(value){try{return JSON.stringify(value);}catch(x){return'';}} 3687default:return value!=null?value:undefined;}}});Polymer.version="1.8.1";Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_marshalBehavior:function(b){},_initFeatures:function(){this._marshalHostAttributes();this._marshalBehaviors();}});Polymer.Base._addFeature({_prepTemplate:function(){if(this._template===undefined){this._template=Polymer.DomModule.import(this.is,'template');} 3688if(this._template&&this._template.hasAttribute('is')){this._warn(this._logf('_prepTemplate','top-level Polymer template '+'must not be a type-extension, found',this._template,'Move inside simple <template>.'));} 3689if(this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate){HTMLTemplateElement.decorate(this._template);}},_stampTemplate:function(){if(this._template){this.root=this.instanceTemplate(this._template);}},instanceTemplate:function(template){var dom=document.importNode(template._content||template.content,true);return dom;}});(function(){var baseAttachedCallback=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(host){this.dataHost=host=host||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1];if(host&&host._clients){host._clients.push(this);} 3690this._clients=null;this._clientsReadied=false;},_beginHosting:function(){Polymer.Base._hostStack.push(this);if(!this._clients){this._clients=[];}},_endHosting:function(){Polymer.Base._hostStack.pop();},_tryReady:function(){this._readied=false;if(this._canReady()){this._ready();}},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied;},_ready:function(){this._beforeClientsReady();if(this._template){this._setupRoot();this._readyClients();} 3691this._clientsReadied=true;this._clients=null;this._afterClientsReady();this._readySelf();},_readyClients:function(){this._beginDistribute();var c$=this._clients;if(c$){for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._ready();}} 3692this._finishDistribute();},_readySelf:function(){for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.ready){b.ready.call(this);}} 3693if(this.ready){this.ready();} 3694this._readied=true;if(this._attachedPending){this._attachedPending=false;this.attachedCallback();}},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){if(this._readied){this._beforeAttached();baseAttachedCallback.call(this);}else{this._attachedPending=true;}}});}());Polymer.ArraySplice=function(){function newSplice(index,removed,addedCount){return{index:index,removed:removed,addedCount:addedCount};} 3695var EDIT_LEAVE=0;var EDIT_UPDATE=1;var EDIT_ADD=2;var EDIT_DELETE=3;function ArraySplice(){} 3696ArraySplice.prototype={calcEditDistances:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var rowCount=oldEnd-oldStart+1;var columnCount=currentEnd-currentStart+1;var distances=new Array(rowCount);for(var i=0;i<rowCount;i++){distances[i]=new Array(columnCount);distances[i][0]=i;} 3697for(var j=0;j<columnCount;j++) 3698distances[0][j]=j;for(i=1;i<rowCount;i++){for(j=1;j<columnCount;j++){if(this.equals(current[currentStart+j-1],old[oldStart+i-1])) 3699distances[i][j]=distances[i-1][j-1];else{var north=distances[i-1][j]+1;var west=distances[i][j-1]+1;distances[i][j]=north<west?north:west;}}} 3700return distances;},spliceOperationsFromEditDistances:function(distances){var i=distances.length-1;var j=distances[0].length-1;var current=distances[i][j];var edits=[];while(i>0||j>0){if(i==0){edits.push(EDIT_ADD);j--;continue;} 3701if(j==0){edits.push(EDIT_DELETE);i--;continue;} 3702var northWest=distances[i-1][j-1];var west=distances[i-1][j];var north=distances[i][j-1];var min;if(west<north) 3703min=west<northWest?west:northWest;else 3704min=north<northWest?north:northWest;if(min==northWest){if(northWest==current){edits.push(EDIT_LEAVE);}else{edits.push(EDIT_UPDATE);current=northWest;} 3705i--;j--;}else if(min==west){edits.push(EDIT_DELETE);i--;current=west;}else{edits.push(EDIT_ADD);j--;current=north;}} 3706edits.reverse();return edits;},calcSplices:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var prefixCount=0;var suffixCount=0;var minLength=Math.min(currentEnd-currentStart,oldEnd-oldStart);if(currentStart==0&&oldStart==0) 3707prefixCount=this.sharedPrefix(current,old,minLength);if(currentEnd==current.length&&oldEnd==old.length) 3708suffixCount=this.sharedSuffix(current,old,minLength-prefixCount);currentStart+=prefixCount;oldStart+=prefixCount;currentEnd-=suffixCount;oldEnd-=suffixCount;if(currentEnd-currentStart==0&&oldEnd-oldStart==0) 3709return[];if(currentStart==currentEnd){var splice=newSplice(currentStart,[],0);while(oldStart<oldEnd) 3710splice.removed.push(old[oldStart++]);return[splice];}else if(oldStart==oldEnd) 3711return[newSplice(currentStart,[],currentEnd-currentStart)];var ops=this.spliceOperationsFromEditDistances(this.calcEditDistances(current,currentStart,currentEnd,old,oldStart,oldEnd));splice=undefined;var splices=[];var index=currentStart;var oldIndex=oldStart;for(var i=0;i<ops.length;i++){switch(ops[i]){case EDIT_LEAVE:if(splice){splices.push(splice);splice=undefined;} 3712index++;oldIndex++;break;case EDIT_UPDATE:if(!splice) 3713splice=newSplice(index,[],0);splice.addedCount++;index++;splice.removed.push(old[oldIndex]);oldIndex++;break;case EDIT_ADD:if(!splice) 3714splice=newSplice(index,[],0);splice.addedCount++;index++;break;case EDIT_DELETE:if(!splice) 3715splice=newSplice(index,[],0);splice.removed.push(old[oldIndex]);oldIndex++;break;}} 3716if(splice){splices.push(splice);} 3717return splices;},sharedPrefix:function(current,old,searchLength){for(var i=0;i<searchLength;i++) 3718if(!this.equals(current[i],old[i])) 3719return i;return searchLength;},sharedSuffix:function(current,old,searchLength){var index1=current.length;var index2=old.length;var count=0;while(count<searchLength&&this.equals(current[--index1],old[--index2])) 3720count++;return count;},calculateSplices:function(current,previous){return this.calcSplices(current,0,current.length,previous,0,previous.length);},equals:function(currentValue,previousValue){return currentValue===previousValue;}};return new ArraySplice();}();Polymer.domInnerHTML=function(){var escapeAttrRegExp=/[&\u00A0"]/g;var escapeDataRegExp=/[&\u00A0<>]/g;function escapeReplace(c){switch(c){case'&':return'&';case'<':return'<';case'>':return'>';case'"':return'"';case'\xA0':return' ';}} 3721function escapeAttr(s){return s.replace(escapeAttrRegExp,escapeReplace);} 3722function escapeData(s){return s.replace(escapeDataRegExp,escapeReplace);} 3723function makeSet(arr){var set={};for(var i=0;i<arr.length;i++){set[arr[i]]=true;} 3724return set;} 3725var voidElements=makeSet(['area','base','br','col','command','embed','hr','img','input','keygen','link','meta','param','source','track','wbr']);var plaintextParents=makeSet(['style','script','xmp','iframe','noembed','noframes','plaintext','noscript']);function getOuterHTML(node,parentNode,composed){switch(node.nodeType){case Node.ELEMENT_NODE:var tagName=node.localName;var s='<'+tagName;var attrs=node.attributes;for(var i=0,attr;attr=attrs[i];i++){s+=' '+attr.name+'="'+escapeAttr(attr.value)+'"';} 3726s+='>';if(voidElements[tagName]){return s;} 3727return s+getInnerHTML(node,composed)+'</'+tagName+'>';case Node.TEXT_NODE:var data=node.data;if(parentNode&&plaintextParents[parentNode.localName]){return data;} 3728return escapeData(data);case Node.COMMENT_NODE:return'<!--'+node.data+'-->';default:console.error(node);throw new Error('not implemented');}} 3729function getInnerHTML(node,composed){if(node instanceof HTMLTemplateElement) 3730node=node.content;var s='';var c$=Polymer.dom(node).childNodes;for(var i=0,l=c$.length,child;i<l&&(child=c$[i]);i++){s+=getOuterHTML(child,node,composed);} 3731return s;} 3732return{getInnerHTML:getInnerHTML};}();(function(){'use strict';var nativeInsertBefore=Element.prototype.insertBefore;var nativeAppendChild=Element.prototype.appendChild;var nativeRemoveChild=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(parent){var copy=[],i=0;for(var n=parent.firstChild;n;n=n.nextSibling){copy[i++]=n;} 3733return copy;},arrayCopyChildren:function(parent){var copy=[],i=0;for(var n=parent.firstElementChild;n;n=n.nextElementSibling){copy[i++]=n;} 3734return copy;},arrayCopy:function(a$){var l=a$.length;var copy=new Array(l);for(var i=0;i<l;i++){copy[i]=a$[i];} 3735return copy;}};Polymer.TreeApi.Logical={hasParentNode:function(node){return Boolean(node.__dom&&node.__dom.parentNode);},hasChildNodes:function(node){return Boolean(node.__dom&&node.__dom.childNodes!==undefined);},getChildNodes:function(node){return this.hasChildNodes(node)?this._getChildNodes(node):node.childNodes;},_getChildNodes:function(node){if(!node.__dom.childNodes){node.__dom.childNodes=[];for(var n=node.__dom.firstChild;n;n=n.__dom.nextSibling){node.__dom.childNodes.push(n);}} 3736return node.__dom.childNodes;},getParentNode:function(node){return node.__dom&&node.__dom.parentNode!==undefined?node.__dom.parentNode:node.parentNode;},getFirstChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?node.__dom.firstChild:node.firstChild;},getLastChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?node.__dom.lastChild:node.lastChild;},getNextSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?node.__dom.nextSibling:node.nextSibling;},getPreviousSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?node.__dom.previousSibling:node.previousSibling;},getFirstElementChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?this._getFirstElementChild(node):node.firstElementChild;},_getFirstElementChild:function(node){var n=node.__dom.firstChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;} 3737return n;},getLastElementChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?this._getLastElementChild(node):node.lastElementChild;},_getLastElementChild:function(node){var n=node.__dom.lastChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;} 3738return n;},getNextElementSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?this._getNextElementSibling(node):node.nextElementSibling;},_getNextElementSibling:function(node){var n=node.__dom.nextSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;} 3739return n;},getPreviousElementSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?this._getPreviousElementSibling(node):node.previousElementSibling;},_getPreviousElementSibling:function(node){var n=node.__dom.previousSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;} 3740return n;},saveChildNodes:function(node){if(!this.hasChildNodes(node)){node.__dom=node.__dom||{};node.__dom.firstChild=node.firstChild;node.__dom.lastChild=node.lastChild;node.__dom.childNodes=[];for(var n=node.firstChild;n;n=n.nextSibling){n.__dom=n.__dom||{};n.__dom.parentNode=node;node.__dom.childNodes.push(n);n.__dom.nextSibling=n.nextSibling;n.__dom.previousSibling=n.previousSibling;}}},recordInsertBefore:function(node,container,ref_node){container.__dom.childNodes=null;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){for(var n=node.firstChild;n;n=n.nextSibling){this._linkNode(n,container,ref_node);}}else{this._linkNode(node,container,ref_node);}},_linkNode:function(node,container,ref_node){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(ref_node){ref_node.__dom=ref_node.__dom||{};} 3741node.__dom.previousSibling=ref_node?ref_node.__dom.previousSibling:container.__dom.lastChild;if(node.__dom.previousSibling){node.__dom.previousSibling.__dom.nextSibling=node;} 3742node.__dom.nextSibling=ref_node||null;if(node.__dom.nextSibling){node.__dom.nextSibling.__dom.previousSibling=node;} 3743node.__dom.parentNode=container;if(ref_node){if(ref_node===container.__dom.firstChild){container.__dom.firstChild=node;}}else{container.__dom.lastChild=node;if(!container.__dom.firstChild){container.__dom.firstChild=node;}} 3744container.__dom.childNodes=null;},recordRemoveChild:function(node,container){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(node===container.__dom.firstChild){container.__dom.firstChild=node.__dom.nextSibling;} 3745if(node===container.__dom.lastChild){container.__dom.lastChild=node.__dom.previousSibling;} 3746var p=node.__dom.previousSibling;var n=node.__dom.nextSibling;if(p){p.__dom.nextSibling=n;} 3747if(n){n.__dom.previousSibling=p;} 3748node.__dom.parentNode=node.__dom.previousSibling=node.__dom.nextSibling=undefined;container.__dom.childNodes=null;}};Polymer.TreeApi.Composed={getChildNodes:function(node){return Polymer.TreeApi.arrayCopyChildNodes(node);},getParentNode:function(node){return node.parentNode;},clearChildNodes:function(node){node.textContent='';},insertBefore:function(parentNode,newChild,refChild){return nativeInsertBefore.call(parentNode,newChild,refChild||null);},appendChild:function(parentNode,newChild){return nativeAppendChild.call(parentNode,newChild);},removeChild:function(parentNode,node){return nativeRemoveChild.call(parentNode,node);}};}());Polymer.DomApi=function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=function(node){this.node=needsToWrap?DomApi.wrap(node):node;};var needsToWrap=Settings.hasShadow&&!Settings.nativeShadow;DomApi.wrap=window.wrap?window.wrap:function(node){return node;};DomApi.prototype={flush:function(){Polymer.dom.flush();},deepContains:function(node){if(this.node.contains(node)){return true;} 3749var n=node;var doc=node.ownerDocument;while(n&&n!==doc&&n!==this.node){n=Polymer.dom(n).parentNode||n.host;} 3750return n===this.node;},queryDistributedElements:function(selector){var c$=this.getEffectiveChildNodes();var list=[];for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.nodeType===Node.ELEMENT_NODE&&DomApi.matchesSelector.call(c,selector)){list.push(c);}} 3751return list;},getEffectiveChildNodes:function(){var list=[];var c$=this.childNodes;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.localName===CONTENT){var d$=dom(c).getDistributedNodes();for(var j=0;j<d$.length;j++){list.push(d$[j]);}}else{list.push(c);}} 3752return list;},observeNodes:function(callback){if(callback){if(!this.observer){this.observer=this.node.localName===CONTENT?new DomApi.DistributedNodesObserver(this):new DomApi.EffectiveNodesObserver(this);} 3753return this.observer.addListener(callback);}},unobserveNodes:function(handle){if(this.observer){this.observer.removeListener(handle);}},notifyObserver:function(){if(this.observer){this.observer.notify();}},_query:function(matcher,node,halter){node=node||this.node;var list=[];this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);return list;},_queryElements:function(elements,matcher,halter,list){for(var i=0,l=elements.length,c;i<l&&(c=elements[i]);i++){if(c.nodeType===Node.ELEMENT_NODE){if(this._queryElement(c,matcher,halter,list)){return true;}}}},_queryElement:function(node,matcher,halter,list){var result=matcher(node);if(result){list.push(node);} 3754if(halter&&halter(result)){return result;} 3755this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);}};var CONTENT=DomApi.CONTENT='content';var dom=DomApi.factory=function(node){node=node||document;if(!node.__domApi){node.__domApi=new DomApi.ctor(node);} 3756return node.__domApi;};DomApi.hasApi=function(node){return Boolean(node.__domApi);};DomApi.ctor=DomApi;Polymer.dom=function(obj,patch){if(obj instanceof Event){return Polymer.EventApi.factory(obj);}else{return DomApi.factory(obj,patch);}};var p=Element.prototype;DomApi.matchesSelector=p.matches||p.matchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector||p.webkitMatchesSelector;return DomApi;}();(function(){'use strict';var Settings=Polymer.Settings;var DomApi=Polymer.DomApi;var dom=DomApi.factory;var TreeApi=Polymer.TreeApi;var getInnerHTML=Polymer.domInnerHTML.getInnerHTML;var CONTENT=DomApi.CONTENT;if(Settings.useShadow){return;} 3757var nativeCloneNode=Element.prototype.cloneNode;var nativeImportNode=Document.prototype.importNode;Polymer.Base.mixin(DomApi.prototype,{_lazyDistribute:function(host){if(host.shadyRoot&&host.shadyRoot._distributionClean){host.shadyRoot._distributionClean=false;Polymer.dom.addDebouncer(host.debounce('_distribute',host._distributeContent));}},appendChild:function(node){return this.insertBefore(node);},insertBefore:function(node,ref_node){if(ref_node&&TreeApi.Logical.getParentNode(ref_node)!==this.node){throw Error('The ref_node to be inserted before is not a child '+'of this node');} 3758if(node.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var parent=TreeApi.Logical.getParentNode(node);if(parent){if(DomApi.hasApi(parent)){dom(parent).notifyObserver();} 3759this._removeNode(node);}else{this._removeOwnerShadyRoot(node);}} 3760if(!this._addNode(node,ref_node)){if(ref_node){ref_node=ref_node.localName===CONTENT?this._firstComposedNode(ref_node):ref_node;} 3761var container=this.node._isShadyRoot?this.node.host:this.node;if(ref_node){TreeApi.Composed.insertBefore(container,node,ref_node);}else{TreeApi.Composed.appendChild(container,node);}} 3762this.notifyObserver();return node;},_addNode:function(node,ref_node){var root=this.getOwnerRoot();if(root){var ipAdded=this._maybeAddInsertionPoint(node,this.node);if(!root._invalidInsertionPoints){root._invalidInsertionPoints=ipAdded;} 3763this._addNodeToHost(root.host,node);} 3764if(TreeApi.Logical.hasChildNodes(this.node)){TreeApi.Logical.recordInsertBefore(node,this.node,ref_node);} 3765var handled=this._maybeDistribute(node)||this.node.shadyRoot;if(handled){if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){while(node.firstChild){TreeApi.Composed.removeChild(node,node.firstChild);}}else{var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}} 3766return handled;},removeChild:function(node){if(TreeApi.Logical.getParentNode(node)!==this.node){throw Error('The node to be removed is not a child of this node: '+node);} 3767if(!this._removeNode(node)){var container=this.node._isShadyRoot?this.node.host:this.node;var parent=TreeApi.Composed.getParentNode(node);if(container===parent){TreeApi.Composed.removeChild(container,node);}} 3768this.notifyObserver();return node;},_removeNode:function(node){var logicalParent=TreeApi.Logical.hasParentNode(node)&&TreeApi.Logical.getParentNode(node);var distributed;var root=this._ownerShadyRootForNode(node);if(logicalParent){distributed=dom(node)._maybeDistributeParent();TreeApi.Logical.recordRemoveChild(node,logicalParent);if(root&&this._removeDistributedChildren(root,node)){root._invalidInsertionPoints=true;this._lazyDistribute(root.host);}} 3769this._removeOwnerShadyRoot(node);if(root){this._removeNodeFromHost(root.host,node);} 3770return distributed;},replaceChild:function(node,ref_node){this.insertBefore(node,ref_node);this.removeChild(ref_node);return node;},_hasCachedOwnerRoot:function(node){return Boolean(node._ownerShadyRoot!==undefined);},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node);},_ownerShadyRootForNode:function(node){if(!node){return;} 3771var root=node._ownerShadyRoot;if(root===undefined){if(node._isShadyRoot){root=node;}else{var parent=TreeApi.Logical.getParentNode(node);if(parent){root=parent._isShadyRoot?parent:this._ownerShadyRootForNode(parent);}else{root=null;}} 3772if(root||document.documentElement.contains(node)){node._ownerShadyRoot=root;}} 3773return root;},_maybeDistribute:function(node){var fragContent=node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent&&dom(node).querySelector(CONTENT);var wrappedContent=fragContent&&TreeApi.Logical.getParentNode(fragContent).nodeType!==Node.DOCUMENT_FRAGMENT_NODE;var hasContent=fragContent||node.localName===CONTENT;if(hasContent){var root=this.getOwnerRoot();if(root){this._lazyDistribute(root.host);}} 3774var needsDist=this._nodeNeedsDistribution(this.node);if(needsDist){this._lazyDistribute(this.node);} 3775return needsDist||hasContent&&!wrappedContent;},_maybeAddInsertionPoint:function(node,parent){var added;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent){var c$=dom(node).querySelectorAll(CONTENT);for(var i=0,n,np,na;i<c$.length&&(n=c$[i]);i++){np=TreeApi.Logical.getParentNode(n);if(np===node){np=parent;} 3776na=this._maybeAddInsertionPoint(n,np);added=added||na;}}else if(node.localName===CONTENT){TreeApi.Logical.saveChildNodes(parent);TreeApi.Logical.saveChildNodes(node);added=true;} 3777return added;},_updateInsertionPoints:function(host){var i$=host.shadyRoot._insertionPoints=dom(host.shadyRoot).querySelectorAll(CONTENT);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c));}},_nodeNeedsDistribution:function(node){return node&&node.shadyRoot&&DomApi.hasInsertionPoint(node.shadyRoot);},_addNodeToHost:function(host,node){if(host._elementAdd){host._elementAdd(node);}},_removeNodeFromHost:function(host,node){if(host._elementRemove){host._elementRemove(node);}},_removeDistributedChildren:function(root,container){var hostNeedsDist;var ip$=root._insertionPoints;for(var i=0;i<ip$.length;i++){var content=ip$[i];if(this._contains(container,content)){var dc$=dom(content).getDistributedNodes();for(var j=0;j<dc$.length;j++){hostNeedsDist=true;var node=dc$[j];var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}} 3778return hostNeedsDist;},_contains:function(container,node){while(node){if(node==container){return true;} 3779node=TreeApi.Logical.getParentNode(node);}},_removeOwnerShadyRoot:function(node){if(this._hasCachedOwnerRoot(node)){var c$=TreeApi.Logical.getChildNodes(node);for(var i=0,l=c$.length,n;i<l&&(n=c$[i]);i++){this._removeOwnerShadyRoot(n);}} 3780node._ownerShadyRoot=undefined;},_firstComposedNode:function(content){var n$=dom(content).getDistributedNodes();for(var i=0,l=n$.length,n,p$;i<l&&(n=n$[i]);i++){p$=dom(n).getDestinationInsertionPoints();if(p$[p$.length-1]===content){return n;}}},querySelector:function(selector){var result=this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node,function(n){return Boolean(n);})[0];return result||null;},querySelectorAll:function(selector){return this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node);},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[];},getDistributedNodes:function(){return this.node._distributedNodes||[];},_clear:function(){while(this.childNodes.length){this.removeChild(this.childNodes[0]);}},setAttribute:function(name,value){this.node.setAttribute(name,value);this._maybeDistributeParent();},removeAttribute:function(name){this.node.removeAttribute(name);this._maybeDistributeParent();},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode)){this._lazyDistribute(this.parentNode);return true;}},cloneNode:function(deep){var n=nativeCloneNode.call(this.node,false);if(deep){var c$=this.childNodes;var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(c$[i]).cloneNode(true);d.appendChild(nc);}} 3781return n;},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;var n=nativeImportNode.call(doc,externalNode,false);if(deep){var c$=TreeApi.Logical.getChildNodes(externalNode);var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(doc).importNode(c$[i],true);d.appendChild(nc);}} 3782return n;},_getComposedInnerHTML:function(){return getInnerHTML(this.node,true);}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var active=document.activeElement;if(!active){return null;} 3783var isShadyRoot=!!this.node._isShadyRoot;if(this.node!==document){if(!isShadyRoot){return null;} 3784if(this.node.host===active||!this.node.host.contains(active)){return null;}} 3785var activeRoot=dom(active).getOwnerRoot();while(activeRoot&&activeRoot!==this.node){active=activeRoot.host;activeRoot=dom(active).getOwnerRoot();} 3786if(this.node===document){return activeRoot?null:active;}else{return activeRoot===this.node?active:null;}},configurable:true},childNodes:{get:function(){var c$=TreeApi.Logical.getChildNodes(this.node);return Array.isArray(c$)?c$:TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){if(TreeApi.Logical.hasChildNodes(this.node)){return Array.prototype.filter.call(this.childNodes,function(n){return n.nodeType===Node.ELEMENT_NODE;});}else{return TreeApi.arrayCopyChildren(this.node);}},configurable:true},parentNode:{get:function(){return TreeApi.Logical.getParentNode(this.node);},configurable:true},firstChild:{get:function(){return TreeApi.Logical.getFirstChild(this.node);},configurable:true},lastChild:{get:function(){return TreeApi.Logical.getLastChild(this.node);},configurable:true},nextSibling:{get:function(){return TreeApi.Logical.getNextSibling(this.node);},configurable:true},previousSibling:{get:function(){return TreeApi.Logical.getPreviousSibling(this.node);},configurable:true},firstElementChild:{get:function(){return TreeApi.Logical.getFirstElementChild(this.node);},configurable:true},lastElementChild:{get:function(){return TreeApi.Logical.getLastElementChild(this.node);},configurable:true},nextElementSibling:{get:function(){return TreeApi.Logical.getNextElementSibling(this.node);},configurable:true},previousElementSibling:{get:function(){return TreeApi.Logical.getPreviousElementSibling(this.node);},configurable:true},textContent:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return this.node.textContent;}else{var tc=[];for(var i=0,cn=this.childNodes,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(c.textContent);}} 3787return tc.join('');}},set:function(text){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){this.node.textContent=text;}else{this._clear();if(text){this.appendChild(document.createTextNode(text));}}},configurable:true},innerHTML:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return null;}else{return getInnerHTML(this.node);}},set:function(text){var nt=this.node.nodeType;if(nt!==Node.TEXT_NODE||nt!==Node.COMMENT_NODE){this._clear();var d=document.createElement('div');d.innerHTML=text;var c$=TreeApi.arrayCopyChildNodes(d);for(var i=0;i<c$.length;i++){this.appendChild(c$[i]);}}},configurable:true}});DomApi.hasInsertionPoint=function(root){return Boolean(root&&root._insertionPoints.length);};}());(function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=Polymer.DomApi;if(!Settings.useShadow){return;} 3788Polymer.Base.mixin(DomApi.prototype,{querySelectorAll:function(selector){return TreeApi.arrayCopy(this.node.querySelectorAll(selector));},getOwnerRoot:function(){var n=this.node;while(n){if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&n.host){return n;} 3789n=n.parentNode;}},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;return doc.importNode(externalNode,deep);},getDestinationInsertionPoints:function(){var n$=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return n$?TreeApi.arrayCopy(n$):[];},getDistributedNodes:function(){var n$=this.node.getDistributedNodes&&this.node.getDistributedNodes();return n$?TreeApi.arrayCopy(n$):[];}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var node=DomApi.wrap(this.node);var activeElement=node.activeElement;return node.contains(activeElement)?activeElement:null;},configurable:true},childNodes:{get:function(){return TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){return TreeApi.arrayCopyChildren(this.node);},configurable:true},textContent:{get:function(){return this.node.textContent;},set:function(value){return this.node.textContent=value;},configurable:true},innerHTML:{get:function(){return this.node.innerHTML;},set:function(value){return this.node.innerHTML=value;},configurable:true}});var forwardMethods=function(m$){for(var i=0;i<m$.length;i++){forwardMethod(m$[i]);}};var forwardMethod=function(method){DomApi.prototype[method]=function(){return this.node[method].apply(this.node,arguments);};};forwardMethods(['cloneNode','appendChild','insertBefore','removeChild','replaceChild','setAttribute','removeAttribute','querySelector']);var forwardProperties=function(f$){for(var i=0;i<f$.length;i++){forwardProperty(f$[i]);}};var forwardProperty=function(name){Object.defineProperty(DomApi.prototype,name,{get:function(){return this.node[name];},configurable:true});};forwardProperties(['parentNode','firstChild','lastChild','nextSibling','previousSibling','firstElementChild','lastElementChild','nextElementSibling','previousElementSibling']);}());Polymer.Base.mixin(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){this._flushGuard=0;this._prepareFlush();while(this._debouncers.length&&this._flushGuard<this._FLUSH_MAX){while(this._debouncers.length){this._debouncers.shift().complete();} 3790if(this._finishDebouncer){this._finishDebouncer.complete();} 3791this._prepareFlush();this._flushGuard++;} 3792if(this._flushGuard>=this._FLUSH_MAX){console.warn('Polymer.dom.flush aborted. Flush may not be complete.');}},_prepareFlush:function(){if(this._needsTakeRecords){CustomElements.takeRecords();} 3793for(var i=0;i<this._staticFlushList.length;i++){this._staticFlushList[i]();}},addStaticFlush:function(fn){this._staticFlushList.push(fn);},removeStaticFlush:function(fn){var i=this._staticFlushList.indexOf(fn);if(i>=0){this._staticFlushList.splice(i,1);}},addDebouncer:function(debouncer){this._debouncers.push(debouncer);this._finishDebouncer=Polymer.Debounce(this._finishDebouncer,this._finishFlush);},_finishFlush:function(){Polymer.dom._debouncers=[];}});Polymer.EventApi=function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.Event=function(event){this.event=event;};if(Settings.useShadow){DomApi.Event.prototype={get rootTarget(){return this.event.path[0];},get localTarget(){return this.event.target;},get path(){var path=this.event.path;if(!Array.isArray(path)){path=Array.prototype.slice.call(path);} 3794return path;}};}else{DomApi.Event.prototype={get rootTarget(){return this.event.target;},get localTarget(){var current=this.event.currentTarget;var currentRoot=current&&Polymer.dom(current).getOwnerRoot();var p$=this.path;for(var i=0;i<p$.length;i++){if(Polymer.dom(p$[i]).getOwnerRoot()===currentRoot){return p$[i];}}},get path(){if(!this.event._path){var path=[];var current=this.rootTarget;while(current){path.push(current);var insertionPoints=Polymer.dom(current).getDestinationInsertionPoints();if(insertionPoints.length){for(var i=0;i<insertionPoints.length-1;i++){path.push(insertionPoints[i]);} 3795current=insertionPoints[insertionPoints.length-1];}else{current=Polymer.dom(current).parentNode||current.host;}} 3796path.push(window);this.event._path=path;} 3797return this.event._path;}};} 3798var factory=function(event){if(!event.__eventApi){event.__eventApi=new DomApi.Event(event);} 3799return event.__eventApi;};return{factory:factory};}();(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var useShadow=Polymer.Settings.useShadow;Object.defineProperty(DomApi.prototype,'classList',{get:function(){if(!this._classList){this._classList=new DomApi.ClassList(this);} 3800return this._classList;},configurable:true});DomApi.ClassList=function(host){this.domApi=host;this.node=host.node;};DomApi.ClassList.prototype={add:function(){this.node.classList.add.apply(this.node.classList,arguments);this._distributeParent();},remove:function(){this.node.classList.remove.apply(this.node.classList,arguments);this._distributeParent();},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments);this._distributeParent();},_distributeParent:function(){if(!useShadow){this.domApi._maybeDistributeParent();}},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments);}};}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.EffectiveNodesObserver=function(domApi){this.domApi=domApi;this.node=this.domApi.node;this._listeners=[];};DomApi.EffectiveNodesObserver.prototype={addListener:function(callback){if(!this._isSetup){this._setup();this._isSetup=true;} 3801var listener={fn:callback,_nodes:[]};this._listeners.push(listener);this._scheduleNotify();return listener;},removeListener:function(handle){var i=this._listeners.indexOf(handle);if(i>=0){this._listeners.splice(i,1);handle._nodes=[];} 3802if(!this._hasListeners()){this._cleanup();this._isSetup=false;}},_setup:function(){this._observeContentElements(this.domApi.childNodes);},_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes);},_hasListeners:function(){return Boolean(this._listeners.length);},_scheduleNotify:function(){if(this._debouncer){this._debouncer.stop();} 3803this._debouncer=Polymer.Debounce(this._debouncer,this._notify);this._debouncer.context=this;Polymer.dom.addDebouncer(this._debouncer);},notify:function(){if(this._hasListeners()){this._scheduleNotify();}},_notify:function(){this._beforeCallListeners();this._callListeners();},_beforeCallListeners:function(){this._updateContentElements();},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes);},_observeContentElements:function(elements){for(var i=0,n;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){n.__observeNodesMap=n.__observeNodesMap||new WeakMap();if(!n.__observeNodesMap.has(this)){n.__observeNodesMap.set(this,this._observeContent(n));}}}},_observeContent:function(content){var self=this;var h=Polymer.dom(content).observeNodes(function(){self._scheduleNotify();});h._avoidChangeCalculation=true;return h;},_unobserveContentElements:function(elements){for(var i=0,n,h;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){h=n.__observeNodesMap.get(this);if(h){Polymer.dom(n).unobserveNodes(h);n.__observeNodesMap.delete(this);}}}},_isContent:function(node){return node.localName==='content';},_callListeners:function(){var o$=this._listeners;var nodes=this._getEffectiveNodes();for(var i=0,o;i<o$.length&&(o=o$[i]);i++){var info=this._generateListenerInfo(o,nodes);if(info||o._alwaysNotify){this._callListener(o,info);}}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes();},_generateListenerInfo:function(listener,newNodes){if(listener._avoidChangeCalculation){return true;} 3804var oldNodes=listener._nodes;var info={target:this.node,addedNodes:[],removedNodes:[]};var splices=Polymer.ArraySplice.calculateSplices(newNodes,oldNodes);for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){info.removedNodes.push(n);}} 3805for(i=0,s;i<splices.length&&(s=splices[i]);i++){for(j=s.index;j<s.index+s.addedCount;j++){info.addedNodes.push(newNodes[j]);}} 3806listener._nodes=newNodes;if(info.addedNodes.length||info.removedNodes.length){return info;}},_callListener:function(listener,info){return listener.fn.call(this.node,info);},enableShadowAttributeTracking:function(){}};if(Settings.useShadow){var baseSetup=DomApi.EffectiveNodesObserver.prototype._setup;var baseCleanup=DomApi.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.mixin(DomApi.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var self=this;this._mutationHandler=function(mxns){if(mxns&&mxns.length){self._scheduleNotify();}};this._observer=new MutationObserver(this._mutationHandler);this._boundFlush=function(){self._flush();};Polymer.dom.addStaticFlush(this._boundFlush);this._observer.observe(this.node,{childList:true});} 3807baseSetup.call(this);},_cleanup:function(){this._observer.disconnect();this._observer=null;this._mutationHandler=null;Polymer.dom.removeStaticFlush(this._boundFlush);baseCleanup.call(this);},_flush:function(){if(this._observer){this._mutationHandler(this._observer.takeRecords());}},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify();this._observer.disconnect();this._observer.observe(this.node,{childList:true,attributes:true,subtree:true});var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host&&Polymer.dom(host).observer){Polymer.dom(host).observer.enableShadowAttributeTracking();}}},_makeContentListenersAlwaysNotify:function(){for(var i=0,h;i<this._listeners.length;i++){h=this._listeners[i];h._alwaysNotify=h._isContentListener;}}});}}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.DistributedNodesObserver=function(domApi){DomApi.EffectiveNodesObserver.call(this,domApi);};DomApi.DistributedNodesObserver.prototype=Object.create(DomApi.EffectiveNodesObserver.prototype);Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes();}});if(Settings.useShadow){Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){var self=this;this._observer=Polymer.dom(host).observeNodes(function(){self._scheduleNotify();});this._observer._isContentListener=true;if(this._hasAttrSelect()){Polymer.dom(host).observer.enableShadowAttributeTracking();}}}},_hasAttrSelect:function(){var select=this.node.getAttribute('select');return select&&select.match(/[[.]+/);},_cleanup:function(){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){Polymer.dom(host).unobserveNodes(this._observer);} 3808this._observer=null;}});}}());(function(){var DomApi=Polymer.DomApi;var TreeApi=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template);},_setupShady:function(){this.shadyRoot=null;if(!this.__domApi){this.__domApi=null;} 3809if(!this.__dom){this.__dom=null;} 3810if(!this._ownerShadyRoot){this._ownerShadyRoot=undefined;}},_poolContent:function(){if(this._useContent){TreeApi.Logical.saveChildNodes(this);}},_setupRoot:function(){if(this._useContent){this._createLocalRoot();if(!this.dataHost){upgradeLogicalChildren(TreeApi.Logical.getChildNodes(this));}}},_createLocalRoot:function(){this.shadyRoot=this.root;this.shadyRoot._distributionClean=false;this.shadyRoot._hasDistributed=false;this.shadyRoot._isShadyRoot=true;this.shadyRoot._dirtyRoots=[];var i$=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll('content'):[];TreeApi.Logical.saveChildNodes(this.shadyRoot);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(c.parentNode);} 3811this.shadyRoot.host=this;},distributeContent:function(updateInsertionPoints){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||updateInsertionPoints;var host=getTopDistributingHost(this);Polymer.dom(this)._lazyDistribute(host);}},_distributeContent:function(){if(this._useContent&&!this.shadyRoot._distributionClean){if(this.shadyRoot._invalidInsertionPoints){Polymer.dom(this)._updateInsertionPoints(this);this.shadyRoot._invalidInsertionPoints=false;} 3812this._beginDistribute();this._distributeDirtyRoots();this._finishDistribute();}},_beginDistribute:function(){if(this._useContent&&DomApi.hasInsertionPoint(this.shadyRoot)){this._resetDistribution();this._distributePool(this.shadyRoot,this._collectPool());}},_distributeDirtyRoots:function(){var c$=this.shadyRoot._dirtyRoots;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._distributeContent();} 3813this.shadyRoot._dirtyRoots=[];},_finishDistribute:function(){if(this._useContent){this.shadyRoot._distributionClean=true;if(DomApi.hasInsertionPoint(this.shadyRoot)){this._composeTree();notifyContentObservers(this.shadyRoot);}else{if(!this.shadyRoot._hasDistributed){TreeApi.Composed.clearChildNodes(this);this.appendChild(this.shadyRoot);}else{var children=this._composeNode(this);this._updateChildNodes(this,children);}} 3814if(!this.shadyRoot._hasDistributed){notifyInitialDistribution(this);} 3815this.shadyRoot._hasDistributed=true;}},elementMatches:function(selector,node){node=node||this;return DomApi.matchesSelector.call(node,selector);},_resetDistribution:function(){var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(child._destinationInsertionPoints){child._destinationInsertionPoints=undefined;} 3816if(isInsertionPoint(child)){clearDistributedDestinationInsertionPoints(child);}} 3817var root=this.shadyRoot;var p$=root._insertionPoints;for(var j=0;j<p$.length;j++){p$[j]._distributedNodes=[];}},_collectPool:function(){var pool=[];var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(isInsertionPoint(child)){pool.push.apply(pool,child._distributedNodes);}else{pool.push(child);}} 3818return pool;},_distributePool:function(node,pool){var p$=node._insertionPoints;for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){this._distributeInsertionPoint(p,pool);maybeRedistributeParent(p,this);}},_distributeInsertionPoint:function(content,pool){var anyDistributed=false;for(var i=0,l=pool.length,node;i<l;i++){node=pool[i];if(!node){continue;} 3819if(this._matchesContentSelect(node,content)){distributeNodeInto(node,content);pool[i]=undefined;anyDistributed=true;}} 3820if(!anyDistributed){var children=TreeApi.Logical.getChildNodes(content);for(var j=0;j<children.length;j++){distributeNodeInto(children[j],content);}}},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));var p$=this.shadyRoot._insertionPoints;for(var i=0,l=p$.length,p,parent;i<l&&(p=p$[i]);i++){parent=TreeApi.Logical.getParentNode(p);if(!parent._useContent&&parent!==this&&parent!==this.shadyRoot){this._updateChildNodes(parent,this._composeNode(parent));}}},_composeNode:function(node){var children=[];var c$=TreeApi.Logical.getChildNodes(node.shadyRoot||node);for(var i=0;i<c$.length;i++){var child=c$[i];if(isInsertionPoint(child)){var distributedNodes=child._distributedNodes;for(var j=0;j<distributedNodes.length;j++){var distributedNode=distributedNodes[j];if(isFinalDestination(child,distributedNode)){children.push(distributedNode);}}}else{children.push(child);}} 3821return children;},_updateChildNodes:function(container,children){var composed=TreeApi.Composed.getChildNodes(container);var splices=Polymer.ArraySplice.calculateSplices(children,composed);for(var i=0,d=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){if(TreeApi.Composed.getParentNode(n)===container){TreeApi.Composed.removeChild(container,n);} 3822composed.splice(s.index+d,1);} 3823d-=s.addedCount;} 3824for(var i=0,s,next;i<splices.length&&(s=splices[i]);i++){next=composed[s.index];for(j=s.index,n;j<s.index+s.addedCount;j++){n=children[j];TreeApi.Composed.insertBefore(container,n,next);composed.splice(j,0,n);}}},_matchesContentSelect:function(node,contentElement){var select=contentElement.getAttribute('select');if(!select){return true;} 3825select=select.trim();if(!select){return true;} 3826if(!(node instanceof Element)){return false;} 3827var validSelectors=/^(:not\()?[*.#[a-zA-Z_|]/;if(!validSelectors.test(select)){return false;} 3828return this.elementMatches(select,node);},_elementAdd:function(){},_elementRemove:function(){}});var domHostDesc={get:function(){var root=Polymer.dom(this).getOwnerRoot();return root&&root.host;},configurable:true};Object.defineProperty(Polymer.Base,'domHost',domHostDesc);Polymer.BaseDescriptors.domHost=domHostDesc;function distributeNodeInto(child,insertionPoint){insertionPoint._distributedNodes.push(child);var points=child._destinationInsertionPoints;if(!points){child._destinationInsertionPoints=[insertionPoint];}else{points.push(insertionPoint);}} 3829function clearDistributedDestinationInsertionPoints(content){var e$=content._distributedNodes;if(e$){for(var i=0;i<e$.length;i++){var d=e$[i]._destinationInsertionPoints;if(d){d.splice(d.indexOf(content)+1,d.length);}}}} 3830function maybeRedistributeParent(content,host){var parent=TreeApi.Logical.getParentNode(content);if(parent&&parent.shadyRoot&&DomApi.hasInsertionPoint(parent.shadyRoot)&&parent.shadyRoot._distributionClean){parent.shadyRoot._distributionClean=false;host.shadyRoot._dirtyRoots.push(parent);}} 3831function isFinalDestination(insertionPoint,node){var points=node._destinationInsertionPoints;return points&&points[points.length-1]===insertionPoint;} 3832function isInsertionPoint(node){return node.localName=='content';} 3833function getTopDistributingHost(host){while(host&&hostNeedsRedistribution(host)){host=host.domHost;} 3834return host;} 3835function hostNeedsRedistribution(host){var c$=TreeApi.Logical.getChildNodes(host);for(var i=0,c;i<c$.length;i++){c=c$[i];if(c.localName&&c.localName==='content'){return host.domHost;}}} 3836function notifyContentObservers(root){for(var i=0,c;i<root._insertionPoints.length;i++){c=root._insertionPoints[i];if(DomApi.hasApi(c)){Polymer.dom(c).notifyObserver();}}} 3837function notifyInitialDistribution(host){if(DomApi.hasApi(host)){Polymer.dom(host).notifyObserver();}} 3838var needsUpgrade=window.CustomElements&&!CustomElements.useNative;function upgradeLogicalChildren(children){if(needsUpgrade&&children){for(var i=0;i<children.length;i++){CustomElements.upgrade(children[i]);}}}}());if(Polymer.Settings.useShadow){Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot();this.shadowRoot.appendChild(this.root);this.root=this.shadowRoot;}});}Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleContent:0,_twiddle:document.createTextNode(''),run:function(callback,waitTime){if(waitTime>0){return~setTimeout(callback,waitTime);}else{this._twiddle.textContent=this._twiddleContent++;this._callbacks.push(callback);return this._currVal++;}},cancel:function(handle){if(handle<0){clearTimeout(~handle);}else{var idx=handle-this._lastVal;if(idx>=0){if(!this._callbacks[idx]){throw'invalid async handle: '+handle;} 3839this._callbacks[idx]=null;}}},_atEndOfMicrotask:function(){var len=this._callbacks.length;for(var i=0;i<len;i++){var cb=this._callbacks[i];if(cb){try{cb();}catch(e){i++;this._callbacks.splice(0,i);this._lastVal+=i;this._twiddle.textContent=this._twiddleContent++;throw e;}}} 3840this._callbacks.splice(0,len);this._lastVal+=len;}};new window.MutationObserver(function(){Polymer.Async._atEndOfMicrotask();}).observe(Polymer.Async._twiddle,{characterData:true});Polymer.Debounce=function(){var Async=Polymer.Async;var Debouncer=function(context){this.context=context;var self=this;this.boundComplete=function(){self.complete();};};Debouncer.prototype={go:function(callback,wait){var h;this.finish=function(){Async.cancel(h);};h=Async.run(this.boundComplete,wait);this.callback=callback;},stop:function(){if(this.finish){this.finish();this.finish=null;this.callback=null;}},complete:function(){if(this.finish){var callback=this.callback;this.stop();callback.call(this.context);}}};function debounce(debouncer,callback,wait){if(debouncer){debouncer.stop();}else{debouncer=new Debouncer(this);} 3841debouncer.go(callback,wait);return debouncer;} 3842return debounce;}();Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={};},debounce:function(jobName,callback,wait){return this._debouncers[jobName]=Polymer.Debounce.call(this,this._debouncers[jobName],callback,wait);},isDebouncerActive:function(jobName){var debouncer=this._debouncers[jobName];return!!(debouncer&&debouncer.finish);},flushDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.complete();}},cancelDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.stop();}}});Polymer.DomModule=document.createElement('dom-module');Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepTemplate();this._prepShady();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._registerHost();if(this._template){this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();} 3843this._marshalHostAttributes();this._setupDebouncers();this._marshalBehaviors();this._tryReady();},_marshalBehavior:function(b){}});(function(){Polymer.nar=[];var disableUpgradeEnabled=Polymer.Settings.disableUpgradeEnabled;Polymer.Annotations={parseAnnotations:function(template,stripWhiteSpace){var list=[];var content=template._content||template.content;this._parseNodeAnnotations(content,list,stripWhiteSpace||template.hasAttribute('strip-whitespace'));return list;},_parseNodeAnnotations:function(node,list,stripWhiteSpace){return node.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(node,list):this._parseElementAnnotations(node,list,stripWhiteSpace);},_bindingRegex:function(){var IDENT='(?:'+'[a-zA-Z_$][\\w.:$\\-*]*'+')';var NUMBER='(?:'+'[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?'+')';var SQUOTE_STRING='(?:'+'\'(?:[^\'\\\\]|\\\\.)*\''+')';var DQUOTE_STRING='(?:'+'"(?:[^"\\\\]|\\\\.)*"'+')';var STRING='(?:'+SQUOTE_STRING+'|'+DQUOTE_STRING+')';var ARGUMENT='(?:'+IDENT+'|'+NUMBER+'|'+STRING+'\\s*'+')';var ARGUMENTS='(?:'+ARGUMENT+'(?:,\\s*'+ARGUMENT+')*'+')';var ARGUMENT_LIST='(?:'+'\\(\\s*'+'(?:'+ARGUMENTS+'?'+')'+'\\)\\s*'+')';var BINDING='('+IDENT+'\\s*'+ARGUMENT_LIST+'?'+')';var OPEN_BRACKET='(\\[\\[|{{)'+'\\s*';var CLOSE_BRACKET='(?:]]|}})';var NEGATE='(?:(!)\\s*)?';var EXPRESSION=OPEN_BRACKET+NEGATE+BINDING+CLOSE_BRACKET;return new RegExp(EXPRESSION,'g');}(),_parseBindings:function(text){var re=this._bindingRegex;var parts=[];var lastIndex=0;var m;while((m=re.exec(text))!==null){if(m.index>lastIndex){parts.push({literal:text.slice(lastIndex,m.index)});} 3844var mode=m[1][0];var negate=Boolean(m[2]);var value=m[3].trim();var customEvent,notifyEvent,colon;if(mode=='{'&&(colon=value.indexOf('::'))>0){notifyEvent=value.substring(colon+2);value=value.substring(0,colon);customEvent=true;} 3845parts.push({compoundIndex:parts.length,value:value,mode:mode,negate:negate,event:notifyEvent,customEvent:customEvent});lastIndex=re.lastIndex;} 3846if(lastIndex&&lastIndex<text.length){var literal=text.substring(lastIndex);if(literal){parts.push({literal:literal});}} 3847if(parts.length){return parts;}},_literalFromParts:function(parts){var s='';for(var i=0;i<parts.length;i++){var literal=parts[i].literal;s+=literal||'';} 3848return s;},_parseTextNodeAnnotation:function(node,list){var parts=this._parseBindings(node.textContent);if(parts){node.textContent=this._literalFromParts(parts)||' ';var annote={bindings:[{kind:'text',name:'textContent',parts:parts,isCompound:parts.length!==1}]};list.push(annote);return annote;}},_parseElementAnnotations:function(element,list,stripWhiteSpace){var annote={bindings:[],events:[]};if(element.localName==='content'){list._hasContent=true;} 3849this._parseChildNodesAnnotations(element,annote,list,stripWhiteSpace);if(element.attributes){this._parseNodeAttributeAnnotations(element,annote,list);if(this.prepElement){this.prepElement(element);}} 3850if(annote.bindings.length||annote.events.length||annote.id){list.push(annote);} 3851return annote;},_parseChildNodesAnnotations:function(root,annote,list,stripWhiteSpace){if(root.firstChild){var node=root.firstChild;var i=0;while(node){var next=node.nextSibling;if(node.localName==='template'&&!node.hasAttribute('preserve-content')){this._parseTemplate(node,i,list,annote,stripWhiteSpace);} 3852if(node.localName=='slot'){node=this._replaceSlotWithContent(node);} 3853if(node.nodeType===Node.TEXT_NODE){var n=next;while(n&&n.nodeType===Node.TEXT_NODE){node.textContent+=n.textContent;next=n.nextSibling;root.removeChild(n);n=next;} 3854if(stripWhiteSpace&&!node.textContent.trim()){root.removeChild(node);i--;}} 3855if(node.parentNode){var childAnnotation=this._parseNodeAnnotations(node,list,stripWhiteSpace);if(childAnnotation){childAnnotation.parent=annote;childAnnotation.index=i;}} 3856node=next;i++;}}},_replaceSlotWithContent:function(slot){var content=slot.ownerDocument.createElement('content');while(slot.firstChild){content.appendChild(slot.firstChild);} 3857var attrs=slot.attributes;for(var i=0;i<attrs.length;i++){var attr=attrs[i];content.setAttribute(attr.name,attr.value);} 3858var name=slot.getAttribute('name');if(name){content.setAttribute('select','[slot=\''+name+'\']');} 3859slot.parentNode.replaceChild(content,slot);return content;},_parseTemplate:function(node,index,list,parent,stripWhiteSpace){var content=document.createDocumentFragment();content._notes=this.parseAnnotations(node,stripWhiteSpace);content.appendChild(node.content);list.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:content,parent:parent,index:index});},_parseNodeAttributeAnnotations:function(node,annotation){var attrs=Array.prototype.slice.call(node.attributes);for(var i=attrs.length-1,a;a=attrs[i];i--){var n=a.name;var v=a.value;var b;if(n.slice(0,3)==='on-'){node.removeAttribute(n);annotation.events.push({name:n.slice(3),value:v});}else if(b=this._parseNodeAttributeAnnotation(node,n,v)){annotation.bindings.push(b);}else if(n==='id'){annotation.id=v;}}},_parseNodeAttributeAnnotation:function(node,name,value){var parts=this._parseBindings(value);if(parts){var origName=name;var kind='property';if(name[name.length-1]=='$'){name=name.slice(0,-1);kind='attribute';} 3860var literal=this._literalFromParts(parts);if(literal&&kind=='attribute'){node.setAttribute(name,literal);} 3861if(node.localName==='input'&&origName==='value'){node.setAttribute(origName,'');} 3862if(disableUpgradeEnabled&&origName==='disable-upgrade$'){node.setAttribute(name,'');} 3863node.removeAttribute(origName);var propertyName=Polymer.CaseMap.dashToCamelCase(name);if(kind==='property'){name=propertyName;} 3864return{kind:kind,name:name,propertyName:propertyName,parts:parts,literal:literal,isCompound:parts.length!==1};}},findAnnotatedNode:function(root,annote){var parent=annote.parent&&Polymer.Annotations.findAnnotatedNode(root,annote.parent);if(parent){for(var n=parent.firstChild,i=0;n;n=n.nextSibling){if(annote.index===i++){return n;}}}else{return root;}}};}());(function(){function resolveCss(cssText,ownerDocument){return cssText.replace(CSS_URL_RX,function(m,pre,url,post){return pre+'\''+resolve(url.replace(/["']/g,''),ownerDocument)+'\''+post;});} 3865function resolveAttrs(element,ownerDocument){for(var name in URL_ATTRS){var a$=URL_ATTRS[name];for(var i=0,l=a$.length,a,at,v;i<l&&(a=a$[i]);i++){if(name==='*'||element.localName===name){at=element.attributes[a];v=at&&at.value;if(v&&v.search(BINDING_RX)<0){at.value=a==='style'?resolveCss(v,ownerDocument):resolve(v,ownerDocument);}}}}} 3866function resolve(url,ownerDocument){if(url&&ABS_URL.test(url)){return url;} 3867var resolver=getUrlResolver(ownerDocument);resolver.href=url;return resolver.href||url;} 3868var tempDoc;var tempDocBase;function resolveUrl(url,baseUri){if(!tempDoc){tempDoc=document.implementation.createHTMLDocument('temp');tempDocBase=tempDoc.createElement('base');tempDoc.head.appendChild(tempDocBase);} 3869tempDocBase.href=baseUri;return resolve(url,tempDoc);} 3870function getUrlResolver(ownerDocument){return ownerDocument.body.__urlResolver||(ownerDocument.body.__urlResolver=ownerDocument.createElement('a'));} 3871var CSS_URL_RX=/(url\()([^)]*)(\))/g;var URL_ATTRS={'*':['href','src','style','url'],form:['action']};var ABS_URL=/(^\/)|(^#)|(^[\w-\d]*:)/;var BINDING_RX=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:resolveCss,resolveAttrs:resolveAttrs,resolveUrl:resolveUrl};}());Polymer.Path={root:function(path){var dotIndex=path.indexOf('.');if(dotIndex===-1){return path;} 3872return path.slice(0,dotIndex);},isDeep:function(path){return path.indexOf('.')!==-1;},isAncestor:function(base,path){return base.indexOf(path+'.')===0;},isDescendant:function(base,path){return path.indexOf(base+'.')===0;},translate:function(base,newBase,path){return newBase+path.slice(base.length);},matches:function(base,wildcard,path){return base===path||this.isAncestor(base,path)||Boolean(wildcard)&&this.isDescendant(base,path);}};Polymer.Base._addFeature({_prepAnnotations:function(){if(!this._template){this._notes=[];}else{var self=this;Polymer.Annotations.prepElement=function(element){self._prepElement(element);};if(this._template._content&&this._template._content._notes){this._notes=this._template._content._notes;}else{this._notes=Polymer.Annotations.parseAnnotations(this._template);this._processAnnotations(this._notes);} 3873Polymer.Annotations.prepElement=null;}},_processAnnotations:function(notes){for(var i=0;i<notes.length;i++){var note=notes[i];for(var j=0;j<note.bindings.length;j++){var b=note.bindings[j];for(var k=0;k<b.parts.length;k++){var p=b.parts[k];if(!p.literal){var signature=this._parseMethod(p.value);if(signature){p.signature=signature;}else{p.model=Polymer.Path.root(p.value);}}}} 3874if(note.templateContent){this._processAnnotations(note.templateContent._notes);var pp=note.templateContent._parentProps=this._discoverTemplateParentProps(note.templateContent._notes);var bindings=[];for(var prop in pp){var name='_parent_'+prop;bindings.push({index:note.index,kind:'property',name:name,propertyName:name,parts:[{mode:'{',model:prop,value:prop}]});} 3875note.bindings=note.bindings.concat(bindings);}}},_discoverTemplateParentProps:function(notes){var pp={};for(var i=0,n;i<notes.length&&(n=notes[i]);i++){for(var j=0,b$=n.bindings,b;j<b$.length&&(b=b$[j]);j++){for(var k=0,p$=b.parts,p;k<p$.length&&(p=p$[k]);k++){if(p.signature){var args=p.signature.args;for(var kk=0;kk<args.length;kk++){var model=args[kk].model;if(model){pp[model]=true;}} 3876if(p.signature.dynamicFn){pp[p.signature.method]=true;}}else{if(p.model){pp[p.model]=true;}}}} 3877if(n.templateContent){var tpp=n.templateContent._parentProps;Polymer.Base.mixin(pp,tpp);}} 3878return pp;},_prepElement:function(element){Polymer.ResolveUrl.resolveAttrs(element,this._template.ownerDocument);},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){if(this._template){this._marshalIdNodes();this._marshalAnnotatedNodes();this._marshalAnnotatedListeners();}},_configureAnnotationReferences:function(){var notes=this._notes;var nodes=this._nodes;for(var i=0;i<notes.length;i++){var note=notes[i];var node=nodes[i];this._configureTemplateContent(note,node);this._configureCompoundBindings(note,node);}},_configureTemplateContent:function(note,node){if(note.templateContent){node._content=note.templateContent;}},_configureCompoundBindings:function(note,node){var bindings=note.bindings;for(var i=0;i<bindings.length;i++){var binding=bindings[i];if(binding.isCompound){var storage=node.__compoundStorage__||(node.__compoundStorage__={});var parts=binding.parts;var literals=new Array(parts.length);for(var j=0;j<parts.length;j++){literals[j]=parts[j].literal;} 3879var name=binding.name;storage[name]=literals;if(binding.literal&&binding.kind=='property'){if(node._configValue){node._configValue(name,binding.literal);}else{node[name]=binding.literal;}}}}},_marshalIdNodes:function(){this.$={};for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.id){this.$[a.id]=this._findAnnotatedNode(this.root,a);}}},_marshalAnnotatedNodes:function(){if(this._notes&&this._notes.length){var r=new Array(this._notes.length);for(var i=0;i<this._notes.length;i++){r[i]=this._findAnnotatedNode(this.root,this._notes[i]);} 3880this._nodes=r;}},_marshalAnnotatedListeners:function(){for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.events&&a.events.length){var node=this._findAnnotatedNode(this.root,a);for(var j=0,e$=a.events,e;j<e$.length&&(e=e$[j]);j++){this.listen(node,e.name,e.value);}}}}});Polymer.Base._addFeature({listeners:{},_listenListeners:function(listeners){var node,name,eventName;for(eventName in listeners){if(eventName.indexOf('.')<0){node=this;name=eventName;}else{name=eventName.split('.');node=this.$[name[0]];name=name[1];} 3881this.listen(node,name,listeners[eventName]);}},listen:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(!handler){handler=this._createEventHandler(node,eventName,methodName);} 3882if(handler._listening){return;} 3883this._listen(node,eventName,handler);handler._listening=true;},_boundListenerKey:function(eventName,methodName){return eventName+':'+methodName;},_recordEventHandler:function(host,eventName,target,methodName,handler){var hbl=host.__boundListeners;if(!hbl){hbl=host.__boundListeners=new WeakMap();} 3884var bl=hbl.get(target);if(!bl){bl={};if(!Polymer.Settings.isIE||target!=window){hbl.set(target,bl);}} 3885var key=this._boundListenerKey(eventName,methodName);bl[key]=handler;},_recallEventHandler:function(host,eventName,target,methodName){var hbl=host.__boundListeners;if(!hbl){return;} 3886var bl=hbl.get(target);if(!bl){return;} 3887var key=this._boundListenerKey(eventName,methodName);return bl[key];},_createEventHandler:function(node,eventName,methodName){var host=this;var handler=function(e){if(host[methodName]){host[methodName](e,e.detail);}else{host._warn(host._logf('_createEventHandler','listener method `'+methodName+'` not defined'));}};handler._listening=false;this._recordEventHandler(host,eventName,node,methodName,handler);return handler;},unlisten:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(handler){this._unlisten(node,eventName,handler);handler._listening=false;}},_listen:function(node,eventName,handler){node.addEventListener(eventName,handler);},_unlisten:function(node,eventName,handler){node.removeEventListener(eventName,handler);}});(function(){'use strict';var wrap=Polymer.DomApi.wrap;var HAS_NATIVE_TA=typeof document.head.style.touchAction==='string';var GESTURE_KEY='__polymerGestures';var HANDLED_OBJ='__polymerGesturesHandled';var TOUCH_ACTION='__polymerGesturesTouchAction';var TAP_DISTANCE=25;var TRACK_DISTANCE=5;var TRACK_LENGTH=2;var MOUSE_TIMEOUT=2500;var MOUSE_EVENTS=['mousedown','mousemove','mouseup','click'];var MOUSE_WHICH_TO_BUTTONS=[0,1,4,2];var MOUSE_HAS_BUTTONS=function(){try{return new MouseEvent('test',{buttons:1}).buttons===1;}catch(e){return false;}}();var SUPPORTS_PASSIVE=false;(function(){try{var opts=Object.defineProperty({},'passive',{get:function(){SUPPORTS_PASSIVE=true;}});window.addEventListener('test',null,opts);window.removeEventListener('test',null,opts);}catch(e){}}());var IS_TOUCH_ONLY=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);var mouseCanceller=function(mouseEvent){var sc=mouseEvent.sourceCapabilities;if(sc&&!sc.firesTouchEvents){return;} 3888mouseEvent[HANDLED_OBJ]={skip:true};if(mouseEvent.type==='click'){var path=Polymer.dom(mouseEvent).path;for(var i=0;i<path.length;i++){if(path[i]===POINTERSTATE.mouse.target){return;}} 3889mouseEvent.preventDefault();mouseEvent.stopPropagation();}};function setupTeardownMouseCanceller(setup){var events=IS_TOUCH_ONLY?['click']:MOUSE_EVENTS;for(var i=0,en;i<events.length;i++){en=events[i];if(setup){document.addEventListener(en,mouseCanceller,true);}else{document.removeEventListener(en,mouseCanceller,true);}}} 3890function ignoreMouse(ev){if(!POINTERSTATE.mouse.mouseIgnoreJob){setupTeardownMouseCanceller(true);} 3891var unset=function(){setupTeardownMouseCanceller();POINTERSTATE.mouse.target=null;POINTERSTATE.mouse.mouseIgnoreJob=null;};POINTERSTATE.mouse.target=Polymer.dom(ev).rootTarget;POINTERSTATE.mouse.mouseIgnoreJob=Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob,unset,MOUSE_TIMEOUT);} 3892function hasLeftMouseButton(ev){var type=ev.type;if(MOUSE_EVENTS.indexOf(type)===-1){return false;} 3893if(type==='mousemove'){var buttons=ev.buttons===undefined?1:ev.buttons;if(ev instanceof window.MouseEvent&&!MOUSE_HAS_BUTTONS){buttons=MOUSE_WHICH_TO_BUTTONS[ev.which]||0;} 3894return Boolean(buttons&1);}else{var button=ev.button===undefined?0:ev.button;return button===0;}} 3895function isSyntheticClick(ev){if(ev.type==='click'){if(ev.detail===0){return true;} 3896var t=Gestures.findOriginalTarget(ev);var bcr=t.getBoundingClientRect();var x=ev.pageX,y=ev.pageY;return!(x>=bcr.left&&x<=bcr.right&&(y>=bcr.top&&y<=bcr.bottom));} 3897return false;} 3898var POINTERSTATE={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:false}};function firstTouchAction(ev){var path=Polymer.dom(ev).path;var ta='auto';for(var i=0,n;i<path.length;i++){n=path[i];if(n[TOUCH_ACTION]){ta=n[TOUCH_ACTION];break;}} 3899return ta;} 3900function trackDocument(stateObj,movefn,upfn){stateObj.movefn=movefn;stateObj.upfn=upfn;document.addEventListener('mousemove',movefn);document.addEventListener('mouseup',upfn);} 3901function untrackDocument(stateObj){document.removeEventListener('mousemove',stateObj.movefn);document.removeEventListener('mouseup',stateObj.upfn);stateObj.movefn=null;stateObj.upfn=null;} 3902document.addEventListener('touchend',ignoreMouse,SUPPORTS_PASSIVE?{passive:true}:false);var Gestures={gestures:{},recognizers:[],deepTargetFind:function(x,y){var node=document.elementFromPoint(x,y);var next=node;while(next&&next.shadowRoot){next=next.shadowRoot.elementFromPoint(x,y);if(next){node=next;}} 3903return node;},findOriginalTarget:function(ev){if(ev.path){return ev.path[0];} 3904return ev.target;},handleNative:function(ev){var handled;var type=ev.type;var node=wrap(ev.currentTarget);var gobj=node[GESTURE_KEY];if(!gobj){return;} 3905var gs=gobj[type];if(!gs){return;} 3906if(!ev[HANDLED_OBJ]){ev[HANDLED_OBJ]={};if(type.slice(0,5)==='touch'){var t=ev.changedTouches[0];if(type==='touchstart'){if(ev.touches.length===1){POINTERSTATE.touch.id=t.identifier;}} 3907if(POINTERSTATE.touch.id!==t.identifier){return;} 3908if(!HAS_NATIVE_TA){if(type==='touchstart'||type==='touchmove'){Gestures.handleTouchAction(ev);}}}} 3909handled=ev[HANDLED_OBJ];if(handled.skip){return;} 3910var recognizers=Gestures.recognizers;for(var i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){if(r.flow&&r.flow.start.indexOf(ev.type)>-1&&r.reset){r.reset();}}} 3911for(i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){handled[r.name]=true;r[type](ev);}}},handleTouchAction:function(ev){var t=ev.changedTouches[0];var type=ev.type;if(type==='touchstart'){POINTERSTATE.touch.x=t.clientX;POINTERSTATE.touch.y=t.clientY;POINTERSTATE.touch.scrollDecided=false;}else if(type==='touchmove'){if(POINTERSTATE.touch.scrollDecided){return;} 3912POINTERSTATE.touch.scrollDecided=true;var ta=firstTouchAction(ev);var prevent=false;var dx=Math.abs(POINTERSTATE.touch.x-t.clientX);var dy=Math.abs(POINTERSTATE.touch.y-t.clientY);if(!ev.cancelable){}else if(ta==='none'){prevent=true;}else if(ta==='pan-x'){prevent=dy>dx;}else if(ta==='pan-y'){prevent=dx>dy;} 3913if(prevent){ev.preventDefault();}else{Gestures.prevent('track');}}},add:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(!gobj){node[GESTURE_KEY]=gobj={};} 3914for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];if(IS_TOUCH_ONLY&&MOUSE_EVENTS.indexOf(dep)>-1&&dep!=='click'){continue;} 3915gd=gobj[dep];if(!gd){gobj[dep]=gd={_count:0};} 3916if(gd._count===0){node.addEventListener(dep,this.handleNative);} 3917gd[name]=(gd[name]||0)+1;gd._count=(gd._count||0)+1;} 3918node.addEventListener(evType,handler);if(recognizer.touchAction){this.setTouchAction(node,recognizer.touchAction);}},remove:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(gobj){for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];gd=gobj[dep];if(gd&&gd[name]){gd[name]=(gd[name]||1)-1;gd._count=(gd._count||1)-1;if(gd._count===0){node.removeEventListener(dep,this.handleNative);}}}} 3919node.removeEventListener(evType,handler);},register:function(recog){this.recognizers.push(recog);for(var i=0;i<recog.emits.length;i++){this.gestures[recog.emits[i]]=recog;}},findRecognizerByEvent:function(evName){for(var i=0,r;i<this.recognizers.length;i++){r=this.recognizers[i];for(var j=0,n;j<r.emits.length;j++){n=r.emits[j];if(n===evName){return r;}}} 3920return null;},setTouchAction:function(node,value){if(HAS_NATIVE_TA){node.style.touchAction=value;} 3921node[TOUCH_ACTION]=value;},fire:function(target,type,detail){var ev=Polymer.Base.fire(type,detail,{node:target,bubbles:true,cancelable:true});if(ev.defaultPrevented){var preventer=detail.preventer||detail.sourceEvent;if(preventer&&preventer.preventDefault){preventer.preventDefault();}}},prevent:function(evName){var recognizer=this.findRecognizerByEvent(evName);if(recognizer.info){recognizer.info.prevent=true;}},resetMouseCanceller:function(){if(POINTERSTATE.mouse.mouseIgnoreJob){POINTERSTATE.mouse.mouseIgnoreJob.complete();}}};Gestures.register({name:'downup',deps:['mousedown','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['down','up'],info:{movefn:null,upfn:null},reset:function(){untrackDocument(this.info);},mousedown:function(e){if(!hasLeftMouseButton(e)){return;} 3922var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){if(!hasLeftMouseButton(e)){self.fire('up',t,e);untrackDocument(self.info);}};var upfn=function upfn(e){if(hasLeftMouseButton(e)){self.fire('up',t,e);} 3923untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.fire('down',t,e);},touchstart:function(e){this.fire('down',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},touchend:function(e){this.fire('up',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},fire:function(type,target,event,preventer){Gestures.fire(target,type,{x:event.clientX,y:event.clientY,sourceEvent:event,preventer:preventer,prevent:function(e){return Gestures.prevent(e);}});}});Gestures.register({name:'track',touchAction:'none',deps:['mousedown','touchstart','touchmove','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['track'],info:{x:0,y:0,state:'start',started:false,moves:[],addMove:function(move){if(this.moves.length>TRACK_LENGTH){this.moves.shift();} 3924this.moves.push(move);},movefn:null,upfn:null,prevent:false},reset:function(){this.info.state='start';this.info.started=false;this.info.moves=[];this.info.x=0;this.info.y=0;this.info.prevent=false;untrackDocument(this.info);},hasMovedEnough:function(x,y){if(this.info.prevent){return false;} 3925if(this.info.started){return true;} 3926var dx=Math.abs(this.info.x-x);var dy=Math.abs(this.info.y-y);return dx>=TRACK_DISTANCE||dy>=TRACK_DISTANCE;},mousedown:function(e){if(!hasLeftMouseButton(e)){return;} 3927var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){var x=e.clientX,y=e.clientY;if(self.hasMovedEnough(x,y)){self.info.state=self.info.started?e.type==='mouseup'?'end':'track':'start';if(self.info.state==='start'){Gestures.prevent('tap');} 3928self.info.addMove({x:x,y:y});if(!hasLeftMouseButton(e)){self.info.state='end';untrackDocument(self.info);} 3929self.fire(t,e);self.info.started=true;}};var upfn=function upfn(e){if(self.info.started){movefn(e);} 3930untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.info.x=e.clientX;this.info.y=e.clientY;},touchstart:function(e){var ct=e.changedTouches[0];this.info.x=ct.clientX;this.info.y=ct.clientY;},touchmove:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];var x=ct.clientX,y=ct.clientY;if(this.hasMovedEnough(x,y)){if(this.info.state==='start'){Gestures.prevent('tap');} 3931this.info.addMove({x:x,y:y});this.fire(t,ct);this.info.state='track';this.info.started=true;}},touchend:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];if(this.info.started){this.info.state='end';this.info.addMove({x:ct.clientX,y:ct.clientY});this.fire(t,ct,e);}},fire:function(target,touch,preventer){var secondlast=this.info.moves[this.info.moves.length-2];var lastmove=this.info.moves[this.info.moves.length-1];var dx=lastmove.x-this.info.x;var dy=lastmove.y-this.info.y;var ddx,ddy=0;if(secondlast){ddx=lastmove.x-secondlast.x;ddy=lastmove.y-secondlast.y;} 3932return Gestures.fire(target,'track',{state:this.info.state,x:touch.clientX,y:touch.clientY,dx:dx,dy:dy,ddx:ddx,ddy:ddy,sourceEvent:touch,preventer:preventer,hover:function(){return Gestures.deepTargetFind(touch.clientX,touch.clientY);}});}});Gestures.register({name:'tap',deps:['mousedown','click','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['click','touchend']},emits:['tap'],info:{x:NaN,y:NaN,prevent:false},reset:function(){this.info.x=NaN;this.info.y=NaN;this.info.prevent=false;},save:function(e){this.info.x=e.clientX;this.info.y=e.clientY;},mousedown:function(e){if(hasLeftMouseButton(e)){this.save(e);}},click:function(e){if(hasLeftMouseButton(e)){this.forward(e);}},touchstart:function(e){this.save(e.changedTouches[0],e);},touchend:function(e){this.forward(e.changedTouches[0],e);},forward:function(e,preventer){var dx=Math.abs(e.clientX-this.info.x);var dy=Math.abs(e.clientY-this.info.y);var t=Gestures.findOriginalTarget(e);if(isNaN(dx)||isNaN(dy)||dx<=TAP_DISTANCE&&dy<=TAP_DISTANCE||isSyntheticClick(e)){if(!this.info.prevent){Gestures.fire(t,'tap',{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:preventer});}}}});var DIRECTION_MAP={x:'pan-x',y:'pan-y',none:'none',all:'auto'};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null;},_listen:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.add(node,eventName,handler);}else{node.addEventListener(eventName,handler);}},_unlisten:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.remove(node,eventName,handler);}else{node.removeEventListener(eventName,handler);}},setScrollDirection:function(direction,node){node=node||this;Gestures.setTouchAction(node,DIRECTION_MAP[direction]||'auto');}});Polymer.Gestures=Gestures;}());(function(){'use strict';Polymer.Base._addFeature({$$:function(slctr){return Polymer.dom(this.root).querySelector(slctr);},toggleClass:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.classList.contains(name);} 3933if(bool){Polymer.dom(node).classList.add(name);}else{Polymer.dom(node).classList.remove(name);}},toggleAttribute:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.hasAttribute(name);} 3934if(bool){Polymer.dom(node).setAttribute(name,'');}else{Polymer.dom(node).removeAttribute(name);}},classFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).classList.remove(name);} 3935if(toElement){Polymer.dom(toElement).classList.add(name);}},attributeFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).removeAttribute(name);} 3936if(toElement){Polymer.dom(toElement).setAttribute(name,'');}},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes();},getEffectiveChildren:function(){var list=Polymer.dom(this).getEffectiveChildNodes();return list.filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},getEffectiveTextContent:function(){var cn=this.getEffectiveChildNodes();var tc=[];for(var i=0,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(Polymer.dom(c).textContent);}} 3937return tc.join('');},queryEffectiveChildren:function(slctr){var e$=Polymer.dom(this).queryDistributedElements(slctr);return e$&&e$[0];},queryAllEffectiveChildren:function(slctr){return Polymer.dom(this).queryDistributedElements(slctr);},getContentChildNodes:function(slctr){var content=Polymer.dom(this.root).querySelector(slctr||'content');return content?Polymer.dom(content).getDistributedNodes():[];},getContentChildren:function(slctr){return this.getContentChildNodes(slctr).filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},fire:function(type,detail,options){options=options||Polymer.nob;var node=options.node||this;detail=detail===null||detail===undefined?{}:detail;var bubbles=options.bubbles===undefined?true:options.bubbles;var cancelable=Boolean(options.cancelable);var useCache=options._useCache;var event=this._getEvent(type,bubbles,cancelable,useCache);event.detail=detail;if(useCache){this.__eventCache[type]=null;} 3938node.dispatchEvent(event);if(useCache){this.__eventCache[type]=event;} 3939return event;},__eventCache:{},_getEvent:function(type,bubbles,cancelable,useCache){var event=useCache&&this.__eventCache[type];if(!event||(event.bubbles!=bubbles||event.cancelable!=cancelable)){event=new Event(type,{bubbles:Boolean(bubbles),cancelable:cancelable});} 3940return event;},async:function(callback,waitTime){var self=this;return Polymer.Async.run(function(){callback.call(self);},waitTime);},cancelAsync:function(handle){Polymer.Async.cancel(handle);},arrayDelete:function(path,item){var index;if(Array.isArray(path)){index=path.indexOf(item);if(index>=0){return path.splice(index,1);}}else{var arr=this._get(path);index=arr.indexOf(item);if(index>=0){return this.splice(path,index,1);}}},transform:function(transform,node){node=node||this;node.style.webkitTransform=transform;node.style.transform=transform;},translate3d:function(x,y,z,node){node=node||this;this.transform('translate3d('+x+','+y+','+z+')',node);},importHref:function(href,onload,onerror,optAsync){var link=document.createElement('link');link.rel='import';link.href=href;var list=Polymer.Base.importHref.imported=Polymer.Base.importHref.imported||{};var cached=list[link.href];var imprt=cached||link;var self=this;var loadListener=function(e){e.target.__firedLoad=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onload.call(self,e);};var errorListener=function(e){e.target.__firedError=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onerror.call(self,e);};if(onload){imprt.addEventListener('load',loadListener);} 3941if(onerror){imprt.addEventListener('error',errorListener);} 3942if(cached){if(cached.__firedLoad){cached.dispatchEvent(new Event('load'));} 3943if(cached.__firedError){cached.dispatchEvent(new Event('error'));}}else{list[link.href]=link;optAsync=Boolean(optAsync);if(optAsync){link.setAttribute('async','');} 3944document.head.appendChild(link);} 3945return imprt;},create:function(tag,props){var elt=document.createElement(tag);if(props){for(var n in props){elt[n]=props[n];}} 3946return elt;},isLightDescendant:function(node){return this!==node&&this.contains(node)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(node).getOwnerRoot();},isLocalDescendant:function(node){return this.root===Polymer.dom(node).getOwnerRoot();}});if(!Polymer.Settings.useNativeCustomElements){var importHref=Polymer.Base.importHref;Polymer.Base.importHref=function(href,onload,onerror,optAsync){CustomElements.ready=false;var loadFn=function(e){CustomElements.upgradeDocumentTree(document);CustomElements.ready=true;if(onload){return onload.call(this,e);}};return importHref.call(this,href,loadFn,onerror,optAsync);};}}());Polymer.Bind={prepareModel:function(model){Polymer.Base.mixin(model,this._modelApi);},_modelApi:{_notifyChange:function(source,event,value){value=value===undefined?this[source]:value;event=event||Polymer.CaseMap.camelToDashCase(source)+'-changed';this.fire(event,{value:value},{bubbles:false,cancelable:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_propertySetter:function(property,value,effects,fromAbove){var old=this.__data__[property];if(old!==value&&(old===old||value===value)){this.__data__[property]=value;if(typeof value=='object'){this._clearPath(property);} 3947if(this._propertyChanged){this._propertyChanged(property,value,old);} 3948if(effects){this._effectEffects(property,value,effects,old,fromAbove);}} 3949return old;},__setProperty:function(property,value,quiet,node){node=node||this;var effects=node._propertyEffects&&node._propertyEffects[property];if(effects){node._propertySetter(property,value,effects,quiet);}else if(node[property]!==value){node[property]=value;}},_effectEffects:function(property,value,effects,old,fromAbove){for(var i=0,l=effects.length,fx;i<l&&(fx=effects[i]);i++){fx.fn.call(this,property,this[property],fx.effect,old,fromAbove);}},_clearPath:function(path){for(var prop in this.__data__){if(Polymer.Path.isDescendant(path,prop)){this.__data__[prop]=undefined;}}}},ensurePropertyEffects:function(model,property){if(!model._propertyEffects){model._propertyEffects={};} 3950var fx=model._propertyEffects[property];if(!fx){fx=model._propertyEffects[property]=[];} 3951return fx;},addPropertyEffect:function(model,property,kind,effect){var fx=this.ensurePropertyEffects(model,property);var propEffect={kind:kind,effect:effect,fn:Polymer.Bind['_'+kind+'Effect']};fx.push(propEffect);return propEffect;},createBindings:function(model){var fx$=model._propertyEffects;if(fx$){for(var n in fx$){var fx=fx$[n];fx.sort(this._sortPropertyEffects);this._createAccessors(model,n,fx);}}},_sortPropertyEffects:function(){var EFFECT_ORDER={'compute':0,'annotation':1,'annotatedComputation':2,'reflect':3,'notify':4,'observer':5,'complexObserver':6,'function':7};return function(a,b){return EFFECT_ORDER[a.kind]-EFFECT_ORDER[b.kind];};}(),_createAccessors:function(model,property,effects){var defun={get:function(){return this.__data__[property];}};var setter=function(value){this._propertySetter(property,value,effects);};var info=model.getPropertyInfo&&model.getPropertyInfo(property);if(info&&info.readOnly){if(!info.computed){model['_set'+this.upper(property)]=setter;}}else{defun.set=setter;} 3952Object.defineProperty(model,property,defun);},upper:function(name){return name[0].toUpperCase()+name.substring(1);},_addAnnotatedListener:function(model,index,property,path,event,negated){if(!model._bindListeners){model._bindListeners=[];} 3953var fn=this._notedListenerFactory(property,path,Polymer.Path.isDeep(path),negated);var eventName=event||Polymer.CaseMap.camelToDashCase(property)+'-changed';model._bindListeners.push({index:index,property:property,path:path,changedFn:fn,event:eventName});},_isEventBogus:function(e,target){return e.path&&e.path[0]!==target;},_notedListenerFactory:function(property,path,isStructured,negated){return function(target,value,targetPath){if(targetPath){var newPath=Polymer.Path.translate(property,path,targetPath);this._notifyPath(newPath,value);}else{value=target[property];if(negated){value=!value;} 3954if(!isStructured){this[path]=value;}else{if(this.__data__[path]!=value){this.set(path,value);}}}};},prepareInstance:function(inst){inst.__data__=Object.create(null);},setupBindListeners:function(inst){var b$=inst._bindListeners;for(var i=0,l=b$.length,info;i<l&&(info=b$[i]);i++){var node=inst._nodes[info.index];this._addNotifyListener(node,inst,info.event,info.changedFn);}},_addNotifyListener:function(element,context,event,changedFn){element.addEventListener(event,function(e){return context._notifyListener(changedFn,e);});}};Polymer.Base.mixin(Polymer.Bind,{_shouldAddListener:function(effect){return effect.name&&effect.kind!='attribute'&&effect.kind!='text'&&!effect.isCompound&&effect.parts[0].mode==='{';},_annotationEffect:function(source,value,effect){if(source!=effect.value){value=this._get(effect.value);this.__data__[effect.value]=value;} 3955this._applyEffectValue(effect,value);},_reflectEffect:function(source,value,effect){this.reflectPropertyToAttribute(source,effect.attribute,value);},_notifyEffect:function(source,value,effect,old,fromAbove){if(!fromAbove){this._notifyChange(source,effect.event,value);}},_functionEffect:function(source,value,fn,old,fromAbove){fn.call(this,source,value,old,fromAbove);},_observerEffect:function(source,value,effect,old){var fn=this[effect.method];if(fn){fn.call(this,value,old);}else{this._warn(this._logf('_observerEffect','observer method `'+effect.method+'` not defined'));}},_complexObserverEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){fn.apply(this,args);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_complexObserverEffect','observer method `'+effect.method+'` not defined'));}},_computeEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(this,args);this.__setProperty(effect.name,computedvalue);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_computeEffect','compute method `'+effect.method+'` not defined'));}},_annotatedComputationEffect:function(source,value,effect){var computedHost=this._rootDataHost||this;var fn=computedHost[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(computedHost,args);this._applyEffectValue(effect,computedvalue);}}else if(effect.dynamicFn){}else{computedHost._warn(computedHost._logf('_annotatedComputationEffect','compute method `'+effect.method+'` not defined'));}},_marshalArgs:function(model,effect,path,value){var values=[];var args=effect.args;var bailoutEarly=args.length>1||effect.dynamicFn;for(var i=0,l=args.length;i<l;i++){var arg=args[i];var name=arg.name;var v;if(arg.literal){v=arg.value;}else if(path===name){v=value;}else{v=model[name];if(v===undefined&&arg.structured){v=Polymer.Base._get(name,model);}} 3956if(bailoutEarly&&v===undefined){return;} 3957if(arg.wildcard){var matches=Polymer.Path.isAncestor(path,name);values[i]={path:matches?path:name,value:matches?value:v,base:v};}else{values[i]=v;}} 3958return values;}});Polymer.Base._addFeature({_addPropertyEffect:function(property,kind,effect){var prop=Polymer.Bind.addPropertyEffect(this,property,kind,effect);prop.pathFn=this['_'+prop.kind+'PathEffect'];},_prepEffects:function(){Polymer.Bind.prepareModel(this);this._addAnnotationEffects(this._notes);},_prepBindings:function(){Polymer.Bind.createBindings(this);},_addPropertyEffects:function(properties){if(properties){for(var p in properties){var prop=properties[p];if(prop.observer){this._addObserverEffect(p,prop.observer);} 3959if(prop.computed){prop.readOnly=true;this._addComputedEffect(p,prop.computed);} 3960if(prop.notify){this._addPropertyEffect(p,'notify',{event:Polymer.CaseMap.camelToDashCase(p)+'-changed'});} 3961if(prop.reflectToAttribute){var attr=Polymer.CaseMap.camelToDashCase(p);if(attr[0]==='-'){this._warn(this._logf('_addPropertyEffects','Property '+p+' cannot be reflected to attribute '+attr+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.'));}else{this._addPropertyEffect(p,'reflect',{attribute:attr});}} 3962if(prop.readOnly){Polymer.Bind.ensurePropertyEffects(this,p);}}}},_addComputedEffect:function(name,expression){var sig=this._parseMethod(expression);var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'compute',{method:sig.method,args:sig.args,trigger:arg,name:name,dynamicFn:dynamicFn});} 3963if(dynamicFn){this._addPropertyEffect(sig.method,'compute',{method:sig.method,args:sig.args,trigger:null,name:name,dynamicFn:dynamicFn});}},_addObserverEffect:function(property,observer){this._addPropertyEffect(property,'observer',{method:observer,property:property});},_addComplexObserverEffects:function(observers){if(observers){for(var i=0,o;i<observers.length&&(o=observers[i]);i++){this._addComplexObserverEffect(o);}}},_addComplexObserverEffect:function(observer){var sig=this._parseMethod(observer);if(!sig){throw new Error('Malformed observer expression \''+observer+'\'');} 3964var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'complexObserver',{method:sig.method,args:sig.args,trigger:arg,dynamicFn:dynamicFn});} 3965if(dynamicFn){this._addPropertyEffect(sig.method,'complexObserver',{method:sig.method,args:sig.args,trigger:null,dynamicFn:dynamicFn});}},_addAnnotationEffects:function(notes){for(var i=0,note;i<notes.length&&(note=notes[i]);i++){var b$=note.bindings;for(var j=0,binding;j<b$.length&&(binding=b$[j]);j++){this._addAnnotationEffect(binding,i);}}},_addAnnotationEffect:function(note,index){if(Polymer.Bind._shouldAddListener(note)){Polymer.Bind._addAnnotatedListener(this,index,note.name,note.parts[0].value,note.parts[0].event,note.parts[0].negate);} 3966for(var i=0;i<note.parts.length;i++){var part=note.parts[i];if(part.signature){this._addAnnotatedComputationEffect(note,part,index);}else if(!part.literal){if(note.kind==='attribute'&¬e.name[0]==='-'){this._warn(this._logf('_addAnnotationEffect','Cannot set attribute '+note.name+' because "-" is not a valid attribute starting character'));}else{this._addPropertyEffect(part.model,'annotation',{kind:note.kind,index:index,name:note.name,propertyName:note.propertyName,value:part.value,isCompound:note.isCompound,compoundIndex:part.compoundIndex,event:part.event,customEvent:part.customEvent,negate:part.negate});}}}},_addAnnotatedComputationEffect:function(note,part,index){var sig=part.signature;if(sig.static){this.__addAnnotatedComputationEffect('__static__',index,note,part,null);}else{for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){if(!arg.literal){this.__addAnnotatedComputationEffect(arg.model,index,note,part,arg);}} 3967if(sig.dynamicFn){this.__addAnnotatedComputationEffect(sig.method,index,note,part,null);}}},__addAnnotatedComputationEffect:function(property,index,note,part,trigger){this._addPropertyEffect(property,'annotatedComputation',{index:index,isCompound:note.isCompound,compoundIndex:part.compoundIndex,kind:note.kind,name:note.name,negate:part.negate,method:part.signature.method,args:part.signature.args,trigger:trigger,dynamicFn:part.signature.dynamicFn});},_parseMethod:function(expression){var m=expression.match(/([^\s]+?)\(([\s\S]*)\)/);if(m){var sig={method:m[1],static:true};if(this.getPropertyInfo(sig.method)!==Polymer.nob){sig.static=false;sig.dynamicFn=true;} 3968if(m[2].trim()){var args=m[2].replace(/\\,/g,',').split(',');return this._parseArgs(args,sig);}else{sig.args=Polymer.nar;return sig;}}},_parseArgs:function(argList,sig){sig.args=argList.map(function(rawArg){var arg=this._parseArg(rawArg);if(!arg.literal){sig.static=false;} 3969return arg;},this);return sig;},_parseArg:function(rawArg){var arg=rawArg.trim().replace(/,/g,',').replace(/\\(.)/g,'$1');var a={name:arg};var fc=arg[0];if(fc==='-'){fc=arg[1];} 3970if(fc>='0'&&fc<='9'){fc='#';} 3971switch(fc){case'\'':case'"':a.value=arg.slice(1,-1);a.literal=true;break;case'#':a.value=Number(arg);a.literal=true;break;} 3972if(!a.literal){a.model=Polymer.Path.root(arg);a.structured=Polymer.Path.isDeep(arg);if(a.structured){a.wildcard=arg.slice(-2)=='.*';if(a.wildcard){a.name=arg.slice(0,-2);}}} 3973return a;},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this);if(this._bindListeners){Polymer.Bind.setupBindListeners(this);}},_applyEffectValue:function(info,value){var node=this._nodes[info.index];var property=info.name;value=this._computeFinalAnnotationValue(node,property,value,info);if(info.kind=='attribute'){this.serializeValueToAttribute(value,property,node);}else{var pinfo=node._propertyInfo&&node._propertyInfo[property];if(pinfo&&pinfo.readOnly){return;} 3974this.__setProperty(property,value,Polymer.Settings.suppressBindingNotifications,node);}},_computeFinalAnnotationValue:function(node,property,value,info){if(info.negate){value=!value;} 3975if(info.isCompound){var storage=node.__compoundStorage__[property];storage[info.compoundIndex]=value;value=storage.join('');} 3976if(info.kind!=='attribute'){if(property==='className'){value=this._scopeElementClass(node,value);} 3977if(property==='textContent'||node.localName=='input'&&property=='value'){value=value==undefined?'':value;}} 3978return value;},_executeStaticEffects:function(){if(this._propertyEffects&&this._propertyEffects.__static__){this._effectEffects('__static__',null,this._propertyEffects.__static__);}}});(function(){var usePolyfillProto=Polymer.Settings.usePolyfillProto;var avoidInstanceProperties=Boolean(Object.getOwnPropertyDescriptor(document.documentElement,'properties'));Polymer.Base._addFeature({_setupConfigure:function(initialConfig){this._config={};this._handlers=[];this._aboveConfig=null;if(initialConfig){for(var i in initialConfig){if(initialConfig[i]!==undefined){this._config[i]=initialConfig[i];}}}},_marshalAttributes:function(){this._takeAttributesToModel(this._config);},_attributeChangedImpl:function(name){var model=this._clientsReadied?this:this._config;this._setAttributeToProperty(model,name);},_configValue:function(name,value){var info=this._propertyInfo[name];if(!info||!info.readOnly){this._config[name]=value;}},_beforeClientsReady:function(){this._configure();},_configure:function(){this._configureAnnotationReferences();this._configureInstanceProperties();this._aboveConfig=this.mixin({},this._config);var config={};for(var i=0;i<this.behaviors.length;i++){this._configureProperties(this.behaviors[i].properties,config);} 3979this._configureProperties(avoidInstanceProperties?this.__proto__.properties:this.properties,config);this.mixin(config,this._aboveConfig);this._config=config;if(this._clients&&this._clients.length){this._distributeConfig(this._config);}},_configureInstanceProperties:function(){for(var i in this._propertyEffects){if(!usePolyfillProto&&this.hasOwnProperty(i)){this._configValue(i,this[i]);delete this[i];}}},_configureProperties:function(properties,config){for(var i in properties){var c=properties[i];if(c.value!==undefined){var value=c.value;if(typeof value=='function'){value=value.call(this,this._config);} 3980config[i]=value;}}},_distributeConfig:function(config){var fx$=this._propertyEffects;if(fx$){for(var p in config){var fx=fx$[p];if(fx){for(var i=0,l=fx.length,x;i<l&&(x=fx[i]);i++){if(x.kind==='annotation'){var node=this._nodes[x.effect.index];var name=x.effect.propertyName;var isAttr=x.effect.kind=='attribute';var hasEffect=node._propertyEffects&&node._propertyEffects[name];if(node._configValue&&(hasEffect||!isAttr)){var value=p===x.effect.value?config[p]:this._get(x.effect.value,config);value=this._computeFinalAnnotationValue(node,name,value,x.effect);if(isAttr){value=node.deserialize(this.serialize(value),node._propertyInfo[name].type);} 3981node._configValue(name,value);}}}}}}},_afterClientsReady:function(){this._executeStaticEffects();this._applyConfig(this._config,this._aboveConfig);this._flushHandlers();},_applyConfig:function(config,aboveConfig){for(var n in config){if(this[n]===undefined){this.__setProperty(n,config[n],n in aboveConfig);}}},_notifyListener:function(fn,e){if(!Polymer.Bind._isEventBogus(e,e.target)){var value,path;if(e.detail){value=e.detail.value;path=e.detail.path;} 3982if(!this._clientsReadied){this._queueHandler([fn,e.target,value,path]);}else{return fn.call(this,e.target,value,path);}}},_queueHandler:function(args){this._handlers.push(args);},_flushHandlers:function(){var h$=this._handlers;for(var i=0,l=h$.length,h;i<l&&(h=h$[i]);i++){h[0].call(this,h[1],h[2],h[3]);} 3983this._handlers=[];}});}());(function(){'use strict';var Path=Polymer.Path;Polymer.Base._addFeature({notifyPath:function(path,value,fromAbove){var info={};var v=this._get(path,this,info);if(arguments.length===1){value=v;} 3984if(info.path){this._notifyPath(info.path,value,fromAbove);}},_notifyPath:function(path,value,fromAbove){var old=this._propertySetter(path,value);if(old!==value&&(old===old||value===value)){this._pathEffector(path,value);if(!fromAbove){this._notifyPathUp(path,value);} 3985return true;}},_getPathParts:function(path){if(Array.isArray(path)){var parts=[];for(var i=0;i<path.length;i++){var args=path[i].toString().split('.');for(var j=0;j<args.length;j++){parts.push(args[j]);}} 3986return parts;}else{return path.toString().split('.');}},set:function(path,value,root){var prop=root||this;var parts=this._getPathParts(path);var array;var last=parts[parts.length-1];if(parts.length>1){for(var i=0;i<parts.length-1;i++){var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}} 3987if(!prop){return;} 3988array=Array.isArray(prop)?prop:null;} 3989if(array){var coll=Polymer.Collection.get(array);var old,key;if(last[0]=='#'){key=last;old=coll.getItem(key);last=array.indexOf(old);coll.setItem(key,value);}else if(parseInt(last,10)==last){old=prop[last];key=coll.getKey(old);parts[i]=key;coll.setItem(key,value);}} 3990prop[last]=value;if(!root){this._notifyPath(parts.join('.'),value);}}else{prop[path]=value;}},get:function(path,root){return this._get(path,root);},_get:function(path,root,info){var prop=root||this;var parts=this._getPathParts(path);var array;for(var i=0;i<parts.length;i++){if(!prop){return;} 3991var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(info&&array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}} 3992array=Array.isArray(prop)?prop:null;} 3993if(info){info.path=parts.join('.');} 3994return prop;},_pathEffector:function(path,value){var model=Path.root(path);var fx$=this._propertyEffects&&this._propertyEffects[model];if(fx$){for(var i=0,fx;i<fx$.length&&(fx=fx$[i]);i++){var fxFn=fx.pathFn;if(fxFn){fxFn.call(this,path,value,fx.effect);}}} 3995if(this._boundPaths){this._notifyBoundPaths(path,value);}},_annotationPathEffect:function(path,value,effect){if(Path.matches(effect.value,false,path)){Polymer.Bind._annotationEffect.call(this,path,value,effect);}else if(!effect.negate&&Path.isDescendant(effect.value,path)){var node=this._nodes[effect.index];if(node&&node._notifyPath){var newPath=Path.translate(effect.value,effect.name,path);node._notifyPath(newPath,value,true);}}},_complexObserverPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._complexObserverEffect.call(this,path,value,effect);}},_computePathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._computeEffect.call(this,path,value,effect);}},_annotatedComputationPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._annotatedComputationEffect.call(this,path,value,effect);}},linkPaths:function(to,from){this._boundPaths=this._boundPaths||{};if(from){this._boundPaths[to]=from;}else{this.unlinkPaths(to);}},unlinkPaths:function(path){if(this._boundPaths){delete this._boundPaths[path];}},_notifyBoundPaths:function(path,value){for(var a in this._boundPaths){var b=this._boundPaths[a];if(Path.isDescendant(a,path)){this._notifyPath(Path.translate(a,b,path),value);}else if(Path.isDescendant(b,path)){this._notifyPath(Path.translate(b,a,path),value);}}},_notifyPathUp:function(path,value){var rootName=Path.root(path);var dashCaseName=Polymer.CaseMap.camelToDashCase(rootName);var eventName=dashCaseName+this._EVENT_CHANGED;this.fire(eventName,{path:path,value:value},{bubbles:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_EVENT_CHANGED:'-changed',notifySplices:function(path,splices){var info={};var array=this._get(path,this,info);this._notifySplices(array,info.path,splices);},_notifySplices:function(array,path,splices){var change={keySplices:Polymer.Collection.applySplices(array,splices),indexSplices:splices};var splicesPath=path+'.splices';this._notifyPath(splicesPath,change);this._notifyPath(path+'.length',array.length);this.__data__[splicesPath]={keySplices:null,indexSplices:null};},_notifySplice:function(array,path,index,added,removed){this._notifySplices(array,path,[{index:index,addedCount:added,removed:removed,object:array,type:'splice'}]);},push:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var len=array.length;var ret=array.push.apply(array,args);if(args.length){this._notifySplice(array,info.path,len,args.length,[]);} 3996return ret;},pop:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.pop.apply(array,args);if(hadLength){this._notifySplice(array,info.path,array.length,0,[ret]);} 3997return ret;},splice:function(path,start){var info={};var array=this._get(path,this,info);if(start<0){start=array.length-Math.floor(-start);}else{start=Math.floor(start);} 3998if(!start){start=0;} 3999var args=Array.prototype.slice.call(arguments,1);var ret=array.splice.apply(array,args);var addedCount=Math.max(args.length-2,0);if(addedCount||ret.length){this._notifySplice(array,info.path,start,addedCount,ret);} 4000return ret;},shift:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.shift.apply(array,args);if(hadLength){this._notifySplice(array,info.path,0,0,[ret]);} 4001return ret;},unshift:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var ret=array.unshift.apply(array,args);if(args.length){this._notifySplice(array,info.path,0,args.length,[]);} 4002return ret;},prepareModelNotifyPath:function(model){this.mixin(model,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts});}});}());Polymer.Base._addFeature({resolveUrl:function(url){var module=Polymer.DomModule.import(this.is);var root='';if(module){var assetPath=module.getAttribute('assetpath')||'';root=Polymer.ResolveUrl.resolveUrl(assetPath,module.ownerDocument.baseURI);} 4003return Polymer.ResolveUrl.resolveUrl(url,root);}});Polymer.CssParse=function(){return{parse:function(text){text=this._clean(text);return this._parseCss(this._lex(text),text);},_clean:function(cssText){return cssText.replace(this._rx.comments,'').replace(this._rx.port,'');},_lex:function(text){var root={start:0,end:text.length};var n=root;for(var i=0,l=text.length;i<l;i++){switch(text[i]){case this.OPEN_BRACE:if(!n.rules){n.rules=[];} 4004var p=n;var previous=p.rules[p.rules.length-1];n={start:i+1,parent:p,previous:previous};p.rules.push(n);break;case this.CLOSE_BRACE:n.end=i+1;n=n.parent||root;break;}} 4005return root;},_parseCss:function(node,text){var t=text.substring(node.start,node.end-1);node.parsedCssText=node.cssText=t.trim();if(node.parent){var ss=node.previous?node.previous.end:node.parent.start;t=text.substring(ss,node.start-1);t=this._expandUnicodeEscapes(t);t=t.replace(this._rx.multipleSpaces,' ');t=t.substring(t.lastIndexOf(';')+1);var s=node.parsedSelector=node.selector=t.trim();node.atRule=s.indexOf(this.AT_START)===0;if(node.atRule){if(s.indexOf(this.MEDIA_START)===0){node.type=this.types.MEDIA_RULE;}else if(s.match(this._rx.keyframesRule)){node.type=this.types.KEYFRAMES_RULE;node.keyframesName=node.selector.split(this._rx.multipleSpaces).pop();}}else{if(s.indexOf(this.VAR_START)===0){node.type=this.types.MIXIN_RULE;}else{node.type=this.types.STYLE_RULE;}}} 4006var r$=node.rules;if(r$){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this._parseCss(r,text);}} 4007return node;},_expandUnicodeEscapes:function(s){return s.replace(/\\([0-9a-f]{1,6})\s/gi,function(){var code=arguments[1],repeat=6-code.length;while(repeat--){code='0'+code;} 4008return'\\'+code;});},stringify:function(node,preserveProperties,text){text=text||'';var cssText='';if(node.cssText||node.rules){var r$=node.rules;if(r$&&!this._hasMixinRules(r$)){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){cssText=this.stringify(r,preserveProperties,cssText);}}else{cssText=preserveProperties?node.cssText:this.removeCustomProps(node.cssText);cssText=cssText.trim();if(cssText){cssText=' '+cssText+'\n';}}} 4009if(cssText){if(node.selector){text+=node.selector+' '+this.OPEN_BRACE+'\n';} 4010text+=cssText;if(node.selector){text+=this.CLOSE_BRACE+'\n\n';}} 4011return text;},_hasMixinRules:function(rules){return rules[0].selector.indexOf(this.VAR_START)===0;},removeCustomProps:function(cssText){cssText=this.removeCustomPropAssignment(cssText);return this.removeCustomPropApply(cssText);},removeCustomPropAssignment:function(cssText){return cssText.replace(this._rx.customProp,'').replace(this._rx.mixinProp,'');},removeCustomPropApply:function(cssText){return cssText.replace(this._rx.mixinApply,'').replace(this._rx.varApply,'');},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1000},OPEN_BRACE:'{',CLOSE_BRACE:'}',_rx:{comments:/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START:'--',MEDIA_START:'@media',AT_START:'@'};}();Polymer.StyleUtil=function(){var settings=Polymer.Settings;return{NATIVE_VARIABLES:Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:'style, link[rel=import][type~=css], template',INCLUDE_ATTR:'include',toCssText:function(rules,callback){if(typeof rules==='string'){rules=this.parser.parse(rules);} 4012if(callback){this.forEachRule(rules,callback);} 4013return this.parser.stringify(rules,this.NATIVE_VARIABLES);},forRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback);}}},forActiveRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback,true);}}},rulesForStyle:function(style){if(!style.__cssRules&&style.textContent){style.__cssRules=this.parser.parse(style.textContent);} 4014return style.__cssRules;},isKeyframesSelector:function(rule){return rule.parent&&rule.parent.type===this.ruleTypes.KEYFRAMES_RULE;},forEachRuleInStyle:function(style,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){var rules=this.rulesForStyle(style);var styleCallback,keyframeCallback;if(styleRuleCallback){styleCallback=function(rule){styleRuleCallback(rule,style);};} 4015if(keyframesRuleCallback){keyframeCallback=function(rule){keyframesRuleCallback(rule,style);};} 4016this.forEachRule(rules,styleCallback,keyframeCallback,onlyActiveRules);},forEachRule:function(node,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){if(!node){return;} 4017var skipRules=false;if(onlyActiveRules){if(node.type===this.ruleTypes.MEDIA_RULE){var matchMedia=node.selector.match(this.rx.MEDIA_MATCH);if(matchMedia){if(!window.matchMedia(matchMedia[1]).matches){skipRules=true;}}}} 4018if(node.type===this.ruleTypes.STYLE_RULE){styleRuleCallback(node);}else if(keyframesRuleCallback&&node.type===this.ruleTypes.KEYFRAMES_RULE){keyframesRuleCallback(node);}else if(node.type===this.ruleTypes.MIXIN_RULE){skipRules=true;} 4019var r$=node.rules;if(r$&&!skipRules){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this.forEachRule(r,styleRuleCallback,keyframesRuleCallback,onlyActiveRules);}}},applyCss:function(cssText,moniker,target,contextNode){var style=this.createScopeStyle(cssText,moniker);return this.applyStyle(style,target,contextNode);},applyStyle:function(style,target,contextNode){target=target||document.head;var after=contextNode&&contextNode.nextSibling||target.firstChild;this.__lastHeadApplyNode=style;return target.insertBefore(style,after);},createScopeStyle:function(cssText,moniker){var style=document.createElement('style');if(moniker){style.setAttribute('scope',moniker);} 4020style.textContent=cssText;return style;},__lastHeadApplyNode:null,applyStylePlaceHolder:function(moniker){var placeHolder=document.createComment(' Shady DOM styles for '+moniker+' ');var after=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null;var scope=document.head;scope.insertBefore(placeHolder,after||scope.firstChild);this.__lastHeadApplyNode=placeHolder;return placeHolder;},cssFromModules:function(moduleIds,warnIfNotFound){var modules=moduleIds.trim().split(' ');var cssText='';for(var i=0;i<modules.length;i++){cssText+=this.cssFromModule(modules[i],warnIfNotFound);} 4021return cssText;},cssFromModule:function(moduleId,warnIfNotFound){var m=Polymer.DomModule.import(moduleId);if(m&&!m._cssText){m._cssText=this.cssFromElement(m);} 4022if(!m&&warnIfNotFound){console.warn('Could not find style data in module named',moduleId);} 4023return m&&m._cssText||'';},cssFromElement:function(element){var cssText='';var content=element.content||element;var e$=Polymer.TreeApi.arrayCopy(content.querySelectorAll(this.MODULE_STYLES_SELECTOR));for(var i=0,e;i<e$.length;i++){e=e$[i];if(e.localName==='template'){if(!e.hasAttribute('preserve-content')){cssText+=this.cssFromElement(e);}}else{if(e.localName==='style'){var include=e.getAttribute(this.INCLUDE_ATTR);if(include){cssText+=this.cssFromModules(include,true);} 4024e=e.__appliedElement||e;e.parentNode.removeChild(e);cssText+=this.resolveCss(e.textContent,element.ownerDocument);}else if(e.import&&e.import.body){cssText+=this.resolveCss(e.import.body.textContent,e.import);}}} 4025return cssText;},styleIncludesToTemplate:function(targetTemplate){var styles=targetTemplate.content.querySelectorAll('style[include]');for(var i=0,s;i<styles.length;i++){s=styles[i];s.parentNode.insertBefore(this._includesToFragment(s.getAttribute('include')),s);}},_includesToFragment:function(styleIncludes){var includeArray=styleIncludes.trim().split(' ');var frag=document.createDocumentFragment();for(var i=0;i<includeArray.length;i++){var t=Polymer.DomModule.import(includeArray[i],'template');if(t){this._addStylesToFragment(frag,t.content);}} 4026return frag;},_addStylesToFragment:function(frag,source){var s$=source.querySelectorAll('style');for(var i=0,s;i<s$.length;i++){s=s$[i];var include=s.getAttribute('include');if(include){frag.appendChild(this._includesToFragment(include));} 4027if(s.textContent){frag.appendChild(s.cloneNode(true));}}},isTargetedBuild:function(buildType){return settings.useNativeShadow?buildType==='shadow':buildType==='shady';},cssBuildTypeForModule:function(module){var dm=Polymer.DomModule.import(module);if(dm){return this.getCssBuildType(dm);}},getCssBuildType:function(element){return element.getAttribute('css-build');},_findMatchingParen:function(text,start){var level=0;for(var i=start,l=text.length;i<l;i++){switch(text[i]){case'(':level++;break;case')':if(--level===0){return i;} 4028break;}} 4029return-1;},processVariableAndFallback:function(str,callback){var start=str.indexOf('var(');if(start===-1){return callback(str,'','','');} 4030var end=this._findMatchingParen(str,start+3);var inner=str.substring(start+4,end);var prefix=str.substring(0,start);var suffix=this.processVariableAndFallback(str.substring(end+1),callback);var comma=inner.indexOf(',');if(comma===-1){return callback(prefix,inner.trim(),'',suffix);} 4031var value=inner.substring(0,comma).trim();var fallback=inner.substring(comma+1).trim();return callback(prefix,value,fallback,suffix);},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]|$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@media[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:'(?:^|[^.#[:])',HOST_SUFFIX:'($|[.:[\\s>+~])'},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types};}();Polymer.StyleTransformer=function(){var styleUtil=Polymer.StyleUtil;var settings=Polymer.Settings;var api={dom:function(node,scope,useAttr,shouldRemoveScope){this._transformDom(node,scope||'',useAttr,shouldRemoveScope);},_transformDom:function(node,selector,useAttr,shouldRemoveScope){if(node.setAttribute){this.element(node,selector,useAttr,shouldRemoveScope);} 4032var c$=Polymer.dom(node).childNodes;for(var i=0;i<c$.length;i++){this._transformDom(c$[i],selector,useAttr,shouldRemoveScope);}},element:function(element,scope,useAttr,shouldRemoveScope){if(useAttr){if(shouldRemoveScope){element.removeAttribute(SCOPE_NAME);}else{element.setAttribute(SCOPE_NAME,scope);}}else{if(scope){if(element.classList){if(shouldRemoveScope){element.classList.remove(SCOPE_NAME);element.classList.remove(scope);}else{element.classList.add(SCOPE_NAME);element.classList.add(scope);}}else if(element.getAttribute){var c=element.getAttribute(CLASS);if(shouldRemoveScope){if(c){element.setAttribute(CLASS,c.replace(SCOPE_NAME,'').replace(scope,''));}}else{element.setAttribute(CLASS,(c?c+' ':'')+SCOPE_NAME+' '+scope);}}}}},elementStyles:function(element,callback){var styles=element._styles;var cssText='';var cssBuildType=element.__cssBuild;var passthrough=settings.useNativeShadow||cssBuildType==='shady';var cb;if(passthrough){var self=this;cb=function(rule){rule.selector=self._slottedToContent(rule.selector);rule.selector=rule.selector.replace(ROOT,':host > *');if(callback){callback(rule);}};} 4033for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){var rules=styleUtil.rulesForStyle(s);cssText+=passthrough?styleUtil.toCssText(rules,cb):this.css(rules,element.is,element.extends,callback,element._scopeCssViaAttr)+'\n\n';} 4034return cssText.trim();},css:function(rules,scope,ext,callback,useAttr){var hostScope=this._calcHostScope(scope,ext);scope=this._calcElementScope(scope,useAttr);var self=this;return styleUtil.toCssText(rules,function(rule){if(!rule.isScoped){self.rule(rule,scope,hostScope);rule.isScoped=true;} 4035if(callback){callback(rule,scope,hostScope);}});},_calcElementScope:function(scope,useAttr){if(scope){return useAttr?CSS_ATTR_PREFIX+scope+CSS_ATTR_SUFFIX:CSS_CLASS_PREFIX+scope;}else{return'';}},_calcHostScope:function(scope,ext){return ext?'[is='+scope+']':scope;},rule:function(rule,scope,hostScope){this._transformRule(rule,this._transformComplexSelector,scope,hostScope);},_transformRule:function(rule,transformer,scope,hostScope){rule.selector=rule.transformedSelector=this._transformRuleCss(rule,transformer,scope,hostScope);},_transformRuleCss:function(rule,transformer,scope,hostScope){var p$=rule.selector.split(COMPLEX_SELECTOR_SEP);if(!styleUtil.isKeyframesSelector(rule)){for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){p$[i]=transformer.call(this,p,scope,hostScope);}} 4036return p$.join(COMPLEX_SELECTOR_SEP);},_transformComplexSelector:function(selector,scope,hostScope){var stop=false;var hostContext=false;var self=this;selector=selector.trim();selector=this._slottedToContent(selector);selector=selector.replace(ROOT,':host > *');selector=selector.replace(CONTENT_START,HOST+' $1');selector=selector.replace(SIMPLE_SELECTOR_SEP,function(m,c,s){if(!stop){var info=self._transformCompoundSelector(s,c,scope,hostScope);stop=stop||info.stop;hostContext=hostContext||info.hostContext;c=info.combinator;s=info.value;}else{s=s.replace(SCOPE_JUMP,' ');} 4037return c+s;});if(hostContext){selector=selector.replace(HOST_CONTEXT_PAREN,function(m,pre,paren,post){return pre+paren+' '+hostScope+post+COMPLEX_SELECTOR_SEP+' '+pre+hostScope+paren+post;});} 4038return selector;},_transformCompoundSelector:function(selector,combinator,scope,hostScope){var jumpIndex=selector.search(SCOPE_JUMP);var hostContext=false;if(selector.indexOf(HOST_CONTEXT)>=0){hostContext=true;}else if(selector.indexOf(HOST)>=0){selector=this._transformHostSelector(selector,hostScope);}else if(jumpIndex!==0){selector=scope?this._transformSimpleSelector(selector,scope):selector;} 4039if(selector.indexOf(CONTENT)>=0){combinator='';} 4040var stop;if(jumpIndex>=0){selector=selector.replace(SCOPE_JUMP,' ');stop=true;} 4041return{value:selector,combinator:combinator,stop:stop,hostContext:hostContext};},_transformSimpleSelector:function(selector,scope){var p$=selector.split(PSEUDO_PREFIX);p$[0]+=scope;return p$.join(PSEUDO_PREFIX);},_transformHostSelector:function(selector,hostScope){var m=selector.match(HOST_PAREN);var paren=m&&m[2].trim()||'';if(paren){if(!paren[0].match(SIMPLE_SELECTOR_PREFIX)){var typeSelector=paren.split(SIMPLE_SELECTOR_PREFIX)[0];if(typeSelector===hostScope){return paren;}else{return SELECTOR_NO_MATCH;}}else{return selector.replace(HOST_PAREN,function(m,host,paren){return hostScope+paren;});}}else{return selector.replace(HOST,hostScope);}},documentRule:function(rule){rule.selector=rule.parsedSelector;this.normalizeRootSelector(rule);if(!settings.useNativeShadow){this._transformRule(rule,this._transformDocumentSelector);}},normalizeRootSelector:function(rule){rule.selector=rule.selector.replace(ROOT,'html');},_transformDocumentSelector:function(selector){return selector.match(SCOPE_JUMP)?this._transformComplexSelector(selector,SCOPE_DOC_SELECTOR):this._transformSimpleSelector(selector.trim(),SCOPE_DOC_SELECTOR);},_slottedToContent:function(cssText){return cssText.replace(SLOTTED_PAREN,CONTENT+'> $1');},SCOPE_NAME:'style-scope'};var SCOPE_NAME=api.SCOPE_NAME;var SCOPE_DOC_SELECTOR=':not(['+SCOPE_NAME+'])'+':not(.'+SCOPE_NAME+')';var COMPLEX_SELECTOR_SEP=',';var SIMPLE_SELECTOR_SEP=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g;var SIMPLE_SELECTOR_PREFIX=/[[.:#*]/;var HOST=':host';var ROOT=':root';var HOST_PAREN=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/;var HOST_CONTEXT=':host-context';var HOST_CONTEXT_PAREN=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;var CONTENT='::content';var SCOPE_JUMP=/::content|::shadow|\/deep\//;var CSS_CLASS_PREFIX='.';var CSS_ATTR_PREFIX='['+SCOPE_NAME+'~=';var CSS_ATTR_SUFFIX=']';var PSEUDO_PREFIX=':';var CLASS='class';var CONTENT_START=new RegExp('^('+CONTENT+')');var SELECTOR_NO_MATCH='should_not_match';var SLOTTED_PAREN=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;return api;}();Polymer.StyleExtends=function(){var styleUtil=Polymer.StyleUtil;return{hasExtends:function(cssText){return Boolean(cssText.match(this.rx.EXTEND));},transform:function(style){var rules=styleUtil.rulesForStyle(style);var self=this;styleUtil.forEachRule(rules,function(rule){self._mapRuleOntoParent(rule);if(rule.parent){var m;while(m=self.rx.EXTEND.exec(rule.cssText)){var extend=m[1];var extendor=self._findExtendor(extend,rule);if(extendor){self._extendRule(rule,extendor);}}} 4042rule.cssText=rule.cssText.replace(self.rx.EXTEND,'');});return styleUtil.toCssText(rules,function(rule){if(rule.selector.match(self.rx.STRIP)){rule.cssText='';}},true);},_mapRuleOntoParent:function(rule){if(rule.parent){var map=rule.parent.map||(rule.parent.map={});var parts=rule.selector.split(',');for(var i=0,p;i<parts.length;i++){p=parts[i];map[p.trim()]=rule;} 4043return map;}},_findExtendor:function(extend,rule){return rule.parent&&rule.parent.map&&rule.parent.map[extend]||this._findExtendor(extend,rule.parent);},_extendRule:function(target,source){if(target.parent!==source.parent){this._cloneAndAddRuleToParent(source,target.parent);} 4044target.extends=target.extends||[];target.extends.push(source);source.selector=source.selector.replace(this.rx.STRIP,'');source.selector=(source.selector&&source.selector+',\n')+target.selector;if(source.extends){source.extends.forEach(function(e){this._extendRule(target,e);},this);}},_cloneAndAddRuleToParent:function(rule,parent){rule=Object.create(rule);rule.parent=parent;if(rule.extends){rule.extends=rule.extends.slice();} 4045parent.rules.push(rule);},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}};}();Polymer.ApplyShim=function(){'use strict';var styleUtil=Polymer.StyleUtil;var MIXIN_MATCH=styleUtil.rx.MIXIN_MATCH;var VAR_ASSIGN=styleUtil.rx.VAR_ASSIGN;var BAD_VAR=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g;var APPLY_NAME_CLEAN=/;\s*/m;var INITIAL_INHERIT=/^\s*(initial)|(inherit)\s*$/;var MIXIN_VAR_SEP='_-_';var mixinMap={};function mapSet(name,props){name=name.trim();mixinMap[name]={properties:props,dependants:{}};} 4046function mapGet(name){name=name.trim();return mixinMap[name];} 4047function replaceInitialOrInherit(property,value){var match=INITIAL_INHERIT.exec(value);if(match){if(match[1]){value=ApplyShim._getInitialValueForProperty(property);}else{value='apply-shim-inherit';}} 4048return value;} 4049function cssTextToMap(text){var props=text.split(';');var property,value;var out={};for(var i=0,p,sp;i<props.length;i++){p=props[i];if(p){sp=p.split(':');if(sp.length>1){property=sp[0].trim();value=replaceInitialOrInherit(property,sp.slice(1).join(':'));out[property]=value;}}} 4050return out;} 4051function invalidateMixinEntry(mixinEntry){var currentProto=ApplyShim.__currentElementProto;var currentElementName=currentProto&¤tProto.is;for(var elementName in mixinEntry.dependants){if(elementName!==currentElementName){mixinEntry.dependants[elementName].__applyShimInvalid=true;}}} 4052function produceCssProperties(matchText,propertyName,valueProperty,valueMixin){if(valueProperty){styleUtil.processVariableAndFallback(valueProperty,function(prefix,value){if(value&&mapGet(value)){valueMixin='@apply '+value+';';}});} 4053if(!valueMixin){return matchText;} 4054var mixinAsProperties=consumeCssProperties(valueMixin);var prefix=matchText.slice(0,matchText.indexOf('--'));var mixinValues=cssTextToMap(mixinAsProperties);var combinedProps=mixinValues;var mixinEntry=mapGet(propertyName);var oldProps=mixinEntry&&mixinEntry.properties;if(oldProps){combinedProps=Object.create(oldProps);combinedProps=Polymer.Base.mixin(combinedProps,mixinValues);}else{mapSet(propertyName,combinedProps);} 4055var out=[];var p,v;var needToInvalidate=false;for(p in combinedProps){v=mixinValues[p];if(v===undefined){v='initial';} 4056if(oldProps&&!(p in oldProps)){needToInvalidate=true;} 4057out.push(propertyName+MIXIN_VAR_SEP+p+': '+v);} 4058if(needToInvalidate){invalidateMixinEntry(mixinEntry);} 4059if(mixinEntry){mixinEntry.properties=combinedProps;} 4060if(valueProperty){prefix=matchText+';'+prefix;} 4061return prefix+out.join('; ')+';';} 4062function fixVars(matchText,varA,varB){return'var('+varA+','+'var('+varB+'))';} 4063function atApplyToCssProperties(mixinName,fallbacks){mixinName=mixinName.replace(APPLY_NAME_CLEAN,'');var vars=[];var mixinEntry=mapGet(mixinName);if(!mixinEntry){mapSet(mixinName,{});mixinEntry=mapGet(mixinName);} 4064if(mixinEntry){var currentProto=ApplyShim.__currentElementProto;if(currentProto){mixinEntry.dependants[currentProto.is]=currentProto;} 4065var p,parts,f;for(p in mixinEntry.properties){f=fallbacks&&fallbacks[p];parts=[p,': var(',mixinName,MIXIN_VAR_SEP,p];if(f){parts.push(',',f);} 4066parts.push(')');vars.push(parts.join(''));}} 4067return vars.join('; ');} 4068function consumeCssProperties(text){var m;while(m=MIXIN_MATCH.exec(text)){var matchText=m[0];var mixinName=m[1];var idx=m.index;var applyPos=idx+matchText.indexOf('@apply');var afterApplyPos=idx+matchText.length;var textBeforeApply=text.slice(0,applyPos);var textAfterApply=text.slice(afterApplyPos);var defaults=cssTextToMap(textBeforeApply);var replacement=atApplyToCssProperties(mixinName,defaults);text=[textBeforeApply,replacement,textAfterApply].join('');MIXIN_MATCH.lastIndex=idx+replacement.length;} 4069return text;} 4070var ApplyShim={_measureElement:null,_map:mixinMap,_separator:MIXIN_VAR_SEP,transform:function(styles,elementProto){this.__currentElementProto=elementProto;styleUtil.forRulesInStyles(styles,this._boundFindDefinitions);styleUtil.forRulesInStyles(styles,this._boundFindApplications);if(elementProto){elementProto.__applyShimInvalid=false;} 4071this.__currentElementProto=null;},_findDefinitions:function(rule){var cssText=rule.parsedCssText;cssText=cssText.replace(BAD_VAR,fixVars);cssText=cssText.replace(VAR_ASSIGN,produceCssProperties);rule.cssText=cssText;if(rule.selector===':root'){rule.selector=':host > *';}},_findApplications:function(rule){rule.cssText=consumeCssProperties(rule.cssText);},transformRule:function(rule){this._findDefinitions(rule);this._findApplications(rule);},_getInitialValueForProperty:function(property){if(!this._measureElement){this._measureElement=document.createElement('meta');this._measureElement.style.all='initial';document.head.appendChild(this._measureElement);} 4072return window.getComputedStyle(this._measureElement).getPropertyValue(property);}};ApplyShim._boundTransformRule=ApplyShim.transformRule.bind(ApplyShim);ApplyShim._boundFindDefinitions=ApplyShim._findDefinitions.bind(ApplyShim);ApplyShim._boundFindApplications=ApplyShim._findApplications.bind(ApplyShim);return ApplyShim;}();(function(){var prepElement=Polymer.Base._prepElement;var nativeShadow=Polymer.Settings.useNativeShadow;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var styleExtends=Polymer.StyleExtends;var applyShim=Polymer.ApplyShim;var settings=Polymer.Settings;Polymer.Base._addFeature({_prepElement:function(element){if(this._encapsulateStyle&&this.__cssBuild!=='shady'){styleTransformer.element(element,this.is,this._scopeCssViaAttr);} 4073prepElement.call(this,element);},_prepStyles:function(){if(this._encapsulateStyle===undefined){this._encapsulateStyle=!nativeShadow;} 4074if(!nativeShadow){this._scopeStyle=styleUtil.applyStylePlaceHolder(this.is);} 4075this.__cssBuild=styleUtil.cssBuildTypeForModule(this.is);},_prepShimStyles:function(){if(this._template){var hasTargetedCssBuild=styleUtil.isTargetedBuild(this.__cssBuild);if(settings.useNativeCSSProperties&&this.__cssBuild==='shadow'&&hasTargetedCssBuild){if(settings.preserveStyleIncludes){styleUtil.styleIncludesToTemplate(this._template);} 4076return;} 4077this._styles=this._styles||this._collectStyles();if(settings.useNativeCSSProperties&&!this.__cssBuild){applyShim.transform(this._styles,this);} 4078var cssText=settings.useNativeCSSProperties&&hasTargetedCssBuild?this._styles.length&&this._styles[0].textContent.trim():styleTransformer.elementStyles(this);this._prepStyleProperties();if(!this._needsStyleProperties()&&cssText){styleUtil.applyCss(cssText,this.is,nativeShadow?this._template.content:null,this._scopeStyle);}}else{this._styles=[];}},_collectStyles:function(){var styles=[];var cssText='',m$=this.styleModules;if(m$){for(var i=0,l=m$.length,m;i<l&&(m=m$[i]);i++){cssText+=styleUtil.cssFromModule(m);}} 4079cssText+=styleUtil.cssFromModule(this.is);var p=this._template&&this._template.parentNode;if(this._template&&(!p||p.id.toLowerCase()!==this.is)){cssText+=styleUtil.cssFromElement(this._template);} 4080if(cssText){var style=document.createElement('style');style.textContent=cssText;if(styleExtends.hasExtends(style.textContent)){cssText=styleExtends.transform(style);} 4081styles.push(style);} 4082return styles;},_elementAdd:function(node){if(this._encapsulateStyle){if(node.__styleScoped){node.__styleScoped=false;}else{styleTransformer.dom(node,this.is,this._scopeCssViaAttr);}}},_elementRemove:function(node){if(this._encapsulateStyle){styleTransformer.dom(node,this.is,this._scopeCssViaAttr,true);}},scopeSubtree:function(container,shouldObserve){if(nativeShadow){return;} 4083var self=this;var scopify=function(node){if(node.nodeType===Node.ELEMENT_NODE){var className=node.getAttribute('class');node.setAttribute('class',self._scopeElementClass(node,className));var n$=node.querySelectorAll('*');for(var i=0,n;i<n$.length&&(n=n$[i]);i++){className=n.getAttribute('class');n.setAttribute('class',self._scopeElementClass(n,className));}}};scopify(container);if(shouldObserve){var mo=new MutationObserver(function(mxns){for(var i=0,m;i<mxns.length&&(m=mxns[i]);i++){if(m.addedNodes){for(var j=0;j<m.addedNodes.length;j++){scopify(m.addedNodes[j]);}}}});mo.observe(container,{childList:true,subtree:true});return mo;}}});}());Polymer.StyleProperties=function(){'use strict';var matchesSelector=Polymer.DomApi.matchesSelector;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var IS_IE=navigator.userAgent.match('Trident');var settings=Polymer.Settings;return{decorateStyles:function(styles,scope){var self=this,props={},keyframes=[],ruleIndex=0;var scopeSelector=styleTransformer._calcHostScope(scope.is,scope.extends);styleUtil.forRulesInStyles(styles,function(rule,style){self.decorateRule(rule);rule.index=ruleIndex++;self.whenHostOrRootRule(scope,rule,style,function(info){if(rule.parent.type===styleUtil.ruleTypes.MEDIA_RULE){scope.__notStyleScopeCacheable=true;} 4084if(info.isHost){var hostContextOrFunction=info.selector.split(' ').some(function(s){return s.indexOf(scopeSelector)===0&&s.length!==scopeSelector.length;});scope.__notStyleScopeCacheable=scope.__notStyleScopeCacheable||hostContextOrFunction;}});self.collectPropertiesInCssText(rule.propertyInfo.cssText,props);},function onKeyframesRule(rule){keyframes.push(rule);});styles._keyframes=keyframes;var names=[];for(var i in props){names.push(i);} 4085return names;},decorateRule:function(rule){if(rule.propertyInfo){return rule.propertyInfo;} 4086var info={},properties={};var hasProperties=this.collectProperties(rule,properties);if(hasProperties){info.properties=properties;rule.rules=null;} 4087info.cssText=this.collectCssText(rule);rule.propertyInfo=info;return info;},collectProperties:function(rule,properties){var info=rule.propertyInfo;if(info){if(info.properties){Polymer.Base.mixin(properties,info.properties);return true;}}else{var m,rx=this.rx.VAR_ASSIGN;var cssText=rule.parsedCssText;var value;var any;while(m=rx.exec(cssText)){value=(m[2]||m[3]).trim();if(value!=='inherit'){properties[m[1].trim()]=value;} 4088any=true;} 4089return any;}},collectCssText:function(rule){return this.collectConsumingCssText(rule.parsedCssText);},collectConsumingCssText:function(cssText){return cssText.replace(this.rx.BRACKETED,'').replace(this.rx.VAR_ASSIGN,'');},collectPropertiesInCssText:function(cssText,props){var m;while(m=this.rx.VAR_CONSUMED.exec(cssText)){var name=m[1];if(m[2]!==':'){props[name]=true;}}},reify:function(props){var names=Object.getOwnPropertyNames(props);for(var i=0,n;i<names.length;i++){n=names[i];props[n]=this.valueForProperty(props[n],props);}},valueForProperty:function(property,props){if(property){if(property.indexOf(';')>=0){property=this.valueForProperties(property,props);}else{var self=this;var fn=function(prefix,value,fallback,suffix){var propertyValue=self.valueForProperty(props[value],props);if(!propertyValue||propertyValue==='initial'){propertyValue=self.valueForProperty(props[fallback]||fallback,props)||fallback;}else if(propertyValue==='apply-shim-inherit'){propertyValue='inherit';} 4090return prefix+(propertyValue||'')+suffix;};property=styleUtil.processVariableAndFallback(property,fn);}} 4091return property&&property.trim()||'';},valueForProperties:function(property,props){var parts=property.split(';');for(var i=0,p,m;i<parts.length;i++){if(p=parts[i]){this.rx.MIXIN_MATCH.lastIndex=0;m=this.rx.MIXIN_MATCH.exec(p);if(m){p=this.valueForProperty(props[m[1]],props);}else{var colon=p.indexOf(':');if(colon!==-1){var pp=p.substring(colon);pp=pp.trim();pp=this.valueForProperty(pp,props)||pp;p=p.substring(0,colon)+pp;}} 4092parts[i]=p&&p.lastIndexOf(';')===p.length-1?p.slice(0,-1):p||'';}} 4093return parts.join(';');},applyProperties:function(rule,props){var output='';if(!rule.propertyInfo){this.decorateRule(rule);} 4094if(rule.propertyInfo.cssText){output=this.valueForProperties(rule.propertyInfo.cssText,props);} 4095rule.cssText=output;},applyKeyframeTransforms:function(rule,keyframeTransforms){var input=rule.cssText;var output=rule.cssText;if(rule.hasAnimations==null){rule.hasAnimations=this.rx.ANIMATION_MATCH.test(input);} 4096if(rule.hasAnimations){var transform;if(rule.keyframeNamesToTransform==null){rule.keyframeNamesToTransform=[];for(var keyframe in keyframeTransforms){transform=keyframeTransforms[keyframe];output=transform(input);if(input!==output){input=output;rule.keyframeNamesToTransform.push(keyframe);}}}else{for(var i=0;i<rule.keyframeNamesToTransform.length;++i){transform=keyframeTransforms[rule.keyframeNamesToTransform[i]];input=transform(input);} 4097output=input;}} 4098rule.cssText=output;},propertyDataFromStyles:function(styles,element){var props={},self=this;var o=[];styleUtil.forActiveRulesInStyles(styles,function(rule){if(!rule.propertyInfo){self.decorateRule(rule);} 4099var selectorToMatch=rule.transformedSelector||rule.parsedSelector;if(element&&rule.propertyInfo.properties&&selectorToMatch){if(matchesSelector.call(element,selectorToMatch)){self.collectProperties(rule,props);addToBitMask(rule.index,o);}}});return{properties:props,key:o};},_rootSelector:/:root|:host\s*>\s*\*/,_checkRoot:function(hostScope,selector){return Boolean(selector.match(this._rootSelector))||hostScope==='html'&&selector.indexOf('html')>-1;},whenHostOrRootRule:function(scope,rule,style,callback){if(!rule.propertyInfo){self.decorateRule(rule);} 4100if(!rule.propertyInfo.properties){return;} 4101var hostScope=scope.is?styleTransformer._calcHostScope(scope.is,scope.extends):'html';var parsedSelector=rule.parsedSelector;var isRoot=this._checkRoot(hostScope,parsedSelector);var isHost=!isRoot&&parsedSelector.indexOf(':host')===0;var cssBuild=scope.__cssBuild||style.__cssBuild;if(cssBuild==='shady'){isRoot=parsedSelector===hostScope+' > *.'+hostScope||parsedSelector.indexOf('html')>-1;isHost=!isRoot&&parsedSelector.indexOf(hostScope)===0;} 4102if(!isRoot&&!isHost){return;} 4103var selectorToMatch=hostScope;if(isHost){if(settings.useNativeShadow&&!rule.transformedSelector){rule.transformedSelector=styleTransformer._transformRuleCss(rule,styleTransformer._transformComplexSelector,scope.is,hostScope);} 4104selectorToMatch=rule.transformedSelector||rule.parsedSelector;} 4105if(isRoot&&hostScope==='html'){selectorToMatch=rule.transformedSelector||rule.parsedSelector;} 4106callback({selector:selectorToMatch,isHost:isHost,isRoot:isRoot});},hostAndRootPropertiesForScope:function(scope){var hostProps={},rootProps={},self=this;styleUtil.forActiveRulesInStyles(scope._styles,function(rule,style){self.whenHostOrRootRule(scope,rule,style,function(info){var element=scope._element||scope;if(matchesSelector.call(element,info.selector)){if(info.isHost){self.collectProperties(rule,hostProps);}else{self.collectProperties(rule,rootProps);}}});});return{rootProps:rootProps,hostProps:hostProps};},transformStyles:function(element,properties,scopeSelector){var self=this;var hostSelector=styleTransformer._calcHostScope(element.is,element.extends);var rxHostSelector=element.extends?'\\'+hostSelector.slice(0,-1)+'\\]':hostSelector;var hostRx=new RegExp(this.rx.HOST_PREFIX+rxHostSelector+this.rx.HOST_SUFFIX);var keyframeTransforms=this._elementKeyframeTransforms(element,scopeSelector);return styleTransformer.elementStyles(element,function(rule){self.applyProperties(rule,properties);if(!settings.useNativeShadow&&!Polymer.StyleUtil.isKeyframesSelector(rule)&&rule.cssText){self.applyKeyframeTransforms(rule,keyframeTransforms);self._scopeSelector(rule,hostRx,hostSelector,element._scopeCssViaAttr,scopeSelector);}});},_elementKeyframeTransforms:function(element,scopeSelector){var keyframesRules=element._styles._keyframes;var keyframeTransforms={};if(!settings.useNativeShadow&&keyframesRules){for(var i=0,keyframesRule=keyframesRules[i];i<keyframesRules.length;keyframesRule=keyframesRules[++i]){this._scopeKeyframes(keyframesRule,scopeSelector);keyframeTransforms[keyframesRule.keyframesName]=this._keyframesRuleTransformer(keyframesRule);}} 4107return keyframeTransforms;},_keyframesRuleTransformer:function(keyframesRule){return function(cssText){return cssText.replace(keyframesRule.keyframesNameRx,keyframesRule.transformedKeyframesName);};},_scopeKeyframes:function(rule,scopeId){rule.keyframesNameRx=new RegExp(rule.keyframesName,'g');rule.transformedKeyframesName=rule.keyframesName+'-'+scopeId;rule.transformedSelector=rule.transformedSelector||rule.selector;rule.selector=rule.transformedSelector.replace(rule.keyframesName,rule.transformedKeyframesName);},_scopeSelector:function(rule,hostRx,hostSelector,viaAttr,scopeId){rule.transformedSelector=rule.transformedSelector||rule.selector;var selector=rule.transformedSelector;var scope=viaAttr?'['+styleTransformer.SCOPE_NAME+'~='+scopeId+']':'.'+scopeId;var parts=selector.split(',');for(var i=0,l=parts.length,p;i<l&&(p=parts[i]);i++){parts[i]=p.match(hostRx)?p.replace(hostSelector,scope):scope+' '+p;} 4108rule.selector=parts.join(',');},applyElementScopeSelector:function(element,selector,old,viaAttr){var c=viaAttr?element.getAttribute(styleTransformer.SCOPE_NAME):element.getAttribute('class')||'';var v=old?c.replace(old,selector):(c?c+' ':'')+this.XSCOPE_NAME+' '+selector;if(c!==v){if(viaAttr){element.setAttribute(styleTransformer.SCOPE_NAME,v);}else{element.setAttribute('class',v);}}},applyElementStyle:function(element,properties,selector,style){var cssText=style?style.textContent||'':this.transformStyles(element,properties,selector);var s=element._customStyle;if(s&&!settings.useNativeShadow&&s!==style){s._useCount--;if(s._useCount<=0&&s.parentNode){s.parentNode.removeChild(s);}} 4109if(settings.useNativeShadow){if(element._customStyle){element._customStyle.textContent=cssText;style=element._customStyle;}else if(cssText){style=styleUtil.applyCss(cssText,selector,element.root,element._scopeStyle);}}else{if(!style){if(cssText){style=styleUtil.applyCss(cssText,selector,null,element._scopeStyle);}}else if(!style.parentNode){if(IS_IE&&cssText.indexOf('@media')>-1){style.textContent=cssText;} 4110styleUtil.applyStyle(style,null,element._scopeStyle);}} 4111if(style){style._useCount=style._useCount||0;if(element._customStyle!=style){style._useCount++;} 4112element._customStyle=style;} 4113return style;},mixinCustomStyle:function(props,customStyle){var v;for(var i in customStyle){v=customStyle[i];if(v||v===0){props[i]=v;}}},updateNativeStyleProperties:function(element,properties){var oldPropertyNames=element.__customStyleProperties;if(oldPropertyNames){for(var i=0;i<oldPropertyNames.length;i++){element.style.removeProperty(oldPropertyNames[i]);}} 4114var propertyNames=[];for(var p in properties){if(properties[p]!==null){element.style.setProperty(p,properties[p]);propertyNames.push(p);}} 4115element.__customStyleProperties=propertyNames;},rx:styleUtil.rx,XSCOPE_NAME:'x-scope'};function addToBitMask(n,bits){var o=parseInt(n/32);var v=1<<n%32;bits[o]=(bits[o]||0)|v;}}();(function(){Polymer.StyleCache=function(){this.cache={};};Polymer.StyleCache.prototype={MAX:100,store:function(is,data,keyValues,keyStyles){data.keyValues=keyValues;data.styles=keyStyles;var s$=this.cache[is]=this.cache[is]||[];s$.push(data);if(s$.length>this.MAX){s$.shift();}},retrieve:function(is,keyValues,keyStyles){var cache=this.cache[is];if(cache){for(var i=cache.length-1,data;i>=0;i--){data=cache[i];if(keyStyles===data.styles&&this._objectsEqual(keyValues,data.keyValues)){return data;}}}},clear:function(){this.cache={};},_objectsEqual:function(target,source){var t,s;for(var i in target){t=target[i],s=source[i];if(!(typeof t==='object'&&t?this._objectsStrictlyEqual(t,s):t===s)){return false;}} 4116if(Array.isArray(target)){return target.length===source.length;} 4117return true;},_objectsStrictlyEqual:function(target,source){return this._objectsEqual(target,source)&&this._objectsEqual(source,target);}};}());Polymer.StyleDefaults=function(){var styleProperties=Polymer.StyleProperties;var StyleCache=Polymer.StyleCache;var nativeVariables=Polymer.Settings.useNativeCSSProperties;var api={_styles:[],_properties:null,customStyle:{},_styleCache:new StyleCache(),_element:Polymer.DomApi.wrap(document.documentElement),addStyle:function(style){this._styles.push(style);this._properties=null;},get _styleProperties(){if(!this._properties){styleProperties.decorateStyles(this._styles,this);this._styles._scopeStyleProperties=null;this._properties=styleProperties.hostAndRootPropertiesForScope(this).rootProps;styleProperties.mixinCustomStyle(this._properties,this.customStyle);styleProperties.reify(this._properties);} 4118return this._properties;},hasStyleProperties:function(){return Boolean(this._properties);},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties;},updateStyles:function(properties){this._properties=null;if(properties){Polymer.Base.mixin(this.customStyle,properties);} 4119this._styleCache.clear();for(var i=0,s;i<this._styles.length;i++){s=this._styles[i];s=s.__importElement||s;s._apply();} 4120if(nativeVariables){styleProperties.updateNativeStyleProperties(document.documentElement,this.customStyle);}}};return api;}();(function(){'use strict';var serializeValueToAttribute=Polymer.Base.serializeValueToAttribute;var propertyUtils=Polymer.StyleProperties;var styleTransformer=Polymer.StyleTransformer;var styleDefaults=Polymer.StyleDefaults;var nativeShadow=Polymer.Settings.useNativeShadow;var nativeVariables=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFeature({_prepStyleProperties:function(){if(!nativeVariables){this._ownStylePropertyNames=this._styles&&this._styles.length?propertyUtils.decorateStyles(this._styles,this):null;}},customStyle:null,getComputedStyleValue:function(property){if(!nativeVariables&&!this._styleProperties){this._computeStyleProperties();} 4121return!nativeVariables&&this._styleProperties&&this._styleProperties[property]||getComputedStyle(this).getPropertyValue(property);},_setupStyleProperties:function(){this.customStyle={};this._styleCache=null;this._styleProperties=null;this._scopeSelector=null;this._ownStyleProperties=null;this._customStyle=null;},_needsStyleProperties:function(){return Boolean(!nativeVariables&&this._ownStylePropertyNames&&this._ownStylePropertyNames.length);},_validateApplyShim:function(){if(this.__applyShimInvalid){Polymer.ApplyShim.transform(this._styles,this.__proto__);var cssText=styleTransformer.elementStyles(this);if(nativeShadow){var templateStyle=this._template.content.querySelector('style');if(templateStyle){templateStyle.textContent=cssText;}}else{var shadyStyle=this._scopeStyle&&this._scopeStyle.nextSibling;if(shadyStyle){shadyStyle.textContent=cssText;}}}},_beforeAttached:function(){if((!this._scopeSelector||this.__stylePropertiesInvalid)&&this._needsStyleProperties()){this.__stylePropertiesInvalid=false;this._updateStyleProperties();}},_findStyleHost:function(){var e=this,root;while(root=Polymer.dom(e).getOwnerRoot()){if(Polymer.isInstance(root.host)){return root.host;} 4122e=root.host;} 4123return styleDefaults;},_updateStyleProperties:function(){var info,scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();} 4124if(!scope._styleCache){scope._styleCache=new Polymer.StyleCache();} 4125var scopeData=propertyUtils.propertyDataFromStyles(scope._styles,this);var scopeCacheable=!this.__notStyleScopeCacheable;if(scopeCacheable){scopeData.key.customStyle=this.customStyle;info=scope._styleCache.retrieve(this.is,scopeData.key,this._styles);} 4126var scopeCached=Boolean(info);if(scopeCached){this._styleProperties=info._styleProperties;}else{this._computeStyleProperties(scopeData.properties);} 4127this._computeOwnStyleProperties();if(!scopeCached){info=styleCache.retrieve(this.is,this._ownStyleProperties,this._styles);} 4128var globalCached=Boolean(info)&&!scopeCached;var style=this._applyStyleProperties(info);if(!scopeCached){style=style&&nativeShadow?style.cloneNode(true):style;info={style:style,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties};if(scopeCacheable){scopeData.key.customStyle={};this.mixin(scopeData.key.customStyle,this.customStyle);scope._styleCache.store(this.is,info,scopeData.key,this._styles);} 4129if(!globalCached){styleCache.store(this.is,Object.create(info),this._ownStyleProperties,this._styles);}}},_computeStyleProperties:function(scopeProps){var scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();} 4130var props=Object.create(scope._styleProperties);var hostAndRootProps=propertyUtils.hostAndRootPropertiesForScope(this);this.mixin(props,hostAndRootProps.hostProps);scopeProps=scopeProps||propertyUtils.propertyDataFromStyles(scope._styles,this).properties;this.mixin(props,scopeProps);this.mixin(props,hostAndRootProps.rootProps);propertyUtils.mixinCustomStyle(props,this.customStyle);propertyUtils.reify(props);this._styleProperties=props;},_computeOwnStyleProperties:function(){var props={};for(var i=0,n;i<this._ownStylePropertyNames.length;i++){n=this._ownStylePropertyNames[i];props[n]=this._styleProperties[n];} 4131this._ownStyleProperties=props;},_scopeCount:0,_applyStyleProperties:function(info){var oldScopeSelector=this._scopeSelector;this._scopeSelector=info?info._scopeSelector:this.is+'-'+this.__proto__._scopeCount++;var style=propertyUtils.applyElementStyle(this,this._styleProperties,this._scopeSelector,info&&info.style);if(!nativeShadow){propertyUtils.applyElementScopeSelector(this,this._scopeSelector,oldScopeSelector,this._scopeCssViaAttr);} 4132return style;},serializeValueToAttribute:function(value,attribute,node){node=node||this;if(attribute==='class'&&!nativeShadow){var host=node===this?this.domHost||this.dataHost:this;if(host){value=host._scopeElementClass(node,value);}} 4133node=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(node):node;serializeValueToAttribute.call(this,value,attribute,node);},_scopeElementClass:function(element,selector){if(!nativeShadow&&!this._scopeCssViaAttr){selector=(selector?selector+' ':'')+SCOPE_NAME+' '+this.is+(element._scopeSelector?' '+XSCOPE_NAME+' '+element._scopeSelector:'');} 4134return selector;},updateStyles:function(properties){if(properties){this.mixin(this.customStyle,properties);} 4135if(nativeVariables){propertyUtils.updateNativeStyleProperties(this,this.customStyle);}else{if(this.isAttached){if(this._needsStyleProperties()){this._updateStyleProperties();}else{this._styleProperties=null;}}else{this.__stylePropertiesInvalid=true;} 4136if(this._styleCache){this._styleCache.clear();} 4137this._updateRootStyles();}},_updateRootStyles:function(root){root=root||this.root;var c$=Polymer.dom(root)._query(function(e){return e.shadyRoot||e.shadowRoot;});for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.updateStyles){c.updateStyles();}}}});Polymer.updateStyles=function(properties){styleDefaults.updateStyles(properties);Polymer.Base._updateRootStyles(document);};var styleCache=new Polymer.StyleCache();Polymer.customStyleCache=styleCache;var SCOPE_NAME=styleTransformer.SCOPE_NAME;var XSCOPE_NAME=propertyUtils.XSCOPE_NAME;}());Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();if(this.factoryImpl){this._prepConstructor();} 4138this._prepStyles();},_finishRegisterFeatures:function(){this._prepTemplate();this._prepShimStyles();this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepPropertyInfo();this._prepBindings();this._prepShady();},_prepBehavior:function(b){this._addPropertyEffects(b.properties);this._addComplexObserverEffects(b.observers);this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._setupGestures();this._setupConfigure(this.__data__);this._setupStyleProperties();this._setupDebouncers();this._setupShady();this._registerHost();if(this._template){this._validateApplyShim();this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();this._marshalAnnotationReferences();} 4139this._marshalInstanceEffects();this._marshalBehaviors();this._marshalHostAttributes();this._marshalAttributes();this._tryReady();},_marshalBehavior:function(b){if(b.listeners){this._listenListeners(b.listeners);}}});(function(){var propertyUtils=Polymer.StyleProperties;var styleUtil=Polymer.StyleUtil;var cssParse=Polymer.CssParse;var styleDefaults=Polymer.StyleDefaults;var styleTransformer=Polymer.StyleTransformer;var applyShim=Polymer.ApplyShim;var debounce=Polymer.Debounce;var settings=Polymer.Settings;var updateDebouncer;Polymer({is:'custom-style',extends:'style',_template:null,properties:{include:String},ready:function(){this.__appliedElement=this.__appliedElement||this;this.__cssBuild=styleUtil.getCssBuildType(this);if(this.__appliedElement!==this){this.__appliedElement.__cssBuild=this.__cssBuild;} 4140this._tryApply();},attached:function(){this._tryApply();},_tryApply:function(){if(!this._appliesToDocument){if(this.parentNode&&this.parentNode.localName!=='dom-module'){this._appliesToDocument=true;var e=this.__appliedElement;if(!settings.useNativeCSSProperties){this.__needsUpdateStyles=styleDefaults.hasStyleProperties();styleDefaults.addStyle(e);} 4141if(e.textContent||this.include){this._apply(true);}else{var self=this;var observer=new MutationObserver(function(){observer.disconnect();self._apply(true);});observer.observe(e,{childList:true});}}}},_updateStyles:function(){Polymer.updateStyles();},_apply:function(initialApply){var e=this.__appliedElement;if(this.include){e.textContent=styleUtil.cssFromModules(this.include,true)+e.textContent;} 4142if(!e.textContent){return;} 4143var buildType=this.__cssBuild;var targetedBuild=styleUtil.isTargetedBuild(buildType);if(settings.useNativeCSSProperties&&targetedBuild){return;} 4144var styleRules=styleUtil.rulesForStyle(e);if(!targetedBuild){styleUtil.forEachRule(styleRules,function(rule){styleTransformer.documentRule(rule);});if(settings.useNativeCSSProperties&&!buildType){applyShim.transform([e]);}} 4145if(settings.useNativeCSSProperties){e.textContent=styleUtil.toCssText(styleRules);}else{var self=this;var fn=function fn(){self._flushCustomProperties();};if(initialApply){Polymer.RenderStatus.whenReady(fn);}else{fn();}}},_flushCustomProperties:function(){if(this.__needsUpdateStyles){this.__needsUpdateStyles=false;updateDebouncer=debounce(updateDebouncer,this._updateStyles);}else{this._applyCustomProperties();}},_applyCustomProperties:function(){var element=this.__appliedElement;this._computeStyleProperties();var props=this._styleProperties;var rules=styleUtil.rulesForStyle(element);if(!rules){return;} 4146element.textContent=styleUtil.toCssText(rules,function(rule){var css=rule.cssText=rule.parsedCssText;if(rule.propertyInfo&&rule.propertyInfo.cssText){css=cssParse.removeCustomPropAssignment(css);rule.cssText=propertyUtils.valueForProperties(css,props);}});}});}());Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:'_showHideChildren'}},_instanceProps:Polymer.nob,_parentPropPrefix:'_parent_',templatize:function(template){this._templatized=template;if(!template._content){template._content=template.content;} 4147if(template._content._ctor){this.ctor=template._content._ctor;this._prepParentProperties(this.ctor.prototype,template);return;} 4148var archetype=Object.create(Polymer.Base);this._customPrepAnnotations(archetype,template);this._prepParentProperties(archetype,template);archetype._prepEffects();this._customPrepEffects(archetype);archetype._prepBehaviors();archetype._prepPropertyInfo();archetype._prepBindings();archetype._notifyPathUp=this._notifyPathUpImpl;archetype._scopeElementClass=this._scopeElementClassImpl;archetype.listen=this._listenImpl;archetype._showHideChildren=this._showHideChildrenImpl;archetype.__setPropertyOrig=this.__setProperty;archetype.__setProperty=this.__setPropertyImpl;var _constructor=this._constructorImpl;var ctor=function TemplateInstance(model,host){_constructor.call(this,model,host);};ctor.prototype=archetype;archetype.constructor=ctor;template._content._ctor=ctor;this.ctor=ctor;},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost;},_showHideChildrenImpl:function(hide){var c=this._children;for(var i=0;i<c.length;i++){var n=c[i];if(Boolean(hide)!=Boolean(n.__hideTemplateChildren__)){if(n.nodeType===Node.TEXT_NODE){if(hide){n.__polymerTextContent__=n.textContent;n.textContent='';}else{n.textContent=n.__polymerTextContent__;}}else if(n.style){if(hide){n.__polymerDisplay__=n.style.display;n.style.display='none';}else{n.style.display=n.__polymerDisplay__;}}} 4149n.__hideTemplateChildren__=hide;}},__setPropertyImpl:function(property,value,fromAbove,node){if(node&&node.__hideTemplateChildren__&&property=='textContent'){property='__polymerTextContent__';} 4150this.__setPropertyOrig(property,value,fromAbove,node);},_debounceTemplate:function(fn){Polymer.dom.addDebouncer(this.debounce('_debounceTemplate',fn));},_flushTemplates:function(){Polymer.dom.flush();},_customPrepEffects:function(archetype){var parentProps=archetype._parentProps;for(var prop in parentProps){archetype._addPropertyEffect(prop,'function',this._createHostPropEffector(prop));} 4151for(prop in this._instanceProps){archetype._addPropertyEffect(prop,'function',this._createInstancePropEffector(prop));}},_customPrepAnnotations:function(archetype,template){archetype._template=template;var c=template._content;if(!c._notes){var rootDataHost=archetype._rootDataHost;if(rootDataHost){Polymer.Annotations.prepElement=function(){rootDataHost._prepElement();};} 4152c._notes=Polymer.Annotations.parseAnnotations(template);Polymer.Annotations.prepElement=null;this._processAnnotations(c._notes);} 4153archetype._notes=c._notes;archetype._parentProps=c._parentProps;},_prepParentProperties:function(archetype,template){var parentProps=this._parentProps=archetype._parentProps;if(this._forwardParentProp&&parentProps){var proto=archetype._parentPropProto;var prop;if(!proto){for(prop in this._instanceProps){delete parentProps[prop];} 4154proto=archetype._parentPropProto=Object.create(null);if(template!=this){Polymer.Bind.prepareModel(proto);Polymer.Base.prepareModelNotifyPath(proto);} 4155for(prop in parentProps){var parentProp=this._parentPropPrefix+prop;var effects=[{kind:'function',effect:this._createForwardPropEffector(prop),fn:Polymer.Bind._functionEffect},{kind:'notify',fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(parentProp)+'-changed'}}];proto._propertyEffects=proto._propertyEffects||{};proto._propertyEffects[parentProp]=effects;Polymer.Bind._createAccessors(proto,parentProp,effects);}} 4156var self=this;if(template!=this){Polymer.Bind.prepareInstance(template);template._forwardParentProp=function(source,value){self._forwardParentProp(source,value);};} 4157this._extendTemplate(template,proto);template._pathEffector=function(path,value,fromAbove){return self._pathEffectorImpl(path,value,fromAbove);};}},_createForwardPropEffector:function(prop){return function(source,value){this._forwardParentProp(prop,value);};},_createHostPropEffector:function(prop){var prefix=this._parentPropPrefix;return function(source,value){this.dataHost._templatized[prefix+prop]=value;};},_createInstancePropEffector:function(prop){return function(source,value,old,fromAbove){if(!fromAbove){this.dataHost._forwardInstanceProp(this,prop,value);}};},_extendTemplate:function(template,proto){var n$=Object.getOwnPropertyNames(proto);if(proto._propertySetter){template._propertySetter=proto._propertySetter;} 4158for(var i=0,n;i<n$.length&&(n=n$[i]);i++){var val=template[n];if(val&&n=='_propertyEffects'){var pe=Polymer.Base.mixin({},val);template._propertyEffects=Polymer.Base.mixin(pe,proto._propertyEffects);}else{var pd=Object.getOwnPropertyDescriptor(proto,n);Object.defineProperty(template,n,pd);if(val!==undefined){template._propertySetter(n,val);}}}},_showHideChildren:function(hidden){},_forwardInstancePath:function(inst,path,value){},_forwardInstanceProp:function(inst,prop,value){},_notifyPathUpImpl:function(path,value){var dataHost=this.dataHost;var root=Polymer.Path.root(path);dataHost._forwardInstancePath.call(dataHost,this,path,value);if(root in dataHost._parentProps){dataHost._templatized._notifyPath(dataHost._parentPropPrefix+path,value);}},_pathEffectorImpl:function(path,value,fromAbove){if(this._forwardParentPath){if(path.indexOf(this._parentPropPrefix)===0){var subPath=path.substring(this._parentPropPrefix.length);var model=Polymer.Path.root(subPath);if(model in this._parentProps){this._forwardParentPath(subPath,value);}}} 4159Polymer.Base._pathEffector.call(this._templatized,path,value,fromAbove);},_constructorImpl:function(model,host){this._rootDataHost=host._getRootDataHost();this._setupConfigure(model);this._registerHost(host);this._beginHosting();this.root=this.instanceTemplate(this._template);this.root.__noContent=!this._notes._hasContent;this.root.__styleScoped=true;this._endHosting();this._marshalAnnotatedNodes();this._marshalInstanceEffects();this._marshalAnnotatedListeners();var children=[];for(var n=this.root.firstChild;n;n=n.nextSibling){children.push(n);n._templateInstance=this;} 4160this._children=children;if(host.__hideTemplateChildren__){this._showHideChildren(true);} 4161this._tryReady();},_listenImpl:function(node,eventName,methodName){var model=this;var host=this._rootDataHost;var handler=host._createEventHandler(node,eventName,methodName);var decorated=function(e){e.model=model;handler(e);};host._listen(node,eventName,decorated);},_scopeElementClassImpl:function(node,value){var host=this._rootDataHost;if(host){return host._scopeElementClass(node,value);} 4162return value;},stamp:function(model){model=model||{};if(this._parentProps){var templatized=this._templatized;for(var prop in this._parentProps){if(model[prop]===undefined){model[prop]=templatized[this._parentPropPrefix+prop];}}} 4163return new this.ctor(model,this);},modelForElement:function(el){var model;while(el){if(model=el._templateInstance){if(model.dataHost!=this){el=model.dataHost;}else{return model;}}else{el=el.parentNode;}}}};Polymer({is:'dom-template',extends:'template',_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this);}});Polymer._collections=new WeakMap();Polymer.Collection=function(userArray){Polymer._collections.set(userArray,this);this.userArray=userArray;this.store=userArray.slice();this.initMap();};Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){var omap=this.omap=new WeakMap();var pmap=this.pmap={};var s=this.store;for(var i=0;i<s.length;i++){var item=s[i];if(item&&typeof item=='object'){omap.set(item,i);}else{pmap[item]=i;}}},add:function(item){var key=this.store.push(item)-1;if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;} 4164return'#'+key;},removeKey:function(key){if(key=this._parseKey(key)){this._removeFromMap(this.store[key]);delete this.store[key];}},_removeFromMap:function(item){if(item&&typeof item=='object'){this.omap.delete(item);}else{delete this.pmap[item];}},remove:function(item){var key=this.getKey(item);this.removeKey(key);return key;},getKey:function(item){var key;if(item&&typeof item=='object'){key=this.omap.get(item);}else{key=this.pmap[item];} 4165if(key!=undefined){return'#'+key;}},getKeys:function(){return Object.keys(this.store).map(function(key){return'#'+key;});},_parseKey:function(key){if(key&&key[0]=='#'){return key.slice(1);}},setItem:function(key,item){if(key=this._parseKey(key)){var old=this.store[key];if(old){this._removeFromMap(old);} 4166if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;} 4167this.store[key]=item;}},getItem:function(key){if(key=this._parseKey(key)){return this.store[key];}},getItems:function(){var items=[],store=this.store;for(var key in store){items.push(store[key]);} 4168return items;},_applySplices:function(splices){var keyMap={},key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){s.addedKeys=[];for(var j=0;j<s.removed.length;j++){key=this.getKey(s.removed[j]);keyMap[key]=keyMap[key]?null:-1;} 4169for(j=0;j<s.addedCount;j++){var item=this.userArray[s.index+j];key=this.getKey(item);key=key===undefined?this.add(item):key;keyMap[key]=keyMap[key]?null:1;s.addedKeys.push(key);}} 4170var removed=[];var added=[];for(key in keyMap){if(keyMap[key]<0){this.removeKey(key);removed.push(key);} 4171if(keyMap[key]>0){added.push(key);}} 4172return[{removed:removed,added:added}];}};Polymer.Collection.get=function(userArray){return Polymer._collections.get(userArray)||new Polymer.Collection(userArray);};Polymer.Collection.applySplices=function(userArray,splices){var coll=Polymer._collections.get(userArray);return coll?coll._applySplices(splices):null;};Polymer({is:'dom-repeat',extends:'template',_template:null,properties:{items:{type:Array},as:{type:String,value:'item'},indexAs:{type:String,value:'index'},sort:{type:Function,observer:'_sortChanged'},filter:{type:Function,observer:'_filterChanged'},observe:{type:String,observer:'_observeChanged'},delay:Number,renderedItemCount:{type:Number,notify:!Polymer.Settings.suppressTemplateNotifications,readOnly:true},initialCount:{type:Number,observer:'_initializeChunking'},targetFramerate:{type:Number,value:20},notifyDomChange:{type:Boolean},_targetFrameTime:{type:Number,computed:'_computeFrameTime(targetFramerate)'}},behaviors:[Polymer.Templatizer],observers:['_itemsChanged(items.*)'],created:function(){this._instances=[];this._pool=[];this._limit=Infinity;var self=this;this._boundRenderChunk=function(){self._renderChunk();};},detached:function(){this.__isDetached=true;for(var i=0;i<this._instances.length;i++){this._detachInstance(i);}},attached:function(){if(this.__isDetached){this.__isDetached=false;var parent=Polymer.dom(Polymer.dom(this).parentNode);for(var i=0;i<this._instances.length;i++){this._attachInstance(i,parent);}}},ready:function(){this._instanceProps={__key__:true};this._instanceProps[this.as]=true;this._instanceProps[this.indexAs]=true;if(!this.ctor){this.templatize(this);}},_sortChanged:function(sort){var dataHost=this._getRootDataHost();this._sortFn=sort&&(typeof sort=='function'?sort:function(){return dataHost[sort].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_filterChanged:function(filter){var dataHost=this._getRootDataHost();this._filterFn=filter&&(typeof filter=='function'?filter:function(){return dataHost[filter].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_computeFrameTime:function(rate){return Math.ceil(1000/rate);},_initializeChunking:function(){if(this.initialCount){this._limit=this.initialCount;this._chunkCount=this.initialCount;this._lastChunkTime=performance.now();}},_tryRenderChunk:function(){if(this.items&&this._limit<this.items.length){this.debounce('renderChunk',this._requestRenderChunk);}},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk);},_renderChunk:function(){var currChunkTime=performance.now();var ratio=this._targetFrameTime/(currChunkTime-this._lastChunkTime);this._chunkCount=Math.round(this._chunkCount*ratio)||1;this._limit+=this._chunkCount;this._lastChunkTime=currChunkTime;this._debounceTemplate(this._render);},_observeChanged:function(){this._observePaths=this.observe&&this.observe.replace('.*','.').split(' ');},_itemsChanged:function(change){if(change.path=='items'){if(Array.isArray(this.items)){this.collection=Polymer.Collection.get(this.items);}else if(!this.items){this.collection=null;}else{this._error(this._logf('dom-repeat','expected array for `items`,'+' found',this.items));} 4173this._keySplices=[];this._indexSplices=[];this._needFullRefresh=true;this._initializeChunking();this._debounceTemplate(this._render);}else if(change.path=='items.splices'){this._keySplices=this._keySplices.concat(change.value.keySplices);this._indexSplices=this._indexSplices.concat(change.value.indexSplices);this._debounceTemplate(this._render);}else{var subpath=change.path.slice(6);this._forwardItemPath(subpath,change.value);this._checkObservedPaths(subpath);}},_checkObservedPaths:function(path){if(this._observePaths){path=path.substring(path.indexOf('.')+1);var paths=this._observePaths;for(var i=0;i<paths.length;i++){if(path.indexOf(paths[i])===0){this._needFullRefresh=true;if(this.delay){this.debounce('render',this._render,this.delay);}else{this._debounceTemplate(this._render);} 4174return;}}}},render:function(){this._needFullRefresh=true;this._debounceTemplate(this._render);this._flushTemplates();},_render:function(){if(this._needFullRefresh){this._applyFullRefresh();this._needFullRefresh=false;}else if(this._keySplices.length){if(this._sortFn){this._applySplicesUserSort(this._keySplices);}else{if(this._filterFn){this._applyFullRefresh();}else{this._applySplicesArrayOrder(this._indexSplices);}}}else{} 4175this._keySplices=[];this._indexSplices=[];var keyToIdx=this._keyToInstIdx={};for(var i=this._instances.length-1;i>=0;i--){var inst=this._instances[i];if(inst.isPlaceholder&&i<this._limit){inst=this._insertInstance(i,inst.__key__);}else if(!inst.isPlaceholder&&i>=this._limit){inst=this._downgradeInstance(i,inst.__key__);} 4176keyToIdx[inst.__key__]=i;if(!inst.isPlaceholder){inst.__setProperty(this.indexAs,i,true);}} 4177this._pool.length=0;this._setRenderedItemCount(this._instances.length);if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');} 4178this._tryRenderChunk();},_applyFullRefresh:function(){var c=this.collection;var keys;if(this._sortFn){keys=c?c.getKeys():[];}else{keys=[];var items=this.items;if(items){for(var i=0;i<items.length;i++){keys.push(c.getKey(items[i]));}}} 4179var self=this;if(this._filterFn){keys=keys.filter(function(a){return self._filterFn(c.getItem(a));});} 4180if(this._sortFn){keys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});} 4181for(i=0;i<keys.length;i++){var key=keys[i];var inst=this._instances[i];if(inst){inst.__key__=key;if(!inst.isPlaceholder&&i<this._limit){inst.__setProperty(this.as,c.getItem(key),true);}}else if(i<this._limit){this._insertInstance(i,key);}else{this._insertPlaceholder(i,key);}} 4182for(var j=this._instances.length-1;j>=i;j--){this._detachAndRemoveInstance(j);}},_numericSort:function(a,b){return a-b;},_applySplicesUserSort:function(splices){var c=this.collection;var keyMap={};var key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){key=s.removed[j];keyMap[key]=keyMap[key]?null:-1;} 4183for(j=0;j<s.added.length;j++){key=s.added[j];keyMap[key]=keyMap[key]?null:1;}} 4184var removedIdxs=[];var addedKeys=[];for(key in keyMap){if(keyMap[key]===-1){removedIdxs.push(this._keyToInstIdx[key]);} 4185if(keyMap[key]===1){addedKeys.push(key);}} 4186if(removedIdxs.length){removedIdxs.sort(this._numericSort);for(i=removedIdxs.length-1;i>=0;i--){var idx=removedIdxs[i];if(idx!==undefined){this._detachAndRemoveInstance(idx);}}} 4187var self=this;if(addedKeys.length){if(this._filterFn){addedKeys=addedKeys.filter(function(a){return self._filterFn(c.getItem(a));});} 4188addedKeys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});var start=0;for(i=0;i<addedKeys.length;i++){start=this._insertRowUserSort(start,addedKeys[i]);}}},_insertRowUserSort:function(start,key){var c=this.collection;var item=c.getItem(key);var end=this._instances.length-1;var idx=-1;while(start<=end){var mid=start+end>>1;var midKey=this._instances[mid].__key__;var cmp=this._sortFn(c.getItem(midKey),item);if(cmp<0){start=mid+1;}else if(cmp>0){end=mid-1;}else{idx=mid;break;}} 4189if(idx<0){idx=end+1;} 4190this._insertPlaceholder(idx,key);return idx;},_applySplicesArrayOrder:function(splices){for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){this._detachAndRemoveInstance(s.index);} 4191for(j=0;j<s.addedKeys.length;j++){this._insertPlaceholder(s.index+j,s.addedKeys[j]);}}},_detachInstance:function(idx){var inst=this._instances[idx];if(!inst.isPlaceholder){for(var i=0;i<inst._children.length;i++){var el=inst._children[i];Polymer.dom(inst.root).appendChild(el);} 4192return inst;}},_attachInstance:function(idx,parent){var inst=this._instances[idx];if(!inst.isPlaceholder){parent.insertBefore(inst.root,this);}},_detachAndRemoveInstance:function(idx){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);} 4193this._instances.splice(idx,1);},_insertPlaceholder:function(idx,key){this._instances.splice(idx,0,{isPlaceholder:true,__key__:key});},_stampInstance:function(idx,key){var model={__key__:key};model[this.as]=this.collection.getItem(key);model[this.indexAs]=idx;return this.stamp(model);},_insertInstance:function(idx,key){var inst=this._pool.pop();if(inst){inst.__setProperty(this.as,this.collection.getItem(key),true);inst.__setProperty('__key__',key,true);}else{inst=this._stampInstance(idx,key);} 4194var beforeRow=this._instances[idx+1];var beforeNode=beforeRow&&!beforeRow.isPlaceholder?beforeRow._children[0]:this;var parentNode=Polymer.dom(this).parentNode;Polymer.dom(parentNode).insertBefore(inst.root,beforeNode);this._instances[idx]=inst;return inst;},_downgradeInstance:function(idx,key){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);} 4195inst={isPlaceholder:true,__key__:key};this._instances[idx]=inst;return inst;},_showHideChildren:function(hidden){for(var i=0;i<this._instances.length;i++){if(!this._instances[i].isPlaceholder) 4196this._instances[i]._showHideChildren(hidden);}},_forwardInstanceProp:function(inst,prop,value){if(prop==this.as){var idx;if(this._sortFn||this._filterFn){idx=this.items.indexOf(this.collection.getItem(inst.__key__));}else{idx=inst[this.indexAs];} 4197this.set('items.'+idx,value);}},_forwardInstancePath:function(inst,path,value){if(path.indexOf(this.as+'.')===0){this._notifyPath('items.'+inst.__key__+'.'+path.slice(this.as.length+1),value);}},_forwardParentProp:function(prop,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst.__setProperty(prop,value,true);}}},_forwardParentPath:function(path,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst._notifyPath(path,value,true);}}},_forwardItemPath:function(path,value){if(this._keyToInstIdx){var dot=path.indexOf('.');var key=path.substring(0,dot<0?path.length:dot);var idx=this._keyToInstIdx[key];var inst=this._instances[idx];if(inst&&!inst.isPlaceholder){if(dot>=0){path=this.as+'.'+path.substring(dot+1);inst._notifyPath(path,value,true);}else{inst.__setProperty(this.as,value,true);}}}},itemForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.as];},keyForElement:function(el){var instance=this.modelForElement(el);return instance&&instance.__key__;},indexForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.indexAs];}});Polymer({is:'array-selector',_template:null,properties:{items:{type:Array,observer:'clearSelection'},multi:{type:Boolean,value:false,observer:'clearSelection'},selected:{type:Object,notify:true},selectedItem:{type:Object,notify:true},toggle:{type:Boolean,value:false}},clearSelection:function(){if(Array.isArray(this.selected)){for(var i=0;i<this.selected.length;i++){this.unlinkPaths('selected.'+i);}}else{this.unlinkPaths('selected');this.unlinkPaths('selectedItem');} 4198if(this.multi){if(!this.selected||this.selected.length){this.selected=[];this._selectedColl=Polymer.Collection.get(this.selected);}}else{this.selected=null;this._selectedColl=null;} 4199this.selectedItem=null;},isSelected:function(item){if(this.multi){return this._selectedColl.getKey(item)!==undefined;}else{return this.selected==item;}},deselect:function(item){if(this.multi){if(this.isSelected(item)){var skey=this._selectedColl.getKey(item);this.arrayDelete('selected',item);this.unlinkPaths('selected.'+skey);}}else{this.selected=null;this.selectedItem=null;this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}},select:function(item){var icol=Polymer.Collection.get(this.items);var key=icol.getKey(item);if(this.multi){if(this.isSelected(item)){if(this.toggle){this.deselect(item);}}else{this.push('selected',item);var skey=this._selectedColl.getKey(item);this.linkPaths('selected.'+skey,'items.'+key);}}else{if(this.toggle&&item==this.selected){this.deselect();}else{this.selected=item;this.selectedItem=item;this.linkPaths('selected','items.'+key);this.linkPaths('selectedItem','items.'+key);}}}});Polymer({is:'dom-if',extends:'template',_template:null,properties:{'if':{type:Boolean,value:false,observer:'_queueRender'},restamp:{type:Boolean,value:false,observer:'_queueRender'},notifyDomChange:{type:Boolean}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render);},detached:function(){if(!this.parentNode||this.parentNode.nodeType==Node.DOCUMENT_FRAGMENT_NODE&&(!Polymer.Settings.hasShadow||!(this.parentNode instanceof ShadowRoot))){this._teardownInstance();}},attached:function(){if(this.if&&this.ctor){this.async(this._ensureInstance);}},render:function(){this._flushTemplates();},_render:function(){if(this.if){if(!this.ctor){this.templatize(this);} 4200this._ensureInstance();this._showHideChildren();}else if(this.restamp){this._teardownInstance();} 4201if(!this.restamp&&this._instance){this._showHideChildren();} 4202if(this.if!=this._lastIf){if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');} 4203this._lastIf=this.if;}},_ensureInstance:function(){var parentNode=Polymer.dom(this).parentNode;if(parentNode){var parent=Polymer.dom(parentNode);if(!this._instance){this._instance=this.stamp();var root=this._instance.root;parent.insertBefore(root,this);}else{var c$=this._instance._children;if(c$&&c$.length){var lastChild=Polymer.dom(this).previousSibling;if(lastChild!==c$[c$.length-1]){for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.insertBefore(n,this);}}}}}},_teardownInstance:function(){if(this._instance){var c$=this._instance._children;if(c$&&c$.length){var parent=Polymer.dom(Polymer.dom(c$[0]).parentNode);for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.removeChild(n);}} 4204this._instance=null;}},_showHideChildren:function(){var hidden=this.__hideTemplateChildren__||!this.if;if(this._instance){this._instance._showHideChildren(hidden);}},_forwardParentProp:function(prop,value){if(this._instance){this._instance.__setProperty(prop,value,true);}},_forwardParentPath:function(path,value){if(this._instance){this._instance._notifyPath(path,value,true);}}});Polymer({is:'dom-bind',properties:{notifyDomChange:{type:Boolean}},extends:'template',_template:null,created:function(){var self=this;Polymer.RenderStatus.whenReady(function(){if(document.readyState=='loading'){document.addEventListener('DOMContentLoaded',function(){self._markImportsReady();});}else{self._markImportsReady();}});},_ensureReady:function(){if(!this._readied){this._readySelf();}},_markImportsReady:function(){this._importsReady=true;this._ensureReady();},_registerFeatures:function(){this._prepConstructor();},_insertChildren:function(){var parentDom=Polymer.dom(Polymer.dom(this).parentNode);parentDom.insertBefore(this.root,this);},_removeChildren:function(){if(this._children){for(var i=0;i<this._children.length;i++){this.root.appendChild(this._children[i]);}}},_initFeatures:function(){},_scopeElementClass:function(element,selector){if(this.dataHost){return this.dataHost._scopeElementClass(element,selector);}else{return selector;}},_configureInstanceProperties:function(){},_prepConfigure:function(){var config={};for(var prop in this._propertyEffects){config[prop]=this[prop];} 4205var setupConfigure=this._setupConfigure;this._setupConfigure=function(){setupConfigure.call(this,config);};},attached:function(){if(this._importsReady){this.render();}},detached:function(){this._removeChildren();},render:function(){this._ensureReady();if(!this._children){this._template=this;this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepConfigure();this._prepBindings();this._prepPropertyInfo();Polymer.Base._initFeatures.call(this);this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root);} 4206this._insertChildren();if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}}});'use strict';if(!Polymer.Settings.useNativeShadow){tr.b.showPanic('Polymer error','base only works in shadow mode');}'use strict';const global=this.window||this.global;this.tr=(function(){if(global.tr)return global.tr;function exportPath(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{cur=cur[part]={};}} 4207return cur;} 4208function isExported(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{return false;}} 4209return true;} 4210function isDefined(name){const parts=name.split('.');let curObject=global;for(let i=0;i<parts.length;i++){const partName=parts[i];const nextObject=curObject[partName];if(nextObject===undefined)return false;curObject=nextObject;} 4211return true;} 4212let panicElement=undefined;const rawPanicMessages=[];function showPanicElementIfNeeded(){if(panicElement)return;const panicOverlay=document.createElement('div');panicOverlay.style.backgroundColor='white';panicOverlay.style.border='3px solid red';panicOverlay.style.boxSizing='border-box';panicOverlay.style.color='black';panicOverlay.style.display='-webkit-flex';panicOverlay.style.height='100%';panicOverlay.style.left=0;panicOverlay.style.padding='8px';panicOverlay.style.position='fixed';panicOverlay.style.top=0;panicOverlay.style.webkitFlexDirection='column';panicOverlay.style.width='100%';panicElement=document.createElement('div');panicElement.style.webkitFlex='1 1 auto';panicElement.style.overflow='auto';panicOverlay.appendChild(panicElement);if(!document.body){setTimeout(function(){document.body.appendChild(panicOverlay);},150);}else{document.body.appendChild(panicOverlay);}} 4213function showPanic(panicTitle,panicDetails){if(tr.isHeadless){if(panicDetails instanceof Error)throw panicDetails;throw new Error('Panic: '+panicTitle+':\n'+panicDetails);} 4214if(panicDetails instanceof Error){panicDetails=panicDetails.stack;} 4215showPanicElementIfNeeded();const panicMessageEl=document.createElement('div');panicMessageEl.innerHTML='<h2 id="message"></h2>'+'<pre id="details"></pre>';panicMessageEl.querySelector('#message').textContent=panicTitle;panicMessageEl.querySelector('#details').textContent=panicDetails;panicElement.appendChild(panicMessageEl);rawPanicMessages.push({title:panicTitle,details:panicDetails});} 4216function hasPanic(){return rawPanicMessages.length!==0;} 4217function getPanicText(){return rawPanicMessages.map(function(msg){return msg.title;}).join(', ');} 4218function exportTo(namespace,fn){const obj=exportPath(namespace);const exports=fn();for(const propertyName in exports){const propertyDescriptor=Object.getOwnPropertyDescriptor(exports,propertyName);if(propertyDescriptor){Object.defineProperty(obj,propertyName,propertyDescriptor);}}} 4219function initialize(){if(global.isVinn){tr.isVinn=true;}else if(global.process&&global.process.versions.node){tr.isNode=true;}else{tr.isVinn=false;tr.isNode=false;tr.doc=document;tr.isMac=/Mac/.test(navigator.platform);tr.isWindows=/Win/.test(navigator.platform);tr.isChromeOS=/CrOS/.test(navigator.userAgent);tr.isLinux=/Linux/.test(navigator.userAgent);} 4220tr.isHeadless=tr.isVinn||tr.isNode;} 4221return{initialize,exportTo,isExported,isDefined,showPanic,hasPanic,getPanicText,};})();tr.initialize();'use strict';tr.exportTo('tr.b',function(){function EventTarget(){} 4222EventTarget.decorate=function(target){for(const k in EventTarget.prototype){if(k==='decorate')continue;const v=EventTarget.prototype[k];if(typeof v!=='function')continue;target[k]=v;}};EventTarget.prototype={addEventListener(type,handler){if(!this.listeners_){this.listeners_=Object.create(null);} 4223if(!(type in this.listeners_)){this.listeners_[type]=[handler];}else{const handlers=this.listeners_[type];if(handlers.indexOf(handler)<0){handlers.push(handler);}}},removeEventListener(type,handler){if(!this.listeners_)return;if(type in this.listeners_){const handlers=this.listeners_[type];const index=handlers.indexOf(handler);if(index>=0){if(handlers.length===1){delete this.listeners_[type];}else{handlers.splice(index,1);}}}},dispatchEvent(event){if(!this.listeners_)return true;event.__defineGetter__('target',()=>this);const realPreventDefault=event.preventDefault;event.preventDefault=function(){realPreventDefault.call(this);this.rawReturnValue=false;};const type=event.type;let prevented=0;if(type in this.listeners_){const handlers=this.listeners_[type].concat();for(let i=0,handler;handler=handlers[i];i++){if(handler.handleEvent){prevented|=handler.handleEvent.call(handler,event)===false;}else{prevented|=handler.call(this,event)===false;}}} 4224return!prevented&&event.rawReturnValue;},async dispatchAsync(event){if(!this.listeners_)return true;const listeners=this.listeners_[event.type];if(listeners===undefined)return;await Promise.all(listeners.slice().map(listener=>{if(listener.handleEvent){return listener.handleEvent.call(listener,event);} 4225return listener.call(this,event);}));},hasEventListener(type){return(this.listeners_!==undefined&&this.listeners_[type]!==undefined);}};return{EventTarget,};});'use strict';tr.exportTo('tr.b',function(){function RegisteredTypeInfo(constructor,metadata){this.constructor=constructor;this.metadata=metadata;} 4226const BASIC_REGISTRY_MODE='BASIC_REGISTRY_MODE';const TYPE_BASED_REGISTRY_MODE='TYPE_BASED_REGISTRY_MODE';const ALL_MODES={BASIC_REGISTRY_MODE:true,TYPE_BASED_REGISTRY_MODE:true};function ExtensionRegistryOptions(mode){if(mode===undefined){throw new Error('Mode is required');} 4227if(!ALL_MODES[mode]){throw new Error('Not a mode.');} 4228this.mode_=mode;this.defaultMetadata_={};this.defaultConstructor_=undefined;this.defaultTypeInfo_=undefined;this.frozen_=false;} 4229ExtensionRegistryOptions.prototype={freeze(){if(this.frozen_){throw new Error('Frozen');} 4230this.frozen_=true;},get mode(){return this.mode_;},get defaultMetadata(){return this.defaultMetadata_;},set defaultMetadata(defaultMetadata){if(this.frozen_){throw new Error('Frozen');} 4231this.defaultMetadata_=defaultMetadata;this.defaultTypeInfo_=undefined;},get defaultConstructor(){return this.defaultConstructor_;},set defaultConstructor(defaultConstructor){if(this.frozen_){throw new Error('Frozen');} 4232this.defaultConstructor_=defaultConstructor;this.defaultTypeInfo_=undefined;},get defaultTypeInfo(){if(this.defaultTypeInfo_===undefined&&this.defaultConstructor_){this.defaultTypeInfo_=new RegisteredTypeInfo(this.defaultConstructor,this.defaultMetadata);} 4233return this.defaultTypeInfo_;},validateConstructor(constructor){if(!this.mandatoryBaseClass)return;let curProto=constructor.prototype.__proto__;let ok=false;while(curProto){if(curProto===this.mandatoryBaseClass.prototype){ok=true;break;} 4234curProto=curProto.__proto__;} 4235if(!ok){throw new Error(constructor+'must be subclass of '+registry);}}};return{BASIC_REGISTRY_MODE,TYPE_BASED_REGISTRY_MODE,ExtensionRegistryOptions,RegisteredTypeInfo,};});'use strict';tr.exportTo('tr.b',function(){let Event;if(tr.isHeadless){function HeadlessEvent(type,opt_bubbles,opt_preventable){this.type=type;this.bubbles=(opt_bubbles!==undefined?!!opt_bubbles:false);this.cancelable=(opt_preventable!==undefined?!!opt_preventable:false);this.defaultPrevented=false;this.cancelBubble=false;} 4236HeadlessEvent.prototype={preventDefault(){this.defaultPrevented=true;},stopPropagation(){this.cancelBubble=true;}};Event=HeadlessEvent;}else{function TrEvent(type,opt_bubbles,opt_preventable){const e=tr.doc.createEvent('Event');e.initEvent(type,!!opt_bubbles,!!opt_preventable);e.__proto__=global.Event.prototype;return e;} 4237TrEvent.prototype={__proto__:global.Event.prototype};Event=TrEvent;} 4238function dispatchSimpleEvent(target,type,opt_bubbles,opt_cancelable,opt_fields){const e=new tr.b.Event(type,opt_bubbles,opt_cancelable);Object.assign(e,opt_fields);return target.dispatchEvent(e);} 4239async function dispatchSimpleEventAsync(target,type,opt_fields){const e=new tr.b.Event(type,false,false);Object.assign(e,opt_fields);return await target.dispatchAsync(e);} 4240return{Event,dispatchSimpleEvent,dispatchSimpleEventAsync,};});'use strict';tr.exportTo('tr.b',function(){const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateBasicExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.register=function(constructor,opt_metadata){if(registry.findIndexOfRegisteredConstructor(constructor)!==undefined){throw new Error('Handler already registered for '+constructor);} 4241extensionRegistryOptions.validateConstructor(constructor);const metadata={};for(const k in extensionRegistryOptions.defaultMetadata){metadata[k]=extensionRegistryOptions.defaultMetadata[k];} 4242if(opt_metadata){for(const k in opt_metadata){metadata[k]=opt_metadata[k];}} 4243const typeInfo=new RegisteredTypeInfo(constructor,metadata);let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push(registry.registeredTypeInfos_);registry.registeredTypeInfos_=[];const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){registry.registeredTypeInfos_=savedStateStack[0];savedStateStack.splice(0,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.findIndexOfRegisteredConstructor=function(constructor){for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){return i;}} 4244return undefined;};registry.unregister=function(constructor){const foundIndex=registry.findIndexOfRegisteredConstructor(constructor);if(foundIndex===undefined){throw new Error(constructor+' not registered');} 4245registry.registeredTypeInfos_.splice(foundIndex,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getAllRegisteredTypeInfos=function(){return registry.registeredTypeInfos_;};registry.findTypeInfo=function(constructor){const foundIndex=this.findIndexOfRegisteredConstructor(constructor);if(foundIndex!==undefined){return this.registeredTypeInfos_[foundIndex];} 4246return undefined;};registry.findTypeInfoMatching=function(predicate,opt_this){opt_this=opt_this?opt_this:undefined;for(let i=0;i<registry.registeredTypeInfos_.length;++i){const typeInfo=registry.registeredTypeInfos_[i];if(predicate.call(opt_this,typeInfo)){return typeInfo;}} 4247return extensionRegistryOptions.defaultTypeInfo;};registry.findTypeInfoWithName=function(name){if(typeof(name)!=='string'){throw new Error('Name is not a string.');} 4248const typeInfo=registry.findTypeInfoMatching(function(ti){return ti.constructor.name===name;});if(typeInfo)return typeInfo;return undefined;};} 4249return{_decorateBasicExtensionRegistry:decorateBasicExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){const categoryPartsFor={};function getCategoryParts(category){let parts=categoryPartsFor[category];if(parts!==undefined)return parts;parts=category.split(',');categoryPartsFor[category]=parts;return parts;} 4250return{getCategoryParts,};});'use strict';tr.exportTo('tr.b',function(){const getCategoryParts=tr.b.getCategoryParts;const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateTypeBasedExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.categoryPartToTypeInfoMap_=new Map();registry.typeNameToTypeInfoMap_=new Map();registry.register=function(constructor,metadata){extensionRegistryOptions.validateConstructor(constructor);const typeInfo=new RegisteredTypeInfo(constructor,metadata||extensionRegistryOptions.defaultMetadata);typeInfo.typeNames=[];typeInfo.categoryParts=[];if(metadata&&metadata.typeName){typeInfo.typeNames.push(metadata.typeName);} 4251if(metadata&&metadata.typeNames){typeInfo.typeNames.push.apply(typeInfo.typeNames,metadata.typeNames);} 4252if(metadata&&metadata.categoryParts){typeInfo.categoryParts.push.apply(typeInfo.categoryParts,metadata.categoryParts);} 4253if(typeInfo.typeNames.length===0&&typeInfo.categoryParts.length===0){throw new Error('typeName or typeNames must be provided');} 4254typeInfo.typeNames.forEach(function(typeName){if(registry.typeNameToTypeInfoMap_.has(typeName)){throw new Error('typeName '+typeName+' already registered');}});typeInfo.categoryParts.forEach(function(categoryPart){if(registry.categoryPartToTypeInfoMap_.has(categoryPart)){throw new Error('categoryPart '+categoryPart+' already registered');}});let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.set(typeName,typeInfo);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.set(categoryPart,typeInfo);});registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push({registeredTypeInfos:registry.registeredTypeInfos_,typeNameToTypeInfoMap:registry.typeNameToTypeInfoMap_,categoryPartToTypeInfoMap:registry.categoryPartToTypeInfoMap_});registry.registeredTypeInfos_=[];registry.typeNameToTypeInfoMap_=new Map();registry.categoryPartToTypeInfoMap_=new Map();const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){const state=savedStateStack[0];savedStateStack.splice(0,1);registry.registeredTypeInfos_=state.registeredTypeInfos;registry.typeNameToTypeInfoMap_=state.typeNameToTypeInfoMap;registry.categoryPartToTypeInfoMap_=state.categoryPartToTypeInfoMap;const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.unregister=function(constructor){let typeInfoIndex=-1;for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){typeInfoIndex=i;break;}} 4255if(typeInfoIndex===-1){throw new Error(constructor+' not registered');} 4256const typeInfo=registry.registeredTypeInfos_[typeInfoIndex];registry.registeredTypeInfos_.splice(typeInfoIndex,1);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.delete(typeName);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.delete(categoryPart);});const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getTypeInfo=function(category,typeName){if(category){const categoryParts=getCategoryParts(category);for(let i=0;i<categoryParts.length;i++){const categoryPart=categoryParts[i];const typeInfo=registry.categoryPartToTypeInfoMap_.get(categoryPart);if(typeInfo!==undefined)return typeInfo;}} 4257const typeInfo=registry.typeNameToTypeInfoMap_.get(typeName);if(typeInfo!==undefined)return typeInfo;return extensionRegistryOptions.defaultTypeInfo;};registry.getConstructor=function(category,typeName){const typeInfo=registry.getTypeInfo(category,typeName);if(typeInfo)return typeInfo.constructor;return undefined;};} 4258return{_decorateTypeBasedExtensionRegistry:decorateTypeBasedExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){function asArray(x){const values=[];if(x[Symbol.iterator]){for(const value of x){values.push(value);}}else{for(let i=0;i<x.length;i++){values.push(x[i]);}} 4259return values;} 4260function getOnlyElement(iterable){const iterator=iterable[Symbol.iterator]();const firstIteration=iterator.next();if(firstIteration.done){throw new Error('getOnlyElement was passed an empty iterable.');} 4261const secondIteration=iterator.next();if(!secondIteration.done){throw new Error('getOnlyElement was passed an iterable with multiple elements.');} 4262return firstIteration.value;} 4263function getFirstElement(iterable){const iterator=iterable[Symbol.iterator]();const result=iterator.next();if(result.done){throw new Error('getFirstElement was passed an empty iterable.');} 4264return result.value;} 4265function compareArrays(x,y,elementCmp){const minLength=Math.min(x.length,y.length);let i;for(i=0;i<minLength;i++){const tmp=elementCmp(x[i],y[i]);if(tmp)return tmp;} 4266if(x.length===y.length)return 0;if(x[i]===undefined)return-1;return 1;} 4267function comparePossiblyUndefinedValues(x,y,cmp,opt_this){if(x!==undefined&&y!==undefined){return cmp.call(opt_this,x,y);} 4268if(x!==undefined)return-1;if(y!==undefined)return 1;return 0;} 4269function concatenateObjects(){const result={};for(let i=0;i<arguments.length;i++){const object=arguments[i];for(const j in object){result[j]=object[j];}} 4270return result;} 4271function dictionaryContainsValue(dict,value){for(const key in dict){if(dict[key]===value){return true;}} 4272return false;} 4273function groupIntoMap(ary,callback,opt_this,opt_arrayConstructor){const arrayConstructor=opt_arrayConstructor||Array;const results=new Map();for(const element of ary){const key=callback.call(opt_this,element);let items=results.get(key);if(items===undefined){items=new arrayConstructor();results.set(key,items);} 4274items.push(element);} 4275return results;} 4276function mapItems(dict,fn,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];result[key]=fn.call(opt_this,key,dict[key]);} 4277return result;} 4278function filterItems(dict,predicate,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];const value=dict[key];if(predicate.call(opt_this,key,value)){result[key]=value;}} 4279return result;} 4280function inPlaceFilter(array,predicate,opt_this){opt_this=opt_this||this;let nextPosition=0;for(let i=0;i<array.length;i++){if(!predicate.call(opt_this,array[i],i))continue;if(nextPosition<i){array[nextPosition]=array[i];} 4281nextPosition++;} 4282if(nextPosition<array.length){array.length=nextPosition;}} 4283function iterObjectFieldsRecursively(object,func){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){func(object,i,object[i]);iterObjectFieldsRecursively(object[i],func);} 4284return;} 4285for(const key in object){const value=object[key];func(object,key,value);iterObjectFieldsRecursively(value,func);}} 4286function invertArrayOfDicts(array,opt_dictGetter,opt_this){opt_this=opt_this||this;const result={};for(let i=0;i<array.length;i++){const item=array[i];if(item===undefined)continue;const dict=opt_dictGetter?opt_dictGetter.call(opt_this,item):item;if(dict===undefined)continue;for(const key in dict){let valueList=result[key];if(valueList===undefined){result[key]=valueList=new Array(array.length);} 4287valueList[i]=dict[key];}} 4288return result;} 4289function arrayToDict(array,valueToKeyFn,opt_this){opt_this=opt_this||this;const result={};const length=array.length;for(let i=0;i<length;i++){const value=array[i];const key=valueToKeyFn.call(opt_this,value);result[key]=value;} 4290return result;} 4291function identity(d){return d;} 4292function findFirstIndexInArray(ary,opt_func,opt_this){const func=opt_func||identity;for(let i=0;i<ary.length;i++){if(func.call(opt_this,ary[i],i))return i;} 4293return-1;} 4294function findFirstInArray(ary,opt_func,opt_this){const i=findFirstIndexInArray(ary,opt_func,opt_func);if(i===-1)return undefined;return ary[i];} 4295function findFirstKeyInDictMatching(dict,opt_func,opt_this){const func=opt_func||identity;for(const key in dict){if(func.call(opt_this,key,dict[key])){return key;}} 4296return undefined;} 4297function mapValues(map){const values=[];for(const value of map.values()){values.push(value);} 4298return values;} 4299function setsEqual(a,b){if(!(a instanceof Set)||!(b instanceof Set))return false;if(a.size!==b.size)return false;for(const x of a){if(!b.has(x))return false;} 4300return true;} 4301return{asArray,concatenateObjects,compareArrays,comparePossiblyUndefinedValues,dictionaryContainsValue,getOnlyElement,getFirstElement,groupIntoMap,mapItems,filterItems,inPlaceFilter,iterObjectFieldsRecursively,invertArrayOfDicts,arrayToDict,identity,findFirstIndexInArray,findFirstInArray,findFirstKeyInDictMatching,mapValues,setsEqual,};});'use strict';tr.exportTo('tr.b',function(){function decorateExtensionRegistry(registry,registryOptions){if(registry.register){throw new Error('Already has registry');} 4302registryOptions.freeze();if(registryOptions.mode===tr.b.BASIC_REGISTRY_MODE){tr.b._decorateBasicExtensionRegistry(registry,registryOptions);}else if(registryOptions.mode===tr.b.TYPE_BASED_REGISTRY_MODE){tr.b._decorateTypeBasedExtensionRegistry(registry,registryOptions);}else{throw new Error('Unrecognized mode');} 4303if(registry.addEventListener===undefined){tr.b.EventTarget.decorate(registry);}} 4304return{decorateExtensionRegistry,};});'use strict';tr.exportTo('tr.importer',function(){function Importer(){} 4305Importer.prototype={__proto__:Object.prototype,get importerName(){return'Importer';},isTraceDataContainer(){return false;},extractSubtraces(){return[];},importClockSyncMarkers(){},importEvents(){},importSampleData(){},finalizeImport(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Importer;tr.b.decorateExtensionRegistry(Importer,options);Importer.findImporterFor=function(eventData){const typeInfo=Importer.findTypeInfoMatching(function(ti){return ti.constructor.canImport(eventData);});if(typeInfo){return typeInfo.constructor;} 4306return undefined;};return{Importer,};});'use strict';tr.exportTo('tr.e.importer.gcloud_trace',function(){function GcloudTraceImporter(model,eventData){this.importPriority=2;this.eventData_=eventData;} 4307GcloudTraceImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;} 4308const normalizedEventData=eventData.slice(0,20).replace(/\s/g,'');if(normalizedEventData.length<14)return false;return normalizedEventData.slice(0,14)==='{"projectId":"';};GcloudTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GcloudTraceImporter';},extractSubtraces(){const traceEvents=this.createEventsForTrace();return traceEvents?[traceEvents]:[];},createEventsForTrace(){const events=[];const trace=JSON.parse(this.eventData_);const spanLength=trace.spans.length;for(let i=0;i<spanLength;i++){events.push(this.createEventForSpan(trace.traceId,trace.spans[i]));} 4309return{'traceEvents':events};},createEventForSpan(traceId,span){let newArgs={};if(span.labels){newArgs=JSON.parse(JSON.stringify(span.labels));} 4310newArgs['Span ID']=span.spanId;newArgs['Start Time']=span.startTime;newArgs['End Time']=span.endTime;if(span.parentSpanId){newArgs['Parent Span ID']=span.parentSpanId;} 4311return{name:span.name,args:newArgs,pid:traceId,ts:Date.parse(span.startTime)*1000,dur:(Date.parse(span.endTime)-Date.parse(span.startTime))*1000,cat:'tracespan',tid:traceId,ph:'X'};}};tr.importer.Importer.register(GcloudTraceImporter);return{GcloudTraceImporter,};});'use strict';tr.exportTo('tr.b.math',function(){function convertEventsToRanges(events){return events.map(function(event){return tr.b.math.Range.fromExplicitRange(event.start,event.end);});} 4312function mergeRanges(inRanges,mergeThreshold,mergeFunction){const remainingEvents=inRanges.slice();remainingEvents.sort(function(x,y){return x.min-y.min;});if(remainingEvents.length<=1){const merged=[];if(remainingEvents.length===1){merged.push(mergeFunction(remainingEvents));} 4313return merged;} 4314const mergedEvents=[];let currentMergeBuffer=[];let rightEdge;function beginMerging(){currentMergeBuffer.push(remainingEvents[0]);remainingEvents.splice(0,1);rightEdge=currentMergeBuffer[0].max;} 4315function flushCurrentMergeBuffer(){if(currentMergeBuffer.length===0)return;mergedEvents.push(mergeFunction(currentMergeBuffer));currentMergeBuffer=[];if(remainingEvents.length!==0)beginMerging();} 4316beginMerging();while(remainingEvents.length){const currentEvent=remainingEvents[0];const distanceFromRightEdge=currentEvent.min-rightEdge;if(distanceFromRightEdge<mergeThreshold){rightEdge=Math.max(rightEdge,currentEvent.max);remainingEvents.splice(0,1);currentMergeBuffer.push(currentEvent);continue;} 4317flushCurrentMergeBuffer();} 4318flushCurrentMergeBuffer();return mergedEvents;} 4319function findEmptyRangesBetweenRanges(inRanges,opt_totalRange){if(opt_totalRange&&opt_totalRange.isEmpty)opt_totalRange=undefined;const emptyRanges=[];if(!inRanges.length){if(opt_totalRange)emptyRanges.push(opt_totalRange);return emptyRanges;} 4320inRanges=inRanges.slice();inRanges.sort(function(x,y){return x.min-y.min;});if(opt_totalRange&&(opt_totalRange.min<inRanges[0].min)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(opt_totalRange.min,inRanges[0].min));} 4321inRanges.forEach(function(range,index){for(let otherIndex=0;otherIndex<inRanges.length;++otherIndex){if(index===otherIndex)continue;const other=inRanges[otherIndex];if(other.min>range.max){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,other.min));return;} 4322if(other.max>range.max){return;}} 4323if(opt_totalRange&&(range.max<opt_totalRange.max)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,opt_totalRange.max));}});return emptyRanges;} 4324return{convertEventsToRanges,findEmptyRangesBetweenRanges,mergeRanges,};});!function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define(n);else{var r=n();for(var a in r)("object"==typeof exports?exports:t)[a]=r[a]}}(this,function(){return function(t){function n(a){if(r[a])return r[a].exports;var e=r[a]={exports:{},id:a,loaded:!1};return t[a].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){n.glMatrix=r(1),n.mat2=r(2),n.mat2d=r(3),n.mat3=r(4),n.mat4=r(5),n.quat=r(6),n.vec2=r(9),n.vec3=r(7),n.vec4=r(8)},function(t,n,r){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.setMatrixArrayType=function(t){GLMAT_ARRAY_TYPE=t};var e=Math.PI/180;a.toRadian=function(t){return t*e},t.exports=a},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*u-e*a;return o?(o=1/o,t[0]=u*o,t[1]=-a*o,t[2]=-e*o,t[3]=r*o,t):null},e.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},e.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*i+u*c,t[1]=e*i+o*c,t[2]=a*f+u*s,t[3]=e*f+o*s,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+u*i,t[1]=e*c+o*i,t[2]=a*-i+u*c,t[3]=e*-i+o*c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1];return t[0]=a*i,t[1]=e*i,t[2]=u*c,t[3]=o*c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},e.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},e.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=r*u-a*e;return c?(c=1/c,t[0]=u*c,t[1]=-a*c,t[2]=-e*c,t[3]=r*c,t[4]=(e*i-u*o)*c,t[5]=(a*o-r*i)*c,t):null},e.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1],h=r[2],M=r[3],l=r[4],v=r[5];return t[0]=a*f+u*s,t[1]=e*f+o*s,t[2]=a*h+u*M,t[3]=e*h+o*M,t[4]=a*l+u*v+i,t[5]=e*l+o*v+c,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=Math.sin(r),s=Math.cos(r);return t[0]=a*s+u*f,t[1]=e*s+o*f,t[2]=a*-f+u*s,t[3]=e*-f+o*s,t[4]=i,t[5]=c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a*f,t[1]=e*f,t[2]=u*s,t[3]=o*s,t[4]=i,t[5]=c,t},e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=a*f+u*s+i,t[5]=e*f+o*s+c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t[4]=0,t[5]=0,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},e.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat4=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t},e.clone=function(t){var n=new a.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=a,t[7]=e}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=s*o-i*f,M=-s*u+i*c,l=f*u-o*c,v=r*h+a*M+e*l;return v?(v=1/v,t[0]=h*v,t[1]=(-s*a+e*f)*v,t[2]=(i*a-e*o)*v,t[3]=M*v,t[4]=(s*r-e*c)*v,t[5]=(-i*r+e*u)*v,t[6]=l*v,t[7]=(-f*r+a*c)*v,t[8]=(o*r-a*u)*v,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8];return t[0]=o*s-i*f,t[1]=e*f-a*s,t[2]=a*i-e*o,t[3]=i*c-u*s,t[4]=r*s-e*c,t[5]=e*u-r*i,t[6]=u*f-o*c,t[7]=a*c-r*f,t[8]=r*o-a*u,t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8];return n*(f*u-o*c)+r*(-f*e+o*i)+a*(c*e-u*i)},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1],v=r[2],m=r[3],p=r[4],d=r[5],A=r[6],R=r[7],w=r[8];return t[0]=M*a+l*o+v*f,t[1]=M*e+l*i+v*s,t[2]=M*u+l*c+v*h,t[3]=m*a+p*o+d*f,t[4]=m*e+p*i+d*s,t[5]=m*u+p*c+d*h,t[6]=A*a+R*o+w*f,t[7]=A*e+R*i+w*s,t[8]=A*u+R*c+w*h,t},e.mul=e.multiply,e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=M*a+l*o+f,t[7]=M*e+l*i+s,t[8]=M*u+l*c+h,t},e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=Math.sin(r),l=Math.cos(r);return t[0]=l*a+M*o,t[1]=l*e+M*i,t[2]=l*u+M*c,t[3]=l*o-M*a,t[4]=l*i-M*e,t[5]=l*c-M*u,t[6]=f,t[7]=s,t[8]=h,t},e.scale=function(t,n,r){var a=r[0],e=r[1];return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=e*n[3],t[4]=e*n[4],t[5]=e*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=-r,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat2d=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[3]=s-d,t[6]=M+p,t[1]=s+d,t[4]=1-f-v,t[7]=l-m,t[2]=M-p,t[5]=l+m,t[8]=1-f-h,t},e.normalFromMat4=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(c*P-o*b-f*x)*D,t[2]=(o*T-i*P+f*y)*D,t[3]=(e*T-a*b-u*E)*D,t[4]=(r*b-e*P+u*x)*D,t[5]=(a*P-r*T-u*y)*D,t[6]=(m*g-p*Y+d*q)*D,t[7]=(p*w-v*g-d*R)*D,t[8]=(v*Y-m*w+d*A)*D,t):null},e.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[3],u=n[6],o=n[7],i=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=r,t[6]=n[9],t[7]=n[13],t[8]=a,t[9]=u,t[11]=n[14],t[12]=e,t[13]=o,t[14]=i}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(e*T-a*b-u*E)*D,t[2]=(m*g-p*Y+d*q)*D,t[3]=(M*Y-h*g-l*q)*D,t[4]=(c*P-o*b-f*x)*D,t[5]=(r*b-e*P+u*x)*D,t[6]=(p*w-v*g-d*R)*D,t[7]=(s*g-M*w+l*R)*D,t[8]=(o*T-i*P+f*y)*D,t[9]=(a*P-r*T-u*y)*D,t[10]=(v*Y-m*w+d*A)*D,t[11]=(h*w-s*Y-l*A)*D,t[12]=(i*x-o*E-c*y)*D,t[13]=(r*E-a*x+e*y)*D,t[14]=(m*R-v*q-p*A)*D,t[15]=(s*q-h*R+M*A)*D,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15];return t[0]=i*(M*d-l*p)-h*(c*d-f*p)+m*(c*l-f*M),t[1]=-(a*(M*d-l*p)-h*(e*d-u*p)+m*(e*l-u*M)),t[2]=a*(c*d-f*p)-i*(e*d-u*p)+m*(e*f-u*c),t[3]=-(a*(c*l-f*M)-i*(e*l-u*M)+h*(e*f-u*c)),t[4]=-(o*(M*d-l*p)-s*(c*d-f*p)+v*(c*l-f*M)),t[5]=r*(M*d-l*p)-s*(e*d-u*p)+v*(e*l-u*M),t[6]=-(r*(c*d-f*p)-o*(e*d-u*p)+v*(e*f-u*c)),t[7]=r*(c*l-f*M)-o*(e*l-u*M)+s*(e*f-u*c),t[8]=o*(h*d-l*m)-s*(i*d-f*m)+v*(i*l-f*h),t[9]=-(r*(h*d-l*m)-s*(a*d-u*m)+v*(a*l-u*h)),t[10]=r*(i*d-f*m)-o*(a*d-u*m)+v*(a*f-u*i),t[11]=-(r*(i*l-f*h)-o*(a*l-u*h)+s*(a*f-u*i)),t[12]=-(o*(h*p-M*m)-s*(i*p-c*m)+v*(i*M-c*h)),t[13]=r*(h*p-M*m)-s*(a*p-e*m)+v*(a*M-e*h),t[14]=-(r*(i*p-c*m)-o*(a*p-e*m)+v*(a*c-e*i)),t[15]=r*(i*M-c*h)-o*(a*M-e*h)+s*(a*c-e*i),t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8],s=t[9],h=t[10],M=t[11],l=t[12],v=t[13],m=t[14],p=t[15],d=n*o-r*u,A=n*i-a*u,R=n*c-e*u,w=r*i-a*o,q=r*c-e*o,Y=a*c-e*i,g=f*v-s*l,y=f*m-h*l,x=f*p-M*l,P=s*m-h*v,E=s*p-M*v,T=h*p-M*m;return d*T-A*E+R*P+w*x-q*y+Y*g},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],m=n[12],p=n[13],d=n[14],A=n[15],R=r[0],w=r[1],q=r[2],Y=r[3];return t[0]=R*a+w*i+q*h+Y*m,t[1]=R*e+w*c+q*M+Y*p,t[2]=R*u+w*f+q*l+Y*d,t[3]=R*o+w*s+q*v+Y*A,R=r[4],w=r[5],q=r[6],Y=r[7],t[4]=R*a+w*i+q*h+Y*m,t[5]=R*e+w*c+q*M+Y*p,t[6]=R*u+w*f+q*l+Y*d,t[7]=R*o+w*s+q*v+Y*A,R=r[8],w=r[9],q=r[10],Y=r[11],t[8]=R*a+w*i+q*h+Y*m,t[9]=R*e+w*c+q*M+Y*p,t[10]=R*u+w*f+q*l+Y*d,t[11]=R*o+w*s+q*v+Y*A,R=r[12],w=r[13],q=r[14],Y=r[15],t[12]=R*a+w*i+q*h+Y*m,t[13]=R*e+w*c+q*M+Y*p,t[14]=R*u+w*f+q*l+Y*d,t[15]=R*o+w*s+q*v+Y*A,t},e.mul=e.multiply,e.translate=function(t,n,r){var a,e,u,o,i,c,f,s,h,M,l,v,m=r[0],p=r[1],d=r[2];return n===t?(t[12]=n[0]*m+n[4]*p+n[8]*d+n[12],t[13]=n[1]*m+n[5]*p+n[9]*d+n[13],t[14]=n[2]*m+n[6]*p+n[10]*d+n[14],t[15]=n[3]*m+n[7]*p+n[11]*d+n[15]):(a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=f,t[7]=s,t[8]=h,t[9]=M,t[10]=l,t[11]=v,t[12]=a*m+i*p+h*d+n[12],t[13]=e*m+c*p+M*d+n[13],t[14]=u*m+f*p+l*d+n[14],t[15]=o*m+s*p+v*d+n[15]),t},e.scale=function(t,n,r){var a=r[0],e=r[1],u=r[2];return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*u,t[9]=n[9]*u,t[10]=n[10]*u,t[11]=n[11]*u,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.rotate=function(t,n,r,e){var u,o,i,c,f,s,h,M,l,v,m,p,d,A,R,w,q,Y,g,y,x,P,E,T,b=e[0],D=e[1],L=e[2],_=Math.sqrt(b*b+D*D+L*L);return Math.abs(_)<a.EPSILON?null:(_=1/_,b*=_,D*=_,L*=_,u=Math.sin(r),o=Math.cos(r),i=1-o,c=n[0],f=n[1],s=n[2],h=n[3],M=n[4],l=n[5],v=n[6],m=n[7],p=n[8],d=n[9],A=n[10],R=n[11],w=b*b*i+o,q=D*b*i+L*u,Y=L*b*i-D*u,g=b*D*i-L*u,y=D*D*i+o,x=L*D*i+b*u,P=b*L*i+D*u,E=D*L*i-b*u,T=L*L*i+o,t[0]=c*w+M*q+p*Y,t[1]=f*w+l*q+d*Y,t[2]=s*w+v*q+A*Y,t[3]=h*w+m*q+R*Y,t[4]=c*g+M*y+p*x,t[5]=f*g+l*y+d*x,t[6]=s*g+v*y+A*x,t[7]=h*g+m*y+R*x,t[8]=c*P+M*E+p*T,t[9]=f*P+l*E+d*T,t[10]=s*P+v*E+A*T,t[11]=h*P+m*E+R*T,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t)},e.rotateX=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[4],o=n[5],i=n[6],c=n[7],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=u*e+f*a,t[5]=o*e+s*a,t[6]=i*e+h*a,t[7]=c*e+M*a,t[8]=f*e-u*a,t[9]=s*e-o*a,t[10]=h*e-i*a,t[11]=M*e-c*a,t},e.rotateY=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e-f*a,t[1]=o*e-s*a,t[2]=i*e-h*a,t[3]=c*e-M*a,t[8]=u*a+f*e,t[9]=o*a+s*e,t[10]=i*a+h*e,t[11]=c*a+M*e,t},e.rotateZ=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[4],s=n[5],h=n[6],M=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e+f*a,t[1]=o*e+s*a,t[2]=i*e+h*a,t[3]=c*e+M*a,t[4]=f*e-u*a,t[5]=s*e-o*a,t[6]=h*e-i*a,t[7]=M*e-c*a,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotation=function(t,n,r){var e,u,o,i=r[0],c=r[1],f=r[2],s=Math.sqrt(i*i+c*c+f*f);return Math.abs(s)<a.EPSILON?null:(s=1/s,i*=s,c*=s,f*=s,e=Math.sin(n),u=Math.cos(n),o=1-u,t[0]=i*i*o+u,t[1]=c*i*o+f*e,t[2]=f*i*o-c*e,t[3]=0,t[4]=i*c*o-f*e,t[5]=c*c*o+u,t[6]=f*c*o+i*e,t[7]=0,t[8]=i*f*o+c*e,t[9]=c*f*o-i*e,t[10]=f*f*o+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},e.fromXRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromYRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromZRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotationTranslation=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=a+a,c=e+e,f=u+u,s=a*i,h=a*c,M=a*f,l=e*c,v=e*f,m=u*f,p=o*i,d=o*c,A=o*f;return t[0]=1-(l+m),t[1]=h+A,t[2]=M-d,t[3]=0,t[4]=h-A,t[5]=1-(s+m),t[6]=v+p,t[7]=0,t[8]=M+d,t[9]=v-p,t[10]=1-(s+l),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScale=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],c=e+e,f=u+u,s=o+o,h=e*c,M=e*f,l=e*s,v=u*f,m=u*s,p=o*s,d=i*c,A=i*f,R=i*s,w=a[0],q=a[1],Y=a[2];return t[0]=(1-(v+p))*w,t[1]=(M+R)*w,t[2]=(l-A)*w,t[3]=0,t[4]=(M-R)*q,t[5]=(1-(h+p))*q,t[6]=(m+d)*q,t[7]=0,t[8]=(l+A)*Y,t[9]=(m-d)*Y,t[10]=(1-(h+v))*Y,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScaleOrigin=function(t,n,r,a,e){var u=n[0],o=n[1],i=n[2],c=n[3],f=u+u,s=o+o,h=i+i,M=u*f,l=u*s,v=u*h,m=o*s,p=o*h,d=i*h,A=c*f,R=c*s,w=c*h,q=a[0],Y=a[1],g=a[2],y=e[0],x=e[1],P=e[2];return t[0]=(1-(m+d))*q,t[1]=(l+w)*q,t[2]=(v-R)*q,t[3]=0,t[4]=(l-w)*Y,t[5]=(1-(M+d))*Y,t[6]=(p+A)*Y,t[7]=0,t[8]=(v+R)*g,t[9]=(p-A)*g,t[10]=(1-(M+m))*g,t[11]=0,t[12]=r[0]+y-(t[0]*y+t[4]*x+t[8]*P),t[13]=r[1]+x-(t[1]*y+t[5]*x+t[9]*P),t[14]=r[2]+P-(t[2]*y+t[6]*x+t[10]*P),t[15]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[1]=s+d,t[2]=M-p,t[3]=0,t[4]=s-d,t[5]=1-f-v,t[6]=l+m,t[7]=0,t[8]=M+p,t[9]=l-m,t[10]=1-f-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,n,r,a,e,u,o){var i=1/(r-n),c=1/(e-a),f=1/(u-o);return t[0]=2*u*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*c,t[6]=0,t[7]=0,t[8]=(r+n)*i,t[9]=(e+a)*c,t[10]=(o+u)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*f,t[15]=0,t},e.perspective=function(t,n,r,a,e){var u=1/Math.tan(n/2),o=1/(a-e);return t[0]=u/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(e+a)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*e*a*o,t[15]=0,t},e.perspectiveFromFieldOfView=function(t,n,r,a){var e=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),i=Math.tan(n.rightDegrees*Math.PI/180),c=2/(o+i),f=2/(e+u);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-i)*c*.5),t[9]=(e-u)*f*.5,t[10]=a/(r-a),t[11]=-1,t[12]=0,t[13]=0,t[14]=a*r/(r-a),t[15]=0,t},e.ortho=function(t,n,r,a,e,u,o){var i=1/(n-r),c=1/(a-e),f=1/(u-o);return t[0]=-2*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(n+r)*i,t[13]=(e+a)*c,t[14]=(o+u)*f,t[15]=1,t},e.lookAt=function(t,n,r,u){var o,i,c,f,s,h,M,l,v,m,p=n[0],d=n[1],A=n[2],R=u[0],w=u[1],q=u[2],Y=r[0],g=r[1],y=r[2];return Math.abs(p-Y)<a.EPSILON&&Math.abs(d-g)<a.EPSILON&&Math.abs(A-y)<a.EPSILON?e.identity(t):(M=p-Y,l=d-g,v=A-y,m=1/Math.sqrt(M*M+l*l+v*v),M*=m,l*=m,v*=m,o=w*v-q*l,i=q*M-R*v,c=R*l-w*M,m=Math.sqrt(o*o+i*i+c*c),m?(m=1/m,o*=m,i*=m,c*=m):(o=0,i=0,c=0),f=l*c-v*i,s=v*o-M*c,h=M*i-l*o,m=Math.sqrt(f*f+s*s+h*h),m?(m=1/m,f*=m,s*=m,h*=m):(f=0,s=0,h=0),t[0]=o,t[1]=f,t[2]=M,t[3]=0,t[4]=i,t[5]=s,t[6]=l,t[7]=0,t[8]=c,t[9]=h,t[10]=v,t[11]=0,t[12]=-(o*p+i*d+c*A),t[13]=-(f*p+s*d+h*A),t[14]=-(M*p+l*d+v*A),t[15]=1,t)},e.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},t.exports=e},function(t,n,r){var a=r(1),e=r(4),u=r(7),o=r(8),i={};i.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.rotationTo=function(){var t=u.create(),n=u.fromValues(1,0,0),r=u.fromValues(0,1,0);return function(a,e,o){var c=u.dot(e,o);return-.999999>c?(u.cross(t,n,e),u.length(t)<1e-6&&u.cross(t,r,e),u.normalize(t,t),i.setAxisAngle(a,t,Math.PI),a):c>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(u.cross(t,e,o),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+c,i.normalize(a,a))}}(),i.setAxes=function(){var t=e.create();return function(n,r,a,e){return t[0]=a[0],t[3]=a[1],t[6]=a[2],t[1]=e[0],t[4]=e[1],t[7]=e[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],i.normalize(n,i.fromMat3(n,t))}}(),i.clone=o.clone,i.fromValues=o.fromValues,i.copy=o.copy,i.set=o.set,i.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.setAxisAngle=function(t,n,r){r=.5*r;var a=Math.sin(r);return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=Math.cos(r),t},i.add=o.add,i.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*s+o*i+e*f-u*c,t[1]=e*s+o*c+u*i-a*f,t[2]=u*s+o*f+a*c-e*i,t[3]=o*s-a*i-e*c-u*f,t},i.mul=i.multiply,i.scale=o.scale,i.rotateX=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+o*i,t[1]=e*c+u*i,t[2]=u*c-e*i,t[3]=o*c-a*i,t},i.rotateY=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c-u*i,t[1]=e*c+o*i,t[2]=u*c+a*i,t[3]=o*c-e*i,t},i.rotateZ=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+e*i,t[1]=e*c-a*i,t[2]=u*c+o*i,t[3]=o*c-u*i,t},i.calculateW=function(t,n){var r=n[0],a=n[1],e=n[2];return t[0]=r,t[1]=a,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-e*e)),t},i.dot=o.dot,i.lerp=o.lerp,i.slerp=function(t,n,r,a){var e,u,o,i,c,f=n[0],s=n[1],h=n[2],M=n[3],l=r[0],v=r[1],m=r[2],p=r[3];return u=f*l+s*v+h*m+M*p,0>u&&(u=-u,l=-l,v=-v,m=-m,p=-p),1-u>1e-6?(e=Math.acos(u),o=Math.sin(e),i=Math.sin((1-a)*e)/o,c=Math.sin(a*e)/o):(i=1-a,c=a),t[0]=i*f+c*l,t[1]=i*s+c*v,t[2]=i*h+c*m,t[3]=i*M+c*p,t},i.sqlerp=function(){var t=i.create(),n=i.create();return function(r,a,e,u,o,c){return i.slerp(t,a,o,c),i.slerp(n,e,u,c),i.slerp(r,t,n,2*c*(1-c)),r}}(),i.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u,i=o?1/o:0;return t[0]=-r*i,t[1]=-a*i,t[2]=-e*i,t[3]=u*i,t},i.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t},i.length=o.length,i.len=i.length,i.squaredLength=o.squaredLength,i.sqrLen=i.squaredLength,i.normalize=o.normalize,i.fromMat3=function(t,n){var r,a=n[0]+n[4]+n[8];if(a>0)r=Math.sqrt(a+1),t[3]=.5*r,r=.5/r,t[0]=(n[5]-n[7])*r,t[1]=(n[6]-n[2])*r,t[2]=(n[1]-n[3])*r;else{var e=0;n[4]>n[0]&&(e=1),n[8]>n[3*e+e]&&(e=2);var u=(e+1)%3,o=(e+2)%3;r=Math.sqrt(n[3*e+e]-n[3*u+u]-n[3*o+o]+1),t[e]=.5*r,r=.5/r,t[3]=(n[3*u+o]-n[3*o+u])*r,t[u]=(n[3*u+e]+n[3*e+u])*r,t[o]=(n[3*o+e]+n[3*e+o])*r}return t},i.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=i},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},e.fromValues=function(t,n,r){var e=new a.ARRAY_TYPE(3);return e[0]=t,e[1]=n,e[2]=r,e},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},e.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return Math.sqrt(r*r+a*a+e*e)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return r*r+a*a+e*e},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=r*r+a*a+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]},e.cross=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2];return t[0]=e*c-u*i,t[1]=u*o-a*c,t[2]=a*i-e*o,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t},e.hermite=function(t,n,r,a,e,u){var o=u*u,i=o*(2*u-3)+1,c=o*(u-2)+u,f=o*(u-1),s=o*(3-2*u);return t[0]=n[0]*i+r[0]*c+a[0]*f+e[0]*s,t[1]=n[1]*i+r[1]*c+a[1]*f+e[1]*s,t[2]=n[2]*i+r[2]*c+a[2]*f+e[2]*s,t},e.bezier=function(t,n,r,a,e,u){var o=1-u,i=o*o,c=u*u,f=i*o,s=3*u*i,h=3*c*o,M=c*u;return t[0]=n[0]*f+r[0]*s+a[0]*h+e[0]*M,t[1]=n[1]*f+r[1]*s+a[1]*h+e[1]*M,t[2]=n[2]*f+r[2]*s+a[2]*h+e[2]*M,t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI,e=2*a.RANDOM()-1,u=Math.sqrt(1-e*e)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=e*n,t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[3]*a+r[7]*e+r[11]*u+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*e+r[8]*u+r[12])/o,t[1]=(r[1]*a+r[5]*e+r[9]*u+r[13])/o,t[2]=(r[2]*a+r[6]*e+r[10]*u+r[14])/o,t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1],u=n[2];return t[0]=a*r[0]+e*r[3]+u*r[6],t[1]=a*r[1]+e*r[4]+u*r[7],t[2]=a*r[2]+e*r[5]+u*r[8],t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t},e.rotateX=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0],u[1]=e[1]*Math.cos(a)-e[2]*Math.sin(a),u[2]=e[1]*Math.sin(a)+e[2]*Math.cos(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateY=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[2]*Math.sin(a)+e[0]*Math.cos(a),u[1]=e[1],u[2]=e[2]*Math.cos(a)-e[0]*Math.sin(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateZ=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0]*Math.cos(a)-e[1]*Math.sin(a),u[1]=e[0]*Math.sin(a)+e[1]*Math.cos(a),u[2]=e[2],t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=3),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2];return n}}(),e.angle=function(t,n){var r=e.fromValues(t[0],t[1],t[2]),a=e.fromValues(n[0],n[1],n[2]);e.normalize(r,r),e.normalize(a,a);var u=e.dot(r,a);return u>1?0:Math.acos(u)},e.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.fromValues=function(t,n,r,e){var u=new a.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=e,u},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.set=function(t,n,r,a,e){return t[0]=n,t[1]=r,t[2]=a,t[3]=e,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return Math.sqrt(r*r+a*a+e*e+u*u)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return r*r+a*a+e*e+u*u},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return Math.sqrt(n*n+r*r+a*a+e*e)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return n*n+r*r+a*a+e*e},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=a*o,t[2]=e*o,t[3]=u*o),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},e.random=function(t,n){return n=n||1,t[0]=a.RANDOM(),t[1]=a.RANDOM(),t[2]=a.RANDOM(),t[3]=a.RANDOM(),e.normalize(t,t),e.scale(t,t,n),t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3];return t[0]=r[0]*a+r[4]*e+r[8]*u+r[12]*o,t[1]=r[1]*a+r[5]*e+r[9]*u+r[13]*o,t[2]=r[2]*a+r[6]*e+r[10]*u+r[14]*o,t[3]=r[3]*a+r[7]*e+r[11]*u+r[15]*o,t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t[3]=n[3],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=4),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],t[3]=n[i+3],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2],n[i+3]=t[3];return n}}(),e.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},e.fromValues=function(t,n){var r=new a.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},e.set=function(t,n,r){return t[0]=n,t[1]=r,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1];return n*n+r*r},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=r*r+a*a;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},e.cross=function(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t},e.transformMat2=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e,t[1]=r[1]*a+r[3]*e,t},e.transformMat2d=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e+r[4],t[1]=r[1]*a+r[3]*e+r[5],t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[3]*e+r[6],t[1]=r[1]*a+r[4]*e+r[7],t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[4]*e+r[12],t[1]=r[1]*a+r[5]*e+r[13],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=2),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],u(t,t,o),n[i]=t[0],n[i+1]=t[1];return n}}(),e.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},t.exports=e}])});'use strict';(function(global){if(tr.isNode){const glMatrixAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/gl-matrix-min.js');const glMatrixModule=require(glMatrixAbsPath);for(const exportName in glMatrixModule){global[exportName]=glMatrixModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const PREFERRED_NUMBER_SERIES_MULTIPLIERS=[1,2,5,10];function approximately(x,y,delta){if(delta===undefined)delta=1e-9;return Math.abs(x-y)<delta;} 4325function clamp(x,lo,hi){return Math.min(Math.max(x,lo),hi);} 4326function lerp(percentage,lo,hi){const range=hi-lo;return lo+percentage*range;} 4327function normalize(value,lo,hi){return(value-lo)/(hi-lo);} 4328function deg2rad(deg){return(Math.PI*deg)/180.0;} 4329function erf(x){const sign=(x>=0)?1:-1;x=Math.abs(x);const a1=0.254829592;const a2=-0.284496736;const a3=1.421413741;const a4=-1.453152027;const a5=1.061405429;const p=0.3275911;const t=1.0/(1.0+p*x);const y=1.0-(((((a5*t+a4)*t)+a3)*t+a2)*t+a1)*t*Math.exp(-x*x);return sign*y;} 4330const tmpVec2=vec2.create();const tmpVec2b=vec2.create();const tmpVec4=vec4.create();const tmpMat2d=mat2d.create();vec2.createFromArray=function(arr){if(arr.length!==2)throw new Error('Should be length 2');const v=vec2.create();vec2.set(v,arr[0],arr[1]);return v;};vec2.createXY=function(x,y){const v=vec2.create();vec2.set(v,x,y);return v;};vec2.toString=function(a){return'['+a[0]+', '+a[1]+']';};vec2.addTwoScaledUnitVectors=function(out,u1,scale1,u2,scale2){vec2.scale(tmpVec2,u1,scale1);vec2.scale(tmpVec2b,u2,scale2);vec2.add(out,tmpVec2,tmpVec2b);};vec2.interpolatePiecewiseFunction=function(points,x){if(x<points[0][0])return points[0][1];for(let i=1;i<points.length;++i){if(x<points[i][0]){const percent=normalize(x,points[i-1][0],points[i][0]);return lerp(percent,points[i-1][1],points[i][1]);}} 4331return points[points.length-1][1];};vec3.createXYZ=function(x,y,z){const v=vec3.create();vec3.set(v,x,y,z);return v;};vec3.toString=function(a){return'vec3('+a[0]+', '+a[1]+', '+a[2]+')';};mat2d.translateXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.translate(out,out,tmpVec2);};mat2d.scaleXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.scale(out,out,tmpVec2);};vec4.unitize=function(out,a){out[0]=a[0]/a[3];out[1]=a[1]/a[3];out[2]=a[2]/a[3];out[3]=1;return out;};vec2.copyFromVec4=function(out,a){vec4.unitize(tmpVec4,a);vec2.copy(out,tmpVec4);};function logOrLog10(x,base){if(base===10)return Math.log10(x);return Math.log(x)/Math.log(base);} 4332function lesserPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.floor(logOrLog10(x,base)));} 4333function greaterPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.ceil(logOrLog10(x,base)));} 4334function lesserWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.floor(x/pow10);} 4335function greaterWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.ceil(x/pow10);} 4336function preferredNumberLargerThanMin(min){const absMin=Math.abs(min);const conservativeGuess=tr.b.math.lesserPower(absMin);let minPreferedNumber=undefined;for(const multiplier of PREFERRED_NUMBER_SERIES_MULTIPLIERS){const tightenedGuess=conservativeGuess*multiplier;if(tightenedGuess>=absMin){minPreferedNumber=tightenedGuess;break;}} 4337if(minPreferedNumber===undefined){throw new Error('Could not compute preferred number for '+min);} 4338if(min<0)minPreferedNumber*=-1;return minPreferedNumber;} 4339return{approximately,clamp,lerp,normalize,deg2rad,erf,lesserPower,greaterPower,lesserWholeNumber,greaterWholeNumber,preferredNumberLargerThanMin,};});'use strict';tr.exportTo('tr.b.math',function(){function Range(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;} 4340Range.prototype={__proto__:Object.prototype,clone(){if(this.isEmpty)return new Range();return Range.fromExplicitRange(this.min_,this.max_);},reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addRange(range){if(range.isEmpty)return;this.addValue(range.min);this.addValue(range.max);},addValue(value){if(this.isEmpty_){this.max_=value;this.min_=value;this.isEmpty_=false;return;} 4341this.max_=Math.max(this.max_,value);this.min_=Math.min(this.min_,value);},set min(min){this.isEmpty_=false;this.min_=min;},get min(){if(this.isEmpty_)return undefined;return this.min_;},get max(){if(this.isEmpty_)return undefined;return this.max_;},set max(max){this.isEmpty_=false;this.max_=max;},get range(){if(this.isEmpty_)return undefined;return this.max_-this.min_;},get center(){return(this.min_+this.max_)*0.5;},get duration(){if(this.isEmpty_)return 0;return this.max_-this.min_;},enclosingPowers(opt_base){if(this.isEmpty)return new Range();return Range.fromExplicitRange(tr.b.math.lesserPower(this.min_,opt_base),tr.b.math.greaterPower(this.max_,opt_base));},normalize(x){return tr.b.math.normalize(x,this.min,this.max);},lerp(x){return tr.b.math.lerp(x,this.min,this.max);},clamp(x){return tr.b.math.clamp(x,this.min,this.max);},equals(that){if(this.isEmpty&&that.isEmpty)return true;if(this.isEmpty!==that.isEmpty)return false;return(tr.b.math.approximately(this.min,that.min)&&tr.b.math.approximately(this.max,that.max));},containsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=min&&max<=this.max_;},containsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<min&&max<this.max_;},intersectsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=max&&min<=this.max_;},intersectsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<max&&min<this.max_;},containsRangeInclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeInclusive(range.min_,range.max_);},containsRangeExclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeExclusive(range.min_,range.max_);},intersectsRangeInclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeInclusive(range.min_,range.max_);},intersectsRangeExclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeExclusive(range.min_,range.max_);},findExplicitIntersectionDuration(min,max){min=Math.max(this.min,min);max=Math.min(this.max,max);if(max<min)return 0;return max-min;},findIntersection(range){if(this.isEmpty||range.isEmpty)return new Range();const min=Math.max(this.min,range.min);const max=Math.min(this.max,range.max);if(max<min)return new Range();return Range.fromExplicitRange(min,max);},toJSON(){if(this.isEmpty_)return{isEmpty:true};return{isEmpty:false,max:this.max,min:this.min};},filterArray(array,opt_keyFunc,opt_this){if(this.isEmpty_)return[];function binSearch(test){let i0=0;let i1=array.length;while(i0<i1){const i=Math.trunc((i0+i1)/2);if(test(i)){i1=i;}else{i0=i+1;}} 4342return i1;} 4343const keyFunc=opt_keyFunc||tr.b.identity;function getValue(index){return keyFunc.call(opt_this,array[index]);} 4344const first=binSearch(function(i){return this.min_===undefined||this.min_<=getValue(i);}.bind(this));const last=binSearch(function(i){return this.max_!==undefined&&this.max_<getValue(i);}.bind(this));return array.slice(first,last);}};Range.fromDict=function(d){if(d.isEmpty===true)return new Range();if(d.isEmpty===false){const range=new Range();range.min=d.min;range.max=d.max;return range;} 4345throw new Error('Not a range');};Range.fromExplicitRange=function(min,max){const range=new Range();range.min=min;range.max=max;return range;};Range.compareByMinTimes=function(a,b){if(!a.isEmpty&&!b.isEmpty)return a.min_-b.min_;if(a.isEmpty&&!b.isEmpty)return-1;if(!a.isEmpty&&b.isEmpty)return 1;return 0;};Range.findDifference=function(rangeA,rangeB){if(!rangeA||rangeA.duration<0||!rangeB||rangeB.duration<0){throw new Error(`Couldn't subtract ranges`);} 4346const resultRanges=[];if(rangeA.isEmpty)return resultRanges;if(rangeB.isEmpty)return[rangeA.clone()];const intersection=rangeA.findIntersection(rangeB);if(intersection.isEmpty){return[rangeA.clone()];} 4347if(rangeA.duration===0&&rangeB.duration===0){if(intersection.empty)return[rangeA.clone()];else if(intersection.duration===0)return resultRanges;throw new Error(`Two points' intersection can only be a point or empty`);} 4348const leftRange=tr.b.math.Range.fromExplicitRange(rangeA.min,intersection.min);if(leftRange.duration>0){resultRanges.push(leftRange);} 4349const rightRange=tr.b.math.Range.fromExplicitRange(intersection.max,rangeA.max);if(rightRange.duration>0){resultRanges.push(rightRange);} 4350return resultRanges;};Range.PERCENT_RANGE=Range.fromExplicitRange(0,1);Object.freeze(Range.PERCENT_RANGE);return{Range,};});'use strict';(function(exports){var rank={standard:function(array,key){array=array.sort(function(a,b){var x=a[key];var y=b[key];return((x<y)?-1:((x>y)?1:0));});for(var i=1;i<array.length+1;i++){array[i-1]['rank']=i;} 4351return array;},fractional:function(array,key){array=this.standard(array,key);var pos=0;while(pos<array.length){var sum=0;var i=0;for(i=0;array[pos+i+1]&&(array[pos+i][key]===array[pos+i+1][key]);i++){sum+=array[pos+i]['rank'];} 4352sum+=array[pos+i]['rank'];var endPos=pos+i+1;for(pos;pos<endPos;pos++){array[pos]['rank']=sum/(i+1);} 4353pos=endPos;} 4354return array;},rank:function(x,y){var nx=x.length,ny=y.length,combined=[],ranked;while(nx--){combined.push({set:'x',val:x[nx]});} 4355while(ny--){combined.push({set:'y',val:y[ny]});} 4356ranked=this.fractional(combined,'val');return ranked}};var erf=function erf(x){var cof=[-1.3026537197817094,6.4196979235649026e-1,1.9476473204185836e-2,-9.561514786808631e-3,-9.46595344482036e-4,3.66839497852761e-4,4.2523324806907e-5,-2.0278578112534e-5,-1.624290004647e-6,1.303655835580e-6,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17];var j=cof.length-1;var isneg=false;var d=0;var dd=0;var t,ty,tmp,res;if(x<0){x=-x;isneg=true;} 4357t=2/(2+x);ty=4*t-2;for(;j>0;j--){tmp=d;d=ty*d-dd+cof[j];dd=tmp;} 4358res=t*Math.exp(-x*x+0.5*(cof[0]+ty*d)-dd);return isneg?res-1:1-res;};var dnorm=function(x,mean,std){return 0.5*(1+erf((x-mean)/Math.sqrt(2*std*std)));} 4359var statistic=function(x,y){var ranked=rank.rank(x,y),nr=ranked.length,nx=x.length,ny=y.length,ranksums={x:0,y:0},i=0,t=0,nt=1,tcf,ux,uy;while(i<nr){if(i>0){if(ranked[i].val==ranked[i-1].val){nt++;}else{if(nt>1){t+=Math.pow(nt,3)-nt 4360nt=1;}}} 4361ranksums[ranked[i].set]+=ranked[i].rank 4362i++;} 4363tcf=1-(t/(Math.pow(nr,3)-nr)) 4364ux=nx*ny+(nx*(nx+1)/2)-ranksums.x;uy=nx*ny-ux;return{tcf:tcf,ux:ux,uy:uy,big:Math.max(ux,uy),small:Math.min(ux,uy)}} 4365exports.test=function(x,y,alt,corr){alt=typeof alt!=='undefined'?alt:'two-sided';corr=typeof corr!=='undefined'?corr:true;var nx=x.length,ny=y.length,f=1,u,mu,std,z,p;u=statistic(x,y);if(corr){mu=(nx*ny/2)+0.5;}else{mu=nx*ny/2;} 4366std=Math.sqrt(u.tcf*nx*ny*(nx+ny+1)/12);if(alt=='less'){z=(u.ux-mu)/std;}else if(alt=='greater'){z=(u.uy-mu)/std;}else if(alt=='two-sided'){z=Math.abs((u.big-mu)/std);}else{console.log('Unknown alternative argument');} 4367if(alt=='two-sided'){f=2;} 4368p=dnorm(-z,0,1)*f;return{U:u.small,p:p};}})(typeof exports==='undefined'?this['mannwhitneyu']={}:exports);'use strict';(function(global){if(tr.isNode){const mwuAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/mannwhitneyu.js');const mwuModule=require(mwuAbsPath);for(const exportName in mwuModule){global[exportName]=mwuModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const identity=x=>x;const Statistics={};Statistics.divideIfPossibleOrZero=function(numerator,denominator){if(denominator===0)return 0;return numerator/denominator;};Statistics.sum=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=0;let i=0;for(const elt of ary){ret+=func.call(opt_this,elt,i++);} 4369return ret;};Statistics.mean=function(ary,opt_func,opt_this){const func=opt_func||identity;let sum=0;let i=0;for(const elt of ary){sum+=func.call(opt_this,elt,i++);} 4370if(i===0)return undefined;return sum/i;};Statistics.geometricMean=function(ary,opt_func,opt_this){const func=opt_func||identity;let i=0;let logsum=0;for(const elt of ary){const x=func.call(opt_this,elt,i++);if(x<=0)return 0;logsum+=Math.log(Math.abs(x));} 4371if(i===0)return 1;return Math.exp(logsum/i);};Statistics.weightedMean=function(ary,weightCallback,opt_valueCallback,opt_this){const valueCallback=opt_valueCallback||identity;let numerator=0;let denominator=0;let i=-1;for(const elt of ary){i++;const value=valueCallback.call(opt_this,elt,i);if(value===undefined)continue;const weight=weightCallback.call(opt_this,elt,i,value);numerator+=weight*value;denominator+=weight;} 4372if(denominator===0)return undefined;return numerator/denominator;};Statistics.variance=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;if(ary.length===1)return 0;const func=opt_func||identity;const mean=Statistics.mean(ary,func,opt_this);const sumOfSquaredDistances=Statistics.sum(ary,function(d,i){const v=func.call(this,d,i)-mean;return v*v;},opt_this);return sumOfSquaredDistances/(ary.length-1);};Statistics.stddev=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;return Math.sqrt(Statistics.variance(ary,opt_func,opt_this));};Statistics.max=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=-Infinity;let i=0;for(const elt of ary){ret=Math.max(ret,func.call(opt_this,elt,i++));} 4373return ret;};Statistics.min=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=Infinity;let i=0;for(const elt of ary){ret=Math.min(ret,func.call(opt_this,elt,i++));} 4374return ret;};Statistics.range=function(ary,opt_func,opt_this){const func=opt_func||identity;const ret=new tr.b.math.Range();let i=0;for(const elt of ary){ret.addValue(func.call(opt_this,elt,i++));} 4375return ret;};Statistics.percentile=function(ary,percent,opt_func,opt_this){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');} 4376const func=opt_func||identity;const tmp=new Array(ary.length);let i=0;for(const elt of ary){tmp[i]=func.call(opt_this,elt,i++);} 4377tmp.sort((a,b)=>a-b);const idx=Math.floor((ary.length-1)*percent);return tmp[idx];};Statistics.normalizeSamples=function(samples){if(samples.length===0){return{normalized_samples:samples,scale:1.0};} 4378samples=samples.slice().sort(function(a,b){return a-b;});const low=Math.min.apply(null,samples);const high=Math.max.apply(null,samples);const newLow=0.5/samples.length;const newHigh=(samples.length-0.5)/samples.length;if(high-low===0.0){samples=Array.apply(null,new Array(samples.length)).map(function(){return 0.5;});return{normalized_samples:samples,scale:1.0};} 4379const scale=(newHigh-newLow)/(high-low);for(let i=0;i<samples.length;i++){samples[i]=(samples[i]-low)*scale+newLow;} 4380return{normalized_samples:samples,scale};};Statistics.discrepancy=function(samples,opt_locationCount){if(samples.length===0)return 0.0;let maxLocalDiscrepancy=0;const invSampleCount=1.0/samples.length;const locations=[];const countLess=[];const countLessEqual=[];if(opt_locationCount!==undefined){let sampleIndex=0;for(let i=0;i<opt_locationCount;i++){const location=i/(opt_locationCount-1);locations.push(location);while(sampleIndex<samples.length&&samples[sampleIndex]<location){sampleIndex+=1;} 4381countLess.push(sampleIndex);while(sampleIndex<samples.length&&samples[sampleIndex]<=location){sampleIndex+=1;} 4382countLessEqual.push(sampleIndex);}}else{if(samples[0]>0.0){locations.push(0.0);countLess.push(0);countLessEqual.push(0);} 4383for(let i=0;i<samples.length;i++){locations.push(samples[i]);countLess.push(i);countLessEqual.push(i+1);} 4384if(samples[-1]<1.0){locations.push(1.0);countLess.push(samples.length);countLessEqual.push(samples.length);}} 4385let maxDiff=0;let minDiff=0;for(let i=1;i<locations.length;i++){const length=locations[i]-locations[i-1];const countClosed=countLessEqual[i]-countLess[i-1];const countOpen=countLess[i]-countLessEqual[i-1];const countClosedIncrement=countLessEqual[i]-countLessEqual[i-1];const countOpenIncrement=countLess[i]-countLess[i-1];maxDiff=Math.max(countClosedIncrement*invSampleCount-length+maxDiff,countClosed*invSampleCount-length);minDiff=Math.min(countOpenIncrement*invSampleCount-length+minDiff,countOpen*invSampleCount-length);maxLocalDiscrepancy=Math.max(maxDiff,-minDiff,maxLocalDiscrepancy);} 4386return maxLocalDiscrepancy;};Statistics.timestampsDiscrepancy=function(timestamps,opt_absolute,opt_locationCount){if(timestamps.length===0)return 0.0;if(opt_absolute===undefined)opt_absolute=true;if(Array.isArray(timestamps[0])){const rangeDiscrepancies=timestamps.map(function(r){return Statistics.timestampsDiscrepancy(r);});return Math.max.apply(null,rangeDiscrepancies);} 4387const s=Statistics.normalizeSamples(timestamps);const samples=s.normalized_samples;const sampleScale=s.scale;let discrepancy=Statistics.discrepancy(samples,opt_locationCount);const invSampleCount=1.0/samples.length;if(opt_absolute===true){discrepancy/=sampleScale;}else{discrepancy=tr.b.math.clamp((discrepancy-invSampleCount)/(1.0-invSampleCount),0.0,1.0);} 4388return discrepancy;};Statistics.durationsDiscrepancy=function(durations,opt_absolute,opt_locationCount){if(durations.length===0)return 0.0;const timestamps=durations.reduce(function(prev,curr,index,array){prev.push(prev[prev.length-1]+curr);return prev;},[0]);return Statistics.timestampsDiscrepancy(timestamps,opt_absolute,opt_locationCount);};Statistics.uniformlySampleArray=function(samples,count){if(samples.length<=count){return samples;} 4389while(samples.length>count){const i=parseInt(Math.random()*samples.length);samples.splice(i,1);} 4390return samples;};Statistics.uniformlySampleStream=function(samples,streamLength,newElement,numSamples){if(streamLength<=numSamples){if(samples.length>=streamLength){samples[streamLength-1]=newElement;}else{samples.push(newElement);} 4391return;} 4392const probToKeep=numSamples/streamLength;if(Math.random()>probToKeep)return;const index=Math.floor(Math.random()*numSamples);samples[index]=newElement;};Statistics.mergeSampledStreams=function(samplesA,streamLengthA,samplesB,streamLengthB,numSamples){if(streamLengthB<numSamples){const nbElements=Math.min(streamLengthB,samplesB.length);for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(samplesA,streamLengthA+i+1,samplesB[i],numSamples);} 4393return;} 4394if(streamLengthA<numSamples){const nbElements=Math.min(streamLengthA,samplesA.length);const tempSamples=samplesB.slice();for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(tempSamples,streamLengthB+i+1,samplesA[i],numSamples);} 4395for(let i=0;i<tempSamples.length;++i){samplesA[i]=tempSamples[i];} 4396return;} 4397const nbElements=Math.min(numSamples,samplesB.length);const probOfSwapping=streamLengthB/(streamLengthA+streamLengthB);for(let i=0;i<nbElements;++i){if(Math.random()<probOfSwapping){samplesA[i]=samplesB[i];}}};function Distribution(){} 4398Distribution.prototype={computeDensity(x){throw Error('Not implemented');},computePercentile(x){throw Error('Not implemented');},computeComplementaryPercentile(x){return 1-this.computePercentile(x);},get mean(){throw Error('Not implemented');},get mode(){throw Error('Not implemented');},get median(){throw Error('Not implemented');},get standardDeviation(){throw Error('Not implemented');},get variance(){throw Error('Not implemented');}};Statistics.UniformDistribution=function(opt_range){if(!opt_range)opt_range=tr.b.math.Range.fromExplicitRange(0,1);this.range=opt_range;};Statistics.UniformDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){return 1/this.range.range;},computePercentile(x){return tr.b.math.normalize(x,this.range.min,this.range.max);},get mean(){return this.range.center;},get mode(){return undefined;},get median(){return this.mean;},get standardDeviation(){return Math.sqrt(this.variance);},get variance(){return Math.pow(this.range.range,2)/12;}};Statistics.NormalDistribution=function(opt_mean,opt_variance){this.mean_=opt_mean||0;this.variance_=opt_variance||1;this.standardDeviation_=Math.sqrt(this.variance_);};Statistics.NormalDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){const scale=(1.0/(this.standardDeviation*Math.sqrt(2.0*Math.PI)));const exponent=-Math.pow(x-this.mean,2)/(2.0*this.variance);return scale*Math.exp(exponent);},computePercentile(x){const standardizedX=((x-this.mean)/Math.sqrt(2.0*this.variance));return(1.0+tr.b.math.erf(standardizedX))/2.0;},get mean(){return this.mean_;},get median(){return this.mean;},get mode(){return this.mean;},get standardDeviation(){return this.standardDeviation_;},get variance(){return this.variance_;}};Statistics.LogNormalDistribution=function(opt_location,opt_shape){this.normalDistribution_=new Statistics.NormalDistribution(opt_location,Math.pow(opt_shape||1,2));};Statistics.LogNormalDistribution.prototype={__proto__:Statistics.NormalDistribution.prototype,computeDensity(x){return this.normalDistribution_.computeDensity(Math.log(x))/x;},computePercentile(x){return this.normalDistribution_.computePercentile(Math.log(x));},get mean(){return Math.exp(this.normalDistribution_.mean+ 4399(this.normalDistribution_.variance/2));},get variance(){const nm=this.normalDistribution_.mean;const nv=this.normalDistribution_.variance;return(Math.exp(2*(nm+nv))- 4400Math.exp(2*nm+nv));},get standardDeviation(){return Math.sqrt(this.variance);},get median(){return Math.exp(this.normalDistribution_.mean);},get mode(){return Math.exp(this.normalDistribution_.mean- 4401this.normalDistribution_.variance);}};Statistics.LogNormalDistribution.fromMedianAndDiminishingReturns=function(median,diminishingReturns){diminishingReturns=Math.log(diminishingReturns/median);const shape=Math.sqrt(1-3*diminishingReturns- 4402Math.sqrt(Math.pow(diminishingReturns-3,2)-8))/2;const location=Math.log(median);return new Statistics.LogNormalDistribution(location,shape);};Statistics.DEFAULT_ALPHA=0.01;Statistics.MAX_SUGGESTED_SAMPLE_SIZE=20;Statistics.Significance={SIGNIFICANT:'REJECT',INSIGNIFICANT:'FAIL_TO_REJECT',NEED_MORE_DATA:'NEED_MORE_DATA',DONT_CARE:'DONT_CARE',};Statistics.mwu=function(a,b,opt_alpha,opt_reqSampleSize){const result=mannwhitneyu.test(a,b);const alpha=opt_alpha||Statistics.DEFAULT_ALPHA;if(result.p<alpha){result.significance=Statistics.Significance.SIGNIFICANT;}else if(opt_reqSampleSize&&(a.length<opt_reqSampleSize||b.length<opt_reqSampleSize)){result.significance=Statistics.Significance.NEED_MORE_DATA;}else{result.significance=Statistics.Significance.INSIGNIFICANT;} 4403return result;};return{Statistics,};});'use strict';const GREEK_SMALL_LETTER_MU=String.fromCharCode(956);tr.exportTo('tr.b',function(){const SECONDS_IN_A_MINUTE=60;const SECONDS_IN_AN_HOUR=SECONDS_IN_A_MINUTE*60;const SECONDS_IN_A_DAY=SECONDS_IN_AN_HOUR*24;const SECONDS_IN_A_WEEK=SECONDS_IN_A_DAY*7;const SECONDS_IN_A_YEAR=SECONDS_IN_A_DAY*365.2422;const SECONDS_IN_A_MONTH=SECONDS_IN_A_YEAR/12;const UnitPrefixScale={};const UnitScale={};function defineUnitPrefixScale(name,prefixes){if(UnitPrefixScale[name]!==undefined){throw new Error('Unit prefix scale \''+name+'\' already exists');} 4404if(prefixes.AUTO!==undefined){throw new Error('The \'AUTO\' unit prefix is not supported for unit'+'prefix scales and cannot be added to scale \''+name+'\'');} 4405UnitPrefixScale[name]=prefixes;} 4406UnitScale.defineUnitScale=function(name,unitScale){if(UnitScale[name]!==undefined){throw new Error('Unit scale \''+name+'\' already exists');} 4407if(unitScale.AUTO!==undefined){throw new Error('\'AUTO\' unit scale will be added automatically '+'for unit scale \''+name+'\'');} 4408unitScale.AUTO=Object.values(unitScale);unitScale.AUTO.sort((a,b)=>a.value-b.value);if(name)UnitScale[name]=unitScale;return unitScale;};UnitScale.defineUnitScaleFromPrefixScale=function(baseSymbol,baseName,prefixScale,opt_scaleName){if(baseSymbol===undefined){throw new Error('Cannot create UnitScale with undefined baseSymbol.');} 4409if(!baseName){throw new Error('Cannot create UnitScale without a baseName.');} 4410if(!prefixScale){throw new Error('Cannot create UnitScale without a prefix scale.');} 4411const unitScale={};for(const curPrefix of Object.keys(prefixScale)){const curScale=prefixScale[curPrefix];if(curScale.symbol===undefined||!curScale.value){throw new Error(`Cannot convert PrefixScale with malformed prefix ${curScale}.`);} 4412const name=curPrefix==='NONE'?baseName:`${curPrefix}_${baseName}`;unitScale[name]={value:curScale.value,symbol:curScale.symbol+baseSymbol,baseSymbol};} 4413return UnitScale.defineUnitScale(opt_scaleName,unitScale);};function convertUnit(value,fromScale,toScale){if(value===undefined)return undefined;const fromScaleBase=fromScale.baseSymbol;const toScaleBase=toScale.baseSymbol;if(fromScaleBase!==undefined&&toScaleBase!==undefined&&fromScaleBase!==toScaleBase){throw new Error('Cannot convert between units with different base symbols.');} 4414return value*(fromScale.value/toScale.value);} 4415defineUnitPrefixScale('BINARY',{NONE:{value:Math.pow(1024,0),symbol:''},KIBI:{value:Math.pow(1024,1),symbol:'Ki'},MEBI:{value:Math.pow(1024,2),symbol:'Mi'},GIBI:{value:Math.pow(1024,3),symbol:'Gi'},TEBI:{value:Math.pow(1024,4),symbol:'Ti'}});defineUnitPrefixScale('METRIC',{NANO:{value:1e-9,symbol:'n'},MICRO:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU},MILLI:{value:1e-3,symbol:'m'},NONE:{value:1,symbol:''},KILO:{value:1e3,symbol:'k'},MEGA:{value:1e6,symbol:'M'},GIGA:{value:1e9,symbol:'G'}});UnitScale.defineUnitScale('TIME',{NANO_SEC:{value:1e-9,symbol:'ns',baseSymbol:'s'},MICRO_SEC:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU+'s',baseSymbol:'s'},MILLI_SEC:{value:1e-3,symbol:'ms',baseSymbol:'s'},SEC:{value:1,symbol:'s',baseSymbol:'s'},MINUTE:{value:SECONDS_IN_A_MINUTE,symbol:'min',baseSymbol:'s'},HOUR:{value:SECONDS_IN_AN_HOUR,symbol:'hr',baseSymbol:'s'},DAY:{value:SECONDS_IN_A_DAY,symbol:'days',baseSymbol:'s'},WEEK:{value:SECONDS_IN_A_WEEK,symbol:'weeks',baseSymbol:'s'},MONTH:{value:SECONDS_IN_A_MONTH,symbol:'months',baseSymbol:'s'},YEAR:{value:SECONDS_IN_A_YEAR,symbol:'years',baseSymbol:'s'}});UnitScale.defineUnitScaleFromPrefixScale('B','BYTE',UnitPrefixScale.BINARY,'MEMORY');return{UnitPrefixScale,UnitScale,convertUnit,};});'use strict';tr.exportTo('tr.b',function(){const msDisplayMode={scale:1e-3,suffix:'ms',roundedLess(a,b){return Math.round(a*1000)<Math.round(b*1000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.MILLI_SEC],minimumFractionDigits:3,}};const nsDisplayMode={scale:1e-9,suffix:'ns',roundedLess(a,b){return Math.round(a*1000000)<Math.round(b*1000000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.NANO_SEC],maximumFractionDigits:0}};const TimeDisplayModes={ns:nsDisplayMode,ms:msDisplayMode};return{TimeDisplayModes,};});'use strict';tr.exportTo('tr.b',function(){function iterateElementDeeplyImpl(element,cb,thisArg,includeElement){if(includeElement&&cb.call(thisArg,element))return true;if(element.root&&element.root!==element&&iterateElementDeeplyImpl(element.root,cb,thisArg,false)){return true;} 4416const children=Polymer.dom(element).children;for(let i=0;i<children.length;i++){if(iterateElementDeeplyImpl(children[i],cb,thisArg,true)){return true;}} 4417return false;} 4418function iterateElementDeeply(element,cb,thisArg){iterateElementDeeplyImpl(element,cb,thisArg,false);} 4419function findDeepElementMatchingPredicate(element,predicate){let foundElement=undefined;function matches(element){const match=predicate(element);if(!match){return false;} 4420foundElement=element;return true;} 4421iterateElementDeeply(element,matches);return foundElement;} 4422function findDeepElementsMatchingPredicate(element,predicate){const foundElements=[];function matches(element){const match=predicate(element);if(match){foundElements.push(element);} 4423return false;} 4424iterateElementDeeply(element,matches);return foundElements;} 4425function findDeepElementMatching(element,selector){return findDeepElementMatchingPredicate(element,function(element){return element.matches(selector);});} 4426function findDeepElementsMatching(element,selector){return findDeepElementsMatchingPredicate(element,function(element){return element.matches(selector);});} 4427function findDeepElementWithTextContent(element,re){return findDeepElementMatchingPredicate(element,function(element){if(element.children.length!==0)return false;return re.test(Polymer.dom(element).textContent);});} 4428return{iterateElementDeeply,findDeepElementMatching,findDeepElementsMatching,findDeepElementMatchingPredicate,findDeepElementsMatchingPredicate,findDeepElementWithTextContent,};});'use strict';tr.exportTo('tr.b',function(){const TimeDisplayModes=tr.b.TimeDisplayModes;const PLUS_MINUS_SIGN=String.fromCharCode(177);const CACHED_FORMATTERS={};function getNumberFormatter(minSpec,maxSpec,minCtx,maxCtx){const key=minSpec+'-'+maxSpec+'-'+minCtx+'-'+maxCtx;let formatter=CACHED_FORMATTERS[key];if(formatter===undefined){let minimumFractionDigits=minCtx!==undefined?minCtx:minSpec;let maximumFractionDigits=maxCtx!==undefined?maxCtx:maxSpec;if(minimumFractionDigits>maximumFractionDigits){if(minCtx!==undefined&&maxCtx===undefined){maximumFractionDigits=minimumFractionDigits;}else if(minCtx===undefined&&maxCtx!==undefined){minimumFractionDigits=maximumFractionDigits;}} 4429formatter=new Intl.NumberFormat(undefined,{minimumFractionDigits,maximumFractionDigits,});CACHED_FORMATTERS[key]=formatter;} 4430return formatter;} 4431function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return a.scale>b.scale?a:b;} 4432const ImprovementDirection={DONT_CARE:0,BIGGER_IS_BETTER:1,SMALLER_IS_BETTER:2};function Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,formatSpec){this.unitName=unitName;this.jsonName=jsonName;this.scaleBaseUnit=scaleBaseUnit;this.isDelta=isDelta;this.improvementDirection=improvementDirection;this.formatSpec_=formatSpec;this.baseUnit=undefined;this.correspondingDeltaUnit=undefined;} 4433Unit.prototype={asJSON(){return this.jsonName;},getUnitScale_(opt_context){let formatSpec=this.formatSpec_;let formatSpecWasFunction=false;if(typeof formatSpec==='function'){formatSpecWasFunction=true;formatSpec=formatSpec();} 4434const context=opt_context||{};let scale=undefined;if(context.unitScale){scale=context.unitScale;}else if(context.unitPrefix){const symbol=formatSpec.baseSymbol?formatSpec.baseSymbol:this.scaleBaseUnit.baseSymbol;scale=tr.b.UnitScale.defineUnitScaleFromPrefixScale(symbol,symbol,[context.unitPrefix]).AUTO;}else{scale=formatSpec.unitScale;if(!scale){scale=[{value:1,symbol:formatSpec.baseSymbol||'',baseSymbol:formatSpec.baseSymbol||''}];if(!formatSpecWasFunction)formatSpec.unitScale=scale;}} 4435if(!(scale instanceof Array)){throw new Error('Unit has a malformed unit scale.');} 4436return scale;},get unitString(){const scale=this.getUnitScale_();if(!scale){throw new Error('A UnitScale could not be found for Unit '+this.unitName);} 4437return scale[0].baseSymbol||scale[0].symbol;},format(value,opt_context){let signString='';if(value<0){signString='-';value=-value;}else if(this.isDelta){signString=value===0?PLUS_MINUS_SIGN:'+';} 4438const context=opt_context||{};const scale=this.getUnitScale_(context);let deltaValue=context.deltaValue===undefined?value:context.deltaValue;deltaValue=Math.abs(deltaValue)*this.scaleBaseUnit.value;let i=0;while(i<scale.length-1&&deltaValue/scale[i+1].value>=1){i++;} 4439const selectedSubUnit=scale[i];let formatSpec=this.formatSpec_;if(typeof formatSpec==='function')formatSpec=formatSpec();let unitString='';if(selectedSubUnit.symbol){if(!formatSpec.avoidSpacePrecedingUnit)unitString=' ';unitString+=selectedSubUnit.symbol;} 4440value=tr.b.convertUnit(value,this.scaleBaseUnit,selectedSubUnit);const numberString=getNumberFormatter(formatSpec.minimumFractionDigits,formatSpec.maximumFractionDigits,context.minimumFractionDigits,context.maximumFractionDigits).format(value);return signString+numberString+unitString;}};Unit.reset=function(){Unit.currentTimeDisplayMode=TimeDisplayModes.ms;};Unit.timestampFromUs=function(us){return tr.b.convertUnit(us,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);};Object.defineProperty(Unit,'currentTimeDisplayMode',{get(){return Unit.currentTimeDisplayMode_;},set(value){if(Unit.currentTimeDisplayMode_===value)return;Unit.currentTimeDisplayMode_=value;Unit.dispatchEvent(new tr.b.Event('display-mode-changed'));}});Unit.didPreferredTimeDisplayUnitChange=function(){let largest=undefined;const els=tr.b.findDeepElementsMatching(document.body,'tr-v-ui-preferred-display-unit');els.forEach(function(el){largest=max(largest,el.preferredTimeDisplayMode);});Unit.currentTimeDisplayMode=largest===undefined?TimeDisplayModes.ms:largest;};Unit.byName={};Unit.byJSONName={};Unit.fromJSON=function(object){const u=Unit.byJSONName[object];if(u){return u;} 4441throw new Error('Unrecognized unit');};Unit.define=function(params){const definedUnits=[];for(const improvementDirection of Object.values(ImprovementDirection)){const regularUnit=Unit.defineUnitVariant_(params,false,improvementDirection);const deltaUnit=Unit.defineUnitVariant_(params,true,improvementDirection);regularUnit.correspondingDeltaUnit=deltaUnit;deltaUnit.correspondingDeltaUnit=deltaUnit;definedUnits.push(regularUnit,deltaUnit);} 4442const baseUnit=Unit.byName[params.baseUnitName];definedUnits.forEach(u=>u.baseUnit=baseUnit);};Unit.nameSuffixForImprovementDirection=function(improvementDirection){switch(improvementDirection){case ImprovementDirection.DONT_CARE:return'';case ImprovementDirection.BIGGER_IS_BETTER:return'_biggerIsBetter';case ImprovementDirection.SMALLER_IS_BETTER:return'_smallerIsBetter';default:throw new Error('Unknown improvement direction: '+improvementDirection);}};Unit.defineUnitVariant_=function(params,isDelta,improvementDirection){let nameSuffix=isDelta?'Delta':'';nameSuffix+=Unit.nameSuffixForImprovementDirection(improvementDirection);const unitName=params.baseUnitName+nameSuffix;const jsonName=params.baseJsonName+nameSuffix;if(Unit.byName[unitName]!==undefined){throw new Error('Unit \''+unitName+'\' already exists');} 4443if(Unit.byJSONName[jsonName]!==undefined){throw new Error('JSON unit \''+jsonName+'\' alread exists');} 4444let scaleBaseUnit=params.scaleBaseUnit;if(!scaleBaseUnit){let formatSpec=params.formatSpec;if(typeof formatSpec==='function')formatSpec=formatSpec();const baseSymbol=formatSpec.unitScale?formatSpec.unitScale[0].baseSymbol:(formatSpec.baseSymbol||'');scaleBaseUnit={value:1,symbol:baseSymbol,baseSymbol};} 4445const unit=new Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,params.formatSpec);Unit.byName[unitName]=unit;Unit.byJSONName[jsonName]=unit;return unit;};tr.b.EventTarget.decorate(Unit);Unit.reset();Unit.define({baseUnitName:'timeInMsAutoFormat',baseJsonName:'msBestFitFormat',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec:{unitScale:tr.b.UnitScale.TIME.AUTO,minimumFractionDigits:0,maximumFractionDigits:3}});Unit.define({baseUnitName:'timeDurationInMs',baseJsonName:'ms',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'timeStampInMs',baseJsonName:'tsMs',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'normalizedPercentage',baseJsonName:'n%',formatSpec:{unitScale:[{value:0.01,symbol:'%'}],avoidSpacePrecedingUnit:true,minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'sizeInBytes',baseJsonName:'sizeInBytes',formatSpec:{unitScale:tr.b.UnitScale.MEMORY.AUTO,minimumFractionDigits:1,maximumFractionDigits:1}});Unit.define({baseUnitName:'energyInJoules',baseJsonName:'J',formatSpec:{baseSymbol:'J',minimumFractionDigits:3}});Unit.define({baseUnitName:'powerInWatts',baseJsonName:'W',formatSpec:{baseSymbol:'W',minimumFractionDigits:3}});Unit.define({baseUnitName:'unitlessNumber',baseJsonName:'unitless',formatSpec:{minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'count',baseJsonName:'count',formatSpec:{minimumFractionDigits:0,maximumFractionDigits:0}});Unit.define({baseUnitName:'sigma',baseJsonName:'sigma',formatSpec:{baseSymbol:String.fromCharCode(963),minimumFractionDigits:1,maximumFractionDigits:1}});return{ImprovementDirection,Unit,};});'use strict';tr.exportTo('tr.b',function(){class Scalar{constructor(unit,value){if(!(unit instanceof tr.b.Unit)){throw new Error('Expected Unit');} 4446if(!(typeof(value)==='number')){throw new Error('Expected value to be number');} 4447this.unit=unit;this.value=value;} 4448asDict(){return{unit:this.unit.asJSON(),value:tr.b.numberToJson(this.value),};} 4449toString(){return this.unit.format(this.value);} 4450static fromDict(d){return new Scalar(tr.b.Unit.fromJSON(d.unit),tr.b.numberFromJson(d.value));}} 4451return{Scalar,};});'use strict';tr.exportTo('tr.c',function(){function Auditor(model){this.model_=model;} 4452Auditor.prototype={__proto__:Object.prototype,get model(){return this.model_;},runAnnotate(){},installUserFriendlyCategoryDriverIfNeeded(){},runAudit(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Auditor;tr.b.decorateExtensionRegistry(Auditor,options);return{Auditor,};});'use strict';tr.exportTo('tr.b',function(){function clamp01(value){return Math.max(0,Math.min(1,value));} 4453function Color(opt_r,opt_g,opt_b,opt_a){this.r=Math.floor(opt_r)||0;this.g=Math.floor(opt_g)||0;this.b=Math.floor(opt_b)||0;this.a=opt_a;} 4454Color.fromString=function(str){let tmp;let values;if(str.substr(0,4)==='rgb('){tmp=str.substr(4,str.length-5);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==3){throw new Error('Malformatted rgb-expression');} 4455return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]));} 4456if(str.substr(0,5)==='rgba('){tmp=str.substr(5,str.length-6);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==4){throw new Error('Malformatted rgb-expression');} 4457return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]),parseFloat(values[3]));} 4458if(str[0]==='#'&&str.length===7){return new Color(parseInt(str.substr(1,2),16),parseInt(str.substr(3,2),16),parseInt(str.substr(5,2),16));} 4459throw new Error('Unrecognized string format.');};Color.lerp=function(a,b,percent){if(a.a!==undefined&&b.a!==undefined){return Color.lerpRGBA(a,b,percent);} 4460return Color.lerpRGB(a,b,percent);};Color.lerpRGB=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b);};Color.lerpRGBA=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b,((b.a-a.a)*percent)+a.a);};Color.fromDict=function(dict){return new Color(dict.r,dict.g,dict.b,dict.a);};Color.fromHSLExplicit=function(h,s,l,a){let r;let g;let b;function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;} 4461if(s===0){r=g=b=l;}else{const q=l<0.5?l*(1+s):l+s-l*s;const p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3);} 4462return new Color(Math.floor(r*255),Math.floor(g*255),Math.floor(b*255),a);};Color.fromHSL=function(hsl){return Color.fromHSLExplicit(hsl.h,hsl.s,hsl.l,hsl.a);};Color.prototype={clone(){const c=new Color();c.r=this.r;c.g=this.g;c.b=this.b;c.a=this.a;return c;},blendOver(bgColor){const oneMinusThisAlpha=1-this.a;const outA=this.a+bgColor.a*oneMinusThisAlpha;const bgBlend=(bgColor.a*oneMinusThisAlpha)/bgColor.a;return new Color(this.r*this.a+bgColor.r*bgBlend,this.g*this.a+bgColor.g*bgBlend,this.b*this.a+bgColor.b*bgBlend,outA);},brighten(opt_k){const k=opt_k||0.45;return new Color(Math.min(255,this.r+Math.floor(this.r*k)),Math.min(255,this.g+Math.floor(this.g*k)),Math.min(255,this.b+Math.floor(this.b*k)),this.a);},lighten(k,opt_maxL){const maxL=opt_maxL!==undefined?opt_maxL:1.0;const hsl=this.toHSL();hsl.l=Math.min(hsl.l+k,maxL);return Color.fromHSL(hsl);},darken(opt_k){let k;if(opt_k!==undefined){k=opt_k;}else{k=0.45;} 4463return new Color(Math.min(255,this.r-Math.floor(this.r*k)),Math.min(255,this.g-Math.floor(this.g*k)),Math.min(255,this.b-Math.floor(this.b*k)),this.a);},desaturate(opt_desaturateFactor){let desaturateFactor;if(opt_desaturateFactor!==undefined){desaturateFactor=opt_desaturateFactor;}else{desaturateFactor=1;} 4464const hsl=this.toHSL();hsl.s=clamp01(hsl.s*(1-desaturateFactor));return Color.fromHSL(hsl);},withAlpha(a){return new Color(this.r,this.g,this.b,a);},toString(){if(this.a!==undefined){return'rgba('+ 4465this.r+','+this.g+','+ 4466this.b+','+this.a+')';} 4467return'rgb('+this.r+','+this.g+','+this.b+')';},toHSL(){const r=this.r/255;const g=this.g/255;const b=this.b/255;const max=Math.max(r,g,b);const min=Math.min(r,g,b);let h;let s;const l=(max+min)/2;if(min===max){h=0;s=0;}else{const delta=max-min;if(l>0.5){s=delta/(2-max-min);}else{s=delta/(max+min);} 4468if(r===max){h=(g-b)/delta;if(g<b)h+=6;}else if(g===max){h=2+((b-r)/delta);}else{h=4+((r-g)/delta);} 4469h/=6;} 4470return{h,s,l,a:this.a};},toStringWithAlphaOverride(alpha){return'rgba('+ 4471this.r+','+this.g+','+ 4472this.b+','+alpha+')';}};return{Color,};});'use strict';tr.exportTo('tr.b',function(){const generalPurposeColors=[new tr.b.Color(122,98,135),new tr.b.Color(150,83,105),new tr.b.Color(44,56,189),new tr.b.Color(99,86,147),new tr.b.Color(104,129,107),new tr.b.Color(130,178,55),new tr.b.Color(87,109,147),new tr.b.Color(111,145,88),new tr.b.Color(81,152,131),new tr.b.Color(142,91,111),new tr.b.Color(81,163,70),new tr.b.Color(148,94,86),new tr.b.Color(144,89,118),new tr.b.Color(83,150,97),new tr.b.Color(105,94,139),new tr.b.Color(89,144,122),new tr.b.Color(105,119,128),new tr.b.Color(96,128,137),new tr.b.Color(145,88,145),new tr.b.Color(88,145,144),new tr.b.Color(90,100,143),new tr.b.Color(121,97,136),new tr.b.Color(111,160,73),new tr.b.Color(112,91,142),new tr.b.Color(86,147,86),new tr.b.Color(63,100,170),new tr.b.Color(81,152,107),new tr.b.Color(60,164,173),new tr.b.Color(143,72,161),new tr.b.Color(159,74,86)];const reservedColorsByName={thread_state_uninterruptible:new tr.b.Color(182,125,143),thread_state_iowait:new tr.b.Color(255,140,0),thread_state_running:new tr.b.Color(126,200,148),thread_state_runnable:new tr.b.Color(133,160,210),thread_state_sleeping:new tr.b.Color(240,240,240),thread_state_unknown:new tr.b.Color(199,155,125),background_memory_dump:new tr.b.Color(0,180,180),light_memory_dump:new tr.b.Color(0,0,180),detailed_memory_dump:new tr.b.Color(180,0,180),vsync_highlight_color:new tr.b.Color(0,0,255),generic_work:new tr.b.Color(125,125,125),good:new tr.b.Color(0,125,0),bad:new tr.b.Color(180,125,0),terrible:new tr.b.Color(180,0,0),black:new tr.b.Color(0,0,0),grey:new tr.b.Color(221,221,221),white:new tr.b.Color(255,255,255),yellow:new tr.b.Color(255,255,0),olive:new tr.b.Color(100,100,0),rail_response:new tr.b.Color(67,135,253),rail_animation:new tr.b.Color(244,74,63),rail_idle:new tr.b.Color(238,142,0),rail_load:new tr.b.Color(13,168,97),startup:new tr.b.Color(230,230,0),heap_dump_stack_frame:new tr.b.Color(128,128,128),heap_dump_object_type:new tr.b.Color(0,0,255),heap_dump_child_node_arrow:new tr.b.Color(204,102,0),cq_build_running:new tr.b.Color(255,255,119),cq_build_passed:new tr.b.Color(153,238,102),cq_build_failed:new tr.b.Color(238,136,136),cq_build_abandoned:new tr.b.Color(187,187,187),cq_build_attempt_runnig:new tr.b.Color(222,222,75),cq_build_attempt_passed:new tr.b.Color(103,218,35),cq_build_attempt_failed:new tr.b.Color(197,81,81)};const numGeneralPurposeColorIds=generalPurposeColors.length;const numReservedColorIds=Object.keys(reservedColorsByName).length;const numColorsPerVariant=numGeneralPurposeColorIds+numReservedColorIds;function ColorScheme(){} 4473const paletteBase=[];paletteBase.push.apply(paletteBase,generalPurposeColors);paletteBase.push.apply(paletteBase,Object.values(reservedColorsByName));ColorScheme.colors=[];ColorScheme.properties={};ColorScheme.properties={numColorsPerVariant,};function pushVariant(func){const variantColors=paletteBase.map(func);ColorScheme.colors.push.apply(ColorScheme.colors,variantColors);} 4474pushVariant(function(c){return c;});ColorScheme.properties.brightenedOffsets=[];ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.3,0.8);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.48,0.85);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.65,0.9);});ColorScheme.properties.dimmedOffsets=[];ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate();});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.5);});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.3);});ColorScheme.colorsAsStrings=ColorScheme.colors.map(function(c){return c.toString();});const reservedColorNameToIdMap=(function(){const m=new Map();let i=generalPurposeColors.length;for(const key of Object.keys(reservedColorsByName)){m.set(key,i++);} 4475return m;})();ColorScheme.getColorIdForReservedName=function(name){const id=reservedColorNameToIdMap.get(name);if(id===undefined){throw new Error('Unrecognized color '+name);} 4476return id;};ColorScheme.getColorForReservedNameAsString=function(reservedName){const id=ColorScheme.getColorIdForReservedName(reservedName);return ColorScheme.colorsAsStrings[id];};ColorScheme.getStringHash=function(name){let hash=0;for(let i=0;i<name.length;++i){hash=(hash+37*hash+11*name.charCodeAt(i))%0xFFFFFFFF;} 4477return hash;};const stringColorIdCache=new Map();ColorScheme.getColorIdForGeneralPurposeString=function(string){if(stringColorIdCache.get(string)===undefined){const hash=ColorScheme.getStringHash(string);stringColorIdCache.set(string,hash%numGeneralPurposeColorIds);} 4478return stringColorIdCache.get(string);};ColorScheme.getAnotherColorId=function(colorId,n){return(colorId+n)%numColorsPerVariant;};ColorScheme.getVariantColorId=function(colorId,offset){return colorId+offset;};return{ColorScheme,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function EventInfo(title,description,docLinks){this.title=title;this.description=description;this.docLinks=docLinks;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(title);} 4479return{EventInfo,};});'use strict';tr.exportTo('tr.b',function(){let nextGUID=1;const UUID4_PATTERN='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';const GUID={allocateSimple(){return nextGUID++;},getLastSimpleGuid(){return nextGUID-1;},allocateUUID4(){return UUID4_PATTERN.replace(/[xy]/g,function(c){let r=parseInt(Math.random()*16);if(c==='y')r=(r&3)+8;return r.toString(16);});}};return{GUID,};});'use strict';tr.exportTo('tr.model',function(){function EventRegistry(){} 4480const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(EventRegistry,options);EventRegistry.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.name===undefined){throw new Error('Registered events must provide name metadata');} 4481if(metadata.pluralName===undefined){throw new Error('Registered events must provide pluralName metadata');} 4482if(metadata.subTypes===undefined){metadata.subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=e.typeInfo.constructor;options.defaultConstructor=e.typeInfo.constructor;tr.b.decorateExtensionRegistry(metadata.subTypes,options);}else{if(!metadata.subTypes.register){throw new Error('metadata.subTypes must be an extension registry.');}} 4483e.typeInfo.constructor.subTypes=metadata.subTypes;});let eventsByTypeName=undefined;EventRegistry.getEventTypeInfoByTypeName=function(typeName){if(eventsByTypeName===undefined){eventsByTypeName={};EventRegistry.getAllRegisteredTypeInfos().forEach(function(typeInfo){eventsByTypeName[typeInfo.metadata.name]=typeInfo;});} 4484return eventsByTypeName[typeName];};EventRegistry.addEventListener('registry-changed',function(){eventsByTypeName=undefined;});function convertCamelCaseToTitleCase(name){let result=name.replace(/[A-Z]/g,' $&');result=result.charAt(0).toUpperCase()+result.slice(1);return result;} 4485EventRegistry.getUserFriendlySingularName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.name;return convertCamelCaseToTitleCase(str);};EventRegistry.getUserFriendlyPluralName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.pluralName;return convertCamelCaseToTitleCase(str);};return{EventRegistry,};});'use strict';tr.exportTo('tr.model',function(){const EventRegistry=tr.model.EventRegistry;const RequestSelectionChangeEvent=tr.b.Event.bind(undefined,'requestSelectionChange',true,false);function EventSet(opt_events){this.bounds_=new tr.b.math.Range();this.events_=new Set();this.guid_=tr.b.GUID.allocateSimple();if(opt_events){if(opt_events instanceof Array){for(const event of opt_events){this.push(event);}}else if(opt_events instanceof EventSet){this.addEventSet(opt_events);}else{this.push(opt_events);}}} 4486EventSet.prototype={__proto__:Object.prototype,get bounds(){return this.bounds_;},get duration(){if(this.bounds_.isEmpty)return 0;return this.bounds_.max-this.bounds_.min;},get length(){return this.events_.size;},get guid(){return this.guid_;},*[Symbol.iterator](){for(const event of this.events_){yield event;}},clear(){this.bounds_=new tr.b.math.Range();this.events_.clear();},push(...events){let numPushed;for(const event of events){if(event.guid===undefined){throw new Error('Event must have a GUID');} 4487if(!this.events_.has(event)){this.events_.add(event);if(event.addBoundsToRange){if(this.bounds_!==undefined){event.addBoundsToRange(this.bounds_);}}} 4488numPushed++;} 4489return numPushed;},contains(event){if(this.events_.has(event))return event;return undefined;},addEventSet(eventSet){for(const event of eventSet){this.push(event);}},intersectionIsEmpty(otherEventSet){return!this.some(event=>otherEventSet.contains(event));},equals(that){if(this.length!==that.length)return false;return this.every(event=>that.contains(event));},sortEvents(compare){const ary=this.toArray();ary.sort(compare);this.clear();for(const event of ary){this.push(event);}},getEventsOrganizedByBaseType(opt_pruneEmpty){const allTypeInfos=EventRegistry.getAllRegisteredTypeInfos();const events=this.getEventsOrganizedByCallback(function(event){let maxEventIndex=-1;let maxEventTypeInfo=undefined;allTypeInfos.forEach(function(eventTypeInfo,eventIndex){if(!(event instanceof eventTypeInfo.constructor))return;if(eventIndex>maxEventIndex){maxEventIndex=eventIndex;maxEventTypeInfo=eventTypeInfo;}});if(maxEventIndex===-1){throw new Error(`Unrecognized event type: ${event.constructor.name}`);} 4490return maxEventTypeInfo.metadata.name;});if(!opt_pruneEmpty){allTypeInfos.forEach(function(eventTypeInfo){if(events[eventTypeInfo.metadata.name]===undefined){events[eventTypeInfo.metadata.name]=new EventSet();}});} 4491return events;},getEventsOrganizedByTitle(){return this.getEventsOrganizedByCallback(function(event){if(event.title===undefined){throw new Error('An event didn\'t have a title!');} 4492return event.title;});},getEventsOrganizedByCallback(cb,opt_this){const groupedEvents=tr.b.groupIntoMap(this,cb,opt_this||this);const groupedEventsDict={};for(const[k,events]of groupedEvents){groupedEventsDict[k]=new EventSet(events);} 4493return groupedEventsDict;},enumEventsOfType(type,func){for(const event of this){if(event instanceof type){func(event);}}},get userFriendlyName(){if(this.length===0){throw new Error('Empty event set');} 4494const eventsByBaseType=this.getEventsOrganizedByBaseType(true);const eventTypeName=Object.keys(eventsByBaseType)[0];if(this.length===1){const tmp=EventRegistry.getUserFriendlySingularName(eventTypeName);return tr.b.getOnlyElement(this.events_).userFriendlyName;} 4495const numEventTypes=Object.keys(eventsByBaseType).length;if(numEventTypes!==1){return this.length+' events of various types';} 4496const tmp=EventRegistry.getUserFriendlyPluralName(eventTypeName);return this.length+' '+tmp;},filter(fn,opt_this){const res=new EventSet();for(const event of this){if(fn.call(opt_this,event)){res.push(event);}} 4497return res;},toArray(){const ary=[];for(const event of this){ary.push(event);} 4498return ary;},forEach(fn,opt_this){for(const event of this){fn.call(opt_this,event);}},map(fn,opt_this){const res=[];for(const event of this){res.push(fn.call(opt_this,event));} 4499return res;},every(fn,opt_this){for(const event of this){if(!fn.call(opt_this,event)){return false;}} 4500return true;},some(fn,opt_this){for(const event of this){if(fn.call(opt_this,event)){return true;}} 4501return false;},asDict(){const stableIds=[];for(const event of this){stableIds.push(event.stableId);} 4502return{'events':stableIds};},asSet(){return this.events_;}};EventSet.IMMUTABLE_EMPTY_SET=(function(){const s=new EventSet();s.push=function(){throw new Error('Cannot push to an immutable event set');};s.addEventSet=function(){throw new Error('Cannot add to an immutable event set');};Object.freeze(s);return s;})();return{EventSet,RequestSelectionChangeEvent,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const SelectionState={NONE:0,SELECTED:ColorScheme.properties.brightenedOffsets[0],HIGHLIGHTED:ColorScheme.properties.brightenedOffsets[1],DIMMED:ColorScheme.properties.dimmedOffsets[0],BRIGHTENED0:ColorScheme.properties.brightenedOffsets[0],BRIGHTENED1:ColorScheme.properties.brightenedOffsets[1],BRIGHTENED2:ColorScheme.properties.brightenedOffsets[2],DIMMED0:ColorScheme.properties.dimmedOffsets[0],DIMMED1:ColorScheme.properties.dimmedOffsets[1],DIMMED2:ColorScheme.properties.dimmedOffsets[2]};const brighteningLevels=[SelectionState.NONE,SelectionState.BRIGHTENED0,SelectionState.BRIGHTENED1,SelectionState.BRIGHTENED2];SelectionState.getFromBrighteningLevel=function(level){return brighteningLevels[level];};const dimmingLevels=[SelectionState.DIMMED0,SelectionState.DIMMED1,SelectionState.DIMMED2];SelectionState.getFromDimmingLevel=function(level){return dimmingLevels[level];};return{SelectionState,};});'use strict';tr.exportTo('tr.model',function(){const SelectionState=tr.model.SelectionState;function SelectableItem(modelItem){this.modelItem_=modelItem;} 4503SelectableItem.prototype={get modelItem(){return this.modelItem_;},get selected(){return this.selectionState===SelectionState.SELECTED;},addToSelection(selection){const modelItem=this.modelItem_;if(!modelItem)return;selection.push(modelItem);},addToTrackMap(eventToTrackMap,track){const modelItem=this.modelItem_;if(!modelItem)return;eventToTrackMap.addEvent(modelItem,track);}};return{SelectableItem,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;const IMMUTABLE_EMPTY_SET=tr.model.EventSet.IMMUTABLE_EMPTY_SET;function Event(){SelectableItem.call(this,this);this.guid_=tr.b.GUID.allocateSimple();this.selectionState=SelectionState.NONE;this.info=undefined;} 4504Event.prototype={__proto__:SelectableItem.prototype,get guid(){return this.guid_;},get stableId(){return undefined;},get range(){const range=new tr.b.math.Range();this.addBoundsToRange(range);return range;},associatedAlerts:IMMUTABLE_EMPTY_SET,addAssociatedAlert(alert){if(this.associatedAlerts===IMMUTABLE_EMPTY_SET){this.associatedAlerts=new tr.model.EventSet();} 4505this.associatedAlerts.push(alert);},addBoundsToRange(range){}};return{Event,};});'use strict';tr.exportTo('tr.model',function(){function TimedEvent(start){tr.model.Event.call(this);this.start=start;this.duration=0;this.cpuStart=undefined;this.cpuDuration=undefined;this.contexts=Object.freeze([]);} 4506TimedEvent.prototype={__proto__:tr.model.Event.prototype,get end(){return this.start+this.duration;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);},bounds(that,opt_precisionUnit){if(opt_precisionUnit===undefined){opt_precisionUnit=tr.b.TimeDisplayModes.ms;} 4507const startsBefore=opt_precisionUnit.roundedLess(that.start,this.start);const endsAfter=opt_precisionUnit.roundedLess(this.end,that.end);return!startsBefore&&!endsAfter;}};return{TimedEvent,};});'use strict';tr.exportTo('tr.model',function(){function Alert(info,start,opt_associatedEvents,opt_args){tr.model.TimedEvent.call(this,start);this.info=info;this.args=opt_args||{};this.associatedEvents=new tr.model.EventSet(opt_associatedEvents);this.associatedEvents.forEach(function(event){event.addAssociatedAlert(this);},this);} 4508Alert.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.info.title;},get colorId(){return this.info.colorId;},get userFriendlyName(){return'Alert '+this.title+' at '+ 4509tr.b.Unit.byName.timeStampInMs.format(this.start);}};tr.model.EventRegistry.register(Alert,{name:'alert',pluralName:'alerts'});return{Alert,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS={GOOD:'good',BAD:'bad',TERRIBLE:'terrible',NEUTRAL:'generic_work'};function Frame(associatedEvents,threadTimeRanges,opt_args){tr.model.Event.call(this);this.threadTimeRanges=threadTimeRanges;this.associatedEvents=new tr.model.EventSet(associatedEvents);this.args=opt_args||{};this.title='Frame';this.start=Statistics.min(threadTimeRanges,function(x){return x.start;});this.end=Statistics.max(threadTimeRanges,function(x){return x.end;});this.totalDuration=Statistics.sum(threadTimeRanges,function(x){return x.end-x.start;});this.perfClass=FRAME_PERF_CLASS.NEUTRAL;} 4510Frame.prototype={__proto__:tr.model.Event.prototype,set perfClass(perfClass){this.colorId=ColorScheme.getColorIdForReservedName(perfClass);this.perfClass_=perfClass;},get perfClass(){return this.perfClass_;},shiftTimestampsForward(amount){this.start+=amount;this.end+=amount;for(let i=0;i<this.threadTimeRanges.length;i++){this.threadTimeRanges[i].start+=amount;this.threadTimeRanges[i].end+=amount;}},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};tr.model.EventRegistry.register(Frame,{name:'frame',pluralName:'frames'});return{Frame,FRAME_PERF_CLASS,};});'use strict';tr.exportTo('tr.b.math',function(){function findLowIndexInSortedArray(ary,mapFn,loVal){if(ary.length===0)return 1;let low=0;let high=ary.length-1;let i;let comparison;let hitPos=-1;while(low<=high){i=Math.floor((low+high)/2);comparison=mapFn(ary[i])-loVal;if(comparison<0){low=i+1;continue;}else if(comparison>0){high=i-1;continue;}else{hitPos=i;high=i-1;}} 4511return hitPos!==-1?hitPos:low;} 4512function findHighIndexInSortedArray(ary,mapFn,loVal,hiVal){let lo=loVal||0;let hi=hiVal!==undefined?hiVal:ary.length;while(lo<hi){const mid=(lo+hi)>>1;if(mapFn(ary[mid])>=0){lo=mid+1;}else{hi=mid;}} 4513return hi;} 4514function findIndexInSortedIntervals(ary,mapLoFn,mapWidthFn,loVal){const first=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(first===0){if(loVal>=mapLoFn(ary[0])&&loVal<mapLoFn(ary[0])+mapWidthFn(ary[0],0)){return 0;} 4515return-1;} 4516if(first<ary.length){if(loVal>=mapLoFn(ary[first])&&loVal<mapLoFn(ary[first])+mapWidthFn(ary[first],first)){return first;} 4517if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+ 4518mapWidthFn(ary[first-1],first-1)){return first-1;} 4519return ary.length;} 4520if(first===ary.length){if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+ 4521mapWidthFn(ary[first-1],first-1)){return first-1;} 4522return ary.length;} 4523return ary.length;} 4524function findIndexInSortedClosedIntervals(ary,mapLoFn,mapHiFn,val){const i=findLowIndexInSortedArray(ary,mapLoFn,val);if(i===0){if(val>=mapLoFn(ary[0],0)&&val<=mapHiFn(ary[0],0)){return 0;} 4525return-1;} 4526if(i<ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;} 4527if(val>=mapLoFn(ary[i],i)&&val<=mapHiFn(ary[i],i)){return i;} 4528return ary.length;} 4529if(i===ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;} 4530return ary.length;} 4531return ary.length;} 4532function iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,cb){if(ary.length===0)return;if(loVal>hiVal)return;let i=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(i===-1){return;} 4533if(i>0){const hi=mapLoFn(ary[i-1])+mapWidthFn(ary[i-1],i-1);if(hi>=loVal){cb(ary[i-1],i-1);}} 4534if(i===ary.length){return;} 4535for(let n=ary.length;i<n;i++){const lo=mapLoFn(ary[i]);if(lo>=hiVal)break;cb(ary[i],i);}} 4536function getIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal){const tmp=[];iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,function(d){tmp.push(d);});return tmp;} 4537function findClosestElementInSortedArray(ary,mapFn,val,maxDiff){if(ary.length===0)return null;let aftIdx=findLowIndexInSortedArray(ary,mapFn,val);const befIdx=aftIdx>0?aftIdx-1:0;if(aftIdx===ary.length)aftIdx-=1;const befDiff=Math.abs(val-mapFn(ary[befIdx]));const aftDiff=Math.abs(val-mapFn(ary[aftIdx]));if(befDiff>maxDiff&&aftDiff>maxDiff)return null;const idx=befDiff<aftDiff?befIdx:aftIdx;return ary[idx];} 4538function findClosestIntervalInSortedIntervals(ary,mapLoFn,mapHiFn,val,maxDiff){if(ary.length===0)return null;let idx=findLowIndexInSortedArray(ary,mapLoFn,val);if(idx>0)idx-=1;const hiInt=ary[idx];let loInt=hiInt;if(val>mapHiFn(hiInt)&&idx+1<ary.length){loInt=ary[idx+1];} 4539const loDiff=Math.abs(val-mapLoFn(loInt));const hiDiff=Math.abs(val-mapHiFn(hiInt));if(loDiff>maxDiff&&hiDiff>maxDiff)return null;if(loDiff<hiDiff)return loInt;return hiInt;} 4540return{findLowIndexInSortedArray,findHighIndexInSortedArray,findIndexInSortedIntervals,findIndexInSortedClosedIntervals,iterateOverIntersectingIntervals,getIntersectingIntervals,findClosestElementInSortedArray,findClosestIntervalInSortedIntervals,};});'use strict';tr.exportTo('tr.model.helpers',function(){const Frame=tr.model.Frame;const Statistics=tr.b.math.Statistics;const UI_DRAW_TYPE={NONE:'none',LEGACY:'legacy',MARSHMALLOW:'marshmallow'};const UI_THREAD_DRAW_NAMES={'performTraversals':UI_DRAW_TYPE.LEGACY,'Choreographer#doFrame':UI_DRAW_TYPE.MARSHMALLOW};const RENDER_THREAD_DRAW_NAME='DrawFrame';const RENDER_THREAD_INDEP_DRAW_NAME='doFrame';const RENDER_THREAD_QUEUE_NAME='queueBuffer';const RENDER_THREAD_SWAP_NAME='eglSwapBuffers';const THREAD_SYNC_NAME='syncFrameState';function getSlicesForThreadTimeRanges(threadTimeRanges){const ret=[];threadTimeRanges.forEach(function(threadTimeRange){const slices=[];threadTimeRange.thread.sliceGroup.iterSlicesInTimeRange(function(slice){slices.push(slice);},threadTimeRange.start,threadTimeRange.end);ret.push.apply(ret,slices);});return ret;} 4541function makeFrame(threadTimeRanges,surfaceFlinger){const args={};if(surfaceFlinger&&surfaceFlinger.hasVsyncs){const start=Statistics.min(threadTimeRanges,function(threadTimeRanges){return threadTimeRanges.start;});args.deadline=surfaceFlinger.getFrameDeadline(start);args.frameKickoff=surfaceFlinger.getFrameKickoff(start);} 4542const events=getSlicesForThreadTimeRanges(threadTimeRanges);return new Frame(events,threadTimeRanges,args);} 4543function findOverlappingDrawFrame(renderThread,uiDrawSlice){if(!renderThread)return undefined;let overlappingDrawFrame;const slices=tr.b.math.iterateOverIntersectingIntervals(renderThread.sliceGroup.slices,function(range){return range.start;},function(range){return range.end;},uiDrawSlice.start,uiDrawSlice.end,function(rtDrawSlice){if(rtDrawSlice.title===RENDER_THREAD_DRAW_NAME){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice&&rtSyncSlice.start>=uiDrawSlice.start&&rtSyncSlice.end<=uiDrawSlice.end){overlappingDrawFrame=rtDrawSlice;}}});return overlappingDrawFrame;} 4544function getPreTraversalWorkRanges(uiThread){if(!uiThread)return[];const preFrameEvents=[];uiThread.sliceGroup.slices.forEach(function(slice){if(slice.title==='obtainView'||slice.title==='setupListItem'||slice.title==='deliverInputEvent'||slice.title==='RV Scroll'){preFrameEvents.push(slice);}});uiThread.asyncSliceGroup.slices.forEach(function(slice){if(slice.title==='deliverInputEvent'){preFrameEvents.push(slice);}});return tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(preFrameEvents),3,function(events){return{start:events[0].min,end:events[events.length-1].max};});} 4545function getFrameStartTime(traversalStart,preTraversalWorkRanges){const preTraversalWorkRange=tr.b.math.findClosestIntervalInSortedIntervals(preTraversalWorkRanges,function(range){return range.start;},function(range){return range.end;},traversalStart,3);if(preTraversalWorkRange){return preTraversalWorkRange.start;} 4546return traversalStart;} 4547function getRtFrameEndTime(rtDrawSlice){const rtQueueSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_QUEUE_NAME);if(rtQueueSlice){return rtQueueSlice.end;} 4548const rtSwapSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_SWAP_NAME);if(rtSwapSlice){return rtSwapSlice.end;} 4549return rtDrawSlice.end;} 4550function getUiThreadDrivenFrames(app){if(!app.uiThread)return[];let preTraversalWorkRanges=[];if(app.uiDrawType===UI_DRAW_TYPE.LEGACY){preTraversalWorkRanges=getPreTraversalWorkRanges(app.uiThread);} 4551const frames=[];app.uiThread.sliceGroup.slices.forEach(function(slice){if(!(slice.title in UI_THREAD_DRAW_NAMES)){return;} 4552const threadTimeRanges=[];const uiThreadTimeRange={thread:app.uiThread,start:getFrameStartTime(slice.start,preTraversalWorkRanges),end:slice.end};threadTimeRanges.push(uiThreadTimeRange);const rtDrawSlice=findOverlappingDrawFrame(app.renderThread,slice);if(rtDrawSlice){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice){uiThreadTimeRange.end=Math.min(uiThreadTimeRange.end,rtSyncSlice.start);} 4553threadTimeRanges.push({thread:app.renderThread,start:rtDrawSlice.start,end:getRtFrameEndTime(rtDrawSlice)});} 4554frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;} 4555function getRenderThreadDrivenFrames(app){if(!app.renderThread)return[];const frames=[];app.renderThread.sliceGroup.getSlicesOfName(RENDER_THREAD_INDEP_DRAW_NAME).forEach(function(slice){const threadTimeRanges=[{thread:app.renderThread,start:slice.start,end:slice.end}];frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;} 4556function getUiDrawType(uiThread){if(!uiThread){return UI_DRAW_TYPE.NONE;} 4557const slices=uiThread.sliceGroup.slices;for(let i=0;i<slices.length;i++){if(slices[i].title in UI_THREAD_DRAW_NAMES){return UI_THREAD_DRAW_NAMES[slices[i].title];}} 4558return UI_DRAW_TYPE.NONE;} 4559function getInputSamples(process){let samples=undefined;for(const counterName in process.counters){if(/^android\.aq\:pending/.test(counterName)&&process.counters[counterName].numSeries===1){samples=process.counters[counterName].series[0].samples;break;}} 4560if(!samples)return[];const inputSamples=[];let lastValue=0;samples.forEach(function(sample){if(sample.value>lastValue){inputSamples.push(sample);} 4561lastValue=sample.value;});return inputSamples;} 4562function getAnimationAsyncSlices(uiThread){if(!uiThread)return[];const slices=[];for(const slice of uiThread.asyncSliceGroup.getDescendantEvents()){if(/^animator\:/.test(slice.title)){slices.push(slice);}} 4563return slices;} 4564function AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType){this.process=process;this.uiThread=uiThread;this.renderThread=renderThread;this.surfaceFlinger=surfaceFlinger;this.uiDrawType=uiDrawType;this.frames_=undefined;this.inputs_=undefined;} 4565AndroidApp.createForProcessIfPossible=function(process,surfaceFlinger){let uiThread=process.getThread(process.pid);const uiDrawType=getUiDrawType(uiThread);if(uiDrawType===UI_DRAW_TYPE.NONE){uiThread=undefined;} 4566const renderThreads=process.findAllThreadsNamed('RenderThread');const renderThread=(renderThreads.length===1?renderThreads[0]:undefined);if(uiThread||renderThread){return new AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType);}};AndroidApp.prototype={getFrames(){if(!this.frames_){const uiFrames=getUiThreadDrivenFrames(this);const rtFrames=getRenderThreadDrivenFrames(this);this.frames_=uiFrames.concat(rtFrames);this.frames_.sort(function(a,b){a.end-b.end;});} 4567return this.frames_;},getInputSamples(){if(!this.inputs_){this.inputs_=getInputSamples(this.process);} 4568return this.inputs_;},getAnimationAsyncSlices(){if(!this.animations_){this.animations_=getAnimationAsyncSlices(this.uiThread);} 4569return this.animations_;}};return{AndroidApp,};});'use strict';tr.exportTo('tr.model.helpers',function(){const findLowIndexInSortedArray=tr.b.math.findLowIndexInSortedArray;const VSYNC_SF_NAME='android.VSYNC-sf';const VSYNC_APP_NAME='android.VSYNC-app';const VSYNC_FALLBACK_NAME='android.VSYNC';const TIMESTAMP_FUDGE_MS=0.01;function getVsyncTimestamps(process,counterName){let vsync=process.counters[counterName];if(!vsync){vsync=process.counters[VSYNC_FALLBACK_NAME];} 4570if(vsync&&vsync.numSeries===1&&vsync.numSamples>1){return vsync.series[0].timestamps;} 4571return undefined;} 4572function AndroidSurfaceFlinger(process,thread){this.process=process;this.thread=thread;this.appVsync_=undefined;this.sfVsync_=undefined;this.appVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_APP_NAME);this.sfVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_SF_NAME);this.deadlineDelayMs_=this.appVsyncTimestamps_!==this.sfVsyncTimestamps_?5:TIMESTAMP_FUDGE_MS;} 4573AndroidSurfaceFlinger.createForProcessIfPossible=function(process){const mainThread=process.getThread(process.pid);if(mainThread&&mainThread.name&&/surfaceflinger/.test(mainThread.name)){return new AndroidSurfaceFlinger(process,mainThread);} 4574const primaryThreads=process.findAllThreadsNamed('SurfaceFlinger');if(primaryThreads.length===1){return new AndroidSurfaceFlinger(process,primaryThreads[0]);} 4575return undefined;};AndroidSurfaceFlinger.prototype={get hasVsyncs(){return!!this.appVsyncTimestamps_&&!!this.sfVsyncTimestamps_;},getFrameKickoff(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');} 4576const firstGreaterIndex=findLowIndexInSortedArray(this.appVsyncTimestamps_,function(x){return x;},timestamp+TIMESTAMP_FUDGE_MS);if(firstGreaterIndex<1)return undefined;return this.appVsyncTimestamps_[firstGreaterIndex-1];},getFrameDeadline(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');} 4577const firstGreaterIndex=findLowIndexInSortedArray(this.sfVsyncTimestamps_,function(x){return x;},timestamp+this.deadlineDelayMs_);if(firstGreaterIndex>=this.sfVsyncTimestamps_.length){return undefined;} 4578return this.sfVsyncTimestamps_[firstGreaterIndex];}};return{AndroidSurfaceFlinger,};});'use strict';tr.exportTo('tr.model.helpers',function(){const AndroidApp=tr.model.helpers.AndroidApp;const AndroidSurfaceFlinger=tr.model.helpers.AndroidSurfaceFlinger;const IMPORTANT_SURFACE_FLINGER_SLICES={'doComposition':true,'updateTexImage':true,'postFramebuffer':true};const IMPORTANT_UI_THREAD_SLICES={'Choreographer#doFrame':true,'performTraversals':true,'deliverInputEvent':true};const IMPORTANT_RENDER_THREAD_SLICES={'doFrame':true};function iterateImportantThreadSlices(thread,important,callback){if(!thread)return;thread.sliceGroup.slices.forEach(function(slice){if(slice.title in important){callback(slice);}});} 4579function AndroidModelHelper(model){this.model=model;this.apps=[];this.surfaceFlinger=undefined;const processes=model.getAllProcesses();for(let i=0;i<processes.length&&!this.surfaceFlinger;i++){this.surfaceFlinger=AndroidSurfaceFlinger.createForProcessIfPossible(processes[i]);} 4580model.getAllProcesses().forEach(function(process){const app=AndroidApp.createForProcessIfPossible(process,this.surfaceFlinger);if(app){this.apps.push(app);}},this);} 4581AndroidModelHelper.guid=tr.b.GUID.allocateSimple();AndroidModelHelper.supportsModel=function(model){return true;};AndroidModelHelper.prototype={iterateImportantSlices(callback){if(this.surfaceFlinger){iterateImportantThreadSlices(this.surfaceFlinger.thread,IMPORTANT_SURFACE_FLINGER_SLICES,callback);} 4582this.apps.forEach(function(app){iterateImportantThreadSlices(app.uiThread,IMPORTANT_UI_THREAD_SLICES,callback);iterateImportantThreadSlices(app.renderThread,IMPORTANT_RENDER_THREAD_SLICES,callback);});}};return{AndroidModelHelper,};});'use strict';tr.exportTo('tr.model',function(){function Slice(category,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){if(new.target){throw new Error('Can\'t instantiate pure virtual class Slice');} 4583tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.inFlowEvents=[];this.outFlowEvents=[];this.subSlices=[];this.selfTime=undefined;this.cpuSelfTime=undefined;this.important=false;this.parentContainer=undefined;this.argsStripped=false;this.bind_id_=opt_bindId;this.parentSlice=undefined;this.isTopLevel=false;if(opt_duration!==undefined){this.duration=opt_duration;} 4584if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;} 4585if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;} 4586if(opt_argsStripped!==undefined){this.argsStripped=true;}} 4587Slice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get userFriendlyName(){return'Slice '+this.title+' at '+ 4588tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentSliceGroup=this.parentContainer.sliceGroup;return parentSliceGroup.stableId+'.'+ 4589parentSliceGroup.slices.indexOf(this);},get bindId(){return this.bind_id_;},findDescendentSlice(targetTitle){if(!this.subSlices){return undefined;} 4590for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];} 4591const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;} 4592return undefined;},get mostTopLevelSlice(){if(!this.parentSlice)return this;return this.parentSlice.mostTopLevelSlice;},getProcess(){const thread=this.parentContainer;if(thread&&thread.getProcess){return thread.getProcess();} 4593return undefined;},get model(){const process=this.getProcess();if(process!==undefined){return this.getProcess().model;} 4594return undefined;},*findTopmostSlicesRelativeToThisSlice(eventPredicate){if(eventPredicate(this)){yield this;return;} 4595for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},iterateAllSubsequentSlices(callback,opt_this){const parentStack=[];let started=false;const topmostSlice=this.mostTopLevelSlice;parentStack.push(topmostSlice);while(parentStack.length!==0){const curSlice=parentStack.pop();if(started){callback.call(opt_this,curSlice);}else{started=(curSlice.guid===this.guid);} 4596for(let i=curSlice.subSlices.length-1;i>=0;i--){parentStack.push(curSlice.subSlices[i]);}}},get subsequentSlices(){const res=[];this.iterateAllSubsequentSlices(function(subseqSlice){res.push(subseqSlice);});return res;},*enumerateAllAncestors(){let curSlice=this.parentSlice;while(curSlice){yield curSlice;curSlice=curSlice.parentSlice;}},get ancestorSlices(){return Array.from(this.enumerateAllAncestors());},iterateEntireHierarchy(callback,opt_this){const mostTopLevelSlice=this.mostTopLevelSlice;callback.call(opt_this,mostTopLevelSlice);mostTopLevelSlice.iterateAllSubsequentSlices(callback,opt_this);},get entireHierarchy(){const res=[];this.iterateEntireHierarchy(function(slice){res.push(slice);});return res;},get ancestorAndSubsequentSlices(){const res=[];res.push(this);for(const aSlice of this.enumerateAllAncestors()){res.push(aSlice);} 4597this.iterateAllSubsequentSlices(function(sSlice){res.push(sSlice);});return res;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;} 4598for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},get descendentSlices(){const res=[];for(const slice of this.enumerateAllDescendents()){res.push(slice);} 4599return res;}};return{Slice,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;const SCHEDULING_STATE={DEBUG:'Debug',EXIT_DEAD:'Exit Dead',RUNNABLE:'Runnable',RUNNING:'Running',SLEEPING:'Sleeping',STOPPED:'Stopped',TASK_DEAD:'Task Dead',UNINTR_SLEEP:'Uninterruptible Sleep',UNINTR_SLEEP_WAKE_KILL:'Uninterruptible Sleep | WakeKill',UNINTR_SLEEP_WAKING:'Uninterruptible Sleep | Waking',UNINTR_SLEEP_IO:'Uninterruptible Sleep - Block I/O',UNINTR_SLEEP_WAKE_KILL_IO:'Uninterruptible Sleep | WakeKill - Block I/O',UNINTR_SLEEP_WAKING_IO:'Uninterruptible Sleep | Waking - Block I/O',UNKNOWN:'UNKNOWN',WAKE_KILL:'Wakekill',WAKING:'Waking',ZOMBIE:'Zombie'};function ThreadTimeSlice(thread,schedulingState,cat,start,args,opt_duration){Slice.call(this,cat,schedulingState,this.getColorForState_(schedulingState),start,args,opt_duration);this.thread=thread;this.schedulingState=schedulingState;this.cpuOnWhichThreadWasRunning=undefined;} 4600ThreadTimeSlice.prototype={__proto__:Slice.prototype,getColorForState_(state){const getColorIdForReservedName=tr.b.ColorScheme.getColorIdForReservedName;switch(state){case SCHEDULING_STATE.RUNNABLE:return getColorIdForReservedName('thread_state_runnable');case SCHEDULING_STATE.RUNNING:return getColorIdForReservedName('thread_state_running');case SCHEDULING_STATE.SLEEPING:return getColorIdForReservedName('thread_state_sleeping');case SCHEDULING_STATE.DEBUG:case SCHEDULING_STATE.EXIT_DEAD:case SCHEDULING_STATE.STOPPED:case SCHEDULING_STATE.TASK_DEAD:case SCHEDULING_STATE.UNINTR_SLEEP:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:case SCHEDULING_STATE.UNKNOWN:case SCHEDULING_STATE.WAKE_KILL:case SCHEDULING_STATE.WAKING:case SCHEDULING_STATE.ZOMBIE:return getColorIdForReservedName('thread_state_uninterruptible');case SCHEDULING_STATE.UNINTR_SLEEP_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING_IO:return getColorIdForReservedName('thread_state_iowait');default:return getColorIdForReservedName('thread_state_unknown');}},get analysisTypeName(){return'tr.ui.analysis.ThreadTimeSlice';},getAssociatedCpuSlice(){if(!this.cpuOnWhichThreadWasRunning)return undefined;const cpuSlices=this.cpuOnWhichThreadWasRunning.slices;for(let i=0;i<cpuSlices.length;i++){const cpuSlice=cpuSlices[i];if(cpuSlice.start!==this.start)continue;if(cpuSlice.duration!==this.duration)continue;return cpuSlice;} 4601return undefined;},getCpuSliceThatTookCpu(){if(this.cpuOnWhichThreadWasRunning)return undefined;let curIndex=this.thread.indexOfTimeSlice(this);let cpuSliceWhenLastRunning;while(curIndex>=0){const curSlice=this.thread.timeSlices[curIndex];if(!curSlice.cpuOnWhichThreadWasRunning){curIndex--;continue;} 4602cpuSliceWhenLastRunning=curSlice.getAssociatedCpuSlice();break;} 4603if(!cpuSliceWhenLastRunning)return undefined;const cpu=cpuSliceWhenLastRunning.cpu;const indexOfSliceOnCpuWhenLastRunning=cpu.indexOf(cpuSliceWhenLastRunning);const nextRunningSlice=cpu.slices[indexOfSliceOnCpuWhenLastRunning+1];if(!nextRunningSlice)return undefined;if(Math.abs(nextRunningSlice.start-cpuSliceWhenLastRunning.end)<0.00001){return nextRunningSlice;} 4604return undefined;}};tr.model.EventRegistry.register(ThreadTimeSlice,{name:'threadTimeSlice',pluralName:'threadTimeSlices'});return{ThreadTimeSlice,SCHEDULING_STATE,};});'use strict';tr.exportTo('tr.model',function(){const CompoundEventSelectionState={NOT_SELECTED:0,EVENT_SELECTED:0x1,SOME_ASSOCIATED_EVENTS_SELECTED:0x2,ALL_ASSOCIATED_EVENTS_SELECTED:0x4,EVENT_AND_SOME_ASSOCIATED_SELECTED:0x1|0x2,EVENT_AND_ALL_ASSOCIATED_SELECTED:0x1|0x4};return{CompoundEventSelectionState,};});'use strict';tr.exportTo('tr.model.um',function(){const CompoundEventSelectionState=tr.model.CompoundEventSelectionState;function UserExpectation(parentModel,initiatorType,start,duration){tr.model.TimedEvent.call(this,start);this.associatedEvents=new tr.model.EventSet();this.duration=duration;this.initiatorType_=initiatorType;this.parentModel=parentModel;this.typeInfo_=undefined;this.sourceEvents=new tr.model.EventSet();} 4605const INITIATOR_TYPE={KEYBOARD:'Keyboard',MOUSE:'Mouse',MOUSE_WHEEL:'MouseWheel',TAP:'Tap',PINCH:'Pinch',FLING:'Fling',TOUCH:'Touch',SCROLL:'Scroll',CSS:'CSS',WEBGL:'WebGL',VIDEO:'Video'};UserExpectation.prototype={__proto__:tr.model.TimedEvent.prototype,computeCompoundEvenSelectionState(selection){let cess=CompoundEventSelectionState.NOT_SELECTED;if(selection.contains(this)){cess|=CompoundEventSelectionState.EVENT_SELECTED;} 4606if(this.associatedEvents.intersectionIsEmpty(selection)){return cess;} 4607const allContained=this.associatedEvents.every(function(event){return selection.contains(event);});if(allContained){cess|=CompoundEventSelectionState.ALL_ASSOCIATED_EVENTS_SELECTED;}else{cess|=CompoundEventSelectionState.SOME_ASSOCIATED_EVENTS_SELECTED;} 4608return cess;},get associatedSamples(){const samples=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event instanceof tr.model.ThreadSlice){samples.addEventSet(event.overlappingSamples);}});return samples;},get userFriendlyName(){return this.title+' User Expectation at '+ 4609tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){return('UserExpectation.'+this.guid);},get typeInfo(){if(!this.typeInfo_){this.typeInfo_=UserExpectation.subTypes.findTypeInfo(this.constructor);} 4610if(!this.typeInfo_){throw new Error('Unregistered UserExpectation');} 4611return this.typeInfo_;},get colorId(){return this.typeInfo.metadata.colorId;},get stageTitle(){return this.typeInfo.metadata.stageTitle;},get initiatorType(){return this.initiatorType_;},get title(){if(!this.initiatorType){return this.stageTitle;} 4612return this.initiatorType+' '+this.stageTitle;},get totalCpuMs(){let cpuMs=0;this.associatedEvents.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;}};const subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(subTypes,options);subTypes.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.stageTitle===undefined){throw new Error('Registered UserExpectations must provide '+'stageTitle');} 4613if(metadata.colorId===undefined){throw new Error('Registered UserExpectations must provide '+'colorId');}});tr.model.EventRegistry.register(UserExpectation,{name:'userExpectation',pluralName:'userExpectations',subTypes});return{UserExpectation,INITIATOR_TYPE,};});'use strict';tr.exportTo('tr.model.um',function(){function ResponseExpectation(parentModel,initiatorTitle,start,duration,opt_isAnimationBegin){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.isAnimationBegin=opt_isAnimationBegin||false;} 4614ResponseExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:ResponseExpectation};tr.model.um.UserExpectation.subTypes.register(ResponseExpectation,{stageTitle:'Response',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_response')});return{ResponseExpectation,};});'use strict';tr.exportTo('tr.e.audits',function(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;const Auditor=tr.c.Auditor;const AndroidModelHelper=tr.model.helpers.AndroidModelHelper;const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS=tr.model.FRAME_PERF_CLASS;const Alert=tr.model.Alert;const EventInfo=tr.model.EventInfo;const Scalar=tr.b.Scalar;const timeDurationInMs=tr.b.Unit.byName.timeDurationInMs;const EXPECTED_FRAME_TIME_MS=16.67;function getStart(e){return e.start;} 4615function getDuration(e){return e.duration;} 4616function getCpuDuration(e){return(e.cpuDuration!==undefined)?e.cpuDuration:e.duration;} 4617function frameIsActivityStart(frame){return frame.associatedEvents.any(x=>x.title==='activityStart');} 4618function frameMissedDeadline(frame){return frame.args.deadline&&frame.args.deadline<frame.end;} 4619function DocLinkBuilder(){this.docLinks=[];} 4620DocLinkBuilder.prototype={addAppVideo(name,videoId){this.docLinks.push({label:'Video Link',textContent:('Android Performance Patterns: '+name),href:'https://www.youtube.com/watch?list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE&v='+videoId});return this;},addDacRef(name,link){this.docLinks.push({label:'Doc Link',textContent:(name+' documentation'),href:'https://developer.android.com/reference/'+link});return this;},build(){return this.docLinks;}};function AndroidAuditor(model){Auditor.call(this,model);const helper=model.getOrCreateHelper(AndroidModelHelper);if(helper.apps.length||helper.surfaceFlinger){this.helper=helper;}} 4621AndroidAuditor.viewAlphaAlertInfo_=new EventInfo('Inefficient View alpha usage','Setting an alpha between 0 and 1 has significant performance costs, if one of the fast alpha paths is not used.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('View#setAlpha()','android/view/View.html#setAlpha(float)').build());AndroidAuditor.saveLayerAlertInfo_=new EventInfo('Expensive rendering with Canvas#saveLayer()','Canvas#saveLayer() incurs extremely high rendering cost. They disrupt the rendering pipeline when drawn, forcing a flush of drawing content. Instead use View hardware layers, or static Bitmaps. This enables the offscreen buffers to be reused in between frames, and avoids the disruptive render target switch.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('Canvas#saveLayerAlpha()','android/graphics/Canvas.html#saveLayerAlpha(android.graphics.RectF, int, int)').build());AndroidAuditor.getSaveLayerAlerts_=function(frame){const badAlphaRegEx=/^(.+) alpha caused (unclipped )?saveLayer (\d+)x(\d+)$/;const saveLayerRegEx=/^(unclipped )?saveLayer (\d+)x(\d+)$/;const ret=[];const events=[];frame.associatedEvents.forEach(function(slice){const match=badAlphaRegEx.exec(slice.title);if(match){const args={'view name':match[1],'width':parseInt(match[3]),'height':parseInt(match[4])};ret.push(new Alert(AndroidAuditor.viewAlphaAlertInfo_,slice.start,[slice],args));}else if(saveLayerRegEx.test(slice.title)){events.push(slice);}},this);if(events.length>ret.length){const unclippedSeen=Statistics.sum(events,function(slice){return saveLayerRegEx.exec(slice.title)[1]?1:0;});const clippedSeen=events.length-unclippedSeen;const earliestStart=Statistics.min(events,function(slice){return slice.start;});const args={'Unclipped saveLayer count (especially bad!)':unclippedSeen,'Clipped saveLayer count':clippedSeen};events.push(frame);ret.push(new Alert(AndroidAuditor.saveLayerAlertInfo_,earliestStart,events,args));} 4622return ret;};AndroidAuditor.pathAlertInfo_=new EventInfo('Path texture churn','Paths are drawn with a mask texture, so when a path is modified / newly drawn, that texture must be generated and uploaded to the GPU. Ensure that you cache paths between frames and do not unnecessarily call Path#reset(). You can cut down on this cost by sharing Path object instances between drawables/views.');AndroidAuditor.getPathAlert_=function(frame){const uploadRegEx=/^Generate Path Texture$/;const events=frame.associatedEvents.filter(function(event){return event.title==='Generate Path Texture';});const start=Statistics.min(events,getStart);const duration=Statistics.sum(events,getDuration);if(duration<3)return undefined;events.push(frame);return new Alert(AndroidAuditor.pathAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.uploadAlertInfo_=new EventInfo('Expensive Bitmap uploads','Bitmaps that have been modified / newly drawn must be uploaded to the GPU. Since this is expensive if the total number of pixels uploaded is large, reduce the amount of Bitmap churn in this animation/context, per frame.');AndroidAuditor.getUploadAlert_=function(frame){const uploadRegEx=/^Upload (\d+)x(\d+) Texture$/;const events=[];let start=Number.POSITIVE_INFINITY;let duration=0;let pixelsUploaded=0;frame.associatedEvents.forEach(function(event){const match=uploadRegEx.exec(event.title);if(match){events.push(event);start=Math.min(start,event.start);duration+=event.duration;pixelsUploaded+=parseInt(match[1])*parseInt(match[2]);}});if(events.length===0||duration<3)return undefined;const mPixels=(pixelsUploaded/1000000).toFixed(2)+' million';const args={'Pixels uploaded':mPixels,'Time spent':new Scalar(timeDurationInMs,duration)};events.push(frame);return new Alert(AndroidAuditor.uploadAlertInfo_,start,events,args);};AndroidAuditor.ListViewInflateAlertInfo_=new EventInfo('Inflation during ListView recycling','ListView item recycling involved inflating views. Ensure your Adapter#getView() recycles the incoming View, instead of constructing a new one.');AndroidAuditor.ListViewBindAlertInfo_=new EventInfo('Inefficient ListView recycling/rebinding','ListView recycling taking too much time per frame. Ensure your Adapter#getView() binds data efficiently.');AndroidAuditor.getListViewAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='obtainView'||event.title==='setupListItem';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;let hasInflation=false;for(const event of events){if(event.findDescendentSlice('inflate')){hasInflation=true;}} 4623const start=Statistics.min(events,getStart);const args={'Time spent':new Scalar(timeDurationInMs,duration)};args['ListView items '+(hasInflation?'inflated':'rebound')]=events.length/2;const eventInfo=hasInflation?AndroidAuditor.ListViewInflateAlertInfo_:AndroidAuditor.ListViewBindAlertInfo_;events.push(frame);return new Alert(eventInfo,start,events,args);};AndroidAuditor.measureLayoutAlertInfo_=new EventInfo('Expensive measure/layout pass','Measure/Layout took a significant time, contributing to jank. Avoid triggering layout during animations.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').build());AndroidAuditor.getMeasureLayoutAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='measure'||event.title==='layout';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.measureLayoutAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.viewDrawAlertInfo_=new EventInfo('Long View#draw()','Recording the drawing commands of invalidated Views took a long time. Avoid significant work in View or Drawable custom drawing, especially allocations or drawing to Bitmaps.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getViewDrawAlert_=function(frame){let slice=undefined;for(const event of frame.associatedEvents){if(event.title==='getDisplayList'||event.title==='Record View#draw()'){slice=event;break;}} 4624if(!slice||getCpuDuration(slice)<3)return undefined;return new Alert(AndroidAuditor.viewDrawAlertInfo_,slice.start,[slice,frame],{'Time spent':new Scalar(timeDurationInMs,getCpuDuration(slice))});};AndroidAuditor.blockingGcAlertInfo_=new EventInfo('Blocking Garbage Collection','Blocking GCs are caused by object churn, and made worse by having large numbers of objects in the heap. Avoid allocating objects during animations/scrolling, and recycle Bitmaps to avoid triggering garbage collection.',new DocLinkBuilder().addAppVideo('Garbage Collection in Android','pzfzz50W5Uo').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getBlockingGcAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='DVM Suspend'||event.title==='GC: Wait For Concurrent';});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.blockingGcAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.lockContentionAlertInfo_=new EventInfo('Lock contention','UI thread lock contention is caused when another thread holds a lock that the UI thread is trying to use. UI thread progress is blocked until the lock is released. Inspect locking done within the UI thread, and ensure critical sections are short.');AndroidAuditor.getLockContentionAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return/^Lock Contention on /.test(event.title);});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<1)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.lockContentionAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.schedulingAlertInfo_=new EventInfo('Scheduling delay','Work to produce this frame was descheduled for several milliseconds, contributing to jank. Ensure that code on the UI thread doesn\'t block on work being done on other threads, and that background threads (doing e.g. network or bitmap loading) are running at android.os.Process#THREAD_PRIORITY_BACKGROUND or lower so they are less likely to interrupt the UI thread. These background threads should show up with a priority number of 130 or higher in the scheduling section under the Kernel process.');AndroidAuditor.getSchedulingAlert_=function(frame){let totalDuration=0;const totalStats={};for(const ttr of frame.threadTimeRanges){const stats=ttr.thread.getSchedulingStatsForRange(ttr.start,ttr.end);for(const[key,value]of Object.entries(stats)){if(!(key in totalStats)){totalStats[key]=0;} 4625totalStats[key]+=value;totalDuration+=value;}} 4626if(!(SCHEDULING_STATE.RUNNING in totalStats)||totalDuration===0||totalDuration-totalStats[SCHEDULING_STATE.RUNNING]<3){return;} 4627const args={};for(const[key,value]of Object.entries(totalStats)){let newKey=key;if(key===SCHEDULING_STATE.RUNNABLE){newKey='Not scheduled, but runnable';}else if(key===SCHEDULING_STATE.UNINTR_SLEEP){newKey='Blocking I/O delay';} 4628args[newKey]=new Scalar(timeDurationInMs,value);} 4629return new Alert(AndroidAuditor.schedulingAlertInfo_,frame.start,[frame],args);};AndroidAuditor.prototype={__proto__:Auditor.prototype,renameAndSort_(){this.model.kernel.important=false;this.model.getAllProcesses().forEach(function(process){if(this.helper.surfaceFlinger&&process===this.helper.surfaceFlinger.process){if(!process.name){process.name='SurfaceFlinger';} 4630process.sortIndex=Number.NEGATIVE_INFINITY;process.important=false;return;} 4631const uiThread=process.getThread(process.pid);if(!process.name&&uiThread&&uiThread.name){if(/^ndroid\./.test(uiThread.name)){uiThread.name='a'+uiThread.name;} 4632process.name=uiThread.name;uiThread.name='UI Thread';} 4633process.sortIndex=0;for(const tid in process.threads){process.sortIndex-=process.threads[tid].sliceGroup.slices.length;}},this);this.model.getAllThreads().forEach(function(thread){if(thread.tid===thread.parent.pid){thread.sortIndex=-3;} 4634if(thread.name==='RenderThread'){thread.sortIndex=-2;} 4635if(/^hwuiTask/.test(thread.name)){thread.sortIndex=-1;}});},pushFramesAndJudgeJank_(){let badFramesObserved=0;let framesObserved=0;const surfaceFlinger=this.helper.surfaceFlinger;this.helper.apps.forEach(function(app){app.process.frames=app.getFrames();app.process.frames.forEach(function(frame){if(frame.totalDuration>EXPECTED_FRAME_TIME_MS*2){badFramesObserved+=2;frame.perfClass=FRAME_PERF_CLASS.TERRIBLE;}else if(frame.totalDuration>EXPECTED_FRAME_TIME_MS||frameMissedDeadline(frame)){badFramesObserved++;frame.perfClass=FRAME_PERF_CLASS.BAD;}else{frame.perfClass=FRAME_PERF_CLASS.GOOD;}});framesObserved+=app.process.frames.length;});if(framesObserved){const portionBad=badFramesObserved/framesObserved;if(portionBad>0.3){this.model.faviconHue='red';}else if(portionBad>0.05){this.model.faviconHue='yellow';}else{this.model.faviconHue='green';}}},pushEventInfo_(){const appAnnotator=new AppAnnotator();this.helper.apps.forEach(function(app){if(app.uiThread){appAnnotator.applyEventInfos(app.uiThread.sliceGroup);} 4636if(app.renderThread){appAnnotator.applyEventInfos(app.renderThread.sliceGroup);}});},runAnnotate(){if(!this.helper)return;this.renameAndSort_();this.pushFramesAndJudgeJank_();this.pushEventInfo_();this.helper.iterateImportantSlices(function(slice){slice.important=true;});},runAudit(){if(!this.helper)return;const alerts=this.model.alerts;this.helper.apps.forEach(function(app){app.getFrames().forEach(function(frame){alerts.push.apply(alerts,AndroidAuditor.getSaveLayerAlerts_(frame));if(frame.perfClass===FRAME_PERF_CLASS.NEUTRAL||frame.perfClass===FRAME_PERF_CLASS.GOOD){return;} 4637let alert=AndroidAuditor.getPathAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getUploadAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getListViewAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getMeasureLayoutAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getViewDrawAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getBlockingGcAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getLockContentionAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getSchedulingAlert_(frame);if(alert)alerts.push(alert);});},this);this.addRenderingInteractionRecords();this.addInputInteractionRecords();},addRenderingInteractionRecords(){const events=[];this.helper.apps.forEach(function(app){events.push.apply(events,app.getAnimationAsyncSlices());events.push.apply(events,app.getFrames());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Rendering',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(events),30,mergerFunction);},addInputInteractionRecords(){const inputSamples=[];this.helper.apps.forEach(function(app){inputSamples.push.apply(inputSamples,app.getInputSamples());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Input',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);const inputRanges=inputSamples.map(function(sample){return tr.b.math.Range.fromExplicitRange(sample.timestamp,sample.timestamp);});tr.b.math.mergeRanges(inputRanges,30,mergerFunction);}};Auditor.register(AndroidAuditor);function AppAnnotator(){this.titleInfoLookup=new Map();this.titleParentLookup=new Map();this.build_();} 4638AppAnnotator.prototype={build_(){const registerEventInfo=function(dict){this.titleInfoLookup.set(dict.title,new EventInfo(dict.title,dict.description,dict.docLinks));if(dict.parents){this.titleParentLookup.set(dict.title,dict.parents);}}.bind(this);registerEventInfo({title:'inflate',description:'Constructing a View hierarchy from pre-processed XML via LayoutInflater#layout. This includes constructing all of the View objects in the hierarchy, and applying styled attributes.'});registerEventInfo({title:'obtainView',description:'Adapter#getView() called to bind content to a recycled View that is being presented.'});registerEventInfo({title:'setupListItem',description:'Attached a newly-bound, recycled View to its parent ListView.'});registerEventInfo({title:'setupGridItem',description:'Attached a newly-bound, recycled View to its parent GridView.'});const choreographerLinks=new DocLinkBuilder().addDacRef('Choreographer','android/view/Choreographer.html').build();registerEventInfo({title:'Choreographer#doFrame',docLinks:choreographerLinks,description:'Choreographer executes frame callbacks for inputs, animations, and rendering traversals. When this work is done, a frame will be presented to the user.'});registerEventInfo({title:'input',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Input callbacks are processed. This generally encompasses dispatching input to Views, as well as any work the Views do to process this input/gesture.'});registerEventInfo({title:'animation',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Animation callbacks are processed. This is generally minimal work, as animations determine progress for the frame, and push new state to animated objects (such as setting View properties).'});registerEventInfo({title:'traversals',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Primary draw traversals. This is the primary traversal of the View hierarchy, including layout and draw passes.'});const traversalParents=['Choreographer#doFrame','performTraversals'];const layoutLinks=new DocLinkBuilder().addDacRef('View#Layout','android/view/View.html#Layout').build();registerEventInfo({title:'performTraversals',description:'A drawing traversal of the View hierarchy, comprised of all layout and drawing needed to produce the frame.'});registerEventInfo({title:'measure',parents:traversalParents,docLinks:layoutLinks,description:'First of two phases in view hierarchy layout. Views are asked to size themselves according to constraints supplied by their parent. Some ViewGroups may measure a child more than once to help satisfy their own constraints. Nesting ViewGroups that measure children more than once can lead to excessive and repeated work.'});registerEventInfo({title:'layout',parents:traversalParents,docLinks:layoutLinks,description:'Second of two phases in view hierarchy layout, repositioning content and child Views into their new locations.'});const drawString='Draw pass over the View hierarchy. Every invalidated View will have its drawing commands recorded. On Android versions prior to Lollipop, this would also include the issuing of draw commands to the GPU. Starting with Lollipop, it only includes the recording of commands, and syncing that information to the RenderThread.';registerEventInfo({title:'draw',parents:traversalParents,description:drawString});const recordString='Every invalidated View\'s drawing commands are recorded. Each will have View#draw() called, and is passed a Canvas that will record and store its drawing commands until it is next invalidated/rerecorded.';registerEventInfo({title:'getDisplayList',parents:['draw'],description:recordString});registerEventInfo({title:'Record View#draw()',parents:['draw'],description:recordString});registerEventInfo({title:'drawDisplayList',parents:['draw'],description:'Execution of recorded draw commands to generate a frame. This represents the actual formation and issuing of drawing commands to the GPU. On Android L and higher devices, this work is done on a dedicated RenderThread, instead of on the UI Thread.'});registerEventInfo({title:'DrawFrame',description:'RenderThread portion of the standard UI/RenderThread split frame. This represents the actual formation and issuing of drawing commands to the GPU.'});registerEventInfo({title:'doFrame',description:'RenderThread animation frame. Represents drawing work done by the RenderThread on a frame where the UI thread did not produce new drawing content.'});registerEventInfo({title:'syncFrameState',description:'Sync stage between the UI thread and the RenderThread, where the UI thread hands off a frame (including information about modified Views). Time in this method primarily consists of uploading modified Bitmaps to the GPU. After this sync is completed, the UI thread is unblocked, and the RenderThread starts to render the frame.'});registerEventInfo({title:'flush drawing commands',description:'Issuing the now complete drawing commands to the GPU.'});registerEventInfo({title:'eglSwapBuffers',description:'Complete GPU rendering of the frame.'});registerEventInfo({title:'RV Scroll',description:'RecyclerView is calculating a scroll. If there are too many of these in Systrace, some Views inside RecyclerView might be causing it. Try to avoid using EditText, focusable views or handle them with care.'});registerEventInfo({title:'RV OnLayout',description:'OnLayout has been called by the View system. If this shows up too many times in Systrace, make sure the children of RecyclerView do not update themselves directly. This will cause a full re-layout but when it happens via the Adapter notifyItemChanged, RecyclerView can avoid full layout calculation.'});registerEventInfo({title:'RV FullInvalidate',description:'NotifyDataSetChanged or equal has been called. If this is taking a long time, try sending granular notify adapter changes instead of just calling notifyDataSetChanged or setAdapter / swapAdapter. Adding stable ids to your adapter might help.'});registerEventInfo({title:'RV PartialInvalidate',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV OnBindView',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV CreateView',description:'RecyclerView is creating a new View. If too many of these are present: 1) There might be a problem in Recycling (e.g. custom Animations that set transient state and prevent recycling or ItemAnimator not implementing the contract properly. See Adapter#onFailedToRecycleView(ViewHolder). 2) There may be too many item view types. Try merging them. 3) There might be too many itemChange animations and not enough space in RecyclerPool. Try increasing your pool size and item cache size.'});registerEventInfo({title:'eglSwapBuffers',description:'The CPU has finished producing drawing commands, and is flushing drawing work to the GPU, and posting that buffer to the consumer (which is often SurfaceFlinger window composition). Once this is completed, the GPU can produce the frame content without any involvement from the CPU.'});},applyEventInfosRecursive_(parentNames,slice){const checkExpectedParentNames=function(expectedParentNames){if(!expectedParentNames)return true;return expectedParentNames.some(function(name){return parentNames.has(name);});};if(this.titleInfoLookup.has(slice.title)){if(checkExpectedParentNames(this.titleParentLookup.get(slice.title))){slice.info=this.titleInfoLookup.get(slice.title);}} 4639if(slice.subSlices.length>0){if(!parentNames.has(slice.title)){parentNames.set(slice.title,0);} 4640parentNames.set(slice.title,parentNames.get(slice.title)+1);slice.subSlices.forEach(function(subSlice){this.applyEventInfosRecursive_(parentNames,subSlice);},this);parentNames.set(slice.title,parentNames.get(slice.title)-1);if(parentNames.get(slice.title)===0){delete parentNames[slice.title];}}},applyEventInfos(sliceGroup){sliceGroup.topLevelSlices.forEach(function(slice){this.applyEventInfosRecursive_(new Map(),slice);},this);}};return{AndroidAuditor,};});'use strict';tr.exportTo('tr.model',function(){function ObjectSnapshot(objectInstance,ts,args){tr.model.Event.call(this);this.objectInstance=objectInstance;this.ts=ts;this.args=args;} 4641ObjectSnapshot.prototype={__proto__:tr.model.Event.prototype,preInitialize(){},initialize(){},referencedAt(item,object,field){},addBoundsToRange(range){range.addValue(this.ts);},get userFriendlyName(){return'Snapshot of '+ 4642this.objectInstance.typeName+' '+ 4643this.objectInstance.id+' @ '+ 4644tr.b.Unit.byName.timeStampInMs.format(this.ts);}};tr.model.EventRegistry.register(ObjectSnapshot,{name:'objectSnapshot',pluralName:'objectSnapshots'});return{ObjectSnapshot,};});'use strict';tr.exportTo('tr.model',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectInstance(parent,scopedId,category,name,creationTs,opt_baseTypeName){tr.model.Event.call(this);this.parent=parent;this.scopedId=scopedId;this.category=category;this.baseTypeName=opt_baseTypeName?opt_baseTypeName:name;this.name=name;this.creationTs=creationTs;this.creationTsWasExplicit=false;this.deletionTs=Number.MAX_VALUE;this.deletionTsWasExplicit=false;this.colorId=0;this.bounds=new tr.b.math.Range();this.snapshots=[];this.hasImplicitSnapshots=false;} 4645ObjectInstance.prototype={__proto__:tr.model.Event.prototype,get typeName(){return this.name;},addBoundsToRange(range){range.addRange(this.bounds);},addSnapshot(ts,args,opt_name,opt_baseTypeName){if(ts<this.creationTs){throw new Error('Snapshots must be >= instance.creationTs');} 4646if(ts>=this.deletionTs){throw new Error('Snapshots cannot be added after '+'an objects deletion timestamp.');} 4647let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts===ts){throw new Error('Snapshots already exists at this time!');} 4648if(ts<lastSnapshot.ts){throw new Error('Snapshots must be added in increasing timestamp order');}} 4649if(opt_name&&(this.name!==opt_name)){if(!opt_baseTypeName){throw new Error('Must provide base type name for name update');} 4650if(this.baseTypeName!==opt_baseTypeName){throw new Error('Cannot update type name: base types dont match');} 4651this.name=opt_name;} 4652const snapshotConstructor=tr.model.ObjectSnapshot.subTypes.getConstructor(this.category,this.name);const snapshot=new snapshotConstructor(this,ts,args);this.snapshots.push(snapshot);return snapshot;},wasDeleted(ts){let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts>ts){throw new Error('Instance cannot be deleted at ts='+ 4653ts+'. A snapshot exists that is older.');}} 4654this.deletionTs=ts;this.deletionTsWasExplicit=true;},preInitialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].preInitialize();}},initialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].initialize();}},isAliveAt(ts){if(ts<this.creationTs&&this.creationTsWasExplicit){return false;} 4655if(ts>this.deletionTs){return false;} 4656return true;},getSnapshotAt(ts){if(ts<this.creationTs){if(this.creationTsWasExplicit){throw new Error('ts must be within lifetime of this instance');} 4657return this.snapshots[0];} 4658if(ts>this.deletionTs){throw new Error('ts must be within lifetime of this instance');} 4659const snapshots=this.snapshots;const i=tr.b.math.findIndexInSortedIntervals(snapshots,function(snapshot){return snapshot.ts;},function(snapshot,i){if(i===snapshots.length-1){return snapshots[i].objectInstance.deletionTs;} 4660return snapshots[i+1].ts-snapshots[i].ts;},ts);if(i<0){return this.snapshots[0];} 4661if(i>=this.snapshots.length){return this.snapshots[this.snapshots.length-1];} 4662return this.snapshots[i];},updateBounds(){this.bounds.reset();this.bounds.addValue(this.creationTs);if(this.deletionTs!==Number.MAX_VALUE){this.bounds.addValue(this.deletionTs);}else if(this.snapshots.length>0){this.bounds.addValue(this.snapshots[this.snapshots.length-1].ts);}},shiftTimestampsForward(amount){this.creationTs+=amount;if(this.deletionTs!==Number.MAX_VALUE){this.deletionTs+=amount;} 4663this.snapshots.forEach(function(snapshot){snapshot.ts+=amount;});},get userFriendlyName(){return this.typeName+' object '+this.scopedId;}};tr.model.EventRegistry.register(ObjectInstance,{name:'objectInstance',pluralName:'objectInstances'});return{ObjectInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function BlameContextSnapshot(){ObjectSnapshot.apply(this,arguments);} 4664BlameContextSnapshot.prototype={__proto__:ObjectSnapshot.prototype,get parentContext(){if(this.args.parent instanceof BlameContextSnapshot){return this.args.parent;} 4665return undefined;},get userFriendlyName(){return'BlameContext';}};function BlameContextInstance(){ObjectInstance.apply(this,arguments);} 4666BlameContextInstance.prototype={__proto__:ObjectInstance.prototype,get blameContextType(){throw new Error('Not implemented');}};return{BlameContextSnapshot,BlameContextInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function FrameTreeNodeSnapshot(){BlameContextSnapshot.apply(this,arguments);} 4667FrameTreeNodeSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get renderFrame(){if(this.args.renderFrame instanceof tr.e.chrome.RenderFrameSnapshot){return this.args.renderFrame;} 4668return undefined;},get url(){return this.args.url;},get userFriendlyName(){return'FrameTreeNode';}};tr.model.ObjectSnapshot.subTypes.register(FrameTreeNodeSnapshot,{typeName:'FrameTreeNode'});function FrameTreeNodeInstance(){BlameContextInstance.apply(this,arguments);} 4669FrameTreeNodeInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(FrameTreeNodeInstance,{typeName:'FrameTreeNode'});return{FrameTreeNodeSnapshot,FrameTreeNodeInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function RenderFrameSnapshot(){BlameContextSnapshot.apply(this,arguments);} 4670RenderFrameSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,referencedAt(item,object,field){if(item instanceof tr.e.chrome.FrameTreeNodeSnapshot&&object===item.args&&field==='renderFrame'){this.args.frameTreeNode=item;}},get frameTreeNode(){if(this.args.frameTreeNode instanceof 4671tr.e.chrome.FrameTreeNodeSnapshot){return this.args.frameTreeNode;} 4672return undefined;},get url(){if(this.frameTreeNode){return this.frameTreeNode.url;} 4673return undefined;},get userFriendlyName(){return'RenderFrame';}};tr.model.ObjectSnapshot.subTypes.register(RenderFrameSnapshot,{typeName:'RenderFrame'});function RenderFrameInstance(){BlameContextInstance.apply(this,arguments);} 4674RenderFrameInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(RenderFrameInstance,{typeName:'RenderFrame'});return{RenderFrameSnapshot,RenderFrameInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function TopLevelSnapshot(){BlameContextSnapshot.apply(this,arguments);} 4675TopLevelSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get userFriendlyName(){return'TopLevel';}};tr.model.ObjectSnapshot.subTypes.register(TopLevelSnapshot,{typeName:'TopLevel'});function TopLevelInstance(){BlameContextInstance.apply(this,arguments);} 4676TopLevelInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'TopLevel';}};tr.model.ObjectInstance.subTypes.register(TopLevelInstance,{typeName:'TopLevel'});return{TopLevelSnapshot,TopLevelInstance,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSlice(category,title,colorId,start,args,duration,opt_isTopLevel,opt_cpuStart,opt_cpuDuration,opt_argsStripped){tr.model.TimedEvent.call(this,start);this.category=category||'';this.originalTitle=title;this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.important=false;this.subSlices=[];this.parentContainer_=undefined;this.id=undefined;this.startThread=undefined;this.endThread=undefined;this.cpuStart=undefined;this.cpuDuration=undefined;this.argsStripped=false;this.startStackFrame=undefined;this.endStackFrame=undefined;this.duration=duration;this.isTopLevel=(opt_isTopLevel===true);if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;} 4677if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;} 4678if(opt_argsStripped!==undefined){this.argsStripped=opt_argsStripped;}} 4679AsyncSlice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get parentContainer(){return this.parentContainer_;},set parentContainer(parentContainer){this.parentContainer_=parentContainer;for(let i=0;i<this.subSlices.length;i++){const subSlice=this.subSlices[i];if(subSlice.parentContainer===undefined){subSlice.parentContainer=parentContainer;}}},get viewSubGroupTitle(){return this.title;},get userFriendlyName(){return'Async slice '+this.title+' at '+ 4680tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentAsyncSliceGroup=this.parentContainer.asyncSliceGroup;return parentAsyncSliceGroup.stableId+'.'+ 4681parentAsyncSliceGroup.slices.indexOf(this);},*findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this){if(eventPredicate(this)){yield this;return;} 4682for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},findDescendentSlice(targetTitle){if(!this.subSlices)return undefined;for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];} 4683const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;} 4684return undefined;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;} 4685for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},compareTo(that){return this.title.localeCompare(that.title);}};tr.model.EventRegistry.register(AsyncSlice,{name:'asyncSlice',pluralName:'asyncSlices'});return{AsyncSlice,};});'use strict';tr.exportTo('tr.model.helpers',function(){const MAIN_FRAMETIME_TYPE='main_frametime_type';const IMPL_FRAMETIME_TYPE='impl_frametime_type';const MAIN_RENDERING_STATS='BenchmarkInstrumentation::MainThreadRenderingStats';const IMPL_RENDERING_STATS='BenchmarkInstrumentation::ImplThreadRenderingStats';function getSlicesIntersectingRange(rangeOfInterest,slices){const slicesInFilterRange=[];for(let i=0;i<slices.length;i++){const slice=slices[i];if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end)){slicesInFilterRange.push(slice);}} 4686return slicesInFilterRange;} 4687function ChromeProcessHelper(modelHelper,process){this.modelHelper=modelHelper;this.process=process;this.telemetryInternalRanges_=undefined;} 4688ChromeProcessHelper.prototype={get pid(){return this.process.pid;},isTelemetryInternalEvent(slice){if(this.telemetryInternalRanges_===undefined){this.findTelemetryInternalRanges_();} 4689for(const range of this.telemetryInternalRanges_){if(range.containsExplicitRangeInclusive(slice.start,slice.end)){return true;}} 4690return false;},findTelemetryInternalRanges_(){this.telemetryInternalRanges_=[];let start=0;for(const thread of Object.values(this.process.threads)){for(const slice of thread.asyncSliceGroup.getDescendantEvents()){if(/^telemetry\.internal\.[^.]*\.start$/.test(slice.title)){start=slice.start;}else if(/^telemetry\.internal\.[^.]*\.end$/.test(slice.title)&&start!==undefined){this.telemetryInternalRanges_.push(tr.b.math.Range.fromExplicitRange(start,slice.end));start=undefined;}}}},getFrameEventsInRange(frametimeType,range){const titleToGet=(frametimeType===MAIN_FRAMETIME_TYPE?MAIN_RENDERING_STATS:IMPL_RENDERING_STATS);const frameEvents=[];for(const event of this.process.getDescendantEvents()){if(event.title===titleToGet){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){frameEvents.push(event);}}} 4691frameEvents.sort(function(a,b){return a.start-b.start;});return frameEvents;}};function getFrametimeDataFromEvents(frameEvents){const frametimeData=[];for(let i=1;i<frameEvents.length;i++){const diff=frameEvents[i].start-frameEvents[i-1].start;frametimeData.push({'x':frameEvents[i].start,'frametime':diff});} 4692return frametimeData;} 4693return{ChromeProcessHelper,MAIN_FRAMETIME_TYPE,IMPL_FRAMETIME_TYPE,MAIN_RENDERING_STATS,IMPL_RENDERING_STATS,getSlicesIntersectingRange,getFrametimeDataFromEvents,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeBrowserHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrBrowserMain');if(!process.name){process.name=ChromeBrowserHelper.PROCESS_NAME;}} 4694ChromeBrowserHelper.PROCESS_NAME='Browser';ChromeBrowserHelper.isBrowserProcess=function(process){return!!process.findAtMostOneThreadNamed('CrBrowserMain');};ChromeBrowserHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get browserName(){const hasInProcessRendererThread=this.process.findAllThreadsNamed('Chrome_InProcRendererThread').length>0;return hasInProcessRendererThread?'webview':'chrome';},get mainThread(){return this.mainThread_;},get rendererHelpers(){return this.modelHelper.rendererHelpers;},getLoadingEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title.indexOf('WebContentsImpl Loading')===0&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getCommitProvisionalLoadEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title==='RenderFrameImpl::didCommitProvisionalLoad'&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},get hasLatencyEvents(){let hasLatency=false;for(const thread of this.modelHelper.model.getAllThreads()){for(const event of thread.getDescendantEvents()){if(!event.isTopLevel)continue;if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){continue;} 4695hasLatency=true;}} 4696return hasLatency;},getLatencyEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return(slice.title.indexOf('InputLatency')===0)&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getAllAsyncSlicesMatching(pred,opt_this){const events=[];this.iterAllThreads(function(thread){for(const slice of thread.getDescendantEvents()){if(pred.call(opt_this,slice)){events.push(slice);}}});return events;},iterAllThreads(func,opt_this){for(const thread of Object.values(this.process.threads)){func.call(opt_this,thread);} 4697for(const rendererHelper of Object.values(this.rendererHelpers)){const rendererProcess=rendererHelper.process;for(const thread of Object.values(rendererProcess.threads)){func.call(opt_this,thread);}}}};return{ChromeBrowserHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeGpuHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);if(!process.name){process.name=ChromeGpuHelper.PROCESS_NAME;}} 4698ChromeGpuHelper.PROCESS_NAME='GPU Process';ChromeGpuHelper.isGpuProcess=function(process){if(process.findAtMostOneThreadNamed('CrBrowserMain')||process.findAtMostOneThreadNamed('CrRendererMain')){return false;} 4699return process.findAllThreadsNamed('CrGpuMain').length>0;};ChromeGpuHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype};return{ChromeGpuHelper,};});'use strict';tr.exportTo('tr.b',function(){function SinebowColorGenerator(opt_a,opt_brightness){this.a_=(opt_a===undefined)?1:opt_a;this.brightness_=(opt_brightness===undefined)?1:opt_brightness;this.colorIndex_=0;this.keyToColor={};} 4700SinebowColorGenerator.prototype={colorForKey(key){if(!this.keyToColor[key]){this.keyToColor[key]=this.nextColor();} 4701return this.keyToColor[key];},nextColor(){const components=SinebowColorGenerator.nthColor(this.colorIndex_++);return tr.b.Color.fromString(SinebowColorGenerator.calculateColor(components[0],components[1],components[2],this.a_,this.brightness_));}};SinebowColorGenerator.PHI=(1+Math.sqrt(5))/2;SinebowColorGenerator.sinebow_=function(h){h+=0.5;h=-h;let r=Math.sin(Math.PI*h);let g=Math.sin(Math.PI*(h+1/3));let b=Math.sin(Math.PI*(h+2/3));r*=r;g*=g;b*=b;const y=2*(0.2989*r+0.5870*g+0.1140*b);r/=y;g/=y;b/=y;return[256*r,256*g,256*b];};SinebowColorGenerator.nthColor=function(n){return SinebowColorGenerator.sinebow_(n*this.PHI);};SinebowColorGenerator.calculateColor=function(r,g,b,a,brightness){if(brightness<=1){r*=brightness;g*=brightness;b*=brightness;}else{r=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),r,255);g=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),g,255);b=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),b,255);} 4702r=Math.round(r);g=Math.round(g);b=Math.round(b);return'rgba('+r+','+g+','+b+', '+a+')';};return{SinebowColorGenerator,};});'use strict';tr.exportTo('tr.e.chrome',function(){const SAME_AS_PARENT='same-as-parent';const TITLES_FOR_USER_FRIENDLY_CATEGORY={composite:['CompositingInputsUpdater::update','ThreadProxy::SetNeedsUpdateLayers','LayerTreeHost::UpdateLayers::CalcDrawProps','UpdateLayerTree'],gc:['minorGC','majorGC','MajorGC','MinorGC','V8.GCScavenger','V8.GCIncrementalMarking','V8.GCIdleNotification','V8.GCContext','V8.GCCompactor','V8GCController::traceDOMWrappers'],iframe_creation:['WebLocalFrameImpl::createChildframe'],imageDecode:['Decode Image','ImageFrameGenerator::decode','ImageFrameGenerator::decodeAndScale'],input:['HitTest','ScrollableArea::scrollPositionChanged','EventHandler::handleMouseMoveEvent'],layout:['FrameView::invalidateTree','FrameView::layout','FrameView::performLayout','FrameView::performPostLayoutTasks','FrameView::performPreLayoutTasks','Layer::updateLayerPositionsAfterLayout','Layout','LayoutView::hitTest','ResourceLoadPriorityOptimizer::updateAllImageResourcePriorities','WebViewImpl::layout'],parseHTML:['ParseHTML','HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser','HTMLDocumentParser::processParsedChunkFromBackgroundParser','HTMLDocumentParser::processTokenizedChunkFromBackgroundParser',],raster:['DisplayListRasterSource::PerformSolidColorAnalysis','Picture::Raster','RasterBufferImpl::Playback','RasterTask','RasterizerTaskImpl::RunOnWorkerThread','SkCanvas::drawImageRect()','SkCanvas::drawPicture()','SkCanvas::drawTextBlob()','TileTaskWorkerPool::PlaybackToMemory'],record:['ContentLayerDelegate::paintContents','DeprecatedPaintLayerCompositor::updateIfNeededRecursive','DeprecatedPaintLayerCompositor::updateLayerPositionsAfterLayout','Paint','Picture::Record','PictureLayer::Update','RenderLayer::updateLayerPositionsAfterLayout'],style:['CSSParserImpl::parseStyleSheet.parse','CSSParserImpl::parseStyleSheet.tokenize','Document::updateStyle','Document::updateStyleInvalidationIfNeeded','ParseAuthorStyleSheet','RuleSet::addRulesFromSheet','StyleElement::processStyleSheet','StyleEngine::createResolver','StyleSheetContents::parseAuthorStyleSheet','UpdateLayoutTree'],script_parse_and_compile:['v8.parseOnBackground','V8.ScriptCompiler'],script_execute:['V8.Execute','WindowProxy::initialize'],resource_loading:['ResourceFetcher::requestResource','ResourceDispatcher::OnReceivedData','ResourceDispatcher::OnRequestComplete','ResourceDispatcher::OnReceivedResponse','Resource::appendData'],renderer_misc:['DecodeFont','ThreadState::completeSweep'],v8_runtime:[],[SAME_AS_PARENT]:['SyncChannel::Send']};const COLOR_FOR_USER_FRIENDLY_CATEGORY=new tr.b.SinebowColorGenerator();const USER_FRIENDLY_CATEGORY_FOR_TITLE=new Map();for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){TITLES_FOR_USER_FRIENDLY_CATEGORY[category].forEach(function(title){USER_FRIENDLY_CATEGORY_FOR_TITLE.set(title,category);});} 4703const USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY={netlog:'net',overhead:'overhead',startup:'startup',gpu:'gpu'};function ChromeUserFriendlyCategoryDriver(){} 4704ChromeUserFriendlyCategoryDriver.fromEvent=function(event){let userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_TITLE.get(event.title);if(userFriendlyCategory){if(userFriendlyCategory===SAME_AS_PARENT){if(event.parentSlice){return ChromeUserFriendlyCategoryDriver.fromEvent(event.parentSlice);}}else{return userFriendlyCategory;}} 4705const eventCategoryParts=tr.b.getCategoryParts(event.category);for(let i=0;i<eventCategoryParts.length;++i){const eventCategory=eventCategoryParts[i];userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY[eventCategory];if(userFriendlyCategory){return userFriendlyCategory;}} 4706return'other';};ChromeUserFriendlyCategoryDriver.getColor=function(ufc){return COLOR_FOR_USER_FRIENDLY_CATEGORY.colorForKey(ufc);};ChromeUserFriendlyCategoryDriver.ALL_TITLES=['other'];for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){if(category===SAME_AS_PARENT)continue;ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);} 4707for(const category of Object.values(USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY)){ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);} 4708ChromeUserFriendlyCategoryDriver.ALL_TITLES.sort();for(const category of ChromeUserFriendlyCategoryDriver.ALL_TITLES){ChromeUserFriendlyCategoryDriver.getColor(category);} 4709return{ChromeUserFriendlyCategoryDriver,};});'use strict';tr.exportTo('tr.model.helpers',function(){const NET_CATEGORIES=new Set(['net','netlog','disabled-by-default-netlog','disabled-by-default-network']);class ChromeThreadHelper{constructor(thread){this.thread=thread;} 4710getNetworkEvents(){const networkEvents=[];for(const slice of this.thread.asyncSliceGroup.slices){const categories=tr.b.getCategoryParts(slice.category);const isNetEvent=category=>NET_CATEGORIES.has(category);if(categories.filter(isNetEvent).length===0)continue;networkEvents.push(slice);} 4711return networkEvents;}} 4712return{ChromeThreadHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){const ChromeThreadHelper=tr.model.helpers.ChromeThreadHelper;function ChromeRendererHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrRendererMain')||process.findAtMostOneThreadNamed('Chrome_InProcRendererThread');this.compositorThread_=process.findAtMostOneThreadNamed('Compositor');this.rasterWorkerThreads_=process.findAllThreadsMatching(function(t){if(t.name===undefined)return false;if(t.name.indexOf('CompositorTileWorker')===0)return true;if(t.name.indexOf('CompositorRasterWorker')===0)return true;return false;});if(!process.name){process.name=ChromeRendererHelper.PROCESS_NAME;}} 4713ChromeRendererHelper.PROCESS_NAME='Renderer';ChromeRendererHelper.isRenderProcess=function(process){if(process.findAtMostOneThreadNamed('CrRendererMain'))return true;if(process.findAtMostOneThreadNamed('Compositor'))return true;return false;};ChromeRendererHelper.isTracingProcess=function(process){return process.labels!==undefined&&process.labels.length===1&&process.labels[0]==='chrome://tracing';};ChromeRendererHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get mainThread(){return this.mainThread_;},get compositorThread(){return this.compositorThread_;},get rasterWorkerThreads(){return this.rasterWorkerThreads_;},get isChromeTracingUI(){return ChromeRendererHelper.isTracingProcess(this.process);},};return{ChromeRendererHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function findChromeBrowserProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeBrowserHelper.isBrowserProcess);} 4714function findChromeRenderProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeRendererHelper.isRenderProcess);} 4715function findChromeGpuProcess(model){const gpuProcesses=model.getAllProcesses(tr.model.helpers.ChromeGpuHelper.isGpuProcess);if(gpuProcesses.length!==1)return undefined;return gpuProcesses[0];} 4716function ChromeModelHelper(model){this.model_=model;const browserProcesses=findChromeBrowserProcesses(model);this.browserHelpers_=browserProcesses.map(p=>new tr.model.helpers.ChromeBrowserHelper(this,p));const gpuProcess=findChromeGpuProcess(model);if(gpuProcess){this.gpuHelper_=new tr.model.helpers.ChromeGpuHelper(this,gpuProcess);}else{this.gpuHelper_=undefined;} 4717const rendererProcesses_=findChromeRenderProcesses(model);this.rendererHelpers_={};rendererProcesses_.forEach(function(renderProcess){const rendererHelper=new tr.model.helpers.ChromeRendererHelper(this,renderProcess);this.rendererHelpers_[rendererHelper.pid]=rendererHelper;},this);this.chromeBounds_=undefined;} 4718ChromeModelHelper.guid=tr.b.GUID.allocateSimple();ChromeModelHelper.supportsModel=function(model){if(findChromeBrowserProcesses(model).length)return true;if(findChromeRenderProcesses(model).length)return true;return false;};ChromeModelHelper.prototype={get pid(){throw new Error('woah');},get process(){throw new Error('woah');},get model(){return this.model_;},get browserProcess(){if(this.browserHelper===undefined)return undefined;return this.browserHelper.process;},get browserHelper(){return this.browserHelpers_[0];},get browserHelpers(){return this.browserHelpers_;},get gpuHelper(){return this.gpuHelper_;},get rendererHelpers(){return this.rendererHelpers_;},get rendererWithLargestPid(){let largestPid=-1;for(const pid in this.rendererHelpers){const rendererHelper=this.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;if(pid>largestPid)largestPid=pid;} 4719if(largestPid===-1)return undefined;return this.rendererHelpers[largestPid];},get chromeBounds(){if(!this.chromeBounds_){this.chromeBounds_=new tr.b.math.Range();for(const browserHelper of 4720Object.values(this.browserHelpers)){this.chromeBounds_.addRange(browserHelper.process.bounds);}} 4721if(this.chromeBounds_.isEmpty){return undefined;} 4722return this.chromeBounds_;}};return{ChromeModelHelper,};});'use strict';tr.exportTo('tr.e.cc',function(){const AsyncSlice=tr.model.AsyncSlice;const EventSet=tr.model.EventSet;const UI_COMP_NAME='INPUT_EVENT_LATENCY_UI_COMPONENT';const ORIGINAL_COMP_NAME='INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT';const BEGIN_COMP_NAME='INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT';const END_COMP_NAME='INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT';const MAIN_RENDERER_THREAD_NAME='CrRendererMain';const COMPOSITOR_THREAD_NAME='Compositor';const POSTTASK_FLOW_EVENT='disabled-by-default-toplevel.flow';const IPC_FLOW_EVENT='disabled-by-default-ipc.flow';const INPUT_EVENT_TYPE_NAMES={CHAR:'Char',CLICK:'GestureClick',CONTEXT_MENU:'ContextMenu',FLING_CANCEL:'GestureFlingCancel',FLING_START:'GestureFlingStart',KEY_DOWN:'KeyDown',KEY_DOWN_RAW:'RawKeyDown',KEY_UP:'KeyUp',LATENCY_SCROLL_UPDATE:'ScrollUpdate',MOUSE_DOWN:'MouseDown',MOUSE_ENTER:'MouseEnter',MOUSE_LEAVE:'MouseLeave',MOUSE_MOVE:'MouseMove',MOUSE_UP:'MouseUp',MOUSE_WHEEL:'MouseWheel',PINCH_BEGIN:'GesturePinchBegin',PINCH_END:'GesturePinchEnd',PINCH_UPDATE:'GesturePinchUpdate',SCROLL_BEGIN:'GestureScrollBegin',SCROLL_END:'GestureScrollEnd',SCROLL_UPDATE:'GestureScrollUpdate',SCROLL_UPDATE_RENDERER:'ScrollUpdate',SHOW_PRESS:'GestureShowPress',TAP:'GestureTap',TAP_CANCEL:'GestureTapCancel',TAP_DOWN:'GestureTapDown',TOUCH_CANCEL:'TouchCancel',TOUCH_END:'TouchEnd',TOUCH_MOVE:'TouchMove',TOUCH_START:'TouchStart',UNKNOWN:'UNKNOWN'};function InputLatencyAsyncSlice(){AsyncSlice.apply(this,arguments);this.associatedEvents_=new EventSet();this.typeName_=undefined;if(!this.isLegacyEvent){this.determineModernTypeName_();}} 4723InputLatencyAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get isLegacyEvent(){return this.title==='InputLatency';},get typeName(){if(!this.typeName_){this.determineLegacyTypeName_();} 4724return this.typeName_;},checkTypeName_(){if(!this.typeName_){throw new Error('Unable to determine typeName');} 4725let found=false;for(const typeName in INPUT_EVENT_TYPE_NAMES){if(this.typeName===INPUT_EVENT_TYPE_NAMES[typeName]){found=true;break;}} 4726if(!found){this.typeName_=INPUT_EVENT_TYPE_NAMES.UNKNOWN;}},determineModernTypeName_(){const lastColonIndex=this.title.lastIndexOf(':');if(lastColonIndex<0)return;const characterAfterLastColonIndex=lastColonIndex+1;this.typeName_=this.title.slice(characterAfterLastColonIndex);this.checkTypeName_();},determineLegacyTypeName_(){for(const subSlice of this.enumerateAllDescendents()){const subSliceIsAInputLatencyAsyncSlice=(subSlice instanceof InputLatencyAsyncSlice);if(!subSliceIsAInputLatencyAsyncSlice)continue;if(!subSlice.typeName)continue;if(this.typeName_&&subSlice.typeName_){const subSliceHasDifferentTypeName=(this.typeName_!==subSlice.typeName_);if(subSliceHasDifferentTypeName){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() '+' found multiple typeNames');}} 4727this.typeName_=subSlice.typeName_;} 4728if(!this.typeName_){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() failed');} 4729this.checkTypeName_();},getRendererHelper(sourceSlices){const traceModel=this.startThread.parent.model;const modelHelper=traceModel.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper)return undefined;let mainThread=undefined;let compositorThread=undefined;for(const i in sourceSlices){if(sourceSlices[i].parentContainer.name===MAIN_RENDERER_THREAD_NAME){mainThread=sourceSlices[i].parentContainer;}else if(sourceSlices[i].parentContainer.name===COMPOSITOR_THREAD_NAME){compositorThread=sourceSlices[i].parentContainer;} 4730if(mainThread&&compositorThread)break;} 4731const rendererHelpers=modelHelper.rendererHelpers;const pids=Object.keys(rendererHelpers);for(let i=0;i<pids.length;i++){const pid=pids[i];const rendererHelper=rendererHelpers[pid];if(rendererHelper.mainThread===mainThread||rendererHelper.compositorThread===compositorThread){return rendererHelper;}} 4732return undefined;},addEntireSliceHierarchy(slice){this.associatedEvents_.push(slice);slice.iterateAllSubsequentSlices(function(subsequentSlice){this.associatedEvents_.push(subsequentSlice);},this);},addDirectlyAssociatedEvents(flowEvents){const slices=[];flowEvents.forEach(function(flowEvent){this.associatedEvents_.push(flowEvent);const newSource=flowEvent.startSlice.mostTopLevelSlice;if(slices.indexOf(newSource)===-1){slices.push(newSource);}},this);const lastFlowEvent=flowEvents[flowEvents.length-1];const lastSource=lastFlowEvent.endSlice.mostTopLevelSlice;if(slices.indexOf(lastSource)===-1){slices.push(lastSource);} 4733return slices;},addScrollUpdateEvents(rendererHelper){if(!rendererHelper||!rendererHelper.compositorThread){return;} 4734const compositorThread=rendererHelper.compositorThread;const gestureScrollUpdateStart=this.start;const gestureScrollUpdateEnd=this.end;const allCompositorAsyncSlices=compositorThread.asyncSliceGroup.slices;for(const i in allCompositorAsyncSlices){const slice=allCompositorAsyncSlices[i];if(slice.title!=='Latency::ScrollUpdate')continue;const parentId=slice.args.data.INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT.sequence_number;if(parentId===undefined){if(slice.start<gestureScrollUpdateStart||slice.start>=gestureScrollUpdateEnd){continue;}}else{if(parseInt(parentId)!==parseInt(this.id)){continue;}} 4735slice.associatedEvents.forEach(function(event){this.associatedEvents_.push(event);},this);break;}},belongToOtherInputs(slice,flowEvents){let fromOtherInputs=false;slice.iterateEntireHierarchy(function(subsequentSlice){if(fromOtherInputs)return;subsequentSlice.inFlowEvents.forEach(function(inflow){if(fromOtherInputs)return;if(inflow.category.indexOf('input')>-1){if(flowEvents.indexOf(inflow)===-1){fromOtherInputs=true;}}},this);},this);return fromOtherInputs;},triggerOtherInputs(event,flowEvents){if(event.outFlowEvents===undefined||event.outFlowEvents.length===0){return false;} 4736const flow=event.outFlowEvents[0];if(flow.category!==POSTTASK_FLOW_EVENT||!flow.endSlice){return false;} 4737const endSlice=flow.endSlice;if(this.belongToOtherInputs(endSlice.mostTopLevelSlice,flowEvents)){return true;} 4738return false;},followSubsequentSlices(event,queue,visited,flowEvents){let stopFollowing=false;let inputAck=false;event.iterateAllSubsequentSlices(function(slice){if(stopFollowing)return;if(slice.title==='TaskQueueManager::RunTask')return;if(slice.title==='ThreadProxy::ScheduledActionSendBeginMainFrame'){return;} 4739if(slice.title==='Scheduler::ScheduleBeginImplFrameDeadline'){if(this.triggerOtherInputs(slice,flowEvents))return;} 4740if(slice.title==='CompositorImpl::PostComposite'){if(this.triggerOtherInputs(slice,flowEvents))return;} 4741if(slice.title==='InputRouterImpl::ProcessInputEventAck'){inputAck=true;} 4742if(inputAck&&slice.title==='InputRouterImpl::FilterAndSendWebInputEvent'){stopFollowing=true;} 4743this.followCurrentSlice(slice,queue,visited);},this);},followCurrentSlice(event,queue,visited){event.outFlowEvents.forEach(function(outflow){if((outflow.category===POSTTASK_FLOW_EVENT||outflow.category===IPC_FLOW_EVENT)&&outflow.endSlice){this.associatedEvents_.push(outflow);const nextEvent=outflow.endSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);queue.push(nextEvent);}}},this);},backtraceFromDraw(beginImplFrame,visited){const pendingEventQueue=[];pendingEventQueue.push(beginImplFrame.mostTopLevelSlice);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);event.inFlowEvents.forEach(function(inflow){if(inflow.category===POSTTASK_FLOW_EVENT&&inflow.startSlice){const nextEvent=inflow.startSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);pendingEventQueue.push(nextEvent);}}},this);}},sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices){rasterWorkerThreads.forEach(function(rasterizer){Array.prototype.push.apply(sortedRasterizerSlices,rasterizer.sliceGroup.slices);},this);sortedRasterizerSlices.sort(function(a,b){if(a.start!==b.start){return a.start-b.start;} 4744return a.guid-b.guid;});},addRasterizationEvents(prepareTiles,rendererHelper,visited,flowEvents,sortedRasterizerSlices){if(!prepareTiles.args.prepare_tiles_id)return;if(!rendererHelper||!rendererHelper.rasterWorkerThreads){return;} 4745const rasterWorkerThreads=rendererHelper.rasterWorkerThreads;const prepareTileId=prepareTiles.args.prepare_tiles_id;const pendingEventQueue=[];if(sortedRasterizerSlices.length===0){this.sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices);} 4746let numFinishedTasks=0;const RASTER_TASK_TITLE='RasterizerTaskImpl::RunOnWorkerThread';const IMAGEDECODE_TASK_TITLE='ImageDecodeTaskImpl::RunOnWorkerThread';const FINISHED_TASK_TITLE='TaskSetFinishedTaskImpl::RunOnWorkerThread';for(let i=0;i<sortedRasterizerSlices.length;i++){const task=sortedRasterizerSlices[i];if(task.title===RASTER_TASK_TITLE||task.title===IMAGEDECODE_TASK_TITLE){if(task.args.source_prepare_tiles_id===prepareTileId){this.addEntireSliceHierarchy(task.mostTopLevelSlice);}}else if(task.title===FINISHED_TASK_TITLE){if(task.start>prepareTiles.start){pendingEventQueue.push(task.mostTopLevelSlice);if(++numFinishedTasks===3)break;}}} 4747while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followSubsequentSlices(event,pendingEventQueue,visited,flowEvents);}},addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents,sortedRasterizerSlices){const pendingEventQueue=[];const visitedEvents=new EventSet();let beginImplFrame=undefined;let prepareTiles=undefined;sortedRasterizerSlices=[];sourceSlices.forEach(function(sourceSlice){if(!visitedEvents.contains(sourceSlice)){visitedEvents.push(sourceSlice);pendingEventQueue.push(sourceSlice);}},this);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followCurrentSlice(event,pendingEventQueue,visitedEvents);this.followSubsequentSlices(event,pendingEventQueue,visitedEvents,flowEvents);const COMPOSITOR_PREPARE_TILES='TileManager::PrepareTiles';prepareTiles=event.findDescendentSlice(COMPOSITOR_PREPARE_TILES);if(prepareTiles){this.addRasterizationEvents(prepareTiles,rendererHelper,visitedEvents,flowEvents,sortedRasterizerSlices);} 4748const COMPOSITOR_ON_BIFD='Scheduler::OnBeginImplFrameDeadline';beginImplFrame=event.findDescendentSlice(COMPOSITOR_ON_BIFD);if(beginImplFrame){this.backtraceFromDraw(beginImplFrame,visitedEvents);}} 4749const INPUT_GSU='InputLatency::GestureScrollUpdate';if(this.title===INPUT_GSU){this.addScrollUpdateEvents(rendererHelper);}},get associatedEvents(){if(this.associatedEvents_.length!==0){return this.associatedEvents_;} 4750const modelIndices=this.startThread.parent.model.modelIndices;const flowEvents=modelIndices.getFlowEventsWithId(this.id);if(flowEvents.length===0){return this.associatedEvents_;} 4751const sourceSlices=this.addDirectlyAssociatedEvents(flowEvents);const rendererHelper=this.getRendererHelper(sourceSlices);this.addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents);return this.associatedEvents_;},get inputLatency(){if(!('data'in this.args))return undefined;const data=this.args.data;if(!(END_COMP_NAME in data))return undefined;let latency=0;const endTime=data[END_COMP_NAME].time;if(ORIGINAL_COMP_NAME in data){latency=endTime-data[ORIGINAL_COMP_NAME].time;}else if(UI_COMP_NAME in data){latency=endTime-data[UI_COMP_NAME].time;}else if(BEGIN_COMP_NAME in data){latency=endTime-data[BEGIN_COMP_NAME].time;}else{throw new Error('No valid begin latency component');} 4752return latency;}};const eventTypeNames=['Char','ContextMenu','GestureClick','GestureFlingCancel','GestureFlingStart','GestureScrollBegin','GestureScrollEnd','GestureScrollUpdate','GestureShowPress','GestureTap','GestureTapCancel','GestureTapDown','GesturePinchBegin','GesturePinchEnd','GesturePinchUpdate','KeyDown','KeyUp','MouseDown','MouseEnter','MouseLeave','MouseMove','MouseUp','MouseWheel','RawKeyDown','ScrollUpdate','TouchCancel','TouchEnd','TouchMove','TouchStart'];const allTypeNames=['InputLatency'];eventTypeNames.forEach(function(eventTypeName){allTypeNames.push('InputLatency:'+eventTypeName);allTypeNames.push('InputLatency::'+eventTypeName);});AsyncSlice.subTypes.register(InputLatencyAsyncSlice,{typeNames:allTypeNames,categoryParts:['latencyInfo']});return{InputLatencyAsyncSlice,INPUT_EVENT_TYPE_NAMES,};});'use strict';tr.exportTo('tr.model',function(){return{BROWSER_PROCESS_PID_REF:-1,OBJECT_DEFAULT_SCOPE:'ptr',LOCAL_ID_PHASES:new Set(['N','D','O','(',')'])};});'use strict';tr.exportTo('tr.e.audits',function(){const Auditor=tr.c.Auditor;function ChromeAuditor(model){Auditor.call(this,model);const modelHelper=this.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper&&modelHelper.browserHelper){this.modelHelper=modelHelper;}else{this.modelHelper=undefined;}} 4753ChromeAuditor.prototype={__proto__:Auditor.prototype,runAnnotate(){if(!this.modelHelper)return;for(const pid in this.modelHelper.rendererHelpers){const rendererHelper=this.modelHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI){rendererHelper.process.important=false;}}},installUserFriendlyCategoryDriverIfNeeded(){this.model.addUserFriendlyCategoryDriver(tr.e.chrome.ChromeUserFriendlyCategoryDriver);},runAudit(){if(!this.modelHelper)return;this.model.replacePIDRefsInPatchups(tr.model.BROWSER_PROCESS_PID_REF,this.modelHelper.browserProcess.pid);this.model.applyObjectRefPatchups();}};Auditor.register(ChromeAuditor);return{ChromeAuditor,};});'use strict';tr.exportTo('tr.e.chrome',function(){const KNOWN_PROPERTIES={absX:1,absY:1,address:1,anonymous:1,childNeeds:1,children:1,classNames:1,col:1,colSpan:1,float:1,height:1,htmlId:1,name:1,posChildNeeds:1,positioned:1,positionedMovement:1,relX:1,relY:1,relativePositioned:1,row:1,rowSpan:1,selfNeeds:1,stickyPositioned:1,tag:1,width:1};function LayoutObject(snapshot,args){this.snapshot_=snapshot;this.id_=args.address;this.name_=args.name;this.childLayoutObjects_=[];this.otherProperties_={};this.tag_=args.tag;this.relativeRect_=tr.b.math.Rect.fromXYWH(args.relX,args.relY,args.width,args.height);this.absoluteRect_=tr.b.math.Rect.fromXYWH(args.absX,args.absY,args.width,args.height);this.isFloat_=args.float;this.isStickyPositioned_=args.stickyPositioned;this.isPositioned_=args.positioned;this.isRelativePositioned_=args.relativePositioned;this.isAnonymous_=args.anonymous;this.htmlId_=args.htmlId;this.classNames_=args.classNames;this.needsLayoutReasons_=[];if(args.selfNeeds){this.needsLayoutReasons_.push('self');} 4754if(args.childNeeds){this.needsLayoutReasons_.push('child');} 4755if(args.posChildNeeds){this.needsLayoutReasons_.push('positionedChild');} 4756if(args.positionedMovement){this.needsLayoutReasons_.push('positionedMovement');} 4757this.tableRow_=args.row;this.tableCol_=args.col;this.tableRowSpan_=args.rowSpan;this.tableColSpan_=args.colSpan;if(args.children){args.children.forEach(function(child){this.childLayoutObjects_.push(new LayoutObject(snapshot,child));}.bind(this));} 4758for(const property in args){if(!KNOWN_PROPERTIES[property]){this.otherProperties_[property]=args[property];}}} 4759LayoutObject.prototype={get snapshot(){return this.snapshot_;},get id(){return this.id_;},get name(){return this.name_;},get tag(){return this.tag_;},get relativeRect(){return this.relativeRect_;},get absoluteRect(){return this.absoluteRect_;},get isPositioned(){return this.isPositioned_;},get isFloat(){return this.isFloat_;},get isStickyPositioned(){return this.isStickyPositioned_;},get isRelativePositioned(){return this.isRelativePositioned_;},get isAnonymous(){return this.isAnonymous_;},get tableRow(){return this.tableRow_;},get tableCol(){return this.tableCol_;},get tableRowSpan(){return this.tableRowSpan_;},get tableColSpan(){return this.tableColSpan_;},get htmlId(){return this.htmlId_;},get classNames(){return this.classNames_;},get needsLayoutReasons(){return this.needsLayoutReasons_;},get hasChildLayoutObjects(){return this.childLayoutObjects_.length>0;},get childLayoutObjects(){return this.childLayoutObjects_;},traverseTree(cb,opt_this){cb.call(opt_this,this);if(!this.hasChildLayoutObjects)return;this.childLayoutObjects.forEach(function(child){child.traverseTree(cb,opt_this);});},get otherPropertyNames(){const names=[];for(const name in this.otherProperties_){names.push(name);} 4760return names;},getProperty(name){return this.otherProperties_[name];},get previousSnapshotLayoutObject(){if(!this.snapshot.previousSnapshot)return undefined;return this.snapshot.previousSnapshot.getLayoutObjectById(this.id);},get nextSnapshotLayoutObject(){if(!this.snapshot.nextSnapshot)return undefined;return this.snapshot.nextSnapshot.getLayoutObjectById(this.id);}};return{LayoutObject,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayoutTreeInstance(){ObjectInstance.apply(this,arguments);} 4761LayoutTreeInstance.prototype={__proto__:ObjectInstance.prototype,};ObjectInstance.subTypes.register(LayoutTreeInstance,{typeName:'LayoutTree'});function LayoutTreeSnapshot(){ObjectSnapshot.apply(this,arguments);this.rootLayoutObject=new tr.e.chrome.LayoutObject(this,this.args);} 4762LayoutTreeSnapshot.prototype={__proto__:ObjectSnapshot.prototype,};ObjectSnapshot.subTypes.register(LayoutTreeSnapshot,{typeName:'LayoutTree'});return{LayoutTreeInstance,LayoutTreeSnapshot,};});'use strict';tr.exportTo('tr.model',function(){function EventContainer(){this.guid_=tr.b.GUID.allocateSimple();this.important=true;this.bounds_=new tr.b.math.Range();} 4763EventContainer.prototype={get guid(){return this.guid_;},get stableId(){throw new Error('Not implemented');},get bounds(){return this.bounds_;},updateBounds(){throw new Error('Not implemented');},shiftTimestampsForward(amount){throw new Error('Not implemented');},*childEvents(){},*getDescendantEvents(){yield*this.childEvents();for(const container of this.childEventContainers()){yield*container.getDescendantEvents();}},*childEventContainers(){},*getDescendantEventContainers(){yield this;for(const container of this.childEventContainers()){yield*container.getDescendantEventContainers();}},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){},*findTopmostSlices(eventPredicate){for(const ec of this.getDescendantEventContainers()){yield*ec.findTopmostSlicesInThisContainer(eventPredicate);}},*findTopmostSlicesNamed(name){yield*this.findTopmostSlices(e=>e.title===name);}};return{EventContainer,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;class ResourceUsageSample extends Event{constructor(series,start,usage){super();this.series_=series;this.start_=start;this.usage_=usage;} 4764get series(){return this.series_;} 4765get start(){return this.start_;} 4766set start(value){this.start_=value;} 4767get usage(){return this.usage_;} 4768set usage(value){this.usage_=value;} 4769addBoundsToRange(range){range.addValue(this.start);}} 4770EventRegistry.register(ResourceUsageSample,{name:'resourceUsageSample',pluralName:'resourceUsageSamples'});return{ResourceUsageSample,};});'use strict';tr.exportTo('tr.model',function(){const ResourceUsageSample=tr.model.ResourceUsageSample;class ResourceUsageSeries extends tr.model.EventContainer{constructor(device){super();this.device_=device;this.samples_=[];} 4771get device(){return this.device_;} 4772get samples(){return this.samples_;} 4773get stableId(){return this.device_.stableId+'.ResourceUsageSeries';} 4774addUsageSample(ts,val){const sample=new ResourceUsageSample(this,ts,val);this.samples_.push(sample);return sample;} 4775computeResourceTimeConsumedInMs(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let resourceTimeInMs=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0)startIndex=0;for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);resourceTimeInMs+=intersectionRangeInMs.duration*sample.usage;} 4776return resourceTimeInMs;} 4777getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);} 4778shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}} 4779updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);}*childEvents(){yield*this.samples_;}} 4780return{ResourceUsageSeries,};});'use strict';tr.exportTo('tr.e.audits',function(){class CpuUsageAuditor extends tr.c.Auditor{constructor(model){super();this.model_=model;} 4781runAnnotate(){this.model_.device.cpuUsageSeries=this.computeCpuUsageSeries_(this.model_.bounds.min,this.model_.bounds.max,this.computeCpuUsage_());} 4782computeBinSize_(start,end){const MIN_BIN_SIZE_MS=1.0;const MAX_NUM_BINS=100000;const interval=end-start;let binSize=MIN_BIN_SIZE_MS;while(binSize*MAX_NUM_BINS<interval)binSize*=2;return binSize;} 4783computeCpuUsageSeries_(start,end,usageRecords){const series=new tr.model.ResourceUsageSeries();if(start===undefined)return series;const binSize=this.computeBinSize_(start,end);const numBins=Math.ceil((end-start)/binSize);const arr=new Array(numBins).fill(0);for(const record of usageRecords){const firstIndex=Math.ceil((record.start-start)/binSize);const lastIndex=Math.floor((record.end-start)/binSize);for(let i=firstIndex;i<=lastIndex;i++)arr[i]+=record.usage;} 4784for(let i=0;i<numBins;i++){series.addUsageSample(start+(i*binSize),arr[i]);} 4785return series;} 4786computeCpuUsage_(){const model=this.model_;const result=[];for(const pid in model.processes){for(const e of model.processes[pid].getDescendantEvents()){if(!(e instanceof tr.model.ThreadSlice)||e.duration===0||e.cpuDuration===undefined){continue;} 4787if(e.selfTime===0||e.selfTime===undefined||e.cpuSelfTime===undefined){continue;} 4788const usage=tr.b.math.clamp(e.cpuSelfTime/e.selfTime,0,1);let lastTime=e.start;for(const subslice of e.subSlices){result.push({usage,start:lastTime,end:subslice.start});lastTime=subslice.end;} 4789result.push({usage,start:lastTime,end:e.end});}} 4790return result;}} 4791tr.c.Auditor.register(CpuUsageAuditor);return{CpuUsageAuditor};});'use strict';tr.exportTo('tr.b',function(){function Base64(){} 4792function b64ToUint6(nChr){if(nChr>64&&nChr<91)return nChr-65;if(nChr>96&&nChr<123)return nChr-71;if(nChr>47&&nChr<58)return nChr+4;if(nChr===43)return 62;if(nChr===47)return 63;return 0;} 4793Base64.getDecodedBufferLength=function(input){return input.length*3+1>>2;};Base64.EncodeArrayBufferToString=function(input){let binary='';const bytes=new Uint8Array(input);const len=bytes.byteLength;for(let i=0;i<len;i++){binary+=String.fromCharCode(bytes[i]);} 4794return btoa(binary);};Base64.DecodeToTypedArray=function(input,output){const nInLen=input.length;const nOutLen=nInLen*3+1>>2;let nMod3=0;let nMod4=0;let nUint24=0;let nOutIdx=0;if(nOutLen>output.byteLength){throw new Error('Output buffer too small to decode.');} 4795for(let nInIdx=0;nInIdx<nInLen;nInIdx++){nMod4=nInIdx&3;nUint24|=b64ToUint6(input.charCodeAt(nInIdx))<<18-6*nMod4;if(nMod4===3||nInLen-nInIdx===1){for(nMod3=0;nMod3<3&&nOutIdx<nOutLen;nMod3++,nOutIdx++){output.setUint8(nOutIdx,nUint24>>>(16>>>nMod3&24)&255);} 4796nUint24=0;}} 4797return nOutIdx-1;};Base64.btoa=function(input){return btoa(input);};Base64.atob=function(input){return atob(input);};return{Base64,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){function Parser(importer){this.importer=importer;this.model=importer.model;} 4798Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='68FDD900-4A3E-11D1-84F4-0000F80464E3';const kEventTraceHeaderOpcode=0;function EventTraceParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kEventTraceHeaderOpcode,EventTraceParser.prototype.decodeHeader.bind(this));} 4799EventTraceParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version!==2){throw new Error('Incompatible EventTrace event version.');} 4800const bufferSize=decoder.decodeUInt32();const version=decoder.decodeUInt32();const providerVersion=decoder.decodeUInt32();const numberOfProcessors=decoder.decodeUInt32();const endTime=decoder.decodeUInt64ToString();const timerResolution=decoder.decodeUInt32();const maxFileSize=decoder.decodeUInt32();const logFileMode=decoder.decodeUInt32();const buffersWritten=decoder.decodeUInt32();const startBuffers=decoder.decodeUInt32();const pointerSize=decoder.decodeUInt32();const eventsLost=decoder.decodeUInt32();const cpuSpeed=decoder.decodeUInt32();const loggerName=decoder.decodeUInteger(header.is64);const logFileName=decoder.decodeUInteger(header.is64);const timeZoneInformation=decoder.decodeTimeZoneInformation();const padding=decoder.decodeUInt32();const bootTime=decoder.decodeUInt64ToString();const perfFreq=decoder.decodeUInt64ToString();const startTime=decoder.decodeUInt64ToString();const reservedFlags=decoder.decodeUInt32();const buffersLost=decoder.decodeUInt32();const sessionNameString=decoder.decodeW16String();const logFileNameString=decoder.decodeW16String();return{bufferSize,version,providerVersion,numberOfProcessors,endTime,timerResolution,maxFileSize,logFileMode,buffersWritten,startBuffers,pointerSize,eventsLost,cpuSpeed,loggerName,logFileName,timeZoneInformation,bootTime,perfFreq,startTime,reservedFlags,buffersLost,sessionNameString,logFileNameString};},decodeHeader(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(EventTraceParser);return{EventTraceParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D0-FE05-11D0-9DDA-00C04FD7BA7C';const kProcessStartOpcode=1;const kProcessEndOpcode=2;const kProcessDCStartOpcode=3;const kProcessDCEndOpcode=4;const kProcessDefunctOpcode=39;function ProcessParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kProcessStartOpcode,ProcessParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kProcessEndOpcode,ProcessParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kProcessDCStartOpcode,ProcessParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kProcessDCEndOpcode,ProcessParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kProcessDefunctOpcode,ProcessParser.prototype.decodeDefunct.bind(this));} 4801ProcessParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>5){throw new Error('Incompatible Process event version.');} 4802let pageDirectoryBase;if(header.version===1){pageDirectoryBase=decoder.decodeUInteger(header.is64);} 4803let uniqueProcessKey;if(header.version>=2){uniqueProcessKey=decoder.decodeUInteger(header.is64);} 4804const processId=decoder.decodeUInt32();const parentId=decoder.decodeUInt32();let sessionId;let exitStatus;if(header.version>=1){sessionId=decoder.decodeUInt32();exitStatus=decoder.decodeInt32();} 4805let directoryTableBase;if(header.version>=3){directoryTableBase=decoder.decodeUInteger(header.is64);} 4806let flags;if(header.version>=4){flags=decoder.decodeUInt32();} 4807const userSID=decoder.decodeSID(header.is64);let imageFileName;if(header.version>=1){imageFileName=decoder.decodeString();} 4808let commandLine;if(header.version>=2){commandLine=decoder.decodeW16String();} 4809let packageFullName;let applicationId;if(header.version>=4){packageFullName=decoder.decodeW16String();applicationId=decoder.decodeW16String();} 4810let exitTime;if(header.version===5&&header.opcode===kProcessDefunctOpcode){exitTime=decoder.decodeUInt64ToString();} 4811return{pageDirectoryBase,uniqueProcessKey,processId,parentId,sessionId,exitStatus,directoryTableBase,flags,userSID,imageFileName,commandLine,packageFullName,applicationId,exitTime};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');} 4812process.name=fields.imageFileName;return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');} 4813process.name=fields.imageFileName;return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDefunct(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(ProcessParser);return{ProcessParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadStartOpcode=1;const kThreadEndOpcode=2;const kThreadDCStartOpcode=3;const kThreadDCEndOpcode=4;const kThreadCSwitchOpcode=36;function ThreadParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kThreadStartOpcode,ThreadParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kThreadEndOpcode,ThreadParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kThreadDCStartOpcode,ThreadParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kThreadDCEndOpcode,ThreadParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kThreadCSwitchOpcode,ThreadParser.prototype.decodeCSwitch.bind(this));} 4814ThreadParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>3){throw new Error('Incompatible Thread event version.');} 4815const processId=decoder.decodeUInt32();const threadId=decoder.decodeUInt32();let stackBase;let stackLimit;let userStackBase;let userStackLimit;let affinity;let startAddr;let win32StartAddr;let tebBase;let subProcessTag;let basePriority;let pagePriority;let ioPriority;let threadFlags;let waitMode;if(header.version===1){if(header.opcode===kThreadStartOpcode||header.opcode===kThreadDCStartOpcode){stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);startAddr=decoder.decodeUInteger(header.is64);win32StartAddr=decoder.decodeUInteger(header.is64);waitMode=decoder.decodeInt8();decoder.skip(3);}}else{stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);if(header.version===2){startAddr=decoder.decodeUInteger(header.is64);}else{affinity=decoder.decodeUInteger(header.is64);} 4816win32StartAddr=decoder.decodeUInteger(header.is64);tebBase=decoder.decodeUInteger(header.is64);subProcessTag=decoder.decodeUInt32();if(header.version===3){basePriority=decoder.decodeUInt8();pagePriority=decoder.decodeUInt8();ioPriority=decoder.decodeUInt8();threadFlags=decoder.decodeUInt8();}} 4817return{processId,threadId,stackBase,stackLimit,userStackBase,userStackLimit,affinity,startAddr,win32StartAddr,tebBase,subProcessTag,waitMode,basePriority,pagePriority,ioPriority,threadFlags};},decodeCSwitchFields(header,decoder){if(header.version!==2){throw new Error('Incompatible Thread event version.');} 4818const newThreadId=decoder.decodeUInt32();const oldThreadId=decoder.decodeUInt32();const newThreadPriority=decoder.decodeInt8();const oldThreadPriority=decoder.decodeInt8();const previousCState=decoder.decodeUInt8();const spareByte=decoder.decodeInt8();const oldThreadWaitReason=decoder.decodeInt8();const oldThreadWaitMode=decoder.decodeInt8();const oldThreadState=decoder.decodeInt8();const oldThreadWaitIdealProcessor=decoder.decodeInt8();const newThreadWaitTime=decoder.decodeUInt32();const reserved=decoder.decodeUInt32();return{newThreadId,oldThreadId,newThreadPriority,oldThreadPriority,previousCState,spareByte,oldThreadWaitReason,oldThreadWaitMode,oldThreadState,oldThreadWaitIdealProcessor,newThreadWaitTime,reserved};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeCSwitch(header,decoder){const fields=this.decodeCSwitchFields(header,decoder);const cpu=this.importer.getOrCreateCpu(header.cpu);const newThread=this.importer.getThreadFromWindowsTid(fields.newThreadId);let newThreadName;if(newThread&&newThread.userFriendlyName){newThreadName=newThread.userFriendlyName;}else{const newProcessId=this.importer.getPidFromWindowsTid(fields.newThreadId);const newProcess=this.model.getProcess(newProcessId);let newProcessName;if(newProcess){newProcessName=newProcess.name;}else{newProcessName='Unknown process';} 4819newThreadName=newProcessName+' (tid '+fields.newThreadId+')';} 4820cpu.switchActiveThread(header.timestamp,{},fields.newThreadId,newThreadName,fields);return true;}};Parser.register(ThreadParser);return{ThreadParser,};});'use strict';tr.exportTo('tr.b',function(){function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return Math.max(a,b);} 4821function IntervalTree(beginPositionCb,endPositionCb){this.beginPositionCb_=beginPositionCb;this.endPositionCb_=endPositionCb;this.root_=undefined;this.size_=0;} 4822IntervalTree.prototype={insert(datum){const startPosition=this.beginPositionCb_(datum);const endPosition=this.endPositionCb_(datum);const node=new IntervalTreeNode(datum,startPosition,endPosition);this.size_++;this.root_=this.insertNode_(this.root_,node);this.root_.colour=Colour.BLACK;return datum;},insertNode_(root,node){if(root===undefined)return node;if(root.leftNode&&root.leftNode.isRed&&root.rightNode&&root.rightNode.isRed){this.flipNodeColour_(root);} 4823if(node.key<root.key){root.leftNode=this.insertNode_(root.leftNode,node);}else if(node.key===root.key){root.merge(node);}else{root.rightNode=this.insertNode_(root.rightNode,node);} 4824if(root.rightNode&&root.rightNode.isRed&&(root.leftNode===undefined||!root.leftNode.isRed)){root=this.rotateLeft_(root);} 4825if(root.leftNode&&root.leftNode.isRed&&root.leftNode.leftNode&&root.leftNode.leftNode.isRed){root=this.rotateRight_(root);} 4826return root;},rotateRight_(node){const sibling=node.leftNode;node.leftNode=sibling.rightNode;sibling.rightNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},rotateLeft_(node){const sibling=node.rightNode;node.rightNode=sibling.leftNode;sibling.leftNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},flipNodeColour_(node){node.colour=this.flipColour_(node.colour);node.leftNode.colour=this.flipColour_(node.leftNode.colour);node.rightNode.colour=this.flipColour_(node.rightNode.colour);},flipColour_(colour){return colour===Colour.RED?Colour.BLACK:Colour.RED;},updateHighValues(){this.updateHighValues_(this.root_);},updateHighValues_(node){if(node===undefined)return undefined;node.maxHighLeft=this.updateHighValues_(node.leftNode);node.maxHighRight=this.updateHighValues_(node.rightNode);return max(max(node.maxHighLeft,node.highValue),node.maxHighRight);},validateFindArguments_(queryLow,queryHigh){if(queryLow===undefined||queryHigh===undefined){throw new Error('queryLow and queryHigh must be defined');} 4827if((typeof queryLow!=='number')||(typeof queryHigh!=='number')){throw new Error('queryLow and queryHigh must be numbers');}},findIntersection(queryLow,queryHigh){this.validateFindArguments_(queryLow,queryHigh);if(this.root_===undefined)return[];const ret=[];this.root_.appendIntersectionsInto_(ret,queryLow,queryHigh);return ret;},get size(){return this.size_;},get root(){return this.root_;},dump_(){if(this.root_===undefined)return[];return this.root_.dump();}};const Colour={RED:'red',BLACK:'black'};function IntervalTreeNode(datum,lowValue,highValue){this.lowValue_=lowValue;this.data_=[{datum,high:highValue,low:lowValue}];this.colour_=Colour.RED;this.parentNode_=undefined;this.leftNode_=undefined;this.rightNode_=undefined;this.maxHighLeft_=undefined;this.maxHighRight_=undefined;} 4828IntervalTreeNode.prototype={appendIntersectionsInto_(ret,queryLow,queryHigh){if(this.lowValue_>=queryHigh){if(!this.leftNode_)return;return this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);} 4829if(this.maxHighLeft_>queryLow){this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);} 4830if(this.highValue>queryLow){for(let i=(this.data.length-1);i>=0;--i){if(this.data[i].high<queryLow)break;ret.push(this.data[i].datum);}} 4831if(this.rightNode_){this.rightNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}},get colour(){return this.colour_;},set colour(colour){this.colour_=colour;},get key(){return this.lowValue_;},get lowValue(){return this.lowValue_;},get highValue(){return this.data_[this.data_.length-1].high;},set leftNode(left){this.leftNode_=left;},get leftNode(){return this.leftNode_;},get hasLeftNode(){return this.leftNode_!==undefined;},set rightNode(right){this.rightNode_=right;},get rightNode(){return this.rightNode_;},get hasRightNode(){return this.rightNode_!==undefined;},set parentNode(parent){this.parentNode_=parent;},get parentNode(){return this.parentNode_;},get isRootNode(){return this.parentNode_===undefined;},set maxHighLeft(high){this.maxHighLeft_=high;},get maxHighLeft(){return this.maxHighLeft_;},set maxHighRight(high){this.maxHighRight_=high;},get maxHighRight(){return this.maxHighRight_;},get data(){return this.data_;},get isRed(){return this.colour_===Colour.RED;},merge(node){for(let i=0;i<node.data.length;i++){this.data_.push(node.data[i]);} 4832this.data_.sort(function(a,b){return a.high-b.high;});},dump(){const ret={};if(this.leftNode_){ret.left=this.leftNode_.dump();} 4833ret.data=this.data_.map(function(d){return[d.low,d.high];});if(this.rightNode_){ret.right=this.rightNode_.dump();} 4834return ret;}};return{IntervalTree,};});'use strict';tr.exportTo('tr.b.math',function(){const tmpVec2s=[];for(let i=0;i<8;i++){tmpVec2s[i]=vec2.create();} 4835const tmpVec2a=vec4.create();const tmpVec4a=vec4.create();const tmpVec4b=vec4.create();const tmpMat4=mat4.create();const tmpMat4b=mat4.create();const p00=vec2.createXY(0,0);const p10=vec2.createXY(1,0);const p01=vec2.createXY(0,1);const p11=vec2.createXY(1,1);const lerpingVecA=vec2.create();const lerpingVecB=vec2.create();function lerpVec2(out,a,b,amt){vec2.scale(lerpingVecA,a,amt);vec2.scale(lerpingVecB,b,1-amt);vec2.add(out,lerpingVecA,lerpingVecB);vec2.normalize(out,out);return out;} 4836function Quad(){this.p1=vec2.create();this.p2=vec2.create();this.p3=vec2.create();this.p4=vec2.create();} 4837Quad.fromXYWH=function(x,y,w,h){const q=new Quad();vec2.set(q.p1,x,y);vec2.set(q.p2,x+w,y);vec2.set(q.p3,x+w,y+h);vec2.set(q.p4,x,y+h);return q;};Quad.fromRect=function(r){return new Quad.fromXYWH(r.x,r.y,r.width,r.height);};Quad.from4Vecs=function(p1,p2,p3,p4){const q=new Quad();vec2.set(q.p1,p1[0],p1[1]);vec2.set(q.p2,p2[0],p2[1]);vec2.set(q.p3,p3[0],p3[1]);vec2.set(q.p4,p4[0],p4[1]);return q;};Quad.from8Array=function(arr){if(arr.length!==8){throw new Error('Array must be 8 long');} 4838const q=new Quad();q.p1[0]=arr[0];q.p1[1]=arr[1];q.p2[0]=arr[2];q.p2[1]=arr[3];q.p3[0]=arr[4];q.p3[1]=arr[5];q.p4[0]=arr[6];q.p4[1]=arr[7];return q;};Quad.prototype={pointInside(point){return pointInImplicitQuad(point,this.p1,this.p2,this.p3,this.p4);},boundingRect(){const x0=Math.min(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y0=Math.min(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);const x1=Math.max(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y1=Math.max(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);return new tr.b.math.Rect.fromXYWH(x0,y0,x1-x0,y1-y0);},clone(){const q=new Quad();vec2.copy(q.p1,this.p1);vec2.copy(q.p2,this.p2);vec2.copy(q.p3,this.p3);vec2.copy(q.p4,this.p4);return q;},scale(s){const q=new Quad();this.scaleFast(q,s);return q;},scaleFast(dstQuad,s){vec2.copy(dstQuad.p1,this.p1,s);vec2.copy(dstQuad.p2,this.p2,s);vec2.copy(dstQuad.p3,this.p3,s);vec2.copy(dstQuad.p3,this.p3,s);},isRectangle(){const bounds=this.boundingRect();return(bounds.x===this.p1[0]&&bounds.y===this.p1[1]&&bounds.width===this.p2[0]-this.p1[0]&&bounds.y===this.p2[1]&&bounds.width===this.p3[0]-this.p1[0]&&bounds.height===this.p3[1]-this.p2[1]&&bounds.x===this.p4[0]&&bounds.height===this.p4[1]-this.p2[1]);},projectUnitRect(rect){const q=new Quad();this.projectUnitRectFast(q,rect);return q;},projectUnitRectFast(dstQuad,rect){const v12=tmpVec2s[0];const v14=tmpVec2s[1];const v23=tmpVec2s[2];const v43=tmpVec2s[3];vec2.sub(v12,this.p2,this.p1);const l12=vec2.length(v12);vec2.scale(v12,v12,1/l12);vec2.sub(v14,this.p4,this.p1);const l14=vec2.length(v14);vec2.scale(v14,v14,1/l14);vec2.sub(v23,this.p3,this.p2);const l23=vec2.length(v23);vec2.scale(v23,v23,1/l23);vec2.sub(v43,this.p3,this.p4);const l43=vec2.length(v43);vec2.scale(v43,v43,1/l43);const b12=tmpVec2s[0];const b14=tmpVec2s[1];const b23=tmpVec2s[2];const b43=tmpVec2s[3];lerpVec2(b12,v12,v43,rect.y);lerpVec2(b43,v12,v43,1-rect.bottom);lerpVec2(b14,v14,v23,rect.x);lerpVec2(b23,v14,v23,1-rect.right);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*rect.x,b14,l14*rect.y);vec2.add(dstQuad.p1,this.p1,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*-(1.0-rect.right),b23,l23*rect.y);vec2.add(dstQuad.p2,this.p2,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*-(1.0-rect.right),b23,l23*-(1.0-rect.bottom));vec2.add(dstQuad.p3,this.p3,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*rect.left,b14,l14*-(1.0-rect.bottom));vec2.add(dstQuad.p4,this.p4,tmpVec2a);},toString(){return'Quad('+ 4839vec2.toString(this.p1)+', '+ 4840vec2.toString(this.p2)+', '+ 4841vec2.toString(this.p3)+', '+ 4842vec2.toString(this.p4)+')';}};function sign(p1,p2,p3){return(p1[0]-p3[0])*(p2[1]-p3[1])- 4843(p2[0]-p3[0])*(p1[1]-p3[1]);} 4844function pointInTriangle2(pt,p1,p2,p3){const b1=sign(pt,p1,p2)<0.0;const b2=sign(pt,p2,p3)<0.0;const b3=sign(pt,p3,p1)<0.0;return((b1===b2)&&(b2===b3));} 4845function pointInImplicitQuad(point,p1,p2,p3,p4){return pointInTriangle2(point,p1,p2,p3)||pointInTriangle2(point,p1,p3,p4);} 4846return{pointInTriangle2,pointInImplicitQuad,Quad,};});'use strict';tr.exportTo('tr.b',function(){function addSingletonGetter(ctor){ctor.getInstance=function(){return ctor.instance_||(ctor.instance_=new ctor());};} 4847function deepCopy(value){if(!(value instanceof Object)){if(value===undefined||value===null)return value;if(typeof value==='string')return value.substring();if(typeof value==='boolean')return value;if(typeof value==='number')return value;throw new Error('Unrecognized: '+typeof value);} 4848const object=value;if(object instanceof Array){const res=new Array(object.length);for(let i=0;i<object.length;i++){res[i]=deepCopy(object[i]);} 4849return res;} 4850if(object.__proto__!==Object.prototype){throw new Error('Can only clone simple types');} 4851const res={};for(const key in object){res[key]=deepCopy(object[key]);} 4852return res;} 4853function normalizeException(e){if(e===undefined||e===null){return{typeName:'UndefinedError',message:'Unknown: null or undefined exception',stack:'Unknown'};} 4854if(typeof(e)==='string'){return{typeName:'StringError',message:e,stack:[e]};} 4855let typeName;if(e.name){typeName=e.name;}else if(e.constructor){if(e.constructor.name){typeName=e.constructor.name;}else{typeName='AnonymousError';}}else{typeName='ErrorWithNoConstructor';} 4856const msg=e.message?e.message:'Unknown';return{typeName,message:msg,stack:e.stack?e.stack:[msg]};} 4857function stackTraceAsString(){return new Error().stack+'';} 4858function stackTrace(){let stack=stackTraceAsString();stack=stack.split('\n');return stack.slice(2);} 4859function getUsingPath(path,fromDict){const parts=path.split('.');let cur=fromDict;for(let part;parts.length&&(part=parts.shift());){if(!parts.length){return cur[part];}else if(part in cur){cur=cur[part];}else{return undefined;}} 4860return undefined;} 4861function formatDate(date){return date.toISOString().replace('T',' ').slice(0,19);} 4862function numberToJson(n){if(isNaN(n))return'NaN';if(n===Infinity)return'Infinity';if(n===-Infinity)return'-Infinity';return n;} 4863function numberFromJson(n){if(n==='NaN'||n===null)return NaN;if(n==='Infinity')return Infinity;if(n==='-Infinity')return-Infinity;return n;} 4864function runLengthEncoding(ary){const encodedArray=[];for(const element of ary){if(encodedArray.length===0||encodedArray[encodedArray.length-1].value!==element){encodedArray.push({value:element,count:1,});}else{encodedArray[encodedArray.length-1].count+=1;}} 4865return encodedArray;} 4866return{addSingletonGetter,deepCopy,normalizeException,stackTrace,stackTraceAsString,formatDate,numberToJson,numberFromJson,getUsingPath,runLengthEncoding,};});'use strict';tr.exportTo('tr.b',function(){const ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS=10;const REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS=100;const recordRAFStacks=false;let pendingPreAFs=[];let pendingRAFs=[];const pendingIdleCallbacks=[];let currentRAFDispatchList=undefined;let rafScheduled=false;let idleWorkScheduled=false;function scheduleRAF(){if(rafScheduled)return;rafScheduled=true;if(tr.isHeadless){Promise.resolve().then(function(){processRequests(false,0);},function(e){throw e;});}else{if(window.requestAnimationFrame){window.requestAnimationFrame(processRequests.bind(this,false));}else{const delta=Date.now()-window.performance.now();window.webkitRequestAnimationFrame(function(domTimeStamp){processRequests(false,domTimeStamp-delta);});}}} 4867function nativeRequestIdleCallbackSupported(){return!tr.isHeadless&&window.requestIdleCallback;} 4868function scheduleIdleWork(){if(idleWorkScheduled)return;if(!nativeRequestIdleCallbackSupported()){scheduleRAF();return;} 4869idleWorkScheduled=true;window.requestIdleCallback(function(deadline,didTimeout){processIdleWork(false,deadline);},{timeout:REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS});} 4870function onAnimationFrameError(e,opt_stack){console.log(e.stack);if(tr.isHeadless)throw e;if(opt_stack)console.log(opt_stack);if(e.message){console.error(e.message,e.stack);}else{console.error(e);}} 4871function runTask(task,frameBeginTime){try{task.callback.call(task.context,frameBeginTime);}catch(e){tr.b.onAnimationFrameError(e,task.stack);}} 4872function processRequests(forceAllTasksToRun,frameBeginTime){rafScheduled=false;const currentPreAFs=pendingPreAFs;currentRAFDispatchList=pendingRAFs;pendingPreAFs=[];pendingRAFs=[];const hasRAFTasks=currentPreAFs.length||currentRAFDispatchList.length;for(let i=0;i<currentPreAFs.length;i++){runTask(currentPreAFs[i],frameBeginTime);} 4873while(currentRAFDispatchList.length>0){runTask(currentRAFDispatchList.shift(),frameBeginTime);} 4874currentRAFDispatchList=undefined;if((!hasRAFTasks&&!nativeRequestIdleCallbackSupported())||forceAllTasksToRun){const rafCompletionDeadline=frameBeginTime+ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS;processIdleWork(forceAllTasksToRun,{timeRemaining(){return rafCompletionDeadline-window.performance.now();}});} 4875if(pendingIdleCallbacks.length>0)scheduleIdleWork();} 4876function processIdleWork(forceAllTasksToRun,deadline){idleWorkScheduled=false;while(pendingIdleCallbacks.length>0){runTask(pendingIdleCallbacks.shift());if(!forceAllTasksToRun&&(tr.isHeadless||deadline.timeRemaining()<=0)){break;}} 4877if(pendingIdleCallbacks.length>0)scheduleIdleWork();} 4878function getStack_(){if(!recordRAFStacks)return'';const stackLines=tr.b.stackTrace();stackLines.shift();return stackLines.join('\n');} 4879function requestPreAnimationFrame(callback,opt_this){pendingPreAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();} 4880function requestAnimationFrameInThisFrameIfPossible(callback,opt_this){if(!currentRAFDispatchList){requestAnimationFrame(callback,opt_this);return;} 4881currentRAFDispatchList.push({callback,context:opt_this||global,stack:getStack_()});return;} 4882function requestAnimationFrame(callback,opt_this){pendingRAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();} 4883function animationFrame(){return new Promise(resolve=>requestAnimationFrame(resolve));} 4884function requestIdleCallback(callback,opt_this){pendingIdleCallbacks.push({callback,context:opt_this||global,stack:getStack_()});scheduleIdleWork();} 4885function forcePendingRAFTasksToRun(frameBeginTime){if(!rafScheduled)return;processRequests(false,frameBeginTime);} 4886function forceAllPendingTasksToRunForTest(){if(!rafScheduled&&!idleWorkScheduled)return;processRequests(true,0);} 4887function timeout(ms){return new Promise(resolve=>window.setTimeout(resolve,ms));} 4888function idle(){return new Promise(resolve=>requestIdleCallback(resolve));} 4889return{animationFrame,forceAllPendingTasksToRunForTest,forcePendingRAFTasksToRun,idle,onAnimationFrameError,requestAnimationFrame,requestAnimationFrameInThisFrameIfPossible,requestIdleCallback,requestPreAnimationFrame,timeout,};});'use strict';tr.exportTo('tr.b',function(){class Mark{constructor(groupName,functionName){if(tr.isHeadless)return;this.groupName_=groupName;this.functionName_=functionName;const guid=tr.b.GUID.allocateSimple();this.measureName_=`${groupName} ${functionName}`;this.startMarkName_=`${this.measureName} ${guid} start`;this.endMarkName_=`${this.measureName} ${guid} end`;window.performance.mark(this.startMarkName_);} 4890get groupName(){return this.groupName_;} 4891get functionName(){return this.functionName_;} 4892get measureName(){return this.measureName_;} 4893get startMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.startMarkName_));} 4894get endMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.endMarkName_));} 4895get durationMs(){return this.endMark.startTime-this.startMark.startTime;} 4896end(){if(tr.isHeadless)return;window.performance.mark(this.endMarkName_);window.performance.measure(this.measureName_,this.startMarkName_,this.endMarkName_);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:this.groupName,eventAction:this.functionName,eventValue:this.durationMs,});}} 4897class Timing{static mark(groupName,functionName){return new Mark(groupName,functionName);} 4898static instant(groupName,functionName,opt_value){const valueString=opt_value===undefined?'':' '+opt_value;console.timeStamp(`${groupName} ${functionName}${valueString}`);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:groupName,eventAction:functionName,eventValue:opt_value,});}} 4899return{Timing,};});'use strict';tr.exportTo('tr.b',function(){const Timing=tr.b.Timing;function Task(runCb,thisArg){if(runCb!==undefined&&thisArg===undefined&&runCb.prototype!==undefined){throw new Error('Almost certainly you meant to pass a bound callback '+'or thisArg.');} 4900this.runCb_=runCb;this.thisArg_=thisArg;this.afterTask_=undefined;this.subTasks_=[];this.updatesUi_=false;} 4901Task.prototype={get name(){return this.runCb_.name;},set updatesUi(value){this.updatesUi_=value;},subTask(cb,thisArg){if(cb instanceof Task){this.subTasks_.push(cb);}else{this.subTasks_.push(new Task(cb,thisArg));} 4902return this.subTasks_[this.subTasks_.length-1];},run(){if(this.runCb_!==undefined)this.runCb_.call(this.thisArg_,this);const subTasks=this.subTasks_;this.subTasks_=undefined;if(!subTasks.length)return this.afterTask_;for(let i=1;i<subTasks.length;i++){subTasks[i-1].afterTask_=subTasks[i];} 4903subTasks[subTasks.length-1].afterTask_=this.afterTask_;return subTasks[0];},after(cb,thisArg){if(this.afterTask_){throw new Error('Has an after task already');} 4904if(cb instanceof Task){this.afterTask_=cb;}else{this.afterTask_=new Task(cb,thisArg);} 4905return this.afterTask_;},enqueue(cb,thisArg){if(!this.afterTask_)return this.after(cb,thisArg);return this.afterTask_.enqueue(cb,thisArg);}};Task.RunSynchronously=function(task){let curTask=task;while(curTask){curTask=curTask.run();}};Task.RunWhenIdle=function(task){return new Promise(function(resolve,reject){let curTask=task;function runAnother(){try{curTask=curTask.run();}catch(e){reject(e);return;} 4906if(curTask){if(curTask.updatesUi_){tr.b.requestAnimationFrameInThisFrameIfPossible(runAnother);}else{tr.b.requestIdleCallback(runAnother);} 4907return;} 4908resolve();} 4909tr.b.requestIdleCallback(runAnother);});};return{Task,};});'use strict';tr.exportTo('tr.c',function(){function makeCaseInsensitiveRegex(pattern){pattern=pattern.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');return new RegExp(pattern,'i');} 4910function Filter(){} 4911Filter.prototype={__proto__:Object.prototype,matchCounter(counter){return true;},matchCpu(cpu){return true;},matchProcess(process){return true;},matchSlice(slice){return true;},matchThread(thread){return true;}};function TitleOrCategoryFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);if(!text.length){throw new Error('Filter text is empty.');}} 4912TitleOrCategoryFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){if(slice.title===undefined&&slice.category===undefined){return false;} 4913return this.regex_.test(slice.title)||(!!slice.category&&this.regex_.test(slice.category));}};function ExactTitleFilter(text){Filter.call(this);this.text_=text;if(!text.length){throw new Error('Filter text is empty.');}} 4914ExactTitleFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){return slice.title===this.text_;}};function FullTextFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);this.titleOrCategoryFilter_=new TitleOrCategoryFilter(text);} 4915FullTextFilter.prototype={__proto__:Filter.prototype,matchObject_(obj){for(const key in obj){if(!obj.hasOwnProperty(key))continue;if(this.regex_.test(key))return true;if(this.regex_.test(obj[key]))return true;} 4916return false;},matchSlice(slice){if(this.titleOrCategoryFilter_.matchSlice(slice))return true;return this.matchObject_(slice.args);}};return{Filter,TitleOrCategoryFilter,ExactTitleFilter,FullTextFilter,};});'use strict';tr.exportTo('tr.model',function(){const ClockDomainId={BATTOR:'BATTOR',UNKNOWN_CHROME_LEGACY:'UNKNOWN_CHROME_LEGACY',LINUX_CLOCK_MONOTONIC:'LINUX_CLOCK_MONOTONIC',LINUX_FTRACE_GLOBAL:'LINUX_FTRACE_GLOBAL',MAC_MACH_ABSOLUTE_TIME:'MAC_MACH_ABSOLUTE_TIME',WIN_ROLLOVER_PROTECTED_TIME_GET_TIME:'WIN_ROLLOVER_PROTECTED_TIME_GET_TIME',WIN_QPC:'WIN_QPC',SYSTRACE:'SYSTRACE',TELEMETRY:'TELEMETRY'};const POSSIBLE_CHROME_CLOCK_DOMAINS=new Set([ClockDomainId.UNKNOWN_CHROME_LEGACY,ClockDomainId.LINUX_CLOCK_MONOTONIC,ClockDomainId.MAC_MACH_ABSOLUTE_TIME,ClockDomainId.WIN_ROLLOVER_PROTECTED_TIME_GET_TIME,ClockDomainId.WIN_QPC]);const BATTOR_FAST_SYNC_THRESHOLD_MS=3;function ClockSyncManager(){this.domainsSeen_=new Set();this.markersBySyncId_=new Map();this.transformerMapByDomainId_={};} 4917ClockSyncManager.prototype={addClockSyncMarker(domainId,syncId,startTs,opt_endTs){this.onDomainSeen_(domainId);if(Object.values(ClockDomainId).indexOf(domainId)<0){throw new Error('"'+domainId+'" is not in the list of known '+'clock domain IDs.');} 4918if(this.modelDomainId_){throw new Error('Cannot add new clock sync markers after getting '+'a model time transformer.');} 4919const marker=new ClockSyncMarker(domainId,startTs,opt_endTs);if(!this.markersBySyncId_.has(syncId)){this.markersBySyncId_.set(syncId,[marker]);return;} 4920const markers=this.markersBySyncId_.get(syncId);if(markers.length===2){throw new Error('Clock sync with ID "'+syncId+'" is already '+'complete - cannot add a third clock sync marker to it.');} 4921if(markers[0].domainId===domainId){throw new Error('A clock domain cannot sync with itself.');} 4922markers.push(marker);this.onSyncCompleted_(markers[0],marker);},get markersBySyncId(){return this.markersBySyncId_;},get domainsSeen(){return this.domainsSeen_;},getModelTimeTransformer(domainId){this.onDomainSeen_(domainId);if(!this.modelDomainId_){this.selectModelDomainId_();} 4923return this.getTimeTransformerRaw_(domainId,this.modelDomainId_).fn;},getTimeTransformerError(fromDomainId,toDomainId){this.onDomainSeen_(fromDomainId);this.onDomainSeen_(toDomainId);return this.getTimeTransformerRaw_(fromDomainId,toDomainId).error;},getTimeTransformerRaw_(fromDomainId,toDomainId){const transformer=this.getTransformerBetween_(fromDomainId,toDomainId);if(!transformer){throw new Error('No clock sync markers exist pairing clock domain "'+ 4924fromDomainId+'" '+'with target clock domain "'+ 4925toDomainId+'".');} 4926return transformer;},getTransformerBetween_(fromDomainId,toDomainId){const visitedDomainIds=new Set();const queue=[{domainId:fromDomainId,transformer:Transformer.IDENTITY}];while(queue.length>0){queue.sort((domain1,domain2)=>domain1.transformer.error-domain2.transformer.error);const current=queue.shift();if(current.domainId===toDomainId){return current.transformer;} 4927if(visitedDomainIds.has(current.domainId)){continue;} 4928visitedDomainIds.add(current.domainId);const outgoingTransformers=this.transformerMapByDomainId_[current.domainId];if(!outgoingTransformers)continue;for(const outgoingDomainId in outgoingTransformers){const toNextDomainTransformer=outgoingTransformers[outgoingDomainId];const toCurrentDomainTransformer=current.transformer;queue.push({domainId:outgoingDomainId,transformer:Transformer.compose(toNextDomainTransformer,toCurrentDomainTransformer)});}} 4929return undefined;},selectModelDomainId_(){this.ensureAllDomainsAreConnected_();for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(this.domainsSeen_.has(chromeDomainId)){this.modelDomainId_=chromeDomainId;return;}} 4930const domainsSeenArray=Array.from(this.domainsSeen_);domainsSeenArray.sort();this.modelDomainId_=domainsSeenArray[0];},ensureAllDomainsAreConnected_(){let firstDomainId=undefined;for(const domainId of this.domainsSeen_){if(!firstDomainId){firstDomainId=domainId;continue;} 4931if(!this.getTransformerBetween_(firstDomainId,domainId)){throw new Error('Unable to select a primary clock domain because no '+'path can be found from "'+firstDomainId+'" to "'+domainId+'".');}} 4932return true;},onDomainSeen_(domainId){if(domainId===ClockDomainId.UNKNOWN_CHROME_LEGACY&&!this.domainsSeen_.has(ClockDomainId.UNKNOWN_CHROME_LEGACY)){for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(chromeDomainId===ClockDomainId.UNKNOWN_CHROME_LEGACY){continue;} 4933this.collapseDomains_(ClockDomainId.UNKNOWN_CHROME_LEGACY,chromeDomainId);}} 4934this.domainsSeen_.add(domainId);},onSyncCompleted_(marker1,marker2){const forwardTransformer=Transformer.fromMarkers(marker1,marker2);const backwardTransformer=Transformer.fromMarkers(marker2,marker1);const existingTransformer=this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId];if(!existingTransformer||forwardTransformer.error<existingTransformer.error){this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId]=forwardTransformer;this.getOrCreateTransformerMap_(marker2.domainId)[marker1.domainId]=backwardTransformer;}},collapseDomains_(domain1Id,domain2Id){this.getOrCreateTransformerMap_(domain1Id)[domain2Id]=this.getOrCreateTransformerMap_(domain2Id)[domain1Id]=Transformer.IDENTITY;},getOrCreateTransformerMap_(domainId){if(!this.transformerMapByDomainId_[domainId]){this.transformerMapByDomainId_[domainId]={};} 4935return this.transformerMapByDomainId_[domainId];},computeDotGraph(){let dotString='graph {\n';const domainsSeen=[...this.domainsSeen_].sort();for(const domainId of domainsSeen){dotString+=` ${domainId}[shape=box]\n`;} 4936const markersBySyncIdEntries=[...this.markersBySyncId_.entries()].sort(([syncId1,markers1],[syncId2,markers2])=>syncId1.localeCompare(syncId2));for(const[syncId,markers]of markersBySyncIdEntries){const sortedMarkers=markers.sort((a,b)=>a.domainId.localeCompare(b.domainId));for(const m of markers){dotString+=` "${syncId}" -- ${m.domainId} `;dotString+=`[label="[${m.startTs}, ${m.endTs}]"]\n`;}} 4937dotString+='}';return dotString;}};function ClockSyncMarker(domainId,startTs,opt_endTs){this.domainId=domainId;this.startTs=startTs;this.endTs=opt_endTs===undefined?startTs:opt_endTs;} 4938ClockSyncMarker.prototype={get duration(){return this.endTs-this.startTs;},get ts(){return this.startTs+this.duration/2;}};function Transformer(fn,error){this.fn=fn;this.error=error;} 4939Transformer.IDENTITY=new Transformer(tr.b.identity,0);Transformer.compose=function(aToB,bToC){return new Transformer((ts)=>bToC.fn(aToB.fn(ts)),aToB.error+bToC.error);};Transformer.fromMarkers=function(fromMarker,toMarker){let fromTs=fromMarker.ts;let toTs=toMarker.ts;if(fromMarker.domainId===ClockDomainId.BATTOR&&toMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){toTs=toMarker.startTs;}else if(toMarker.domainId===ClockDomainId.BATTOR&&fromMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){fromTs=fromMarker.startTs;} 4940const tsShift=toTs-fromTs;return new Transformer((ts)=>ts+tsShift,fromMarker.duration+toMarker.duration);};return{ClockDomainId,ClockSyncManager,};});'use strict';tr.exportTo('tr.model',function(){function CounterSample(series,timestamp,value){tr.model.Event.call(this);this.series_=series;this.timestamp_=timestamp;this.value_=value;} 4941CounterSample.groupByTimestamp=function(samples){const samplesByTimestamp=tr.b.groupIntoMap(samples,s=>s.timestamp);const timestamps=Array.from(samplesByTimestamp.keys());timestamps.sort();const groups=[];for(const ts of timestamps){const group=samplesByTimestamp.get(ts);group.sort((x,y)=>x.series.seriesIndex-y.series.seriesIndex);groups.push(group);} 4942return groups;};CounterSample.prototype={__proto__:tr.model.Event.prototype,get series(){return this.series_;},get timestamp(){return this.timestamp_;},get value(){return this.value_;},set timestamp(timestamp){this.timestamp_=timestamp;},addBoundsToRange(range){range.addValue(this.timestamp);},getSampleIndex(){return tr.b.math.findLowIndexInSortedArray(this.series.timestamps,function(x){return x;},this.timestamp_);},get userFriendlyName(){return'Counter sample from '+this.series_.title+' at '+ 4943tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(CounterSample,{name:'counterSample',pluralName:'counterSamples'});return{CounterSample,};});'use strict';tr.exportTo('tr.model',function(){const CounterSample=tr.model.CounterSample;function CounterSeries(name,color){tr.model.EventContainer.call(this);this.name_=name;this.color_=color;this.timestamps_=[];this.samples_=[];this.counter=undefined;this.seriesIndex=undefined;} 4944CounterSeries.prototype={__proto__:tr.model.EventContainer.prototype,get length(){return this.timestamps_.length;},get name(){return this.name_;},get color(){return this.color_;},get samples(){return this.samples_;},get timestamps(){return this.timestamps_;},getSample(idx){return this.samples_[idx];},getTimestamp(idx){return this.timestamps_[idx];},addCounterSample(ts,val){const sample=new CounterSample(this,ts,val);this.addSample(sample);return sample;},addSample(sample){this.timestamps_.push(sample.timestamp);this.samples_.push(sample);},getStatistics(sampleIndices){let sum=0;let min=Number.MAX_VALUE;let max=-Number.MAX_VALUE;for(let i=0;i<sampleIndices.length;++i){const sample=this.getSample(sampleIndices[i]).value;sum+=sample;min=Math.min(sample,min);max=Math.max(sample,max);} 4945return{min,max,avg:(sum/sampleIndices.length),start:this.getSample(sampleIndices[0]).value,end:this.getSample(sampleIndices.length-1).value};},shiftTimestampsForward(amount){for(let i=0;i<this.timestamps_.length;++i){this.timestamps_[i]+=amount;this.samples_[i].timestamp=this.timestamps_[i];}},*childEvents(){yield*this.samples_;},*childEventContainers(){}};return{CounterSeries,};});'use strict';tr.exportTo('tr.model',function(){function Counter(parent,id,category,name){tr.model.EventContainer.call(this);this.parent_=parent;this.id_=id;this.category_=category||'';this.name_=name;this.series_=[];this.totals=[];} 4946Counter.prototype={__proto__:tr.model.EventContainer.prototype,get parent(){return this.parent_;},get id(){return this.id_;},get category(){return this.category_;},get name(){return this.name_;},*childEvents(){},*childEventContainers(){yield*this.series;},set timestamps(arg){throw new Error('Bad counter API. No cookie.');},set seriesNames(arg){throw new Error('Bad counter API. No cookie.');},set seriesColors(arg){throw new Error('Bad counter API. No cookie.');},set samples(arg){throw new Error('Bad counter API. No cookie.');},addSeries(series){series.counter=this;series.seriesIndex=this.series_.length;this.series_.push(series);return series;},getSeries(idx){return this.series_[idx];},get series(){return this.series_;},get numSeries(){return this.series_.length;},get numSamples(){if(this.series_.length===0)return 0;return this.series_[0].length;},get timestamps(){if(this.series_.length===0)return[];return this.series_[0].timestamps;},getSampleStatistics(sampleIndices){sampleIndices.sort();const ret=[];this.series_.forEach(function(series){ret.push(series.getStatistics(sampleIndices));});return ret;},shiftTimestampsForward(amount){for(let i=0;i<this.series_.length;++i){this.series_[i].shiftTimestampsForward(amount);}},updateBounds(){this.totals=[];this.maxTotal=0;this.bounds.reset();if(this.series_.length===0)return;const firstSeries=this.series_[0];const lastSeries=this.series_[this.series_.length-1];this.bounds.addValue(firstSeries.getTimestamp(0));this.bounds.addValue(lastSeries.getTimestamp(lastSeries.length-1));const numSeries=this.numSeries;this.maxTotal=-Infinity;for(let i=0;i<firstSeries.length;++i){let total=0;this.series_.forEach(function(series){total+=series.getSample(i).value;this.totals.push(total);}.bind(this));this.maxTotal=Math.max(total,this.maxTotal);}}};Counter.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp!==0)return tmp;tmp=x.name.localeCompare(y.name);if(tmp===0)return x.tid-y.tid;return tmp;};return{Counter,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function CpuSlice(cat,title,colorId,start,args,opt_duration){Slice.apply(this,arguments);this.threadThatWasRunning=undefined;this.cpu=undefined;} 4947CpuSlice.prototype={__proto__:Slice.prototype,get analysisTypeName(){return'tr.ui.analysis.CpuSlice';},getAssociatedTimeslice(){if(!this.threadThatWasRunning){return undefined;} 4948const timeSlices=this.threadThatWasRunning.timeSlices;for(let i=0;i<timeSlices.length;i++){const timeSlice=timeSlices[i];if(timeSlice.start!==this.start){continue;} 4949if(timeSlice.duration!==this.duration){continue;} 4950return timeSlice;} 4951return undefined;}};tr.model.EventRegistry.register(CpuSlice,{name:'cpuSlice',pluralName:'cpuSlices'});return{CpuSlice,};});'use strict';tr.exportTo('tr.model',function(){function TimeToObjectInstanceMap(createObjectInstanceFunction,parent,scopedId){this.createObjectInstanceFunction_=createObjectInstanceFunction;this.parent=parent;this.scopedId=scopedId;this.instances=[];} 4952TimeToObjectInstanceMap.prototype={idWasCreated(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));this.instances[0].creationTsWasExplicit=true;return this.instances[0];} 4953let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.deletionTs){throw new Error('Mutation of the TimeToObjectInstanceMap must be '+'done in ascending timestamp order.');} 4954lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);lastInstance.creationTsWasExplicit=true;this.instances.push(lastInstance);return lastInstance;},addSnapshot(category,name,ts,args,opt_baseTypeName){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName));} 4955const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);let instance;if(i<0){instance=this.instances[0];if(ts>instance.deletionTs||instance.creationTsWasExplicit){throw new Error('At the provided timestamp, no instance was still alive');} 4956if(instance.snapshots.length!==0){throw new Error('Cannot shift creationTs forward, '+'snapshots have been added. First snap was at ts='+ 4957instance.snapshots[0].ts+' and creationTs was '+ 4958instance.creationTs);} 4959instance.creationTs=ts;}else if(i>=this.instances.length){instance=this.instances[this.instances.length-1];if(ts>=instance.deletionTs){instance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName);this.instances.push(instance);}else{let lastValidIndex;for(let i=this.instances.length-1;i>=0;i--){const tmp=this.instances[i];if(ts>=tmp.deletionTs)break;if(tmp.creationTsWasExplicit===false&&tmp.snapshots.length===0){lastValidIndex=i;}} 4960if(lastValidIndex===undefined){throw new Error('Cannot add snapshot. No instance was alive that was mutable.');} 4961instance=this.instances[lastValidIndex];instance.creationTs=ts;}}else{instance=this.instances[i];} 4962return instance.addSnapshot(ts,args,name,opt_baseTypeName);},get lastInstance(){if(this.instances.length===0)return undefined;return this.instances[this.instances.length-1];},idWasDeleted(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));} 4963let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.creationTs){throw new Error('Cannot delete an id before it was created');} 4964if(lastInstance.deletionTs===Number.MAX_VALUE){lastInstance.wasDeleted(ts);return lastInstance;} 4965if(ts<lastInstance.deletionTs){throw new Error('id was already deleted earlier.');} 4966lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);this.instances.push(lastInstance);lastInstance.wasDeleted(ts);return lastInstance;},getInstanceAt(ts){const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);if(i<0){if(this.instances[0].creationTsWasExplicit){return undefined;} 4967return this.instances[0];}else if(i>=this.instances.length){return undefined;} 4968return this.instances[i];}};return{TimeToObjectInstanceMap,};});'use strict';tr.exportTo('tr.model',function(){const ObjectInstance=tr.model.ObjectInstance;const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectCollection(parent){tr.model.EventContainer.call(this);this.parent=parent;this.instanceMapsByScopedId_={};this.instancesByTypeName_={};this.createObjectInstance_=this.createObjectInstance_.bind(this);} 4969ObjectCollection.prototype={__proto__:tr.model.EventContainer.prototype,*childEvents(){for(const instance of this.getAllObjectInstances()){yield instance;yield*instance.snapshots;}},createObjectInstance_(parent,scopedId,category,name,creationTs,opt_baseTypeName){const constructor=tr.model.ObjectInstance.subTypes.getConstructor(category,name);const instance=new constructor(parent,scopedId,category,name,creationTs,opt_baseTypeName);const typeName=instance.typeName;let instancesOfTypeName=this.instancesByTypeName_[typeName];if(!instancesOfTypeName){instancesOfTypeName=[];this.instancesByTypeName_[typeName]=instancesOfTypeName;} 4970instancesOfTypeName.push(instance);return instance;},getOrCreateInstanceMap_(scopedId){let dict;if(scopedId.scope in this.instanceMapsByScopedId_){dict=this.instanceMapsByScopedId_[scopedId.scope];}else{dict={};this.instanceMapsByScopedId_[scopedId.scope]=dict;} 4971let instanceMap=dict[scopedId.id];if(instanceMap)return instanceMap;instanceMap=new tr.model.TimeToObjectInstanceMap(this.createObjectInstance_,this.parent,scopedId);dict[scopedId.id]=instanceMap;return instanceMap;},idWasCreated(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);return instanceMap.idWasCreated(category,name,ts);},addSnapshot(scopedId,category,name,ts,args,opt_baseTypeName){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const snapshot=instanceMap.addSnapshot(category,name,ts,args,opt_baseTypeName);if(snapshot.objectInstance.category!==category){const msg='Added snapshot name='+name+' with cat='+category+' impossible. It instance was created/snapshotted with cat='+ 4972snapshot.objectInstance.category+' name='+ 4973snapshot.objectInstance.name;throw new Error(msg);} 4974if(opt_baseTypeName&&snapshot.objectInstance.baseTypeName!==opt_baseTypeName){throw new Error('Could not add snapshot with baseTypeName='+ 4975opt_baseTypeName+'. It '+'was previously created with name='+ 4976snapshot.objectInstance.baseTypeName);} 4977if(snapshot.objectInstance.name!==name){throw new Error('Could not add snapshot with name='+name+'. It '+'was previously created with name='+ 4978snapshot.objectInstance.name);} 4979return snapshot;},idWasDeleted(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const deletedInstance=instanceMap.idWasDeleted(category,name,ts);if(!deletedInstance)return;if(deletedInstance.category!==category){const msg='Deleting object '+deletedInstance.name+' with a different category '+'than when it was created. It previous had cat='+ 4980deletedInstance.category+' but the delete command '+'had cat='+category;throw new Error(msg);} 4981if(deletedInstance.baseTypeName!==name){throw new Error('Deletion requested for name='+ 4982name+' could not proceed: '+'An existing object with baseTypeName='+ 4983deletedInstance.baseTypeName+' existed.');}},autoDeleteObjects(maxTimestamp){for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){const lastInstance=i2imap.lastInstance;if(lastInstance.deletionTs!==Number.MAX_VALUE)continue;i2imap.idWasDeleted(lastInstance.category,lastInstance.name,maxTimestamp);lastInstance.deletionTsWasExplicit=false;}}},getObjectInstanceAt(scopedId,ts){let instanceMap;if(scopedId.scope in this.instanceMapsByScopedId_){instanceMap=this.instanceMapsByScopedId_[scopedId.scope][scopedId.id];} 4984if(!instanceMap)return undefined;return instanceMap.getInstanceAt(ts);},getSnapshotAt(scopedId,ts){const instance=this.getObjectInstanceAt(scopedId,ts);if(!instance)return undefined;return instance.getSnapshotAt(ts);},iterObjectInstances(iter,opt_this){opt_this=opt_this||this;for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){i2imap.instances.forEach(iter,opt_this);}}},getAllObjectInstances(){const instances=[];this.iterObjectInstances(function(i){instances.push(i);});return instances;},getAllInstancesNamed(name){return this.instancesByTypeName_[name];},getAllInstancesByTypeName(){return this.instancesByTypeName_;},preInitializeAllObjects(){this.iterObjectInstances(function(instance){instance.preInitialize();});},initializeAllObjects(){this.iterObjectInstances(function(instance){instance.initialize();});},initializeInstances(){this.iterObjectInstances(function(instance){instance.initialize();});},updateBounds(){this.bounds.reset();this.iterObjectInstances(function(instance){instance.updateBounds();this.bounds.addRange(instance.bounds);},this);},shiftTimestampsForward(amount){this.iterObjectInstances(function(instance){instance.shiftTimestampsForward(amount);});},addCategoriesToDict(categoriesDict){this.iterObjectInstances(function(instance){categoriesDict[instance.category]=true;});}};return{ObjectCollection,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSliceGroup(parentContainer,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;this.slices=[];this.name_=opt_name;this.viewSubGroups_=undefined;} 4985AsyncSliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.parent.model;},get stableId(){return this.parentContainer_.stableId+'.AsyncSliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name_;},push(slice){slice.parentContainer=this.parentContainer;this.slices.push(slice);return slice;},get length(){return this.slices.length;},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);const shiftSubSlices=function(subSlices){if(subSlices===undefined||subSlices.length===0)return;for(let sJ=0;sJ<subSlices.length;sJ++){subSlices[sJ].start+=amount;shiftSubSlices(subSlices[sJ].subSlices);}};shiftSubSlices(slice.subSlices);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},get viewSubGroups(){if(this.viewSubGroups_===undefined){let prefix='';if(this.name!==undefined){prefix=this.name+'.';}else{prefix='';} 4986const subGroupsByTitle={};for(let i=0;i<this.slices.length;++i){const slice=this.slices[i];const subGroupTitle=slice.viewSubGroupTitle;if(!subGroupsByTitle[subGroupTitle]){subGroupsByTitle[subGroupTitle]=new AsyncSliceGroup(this.parentContainer_,prefix+subGroupTitle);} 4987subGroupsByTitle[subGroupTitle].push(slice);} 4988this.viewSubGroups_=Object.values(subGroupsByTitle);this.viewSubGroups_.sort(function(a,b){return a.slices[0].compareTo(b.slices[0]);});} 4989return this.viewSubGroups_;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const slice of this.slices){if(slice.isTopLevel){yield*slice.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}}},*childEvents(){for(const slice of this.slices){yield slice;if(slice.subSlices){yield*slice.subSlices;}}},*childEventContainers(){}};return{AsyncSliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function ThreadSlice(cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){Slice.call(this,cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId);this.subSlices=[];} 4990ThreadSlice.prototype={__proto__:Slice.prototype,get overlappingSamples(){const samples=new tr.model.EventSet();if(!this.parentContainer||!this.parentContainer.samples){return samples;} 4991this.parentContainer.samples.forEach(function(sample){if(this.start<=sample.start&&sample.start<=this.end){samples.push(sample);}},this);return samples;}};tr.model.EventRegistry.register(ThreadSlice,{name:'slice',pluralName:'slices'});return{ThreadSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const ThreadSlice=tr.model.ThreadSlice;function getSliceLo(s){return s.start;} 4992function getSliceHi(s){return s.end;} 4993function SliceGroup(parentContainer,opt_sliceConstructor,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;const sliceConstructor=opt_sliceConstructor||ThreadSlice;this.sliceConstructor=sliceConstructor;this.sliceConstructorSubTypes=this.sliceConstructor.subTypes;if(!this.sliceConstructorSubTypes){throw new Error('opt_sliceConstructor must have a subtype registry.');} 4994this.openPartialSlices_=[];this.slices=[];this.topLevelSlices=[];this.haveTopLevelSlicesBeenBuilt=false;this.name_=opt_name;if(this.model===undefined){throw new Error('SliceGroup must have model defined.');}} 4995SliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.model;},get stableId(){return this.parentContainer_.stableId+'.SliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},get length(){return this.slices.length;},pushSlice(slice){this.haveTopLevelSlicesBeenBuilt=false;slice.parentContainer=this.parentContainer_;this.slices.push(slice);return slice;},pushSlices(slices){this.haveTopLevelSlicesBeenBuilt=false;slices.forEach(function(slice){slice.parentContainer=this.parentContainer_;this.slices.push(slice);},this);},beginSlice(category,title,ts,opt_args,opt_tts,opt_argsStripped,opt_colorId){if(this.openPartialSlices_.length){const prevSlice=this.openPartialSlices_[this.openPartialSlices_.length-1];if(ts<prevSlice.start){throw new Error('Slices must be added in increasing timestamp order');}} 4996const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},null,opt_tts,undefined,opt_argsStripped);this.openPartialSlices_.push(slice);slice.didNotFinish=true;this.pushSlice(slice);return slice;},isTimestampValidForBeginOrEnd(ts){if(!this.openPartialSlices_.length)return true;const top=this.openPartialSlices_[this.openPartialSlices_.length-1];return ts>=top.start;},get openSliceCount(){return this.openPartialSlices_.length;},get mostRecentlyOpenedPartialSlice(){if(!this.openPartialSlices_.length)return undefined;return this.openPartialSlices_[this.openPartialSlices_.length-1];},endSlice(ts,opt_tts,opt_colorId){if(!this.openSliceCount){throw new Error('endSlice called without an open slice');} 4997const slice=this.openPartialSlices_[this.openSliceCount-1];this.openPartialSlices_.splice(this.openSliceCount-1,1);if(ts<slice.start){throw new Error('Slice '+slice.title+' end time is before its start.');} 4998slice.duration=ts-slice.start;slice.didNotFinish=false;slice.colorId=opt_colorId||slice.colorId;if(opt_tts&&slice.cpuStart!==undefined){slice.cpuDuration=opt_tts-slice.cpuStart;} 4999return slice;},pushCompleteSlice(category,title,ts,duration,tts,cpuDuration,opt_args,opt_argsStripped,opt_colorId,opt_bindId){const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},duration,tts,cpuDuration,opt_argsStripped,opt_bindId);if(duration===undefined){slice.didNotFinish=true;} 5000this.pushSlice(slice);return slice;},autoCloseOpenSlices(){this.updateBounds();const maxTimestamp=this.bounds.max;for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];if(slice.didNotFinish){slice.duration=maxTimestamp-slice.start;}} 5001this.openPartialSlices_=[];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},copySlice(slice){const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(slice.category,slice.title);const newSlice=new sliceType(slice.category,slice.title,slice.colorId,slice.start,slice.args,slice.duration,slice.cpuStart,slice.cpuDuration);newSlice.didNotFinish=slice.didNotFinish;return newSlice;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');} 5002for(const s of this.topLevelSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},*childEvents(){yield*this.slices;},*childEventContainers(){},getSlicesOfName(title){const slices=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].title===title){slices.push(this.slices[i]);}} 5003return slices;},iterSlicesInTimeRange(callback,start,end){const ret=[];tr.b.math.iterateOverIntersectingIntervals(this.topLevelSlices,function(s){return s.start;},function(s){return s.duration;},start,end,function(topLevelSlice){callback(topLevelSlice);for(const slice of topLevelSlice.enumerateAllDescendents()){callback(slice);}});return ret;},findFirstSlice(){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');} 5004if(0===this.slices.length)return undefined;return this.slices[0];},findSliceAtTs(ts){if(!this.haveTopLevelSlicesBeenBuilt)throw new Error('Nope');let i=tr.b.math.findIndexInSortedClosedIntervals(this.topLevelSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===this.topLevelSlices.length){return undefined;} 5005let curSlice=this.topLevelSlices[i];while(true){i=tr.b.math.findIndexInSortedClosedIntervals(curSlice.subSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===curSlice.subSlices.length){return curSlice;} 5006curSlice=curSlice.subSlices[i];}},findNextSliceAfter(ts,refGuid){let i=tr.b.math.findLowIndexInSortedArray(this.slices,getSliceLo,ts);if(i===this.slices.length){return undefined;} 5007for(;i<this.slices.length;i++){const slice=this.slices[i];if(slice.start>ts)return slice;if(slice.guid<=refGuid)continue;return slice;} 5008return undefined;},hasCpuDuration_(){if(this.slices.some(function(slice){return slice.cpuDuration!==undefined;}))return true;return false;},createSubSlices(){this.haveTopLevelSlicesBeenBuilt=true;this.createSubSlicesImpl_();if(!this.hasCpuDuration_()&&this.parentContainer.timeSlices){this.addCpuTimeToSubslices_(this.parentContainer.timeSlices);} 5009this.slices.forEach(function(slice){let selfTime=slice.duration;for(let i=0;i<slice.subSlices.length;i++){selfTime-=slice.subSlices[i].duration;} 5010slice.selfTime=selfTime;if(slice.cpuDuration===undefined)return;let cpuSelfTime=slice.cpuDuration;for(let i=0;i<slice.subSlices.length;i++){if(slice.subSlices[i].cpuDuration!==undefined){cpuSelfTime-=slice.subSlices[i].cpuDuration;}} 5011slice.cpuSelfTime=cpuSelfTime;});},createSubSlicesImpl_(){const precisionUnit=this.model.intrinsicTimeUnit;function addSliceIfBounds(parent,child){if(parent.bounds(child,precisionUnit)){child.parentSlice=parent;if(parent.subSlices===undefined){parent.subSlices=[];} 5012parent.subSlices.push(child);return true;} 5013return false;} 5014if(!this.slices.length)return;const ops=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].subSlices){this.slices[i].subSlices.splice(0,this.slices[i].subSlices.length);} 5015ops.push(i);} 5016const originalSlices=this.slices;ops.sort(function(ix,iy){const x=originalSlices[ix];const y=originalSlices[iy];if(x.start!==y.start){return x.start-y.start;} 5017return ix-iy;});const slices=new Array(this.slices.length);for(let i=0;i<ops.length;i++){slices[i]=originalSlices[ops[i]];} 5018let rootSlice=slices[0];this.topLevelSlices=[];this.topLevelSlices.push(rootSlice);rootSlice.isTopLevel=true;for(let i=1;i<slices.length;i++){const slice=slices[i];while(rootSlice!==undefined&&(!addSliceIfBounds(rootSlice,slice))){rootSlice=rootSlice.parentSlice;} 5019if(rootSlice===undefined){this.topLevelSlices.push(slice);slice.isTopLevel=true;} 5020rootSlice=slice;} 5021this.slices=slices;},addCpuTimeToSubslices_(timeSlices){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;let sliceIdx=0;timeSlices.forEach(function(timeSlice){if(timeSlice.schedulingState===SCHEDULING_STATE.RUNNING){while(sliceIdx<this.topLevelSlices.length){if(this.addCpuTimeToSubslice_(this.topLevelSlices[sliceIdx],timeSlice)){sliceIdx++;}else{break;}}}},this);},addCpuTimeToSubslice_(slice,timeSlice){if(slice.start>timeSlice.end||slice.end<timeSlice.start){return slice.end<=timeSlice.end;} 5022let duration=timeSlice.duration;if(slice.start>timeSlice.start){duration-=slice.start-timeSlice.start;} 5023if(timeSlice.end>slice.end){duration-=timeSlice.end-slice.end;} 5024if(slice.cpuDuration){slice.cpuDuration+=duration;}else{slice.cpuDuration=duration;} 5025for(let i=0;i<slice.subSlices.length;i++){this.addCpuTimeToSubslice_(slice.subSlices[i],timeSlice);} 5026return slice.end<=timeSlice.end;}};SliceGroup.merge=function(groupA,groupB){if(groupA.openPartialSlices_.length>0){throw new Error('groupA has open partial slices');} 5027if(groupB.openPartialSlices_.length>0){throw new Error('groupB has open partial slices');} 5028if(groupA.parentContainer!==groupB.parentContainer){throw new Error('Different parent threads. Cannot merge');} 5029if(groupA.sliceConstructor!==groupB.sliceConstructor){throw new Error('Different slice constructors. Cannot merge');} 5030const result=new SliceGroup(groupA.parentContainer,groupA.sliceConstructor,groupA.name_);const slicesA=groupA.slices;const slicesB=groupB.slices;let idxA=0;let idxB=0;const openA=[];const openB=[];const splitOpenSlices=function(when){for(let i=0;i<openB.length;i++){const oldSlice=openB[i];const oldEnd=oldSlice.end;if(when<oldSlice.start||oldEnd<when){throw new Error('slice should not be split');} 5031const newSlice=result.copySlice(oldSlice);newSlice.start=when;newSlice.duration=oldEnd-when;if(newSlice.title.indexOf(' (cont.)')===-1){newSlice.title+=' (cont.)';} 5032oldSlice.duration=when-oldSlice.start;openB[i]=newSlice;result.pushSlice(newSlice);}};const closeOpenSlices=function(upTo){while(openA.length>0||openB.length>0){const nextA=openA[openA.length-1];const nextB=openB[openB.length-1];const endA=nextA&&nextA.end;const endB=nextB&&nextB.end;if((endA===undefined||endA>upTo)&&(endB===undefined||endB>upTo)){return;} 5033if(endB===undefined||endA<endB){splitOpenSlices(endA);openA.pop();}else{openB.pop();}}};while(idxA<slicesA.length||idxB<slicesB.length){const sA=slicesA[idxA];const sB=slicesB[idxB];let nextSlice;let isFromB;if(sA===undefined||(sB!==undefined&&sA.start>sB.start)){nextSlice=result.copySlice(sB);isFromB=true;idxB++;}else{nextSlice=result.copySlice(sA);isFromB=false;idxA++;} 5034closeOpenSlices(nextSlice.start);result.pushSlice(nextSlice);if(isFromB){openB.push(nextSlice);}else{splitOpenSlices(nextSlice.start);openA.push(nextSlice);}} 5035closeOpenSlices();return result;};return{SliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const AsyncSlice=tr.model.AsyncSlice;const AsyncSliceGroup=tr.model.AsyncSliceGroup;const SliceGroup=tr.model.SliceGroup;const ThreadSlice=tr.model.ThreadSlice;const ThreadTimeSlice=tr.model.ThreadTimeSlice;function Thread(parent,tid){if(!parent){throw new Error('Parent must be provided.');} 5036tr.model.EventContainer.call(this);this.parent=parent;this.sortIndex=0;this.tid=tid;this.name=undefined;this.samples_=undefined;this.sliceGroup=new SliceGroup(this,ThreadSlice,'slices');this.timeSlices=undefined;this.kernelSliceGroup=new SliceGroup(this,ThreadSlice,'kernel-slices');this.asyncSliceGroup=new AsyncSliceGroup(this,'async-slices');} 5037Thread.prototype={__proto__:tr.model.EventContainer.prototype,get model(){return this.parent.model;},get stableId(){return this.parent.stableId+'.'+this.tid;},compareTo(that){return Thread.compare(this,that);},*childEventContainers(){if(this.sliceGroup.length){yield this.sliceGroup;} 5038if(this.kernelSliceGroup.length){yield this.kernelSliceGroup;} 5039if(this.asyncSliceGroup.length){yield this.asyncSliceGroup;}},*childEvents(){if(this.timeSlices){yield*this.timeSlices;}},iterateAllPersistableObjects(cb){cb(this);if(this.sliceGroup.length){cb(this.sliceGroup);} 5040this.asyncSliceGroup.viewSubGroups.forEach(cb);},shiftTimestampsForward(amount){this.sliceGroup.shiftTimestampsForward(amount);if(this.timeSlices){for(let i=0;i<this.timeSlices.length;i++){const slice=this.timeSlices[i];slice.start+=amount;}} 5041this.kernelSliceGroup.shiftTimestampsForward(amount);this.asyncSliceGroup.shiftTimestampsForward(amount);},get isEmpty(){if(this.sliceGroup.length)return false;if(this.sliceGroup.openSliceCount)return false;if(this.timeSlices&&this.timeSlices.length)return false;if(this.kernelSliceGroup.length)return false;if(this.asyncSliceGroup.length)return false;if(this.samples_.length)return false;return true;},updateBounds(){this.bounds.reset();this.sliceGroup.updateBounds();this.bounds.addRange(this.sliceGroup.bounds);this.kernelSliceGroup.updateBounds();this.bounds.addRange(this.kernelSliceGroup.bounds);this.asyncSliceGroup.updateBounds();this.bounds.addRange(this.asyncSliceGroup.bounds);if(this.timeSlices&&this.timeSlices.length){this.bounds.addValue(this.timeSlices[0].start);this.bounds.addValue(this.timeSlices[this.timeSlices.length-1].end);} 5042if(this.samples_&&this.samples_.length){this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].end);}},addCategoriesToDict(categoriesDict){for(let i=0;i<this.sliceGroup.length;i++){categoriesDict[this.sliceGroup.slices[i].category]=true;} 5043for(let i=0;i<this.kernelSliceGroup.length;i++){categoriesDict[this.kernelSliceGroup.slices[i].category]=true;} 5044for(let i=0;i<this.asyncSliceGroup.length;i++){categoriesDict[this.asyncSliceGroup.slices[i].category]=true;} 5045if(this.samples_){for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}}},autoCloseOpenSlices(){this.sliceGroup.autoCloseOpenSlices();this.kernelSliceGroup.autoCloseOpenSlices();},mergeKernelWithUserland(){if(this.kernelSliceGroup.length>0){const newSlices=SliceGroup.merge(this.sliceGroup,this.kernelSliceGroup);this.sliceGroup.slices=newSlices.slices;this.kernelSliceGroup=new SliceGroup(this);this.updateBounds();}},createSubSlices(){this.sliceGroup.createSubSlices();this.samples_=this.parent.model.samples.filter(sample=>sample.thread===this);},get userFriendlyName(){return this.name||this.tid;},get userFriendlyDetails(){return'tid: '+this.tid+ 5046(this.name?', name: '+this.name:'');},getSettingsKey(){if(!this.name)return undefined;const parentKey=this.parent.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},getProcess(){return this.parent;},indexOfTimeSlice(timeSlice){const i=tr.b.math.findLowIndexInSortedArray(this.timeSlices,function(slice){return slice.start;},timeSlice.start);if(this.timeSlices[i]!==timeSlice)return undefined;return i;},getCpuStatsForRange(range){const stats={};stats.total=0;if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const freqRange=tr.b.math.Range.fromExplicitRange(threadTimeSlice.start,threadTimeSlice.end);const intersection=freqRange.findIntersection(range);if(threadTimeSlice.schedulingState===tr.model.SCHEDULING_STATE.RUNNING){const cpu=threadTimeSlice.cpuOnWhichThreadWasRunning;if(!(cpu.cpuNumber in stats)){stats[cpu.cpuNumber]=0;} 5047stats[cpu.cpuNumber]+=intersection.duration;stats.total+=intersection.duration;}} 5048tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},range.min,range.max,addStatsForSlice);return stats;},getSchedulingStatsForRange(start,end){const stats={};if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const overlapStart=Math.max(threadTimeSlice.start,start);const overlapEnd=Math.min(threadTimeSlice.end,end);const schedulingState=threadTimeSlice.schedulingState;if(!(schedulingState in stats))stats[schedulingState]=0;stats[schedulingState]+=overlapEnd-overlapStart;} 5049tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},start,end,addStatsForSlice);return stats;},get samples(){return this.samples_;},get type(){const re=/^[^0-9|\/]+/;const matches=re.exec(this.name);if(matches&&matches[0])return matches[0];throw new Error('Could not determine thread type for thread name '+ 5050this.name);}};Thread.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp)return tmp;tmp=x.sortIndex-y.sortIndex;if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.tid-y.tid;};return{Thread,};});'use strict';tr.exportTo('tr.model',function(){const Thread=tr.model.Thread;const Counter=tr.model.Counter;function ProcessBase(model){if(!model){throw new Error('Must provide a model');} 5051tr.model.EventContainer.call(this);this.model=model;this.threads={};this.counters={};this.objects=new tr.model.ObjectCollection(this);this.sortIndex=0;} 5052ProcessBase.compare=function(x,y){return x.sortIndex-y.sortIndex;};ProcessBase.prototype={__proto__:tr.model.EventContainer.prototype,get stableId(){throw new Error('Not implemented');},*childEventContainers(){yield*Object.values(this.threads);yield*Object.values(this.counters);yield this.objects;},iterateAllPersistableObjects(cb){cb(this);for(const tid in this.threads){this.threads[tid].iterateAllPersistableObjects(cb);}},get numThreads(){let n=0;for(const p in this.threads){n++;} 5053return n;},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);}},autoCloseOpenSlices(){for(const tid in this.threads){const thread=this.threads[tid];thread.autoCloseOpenSlices();}},autoDeleteObjects(maxTimestamp){this.objects.autoDeleteObjects(maxTimestamp);},preInitializeObjects(){this.objects.preInitializeAllObjects();},initializeObjects(){this.objects.initializeAllObjects();},mergeKernelWithUserland(){for(const tid in this.threads){const thread=this.threads[tid];thread.mergeKernelWithUserland();}},updateBounds(){this.bounds.reset();for(const tid in this.threads){this.threads[tid].updateBounds();this.bounds.addRange(this.threads[tid].bounds);} 5054for(const id in this.counters){this.counters[id].updateBounds();this.bounds.addRange(this.counters[id].bounds);} 5055this.objects.updateBounds();this.bounds.addRange(this.objects.bounds);},addCategoriesToDict(categoriesDict){for(const tid in this.threads){this.threads[tid].addCategoriesToDict(categoriesDict);} 5056for(const id in this.counters){categoriesDict[this.counters[id].category]=true;} 5057this.objects.addCategoriesToDict(categoriesDict);},findAllThreadsMatching(predicate,opt_this){const threads=[];for(const tid in this.threads){const thread=this.threads[tid];if(predicate.call(opt_this,thread)){threads.push(thread);}} 5058return threads;},findAllThreadsNamed(name){const threads=this.findAllThreadsMatching(function(thread){if(!thread.name)return false;return thread.name===name;});return threads;},findAtMostOneThreadNamed(name){const threads=this.findAllThreadsNamed(name);if(threads.length===0)return undefined;if(threads.length>1){throw new Error('Expected no more than one '+name);} 5059return threads[0];},pruneEmptyContainers(){const threadsToKeep={};for(const tid in this.threads){const thread=this.threads[tid];if(!thread.isEmpty){threadsToKeep[tid]=thread;}} 5060this.threads=threadsToKeep;},getThread(tid){return this.threads[tid];},getOrCreateThread(tid){if(!this.threads[tid]){this.threads[tid]=new Thread(this,tid);} 5061return this.threads[tid];},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);} 5062return this.counters[id];},getSettingsKey(){throw new Error('Not implemented');},createSubSlices(){for(const tid in this.threads){this.threads[tid].createSubSlices();}}};return{ProcessBase,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Counter=tr.model.Counter;const CpuSlice=tr.model.CpuSlice;function Cpu(kernel,number){if(kernel===undefined||number===undefined){throw new Error('Missing arguments');} 5063this.kernel=kernel;this.cpuNumber=number;this.slices=[];this.counters={};this.bounds_=new tr.b.math.Range();this.samples_=undefined;this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;} 5064Cpu.prototype={__proto__:tr.model.EventContainer.prototype,get samples(){return this.samples_;},get userFriendlyName(){return'CPU '+this.cpuNumber;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const s of this.slices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}},*childEvents(){yield*this.slices;if(this.samples_){yield*this.samples_;}},*childEventContainers(){yield*Object.values(this.counters);},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);} 5065return this.counters[id];},getCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){return undefined;} 5066return this.counters[id];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){this.slices[sI].start=(this.slices[sI].start+amount);} 5067for(const id in this.counters){this.counters[id].shiftTimestampsForward(amount);}},updateBounds(){this.bounds_.reset();if(this.slices.length){this.bounds_.addValue(this.slices[0].start);this.bounds_.addValue(this.slices[this.slices.length-1].end);} 5068for(const id in this.counters){this.counters[id].updateBounds();this.bounds_.addRange(this.counters[id].bounds);} 5069if(this.samples_&&this.samples_.length){this.bounds_.addValue(this.samples_[0].start);this.bounds_.addValue(this.samples_[this.samples_.length-1].end);}},createSubSlices(){this.samples_=this.kernel.model.samples.filter(function(sample){return sample.cpu===this;},this);},addCategoriesToDict(categoriesDict){for(let i=0;i<this.slices.length;i++){categoriesDict[this.slices[i].category]=true;} 5070for(const id in this.counters){categoriesDict[this.counters[id].category]=true;} 5071for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}},indexOf(cpuSlice){const i=tr.b.math.findLowIndexInSortedArray(this.slices,function(slice){return slice.start;},cpuSlice.start);if(this.slices[i]!==cpuSlice)return undefined;return i;},closeActiveThread(endTimestamp,args){if(this.lastActiveThread_===undefined||this.lastActiveThread_===0){return;} 5072if(endTimestamp<this.lastActiveTimestamp_){throw new Error('The end timestamp of a thread running on CPU '+ 5073this.cpuNumber+' is before its start timestamp.');} 5074for(const key in args){this.lastActiveArgs_[key]=args[key];} 5075const duration=endTimestamp-this.lastActiveTimestamp_;const slice=new tr.model.CpuSlice('',this.lastActiveName_,ColorScheme.getColorIdForGeneralPurposeString(this.lastActiveName_),this.lastActiveTimestamp_,this.lastActiveArgs_,duration);slice.cpu=this;this.slices.push(slice);this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;},switchActiveThread(timestamp,oldThreadArgs,newThreadId,newThreadName,newThreadArgs){this.closeActiveThread(timestamp,oldThreadArgs);this.lastActiveTimestamp_=timestamp;this.lastActiveThread_=newThreadId;this.lastActiveName_=newThreadName;this.lastActiveArgs_=newThreadArgs;},getFreqStatsForRange(range){const stats={};function addStatsForFreq(freqSample,index){const freqEnd=(index<freqSample.series_.length-1)?freqSample.series_.samples_[index+1].timestamp:range.max;const freqRange=tr.b.math.Range.fromExplicitRange(freqSample.timestamp,freqEnd);const intersection=freqRange.findIntersection(range);if(!(freqSample.value in stats)){stats[freqSample.value]=0;} 5076stats[freqSample.value]+=intersection.duration;} 5077const freqCounter=this.getCounter('','Clock Frequency');if(freqCounter!==undefined){const freqSeries=freqCounter.getSeries(0);if(!freqSeries)return;tr.b.math.iterateOverIntersectingIntervals(freqSeries.samples_,function(x){return x.timestamp;},function(x,index){if(index<freqSeries.length-1){return freqSeries.samples_[index+1].timestamp;} 5078return range.max;},range.min,range.max,addStatsForFreq);} 5079return stats;}};Cpu.compare=function(x,y){return x.cpuNumber-y.cpuNumber;};return{Cpu,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;function PowerSample(series,start,powerInW){Event.call(this);this.series_=series;this.start_=parseFloat(start);this.powerInW_=parseFloat(powerInW);} 5080PowerSample.prototype={__proto__:Event.prototype,get series(){return this.series_;},get start(){return this.start_;},set start(value){this.start_=value;},get powerInW(){return this.powerInW_;},set powerInW(value){this.powerInW_=value;},addBoundsToRange(range){range.addValue(this.start);}};EventRegistry.register(PowerSample,{name:'powerSample',pluralName:'powerSamples'});return{PowerSample,};});'use strict';tr.exportTo('tr.model',function(){const PowerSample=tr.model.PowerSample;function PowerSeries(device){tr.model.EventContainer.call(this);this.device_=device;this.samples_=[];} 5081PowerSeries.prototype={__proto__:tr.model.EventContainer.prototype,get device(){return this.device_;},get samples(){return this.samples_;},get stableId(){return this.device_.stableId+'.PowerSeries';},addPowerSample(ts,val){const sample=new PowerSample(this,ts,val);this.samples_.push(sample);return sample;},getEnergyConsumedInJ(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let energyConsumedInJ=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0){startIndex=0;} 5082for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);const durationInS=tr.b.convertUnit(intersectionRangeInMs.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);energyConsumedInJ+=durationInS*sample.powerInW;} 5083return energyConsumedInJ;},getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);},shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}},updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);},*childEvents(){yield*this.samples_;},};return{PowerSeries,};});'use strict';tr.exportTo('tr.model',function(){function Device(model){if(!model){throw new Error('Must provide a model.');} 5084tr.model.EventContainer.call(this);this.powerSeries_=undefined;this.cpuUsageSeries_=undefined;this.vSyncTimestamps_=[];} 5085Device.compare=function(x,y){return x.guid-y.guid;};Device.prototype={__proto__:tr.model.EventContainer.prototype,compareTo(that){return Device.compare(this,that);},get userFriendlyName(){return'Device';},get userFriendlyDetails(){return'Device';},get stableId(){return'Device';},getSettingsKey(){return'device';},get powerSeries(){return this.powerSeries_;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;},get cpuUsageSeries(){return this.cpuUsageSeries_;},set cpuUsageSeries(cpuUsageSeries){this.cpuUsageSeries_=cpuUsageSeries;},get vSyncTimestamps(){return this.vSyncTimestamps_;},set vSyncTimestamps(value){this.vSyncTimestamps_=value;},updateBounds(){this.bounds.reset();for(const child of this.childEventContainers()){child.updateBounds();this.bounds.addRange(child.bounds);}},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);} 5086for(let i=0;i<this.vSyncTimestamps_.length;i++){this.vSyncTimestamps_[i]+=amount;}},addCategoriesToDict(categoriesDict){},*childEventContainers(){if(this.powerSeries_){yield this.powerSeries_;} 5087if(this.cpuUsageSeries_){yield this.cpuUsageSeries_;}}};return{Device,};});'use strict';tr.exportTo('tr.model',function(){function FlowEvent(category,id,title,colorId,start,args,opt_duration){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.start=start;this.args=args;this.id=id;this.startSlice=undefined;this.endSlice=undefined;this.startStackFrame=undefined;this.endStackFrame=undefined;if(opt_duration!==undefined){this.duration=opt_duration;}} 5088FlowEvent.prototype={__proto__:tr.model.TimedEvent.prototype,get userFriendlyName(){return'Flow event named '+this.title+' at '+ 5089tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(FlowEvent,{name:'flowEvent',pluralName:'flowEvents'});return{FlowEvent,};});'use strict';tr.exportTo('tr.model',function(){function ContainerMemoryDump(start){tr.model.TimedEvent.call(this,start);this.levelOfDetail=undefined;this.memoryAllocatorDumps_=undefined;this.memoryAllocatorDumpsByFullName_=undefined;} 5090ContainerMemoryDump.LevelOfDetail={BACKGROUND:0,LIGHT:1,DETAILED:2};ContainerMemoryDump.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();},getMemoryAllocatorDumpByFullName(fullName){if(this.memoryAllocatorDumps_===undefined)return undefined;if(this.memoryAllocatorDumpsByFullName_===undefined){const index={};function addDumpsToIndex(dumps){dumps.forEach(function(dump){index[dump.fullName]=dump;addDumpsToIndex(dump.children);});} 5091addDumpsToIndex(this.memoryAllocatorDumps_);this.memoryAllocatorDumpsByFullName_=index;} 5092return this.memoryAllocatorDumpsByFullName_[fullName];},forceRebuildingMemoryAllocatorDumpByFullNameIndex(){this.memoryAllocatorDumpsByFullName_=undefined;},iterateRootAllocatorDumps(fn,opt_this){if(this.memoryAllocatorDumps===undefined)return;this.memoryAllocatorDumps.forEach(fn,opt_this||this);}};return{ContainerMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){function MemoryAllocatorDump(containerMemoryDump,fullName,opt_guid){this.fullName=fullName;this.parent=undefined;this.children=[];this.numerics={};this.diagnostics={};this.containerMemoryDump=containerMemoryDump;this.owns=undefined;this.ownedBy=[];this.ownedBySiblingSizes=new Map();this.retains=[];this.retainedBy=[];this.weak=false;this.infos=[];this.guid=opt_guid;} 5093MemoryAllocatorDump.SIZE_NUMERIC_NAME='size';MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME='effective_size';MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME='resident_size';MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME=MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;MemoryAllocatorDump.prototype={get name(){return this.fullName.substring(this.fullName.lastIndexOf('/')+1);},get quantifiedName(){return'\''+this.fullName+'\' in '+ 5094this.containerMemoryDump.containerName;},getDescendantDumpByFullName(fullName){return this.containerMemoryDump.getMemoryAllocatorDumpByFullName(this.fullName+'/'+fullName);},isDescendantOf(otherDump){if(this===otherDump)return true;if(this.parent===undefined)return false;return this.parent.isDescendantOf(otherDump);},addNumeric(name,numeric){if(!(numeric instanceof tr.b.Scalar)){throw new Error('Numeric value must be an instance of Scalar.');} 5095if(name in this.numerics){throw new Error('Duplicate numeric name: '+name+'.');} 5096this.numerics[name]=numeric;},addDiagnostic(name,text){if(typeof text!=='string'){throw new Error('Diagnostic text must be a string.');} 5097if(name in this.diagnostics){throw new Error('Duplicate diagnostic name: '+name+'.');} 5098this.diagnostics[name]=text;},aggregateNumericsRecursively(opt_model){const numericNames=new Set();this.children.forEach(function(child){child.aggregateNumericsRecursively(opt_model);for(const[item,value]of Object.entries(child.numerics)){numericNames.add(item,value);}},this);numericNames.forEach(function(numericName){if(numericName===MemoryAllocatorDump.SIZE_NUMERIC_NAME||numericName===MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME||this.numerics[numericName]!==undefined){return;} 5099this.numerics[numericName]=MemoryAllocatorDump.aggregateNumerics(this.children.map(function(child){return child.numerics[numericName];}),opt_model);},this);}};MemoryAllocatorDump.aggregateNumerics=function(numerics,opt_model){let shouldLogWarning=!!opt_model;let aggregatedUnit=undefined;let aggregatedValue=0;numerics.forEach(function(numeric){if(numeric===undefined)return;const unit=numeric.unit;if(aggregatedUnit===undefined){aggregatedUnit=unit;}else if(aggregatedUnit!==unit){if(shouldLogWarning){opt_model.importWarning({type:'numeric_parse_error',message:'Multiple units provided for numeric: \''+ 5100aggregatedUnit.unitName+'\' and \''+unit.unitName+'\'.'});shouldLogWarning=false;} 5101aggregatedUnit=tr.b.Unit.byName.unitlessNumber_smallerIsBetter;} 5102aggregatedValue+=numeric.value;},this);if(aggregatedUnit===undefined)return undefined;return new tr.b.Scalar(aggregatedUnit,aggregatedValue);};function MemoryAllocatorDumpLink(source,target,opt_importance){this.source=source;this.target=target;this.importance=opt_importance;this.size=undefined;} 5103const MemoryAllocatorDumpInfoType={PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:0,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:1};return{MemoryAllocatorDump,MemoryAllocatorDumpLink,MemoryAllocatorDumpInfoType,};});'use strict';tr.exportTo('tr.model',function(){function GlobalMemoryDump(model,start){tr.model.ContainerMemoryDump.call(this,start);this.model=model;this.processMemoryDumps={};} 5104const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const EFFECTIVE_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;function getSize(dump){const numeric=dump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;return numeric.value;} 5105function hasSize(dump){return dump.numerics[SIZE_NUMERIC_NAME]!==undefined;} 5106function optional(value,defaultValue){if(value===undefined)return defaultValue;return value;} 5107GlobalMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Global memory dump at '+ 5108tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return'global space';},finalizeGraph(){this.removeWeakDumps();this.setUpTracingOverheadOwnership();this.aggregateNumerics();this.calculateSizes();this.calculateEffectiveSizes();this.discountTracingOverheadFromVmRegions();this.forceRebuildingMemoryAllocatorDumpByFullNameIndices();},removeWeakDumps(){this.traverseAllocatorDumpsInDepthFirstPreOrder(function(dump){if(dump.weak)return;if((dump.owns!==undefined&&dump.owns.target.weak)||(dump.parent!==undefined&&dump.parent.weak)){dump.weak=true;}});function removeWeakDumpsFromListRecursively(dumps){tr.b.inPlaceFilter(dumps,function(dump){if(dump.weak){return false;} 5109removeWeakDumpsFromListRecursively(dump.children);tr.b.inPlaceFilter(dump.ownedBy,function(ownershipLink){return!ownershipLink.source.weak;});return true;});} 5110this.iterateContainerDumps(function(containerDump){const memoryAllocatorDumps=containerDump.memoryAllocatorDumps;if(memoryAllocatorDumps!==undefined){removeWeakDumpsFromListRecursively(memoryAllocatorDumps);}});},calculateSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateMemoryAllocatorDumpSize_.bind(this));},calculateMemoryAllocatorDumpSize_(dump){let shouldDefineSize=false;function getDependencySize(dependencyDump){const numeric=dependencyDump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;shouldDefineSize=true;return numeric.value;} 5111const sizeNumeric=dump.numerics[SIZE_NUMERIC_NAME];let size=0;let checkDependencySizeIsConsistent=function(){};if(sizeNumeric!==undefined){size=sizeNumeric.value;shouldDefineSize=true;if(sizeNumeric.unit!==tr.b.Unit.byName.sizeInBytes_smallerIsBetter){this.model.importWarning({type:'memory_dump_parse_error',message:'Invalid unit of \'size\' numeric of memory allocator '+'dump '+dump.quantifiedName+': '+ 5112sizeNumeric.unit.unitName+'.'});} 5113checkDependencySizeIsConsistent=function(dependencySize,dependencyInfoType,dependencyName){if(size>=dependencySize)return;this.model.importWarning({type:'memory_dump_parse_error',message:'Size provided by memory allocator dump \''+ 5114dump.fullName+'\''+ 5115tr.b.Unit.byName.sizeInBytes.format(size)+') is less than '+dependencyName+' ('+ 5116tr.b.Unit.byName.sizeInBytes.format(dependencySize)+').'});dump.infos.push({type:dependencyInfoType,providedSize:size,dependencySize});}.bind(this);} 5117let aggregatedChildrenSize=0;const allOverlaps={};dump.children.forEach(function(childDump){function aggregateDescendantDump(descendantDump){const ownedDumpLink=descendantDump.owns;if(ownedDumpLink!==undefined&&ownedDumpLink.target.isDescendantOf(dump)){let ownedChildDump=ownedDumpLink.target;while(ownedChildDump.parent!==dump){ownedChildDump=ownedChildDump.parent;} 5118if(childDump!==ownedChildDump){const ownedBySiblingSize=getDependencySize(descendantDump);if(ownedBySiblingSize>0){const previousTotalOwnedBySiblingSize=ownedChildDump.ownedBySiblingSizes.get(childDump)||0;const updatedTotalOwnedBySiblingSize=previousTotalOwnedBySiblingSize+ownedBySiblingSize;ownedChildDump.ownedBySiblingSizes.set(childDump,updatedTotalOwnedBySiblingSize);}} 5119return;} 5120if(descendantDump.children.length===0){aggregatedChildrenSize+=getDependencySize(descendantDump);return;} 5121descendantDump.children.forEach(aggregateDescendantDump);} 5122aggregateDescendantDump(childDump);});checkDependencySizeIsConsistent(aggregatedChildrenSize,PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN,'the aggregated size of its children');let largestOwnerSize=0;dump.ownedBy.forEach(function(ownershipLink){const owner=ownershipLink.source;const ownerSize=getDependencySize(owner);largestOwnerSize=Math.max(largestOwnerSize,ownerSize);});checkDependencySizeIsConsistent(largestOwnerSize,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER,'the size of its largest owner');if(!shouldDefineSize){delete dump.numerics[SIZE_NUMERIC_NAME];return;} 5123size=Math.max(size,aggregatedChildrenSize,largestOwnerSize);dump.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size);if(aggregatedChildrenSize<size&&dump.children!==undefined&&dump.children.length>0){const virtualChild=new tr.model.MemoryAllocatorDump(dump.containerMemoryDump,dump.fullName+'/<unspecified>');virtualChild.parent=dump;dump.children.unshift(virtualChild);virtualChild.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size-aggregatedChildrenSize);}},calculateEffectiveSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpSubSizes_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPreOrder(this.calculateDumpCumulativeOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpEffectiveSize_.bind(this));},calculateDumpSubSizes_(dump){if(!hasSize(dump))return;if(dump.children===undefined||dump.children.length===0){const size=getSize(dump);dump.notOwningSubSize_=size;dump.notOwnedSubSize_=size;return;} 5124let notOwningSubSize=0;dump.children.forEach(function(childDump){if(childDump.owns!==undefined)return;notOwningSubSize+=optional(childDump.notOwningSubSize_,0);});dump.notOwningSubSize_=notOwningSubSize;let notOwnedSubSize=0;dump.children.forEach(function(childDump){if(childDump.ownedBy.length===0){notOwnedSubSize+=optional(childDump.notOwnedSubSize_,0);return;} 5125let largestChildOwnerSize=0;childDump.ownedBy.forEach(function(ownershipLink){largestChildOwnerSize=Math.max(largestChildOwnerSize,getSize(ownershipLink.source));});notOwnedSubSize+=getSize(childDump)-largestChildOwnerSize;});dump.notOwnedSubSize_=notOwnedSubSize;},calculateDumpOwnershipCoefficient_(dump){if(!hasSize(dump))return;if(dump.ownedBy.length===0)return;const owners=dump.ownedBy.map(function(ownershipLink){return{dump:ownershipLink.source,importance:optional(ownershipLink.importance,0),notOwningSubSize:optional(ownershipLink.source.notOwningSubSize_,0)};});owners.sort(function(a,b){if(a.importance===b.importance){return a.notOwningSubSize-b.notOwningSubSize;} 5126return b.importance-a.importance;});let currentImportanceStartPos=0;let alreadyAttributedSubSize=0;while(currentImportanceStartPos<owners.length){const currentImportance=owners[currentImportanceStartPos].importance;let nextImportanceStartPos=currentImportanceStartPos+1;while(nextImportanceStartPos<owners.length&&owners[nextImportanceStartPos].importance===currentImportance){nextImportanceStartPos++;} 5127let attributedNotOwningSubSize=0;for(let pos=currentImportanceStartPos;pos<nextImportanceStartPos;pos++){const owner=owners[pos];const notOwningSubSize=owner.notOwningSubSize;if(notOwningSubSize>alreadyAttributedSubSize){attributedNotOwningSubSize+=(notOwningSubSize-alreadyAttributedSubSize)/(nextImportanceStartPos-pos);alreadyAttributedSubSize=notOwningSubSize;} 5128let owningCoefficient=0;if(notOwningSubSize!==0){owningCoefficient=attributedNotOwningSubSize/notOwningSubSize;} 5129owner.dump.owningCoefficient_=owningCoefficient;} 5130currentImportanceStartPos=nextImportanceStartPos;} 5131const notOwnedSubSize=optional(dump.notOwnedSubSize_,0);const remainderSubSize=notOwnedSubSize-alreadyAttributedSubSize;let ownedCoefficient=0;if(notOwnedSubSize!==0){ownedCoefficient=remainderSubSize/notOwnedSubSize;} 5132dump.ownedCoefficient_=ownedCoefficient;},calculateDumpCumulativeOwnershipCoefficient_(dump){if(!hasSize(dump))return;let cumulativeOwnedCoefficient=optional(dump.ownedCoefficient_,1);const parent=dump.parent;if(dump.parent!==undefined){cumulativeOwnedCoefficient*=dump.parent.cumulativeOwnedCoefficient_;} 5133dump.cumulativeOwnedCoefficient_=cumulativeOwnedCoefficient;let cumulativeOwningCoefficient;if(dump.owns!==undefined){cumulativeOwningCoefficient=dump.owningCoefficient_*dump.owns.target.cumulativeOwningCoefficient_;}else if(dump.parent!==undefined){cumulativeOwningCoefficient=dump.parent.cumulativeOwningCoefficient_;}else{cumulativeOwningCoefficient=1;} 5134dump.cumulativeOwningCoefficient_=cumulativeOwningCoefficient;},calculateDumpEffectiveSize_(dump){if(!hasSize(dump)){delete dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME];return;} 5135let effectiveSize;if(dump.children===undefined||dump.children.length===0){effectiveSize=getSize(dump)*dump.cumulativeOwningCoefficient_*dump.cumulativeOwnedCoefficient_;}else{effectiveSize=0;dump.children.forEach(function(childDump){if(!hasSize(childDump))return;effectiveSize+=childDump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME].value;});} 5136dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,effectiveSize);},aggregateNumerics(){this.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);});this.iterateRootAllocatorDumps(this.propagateNumericsAndDiagnosticsRecursively);for(const processMemoryDump of Object.values(this.processMemoryDumps)){processMemoryDump.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);},this);}},propagateNumericsAndDiagnosticsRecursively(globalAllocatorDump){['numerics','diagnostics'].forEach(function(field){for(const[name,value]of 5137Object.entries(globalAllocatorDump[field])){globalAllocatorDump.ownedBy.forEach(function(ownershipLink){const processAllocatorDump=ownershipLink.source;if(processAllocatorDump[field][name]!==undefined){return;} 5138processAllocatorDump[field][name]=value;});}});globalAllocatorDump.children.forEach(this.propagateNumericsAndDiagnosticsRecursively,this);},setUpTracingOverheadOwnership(){for(const dump of Object.values(this.processMemoryDumps)){dump.setUpTracingOverheadOwnership(this.model);}},discountTracingOverheadFromVmRegions(){for(const dump of Object.values(this.processMemoryDumps)){dump.discountTracingOverheadFromVmRegions(this.model);}},forceRebuildingMemoryAllocatorDumpByFullNameIndices(){this.iterateContainerDumps(function(containerDump){containerDump.forceRebuildingMemoryAllocatorDumpByFullNameIndex();});},iterateContainerDumps(fn){fn.call(this,this);for(const processDump of Object.values(this.processMemoryDumps)){fn.call(this,processDump);}},iterateAllRootAllocatorDumps(fn){this.iterateContainerDumps(function(containerDump){containerDump.iterateRootAllocatorDumps(fn,this);});},traverseAllocatorDumpsInDepthFirstPostOrder(fn){const visitedDumps=new WeakSet();const openDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(openDumps.has(dump)){throw new Error(dump.userFriendlyName+' contains a cycle');} 5139openDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);fn.call(this,dump);visitedDumps.add(dump);openDumps.delete(dump);} 5140this.iterateAllRootAllocatorDumps(visit);},traverseAllocatorDumpsInDepthFirstPreOrder(fn){const visitedDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(dump.owns!==undefined&&!visitedDumps.has(dump.owns.target)){return;} 5141if(dump.parent!==undefined&&!visitedDumps.has(dump.parent)){return;} 5142fn.call(this,dump);visitedDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);} 5143this.iterateAllRootAllocatorDumps(visit);}};tr.model.EventRegistry.register(GlobalMemoryDump,{name:'globalMemoryDump',pluralName:'globalMemoryDumps'});return{GlobalMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const InstantEventType={GLOBAL:1,PROCESS:2};function InstantEvent(category,title,colorId,start,args){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.type=undefined;} 5144InstantEvent.prototype={__proto__:tr.model.TimedEvent.prototype};function GlobalInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.GLOBAL;} 5145GlobalInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Global instant event '+this.title+' @ '+ 5146tr.b.Unit.byName.timeStampInMs.format(start);}};function ProcessInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.PROCESS;} 5147ProcessInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Process-level instant event '+this.title+' @ '+ 5148tr.b.Unit.byName.timeStampInMs.format(start);}};tr.model.EventRegistry.register(InstantEvent,{name:'instantEvent',pluralName:'instantEvents'});return{GlobalInstantEvent,ProcessInstantEvent,InstantEventType,InstantEvent,};});'use strict';tr.exportTo('tr.model',function(){const Cpu=tr.model.Cpu;const ProcessBase=tr.model.ProcessBase;function Kernel(model){ProcessBase.call(this,model);this.cpus={};this.softwareMeasuredCpuCount_=undefined;} 5149Kernel.compare=function(x,y){return 0;};Kernel.prototype={__proto__:ProcessBase.prototype,compareTo(that){return Kernel.compare(this,that);},get userFriendlyName(){return'Kernel';},get userFriendlyDetails(){return'Kernel';},get stableId(){return'Kernel';},getOrCreateCpu(cpuNumber){if(!this.cpus[cpuNumber]){this.cpus[cpuNumber]=new Cpu(this,cpuNumber);} 5150return this.cpus[cpuNumber];},get softwareMeasuredCpuCount(){return this.softwareMeasuredCpuCount_;},set softwareMeasuredCpuCount(softwareMeasuredCpuCount){if(this.softwareMeasuredCpuCount_!==undefined&&this.softwareMeasuredCpuCount_!==softwareMeasuredCpuCount){throw new Error('Cannot change the softwareMeasuredCpuCount once it is set');} 5151this.softwareMeasuredCpuCount_=softwareMeasuredCpuCount;},get bestGuessAtCpuCount(){const realCpuCount=Object.keys(this.cpus).length;if(realCpuCount!==0){return realCpuCount;} 5152return this.softwareMeasuredCpuCount;},updateBounds(){ProcessBase.prototype.updateBounds.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.updateBounds();this.bounds.addRange(cpu.bounds);}},createSubSlices(){ProcessBase.prototype.createSubSlices.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.createSubSlices();}},addCategoriesToDict(categoriesDict){ProcessBase.prototype.addCategoriesToDict.call(this,categoriesDict);for(const cpuNumber in this.cpus){this.cpus[cpuNumber].addCategoriesToDict(categoriesDict);}},getSettingsKey(){return'kernel';},*childEventContainers(){yield*ProcessBase.prototype.childEventContainers.call(this);yield*Object.values(this.cpus);},};return{Kernel,};});'use strict';tr.exportTo('tr.model',function(){function ModelIndices(model){this.flowEventsById_={};model.flowEvents.forEach(function(fe){if(fe.id!==undefined){if(!this.flowEventsById_.hasOwnProperty(fe.id)){this.flowEventsById_[fe.id]=[];} 5153this.flowEventsById_[fe.id].push(fe);}},this);} 5154ModelIndices.prototype={addEventWithId(id,event){if(!this.flowEventsById_.hasOwnProperty(id)){this.flowEventsById_[id]=[];} 5155this.flowEventsById_[id].push(event);},getFlowEventsWithId(id){if(!this.flowEventsById_.hasOwnProperty(id)){return[];} 5156return this.flowEventsById_[id];}};return{ModelIndices,};});'use strict';tr.exportTo('tr.model',function(){function ModelStats(){this.traceEventCountsByKey_=new Map();this.allTraceEventStats_=[];this.traceEventStatsInTimeIntervals_=new Map();this.allTraceEventStatsInTimeIntervals_=[];this.hasEventSizesinBytes_=false;this.traceImportDurationMs_=undefined;} 5157ModelStats.prototype={TIME_INTERVAL_SIZE_IN_MS:100,willProcessBasicTraceEvent(phase,category,title,ts,opt_eventSizeinBytes){const key=phase+'/'+category+'/'+title;let eventStats=this.traceEventCountsByKey_.get(key);if(eventStats===undefined){eventStats={phase,category,title,numEvents:0,totalEventSizeinBytes:0};this.traceEventCountsByKey_.set(key,eventStats);this.allTraceEventStats_.push(eventStats);} 5158eventStats.numEvents++;const timeIntervalKey=Math.floor(tr.b.Unit.timestampFromUs(ts)/this.TIME_INTERVAL_SIZE_IN_MS);let eventStatsByTimeInverval=this.traceEventStatsInTimeIntervals_.get(timeIntervalKey);if(eventStatsByTimeInverval===undefined){eventStatsByTimeInverval={timeInterval:timeIntervalKey,numEvents:0,totalEventSizeinBytes:0};this.traceEventStatsInTimeIntervals_.set(timeIntervalKey,eventStatsByTimeInverval);this.allTraceEventStatsInTimeIntervals_.push(eventStatsByTimeInverval);} 5159eventStatsByTimeInverval.numEvents++;if(opt_eventSizeinBytes!==undefined){this.hasEventSizesinBytes_=true;eventStats.totalEventSizeinBytes+=opt_eventSizeinBytes;eventStatsByTimeInverval.totalEventSizeinBytes+=opt_eventSizeinBytes;}},get allTraceEventStats(){return this.allTraceEventStats_;},get allTraceEventStatsInTimeIntervals(){return this.allTraceEventStatsInTimeIntervals_;},get hasEventSizesinBytes(){return this.hasEventSizesinBytes_;},get traceImportDurationMs(){return this.traceImportDurationMs_;},set traceImportDurationMs(traceImportDurationMs){this.traceImportDurationMs_=traceImportDurationMs;}};return{ModelStats,};});'use strict';tr.exportTo('tr.model',function(){function VMRegion(startAddress,sizeInBytes,protectionFlags,mappedFile,byteStats){this.startAddress=startAddress;this.sizeInBytes=sizeInBytes;this.protectionFlags=protectionFlags;this.mappedFile=mappedFile||'';this.byteStats=byteStats||{};} 5160VMRegion.PROTECTION_FLAG_READ=4;VMRegion.PROTECTION_FLAG_WRITE=2;VMRegion.PROTECTION_FLAG_EXECUTE=1;VMRegion.PROTECTION_FLAG_MAYSHARE=128;VMRegion.prototype={get uniqueIdWithinProcess(){return this.mappedFile+'#'+this.startAddress;},get protectionFlagsToString(){if(this.protectionFlags===undefined)return undefined;return((this.protectionFlags&VMRegion.PROTECTION_FLAG_READ?'r':'-')+ 5161(this.protectionFlags&VMRegion.PROTECTION_FLAG_WRITE?'w':'-')+ 5162(this.protectionFlags&VMRegion.PROTECTION_FLAG_EXECUTE?'x':'-')+ 5163(this.protectionFlags&VMRegion.PROTECTION_FLAG_MAYSHARE?'s':'p'));}};VMRegion.fromDict=function(dict){return new VMRegion(dict.startAddress,dict.sizeInBytes,dict.protectionFlags,dict.mappedFile,dict.byteStats);};function VMRegionClassificationNode(opt_rule){this.rule_=opt_rule||VMRegionClassificationNode.CLASSIFICATION_RULES;this.hasRegions=false;this.sizeInBytes=undefined;this.byteStats={};this.children_=undefined;this.regions_=[];} 5164VMRegionClassificationNode.CLASSIFICATION_RULES={name:'Total',children:[{name:'Android',file:/^\/dev\/ashmem(?!\/libc malloc)/,children:[{name:'Java runtime',file:/^\/dev\/ashmem\/dalvik-/,children:[{name:'Spaces',file:/\/dalvik-(alloc|main|large object|non moving|zygote) space/,children:[{name:'Normal',file:/\/dalvik-(alloc|main)/},{name:'Large',file:/\/dalvik-large object/},{name:'Zygote',file:/\/dalvik-zygote/},{name:'Non-moving',file:/\/dalvik-non moving/}]},{name:'Linear Alloc',file:/\/dalvik-LinearAlloc/},{name:'Indirect Reference Table',file:/\/dalvik-indirect.ref/},{name:'Cache',file:/\/dalvik-jit-code-cache/},{name:'Accounting'}]},{name:'Cursor',file:/\/CursorWindow/},{name:'Ashmem'}]},{name:'Native heap',file:/^((\[heap\])|(\[anon:)|(\/dev\/ashmem\/libc malloc)|(\[discounted tracing overhead\])|$)/},{name:'Stack',file:/^\[stack/},{name:'Files',file:/\.((((jar)|(apk)|(ttf)|(odex)|(oat)|(art))$)|(dex)|(so))/,children:[{name:'so',file:/\.so/},{name:'jar',file:/\.jar$/},{name:'apk',file:/\.apk$/},{name:'ttf',file:/\.ttf$/},{name:'dex',file:/\.((dex)|(odex$))/},{name:'oat',file:/\.oat$/},{name:'art',file:/\.art$/}]},{name:'Devices',file:/(^\/dev\/)|(anon_inode:dmabuf)/,children:[{name:'GPU',file:/\/((nv)|(mali)|(kgsl))/},{name:'DMA',file:/anon_inode:dmabuf/}]}]};VMRegionClassificationNode.OTHER_RULE={name:'Other'};VMRegionClassificationNode.fromRegions=function(regions,opt_rules){const tree=new VMRegionClassificationNode(opt_rules);tree.regions_=regions;for(let i=0;i<regions.length;i++){tree.addStatsFromRegion_(regions[i]);} 5165return tree;};VMRegionClassificationNode.prototype={get title(){return this.rule_.name;},get children(){if(this.isLeafNode){return undefined;} 5166if(this.children_===undefined){this.buildTree_();} 5167return this.children_;},get regions(){if(!this.isLeafNode){return undefined;} 5168return this.regions_;},get allRegionsForTesting(){if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');} 5169return this.regions_;} 5170let regions=[];this.children_.forEach(function(childNode){regions=regions.concat(childNode.allRegionsForTesting);});return regions;},get isLeafNode(){const children=this.rule_.children;return children===undefined||children.length===0;},addRegion(region){this.addRegionRecursively_(region,true);},someRegion(fn,opt_this){if(this.regions_!==undefined){return this.regions_.some(fn,opt_this);} 5171return this.children_.some(function(childNode){return childNode.someRegion(fn,opt_this);});},addRegionRecursively_(region,addStatsToThisNode){if(addStatsToThisNode){this.addStatsFromRegion_(region);} 5172if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');} 5173this.regions_.push(region);return;} 5174function regionRowMatchesChildNide(child){const fileRegExp=child.rule_.file;if(fileRegExp===undefined)return true;return fileRegExp.test(region.mappedFile);} 5175let matchedChild=tr.b.findFirstInArray(this.children_,regionRowMatchesChildNide);if(matchedChild===undefined){if(this.children_.length!==this.rule_.children.length){throw new Error('Internal error');} 5176matchedChild=new VMRegionClassificationNode(VMRegionClassificationNode.OTHER_RULE);this.children_.push(matchedChild);} 5177matchedChild.addRegionRecursively_(region,true);},buildTree_(){const cachedRegions=this.regions_;this.regions_=undefined;this.buildChildNodesRecursively_();for(let i=0;i<cachedRegions.length;i++){this.addRegionRecursively_(cachedRegions[i],false);}},buildChildNodesRecursively_(){if(this.children_!==undefined){throw new Error('Internal error: Classification node already has children');} 5178if(this.regions_!==undefined&&this.regions_.length!==0){throw new Error('Internal error: Classification node should have no regions');} 5179if(this.isLeafNode){return;} 5180this.regions_=undefined;this.children_=this.rule_.children.map(function(childRule){const child=new VMRegionClassificationNode(childRule);child.buildChildNodesRecursively_();return child;});},addStatsFromRegion_(region){this.hasRegions=true;const regionSizeInBytes=region.sizeInBytes;if(regionSizeInBytes!==undefined){this.sizeInBytes=(this.sizeInBytes||0)+regionSizeInBytes;} 5181const thisByteStats=this.byteStats;const regionByteStats=region.byteStats;for(const byteStatName in regionByteStats){const regionByteStatValue=regionByteStats[byteStatName];if(regionByteStatValue===undefined)continue;thisByteStats[byteStatName]=(thisByteStats[byteStatName]||0)+regionByteStatValue;}}};return{VMRegion,VMRegionClassificationNode,};});'use strict';tr.exportTo('tr.model',function(){const DISCOUNTED_ALLOCATOR_NAMES=['winheap','malloc'];const TRACING_OVERHEAD_PATH=['allocated_objects','tracing_overhead'];const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const RESIDENT_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME;function getSizeNumericValue(dump,sizeNumericName){const sizeNumeric=dump.numerics[sizeNumericName];if(sizeNumeric===undefined)return 0;return sizeNumeric.value;} 5182function ProcessMemoryDump(globalMemoryDump,process,start){tr.model.ContainerMemoryDump.call(this,start);this.process=process;this.globalMemoryDump=globalMemoryDump;this.totals=undefined;this.vmRegions=undefined;this.heapDumps=undefined;this.tracingOverheadOwnershipSetUp_=false;this.tracingOverheadDiscountedFromVmRegions_=false;} 5183ProcessMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Process memory dump at '+ 5184tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return this.process.userFriendlyName;},get processMemoryDumps(){const dumps={};dumps[this.process.pid]=this;return dumps;},get hasOwnVmRegions(){return this.vmRegions!==undefined;},setUpTracingOverheadOwnership(opt_model){if(this.tracingOverheadOwnershipSetUp_)return;this.tracingOverheadOwnershipSetUp_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined||tracingDump.owns!==undefined){return;} 5185if(tracingDump.owns!==undefined)return;const hasDiscountedFromAllocatorDumps=DISCOUNTED_ALLOCATOR_NAMES.some(function(allocatorName){const allocatorDump=this.getMemoryAllocatorDumpByFullName(allocatorName);if(allocatorDump===undefined){return false;} 5186let nextPathIndex=0;let currentDump=allocatorDump;let currentFullName=allocatorName;for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+ 5187TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=this.getMemoryAllocatorDumpByFullName(childFullName);if(childDump===undefined)break;currentDump=childDump;currentFullName=childFullName;} 5188for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+ 5189TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=new tr.model.MemoryAllocatorDump(currentDump.containerMemoryDump,childFullName);childDump.parent=currentDump;currentDump.children.push(childDump);currentFullName=childFullName;currentDump=childDump;} 5190const ownershipLink=new tr.model.MemoryAllocatorDumpLink(tracingDump,currentDump);tracingDump.owns=ownershipLink;currentDump.ownedBy.push(ownershipLink);return true;},this);if(hasDiscountedFromAllocatorDumps){this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();}},discountTracingOverheadFromVmRegions(opt_model){if(this.tracingOverheadDiscountedFromVmRegions_)return;this.tracingOverheadDiscountedFromVmRegions_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined)return;const discountedSize=getSizeNumericValue(tracingDump,SIZE_NUMERIC_NAME);const discountedResidentSize=getSizeNumericValue(tracingDump,RESIDENT_SIZE_NUMERIC_NAME);if(discountedSize<=0&&discountedResidentSize<=0)return;if(this.totals!==undefined){if(this.totals.residentBytes!==undefined){this.totals.residentBytes-=discountedResidentSize;} 5191if(this.totals.peakResidentBytes!==undefined){this.totals.peakResidentBytes-=discountedResidentSize;}} 5192if(this.vmRegions!==undefined){const hasSizeInBytes=this.vmRegions.sizeInBytes!==undefined;const hasPrivateDirtyResident=this.vmRegions.byteStats.privateDirtyResident!==undefined;const hasProportionalResident=this.vmRegions.byteStats.proportionalResident!==undefined;if((hasSizeInBytes&&discountedSize>0)||((hasPrivateDirtyResident||hasProportionalResident)&&discountedResidentSize>0)){const byteStats={};if(hasPrivateDirtyResident){byteStats.privateDirtyResident=-discountedResidentSize;} 5193if(hasProportionalResident){byteStats.proportionalResident=-discountedResidentSize;} 5194this.vmRegions.addRegion(tr.model.VMRegion.fromDict({mappedFile:'[discounted tracing overhead]',sizeInBytes:hasSizeInBytes?-discountedSize:undefined,byteStats}));}}}};ProcessMemoryDump.hookUpMostRecentVmRegionsLinks=function(processDumps){let mostRecentVmRegions=undefined;processDumps.forEach(function(processDump){if(processDump.vmRegions!==undefined){mostRecentVmRegions=processDump.vmRegions;} 5195processDump.mostRecentVmRegions=mostRecentVmRegions;});};tr.model.EventRegistry.register(ProcessMemoryDump,{name:'processMemoryDump',pluralName:'processMemoryDumps'});return{ProcessMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const ProcessBase=tr.model.ProcessBase;const ProcessInstantEvent=tr.model.ProcessInstantEvent;const Frame=tr.model.Frame;const ProcessMemoryDump=tr.model.ProcessMemoryDump;function Process(model,pid){if(model===undefined){throw new Error('model must be provided');} 5196if(pid===undefined){throw new Error('pid must be provided');} 5197tr.model.ProcessBase.call(this,model);this.pid=pid;this.name=undefined;this.labels=[];this.uptime_seconds=0;this.instantEvents=[];this.memoryDumps=[];this.frames=[];this.activities=[];} 5198Process.compare=function(x,y){let tmp=tr.model.ProcessBase.compare(x,y);if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;tmp=tr.b.compareArrays(x.labels,y.labels,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.pid-y.pid;};Process.prototype={__proto__:tr.model.ProcessBase.prototype,get stableId(){return this.pid;},compareTo(that){return Process.compare(this,that);},*childEvents(){yield*ProcessBase.prototype.childEvents.call(this);yield*this.instantEvents;yield*this.frames;yield*this.memoryDumps;},addLabelIfNeeded(labelName){for(let i=0;i<this.labels.length;i++){if(this.labels[i]===labelName)return;} 5199this.labels.push(labelName);},get userFriendlyName(){let res;if(this.name){res=this.name+' (pid '+this.pid+')';}else{res='Process '+this.pid;} 5200if(this.labels.length){res+=': '+this.labels.join(', ');} 5201if(this.uptime_seconds){res+=', uptime:'+this.uptime_seconds+'s';} 5202return res;},get userFriendlyDetails(){if(this.name){return this.name+' (pid '+this.pid+')';} 5203return'pid: '+this.pid;},getSettingsKey(){if(!this.name)return undefined;if(!this.labels.length)return'processes.'+this.name;return'processes.'+this.name+'.'+this.labels.join('.');},shiftTimestampsForward(amount){for(let i=0;i<this.instantEvents.length;i++){this.instantEvents[i].start+=amount;} 5204for(let i=0;i<this.frames.length;i++){this.frames[i].shiftTimestampsForward(amount);} 5205for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].shiftTimestampsForward(amount);} 5206for(let i=0;i<this.activities.length;i++){this.activities[i].shiftTimestampsForward(amount);} 5207tr.model.ProcessBase.prototype.shiftTimestampsForward.apply(this,arguments);},updateBounds(){tr.model.ProcessBase.prototype.updateBounds.apply(this);for(let i=0;i<this.frames.length;i++){this.frames[i].addBoundsToRange(this.bounds);} 5208for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].addBoundsToRange(this.bounds);} 5209for(let i=0;i<this.activities.length;i++){this.activities[i].addBoundsToRange(this.bounds);}},sortMemoryDumps(){this.memoryDumps.sort(function(x,y){return x.start-y.start;});tr.model.ProcessMemoryDump.hookUpMostRecentVmRegionsLinks(this.memoryDumps);}};return{Process,};});'use strict';tr.exportTo('tr.model',function(){function Sample(start,title,leafNode,thread,opt_cpu,opt_weight,opt_args){tr.model.TimedEvent.call(this,start);this.start_=start;this.title_=title;this.leafNode_=leafNode;this.thread_=thread;this.colorId_=leafNode.colorId;this.cpu_=opt_cpu;this.weight_=opt_weight;this.args=opt_args||{};} 5210Sample.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.title_;},get colorId(){return this.colorId_;},get thread(){return this.thread_;},get leafNode(){return this.leafNode_;},get userFriendlyName(){return'Sample at '+ 5211tr.b.Unit.byName.timeStampInMs.format(this.start);},get userFriendlyStack(){return this.leafNode_.userFriendlyStack;},getNodesAsArray(){const nodes=[];let node=this.leafNode_;while(node!==undefined){nodes.push(node);node=node.parentNode;} 5212return nodes;},get cpu(){return this.cpu_;},get weight(){return this.weight_;},};tr.model.EventRegistry.register(Sample,{name:'Sample',pluralName:'Samples'});return{Sample,};});'use strict';tr.exportTo('tr.model',function(){function StackFrame(parentFrame,id,title,colorId,opt_sourceInfo){if(id===undefined){throw new Error('id must be given');} 5213this.parentFrame_=parentFrame;this.id=id;this.title_=title;this.colorId=colorId;this.children=[];this.sourceInfo_=opt_sourceInfo;if(this.parentFrame_){this.parentFrame_.addChild(this);}} 5214StackFrame.prototype={get parentFrame(){return this.parentFrame_;},get title(){if(this.sourceInfo_){const src=this.sourceInfo_.toString();return this.title_+(src===''?'':' '+src);} 5215return this.title_;},get domain(){let result='unknown';if(this.sourceInfo_&&this.sourceInfo_.domain){result=this.sourceInfo_.domain;} 5216if(result==='unknown'&&this.parentFrame){result=this.parentFrame.domain;} 5217return result;},get sourceInfo(){return this.sourceInfo_;},set parentFrame(parentFrame){if(this.parentFrame_){Polymer.dom(this.parentFrame_).removeChild(this);} 5218this.parentFrame_=parentFrame;if(this.parentFrame_){this.parentFrame_.addChild(this);}},addChild(child){this.children.push(child);},removeChild(child){const i=this.children.indexOf(child.id);if(i===-1){throw new Error('omg');} 5219this.children.splice(i,1);},removeAllChildren(){for(let i=0;i<this.children.length;i++){this.children[i].parentFrame_=undefined;} 5220this.children.splice(0,this.children.length);},get stackTrace(){const stack=[this];let cur=this.parentFrame;while(cur){stack.push(cur);cur=cur.parentFrame;} 5221return stack;},getUserFriendlyStackTrace(){return this.stackTrace.map(function(x){return x.title;});}};return{StackFrame,};});'use strict';tr.exportTo('tr.model.um',function(){class Segment extends tr.model.TimedEvent{constructor(start,duration){super(start);this.duration=duration;this.expectations_=[];} 5222get expectations(){return this.expectations_;} 5223clone(){const clone=new Segment(this.start,this.duration);clone.expectations.push(...this.expectations);return clone;} 5224addSegment(other){this.duration+=other.duration;this.expectations.push(...other.expectations);}} 5225return{Segment,};});'use strict';tr.exportTo('tr.model.um',function(){class UserModel extends tr.model.EventContainer{constructor(parentModel){super();this.parentModel_=parentModel;this.expectations_=new tr.model.EventSet();this.segments_=[];} 5226get stableId(){return'UserModel';} 5227get parentModel(){return this.parentModel_;} 5228sortExpectations(){this.expectations_.sortEvents((x,y)=>(x.start-y.start));} 5229get expectations(){return this.expectations_;} 5230shiftTimestampsForward(amount){} 5231addCategoriesToDict(categoriesDict){} 5232get segments(){return this.segments_;}*childEvents(){yield*this.expectations;}*childEventContainers(){} 5233updateBounds(){this.bounds.reset();for(const expectation of this.expectations){expectation.addBoundsToRange(this.bounds);}} 5234resegment(getKeyForSegment){const newSegments=[];let prevKey=undefined;let prevSegment=undefined;for(let i=0;i<this.segments.length;++i){const segment=this.segments[i];const key=getKeyForSegment(segment,i);if(prevSegment!==undefined&&key===prevKey){prevSegment.addSegment(segment);}else{prevSegment=segment.clone();newSegments.push(prevSegment);} 5235prevKey=key;} 5236return newSegments;}} 5237return{UserModel,};});'use strict';tr.exportTo('tr',function(){const Process=tr.model.Process;const Device=tr.model.Device;const Kernel=tr.model.Kernel;const GlobalMemoryDump=tr.model.GlobalMemoryDump;const GlobalInstantEvent=tr.model.GlobalInstantEvent;const FlowEvent=tr.model.FlowEvent;const Alert=tr.model.Alert;const Sample=tr.model.Sample;function Model(){tr.model.EventContainer.call(this);tr.b.EventTarget.decorate(this);this.timestampShiftToZeroAmount_=0;this.faviconHue='blue';this.device=new Device(this);this.kernel=new Kernel(this);this.processes={};this.metadata=[];this.categories=[];this.instantEvents=[];this.flowEvents=[];this.clockSyncManager=new tr.model.ClockSyncManager();this.intrinsicTimeUnit_=undefined;this.stackFrames={};this.samples=[];this.alerts=[];this.userModel=new tr.model.um.UserModel(this);this.flowIntervalTree=new tr.b.IntervalTree((f)=>f.start,(f)=>f.end);this.globalMemoryDumps=[];this.userFriendlyCategoryDrivers_=[];this.annotationsByGuid_={};this.modelIndices=undefined;this.stats=new tr.model.ModelStats();this.importWarnings_=[];this.reportedImportWarnings_={};this.isTimeHighResolution_=true;this.patchupsToApply_=[];this.doesHelperGUIDSupportThisModel_={};this.helpersByConstructorGUID_={};this.eventsByStableId_=undefined;} 5238Model.prototype={__proto__:tr.model.EventContainer.prototype,getEventByStableId(stableId){if(this.eventsByStableId_===undefined){this.eventsByStableId_={};for(const event of this.getDescendantEvents()){this.eventsByStableId_[event.stableId]=event;}} 5239return this.eventsByStableId_[stableId];},getOrCreateHelper(constructor){if(!constructor.guid){throw new Error('Helper constructors must have GUIDs');} 5240if(this.helpersByConstructorGUID_[constructor.guid]===undefined){if(this.doesHelperGUIDSupportThisModel_[constructor.guid]===undefined){this.doesHelperGUIDSupportThisModel_[constructor.guid]=constructor.supportsModel(this);} 5241if(!this.doesHelperGUIDSupportThisModel_[constructor.guid]){return undefined;} 5242this.helpersByConstructorGUID_[constructor.guid]=new constructor(this);} 5243return this.helpersByConstructorGUID_[constructor.guid];},*childEvents(){yield*this.globalMemoryDumps;yield*this.instantEvents;yield*this.flowEvents;yield*this.alerts;yield*this.samples;},*childEventContainers(){yield this.userModel;yield this.device;yield this.kernel;yield*Object.values(this.processes);},iterateAllPersistableObjects(callback){this.kernel.iterateAllPersistableObjects(callback);for(const pid in this.processes){this.processes[pid].iterateAllPersistableObjects(callback);}},updateBounds(){this.bounds.reset();const bounds=this.bounds;for(const ec of this.childEventContainers()){ec.updateBounds();bounds.addRange(ec.bounds);} 5244for(const event of this.childEvents()){event.addBoundsToRange(bounds);}},shiftWorldToZero(){const shiftAmount=-this.bounds.min;this.timestampShiftToZeroAmount_=shiftAmount;for(const ec of this.childEventContainers()){ec.shiftTimestampsForward(shiftAmount);} 5245for(const event of this.childEvents()){event.start+=shiftAmount;} 5246this.updateBounds();},convertTimestampToModelTime(sourceClockDomainName,ts){if(sourceClockDomainName!=='traceEventClock'){throw new Error('Only traceEventClock is supported.');} 5247return tr.b.Unit.timestampFromUs(ts)+ 5248this.timestampShiftToZeroAmount_;},get numProcesses(){let n=0;for(const p in this.processes){n++;} 5249return n;},getProcess(pid){return this.processes[pid];},getOrCreateProcess(pid){if(!this.processes[pid]){this.processes[pid]=new Process(this,pid);} 5250return this.processes[pid];},addStackFrame(stackFrame){if(this.stackFrames[stackFrame.id]){throw new Error('Stack frame already exists');} 5251this.stackFrames[stackFrame.id]=stackFrame;return stackFrame;},updateCategories_(){const categoriesDict={};this.userModel.addCategoriesToDict(categoriesDict);this.device.addCategoriesToDict(categoriesDict);this.kernel.addCategoriesToDict(categoriesDict);for(const pid in this.processes){this.processes[pid].addCategoriesToDict(categoriesDict);} 5252this.categories=[];for(const category in categoriesDict){if(category!==''){this.categories.push(category);}}},getAllThreads(){const threads=[];for(const tid in this.kernel.threads){threads.push(process.threads[tid]);} 5253for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.threads){threads.push(process.threads[tid]);}} 5254return threads;},getAllProcesses(opt_predicate){const processes=[];for(const pid in this.processes){const process=this.processes[pid];if(opt_predicate===undefined||opt_predicate(process)){processes.push(process);}} 5255return processes;},getAllCounters(){const counters=[];counters.push.apply(counters,Object.values(this.device.counters||{}));counters.push.apply(counters,Object.values(this.kernel.counters||{}));for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.counters){counters.push(process.counters[tid]);}} 5256return counters;},getAnnotationByGUID(guid){return this.annotationsByGuid_[guid];},addAnnotation(annotation){if(!annotation.guid){throw new Error('Annotation with undefined guid given');} 5257this.annotationsByGuid_[annotation.guid]=annotation;tr.b.dispatchSimpleEvent(this,'annotationChange');},removeAnnotation(annotation){this.annotationsByGuid_[annotation.guid].onRemove();delete this.annotationsByGuid_[annotation.guid];tr.b.dispatchSimpleEvent(this,'annotationChange');},getAllAnnotations(){return Object.values(this.annotationsByGuid_);},addUserFriendlyCategoryDriver(ufcd){this.userFriendlyCategoryDrivers_.push(ufcd);},getUserFriendlyCategoryFromEvent(event){for(let i=0;i<this.userFriendlyCategoryDrivers_.length;i++){const ufc=this.userFriendlyCategoryDrivers_[i].fromEvent(event);if(ufc!==undefined)return ufc;} 5258return undefined;},findAllThreadsNamed(name){const namedThreads=[];namedThreads.push.apply(namedThreads,this.kernel.findAllThreadsNamed(name));for(const pid in this.processes){namedThreads.push.apply(namedThreads,this.processes[pid].findAllThreadsNamed(name));} 5259return namedThreads;},get importOptions(){return this.importOptions_;},set importOptions(options){this.importOptions_=options;},get intrinsicTimeUnit(){if(this.intrinsicTimeUnit_===undefined){return tr.b.TimeDisplayModes.ms;} 5260return this.intrinsicTimeUnit_;},set intrinsicTimeUnit(value){if(this.intrinsicTimeUnit_===value)return;if(this.intrinsicTimeUnit_!==undefined){throw new Error('Intrinsic time unit already set');} 5261this.intrinsicTimeUnit_=value;},get isTimeHighResolution(){return this.isTimeHighResolution_;},set isTimeHighResolution(value){this.isTimeHighResolution_=value;},get canonicalUrl(){return this.canonicalUrl_;},set canonicalUrl(value){if(this.canonicalUrl_===value)return;if(this.canonicalUrl_!==undefined){throw new Error('canonicalUrl already set');} 5262this.canonicalUrl_=value;},importWarning(data){data.showToUser=!!data.showToUser;this.importWarnings_.push(data);if(this.reportedImportWarnings_[data.type]===true)return;this.reportedImportWarnings_[data.type]=true;},get hasImportWarnings(){return(this.importWarnings_.length>0);},get importWarnings(){return this.importWarnings_;},get importWarningsThatShouldBeShownToUser(){return this.importWarnings_.filter(function(warning){return warning.showToUser;});},autoCloseOpenSlices(){this.samples.sort(function(x,y){return x.start-y.start;});this.updateBounds();this.kernel.autoCloseOpenSlices();for(const pid in this.processes){this.processes[pid].autoCloseOpenSlices();}},createSubSlices(){this.kernel.createSubSlices();for(const pid in this.processes){this.processes[pid].createSubSlices();}},preInitializeObjects(){for(const pid in this.processes){this.processes[pid].preInitializeObjects();}},initializeObjects(){for(const pid in this.processes){this.processes[pid].initializeObjects();}},pruneEmptyContainers(){this.kernel.pruneEmptyContainers();for(const pid in this.processes){this.processes[pid].pruneEmptyContainers();}},mergeKernelWithUserland(){for(const pid in this.processes){this.processes[pid].mergeKernelWithUserland();}},computeWorldBounds(shiftWorldToZero){this.updateBounds();this.updateCategories_();if(shiftWorldToZero){this.shiftWorldToZero();}},buildFlowEventIntervalTree(){for(let i=0;i<this.flowEvents.length;++i){const flowEvent=this.flowEvents[i];this.flowIntervalTree.insert(flowEvent);} 5263this.flowIntervalTree.updateHighValues();},cleanupUndeletedObjects(){for(const pid in this.processes){this.processes[pid].autoDeleteObjects(this.bounds.max);}},sortMemoryDumps(){this.globalMemoryDumps.sort(function(x,y){return x.start-y.start;});for(const pid in this.processes){this.processes[pid].sortMemoryDumps();}},finalizeMemoryGraphs(){this.globalMemoryDumps.forEach(function(dump){dump.finalizeGraph();});},buildEventIndices(){this.modelIndices=new tr.model.ModelIndices(this);},sortAlerts(){this.alerts.sort(function(x,y){return x.start-y.start;});},applyObjectRefPatchups(){const unresolved=[];this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef in this.processes){const snapshot=this.processes[patchup.pidRef].objects.getSnapshotAt(patchup.scopedId,patchup.ts);if(snapshot){patchup.object[patchup.field]=snapshot;snapshot.referencedAt(patchup.item,patchup.object,patchup.field);return;}} 5264unresolved.push(patchup);},this);this.patchupsToApply_=unresolved;},replacePIDRefsInPatchups(oldPidRef,newPidRef){this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef===oldPidRef){patchup.pidRef=newPidRef;}});},joinRefs(){this.joinObjectRefs_();this.applyObjectRefPatchups();},joinObjectRefs_(){for(const[pid,process]of Object.entries(this.processes)){this.joinObjectRefsForProcess_(pid,process);}},joinObjectRefsForProcess_(pid,process){for(const thread of Object.values(process.threads)){thread.asyncSliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);thread.sliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);} 5265process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(item){this.searchItemForIDRefs_(pid,'ts',item);},this);},this);},searchItemForIDRefs_(pid,itemTimestampField,item){if(!item.args&&!item.contexts)return;const patchupsToApply=this.patchupsToApply_;function handleField(object,fieldName,fieldValue){if(!fieldValue||(!fieldValue.id_ref&&!fieldValue.idRef)){return;} 5266const scope=fieldValue.scope||tr.model.OBJECT_DEFAULT_SCOPE;const idRef=fieldValue.id_ref||fieldValue.idRef;const scopedId=new tr.model.ScopedId(scope,idRef);const pidRef=fieldValue.pid_ref||fieldValue.pidRef||pid;const ts=item[itemTimestampField];patchupsToApply.push({item,object,field:fieldName,pidRef,scopedId,ts});} 5267function iterObjectFieldsRecursively(object){if(!(object instanceof Object))return;if((object instanceof tr.model.ObjectSnapshot)||(object instanceof Float32Array)||(object instanceof tr.b.math.Quad)){return;} 5268if(object instanceof Array){for(let i=0;i<object.length;i++){handleField(object,i,object[i]);iterObjectFieldsRecursively(object[i]);} 5269return;} 5270for(const key in object){const value=object[key];handleField(object,key,value);iterObjectFieldsRecursively(value);}} 5271iterObjectFieldsRecursively(item.args);iterObjectFieldsRecursively(item.contexts);}};return{Model,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const kThreadGuid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadDCStartOpcode=3;function Decoder(){this.payload_=new DataView(new ArrayBuffer(256));} 5272Decoder.prototype={__proto__:Object.prototype,reset(base64Payload){const decodedSize=tr.b.Base64.getDecodedBufferLength(base64Payload);if(decodedSize>this.payload_.byteLength){this.payload_=new DataView(new ArrayBuffer(decodedSize));} 5273tr.b.Base64.DecodeToTypedArray(base64Payload,this.payload_);this.position_=0;},skip(length){this.position_+=length;},decodeUInt8(){const result=this.payload_.getUint8(this.position_,true);this.position_+=1;return result;},decodeUInt16(){const result=this.payload_.getUint16(this.position_,true);this.position_+=2;return result;},decodeUInt32(){const result=this.payload_.getUint32(this.position_,true);this.position_+=4;return result;},decodeUInt64ToString(){const low=this.decodeUInt32();const high=this.decodeUInt32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},decodeInt8(){const result=this.payload_.getInt8(this.position_,true);this.position_+=1;return result;},decodeInt16(){const result=this.payload_.getInt16(this.position_,true);this.position_+=2;return result;},decodeInt32(){const result=this.payload_.getInt32(this.position_,true);this.position_+=4;return result;},decodeInt64ToString(){return this.decodeUInt64ToString();},decodeUInteger(is64){if(is64){return this.decodeUInt64ToString();} 5274return this.decodeUInt32();},decodeString(){let str='';while(true){const c=this.decodeUInt8();if(!c)return str;str=str+String.fromCharCode(c);}},decodeW16String(){let str='';while(true){const c=this.decodeUInt16();if(!c)return str;str=str+String.fromCharCode(c);}},decodeFixedW16String(length){const oldPosition=this.position_;let str='';for(let i=0;i<length;i++){const c=this.decodeUInt16();if(!c)break;str=str+String.fromCharCode(c);} 5275this.position_=oldPosition+2*length;return str;},decodeBytes(length){const bytes=[];for(let i=0;i<length;++i){const c=this.decodeUInt8();bytes.push(c);} 5276return bytes;},decodeSID(is64){const pSid=this.decodeUInteger(is64);const attributes=this.decodeUInt32();if(is64){this.decodeUInt32();} 5277const revision=this.decodeUInt8();const subAuthorityCount=this.decodeUInt8();this.decodeUInt16();this.decodeUInt32();if(revision!==1){throw new Error('Invalid SID revision: could not decode the SID structure.');} 5278const sid=this.decodeBytes(4*subAuthorityCount);return{pSid,attributes,sid};},decodeSystemTime(){const wYear=this.decodeInt16();const wMonth=this.decodeInt16();const wDayOfWeek=this.decodeInt16();const wDay=this.decodeInt16();const wHour=this.decodeInt16();const wMinute=this.decodeInt16();const wSecond=this.decodeInt16();const wMilliseconds=this.decodeInt16();return{wYear,wMonth,wDayOfWeek,wDay,wHour,wMinute,wSecond,wMilliseconds};},decodeTimeZoneInformation(){const bias=this.decodeUInt32();const standardName=this.decodeFixedW16String(32);const standardDate=this.decodeSystemTime();const standardBias=this.decodeUInt32();const daylightName=this.decodeFixedW16String(32);const daylightDate=this.decodeSystemTime();const daylightBias=this.decodeUInt32();return{bias,standardName,standardDate,standardBias,daylightName,daylightDate,daylightBias};}};function EtwImporter(model,events){this.importPriority=3;this.model_=model;this.events_=events;this.handlers_={};this.decoder_=new Decoder();this.walltime_=undefined;this.ticks_=undefined;this.is64bit_=undefined;this.tidsToPid_={};const allTypeInfos=tr.e.importer.etw.Parser.getAllRegisteredTypeInfos();this.parsers_=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);} 5279EtwImporter.canImport=function(events){if(!events.hasOwnProperty('name')||!events.hasOwnProperty('content')||events.name!=='ETW'){return false;} 5280return true;};EtwImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EtwImporter';},get model(){return this.model_;},createThreadIfNeeded(pid,tid){this.tidsToPid_[tid]=pid;},removeThreadIfPresent(tid){this.tidsToPid_[tid]=undefined;},getPidFromWindowsTid(tid){if(tid===0)return 0;const pid=this.tidsToPid_[tid];if(pid===undefined){return 0;} 5281return pid;},getThreadFromWindowsTid(tid){const pid=this.getPidFromWindowsTid(tid);const process=this.model_.getProcess(pid);if(!process)return undefined;return process.getThread(tid);},getOrCreateCpu(cpuNumber){const cpu=this.model_.kernel.getOrCreateCpu(cpuNumber);return cpu;},importEvents(){this.events_.content.forEach(this.parseInfo.bind(this));if(this.walltime_===undefined||this.ticks_===undefined){throw Error('Cannot find clock sync information in the system trace.');} 5282if(this.is64bit_===undefined){throw Error('Cannot determine pointer size of the system trace.');} 5283this.events_.content.forEach(this.parseEvent.bind(this));},importTimestamp(timestamp){const ts=parseInt(timestamp,16);return(ts-this.walltime_+this.ticks_)/1000.;},parseInfo(event){if(event.hasOwnProperty('guid')&&event.hasOwnProperty('walltime')&&event.hasOwnProperty('tick')&&event.guid==='ClockSync'){this.walltime_=parseInt(event.walltime,16);this.ticks_=parseInt(event.tick,16);} 5284if(this.is64bit_===undefined&&event.hasOwnProperty('guid')&&event.hasOwnProperty('op')&&event.hasOwnProperty('ver')&&event.hasOwnProperty('payload')&&event.guid===kThreadGuid&&event.op===kThreadDCStartOpcode){const decodedSize=tr.b.Base64.getDecodedBufferLength(event.payload);if(event.ver===1){if(decodedSize>=52){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===2){if(decodedSize>=64){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===3){if(decodedSize>=60){this.is64bit_=true;}else{this.is64bit_=false;}}} 5285return true;},parseEvent(event){if(!event.hasOwnProperty('guid')||!event.hasOwnProperty('op')||!event.hasOwnProperty('ver')||!event.hasOwnProperty('cpu')||!event.hasOwnProperty('ts')||!event.hasOwnProperty('payload')){return false;} 5286const timestamp=this.importTimestamp(event.ts);const header={guid:event.guid,opcode:event.op,version:event.ver,cpu:event.cpu,timestamp,is64:this.is64bit_};const decoder=this.decoder_;decoder.reset(event.payload);const handler=this.getEventHandler(header.guid,header.opcode);if(!handler)return false;if(!handler(header,decoder)){this.model_.importWarning({type:'parse_error',message:'Malformed '+header.guid+' event ('+event.payload+')'});return false;} 5287return true;},registerEventHandler(guid,opcode,handler){if(this.handlers_[guid]===undefined){this.handlers_[guid]=[];} 5288this.handlers_[guid][opcode]=handler;},getEventHandler(guid,opcode){if(this.handlers_[guid]===undefined){return undefined;} 5289return this.handlers_[guid][opcode];}};tr.importer.Importer.register(EtwImporter);return{EtwImporter,};});'use strict';tr.exportTo('tr.b',function(){class TraceStream{static get HEADER_SIZE(){return Math.pow(2,10);} 5290static get CHUNK_SIZE(){return Math.pow(2,20);} 5291get isBinary(){throw new Error('Not implemented');} 5292get hasData(){throw new Error('Not implemented');} 5293get header(){throw new Error('Not implemented');} 5294readUntilDelimiter(delim){throw new Error('Not implemented');} 5295readNumBytes(opt_size){throw new Error('Not implemented');} 5296rewind(){throw new Error('Not implemented');} 5297substream(offset,opt_length,opt_headerSize){throw new Error('Not implemented');}} 5298return{TraceStream,};});'use strict';tr.exportTo('tr.b',function(){const MAX_FUNCTION_ARGS_COUNT=Math.pow(2,15)-1;class InMemoryTraceStream extends tr.b.TraceStream{constructor(buffer,isBinary,opt_headerSize){super();if(!buffer instanceof Uint8Array){throw new Error('buffer should be a Uint8Array');} 5299const headerSize=opt_headerSize||tr.b.TraceStream.HEADER_SIZE;this.data_=buffer;this.isBinary_=isBinary;this.header_=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(0,headerSize));this.cursor_=0;} 5300get isBinary(){return this.isBinary_;} 5301get hasData(){return this.cursor_<this.data_.length;} 5302get header(){return this.header_;} 5303get data(){return this.data_;} 5304toString(){this.rewind();return this.readNumBytes(Number.MAX_VALUE);} 5305readUntilDelimiter(delim){if(delim.length!==1){throw new Error('delim must be exactly one character');} 5306const offset=this.data_.indexOf(delim.charCodeAt(0),this.cursor_)+1;return this.readToOffset_(offset>0?Math.min(offset,this.data_.length):this.data_.length);} 5307readNumBytes(opt_size){if(opt_size!==undefined&&opt_size<=0){throw new Error(`readNumBytes expects a positive size (${opt_size} given)`);} 5308const size=opt_size||tr.b.TraceStream.CHUNK_SIZE;const offset=Math.min(this.cursor_+size,this.data_.length);return this.readToOffset_(offset);} 5309rewind(){this.cursor_=0;} 5310substream(startOffset,opt_endOffset,opt_headerSize){return new InMemoryTraceStream(this.data_.subarray(startOffset,opt_endOffset),this.isBinary_,opt_headerSize);} 5311readToOffset_(offset){const out=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(this.cursor_,offset));this.cursor_=offset;return out;} 5312static uint8ArrayToString_(arr){const c=[];for(let i=0;i<arr.length;i+=MAX_FUNCTION_ARGS_COUNT){c.push(String.fromCharCode(...arr.subarray(i,i+MAX_FUNCTION_ARGS_COUNT)));} 5313return c.join('');}} 5314return{InMemoryTraceStream,};});!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,f,g,h,i,j="",k=0;k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),e=a.charCodeAt(k++),f=b>>2,g=(3&b)<<4|c>>4,h=(15&c)<<2|e>>6,i=63&e,isNaN(c)?h=i=64:isNaN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return j},c.decode=function(a){var b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)f=d.indexOf(a.charAt(k++)),g=d.indexOf(a.charAt(k++)),h=d.indexOf(a.charAt(k++)),i=d.indexOf(a.charAt(k++)),b=f<<2|g>>4,c=(15&g)<<4|h>>2,e=(3&h)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return j}},{}],2:[function(a,b){"use strict";function c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=c},{}],3:[function(a,b,c){"use strict";c.STORE={magic:"\x00\x00",compress:function(a){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use strict";var c=a("./utils"),d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var e="string"!==c.getTypeOf(a);"undefined"==typeof b&&(b=0);var f=0,g=0,h=0;b=-1^b;for(var i=0,j=a.length;j>i;i++)h=e?a[i]:a.charCodeAt(i),g=255&(b^h),f=d[g],b=b>>>8^f;return-1^b}},{"./utils":21}],5:[function(a,b){"use strict";function c(){this.data=null,this.length=0,this.index=0}var d=a("./utils");c.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<a||0>a)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return d.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=c},{"./utils":21}],6:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.comment=null},{}],7:[function(a,b,c){"use strict";var d=a("./utils");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo("uint8array",a)},c.uint8Array2String=function(a){return d.transformTo("string",a)},c.string2Blob=function(a){var b=d.transformTo("arraybuffer",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{"./utils":21}],8:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,e=a("pako");c.uncompressInputType=d?"uint8array":"array",c.compressInputType=d?"uint8array":"array",c.magic="\b\x00",c.compress=function(a){return e.deflateRaw(a)},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:24}],9:[function(a,b){"use strict";function c(a,b){return this instanceof c?(this.files={},this.comment=null,this.root="",a&&this.load(a,b),void(this.clone=function(){var a=new c;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a})):new c(a,b)}var d=a("./base64");c.prototype=a("./object"),c.prototype.load=a("./load"),c.support=a("./support"),c.defaults=a("./defaults"),c.utils=a("./deprecatedPublicUtils"),c.base64={encode:function(a){return d.encode(a)},decode:function(a){return d.decode(a)}},c.compressions=a("./compressions"),b.exports=c},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(a,b){"use strict";var c=a("./base64"),d=a("./zipEntries");b.exports=function(a,b){var e,f,g,h;for(b=b||{},b.base64&&(a=c.decode(a)),f=new d(a,b),e=f.files,g=0;g<e.length;g++)h=e[g],this.file(h.fileName,h.decompressed,{binary:!0,optimizedBinaryString:!0,date:h.date,dir:h.dir,comment:h.fileComment.length?h.fileComment:null,createFolders:b.createFolders});return f.zipComment.length&&(this.comment=f.zipComment),this}},{"./base64":1,"./zipEntries":22}],11:[function(a,b){(function(a){"use strict";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],12:[function(a,b){"use strict";function c(a){this.data=a,this.length=this.data.length,this.index=0}var d=a("./uint8ArrayReader");c.prototype=new d,c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./uint8ArrayReader":18}],13:[function(a,b){"use strict";var c=a("./support"),d=a("./utils"),e=a("./crc32"),f=a("./signature"),g=a("./defaults"),h=a("./base64"),i=a("./compressions"),j=a("./compressedObject"),k=a("./nodeBuffer"),l=a("./utf8"),m=a("./stringWriter"),n=a("./uint8ArrayWriter"),o=function(a){if(a._data instanceof j&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,"uint8array"===d.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},p=function(a){var b=o(a),e=d.getTypeOf(b);return"string"===e?!a.options.binary&&c.nodebuffer?k(b,"utf-8"):a.asBinary():b},q=function(a){var b=o(this);return null===b||"undefined"==typeof b?"":(this.options.base64&&(b=h.decode(b)),b=a&&this.options.binary?A.utf8decode(b):d.transformTo("string",b),a||this.options.binary||(b=d.transformTo("string",A.utf8encode(b))),b)},r=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};r.prototype={asText:function(){return q.call(this,!0)},asBinary:function(){return q.call(this,!1)},asNodeBuffer:function(){var a=p(this);return d.transformTo("nodebuffer",a)},asUint8Array:function(){var a=p(this);return d.transformTo("uint8array",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var s=function(a,b){var c,d="";for(c=0;b>c;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},t=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=t(a,g),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var e,f=d.getTypeOf(b);if(c=u(c),c.createFolders&&(e=w(a))&&x.call(this,e,!0),c.dir||null===b||"undefined"==typeof b)c.base64=!1,c.binary=!1,b=null;else if("string"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=d.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof j))throw new Error("The data of '"+a+"' is in an unsupported format !");"arraybuffer"===f&&(b=d.transformTo("uint8array",b))}var g=new r(a,b,c);return this.files[a]=g,g},w=function(a){"/"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},x=function(a,b){return"/"!=a.slice(-1)&&(a+="/"),b="undefined"!=typeof b?b:!1,this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},y=function(a,b){var c,f=new j;return a._data instanceof j?(f.uncompressedSize=a._data.uncompressedSize,f.crc32=a._data.crc32,0===f.uncompressedSize||a.dir?(b=i.STORE,f.compressedContent="",f.crc32=0):a._data.compressionMethod===b.magic?f.compressedContent=a._data.getCompressedContent():(c=a._data.getContent(),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c)))):(c=p(a),(!c||0===c.length||a.dir)&&(b=i.STORE,c=""),f.uncompressedSize=c.length,f.crc32=e(c),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c))),f.compressedSize=f.compressedContent.length,f.compressionMethod=b.magic,f},z=function(a,b,c,g){var h,i,j,k,m=(c.compressedContent,d.transformTo("string",l.utf8encode(b.name))),n=b.comment||"",o=d.transformTo("string",l.utf8encode(n)),p=m.length!==b.name.length,q=o.length!==n.length,r=b.options,t="",u="",v="";j=b._initialMetadata.dir!==b.dir?b.dir:r.dir,k=b._initialMetadata.date!==b.date?b.date:r.date,h=k.getHours(),h<<=6,h|=k.getMinutes(),h<<=5,h|=k.getSeconds()/2,i=k.getFullYear()-1980,i<<=4,i|=k.getMonth()+1,i<<=5,i|=k.getDate(),p&&(u=s(1,1)+s(e(m),4)+m,t+="up"+s(u.length,2)+u),q&&(v=s(1,1)+s(this.crc32(o),4)+o,t+="uc"+s(v.length,2)+v);var w="";w+="\n\x00",w+=p||q?"\x00\b":"\x00\x00",w+=c.compressionMethod,w+=s(h,2),w+=s(i,2),w+=s(c.crc32,4),w+=s(c.compressedSize,4),w+=s(c.uncompressedSize,4),w+=s(m.length,2),w+=s(t.length,2);var x=f.LOCAL_FILE_HEADER+w+m+t,y=f.CENTRAL_FILE_HEADER+"\x00"+w+s(o.length,2)+"\x00\x00\x00\x00"+(j===!0?"\x00\x00\x00":"\x00\x00\x00\x00")+s(g,4)+m+t+o;return{fileRecord:x,dirRecord:y,compressedObject:c}},A={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(a){var b,c,d,e,f=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],e=new r(d.name,d._data,t(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,e)&&f.push(e));return f},file:function(a,b,c){if(1===arguments.length){if(d.isRegExp(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=x.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!=a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=t(a||{},{base64:!0,compression:"STORE",type:"base64",comment:null}),d.checkSupport(a.type);var b,c,e=[],g=0,j=0,k=d.transformTo("string",this.utf8encode(a.comment||this.comment||""));for(var l in this.files)if(this.files.hasOwnProperty(l)){var o=this.files[l],p=o.options.compression||a.compression.toUpperCase(),q=i[p];if(!q)throw new Error(p+" is not a valid compression method !");var r=y.call(this,o,q),u=z.call(this,l,o,r,g);g+=u.fileRecord.length+r.compressedSize,j+=u.dirRecord.length,e.push(u)}var v="";v=f.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+s(e.length,2)+s(e.length,2)+s(j,4)+s(g,4)+s(k.length,2)+k;var w=a.type.toLowerCase();for(b="uint8array"===w||"arraybuffer"===w||"blob"===w||"nodebuffer"===w?new n(g+j+v.length):new m(g+j+v.length),c=0;c<e.length;c++)b.append(e[c].fileRecord),b.append(e[c].compressedObject.compressedContent);for(c=0;c<e.length;c++)b.append(e[c].dirRecord);b.append(v);var x=b.finalize();switch(a.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return d.transformTo(a.type.toLowerCase(),x);case"blob":return d.arrayBuffer2Blob(d.transformTo("arraybuffer",x));case"base64":return a.base64?h.encode(x):x;default:return x}},crc32:function(a,b){return e(a,b)},utf8encode:function(a){return d.transformTo("string",l.utf8encode(a))},utf8decode:function(a){return l.utf8decode(a)}};b.exports=A},{"./base64":1,"./compressedObject":2,"./compressions":3,"./crc32":4,"./defaults":6,"./nodeBuffer":11,"./signature":14,"./stringWriter":16,"./support":17,"./uint8ArrayWriter":19,"./utf8":20,"./utils":21}],14:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],15:[function(a,b){"use strict";function c(a,b){this.data=a,b||(this.data=e.string2binary(this.data)),this.length=this.data.length,this.index=0}var d=a("./dataReader"),e=a("./utils");c.prototype=new d,c.prototype.byteAt=function(a){return this.data.charCodeAt(a)},c.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)},c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5,"./utils":21}],16:[function(a,b){"use strict";var c=a("./utils"),d=function(){this.data=[]};d.prototype={append:function(a){a=c.transformTo("string",a),this.data.push(a)},finalize:function(){return this.data.join("")}},b.exports=d},{"./utils":21}],17:[function(a,b,c){(function(a){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof a,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:"application/zip"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob("application/zip").size}catch(d){c.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],18:[function(a,b){"use strict";function c(a){a&&(this.data=a,this.length=this.data.length,this.index=0)}var d=a("./dataReader");c.prototype=new d,c.prototype.byteAt=function(a){return this.data[a]},c.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f;return-1},c.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5}],19:[function(a,b){"use strict";var c=a("./utils"),d=function(a){this.data=new Uint8Array(a),this.index=0};d.prototype={append:function(a){0!==a.length&&(a=c.transformTo("uint8array",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=d},{"./utils":21}],20:[function(a,b,c){"use strict";for(var d=a("./utils"),e=a("./support"),f=a("./nodeBuffer"),g=new Array(256),h=0;256>h;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;h>b;)if(e=a[b++],128>e)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&h>b;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:65536>e?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,"utf-8"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo("nodebuffer",a).toString("utf-8");a=d.transformTo(e.uint8array?"uint8array":"array",a);for(var b=[],c=0,f=a.length,g=65536;f>c;){var h=j(a,Math.min(c+g,f));b.push(e.uint8array?k(a.subarray(c,h)):k(a.slice(c,h))),c=h}return b.join("")}},{"./nodeBuffer":11,"./support":17,"./utils":21}],21:[function(a,b,c){"use strict";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k="",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;e>g&&b>1;)try{d.push("array"===f||"nodebuffer"===f?String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e))):String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join("")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a("./support"),i=a("./compressions"),j=a("./nodeBuffer");c.string2binary=function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a){c.checkSupport("blob");try{return new Blob([a],{type:"application/zip"})}catch(b){try{var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,e=new d;return e.append(a),e.getBlob("application/zip")}catch(b){throw new Error("Bug : can't construct the Blob.")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":h.nodebuffer&&j.test(a)?"nodebuffer":h.uint8array&&a instanceof Uint8Array?"uint8array":h.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this browser")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(16>b?"0":"")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}},{"./compressions":3,"./nodeBuffer":11,"./support":17}],22:[function(a,b){"use strict";function c(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var d=a("./stringReader"),e=a("./nodeBufferReader"),f=a("./uint8ArrayReader"),g=a("./utils"),h=a("./signature"),i=a("./zipEntry"),j=a("./support"),k=a("./object");c.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error("Corrupted zip or bug : unexpected signature ("+g.pretty(b)+", expected "+g.pretty(a)+")")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=k.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;d>e;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(h.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===h.CENTRAL_FILE_HEADER;)a=new i({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(h.CENTRAL_DIRECTORY_END);if(-1===a)throw new Error("Corrupted zip : can't find end of central directory");if(this.reader.setIndex(a),this.checkSignature(h.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===g.MAX_VALUE_16BITS||this.diskWithCentralDirStart===g.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===g.MAX_VALUE_16BITS||this.centralDirRecords===g.MAX_VALUE_16BITS||this.centralDirSize===g.MAX_VALUE_32BITS||this.centralDirOffset===g.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),-1===a)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");this.reader.setIndex(a),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(a){var b=g.getTypeOf(a);this.reader="string"!==b||j.uint8array?"nodebuffer"===b?new e(a):new f(g.transformTo("uint8array",a)):new d(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=c},{"./nodeBufferReader":12,"./object":13,"./signature":14,"./stringReader":15,"./support":17,"./uint8ArrayReader":18,"./utils":21,"./zipEntry":23}],23:[function(a,b){"use strict";function c(a,b){this.options=a,this.loadOptions=b}var d=a("./stringReader"),e=a("./utils"),f=a("./compressedObject"),g=a("./object");c.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,f){return function(){var a=e.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==f)throw new Error("Bug : uncompressed data size mismatch");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readString(this.fileNameLength),a.skip(c),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(b=e.findCompression(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+e.pretty(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new f,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=e.transformTo("string",this.decompressed.getContent()),g.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(a){if(this.versionMadeBy=a.readString(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=a.readString(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readString(this.fileCommentLength),this.dir=16&this.externalFileAttributes?!0:!1},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=new d(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){if(this.useUTF8())this.fileName=g.utf8decode(this.fileName),this.fileComment=g.utf8decode(this.fileComment);else{var a=this.findExtraFieldUnicodePath();null!==a&&(this.fileName=a);var b=this.findExtraFieldUnicodeComment();null!==b&&(this.fileComment=b)}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileName)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileComment)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null}},b.exports=c},{"./compressedObject":2,"./object":13,"./stringReader":15,"./utils":21}],24:[function(a,b){"use strict";var c=a("./lib/utils/common").assign,d=a("./lib/deflate"),e=a("./lib/inflate"),f=a("./lib/zlib/constants"),g={};c(g,d,e,f),b.exports=g},{"./lib/deflate":25,"./lib/inflate":26,"./lib/utils/common":27,"./lib/zlib/constants":30}],25:[function(a,b,c){"use strict";function d(a,b){var c=new s(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}function f(a,b){return b=b||{},b.gzip=!0,d(a,b)}var g=a("./zlib/deflate.js"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=0,m=4,n=0,o=1,p=-1,q=0,r=8,s=function(a){this.options=h.assign({level:p,method:r,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=g.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==n)throw new Error(j[c]);b.header&&g.deflateSetHeader(this.strm,b.header)};s.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeof a?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new h.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)return this.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);return d===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";function d(a,b){var c=new m(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}var f=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)throw new Error(j[c]);this.header=new l,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){var c,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeof a?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new g.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)return this.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);return c===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],28:[function(a,b,c){"use strict";function d(a,b){if(65537>b&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;b>d;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;256>j;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=new e.Buf8(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;d>c;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;h>c;)if(f=a[c++],128>f)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&h>c;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:65536>f?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":27}],29:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],30:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],32:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+hb-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<hb)););}while(a.lookahead<jb&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c)),a.match_length>=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function p(a,b){for(var c,d,e;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=hb-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===hb&&a.strstart-a.match_start>4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=hb-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sb}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sb}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ib){if(m(a),a.lookahead<=ib&&b===H)return sb;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+hb-1)/hb),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=c},{}],34:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.correct){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],35:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.correct=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.correct=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab=0,Bb=new r.Buf8(4),Cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xb=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<<wb,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=lb;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=lb;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=lb;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Cb[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have<c.nlen+c.ndist;){for(;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(rb&&0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.lencode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<<c.distbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.distcode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.correct){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=lb;break}m=0,n=0}c.mode=jb;case jb:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=lb;break}m=0,n=0}c.mode=kb;case kb:xb=D;break a;case lb:xb=G;break a;case mb:return H;case nb:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<lb&&(c.mode<ib||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=mb,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===bb||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xb===C&&(xb=I),xb)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,ab=19,bb=20,cb=21,db=22,eb=23,fb=24,gb=25,hb=26,ib=27,jb=28,kb=29,lb=30,mb=31,nb=32,ob=852,pb=592,qb=15,rb=qb,sb=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";var c=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new c.Buf16(d+1),Q=new c.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<<ab[d];a++)gb[e++]=d;for(e>>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<<ab[d]-7;a++)gb[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=hb[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ib[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=ab[i],0!==j&&(d-=jb[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ab=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":27}],39:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}]},{},[9])(9)});'use strict';if(tr.isVinn){global.window={};}'use strict';if(tr.isVinn){global.JSZip=global.window.JSZip;global.window=undefined;}else if(tr.isNode){const jsZipAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/jszip.min.js');const jsZipModule=require(jsZipAbsPath);global.JSZip=jsZipModule;}'use strict';tr.exportTo('tr.e.importer',function(){const GZIP_MEMBER_HEADER_ID_SIZE=3;const GZIP_HEADER_ID1=0x1f;const GZIP_HEADER_ID2=0x8b;const GZIP_DEFLATE_COMPRESSION=8;function GzipImporter(model,eventData){this.inflateAsTraceStream=false;if(typeof(eventData)==='string'||eventData instanceof String){eventData=JSZip.utils.transformTo('uint8array',eventData);}else if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}else if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.data;this.inflateAsTraceStream_=true;}else{throw new Error('Unknown gzip data format');} 5315this.model_=model;this.gzipData_=eventData;} 5316GzipImporter.canImport=function(eventData){if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.header;} 5317let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,GZIP_MEMBER_HEADER_ID_SIZE));}else if(typeof(eventData)==='string'||eventData instanceof String){header=eventData.substring(0,GZIP_MEMBER_HEADER_ID_SIZE);header=JSZip.utils.transformTo('uint8array',header);}else{return false;} 5318return header[0]===GZIP_HEADER_ID1&&header[1]===GZIP_HEADER_ID2&&header[2]===GZIP_DEFLATE_COMPRESSION;};GzipImporter.inflateGzipData_=function(data){let position=0;function getByte(){if(position>=data.length){throw new Error('Unexpected end of gzip data');} 5319return data[position++];} 5320function getWord(){const low=getByte();const high=getByte();return(high<<8)+low;} 5321function skipBytes(amount){position+=amount;} 5322function skipZeroTerminatedString(){while(getByte()!==0){}} 5323const id1=getByte();const id2=getByte();if(id1!==GZIP_HEADER_ID1||id2!==GZIP_HEADER_ID2){throw new Error('Not gzip data');} 5324const compressionMethod=getByte();if(compressionMethod!==GZIP_DEFLATE_COMPRESSION){throw new Error('Unsupported compression method: '+compressionMethod);} 5325const flags=getByte();const haveHeaderCrc=flags&(1<<1);const haveExtraFields=flags&(1<<2);const haveFileName=flags&(1<<3);const haveComment=flags&(1<<4);skipBytes(4+1+1);if(haveExtraFields){const bytesToSkip=getWord();skipBytes(bytesToSkip);} 5326if(haveFileName)skipZeroTerminatedString();if(haveComment)skipZeroTerminatedString();if(haveHeaderCrc)getWord();const inflatedData=JSZip.compressions.DEFLATE.uncompress(data.subarray(position));if(this.inflateAsTraceStream_){return GzipImporter.transformToStream(inflatedData);} 5327let string;try{string=GzipImporter.transformToString(inflatedData);}catch(err){return GzipImporter.transformToStream(inflatedData);} 5328if(inflatedData.length>0&&string.length===0){throw new RangeError('Inflated gzip data too long to fit into a string'+' ('+inflatedData.length+').');} 5329return string;};GzipImporter.transformToStream=function(data){const type=JSZip.utils.getTypeOf(data);if(type==='uint8array')return new tr.b.InMemoryTraceStream(data,false);throw new Error(`Cannot transform ${type} to TraceStream.`);};GzipImporter.transformToString=function(data){if(typeof TextDecoder==='undefined'){return JSZip.utils.transformTo('string',data);} 5330const type=JSZip.utils.getTypeOf(data);if(type==='string')return data;if(type==='array'){data=new Uint8Array(data);} 5331const decoder=new TextDecoder('utf-8');return decoder.decode(data);};GzipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GzipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const eventData=GzipImporter.inflateGzipData_(this.gzipData_);return eventData?[eventData]:[];}};tr.importer.Importer.register(GzipImporter);return{GzipImporter,};});'use strict';tr.exportTo('tr.importer',function(){class SimpleLineReader{constructor(text){this.data_=text instanceof tr.b.TraceStream?text:text.split('\n');this.curLine_=0;this.readLastLine_=false;this.savedLines_=undefined;}*[Symbol.iterator](){let lastLine=undefined;while(this.hasData_){if(this.readLastLine_){this.curLine_++;this.readLastLine_=false;}else if(this.data_ instanceof tr.b.TraceStream){this.curLine_++;const line=this.data_.readUntilDelimiter('\n');lastLine=line.endsWith('\n')?line.slice(0,-1):line;}else{this.curLine_++;lastLine=this.data_[this.curLine_-1];} 5332yield lastLine;}} 5333get curLineNumber(){return this.curLine_;} 5334get hasData_(){if(this.data_ instanceof tr.b.TraceStream)return this.data_.hasData;return this.curLine_<this.data_.length;} 5335advanceToLineMatching(regex){for(const line of this){if(this.savedLines_!==undefined)this.savedLines_.push(line);if(regex.test(line)){this.goBack_();return true;}} 5336return false;} 5337goBack_(){if(this.readLastLine_){throw new Error('There should be at least one nextLine call between '+'any two goBack calls.');} 5338if(this.curLine_===0){throw new Error('There should be at least one nextLine call before '+'the first goBack call.');} 5339this.readLastLine_=true;this.curLine_--;} 5340beginSavingLines(){this.savedLines_=[];} 5341endSavingLinesAndGetResult(){const tmp=this.savedLines_;this.savedLines_=undefined;return tmp;}} 5342return{SimpleLineReader,};});'use strict';tr.exportTo('tr.e.importer',function(){function Trace2HTMLImporter(model,events){this.importPriority=0;} 5343Trace2HTMLImporter.subtraces_=[];function _extractEventsFromHTML(text){Trace2HTMLImporter.subtraces_=[];const r=new tr.importer.SimpleLineReader(text);while(true){if(!r.advanceToLineMatching(new RegExp('^<\s*script id="viewer-data" '+'type="(application\/json|text\/plain)">$'))){break;} 5344r.beginSavingLines();if(!r.advanceToLineMatching(/^<\/\s*script>$/))return;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);const data64=rawEvents.join('\n');const buffer=new ArrayBuffer(tr.b.Base64.getDecodedBufferLength(data64));const len=tr.b.Base64.DecodeToTypedArray(data64,new DataView(buffer));Trace2HTMLImporter.subtraces_.push(buffer.slice(0,len));}} 5345function _canImportFromHTML(text){if(!/^<!DOCTYPE html>/.test(text))return false;_extractEventsFromHTML(text);if(Trace2HTMLImporter.subtraces_.length===0)return false;return true;} 5346Trace2HTMLImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)return false;return _canImportFromHTML(events);};Trace2HTMLImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'Trace2HTMLImporter';},isTraceDataContainer(){return true;},extractSubtraces(){return Trace2HTMLImporter.subtraces_;},importEvents(){}};tr.importer.Importer.register(Trace2HTMLImporter);return{Trace2HTMLImporter,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function SplayTree(){} 5347SplayTree.prototype.root_=null;SplayTree.prototype.isEmpty=function(){return!this.root_;};SplayTree.prototype.insert=function(key,value){if(this.isEmpty()){this.root_=new SplayTree.Node(key,value);return;} 5348this.splay_(key);if(this.root_.key===key){return;} 5349const node=new SplayTree.Node(key,value);if(key>this.root_.key){node.left=this.root_;node.right=this.root_.right;this.root_.right=null;}else{node.right=this.root_;node.left=this.root_.left;this.root_.left=null;} 5350this.root_=node;};SplayTree.prototype.remove=function(key){if(this.isEmpty()){throw Error('Key not found: '+key);} 5351this.splay_(key);if(this.root_.key!==key){throw Error('Key not found: '+key);} 5352const removed=this.root_;if(!this.root_.left){this.root_=this.root_.right;}else{const right=this.root_.right;this.root_=this.root_.left;this.splay_(key);this.root_.right=right;} 5353return removed;};SplayTree.prototype.find=function(key){if(this.isEmpty())return null;this.splay_(key);return this.root_.key===key?this.root_:null;};SplayTree.prototype.findMin=function(){if(this.isEmpty())return null;let current=this.root_;while(current.left){current=current.left;} 5354return current;};SplayTree.prototype.findMax=function(opt_startNode){if(this.isEmpty())return null;let current=opt_startNode||this.root_;while(current.right){current=current.right;} 5355return current;};SplayTree.prototype.findGreatestLessThan=function(key){if(this.isEmpty())return null;this.splay_(key);if(this.root_.key<=key){return this.root_;} 5356if(this.root_.left){return this.findMax(this.root_.left);} 5357return null;};SplayTree.prototype.exportKeysAndValues=function(){const result=[];this.traverse_(function(node){result.push([node.key,node.value]);});return result;};SplayTree.prototype.exportValues=function(){const result=[];this.traverse_(function(node){result.push(node.value);});return result;};SplayTree.prototype.splay_=function(key){if(this.isEmpty())return;const dummy=new SplayTree.Node(null,null);let left=dummy;let right=dummy;let current=this.root_;while(true){if(key<current.key){if(!current.left){break;} 5358if(key<current.left.key){const tmp=current.left;current.left=tmp.right;tmp.right=current;current=tmp;if(!current.left){break;}} 5359right.left=current;right=current;current=current.left;}else if(key>current.key){if(!current.right){break;} 5360if(key>current.right.key){const tmp=current.right;current.right=tmp.left;tmp.left=current;current=tmp;if(!current.right){break;}} 5361left.right=current;left=current;current=current.right;}else{break;}} 5362left.right=current.left;right.left=current.right;current.left=dummy.right;current.right=dummy.left;this.root_=current;};SplayTree.prototype.traverse_=function(f){const nodesToVisit=[this.root_];while(nodesToVisit.length>0){const node=nodesToVisit.shift();if(node===null)continue;f(node);nodesToVisit.push(node.left);nodesToVisit.push(node.right);}};SplayTree.Node=function(key,value){this.key=key;this.value=value;};SplayTree.Node.prototype.left=null;SplayTree.Node.prototype.right=null;return{SplayTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CodeMap(){this.dynamics_=new tr.e.importer.v8.SplayTree();this.dynamicsNameGen_=new tr.e.importer.v8.CodeMap.NameGenerator();this.statics_=new tr.e.importer.v8.SplayTree();this.libraries_=new tr.e.importer.v8.SplayTree();this.pages_=[];} 5363CodeMap.PAGE_ALIGNMENT=12;CodeMap.PAGE_SIZE=1<<CodeMap.PAGE_ALIGNMENT;CodeMap.prototype.addCode=function(start,codeEntry){this.deleteAllCoveredNodes_(this.dynamics_,start,start+codeEntry.size);this.dynamics_.insert(start,codeEntry);};CodeMap.prototype.moveCode=function(from,to){const removedNode=this.dynamics_.remove(from);this.deleteAllCoveredNodes_(this.dynamics_,to,to+removedNode.value.size);this.dynamics_.insert(to,removedNode.value);};CodeMap.prototype.deleteCode=function(start){const removedNode=this.dynamics_.remove(start);};CodeMap.prototype.addLibrary=function(start,codeEntry){this.markPages_(start,start+codeEntry.size);this.libraries_.insert(start,codeEntry);};CodeMap.prototype.addStaticCode=function(start,codeEntry){this.statics_.insert(start,codeEntry);};CodeMap.prototype.markPages_=function(start,end){for(let addr=start;addr<=end;addr+=CodeMap.PAGE_SIZE){this.pages_[addr>>>CodeMap.PAGE_ALIGNMENT]=1;}};CodeMap.prototype.deleteAllCoveredNodes_=function(tree,start,end){const toDelete=[];let addr=end-1;while(addr>=start){const node=tree.findGreatestLessThan(addr);if(!node)break;const start2=node.key;const end2=start2+node.value.size;if(start2<end&&start<end2)toDelete.push(start2);addr=start2-1;} 5364for(let i=0,l=toDelete.length;i<l;++i)tree.remove(toDelete[i]);};CodeMap.prototype.isAddressBelongsTo_=function(addr,node){return addr>=node.key&&addr<(node.key+node.value.size);};CodeMap.prototype.findInTree_=function(tree,addr){const node=tree.findGreatestLessThan(addr);return node&&this.isAddressBelongsTo_(addr,node)?node.value:null;};CodeMap.prototype.findEntryInLibraries=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.libraries_,addr);} 5365return undefined;};CodeMap.prototype.findEntry=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.statics_,addr)||this.findInTree_(this.libraries_,addr);} 5366const min=this.dynamics_.findMin();const max=this.dynamics_.findMax();if(max!==null&&addr<(max.key+max.value.size)&&addr>=min.key){const dynaEntry=this.findInTree_(this.dynamics_,addr);if(dynaEntry===null)return null;if(!dynaEntry.nameUpdated_){dynaEntry.name=this.dynamicsNameGen_.getName(dynaEntry.name);dynaEntry.nameUpdated_=true;} 5367return dynaEntry;} 5368return null;};CodeMap.prototype.findDynamicEntryByStartAddress=function(addr){const node=this.dynamics_.find(addr);return node?node.value:null;};CodeMap.prototype.getAllDynamicEntries=function(){return this.dynamics_.exportValues();};CodeMap.prototype.getAllDynamicEntriesWithAddresses=function(){return this.dynamics_.exportKeysAndValues();};CodeMap.prototype.getAllStaticEntries=function(){return this.statics_.exportValues();};CodeMap.prototype.getAllLibrariesEntries=function(){return this.libraries_.exportValues();};CodeMap.CodeState={COMPILED:0,OPTIMIZABLE:1,OPTIMIZED:2};CodeMap.CodeEntry=function(size,opt_name,opt_type){this.id=tr.b.GUID.allocateSimple();this.size=size;this.name_=opt_name||'';this.type=opt_type||'';this.nameUpdated_=false;};CodeMap.CodeEntry.prototype={__proto__:Object.prototype,get name(){return this.name_;},set name(value){this.name_=value;},toString(){this.name_+': '+this.size.toString(16);}};CodeMap.CodeEntry.TYPE={SHARED_LIB:'SHARED_LIB',CPP:'CPP'};CodeMap.DynamicFuncCodeEntry=function(size,type,func,state){CodeMap.CodeEntry.call(this,size,'',type);this.func=func;this.state=state;};CodeMap.DynamicFuncCodeEntry.STATE_PREFIX=['','~','*'];CodeMap.DynamicFuncCodeEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){return CodeMap.DynamicFuncCodeEntry.STATE_PREFIX[this.state]+ 5369this.func.name;},set name(value){this.name_=value;},getRawName(){return this.func.getName();},isJSFunction(){return true;},toString(){return this.type+': '+this.name+': '+this.size.toString(16);}};CodeMap.FunctionEntry=function(name){CodeMap.CodeEntry.call(this,0,name);};CodeMap.FunctionEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){let name=this.name_;if(name.length===0){name='<anonymous>';}else if(name.charAt(0)===' '){name='<anonymous>'+name;} 5370return name;},set name(value){this.name_=value;}};CodeMap.NameGenerator=function(){this.knownNames_={};};CodeMap.NameGenerator.prototype.getName=function(name){if(!(name in this.knownNames_)){this.knownNames_[name]=0;return name;} 5371const count=++this.knownNames_[name];return name+' {'+count+'}';};return{CodeMap,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CsvParser(){} 5372CsvParser.CSV_FIELD_RE_=/^"((?:[^"]|"")*)"|([^,]*)/;CsvParser.DOUBLE_QUOTE_RE_=/""/g;CsvParser.prototype.parseLine=function(line){const fieldRe=CsvParser.CSV_FIELD_RE_;const doubleQuoteRe=CsvParser.DOUBLE_QUOTE_RE_;let pos=0;const endPos=line.length;const fields=[];if(endPos>0){do{const fieldMatch=fieldRe.exec(line.substr(pos));if(typeof fieldMatch[1]==='string'){const field=fieldMatch[1];pos+=field.length+3;fields.push(field.replace(doubleQuoteRe,'"'));}else{const field=fieldMatch[2];pos+=field.length+1;fields.push(field);}}while(pos<=endPos);} 5373return fields;};function LogReader(dispatchTable){this.dispatchTable_=dispatchTable;this.lineNum_=0;this.csvParser_=new CsvParser();} 5374LogReader.prototype.printError=function(str){};LogReader.prototype.processLogChunk=function(chunk){this.processLog_(chunk.split('\n'));};LogReader.prototype.processLogLine=function(line){this.processLog_([line]);};LogReader.prototype.processStack=function(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}} 5375return fullStack;};LogReader.prototype.skipDispatch=function(dispatch){return false;};LogReader.prototype.dispatchLogRow_=function(fields){const command=fields[0];if(!(command in this.dispatchTable_))return;const dispatch=this.dispatchTable_[command];if(dispatch===null||this.skipDispatch(dispatch)){return;} 5376const parsedFields=[];for(let i=0;i<dispatch.parsers.length;++i){const parser=dispatch.parsers[i];if(parser===null){parsedFields.push(fields[1+i]);}else if(typeof parser==='function'){parsedFields.push(parser(fields[1+i]));}else{parsedFields.push(fields.slice(1+i));break;}} 5377dispatch.processor.apply(this,parsedFields);};LogReader.prototype.processLog_=function(lines){for(let i=0,n=lines.length;i<n;++i,++this.lineNum_){const line=lines[i];if(!line){continue;} 5378try{const fields=this.csvParser_.parseLine(line);this.dispatchLogRow_(fields);}catch(e){this.printError('line '+(this.lineNum_+1)+': '+ 5379(e.message||e));}}};return{LogReader,};});'use strict';tr.exportTo('tr.model',function(){function ProfileNode(id,title,parentNode){this.id_=id;this.title_=title;this.parentNode_=parentNode;this.colorId_=-1;this.userFriendlyStack_=[];} 5380ProfileNode.prototype={__proto__:Object.prototype,get title(){return this.title_;},get parentNode(){return this.parentNode_;},set parentNode(value){this.parentNode_=value;},get id(){return this.id_;},get colorId(){return this.colorId_;},set colorId(value){this.colorId_=value;},get userFriendlyName(){return this.title_;},get userFriendlyStack(){if(this.userFriendlyStack_.length===0){this.userFriendlyStack_=[this.userFriendlyName];if(this.parentNode_!==undefined){this.userFriendlyStack_=this.userFriendlyStack_.concat(this.parentNode_.userFriendlyStack);}} 5381return this.userFriendlyStack_;},get sampleTitle(){throw new Error('Not implemented.');}};tr.model.EventRegistry.register(ProfileNode,{name:'Node',pluralName:'Nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.e.v8',function(){const ProfileNode=tr.model.ProfileNode;function V8CpuProfileNode(id,callFrame,parentNode){ProfileNode.call(this,id,callFrame.functionName,parentNode);this.callFrame_=tr.b.deepCopy(callFrame);this.deoptReason_='';this.colorId_=tr.b.ColorScheme.getColorIdForGeneralPurposeString(callFrame.functionName);} 5382V8CpuProfileNode.prototype={__proto__:ProfileNode.prototype,get functionName(){return this.callFrame_.functionName;},get scriptId(){return this.callFrame_.scriptId;},get url(){if(!this.callFrame_.url){return'unknown';} 5383let url=this.callFrame_.url;if(this.callFrame_.lineNumber===undefined){return url;} 5384url=url+':'+this.callFrame_.lineNumber;if(this.callFrame_.columnNumber===undefined){return url;} 5385url=url+':'+this.callFrame_.columnNumber;return url;},get deoptReason(){return this.deoptReason_;},set deoptReason(value){this.deoptReason_=value;},get userFriendlyName(){const name=this.functionName+' url: '+this.url;return!this.deoptReason_?name:name+' Deoptimized reason: '+this.deoptReason_;},get sampleTitle(){return'V8 Sample';}};V8CpuProfileNode.constructFromObject=function(profileTree,node){const nodeId=node.id;if(nodeId===1){return undefined;} 5386const parentNode=profileTree.getNode(node.parent);const profileNode=new V8CpuProfileNode(nodeId,node.callFrame,parentNode);if(node.deoptReason!==undefined){profileNode.deoptReason=node.deoptReason;} 5387return profileNode;};ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'cpuProfile',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'legacySample',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.model',function(){function ProfileTree(){this.startTime_=undefined;this.endTime_=undefined;this.tree_=new Map();this.pid_=-1;this.tid_=-1;} 5388ProfileTree.prototype={__proto__:Object.prototype,get pid(){return this.pid_;},set pid(value){this.pid_=value;},get tid(){return this.tid_;},set tid(value){this.tid_=value;},get tree(){return this.tree_;},get startTime(){return this.startTime_;},set startTime(value){this.startTime_=value;this.endTime_=value;},get endTime(){return this.endTime_;},set endTime(value){this.endTime_=value;},add(node){if(this.tree_.has(node.id)){throw new Error('Conflict id in the profile tree.');} 5389this.tree_.set(node.id,node);return node;},getNode(nodeId){return this.tree_.get(nodeId);}};return{ProfileTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){const CodeEntry=tr.e.importer.v8.CodeMap.CodeEntry;const CodeMap=tr.e.importer.v8.CodeMap;const ColorScheme=tr.b.ColorScheme;const DynamicFuncCodeEntry=tr.e.importer.v8.CodeMap.DynamicFuncCodeEntry;const FunctionEntry=tr.e.importer.v8.CodeMap.FunctionEntry;const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');function V8LogImporter(model,eventData){this.importPriority=3;this.model_=model;this.logData_=eventData;this.code_map_=new CodeMap();this.v8_timer_thread_=undefined;this.v8_thread_=undefined;this.profileTree_=new tr.model.ProfileTree();this.profileTree_.add(new ProfileNodeType(-1,{url:'',functionName:'unknown'}));this.v8_stack_timeline_=[];} 5390const kV8BinarySuffixes=['/d8','/libv8.so'];const TimerEventDefaultArgs={'V8.Execute':{pause:false,no_execution:false},'V8.External':{pause:false,no_execution:true},'V8.CompileFullCode':{pause:true,no_execution:true},'V8.RecompileSynchronous':{pause:true,no_execution:true},'V8.RecompileParallel':{pause:false,no_execution:false},'V8.CompileEval':{pause:true,no_execution:true},'V8.Parse':{pause:true,no_execution:true},'V8.PreParse':{pause:true,no_execution:true},'V8.ParseLazy':{pause:true,no_execution:true},'V8.GCScavenger':{pause:true,no_execution:true},'V8.GCCompactor':{pause:true,no_execution:true},'V8.GCContext':{pause:true,no_execution:true}};V8LogImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;} 5391return eventData.substring(0,11)==='v8-version,'||eventData.substring(0,12)==='timer-event,'||eventData.substring(0,5)==='tick,'||eventData.substring(0,15)==='shared-library,'||eventData.substring(0,9)==='profiler,'||eventData.substring(0,14)==='code-creation,';};V8LogImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'V8LogImporter';},processTimerEvent_(name,startInUs,lengthInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const lengthInMs=tr.b.convertUnit(lengthInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const colorId=ColorScheme.getColorIdForGeneralPurposeString(name);const slice=new tr.model.ThreadSlice('v8',name,colorId,startInMs,args,lengthInMs);this.v8_timer_thread_.sliceGroup.pushSlice(slice);},processTimerEventStart_(name,startInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.beginSlice('v8',name,startInMs,args);},processTimerEventEnd_(name,endInUs){const endInMs=tr.b.convertUnit(endInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.endSlice(endInMs);},processCodeCreateEvent_(type,kind,address,size,name,maybeFunc){function parseState(s){switch(s){case'':return CodeMap.CodeState.COMPILED;case'~':return CodeMap.CodeState.OPTIMIZABLE;case'*':return CodeMap.CodeState.OPTIMIZED;} 5392throw new Error('unknown code state: '+s);} 5393if(maybeFunc.length){const funcAddr=parseInt(maybeFunc[0]);const state=parseState(maybeFunc[1]);let func=this.code_map_.findDynamicEntryByStartAddress(funcAddr);if(!func){func=new FunctionEntry(name);func.kind=kind;this.code_map_.addCode(funcAddr,func);}else if(func.name!==name){func.name=name;} 5394let entry=this.code_map_.findDynamicEntryByStartAddress(address);if(entry){if(entry.size===size&&entry.func===func){entry.state=state;}}else{entry=new DynamicFuncCodeEntry(size,type,func,state);entry.kind=kind;this.code_map_.addCode(address,entry);}}else{const codeEntry=new CodeEntry(size,name);codeEntry.kind=kind;this.code_map_.addCode(address,codeEntry);}},processCodeMoveEvent_(from,to){this.code_map_.moveCode(from,to);},processCodeDeleteEvent_(address){this.code_map_.deleteCode(address);},processSharedLibrary_(name,start,end){const codeEntry=new CodeEntry(end-start,name,CodeEntry.TYPE.SHARED_LIB);codeEntry.kind=-3;for(let i=0;i<kV8BinarySuffixes.length;i++){const suffix=kV8BinarySuffixes[i];if(name.indexOf(suffix,name.length-suffix.length)>=0){codeEntry.kind=-1;break;}} 5395this.code_map_.addLibrary(start,codeEntry);},processCppSymbol_(address,size,name){const codeEntry=new CodeEntry(size,name,CodeEntry.TYPE.CPP);codeEntry.kind=-1;this.code_map_.addStaticCode(address,codeEntry);},processTickEvent_(pc,startInUs,isExternalCallback,tosOrExternalCallback,vmstate,stack){const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);function findChildWithEntryID(stackFrame,entryID){for(let i=0;i<stackFrame.children.length;i++){if(stackFrame.children[i].entryID===entryID){return stackFrame.children[i];}} 5396return undefined;} 5397function processStack(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}} 5398return fullStack;} 5399if(isExternalCallback){pc=tosOrExternalCallback;tosOrExternalCallback=0;}else if(tosOrExternalCallback){const funcEntry=this.code_map_.findEntry(tosOrExternalCallback);if(!funcEntry||!funcEntry.isJSFunction||!funcEntry.isJSFunction()){tosOrExternalCallback=0;}} 5400let processedStack=processStack(pc,tosOrExternalCallback,stack);let node=undefined;let lastNode=undefined;processedStack=processedStack.reverse();for(let i=0,n=processedStack.length;i<n;i++){const frame=processedStack[i];if(!frame)break;const entry=this.code_map_.findEntry(frame);if(!entry&&i!==0){continue;} 5401let sourceInfo=undefined;if(entry&&entry.type===CodeEntry.TYPE.CPP){const libEntry=this.code_map_.findEntryInLibraries(frame);if(libEntry){sourceInfo={file:libEntry.name};}} 5402const entryId=entry?entry.id:-1;node=this.profileTree_.getNode(entryId);if(node===undefined){node=this.profileTree_.add(new ProfileNodeType(entryId,{functionName:entry.name,url:sourceInfo?sourceInfo.file:'',lineNumber:sourceInfo?sourceInfo.line:undefined,columnNumber:sourceInfo?sourceInfo.column:undefined,scriptId:sourceInfo?sourceInfo.scriptId:undefined},lastNode));} 5403lastNode=node;} 5404this.model_.samples.push(new tr.model.Sample(startInMs,'V8 PC',node,this.v8_thread_,undefined,1));},processDistortion_(distortionInPicoseconds){},processPlotRange_(start,end){},processV8Version_(major,minor,build,patch,candidate){},importEvents(){const logreader=new tr.e.importer.v8.LogReader({'timer-event':{parsers:[null,parseInt,parseInt],processor:this.processTimerEvent_.bind(this)},'shared-library':{parsers:[null,parseInt,parseInt],processor:this.processSharedLibrary_.bind(this)},'timer-event-start':{parsers:[null,parseInt],processor:this.processTimerEventStart_.bind(this)},'timer-event-end':{parsers:[null,parseInt],processor:this.processTimerEventEnd_.bind(this)},'code-creation':{parsers:[null,parseInt,parseInt,parseInt,null,'var-args'],processor:this.processCodeCreateEvent_.bind(this)},'code-move':{parsers:[parseInt,parseInt],processor:this.processCodeMoveEvent_.bind(this)},'code-delete':{parsers:[parseInt],processor:this.processCodeDeleteEvent_.bind(this)},'cpp':{parsers:[parseInt,parseInt,null],processor:this.processCppSymbol_.bind(this)},'tick':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt,'var-args'],processor:this.processTickEvent_.bind(this)},'distortion':{parsers:[parseInt],processor:this.processDistortion_.bind(this)},'plot-range':{parsers:[parseInt,parseInt],processor:this.processPlotRange_.bind(this)},'v8-version':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt],processor:this.processV8Version_.bind(this)}});this.v8_timer_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(1);this.v8_timer_thread_.name='V8 Timers';this.v8_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(2);this.v8_thread_.name='V8';const lines=this.logData_.split('\n');for(let i=0;i<lines.length;i++){logreader.processLogLine(lines[i]);} 5405function addSlices(slices,thread){for(let i=0;i<slices.length;i++){const duration=slices[i].end-slices[i].start;const slice=new tr.model.ThreadSlice('v8',slices[i].name,ColorScheme.getColorIdForGeneralPurposeString(slices[i].name),slices[i].start,{},duration);thread.sliceGroup.pushSlice(slice);addSlices(slices[i].children,thread);}} 5406addSlices(this.v8_stack_timeline_,this.v8_thread_);}};tr.importer.Importer.register(V8LogImporter);return{V8LogImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function ZipImporter(model,eventData){if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);} 5407this.model_=model;this.eventData_=eventData;} 5408ZipImporter.canImport=function(eventData){let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,2));}else if(typeof(eventData)==='string'||eventData instanceof String){header=[eventData.charCodeAt(0),eventData.charCodeAt(1)];}else{return false;} 5409return header[0]==='P'.charCodeAt(0)&&header[1]==='K'.charCodeAt(0);};ZipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'ZipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const zip=new JSZip(this.eventData_);const subtraces=[];for(const idx in zip.files){subtraces.push(zip.files[idx].asBinary());} 5410return subtraces;}};tr.importer.Importer.register(ZipImporter);return{ZipImporter,};});'use strict';tr.exportTo('tr.model',function(){function HeapEntry(heapDump,leafStackFrame,objectTypeName,size,count,valuesAreTotals){this.heapDump=heapDump;this.leafStackFrame=leafStackFrame;this.objectTypeName=objectTypeName;this.size=size;this.count=count;this.valuesAreTotals=valuesAreTotals;} 5411function HeapDump(processMemoryDump,allocatorName,isComplete){this.processMemoryDump=processMemoryDump;this.allocatorName=allocatorName;this.isComplete=isComplete;this.entries=[];} 5412HeapDump.prototype={addEntry(leafStackFrame,objectTypeName,size,count,opt_valuesAreTotals){if(opt_valuesAreTotals===undefined)opt_valuesAreTotals=true;const valuesAreTotals=opt_valuesAreTotals;const entry=new HeapEntry(this,leafStackFrame,objectTypeName,size,count,valuesAreTotals);this.entries.push(entry);return entry;}};return{HeapEntry,HeapDump,};});'use strict';tr.exportTo('tr.e.importer',function(){function HeapDumpTraceEventImporter(heapProfileExpander,stackFrames,processMemoryDump,idPrefix,model){this.expander=heapProfileExpander;this.stackFrames=stackFrames;this.processMemoryDump=processMemoryDump;this.idPrefix=idPrefix;this.model=model;} 5413HeapDumpTraceEventImporter.prototype={getLeafStackFrame(stackFrameId){if(stackFrameId==='')return undefined;const parentId=this.idPrefix+stackFrameId;const id=parentId+':self';if(!this.stackFrames[id]){const parentStackFrame=this.stackFrames[parentId];const stackFrame=new tr.model.StackFrame(parentStackFrame,id,'<self>',undefined);this.model.addStackFrame(stackFrame);} 5414return this.stackFrames[id];},parseEntry(entry,heapDump){const size=entry.size;const count=entry.count;const leafStackFrame=this.getLeafStackFrame(entry.node.id);const objectTypeName=entry.type.name;const valuesAreTotals=false;if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+typeId+')',});} 5415heapDump.addEntry(leafStackFrame,objectTypeName,size,count,valuesAreTotals);},parse(){const heapDumps={};const inflated=this.expander.inflated;for(const[allocatorName,entries]of Object.entries(inflated)){const heapDump=new tr.model.HeapDump(this.processMemoryDump,allocatorName);for(const entry of entries){this.parseEntry(entry,heapDump);} 5416heapDump.isComplete=true;heapDumps[allocatorName]=heapDump;} 5417return heapDumps;},};return{HeapDumpTraceEventImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function LegacyHeapDumpTraceEventImporter(model,processMemoryDump,processObjectTypeNameMap,idPrefix,dumpId,rawHeapDumps){this.model_=model;this.processObjectTypeNameMap_=processObjectTypeNameMap;this.idPrefix_=idPrefix;this.processMemoryDump_=processMemoryDump;this.pid_=this.processMemoryDump_.process.pid;this.dumpId_=dumpId;this.rawHeapDumps_=rawHeapDumps;} 5418LegacyHeapDumpTraceEventImporter.prototype={parseRawHeapDump(rawHeapDump,allocatorName){const model=this.model_;const processMemoryDump=this.processMemoryDump_;const heapDump=new tr.model.HeapDump(processMemoryDump,allocatorName);const entries=rawHeapDump.entries;if(entries===undefined||entries.length===0){this.model_.importWarning({type:'memory_dump_parse_error',message:'No heap entries in a '+allocatorName+' heap dump for PID='+this.pid_+' and dump ID='+this.dumpId_+'.'});return undefined;} 5419const isOldFormat=entries[0].bt===undefined;if(!isOldFormat&&this.processObjectTypeNameMap_===undefined){return undefined;} 5420for(let i=0;i<entries.length;i++){const entry=entries[i];const size=parseInt(entry.size,16);const leafStackFrameIndex=entry.bt;let leafStackFrame;if(isOldFormat){if(leafStackFrameIndex===undefined){leafStackFrame=undefined;}else{let leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+ 5421leafStackFrameId+') of heap entry '+i+' (size '+ 5422size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}} 5423leafStackFrameId+=':self';if(model.stackFrames[leafStackFrameId]!==undefined){leafStackFrame=model.stackFrames[leafStackFrameId];}else{leafStackFrame=new tr.model.StackFrame(leafStackFrame,leafStackFrameId,'<self>',undefined);model.addStackFrame(leafStackFrame);}}}else{if(leafStackFrameIndex===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing stack frame ID of heap entry '+i+' (size '+size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;} 5424const leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+leafStackFrameId+') of heap entry '+i+' (size '+size+') in a '+ 5425allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}} 5426const objectTypeId=entry.type;let objectTypeName;if(objectTypeId===undefined){objectTypeName=undefined;}else if(this.processObjectTypeNameMap_===undefined){continue;}else{objectTypeName=this.processObjectTypeNameMap_[objectTypeId];if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+objectTypeId+') of heap entry '+i+' (size '+size+') in a '+ 5427allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}} 5428const count=entry.count===undefined?undefined:parseInt(entry.count,16);heapDump.addEntry(leafStackFrame,objectTypeName,size,count);} 5429return heapDump;},parse(){const heapDumps={};for(const allocatorName in this.rawHeapDumps_){const rawHeapDump=this.rawHeapDumps_[allocatorName];const heapDump=this.parseRawHeapDump(rawHeapDump,allocatorName);if(heapDump!==undefined&&heapDump.entries.length>0){heapDumps[allocatorName]=heapDump;}} 5430return heapDumps;},};return{LegacyHeapDumpTraceEventImporter,};});(function(window,Object,Array,Error,JSON,undefined){var partialComplete=varArgs(function(fn,args){var numBoundArgs=args.length;return varArgs(function(callArgs){for(var i=0;i<callArgs.length;i++){args[numBoundArgs+i]=callArgs[i];} 5431args.length=numBoundArgs+callArgs.length;return fn.apply(this,args);});}),compose=varArgs(function(fns){var fnsList=arrayAsList(fns);function next(params,curFn){return[apply(params,curFn)];} 5432return varArgs(function(startParams){return foldR(next,startParams,fnsList)[0];});});function compose2(f1,f2){return function(){return f1.call(this,f2.apply(this,arguments));}} 5433function attr(key){return function(o){return o[key];};} 5434var lazyUnion=varArgs(function(fns){return varArgs(function(params){var maybeValue;for(var i=0;i<len(fns);i++){maybeValue=apply(params,fns[i]);if(maybeValue){return maybeValue;}}});});function apply(args,fn){return fn.apply(undefined,args);} 5435function varArgs(fn){var numberOfFixedArguments=fn.length-1,slice=Array.prototype.slice;if(numberOfFixedArguments==0){return function(){return fn.call(this,slice.call(arguments));}}else if(numberOfFixedArguments==1){return function(){return fn.call(this,arguments[0],slice.call(arguments,1));}} 5436var argsHolder=Array(fn.length);return function(){for(var i=0;i<numberOfFixedArguments;i++){argsHolder[i]=arguments[i];} 5437argsHolder[numberOfFixedArguments]=slice.call(arguments,numberOfFixedArguments);return fn.apply(this,argsHolder);}} 5438function flip(fn){return function(a,b){return fn(b,a);}} 5439function lazyIntersection(fn1,fn2){return function(param){return fn1(param)&&fn2(param);};} 5440function noop(){} 5441function always(){return true} 5442function functor(val){return function(){return val;}} 5443function isOfType(T,maybeSomething){return maybeSomething&&maybeSomething.constructor===T;} 5444var len=attr('length'),isString=partialComplete(isOfType,String);function defined(value){return value!==undefined;} 5445function hasAllProperties(fieldList,o){return(o instanceof Object)&&all(function(field){return(field in o);},fieldList);} 5446function cons(x,xs){return[x,xs];} 5447var emptyList=null,head=attr(0),tail=attr(1);function arrayAsList(inputArray){return reverseList(inputArray.reduce(flip(cons),emptyList));} 5448var list=varArgs(arrayAsList);function listAsArray(list){return foldR(function(arraySoFar,listItem){arraySoFar.unshift(listItem);return arraySoFar;},[],list);} 5449function map(fn,list){return list?cons(fn(head(list)),map(fn,tail(list))):emptyList;} 5450function foldR(fn,startValue,list){return list?fn(foldR(fn,startValue,tail(list)),head(list)):startValue;} 5451function foldR1(fn,list){return tail(list)?fn(foldR1(fn,tail(list)),head(list)):head(list);} 5452function without(list,test,removedFn){return withoutInner(list,removedFn||noop);function withoutInner(subList,removedFn){return subList?(test(head(subList))?(removedFn(head(subList)),tail(subList)):cons(head(subList),withoutInner(tail(subList),removedFn))):emptyList;}} 5453function all(fn,list){return!list||(fn(head(list))&&all(fn,tail(list)));} 5454function applyEach(fnList,args){if(fnList){head(fnList).apply(null,args);applyEach(tail(fnList),args);}} 5455function reverseList(list){function reverseInner(list,reversedAlready){if(!list){return reversedAlready;} 5456return reverseInner(tail(list),cons(head(list),reversedAlready))} 5457return reverseInner(list,emptyList);} 5458function first(test,list){return list&&(test(head(list))?head(list):first(test,tail(list)));} 5459function clarinet(eventBus){"use strict";var 5460emitSaxKey=eventBus(SAX_KEY).emit,emitValueOpen=eventBus(SAX_VALUE_OPEN).emit,emitValueClose=eventBus(SAX_VALUE_CLOSE).emit,emitFail=eventBus(FAIL_EVENT).emit,MAX_BUFFER_LENGTH=64*1024,stringTokenPattern=/[\\"\n]/g,_n=0,BEGIN=_n++,VALUE=_n++,OPEN_OBJECT=_n++,CLOSE_OBJECT=_n++,OPEN_ARRAY=_n++,CLOSE_ARRAY=_n++,STRING=_n++,OPEN_KEY=_n++,CLOSE_KEY=_n++,TRUE=_n++,TRUE2=_n++,TRUE3=_n++,FALSE=_n++,FALSE2=_n++,FALSE3=_n++,FALSE4=_n++,NULL=_n++,NULL2=_n++,NULL3=_n++,NUMBER_DECIMAL_POINT=_n++,NUMBER_DIGIT=_n,bufferCheckPosition=MAX_BUFFER_LENGTH,latestError,c,p,textNode=undefined,numberNode="",slashed=false,closed=false,state=BEGIN,stack=[],unicodeS=null,unicodeI=0,depth=0,position=0,column=0,line=1;function checkBufferLength(){var maxActual=0;if(textNode!==undefined&&textNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: textNode");maxActual=Math.max(maxActual,textNode.length);} 5461if(numberNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: numberNode");maxActual=Math.max(maxActual,numberNode.length);} 5462bufferCheckPosition=(MAX_BUFFER_LENGTH-maxActual) 5463+position;} 5464eventBus(STREAM_DATA).on(handleData);eventBus(STREAM_END).on(handleStreamEnd);function emitError(errorString){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5465latestError=Error(errorString+"\nLn: "+line+"\nCol: "+column+"\nChr: "+c);emitFail(errorReport(undefined,undefined,latestError));} 5466function handleStreamEnd(){if(state==BEGIN){emitValueOpen({});emitValueClose();closed=true;return;} 5467if(state!==VALUE||depth!==0) 5468emitError("Unexpected end");if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5469closed=true;} 5470function whitespace(c){return c=='\r'||c=='\n'||c==' '||c=='\t';} 5471function handleData(chunk){if(latestError) 5472return;if(closed){return emitError("Cannot write after close");} 5473var i=0;c=chunk[0];while(c){p=c;c=chunk[i++];if(!c)break;position++;if(c=="\n"){line++;column=0;}else column++;switch(state){case BEGIN:if(c==="{")state=OPEN_OBJECT;else if(c==="[")state=OPEN_ARRAY;else if(!whitespace(c)) 5474return emitError("Non-whitespace before {[.");continue;case OPEN_KEY:case OPEN_OBJECT:if(whitespace(c))continue;if(state===OPEN_KEY)stack.push(CLOSE_KEY);else{if(c==='}'){emitValueOpen({});emitValueClose();state=stack.pop()||VALUE;continue;}else stack.push(CLOSE_OBJECT);} 5475if(c==='"') 5476state=STRING;else 5477return emitError("Malformed object key should start with \" ");continue;case CLOSE_KEY:case CLOSE_OBJECT:if(whitespace(c))continue;if(c===':'){if(state===CLOSE_OBJECT){stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen({});emitSaxKey(textNode);textNode=undefined;} 5478depth++;}else{if(textNode!==undefined){emitSaxKey(textNode);textNode=undefined;}} 5479state=VALUE;}else if(c==='}'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5480emitValueClose();depth--;state=stack.pop()||VALUE;}else if(c===','){if(state===CLOSE_OBJECT) 5481stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5482state=OPEN_KEY;}else 5483return emitError('Bad object');continue;case OPEN_ARRAY:case VALUE:if(whitespace(c))continue;if(state===OPEN_ARRAY){emitValueOpen([]);depth++;state=VALUE;if(c===']'){emitValueClose();depth--;state=stack.pop()||VALUE;continue;}else{stack.push(CLOSE_ARRAY);}} 5484if(c==='"')state=STRING;else if(c==='{')state=OPEN_OBJECT;else if(c==='[')state=OPEN_ARRAY;else if(c==='t')state=TRUE;else if(c==='f')state=FALSE;else if(c==='n')state=NULL;else if(c==='-'){numberNode+=c;}else if(c==='0'){numberNode+=c;state=NUMBER_DIGIT;}else if('123456789'.indexOf(c)!==-1){numberNode+=c;state=NUMBER_DIGIT;}else 5485return emitError("Bad value");continue;case CLOSE_ARRAY:if(c===','){stack.push(CLOSE_ARRAY);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5486state=VALUE;}else if(c===']'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5487emitValueClose();depth--;state=stack.pop()||VALUE;}else if(whitespace(c)) 5488continue;else 5489return emitError('Bad array');continue;case STRING:if(textNode===undefined){textNode="";} 5490var starti=i-1;STRING_BIGLOOP:while(true){while(unicodeI>0){unicodeS+=c;c=chunk.charAt(i++);if(unicodeI===4){textNode+=String.fromCharCode(parseInt(unicodeS,16));unicodeI=0;starti=i-1;}else{unicodeI++;} 5491if(!c)break STRING_BIGLOOP;} 5492if(c==='"'&&!slashed){state=stack.pop()||VALUE;textNode+=chunk.substring(starti,i-1);break;} 5493if(c==='\\'&&!slashed){slashed=true;textNode+=chunk.substring(starti,i-1);c=chunk.charAt(i++);if(!c)break;} 5494if(slashed){slashed=false;if(c==='n'){textNode+='\n';} 5495else if(c==='r'){textNode+='\r';} 5496else if(c==='t'){textNode+='\t';} 5497else if(c==='f'){textNode+='\f';} 5498else if(c==='b'){textNode+='\b';} 5499else if(c==='u'){unicodeI=1;unicodeS='';}else{textNode+=c;} 5500c=chunk.charAt(i++);starti=i-1;if(!c)break;else continue;} 5501stringTokenPattern.lastIndex=i;var reResult=stringTokenPattern.exec(chunk);if(!reResult){i=chunk.length+1;textNode+=chunk.substring(starti,i-1);break;} 5502i=reResult.index+1;c=chunk.charAt(reResult.index);if(!c){textNode+=chunk.substring(starti,i-1);break;}} 5503continue;case TRUE:if(!c)continue;if(c==='r')state=TRUE2;else 5504return emitError('Invalid true started with t'+c);continue;case TRUE2:if(!c)continue;if(c==='u')state=TRUE3;else 5505return emitError('Invalid true started with tr'+c);continue;case TRUE3:if(!c)continue;if(c==='e'){emitValueOpen(true);emitValueClose();state=stack.pop()||VALUE;}else 5506return emitError('Invalid true started with tru'+c);continue;case FALSE:if(!c)continue;if(c==='a')state=FALSE2;else 5507return emitError('Invalid false started with f'+c);continue;case FALSE2:if(!c)continue;if(c==='l')state=FALSE3;else 5508return emitError('Invalid false started with fa'+c);continue;case FALSE3:if(!c)continue;if(c==='s')state=FALSE4;else 5509return emitError('Invalid false started with fal'+c);continue;case FALSE4:if(!c)continue;if(c==='e'){emitValueOpen(false);emitValueClose();state=stack.pop()||VALUE;}else 5510return emitError('Invalid false started with fals'+c);continue;case NULL:if(!c)continue;if(c==='u')state=NULL2;else 5511return emitError('Invalid null started with n'+c);continue;case NULL2:if(!c)continue;if(c==='l')state=NULL3;else 5512return emitError('Invalid null started with nu'+c);continue;case NULL3:if(!c)continue;if(c==='l'){emitValueOpen(null);emitValueClose();state=stack.pop()||VALUE;}else 5513return emitError('Invalid null started with nul'+c);continue;case NUMBER_DECIMAL_POINT:if(c==='.'){numberNode+=c;state=NUMBER_DIGIT;}else 5514return emitError('Leading zero not followed by .');continue;case NUMBER_DIGIT:if('0123456789'.indexOf(c)!==-1)numberNode+=c;else if(c==='.'){if(numberNode.indexOf('.')!==-1) 5515return emitError('Invalid number has two dots');numberNode+=c;}else if(c==='e'||c==='E'){if(numberNode.indexOf('e')!==-1||numberNode.indexOf('E')!==-1) 5516return emitError('Invalid number has two exponential');numberNode+=c;}else if(c==="+"||c==="-"){if(!(p==='e'||p==='E')) 5517return emitError('Invalid symbol in number');numberNode+=c;}else{if(numberNode){emitValueOpen(parseFloat(numberNode));emitValueClose();numberNode="";} 5518i--;state=stack.pop()||VALUE;} 5519continue;default:return emitError("Unknown state: "+state);}} 5520if(position>=bufferCheckPosition) 5521checkBufferLength();}} 5522function ascentManager(oboeBus,handlers){"use strict";var listenerId={},ascent;function stateAfter(handler){return function(param){ascent=handler(ascent,param);}} 5523for(var eventName in handlers){oboeBus(eventName).on(stateAfter(handlers[eventName]),listenerId);} 5524oboeBus(NODE_SWAP).on(function(newNode){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));parentNode[key]=newNode;}});oboeBus(NODE_DROP).on(function(){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));delete parentNode[key];}});oboeBus(ABORTING).on(function(){for(var eventName in handlers){oboeBus(eventName).un(listenerId);}});} 5525function parseResponseHeaders(headerStr){var headers={};headerStr&&headerStr.split('\u000d\u000a').forEach(function(headerPair){var index=headerPair.indexOf('\u003a\u0020');headers[headerPair.substring(0,index)]=headerPair.substring(index+2);});return headers;} 5526function isCrossOrigin(pageLocation,ajaxHost){function defaultPort(protocol){return{'http:':80,'https:':443}[protocol];} 5527function portOf(location){return location.port||defaultPort(location.protocol||pageLocation.protocol);} 5528return!!((ajaxHost.protocol&&(ajaxHost.protocol!=pageLocation.protocol))||(ajaxHost.host&&(ajaxHost.host!=pageLocation.host))||(ajaxHost.host&&(portOf(ajaxHost)!=portOf(pageLocation))));} 5529function parseUrlOrigin(url){var URL_HOST_PATTERN=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/,urlHostMatch=URL_HOST_PATTERN.exec(url)||[];return{protocol:urlHostMatch[1]||'',host:urlHostMatch[2]||'',port:urlHostMatch[3]||''};} 5530function httpTransport(){return new XMLHttpRequest();} 5531function streamingHttp(oboeBus,xhr,method,url,data,headers,withCredentials){"use strict";var emitStreamData=oboeBus(STREAM_DATA).emit,emitFail=oboeBus(FAIL_EVENT).emit,numberOfCharsAlreadyGivenToCallback=0,stillToSendStartEvent=true;oboeBus(ABORTING).on(function(){xhr.onreadystatechange=null;xhr.abort();});function handleProgress(){var textSoFar=xhr.responseText,newText=textSoFar.substr(numberOfCharsAlreadyGivenToCallback);if(newText){emitStreamData(newText);} 5532numberOfCharsAlreadyGivenToCallback=len(textSoFar);} 5533if('onprogress'in xhr){xhr.onprogress=handleProgress;} 5534xhr.onreadystatechange=function(){function sendStartIfNotAlready(){try{stillToSendStartEvent&&oboeBus(HTTP_START).emit(xhr.status,parseResponseHeaders(xhr.getAllResponseHeaders()));stillToSendStartEvent=false;}catch(e){}} 5535switch(xhr.readyState){case 2:case 3:return sendStartIfNotAlready();case 4:sendStartIfNotAlready();var successful=String(xhr.status)[0]==2;if(successful){handleProgress();oboeBus(STREAM_END).emit();}else{emitFail(errorReport(xhr.status,xhr.responseText));}}};try{xhr.open(method,url,true);for(var headerName in headers){xhr.setRequestHeader(headerName,headers[headerName]);} 5536if(!isCrossOrigin(window.location,parseUrlOrigin(url))){xhr.setRequestHeader('X-Requested-With','XMLHttpRequest');} 5537xhr.withCredentials=withCredentials;xhr.send(data);}catch(e){window.setTimeout(partialComplete(emitFail,errorReport(undefined,undefined,e)),0);}} 5538var jsonPathSyntax=(function(){var 5539regexDescriptor=function regexDescriptor(regex){return regex.exec.bind(regex);},jsonPathClause=varArgs(function(componentRegexes){componentRegexes.unshift(/^/);return regexDescriptor(RegExp(componentRegexes.map(attr('source')).join('')));}),possiblyCapturing=/(\$?)/,namedNode=/([\w-_]+|\*)/,namePlaceholder=/()/,nodeInArrayNotation=/\["([^"]+)"\]/,numberedNodeInArrayNotation=/\[(\d+|\*)\]/,fieldList=/{([\w ]*?)}/,optionalFieldList=/(?:{([\w ]*?)})?/ 5540,jsonPathNamedNodeInObjectNotation=jsonPathClause(possiblyCapturing,namedNode,optionalFieldList),jsonPathNamedNodeInArrayNotation=jsonPathClause(possiblyCapturing,nodeInArrayNotation,optionalFieldList),jsonPathNumberedNodeInArrayNotation=jsonPathClause(possiblyCapturing,numberedNodeInArrayNotation,optionalFieldList),jsonPathPureDuckTyping=jsonPathClause(possiblyCapturing,namePlaceholder,fieldList),jsonPathDoubleDot=jsonPathClause(/\.\./),jsonPathDot=jsonPathClause(/\./),jsonPathBang=jsonPathClause(possiblyCapturing,/!/),emptyString=jsonPathClause(/$/);return function(fn){return fn(lazyUnion(jsonPathNamedNodeInObjectNotation,jsonPathNamedNodeInArrayNotation,jsonPathNumberedNodeInArrayNotation,jsonPathPureDuckTyping),jsonPathDoubleDot,jsonPathDot,jsonPathBang,emptyString);};}());function namedNode(key,node){return{key:key,node:node};} 5541var keyOf=attr('key');var nodeOf=attr('node');var ROOT_PATH={};function incrementalContentBuilder(oboeBus){var emitNodeOpened=oboeBus(NODE_OPENED).emit,emitNodeClosed=oboeBus(NODE_CLOSED).emit,emitRootOpened=oboeBus(ROOT_PATH_FOUND).emit,emitRootClosed=oboeBus(ROOT_NODE_FOUND).emit;function arrayIndicesAreKeys(possiblyInconsistentAscent,newDeepestNode){var parentNode=nodeOf(head(possiblyInconsistentAscent));return isOfType(Array,parentNode)?keyFound(possiblyInconsistentAscent,len(parentNode),newDeepestNode):possiblyInconsistentAscent;} 5542function nodeOpened(ascent,newDeepestNode){if(!ascent){emitRootOpened(newDeepestNode);return keyFound(ascent,ROOT_PATH,newDeepestNode);} 5543var arrayConsistentAscent=arrayIndicesAreKeys(ascent,newDeepestNode),ancestorBranches=tail(arrayConsistentAscent),previouslyUnmappedName=keyOf(head(arrayConsistentAscent));appendBuiltContent(ancestorBranches,previouslyUnmappedName,newDeepestNode);return cons(namedNode(previouslyUnmappedName,newDeepestNode),ancestorBranches);} 5544function appendBuiltContent(ancestorBranches,key,node){nodeOf(head(ancestorBranches))[key]=node;} 5545function keyFound(ascent,newDeepestName,maybeNewDeepestNode){if(ascent){appendBuiltContent(ascent,newDeepestName,maybeNewDeepestNode);} 5546var ascentWithNewPath=cons(namedNode(newDeepestName,maybeNewDeepestNode),ascent);emitNodeOpened(ascentWithNewPath);return ascentWithNewPath;} 5547function nodeClosed(ascent){emitNodeClosed(ascent);return tail(ascent)||emitRootClosed(nodeOf(head(ascent)));} 5548var contentBuilderHandlers={};contentBuilderHandlers[SAX_VALUE_OPEN]=nodeOpened;contentBuilderHandlers[SAX_VALUE_CLOSE]=nodeClosed;contentBuilderHandlers[SAX_KEY]=keyFound;return contentBuilderHandlers;} 5549var jsonPathCompiler=jsonPathSyntax(function(pathNodeSyntax,doubleDotSyntax,dotSyntax,bangSyntax,emptySyntax){var CAPTURING_INDEX=1;var NAME_INDEX=2;var FIELD_LIST_INDEX=3;var headKey=compose2(keyOf,head),headNode=compose2(nodeOf,head);function nameClause(previousExpr,detection){var name=detection[NAME_INDEX],matchesName=(!name||name=='*')?always:function(ascent){return headKey(ascent)==name};return lazyIntersection(matchesName,previousExpr);} 5550function duckTypeClause(previousExpr,detection){var fieldListStr=detection[FIELD_LIST_INDEX];if(!fieldListStr) 5551return previousExpr;var hasAllrequiredFields=partialComplete(hasAllProperties,arrayAsList(fieldListStr.split(/\W+/))),isMatch=compose2(hasAllrequiredFields,headNode);return lazyIntersection(isMatch,previousExpr);} 5552function capture(previousExpr,detection){var capturing=!!detection[CAPTURING_INDEX];if(!capturing) 5553return previousExpr;return lazyIntersection(previousExpr,head);} 5554function skip1(previousExpr){if(previousExpr==always){return always;} 5555function notAtRoot(ascent){return headKey(ascent)!=ROOT_PATH;} 5556return lazyIntersection(notAtRoot,compose2(previousExpr,tail));} 5557function skipMany(previousExpr){if(previousExpr==always){return always;} 5558var 5559terminalCaseWhenArrivingAtRoot=rootExpr(),terminalCaseWhenPreviousExpressionIsSatisfied=previousExpr,recursiveCase=skip1(function(ascent){return cases(ascent);}),cases=lazyUnion(terminalCaseWhenArrivingAtRoot,terminalCaseWhenPreviousExpressionIsSatisfied,recursiveCase);return cases;} 5560function rootExpr(){return function(ascent){return headKey(ascent)==ROOT_PATH;};} 5561function statementExpr(lastClause){return function(ascent){var exprMatch=lastClause(ascent);return exprMatch===true?head(ascent):exprMatch;};} 5562function expressionsReader(exprs,parserGeneratedSoFar,detection){return foldR(function(parserGeneratedSoFar,expr){return expr(parserGeneratedSoFar,detection);},parserGeneratedSoFar,exprs);} 5563function generateClauseReaderIfTokenFound(tokenDetector,clauseEvaluatorGenerators,jsonPath,parserGeneratedSoFar,onSuccess){var detected=tokenDetector(jsonPath);if(detected){var compiledParser=expressionsReader(clauseEvaluatorGenerators,parserGeneratedSoFar,detected),remainingUnparsedJsonPath=jsonPath.substr(len(detected[0]));return onSuccess(remainingUnparsedJsonPath,compiledParser);}} 5564function clauseMatcher(tokenDetector,exprs){return partialComplete(generateClauseReaderIfTokenFound,tokenDetector,exprs);} 5565var clauseForJsonPath=lazyUnion(clauseMatcher(pathNodeSyntax,list(capture,duckTypeClause,nameClause,skip1)),clauseMatcher(doubleDotSyntax,list(skipMany)),clauseMatcher(dotSyntax,list()),clauseMatcher(bangSyntax,list(capture,rootExpr)),clauseMatcher(emptySyntax,list(statementExpr)),function(jsonPath){throw Error('"'+jsonPath+'" could not be tokenised')});function returnFoundParser(_remainingJsonPath,compiledParser){return compiledParser} 5566function compileJsonPathToFunction(uncompiledJsonPath,parserGeneratedSoFar){var onFind=uncompiledJsonPath?compileJsonPathToFunction:returnFoundParser;return clauseForJsonPath(uncompiledJsonPath,parserGeneratedSoFar,onFind);} 5567return function(jsonPath){try{return compileJsonPathToFunction(jsonPath,always);}catch(e){throw Error('Could not compile "'+jsonPath+'" because '+e.message);}}});function singleEventPubSub(eventType,newListener,removeListener){var listenerTupleList,listenerList;function hasId(id){return function(tuple){return tuple.id==id;};} 5568return{on:function(listener,listenerId){var tuple={listener:listener,id:listenerId||listener};if(newListener){newListener.emit(eventType,listener,tuple.id);} 5569listenerTupleList=cons(tuple,listenerTupleList);listenerList=cons(listener,listenerList);return this;},emit:function(){applyEach(listenerList,arguments);},un:function(listenerId){var removed;listenerTupleList=without(listenerTupleList,hasId(listenerId),function(tuple){removed=tuple;});if(removed){listenerList=without(listenerList,function(listener){return listener==removed.listener;});if(removeListener){removeListener.emit(eventType,removed.listener,removed.id);}}},listeners:function(){return listenerList;},hasListener:function(listenerId){var test=listenerId?hasId(listenerId):always;return defined(first(test,listenerTupleList));}};} 5570function pubSub(){var singles={},newListener=newSingle('newListener'),removeListener=newSingle('removeListener');function newSingle(eventName){return singles[eventName]=singleEventPubSub(eventName,newListener,removeListener);} 5571function pubSubInstance(eventName){return singles[eventName]||newSingle(eventName);} 5572['emit','on','un'].forEach(function(methodName){pubSubInstance[methodName]=varArgs(function(eventName,parameters){apply(parameters,pubSubInstance(eventName)[methodName]);});});return pubSubInstance;} 5573var 5574_S=1,NODE_OPENED=_S++,NODE_CLOSED=_S++,NODE_SWAP=_S++,NODE_DROP=_S++,FAIL_EVENT='fail',ROOT_NODE_FOUND=_S++,ROOT_PATH_FOUND=_S++,HTTP_START='start',STREAM_DATA='data',STREAM_END='end',ABORTING=_S++,SAX_KEY=_S++,SAX_VALUE_OPEN=_S++,SAX_VALUE_CLOSE=_S++;function errorReport(statusCode,body,error){try{var jsonBody=JSON.parse(body);}catch(e){} 5575return{statusCode:statusCode,body:body,jsonBody:jsonBody,thrown:error};} 5576function patternAdapter(oboeBus,jsonPathCompiler){var predicateEventMap={node:oboeBus(NODE_CLOSED),path:oboeBus(NODE_OPENED)};function emitMatchingNode(emitMatch,node,ascent){var descent=reverseList(ascent);emitMatch(node,listAsArray(tail(map(keyOf,descent))),listAsArray(map(nodeOf,descent)));} 5577function addUnderlyingListener(fullEventName,predicateEvent,compiledJsonPath){var emitMatch=oboeBus(fullEventName).emit;predicateEvent.on(function(ascent){var maybeMatchingMapping=compiledJsonPath(ascent);if(maybeMatchingMapping!==false){emitMatchingNode(emitMatch,nodeOf(maybeMatchingMapping),ascent);}},fullEventName);oboeBus('removeListener').on(function(removedEventName){if(removedEventName==fullEventName){if(!oboeBus(removedEventName).listeners()){predicateEvent.un(fullEventName);}}});} 5578oboeBus('newListener').on(function(fullEventName){var match=/(node|path):(.*)/.exec(fullEventName);if(match){var predicateEvent=predicateEventMap[match[1]];if(!predicateEvent.hasListener(fullEventName)){addUnderlyingListener(fullEventName,predicateEvent,jsonPathCompiler(match[2]));}}})} 5579function instanceApi(oboeBus,contentSource){var oboeApi,fullyQualifiedNamePattern=/^(node|path):./,rootNodeFinishedEvent=oboeBus(ROOT_NODE_FOUND),emitNodeDrop=oboeBus(NODE_DROP).emit,emitNodeSwap=oboeBus(NODE_SWAP).emit,addListener=varArgs(function(eventId,parameters){if(oboeApi[eventId]){apply(parameters,oboeApi[eventId]);}else{var event=oboeBus(eventId),listener=parameters[0];if(fullyQualifiedNamePattern.test(eventId)){addForgettableCallback(event,listener);}else{event.on(listener);}} 5580return oboeApi;}),removeListener=function(eventId,p2,p3){if(eventId=='done'){rootNodeFinishedEvent.un(p2);}else if(eventId=='node'||eventId=='path'){oboeBus.un(eventId+':'+p2,p3);}else{var listener=p2;oboeBus(eventId).un(listener);} 5581return oboeApi;};function addProtectedCallback(eventName,callback){oboeBus(eventName).on(protectedCallback(callback),callback);return oboeApi;} 5582function addForgettableCallback(event,callback,listenerId){listenerId=listenerId||callback;var safeCallback=protectedCallback(callback);event.on(function(){var discard=false;oboeApi.forget=function(){discard=true;};apply(arguments,safeCallback);delete oboeApi.forget;if(discard){event.un(listenerId);}},listenerId);return oboeApi;} 5583function protectedCallback(callback){return function(){try{return callback.apply(oboeApi,arguments);}catch(e){setTimeout(function(){throw new Error(e.message);});}}} 5584function fullyQualifiedPatternMatchEvent(type,pattern){return oboeBus(type+':'+pattern);} 5585function wrapCallbackToSwapNodeIfSomethingReturned(callback){return function(){var returnValueFromCallback=callback.apply(this,arguments);if(defined(returnValueFromCallback)){if(returnValueFromCallback==oboe.drop){emitNodeDrop();}else{emitNodeSwap(returnValueFromCallback);}}}} 5586function addSingleNodeOrPathListener(eventId,pattern,callback){var effectiveCallback;if(eventId=='node'){effectiveCallback=wrapCallbackToSwapNodeIfSomethingReturned(callback);}else{effectiveCallback=callback;} 5587addForgettableCallback(fullyQualifiedPatternMatchEvent(eventId,pattern),effectiveCallback,callback);} 5588function addMultipleNodeOrPathListeners(eventId,listenerMap){for(var pattern in listenerMap){addSingleNodeOrPathListener(eventId,pattern,listenerMap[pattern]);}} 5589function addNodeOrPathListenerApi(eventId,jsonPathOrListenerMap,callback){if(isString(jsonPathOrListenerMap)){addSingleNodeOrPathListener(eventId,jsonPathOrListenerMap,callback);}else{addMultipleNodeOrPathListeners(eventId,jsonPathOrListenerMap);} 5590return oboeApi;} 5591oboeBus(ROOT_PATH_FOUND).on(function(rootNode){oboeApi.root=functor(rootNode);});oboeBus(HTTP_START).on(function(_statusCode,headers){oboeApi.header=function(name){return name?headers[name]:headers;}});return oboeApi={on:addListener,addListener:addListener,removeListener:removeListener,emit:oboeBus.emit,node:partialComplete(addNodeOrPathListenerApi,'node'),path:partialComplete(addNodeOrPathListenerApi,'path'),done:partialComplete(addForgettableCallback,rootNodeFinishedEvent),start:partialComplete(addProtectedCallback,HTTP_START),fail:oboeBus(FAIL_EVENT).on,abort:oboeBus(ABORTING).emit,write:oboeBus(STREAM_DATA).emit,finish:oboeBus(STREAM_END).emit,header:noop,root:noop,source:contentSource};} 5592function wire(httpMethodName,contentSource,body,headers,withCredentials){var oboeBus=pubSub();if(contentSource){streamingHttp(oboeBus,httpTransport(),httpMethodName,contentSource,body,headers,withCredentials);} 5593clarinet(oboeBus);ascentManager(oboeBus,incrementalContentBuilder(oboeBus));patternAdapter(oboeBus,jsonPathCompiler);return instanceApi(oboeBus,contentSource);} 5594function applyDefaults(passthrough,url,httpMethodName,body,headers,withCredentials,cached){headers=headers?JSON.parse(JSON.stringify(headers)):{};if(body){if(!isString(body)){body=JSON.stringify(body);headers['Content-Type']=headers['Content-Type']||'application/json';}}else{body=null;} 5595function modifiedUrl(baseUrl,cached){if(cached===false){if(baseUrl.indexOf('?')==-1){baseUrl+='?';}else{baseUrl+='&';} 5596baseUrl+='_='+new Date().getTime();} 5597return baseUrl;} 5598return passthrough(httpMethodName||'GET',modifiedUrl(url,cached),body,headers,withCredentials||false);} 5599function oboe(arg1){var nodeStreamMethodNames=list('resume','pause','pipe'),isStream=partialComplete(hasAllProperties,nodeStreamMethodNames);if(arg1){if(isStream(arg1)||isString(arg1)){return applyDefaults(wire,arg1);}else{return applyDefaults(wire,arg1.url,arg1.method,arg1.body,arg1.headers,arg1.withCredentials,arg1.cached);}}else{return wire();}} 5600oboe.drop=function(){return oboe.drop;};if(typeof define==="function"&&define.amd){define("oboe",[],function(){return oboe;});}else if(typeof exports==='object'){module.exports=oboe;}else{window.oboe=oboe;}})((function(){try{return window;}catch(e){return self;}}()),Object,Array,Error,JSON);'use strict';if(tr.isHeadless){global.window={};}'use strict';if(tr.isVinn){global.oboe=global.window.oboe;global.window=undefined;}else if(tr.isNode){global.window=undefined;const path=HTMLImportsLoader.hrefToAbsolutePath('/oboe/dist/oboe-node.js');global.oboe=require(path);}'use strict';tr.exportTo('tr.e.importer',function(){const STRING_ID_SUFFIX='_sid';const PLURAL_STRING_ID_SUFFIX='_sids';function isStringReference(s){return s.endsWith(STRING_ID_SUFFIX)||s.endsWith(PLURAL_STRING_ID_SUFFIX);} 5601function getStringReferenceName(name){if(name.endsWith(PLURAL_STRING_ID_SUFFIX)){return name.slice(0,-PLURAL_STRING_ID_SUFFIX.length);} 5602return name.slice(0,-STRING_ID_SUFFIX.length);} 5603function deferenceStrings(idToString,o){const clone=Object.assign({},o);for(const[key,value]of Object.entries(clone)){if(isStringReference(key)){const name=getStringReferenceName(key);clone[name]=idToString(value);}} 5604return clone;} 5605function singularize(word){if(word.endsWith('s')){return word.slice(0,-1);} 5606return word;} 5607function getMetadataPairs(dataJson){const isMetadata=v=>typeof v!=='object'||Array.isArray(v);const pairs=Object.entries(dataJson);const metadataPairs=pairs.filter(([_,v])=>isMetadata(v));return metadataPairs;} 5608function getGroupPairs(dataJson){const pairs=Object.entries(dataJson);const nonMapPairs=pairs.filter(([k,_])=>k!=='maps');const groupPairs=nonMapPairs.filter(([_,v])=>typeof v==='object');return groupPairs;} 5609function createMap(mapJson){const map=new Map();for(const entry of mapJson){if(entry.id===undefined){throw new Error('Missing required key "id" in streaming event.');} 5610map.set(entry.id,entry);} 5611return map;} 5612function createMaps(mapsJson){const maps=new Map();for(const[name,mapJson]of Object.entries(mapsJson)){maps.set(name,createMap(mapJson));} 5613return maps;} 5614function createGroup(groupJson,opt_startTime){const entries=[];const n=Object.values(groupJson)[0].length;for(let i=0;i<n;i++){const entry={};for(const name in groupJson){entry[name]=groupJson[name][i];} 5615entries.push(entry);} 5616const timeDelta=groupJson.timeDelta;if(opt_startTime===undefined&&timeDelta!==undefined){throw new Error('Missing required key "startTime" in streaming event.');} 5617if(opt_startTime){let delta=0;for(const entry of entries){delta+=entry.timeDelta?entry.timeDelta:0;entry.time=opt_startTime+delta;}} 5618return entries;} 5619function createGroups(groupsJson,opt_startTime){const groups=new Map();for(const[name,groupJson]of Object.entries(groupsJson)){groups.set(name,createGroup(groupJson,opt_startTime));} 5620return groups;} 5621function createMetadata(metadataPairs){const metadata=new Map();for(const[name,value]of metadataPairs){metadata.set(name,value);} 5622if(metadata.get('version')===undefined){throw new Error('Missing required key "version" in streaming event.');} 5623return metadata;} 5624class ProfilingDictionaryReader{constructor(opt_metadata,opt_maps,opt_groups,opt_parent){this.metadata=opt_metadata||new Map();this.maps=opt_maps||new Map();this.groups=opt_groups||new Map();this.parent_=opt_parent||undefined;this.inflated_=undefined;this.raw_=undefined;this.boundGetString_=this.getString.bind(this);this.deferenceStrings_=o=>deferenceStrings(this.boundGetString_,o);} 5625static empty(){return new ProfilingDictionaryReader();} 5626get parent(){return this.parent_;} 5627get raw(){if(this.raw_)return this.raw_;this.raw_={};for(const[name,group]of this.groups.entries()){this.raw_[name]=group;} 5628return this.raw_;} 5629get inflated(){if(this.inflated_)return this.inflated_;this.inflated_={};for(const[name,group]of this.groups.entries()){this.inflated_[name]=this.inflateGroup(group);} 5630return this.inflated_;} 5631getNewMap(name){return this.maps.get(name)||new Map();} 5632getMapValue(mapName,id){let value=this.getNewMap(mapName).get(id);if(value===undefined&&this.parent){value=this.parent.getMapValue(mapName,id);} 5633return value;} 5634getString(id){const value=this.getMapValue('strings',id);if(value===undefined)return undefined;return value.string;} 5635hasMap(name){if(this.maps.has(name))return true;if(this.parent===undefined)return false;return this.parent.hasMap(name);} 5636inflateGroup(group){return group.map(this.inflateEntry.bind(this));} 5637inflateEntry(entry){const inflatedEntry={};for(const[name,value]of Object.entries(entry)){let inflatedValue;if(this.hasMap(name)){const id=value;inflatedValue=this.deferenceStrings_(this.getMapValue(name,id));}else{inflatedValue=value;} 5638inflatedEntry[singularize(name)]=inflatedValue;} 5639return this.deferenceStrings_(inflatedEntry);} 5640expandData(data){const mapsJson=data.maps||{};const groupsJson=data.allocators||{};const metadataPairs=getMetadataPairs(data);const metadata=createMetadata(metadataPairs);const opt_startTime=metadata.get('startTime');const maps=createMaps(mapsJson);const groups=createGroups(groupsJson,opt_startTime);return new ProfilingDictionaryReader(metadata,maps,groups,this);} 5641expandEvent(event){return this.expandData(event.args.data);}} 5642return{ProfilingDictionaryReader,singularize,deferenceStringsForTest:deferenceStrings,};});'use strict';tr.exportTo('tr.model.source_info',function(){function SourceInfo(file,opt_line,opt_column){this.file_=file;this.line_=opt_line||-1;this.column_=opt_column||-1;} 5643SourceInfo.prototype={get file(){return this.file_;},get line(){return this.line_;},get column(){return this.column_;},get domain(){if(!this.file_)return undefined;const domain=this.file_.match(/(.*:\/\/[^:\/]*)/i);return domain?domain[1]:undefined;},toString(){let str='';if(this.file_){str+=this.file_;} 5644if(this.line_>0){str+=':'+this.line_;} 5645if(this.column_>0){str+=':'+this.column_;} 5646return str;}};return{SourceInfo,};});'use strict';tr.exportTo('tr.model.source_info',function(){function JSSourceInfo(file,line,column,isNative,scriptId,state){tr.model.source_info.SourceInfo.call(this,file,line,column);this.isNative_=isNative;this.scriptId_=scriptId;this.state_=state;} 5647JSSourceInfo.prototype={__proto__:tr.model.source_info.SourceInfo.prototype,get state(){return this.state_;},get isNative(){return this.isNative_;},get scriptId(){return this.scriptId_;},toString(){const str=this.isNative_?'[native v8] ':'';return str+ 5648tr.model.source_info.SourceInfo.prototype.toString.call(this);}};const JSSourceState={COMPILED:'compiled',OPTIMIZABLE:'optimizable',OPTIMIZED:'optimized',UNKNOWN:'unknown',};return{JSSourceInfo,JSSourceState,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeEntry(address,size,name,scriptId){this.id_=tr.b.GUID.allocateSimple();this.address_=address;this.size_=size;const rePrefix=/^(\w*:)?([*~]?)(.*)$/m;const tokens=rePrefix.exec(name);const prefix=tokens[1];let state=tokens[2];const body=tokens[3];if(state==='*'){state=tr.model.source_info.JSSourceState.OPTIMIZED;}else if(state==='~'){state=tr.model.source_info.JSSourceState.OPTIMIZABLE;}else if(state===''){state=tr.model.source_info.JSSourceState.COMPILED;}else{state=tr.model.source_info.JSSourceState.UNKNOWN;} 5649let rawName;let rawUrl;if(prefix==='Script:'){rawName='';rawUrl=body;}else{const spacePos=body.lastIndexOf(' ');rawName=spacePos!==-1?body.substr(0,spacePos):body;rawUrl=spacePos!==-1?body.substr(spacePos+1):'';} 5650function splitLineAndColumn(url){const lineColumnRegEx=/(?::(\d+))?(?::(\d+))?$/;const lineColumnMatch=lineColumnRegEx.exec(url);let lineNumber;let columnNumber;if(typeof(lineColumnMatch[1])==='string'){lineNumber=parseInt(lineColumnMatch[1],10);lineNumber=isNaN(lineNumber)?undefined:lineNumber-1;} 5651if(typeof(lineColumnMatch[2])==='string'){columnNumber=parseInt(lineColumnMatch[2],10);columnNumber=isNaN(columnNumber)?undefined:columnNumber-1;} 5652return{url:url.substring(0,url.length-lineColumnMatch[0].length),lineNumber,columnNumber};} 5653const nativeSuffix=' native';const isNative=rawName.endsWith(nativeSuffix);this.name_=isNative?rawName.slice(0,-nativeSuffix.length):rawName;const urlData=splitLineAndColumn(rawUrl);const url=urlData.url||'';const line=urlData.lineNumber||0;const column=urlData.columnNumber||0;this.sourceInfo_=new tr.model.source_info.JSSourceInfo(url,line,column,isNative,scriptId,state);} 5654TraceCodeEntry.prototype={get id(){return this.id_;},get sourceInfo(){return this.sourceInfo_;},get name(){return this.name_;},set address(address){this.address_=address;},get address(){return this.address_;},set size(size){this.size_=size;},get size(){return this.size_;}};return{TraceCodeEntry,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeMap(){this.banks_=new Map();} 5655TraceCodeMap.prototype={addEntry(addressHex,size,name,scriptId){const entry=new tr.e.importer.TraceCodeEntry(this.getAddress_(addressHex),size,name,scriptId);this.addEntry_(addressHex,entry);},moveEntry(oldAddressHex,newAddressHex,size){const entry=this.getBank_(oldAddressHex).removeEntry(this.getAddress_(oldAddressHex));if(!entry)return;entry.address=this.getAddress_(newAddressHex);entry.size=size;this.addEntry_(newAddressHex,entry);},lookupEntry(addressHex){return this.getBank_(addressHex).lookupEntry(this.getAddress_(addressHex));},addEntry_(addressHex,entry){this.getBank_(addressHex).addEntry(entry);},getAddress_(addressHex){const bankSizeHexDigits=13;addressHex=addressHex.slice(2);return parseInt(addressHex.slice(-bankSizeHexDigits),16);},getBank_(addressHex){addressHex=addressHex.slice(2);const bankSizeHexDigits=13;const maxHexDigits=16;const bankName=addressHex.slice(-maxHexDigits,-bankSizeHexDigits);let bank=this.banks_.get(bankName);if(!bank){bank=new TraceCodeBank();this.banks_.set(bankName,bank);} 5656return bank;}};function TraceCodeBank(){this.entries_=[];} 5657TraceCodeBank.prototype={removeEntry(address){if(this.entries_.length===0)return undefined;const index=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},address);const entry=this.entries_[index];if(!entry||entry.address!==address)return undefined;this.entries_.splice(index,1);return entry;},lookupEntry(address){const index=tr.b.math.findHighIndexInSortedArray(this.entries_,function(e){return address-e.address;})-1;const entry=this.entries_[index];return entry&&address<entry.address+entry.size?entry:undefined;},addEntry(newEntry){if(this.entries_.length===0){this.entries_.push(newEntry);} 5658const endAddress=newEntry.address+newEntry.size;const lastIndex=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},endAddress);let index;for(index=lastIndex-1;index>=0;--index){const entry=this.entries_[index];const entryEndAddress=entry.address+entry.size;if(entryEndAddress<=newEntry.address)break;} 5659++index;this.entries_.splice(index,lastIndex-index,newEntry);}};return{TraceCodeMap,};});'use strict';tr.exportTo('tr.importer',function(){function ContextProcessor(model){this.model_=model;this.activeContexts_=[];this.stackPerType_={};this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.seenSnapshots_={};} 5660ContextProcessor.prototype={enterContext(contextType,scopedId){const newActiveContexts=[this.getOrCreateContext_(contextType,scopedId),];for(const oldContext of this.activeContexts_){if(oldContext.type===contextType){this.pushContext_(oldContext);}else{newActiveContexts.push(oldContext);}} 5661this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},leaveContext(contextType,scopedId){this.leaveContextImpl_(context=>context.type===contextType&&context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},destroyContext(scopedId){for(const stack of Object.values(this.stackPerType_)){let newLength=0;for(let i=0;i<stack.length;++i){if(stack[i].snapshot.scope!==scopedId.scope||stack[i].snapshot.idRef!==scopedId.id){stack[newLength++]=stack[i];}} 5662stack.length=newLength;} 5663this.leaveContextImpl_(context=>context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},leaveContextImpl_(predicate){const newActiveContexts=[];for(const oldContext of this.activeContexts_){if(predicate(oldContext)){const previousContext=this.popContext_(oldContext.type);if(previousContext){newActiveContexts.push(previousContext);}}else{newActiveContexts.push(oldContext);}} 5664this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},getOrCreateContext_(contextType,scopedId){const context={type:contextType,snapshot:{scope:scopedId.scope,idRef:scopedId.id}};const key=this.getContextKey_(context);if(key in this.contextCache_){return this.contextCache_[key];} 5665this.contextCache_[key]=context;const snapshotKey=this.getSnapshotKey_(scopedId);this.seenSnapshots_[snapshotKey]=true;return context;},pushContext_(context){if(!(context.type in this.stackPerType_)){this.stackPerType_[context.type]=[];} 5666this.stackPerType_[context.type].push(context);},popContext_(contextType){if(!(contextType in this.stackPerType_)){return undefined;} 5667return this.stackPerType_[contextType].pop();},getContextKey_(context){return[context.type,context.snapshot.scope,context.snapshot.idRef].join('\x00');},getSnapshotKey_(scopedId){return[scopedId.scope,scopedId.idRef].join('\x00');},get activeContexts(){if(this.cachedEntryForActiveContexts_===undefined){let key=[];for(const context of this.activeContexts_){key.push(this.getContextKey_(context));} 5668key.sort();key=key.join('\x00');if(key in this.contextSetCache_){this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}else{this.activeContexts_.sort(function(a,b){const keyA=this.getContextKey_(a);const keyB=this.getContextKey_(b);if(keyA<keyB){return-1;} 5669if(keyA>keyB){return 1;} 5670return 0;}.bind(this));this.contextSetCache_[key]=Object.freeze(this.activeContexts_);this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}} 5671return this.cachedEntryForActiveContexts_;},invalidateContextCacheForSnapshot(scopedId){const snapshotKey=this.getSnapshotKey_(scopedId);if(!(snapshotKey in this.seenSnapshots_))return;this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.activeContexts_=this.activeContexts_.map(function(context){if(context.snapshot.scope!==scopedId.scope||context.snapshot.idRef!==scopedId.id){return context;} 5672return{type:context.type,snapshot:{scope:context.snapshot.scope,idRef:context.snapshot.idRef}};});this.seenSnapshots_={};},};return{ContextProcessor,};});'use strict';tr.exportTo('tr.model',function(){function Annotation(){this.guid_=tr.b.GUID.allocateSimple();this.view_=undefined;} 5673Annotation.fromDictIfPossible=function(args){if(args.typeName===undefined){throw new Error('Missing typeName argument');} 5674const typeInfo=Annotation.findTypeInfoMatching(function(typeInfo){return typeInfo.metadata.typeName===args.typeName;});if(typeInfo===undefined)return undefined;return typeInfo.constructor.fromDict(args);};Annotation.fromDict=function(){throw new Error('Not implemented');};Annotation.prototype={get guid(){return this.guid_;},onRemove(){},toDict(){throw new Error('Not implemented');},getOrCreateView(viewport){if(!this.view_){this.view_=this.createView_(viewport);} 5675return this.view_;},createView_(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(Annotation,options);Annotation.addEventListener('will-register',function(e){if(!e.typeInfo.constructor.hasOwnProperty('fromDict')){throw new Error('Must have fromDict method');} 5676if(!e.typeInfo.metadata.typeName){throw new Error('Registered Annotations must provide typeName');}});return{Annotation,};});'use strict';tr.exportTo('tr.model',function(){function YComponent(stableId,yPercentOffset){this.stableId=stableId;this.yPercentOffset=yPercentOffset;} 5677YComponent.prototype={toDict(){return{stableId:this.stableId,yPercentOffset:this.yPercentOffset};}};function Location(xWorld,yComponents){this.xWorld_=xWorld;this.yComponents_=yComponents;} 5678Location.fromViewCoordinates=function(viewport,viewX,viewY){const dt=viewport.currentDisplayTransform;const xWorld=dt.xViewToWorld(viewX);const yComponents=[];let elem=document.elementFromPoint(viewX+viewport.modelTrackContainer.canvas.offsetLeft,viewY+viewport.modelTrackContainer.canvas.offsetTop);while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(viewY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));} 5679elem=elem.parentElement;} 5680if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.fromStableIdAndTimestamp=function(viewport,stableId,ts){const xWorld=ts;const yComponents=[];const containerToTrack=viewport.containerToTrackMap;let elem=containerToTrack.getTrackByStableId(stableId);if(!elem)return;const firstY=elem.getBoundingClientRect().top;while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(firstY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));} 5681elem=elem.parentElement;} 5682if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.prototype={get xWorld(){return this.xWorld_;},getContainingTrack(viewport){const containerToTrack=viewport.containerToTrackMap;for(const i in this.yComponents_){const yComponent=this.yComponents_[i];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined)return track;}},toViewCoordinates(viewport){const dt=viewport.currentDisplayTransform;const containerToTrack=viewport.containerToTrackMap;const viewX=dt.xWorldToView(this.xWorld_);let viewY=-1;for(const index in this.yComponents_){const yComponent=this.yComponents_[index];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined){const boundRect=track.getBoundingClientRect();viewY=yComponent.yPercentOffset*boundRect.height+boundRect.top;break;}} 5683return{viewX,viewY};},toDict(){return{xWorld:this.xWorld_,yComponents:this.yComponents_};}};return{Location,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function AnnotationView(viewport,annotation){} 5684AnnotationView.prototype={draw(ctx){throw new Error('Not implemented');}};return{AnnotationView,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function RectAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;} 5685RectAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const startCoords=this.annotation_.startLocation.toViewCoordinates(this.viewport_);const endCoords=this.annotation_.endLocation.toViewCoordinates(this.viewport_);let startY=startCoords.viewY-ctx.canvas.getBoundingClientRect().top;const sizeY=endCoords.viewY-startCoords.viewY;if(startY+sizeY<0){startY=sizeY;}else if(startY<0){startY=0;} 5686ctx.fillStyle=this.annotation_.fillStyle;ctx.fillRect(startCoords.viewX,startY,endCoords.viewX-startCoords.viewX,sizeY);}};return{RectAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function RectAnnotation(start,end){tr.model.Annotation.apply(this,arguments);this.startLocation_=start;this.endLocation_=end;this.fillStyle='rgba(255, 180, 0, 0.3)';} 5687RectAnnotation.fromDict=function(dict){const args=dict.args;const startLoc=new tr.model.Location(args.start.xWorld,args.start.yComponents);const endLoc=new tr.model.Location(args.end.xWorld,args.end.yComponents);return new tr.model.RectAnnotation(startLoc,endLoc);};RectAnnotation.prototype={__proto__:tr.model.Annotation.prototype,get startLocation(){return this.startLocation_;},get endLocation(){return this.endLocation_;},toDict(){return{typeName:'rect',args:{start:this.startLocation.toDict(),end:this.endLocation.toDict()}};},createView_(viewport){return new tr.ui.annotations.RectAnnotationView(viewport,this);}};tr.model.Annotation.register(RectAnnotation,{typeName:'rect'});return{RectAnnotation,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function CommentBoxAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;this.textArea_=undefined;this.styleWidth=250;this.styleHeight=50;this.fontSize=10;this.rightOffset=50;this.topOffset=25;} 5688CommentBoxAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,removeTextArea(){Polymer.dom(Polymer.dom(this.textArea_).parentNode).removeChild(this.textArea_);},draw(ctx){const coords=this.annotation_.location.toViewCoordinates(this.viewport_);if(coords.viewX<0){if(this.textArea_){this.textArea_.style.visibility='hidden';} 5689return;} 5690if(!this.textArea_){this.textArea_=document.createElement('textarea');this.textArea_.style.position='absolute';this.textArea_.readOnly=true;this.textArea_.value=this.annotation_.text;this.textArea_.style.zIndex=1;Polymer.dom(Polymer.dom(ctx.canvas).parentNode).appendChild(this.textArea_);} 5691this.textArea_.style.width=this.styleWidth+'px';this.textArea_.style.height=this.styleHeight+'px';this.textArea_.style.fontSize=this.fontSize+'px';this.textArea_.style.visibility='visible';this.textArea_.style.left=coords.viewX+ctx.canvas.getBoundingClientRect().left+ 5692this.rightOffset+'px';this.textArea_.style.top=coords.viewY-ctx.canvas.getBoundingClientRect().top- 5693this.topOffset+'px';ctx.strokeStyle='rgb(0, 0, 0)';ctx.lineWidth=2;ctx.beginPath();tr.ui.b.drawLine(ctx,coords.viewX,coords.viewY-ctx.canvas.getBoundingClientRect().top,coords.viewX+this.rightOffset,coords.viewY-this.topOffset- 5694ctx.canvas.getBoundingClientRect().top);ctx.stroke();}};return{CommentBoxAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function CommentBoxAnnotation(location,text){tr.model.Annotation.apply(this,arguments);this.location=location;this.text=text;} 5695CommentBoxAnnotation.fromDict=function(dict){const args=dict.args;const location=new tr.model.Location(args.location.xWorld,args.location.yComponents);return new tr.model.CommentBoxAnnotation(location,args.text);};CommentBoxAnnotation.prototype={__proto__:tr.model.Annotation.prototype,onRemove(){this.view_.removeTextArea();},toDict(){return{typeName:'comment_box',args:{text:this.text,location:this.location.toDict()}};},createView_(viewport){return new tr.ui.annotations.CommentBoxAnnotationView(viewport,this);}};tr.model.Annotation.register(CommentBoxAnnotation,{typeName:'comment_box'});return{CommentBoxAnnotation,};});'use strict';tr.exportTo('tr.model',function(){function ScopedId(scope,id,pid){if(scope===undefined){throw new Error('Scope should be defined. Use \''+ 5696tr.model.OBJECT_DEFAULT_SCOPE+'\' as the default scope.');} 5697this.scope=scope;this.id=id;this.pid=pid;} 5698ScopedId.prototype={toString(){const pidStr=this.pid===undefined?'':'pid: '+this.pid+', ';return'{'+pidStr+'scope: '+this.scope+', id: '+this.id+'}';},toStringWithDelimiter(delim){return(this.pid===undefined?'':this.pid)+delim+ 5699this.scope+delim+this.id;}};return{ScopedId,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function XMarkerAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;} 5700XMarkerAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const viewX=dt.xWorldToView(this.annotation_.timestamp);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,ctx.canvas.height);ctx.strokeStyle=this.annotation_.strokeStyle;ctx.stroke();}};return{XMarkerAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function XMarkerAnnotation(timestamp){tr.model.Annotation.apply(this,arguments);this.timestamp=timestamp;this.strokeStyle='rgba(0, 0, 255, 0.5)';} 5701XMarkerAnnotation.fromDict=function(dict){return new XMarkerAnnotation(dict.args.timestamp);};XMarkerAnnotation.prototype={__proto__:tr.model.Annotation.prototype,toDict(){return{typeName:'xmarker',args:{timestamp:this.timestamp}};},createView_(viewport){return new tr.ui.annotations.XMarkerAnnotationView(viewport,this);}};tr.model.Annotation.register(XMarkerAnnotation,{typeName:'xmarker'});return{XMarkerAnnotation,};});'use strict';tr.exportTo('tr.e.importer',function(){const Base64=tr.b.Base64;const deepCopy=tr.b.deepCopy;const ColorScheme=tr.b.ColorScheme;const HeapDumpTraceEventImporter=tr.e.importer.HeapDumpTraceEventImporter;const LegacyHeapDumpTraceEventImporter=tr.e.importer.LegacyHeapDumpTraceEventImporter;const StreamingEventExpander=tr.e.importer.StreamingEventExpander;const ProfilingDictionaryReader=tr.e.importer.ProfilingDictionaryReader;function getEventColor(event,opt_customName){if(event.cname){return ColorScheme.getColorIdForReservedName(event.cname);}else if(opt_customName||event.name){return ColorScheme.getColorIdForGeneralPurposeString(opt_customName||event.name);}} 5702function isLegacyChromeClockSyncEvent(event){return event.name!==undefined&&event.name.startsWith(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX)&&((event.ph==='S')||(event.ph==='F'));} 5703const PRODUCER='producer';const CONSUMER='consumer';const STEP='step';const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER=[undefined,BACKGROUND,LIGHT,DETAILED];const GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX='global/';const LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX='ClockSyncEvent.';const BYTE_STAT_NAME_MAP={'pc':'privateCleanResident','pd':'privateDirtyResident','sc':'sharedCleanResident','sd':'sharedDirtyResident','pss':'proportionalResident','sw':'swapped'};const WEAK_MEMORY_ALLOCATOR_DUMP_FLAG=1<<0;const OBJECT_TYPE_NAME_PATTERNS=[{prefix:'const char *WOW::getStringWithTypeName() [T = ',suffix:']'},{prefix:'const char* WOW::getStringWithTypeName() [with T = ',suffix:']'},{prefix:'const char *__cdecl WOW::getStringWithTypeName<',suffix:'>(void)'}];const SUBTRACE_FIELDS=new Set(['powerTraceAsString','systemTraceEvents',]);const NON_METADATA_FIELDS=new Set(['displayTimeUnit','samples','stackFrames','traceAnnotations','traceEvents',...SUBTRACE_FIELDS]);function TraceEventImporter(model,eventData){this.hasEvents_=undefined;this.importPriority=1;this.model_=model;this.events_=undefined;this.sampleEvents_=undefined;this.stackFrameEvents_=undefined;this.stackFrameTree_=new tr.model.ProfileTree();this.subtraces_=[];this.eventsWereFromString_=false;this.softwareMeasuredCpuCount_=undefined;this.allAsyncEvents_=[];this.allFlowEvents_=[];this.allObjectEvents_=[];this.contextProcessorPerThread={};this.traceEventSampleStackFramesByName_={};this.v8ProcessCodeMaps_={};this.v8ProcessRootStackFrame_={};this.v8SamplingData_=[];this.profileTrees_=new Map();this.profileInfo_=new Map();this.legacyChromeClockSyncStartEvent_=undefined;this.legacyChromeClockSyncFinishEvent_=undefined;this.allMemoryDumpEvents_={};this.heapProfileExpander=new ProfilingDictionaryReader();this.objectTypeNameMap_={};this.clockDomainId_=tr.model.ClockDomainId.UNKNOWN_CHROME_LEGACY;this.toModelTime_=undefined;if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();if(eventData[0]==='['){eventData=eventData.replace(/\s*,\s*$/,'');if(eventData[eventData.length-1]!==']'){eventData=eventData+']';}} 5704this.events_=JSON.parse(eventData);this.eventsWereFromString_=true;}else{this.events_=eventData;} 5705if(this.events_.traceEvents){const container=this.events_;this.events_=this.events_.traceEvents;for(const subtraceField of SUBTRACE_FIELDS){if(container[subtraceField]){this.storeSubtrace_(container[subtraceField]);}} 5706this.storeSamples_(container.samples);this.storeStackFrames_(container.stackFrames);this.storeDisplayTimeUnit_(container.displayTimeUnit);this.storeTraceAnnotations_(container.traceAnnotations);this.storeMetadata_(container);}else if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',function(e){return oboe.drop;}).node('!.powerTraceAsString',this.storeSubtrace_.bind(this)).node('!.systemTraceEvents',this.storeSubtrace_.bind(this)).node('!.samples',this.storeSamples_.bind(this)).node('!.stackFrames',this.storeStackFrames_.bind(this)).node('!.displayTimeUnit',this.storeDisplayTimeUnit_.bind(this)).node('!.traceAnnotations',this.storeTraceAnnotations_.bind(this)).done(this.storeMetadata_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());} 5707parser.finish();}} 5708TraceEventImporter.canImport=function(eventData){if(eventData instanceof tr.b.TraceStream){if(eventData.isBinary)return false;eventData=eventData.header;} 5709if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();return eventData[0]==='{'||eventData[0]==='[';} 5710if(eventData instanceof Array&&eventData.length&&eventData[0].ph){return true;} 5711if(eventData.traceEvents){if(eventData.traceEvents instanceof Array){if(eventData.traceEvents.length&&eventData.traceEvents[0].ph){return true;} 5712if(eventData.samples&&eventData.samples.length&&eventData.stackFrames!==undefined){return true;}}} 5713return false;};TraceEventImporter.scopedIdForEvent_=function(event){const scope=event.scope||tr.model.OBJECT_DEFAULT_SCOPE;let pid=undefined;if(event.id!==undefined){if(event.id2!==undefined){throw new Error('Event has both id and id2');} 5714pid=tr.model.LOCAL_ID_PHASES.has(event.ph)?event.pid:undefined;return new tr.model.ScopedId(scope,event.id,pid);}else if(event.id2!==undefined){if(event.id2.global!==undefined){return new tr.model.ScopedId(scope,event.id2.global);}else if(event.id2.local!==undefined){return new tr.model.ScopedId(scope,event.id2.local,event.pid);} 5715throw new Error('Event that uses id2 must have either a global or local ID');} 5716return undefined;};TraceEventImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'TraceEventImporter';},extractSubtraces(){const subtraces=this.subtraces_;this.subtraces_=[];return subtraces;},deepCopyIfNeeded_(obj){if(obj===undefined)obj={};if(this.eventsWereFromString_)return obj;return deepCopy(obj);},deepCopyAlways_(obj){if(obj===undefined)obj={};return deepCopy(obj);},processAsyncEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allAsyncEvents_.push({sequenceNumber:this.allAsyncEvents_.length,event,thread});},processFlowEvent(event,opt_slice){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allFlowEvents_.push({refGuid:tr.b.GUID.getLastSimpleGuid(),sequenceNumber:this.allFlowEvents_.length,event,slice:opt_slice,thread});},processCounterEvent(event){let ctrName;if(event.id!==undefined){ctrName=event.name+'['+event.id+']';}else{ctrName=event.name;} 5717const ctr=this.model_.getOrCreateProcess(event.pid).getOrCreateCounter(event.cat,ctrName);const reservedColorId=event.cname?getEventColor(event):undefined;if(ctr.numSeries===0){for(const seriesName in event.args){const colorId=reservedColorId||getEventColor(event,ctr.name+'.'+seriesName);ctr.addSeries(new tr.model.CounterSeries(seriesName,colorId));} 5718if(ctr.numSeries===0){this.model_.importWarning({type:'counter_parse_error',message:'Expected counter '+event.name+' to have at least one argument to use as a value.'});delete ctr.parent.counters[ctr.name];return;}} 5719const ts=this.toModelTimeFromUs_(event.ts);ctr.series.forEach(function(series){const val=event.args[series.name]?event.args[series.name]:0;series.addCounterSample(ts,val);});},processObjectEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allObjectEvents_.push({sequenceNumber:this.allObjectEvents_.length,event,thread});if(thread.guid in this.contextProcessorPerThread){const processor=this.contextProcessorPerThread[thread.guid];const scopedId=TraceEventImporter.scopedIdForEvent_(event);if(event.ph==='D'){processor.destroyContext(scopedId);} 5720processor.invalidateContextCacheForSnapshot(scopedId);}},processContextEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(!(thread.guid in this.contextProcessorPerThread)){this.contextProcessorPerThread[thread.guid]=new tr.importer.ContextProcessor(this.model_);} 5721const scopedId=TraceEventImporter.scopedIdForEvent_(event);const contextType=event.name;const processor=this.contextProcessorPerThread[thread.guid];if(event.ph==='('){processor.enterContext(contextType,scopedId);}else if(event.ph===')'){processor.leaveContext(contextType,scopedId);}else{this.model_.importWarning({type:'unknown_context_phase',message:'Unknown context event phase: '+event.ph+'.'});}},setContextsFromThread_(thread,slice){if(thread.guid in this.contextProcessorPerThread){slice.contexts=this.contextProcessorPerThread[thread.guid].activeContexts;}},processDurationEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const ts=this.toModelTimeFromUs_(event.ts);if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'duration_parse_error',message:'Timestamps are moving backward.'});return;} 5722if(event.ph==='B'){const slice=thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));slice.startStackFrame=this.getStackFrameForEvent_(event);this.setContextsFromThread_(thread,slice);}else if(event.ph==='I'||event.ph==='i'||event.ph==='R'){if(event.s!==undefined&&event.s!=='t'){throw new Error('This should never happen');} 5723thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts));slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=undefined;}else{if(!thread.sliceGroup.openSliceCount){this.model_.importWarning({type:'duration_parse_error',message:'E phase event without a matching B phase event.'});return;} 5724const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts),getEventColor(event));if(event.name&&slice.title!==event.name){this.model_.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+ 5725slice.title+' in openSlice, and is '+ 5726event.name+' in endSlice'});} 5727slice.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(slice.args,event.args,slice.title);}},mergeArgsInto_(dstArgs,srcArgs,eventName){for(const arg in srcArgs){if(dstArgs[arg]!==undefined){this.model_.importWarning({type:'arg_merge_error',message:'Different phases of '+eventName+' provided values for argument '+arg+'.'+' The last provided value will be used.'});} 5728dstArgs[arg]=this.deepCopyIfNeeded_(srcArgs[arg]);}},processCompleteEvent(event){if(event.cat!==undefined&&event.cat.indexOf('trace_event_overhead')>-1){return undefined;} 5729const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(event.flow_out){if(event.flow_in){event.flowPhase=STEP;}else{event.flowPhase=PRODUCER;}}else if(event.flow_in){event.flowPhase=CONSUMER;} 5730const slice=thread.sliceGroup.pushCompleteSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.maybeToModelTimeFromUs_(event.dur),this.maybeToModelTimeFromUs_(event.tts),this.maybeToModelTimeFromUs_(event.tdur),this.deepCopyIfNeeded_(event.args),event.argsStripped,getEventColor(event),event.bind_id);slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=this.getStackFrameForEvent_(event,true);this.setContextsFromThread_(thread,slice);return slice;},processJitCodeEvent(event){if(this.v8ProcessCodeMaps_[event.pid]===undefined){this.v8ProcessCodeMaps_[event.pid]=new tr.e.importer.TraceCodeMap();} 5731const map=this.v8ProcessCodeMaps_[event.pid];const data=event.args.data;if(event.name==='JitCodeMoved'){map.moveEntry(data.code_start,data.new_code_start,data.code_len);}else{map.addEntry(data.code_start,data.code_len,data.name,data.script_id);}},processMetadataEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;} 5732if(event.argsStripped)return;if(event.name==='process_name'){const process=this.model_.getOrCreateProcess(event.pid);process.name=event.args.name;}else if(event.name==='process_labels'){const process=this.model_.getOrCreateProcess(event.pid);const labels=event.args.labels.split(',');for(let i=0;i<labels.length;i++){process.addLabelIfNeeded(labels[i]);}}else if(event.name==='process_uptime_seconds'){const process=this.model_.getOrCreateProcess(event.pid);process.uptime_seconds=event.args.uptime;}else if(event.name==='process_sort_index'){const process=this.model_.getOrCreateProcess(event.pid);process.sortIndex=event.args.sort_index;}else if(event.name==='thread_name'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.name=event.args.name;}else if(event.name==='thread_sort_index'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.sortIndex=event.args.sort_index;}else if(event.name==='num_cpus'){let n=event.args.number;if(this.softwareMeasuredCpuCount_!==undefined){n=Math.max(n,this.softwareMeasuredCpuCount_);} 5733this.softwareMeasuredCpuCount_=n;}else if(event.name==='stackFrames'){const stackFrames=event.args.stackFrames;if(stackFrames===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No stack frames found in a \''+event.name+'\' metadata event'});}else{this.importStackFrames_(stackFrames,'p'+event.pid+':');}}else if(event.name==='typeNames'){const objectTypeNameMap=event.args.typeNames;if(objectTypeNameMap===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No mapping from object type IDs to names found in a \''+ 5734event.name+'\' metadata event'});}else{this.importObjectTypeNameMap_(objectTypeNameMap,event.pid);}}else if(event.name==='TraceConfig'){this.model_.metadata.push({name:'TraceConfig',value:event.args.value});}else{this.model_.importWarning({type:'metadata_parse_error',message:'Unrecognized metadata name: '+event.name});}},processInstantEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;} 5735if(event.s==='t'||event.s===undefined){this.processDurationEvent(event);return;} 5736let constructor;switch(event.s){case'g':constructor=tr.model.GlobalInstantEvent;break;case'p':constructor=tr.model.ProcessInstantEvent;break;default:this.model_.importWarning({type:'instant_parse_error',message:'I phase event with unknown "s" field value.'});return;} 5737const instantEvent=new constructor(event.cat,event.name,getEventColor(event),this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args));switch(instantEvent.type){case tr.model.InstantEventType.GLOBAL:this.model_.instantEvents.push(instantEvent);break;case tr.model.InstantEventType.PROCESS:{const process=this.model_.getOrCreateProcess(event.pid);process.instantEvents.push(instantEvent);break;} 5738default:throw new Error('Unknown instant event type: '+event.s);}},getOrCreateProfileTree_(sampleType,id){if(!this.profileTrees_.has(sampleType)){this.profileTrees_.set(sampleType,new Map());} 5739const profileTreeMap=this.profileTrees_.get(sampleType);if(profileTreeMap.has(id)){return profileTreeMap.get(id);} 5740const profileTree=new tr.model.ProfileTree();profileTreeMap.set(id,profileTree);const info=this.profileInfo_.get(id);if(info!==undefined){profileTree.startTime=info.startTime;profileTree.pid=info.pid;profileTree.tid=info.tid;} 5741return profileTree;},processSample(event){if(event.args===undefined||event.args.data===undefined){return;} 5742if(event.id===undefined){throw new Error('No event ID in sample');} 5743const data=event.args.data;if(data.startTime!==undefined){this.profileInfo_.set(event.id,{startTime:data.startTime,pid:event.pid,tid:event.tid});} 5744const timeDeltas=data.timeDeltas;for(const sampleType in data){if(sampleType==='timeDeltas'||sampleType==='startTime'){continue;} 5745if(data[sampleType].samples&&timeDeltas&&data[sampleType].samples.length!==timeDeltas.length){throw new Error('samples and timeDeltas array should have same length');} 5746const profileTree=this.getOrCreateProfileTree_(sampleType,event.id);const nodes=data[sampleType].nodes;const samples=data[sampleType].samples;if(nodes!==undefined){for(const node of nodes){const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);const profileNode=ProfileNodeType.constructFromObject(profileTree,node);if(profileNode===undefined){continue;} 5747profileTree.add(profileNode);}} 5748if(samples!==undefined){const thread=this.model_.getOrCreateProcess(profileTree.pid).getOrCreateThread(profileTree.tid);for(let i=0,len=samples.length;i<len;++i){const node=profileTree.getNode(samples[i]);profileTree.endTime+=timeDeltas[i];const start=this.toModelTimeFromUs_(profileTree.endTime);this.model_.samples.push(new tr.model.Sample(start,node.sampleTitle,node,thread));}}}},processLegacyV8Sample(event){const data=event.args.data;const sampleType='legacySample';const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);if(data.vm_state==='js'&&!data.stack.length)return;const profileTree=this.getOrCreateProfileTree_(sampleType,event.pid);if(profileTree.getNode(-1)===undefined){profileTree.add(new ProfileNodeType(-1,{url:'',scriptId:-1,functionName:'unknown'},undefined));} 5749let node=undefined;if(data.stack.length>0&&this.v8ProcessCodeMaps_[event.pid]){const map=this.v8ProcessCodeMaps_[event.pid];data.stack.reverse();let parentNode=undefined;for(let i=0;i<data.stack.length;i++){const entry=map.lookupEntry(data.stack[i]);if(entry===undefined){node=profileTree.getNode(-1);}else{node=profileTree.getNode(entry.id);if(node===undefined){const sourceInfo=entry.sourceInfo;node=new ProfileNodeType(entry.id,{functionName:entry.name,url:entry.sourceInfo.file,lineNumber:sourceInfo.line!==-1?sourceInfo.line:undefined,columnNumber:sourceInfo.column!==-1?sourceInfo.column:undefined,scriptid:entry.sourceInfo.scriptId},parentNode);profileTree.add(node);}} 5750parentNode=node;}}else{node=profileTree.getNode(data.vm_state);if(node===undefined){node=new ProfileNodeType(data.vm_state,{url:'',functionName:data.vm_state},undefined);profileTree.add(node);}} 5751const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.model_.samples.push(new tr.model.Sample(this.toModelTimeFromUs_(event.ts),node.sampleTitle,node,thread));},processTraceSampleEvent(event){if(event.name==='V8Sample'||event.name.startsWith('Profile')){this.v8SamplingData_.push(event);return;} 5752let node=this.stackFrameTree_.getNode(event.name);if(node===undefined&&event.sf!==undefined){node=this.stackFrameTree_.getNode('g'+event.sf);} 5753if(node===undefined){let id=event.name;if(event.sf){id='g'+event.sf;} 5754const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');node=this.stackFrameTree_.add(new ProfileNodeType(id,{functionName:event.name},undefined));} 5755const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),'Trace Event Sample',node,thread,undefined,1,this.deepCopyIfNeeded_(event.args));this.setContextsFromThread_(thread,sample);this.model_.samples.push(sample);},processMemoryDumpEvent(event){if(event.ph!=='v'){throw new Error('Invalid memory dump event phase "'+event.ph+'".');} 5756const dumpId=event.id;if(dumpId===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase \''+event.ph+'\') without a dump ID.'});return;} 5757const pid=event.pid;if(pid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase\''+event.ph+'\', dump ID \''+ 5758dumpId+'\') without a PID.'});return;} 5759const allEvents=this.allMemoryDumpEvents_;let dumpIdEvents=allEvents[dumpId];if(dumpIdEvents===undefined){allEvents[dumpId]=dumpIdEvents={};} 5760let processEvents=dumpIdEvents[pid];if(processEvents===undefined){dumpIdEvents[pid]=processEvents=[];} 5761processEvents.push(event);},processClockSyncEvent(event){if(event.ph!=='c'){throw new Error('Invalid clock sync event phase "'+event.ph+'".');} 5762const syncId=event.args.sync_id;if(syncId===undefined){this.model_.importWarning({type:'clock_sync_parse_error',message:'Clock sync at time '+event.ts+' without an ID.'});return;} 5763if(event.args&&event.args.issue_ts!==undefined){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.args.issue_ts),tr.b.Unit.timestampFromUs(event.ts));}else{this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.ts));}},processLegacyChromeClockSyncEvent(event){if(event.ph==='S'){this.legacyChromeClockSyncStartEvent_=event;}else if(event.ph==='F'){this.legacyChromeClockSyncFinishEvent_=event;} 5764if(this.legacyChromeClockSyncStartEvent_===undefined||this.legacyChromeClockSyncFinishEvent_===undefined){return;} 5765const startSyncId=this.legacyChromeClockSyncStartEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);const finishSyncId=this.legacyChromeClockSyncFinishEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);if(startSyncId!==finishSyncId){throw new Error('Inconsistent clock sync ID of legacy Chrome clock sync events');} 5766this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,startSyncId,tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncStartEvent_.ts),tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncFinishEvent_.ts));},processV8Events(){this.v8SamplingData_.sort(function(a,b){if(a.ts!==b.ts)return a.ts-b.ts;if(a.ph==='M'||a.ph==='I'){return-1;}else if(b.ph==='M'||b.ph==='I'){return 1;} 5767return 0;});const length=this.v8SamplingData_.length;for(let i=0;i<length;++i){const event=this.v8SamplingData_[i];if(event.ph==='M'||event.ph==='I'){this.processJitCodeEvent(event);}else if(event.ph==='P'){if(event.name.startsWith('Profile')){this.processSample(event);}else{this.processLegacyV8Sample(event);}}}},importClockSyncMarkers(){if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.importClockSyncMarker_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());} 5768parser.finish();}else{for(let i=0;i<this.events_.length;i++){this.importClockSyncMarker_(this.events_[i]);}}},importClockSyncMarker_(event){const isLegacyChromeClockSync=isLegacyChromeClockSyncEvent(event);if(event.ph!=='c'&&!isLegacyChromeClockSync)return;const eventSizeInBytes=this.model_.importOptions.trackDetailedModelStats?JSON.stringify(event).length:undefined;this.model_.stats.willProcessBasicTraceEvent('clock_sync',event.cat,event.name,event.ts,eventSizeInBytes);if(isLegacyChromeClockSync){this.processLegacyChromeClockSyncEvent(event);}else{this.processClockSyncEvent(event);}},importEvents(){this.hasEvents_=false;if(this.stackFrameEvents_){this.importStackFrames_(this.stackFrameEvents_,'g');} 5769if(this.traceAnnotations_)this.importAnnotations_();if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.processEvent_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());} 5770parser.finish();}else{for(let eI=0;eI<this.events_.length;eI++){this.processEvent_(this.events_[eI]);}} 5771this.processV8Events();for(const frame of Object.values(this.v8ProcessRootStackFrame_)){frame.removeAllChildren();}},storeSubtrace_(subtrace){this.subtraces_.push(subtrace);return oboe.drop;},storeSamples_(samples){this.sampleEvents_=samples;return oboe.drop;},storeStackFrames_(stackFrames){this.stackFrameEvents_=stackFrames;return oboe.drop;},storeDisplayTimeUnit_(unitName){if(!unitName)return;const unit=tr.b.TimeDisplayModes[unitName];if(unit===undefined){throw new Error('Unit '+unitName+' is not supported.');} 5772this.model_.intrinsicTimeUnit=unit;return oboe.drop;},storeTraceAnnotations_(traceAnnotations){this.traceAnnotations_=traceAnnotations;return oboe.drop;},storeMetadata_(container){for(const fieldName of Object.keys(container)){if(NON_METADATA_FIELDS.has(fieldName))continue;this.model_.metadata.push({name:fieldName,value:container[fieldName]});if(fieldName!=='metadata')continue;const metadata=container[fieldName];if(metadata['highres-ticks']){this.model_.isTimeHighResolution=metadata['highres-ticks'];} 5773if(metadata['clock-domain']){this.clockDomainId_=metadata['clock-domain'];}} 5774return oboe.drop;},processEvent_(event){this.hasEvents_=true;const importOptions=this.model_.importOptions;const trackDetailedModelStats=importOptions.trackDetailedModelStats;const modelStats=this.model_.stats;if(event.args==='__stripped__'){event.argsStripped=true;event.args=undefined;} 5775let eventSizeInBytes=undefined;if(trackDetailedModelStats){eventSizeInBytes=JSON.stringify(event).length;} 5776switch(event.ph){case'B':case'E':modelStats.willProcessBasicTraceEvent('begin_end (non-compact)',event.cat,event.name,event.ts,eventSizeInBytes);this.processDurationEvent(event);break;case'X':{modelStats.willProcessBasicTraceEvent('begin_end (compact)',event.cat,event.name,event.ts,eventSizeInBytes);const slice=this.processCompleteEvent(event);if(slice!==undefined&&event.bind_id!==undefined){this.processFlowEvent(event,slice);} 5777break;} 5778case'b':case'e':case'n':case'S':case'F':case'T':case'p':modelStats.willProcessBasicTraceEvent('async',event.cat,event.name,event.ts,eventSizeInBytes);this.processAsyncEvent(event);break;case'I':case'i':case'R':modelStats.willProcessBasicTraceEvent('instant',event.cat,event.name,event.ts,eventSizeInBytes);this.processInstantEvent(event);break;case'P':modelStats.willProcessBasicTraceEvent('samples',event.cat,event.name,event.ts,eventSizeInBytes);this.processTraceSampleEvent(event);break;case'C':modelStats.willProcessBasicTraceEvent('counters',event.cat,event.name,event.ts,eventSizeInBytes);this.processCounterEvent(event);break;case'M':modelStats.willProcessBasicTraceEvent('metadata',event.cat,event.name,event.ts,eventSizeInBytes);this.processMetadataEvent(event);break;case'N':case'D':case'O':modelStats.willProcessBasicTraceEvent('objects',event.cat,event.name,event.ts,eventSizeInBytes);this.processObjectEvent(event);break;case's':case't':case'f':modelStats.willProcessBasicTraceEvent('flows',event.cat,event.name,event.ts,eventSizeInBytes);this.processFlowEvent(event);break;case'v':modelStats.willProcessBasicTraceEvent('memory_dumps',event.cat,event.name,event.ts,eventSizeInBytes);this.processMemoryDumpEvent(event);break;case'(':case')':this.processContextEvent(event);break;case'c':break;default:modelStats.willProcessBasicTraceEvent('unknown',event.cat,event.name,event.ts,eventSizeInBytes);this.model_.importWarning({type:'parse_error',message:'Unrecognized event phase: '+ 5779event.ph+' ('+event.name+')'});} 5780return oboe.drop;},importStackFrames_(rawStackFrames,idPrefix){const model=this.model_;for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const fullId=idPrefix+id;const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const stackFrame=new tr.model.StackFrame(undefined,fullId,rawStackFrame.name,ColorScheme.getColorIdForGeneralPurposeString(textForColor));model.addStackFrame(stackFrame);} 5781for(const id in rawStackFrames){const fullId=idPrefix+id;const stackFrame=model.stackFrames[fullId];if(stackFrame===undefined){throw new Error('Internal error');} 5782const rawStackFrame=rawStackFrames[id];const parentId=rawStackFrame.parent;let parentStackFrame;if(parentId===undefined){parentStackFrame=undefined;}else{const parentFullId=idPrefix+parentId;parentStackFrame=model.stackFrames[parentFullId];if(parentStackFrame===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentFullId+' for stack frame \''+stackFrame.name+'\' (ID '+fullId+').'});}} 5783stackFrame.parentFrame=parentStackFrame;} 5784const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');if(idPrefix==='g'){for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const node=this.stackFrameTree_.add(new ProfileNodeType('g'+id,{functionName:rawStackFrame.name},undefined));node.colorId=ColorScheme.getColorIdForGeneralPurposeString(textForColor);node.parentId=rawStackFrame.parent;} 5785for(const id in rawStackFrames){const node=this.stackFrameTree_.getNode('g'+id);const parentId=node.parentId;let parentNode=undefined;if(parentId!==undefined){parentNode=this.stackFrameTree_.getNode('g'+parentId);if(parentNode===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentId+' for stack frame \''+node.name+'\' (ID '+node.id+').'});} 5786node.parentNode=parentNode;}}}},importObjectTypeNameMap_(rawObjectTypeNameMap,pid){if(pid in this.objectTypeNameMap_){this.model_.importWarning({type:'metadata_parse_error',message:'Mapping from object type IDs to names provided for pid='+ 5787pid+' multiple times.'});return;} 5788let objectTypeNamePrefix=undefined;let objectTypeNameSuffix=undefined;const objectTypeNameMap={};for(const objectTypeId in rawObjectTypeNameMap){const rawObjectTypeName=rawObjectTypeNameMap[objectTypeId];if(objectTypeNamePrefix===undefined){for(let i=0;i<OBJECT_TYPE_NAME_PATTERNS.length;i++){const pattern=OBJECT_TYPE_NAME_PATTERNS[i];if(rawObjectTypeName.startsWith(pattern.prefix)&&rawObjectTypeName.endsWith(pattern.suffix)){objectTypeNamePrefix=pattern.prefix;objectTypeNameSuffix=pattern.suffix;break;}}} 5789if(objectTypeNamePrefix!==undefined&&rawObjectTypeName.startsWith(objectTypeNamePrefix)&&rawObjectTypeName.endsWith(objectTypeNameSuffix)){objectTypeNameMap[objectTypeId]=rawObjectTypeName.substring(objectTypeNamePrefix.length,rawObjectTypeName.length-objectTypeNameSuffix.length);}else{objectTypeNameMap[objectTypeId]=rawObjectTypeName;}} 5790this.objectTypeNameMap_[pid]=objectTypeNameMap;},importAnnotations_(){for(const id in this.traceAnnotations_){const annotation=tr.model.Annotation.fromDictIfPossible(this.traceAnnotations_[id]);if(!annotation){this.model_.importWarning({type:'annotation_warning',message:'Unrecognized traceAnnotation typeName \"'+ 5791this.traceAnnotations_[id].typeName+'\"'});continue;} 5792this.model_.addAnnotation(annotation);}},finalizeImport(){if(this.softwareMeasuredCpuCount_!==undefined){this.model_.kernel.softwareMeasuredCpuCount=this.softwareMeasuredCpuCount_;} 5793this.createAsyncSlices_();this.createFlowSlices_();this.createExplicitObjects_();this.createImplicitObjects_();this.createMemoryDumps_();},getStackFrameForEvent_(event,opt_lookForEndEvent){let sf;let stack;if(opt_lookForEndEvent){sf=event.esf;stack=event.estack;}else{sf=event.sf;stack=event.stack;} 5794if(stack!==undefined&&sf!==undefined){this.model_.importWarning({type:'stack_frame_and_stack_error',message:'Event at '+event.ts+' cannot have both a stack and a stackframe.'});return undefined;} 5795if(stack!==undefined){return this.model_.resolveStackToStackFrame_(event.pid,stack);} 5796if(sf===undefined)return undefined;const stackFrame=this.model_.stackFrames['g'+sf];if(stackFrame===undefined){this.model_.importWarning({type:'sample_import_error',message:'No frame for '+sf});return;} 5797return stackFrame;},resolveStackToStackFrame_(pid,stack){return undefined;},importSampleData(){if(!this.sampleEvents_)return;const m=this.model_;const events=this.sampleEvents_;if(this.hasEvents_===undefined){throw new Error('importEvents is not run before importSampleData');}else if(!this.hasEvents_){for(let i=0;i<events.length;i++){const event=events[i];m.getOrCreateProcess(event.tid).getOrCreateThread(event.tid);}} 5798const threadsByTid={};m.getAllThreads().forEach(function(t){threadsByTid[t.tid]=t;});for(let i=0;i<events.length;i++){const event=events[i];const thread=threadsByTid[event.tid];if(thread===undefined){m.importWarning({type:'sample_import_error',message:'Thread '+events.tid+'not found'});continue;} 5799let cpu;if(event.cpu!==undefined){cpu=m.kernel.getOrCreateCpu(event.cpu);} 5800const leafNode=this.stackFrameTree_.getNode('g'+event.sf);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),event.name,leafNode,thread,cpu,event.weight);m.samples.push(sample);}},createAsyncSlices_(){if(this.allAsyncEvents_.length===0)return;this.allAsyncEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const legacyEvents=[];const nestableAsyncEventsByKey={};const nestableMeasureAsyncEventsByKey={};for(let i=0;i<this.allAsyncEvents_.length;i++){const asyncEventState=this.allAsyncEvents_[i];const event=asyncEventState.event;if(event.ph==='S'||event.ph==='F'||event.ph==='T'||event.ph==='p'){legacyEvents.push(asyncEventState);continue;} 5801if(event.cat===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'cat parameter.'});continue;} 5802if(event.name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'name parameter.'});continue;} 5803const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require an '+'id parameter.'});continue;} 5804if(event.cat==='blink.user_timing'){const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(event.name);if(matched!==null){const key=matched[1]+':'+event.cat;event.args=JSON.parse(Base64.atob(matched[3])||'{}');if(nestableMeasureAsyncEventsByKey[key]===undefined){nestableMeasureAsyncEventsByKey[key]=[];} 5805nestableMeasureAsyncEventsByKey[key].push(asyncEventState);continue;}} 5806const key=event.cat+':'+id.toStringWithDelimiter(':');if(nestableAsyncEventsByKey[key]===undefined){nestableAsyncEventsByKey[key]=[];} 5807nestableAsyncEventsByKey[key].push(asyncEventState);} 5808this.createLegacyAsyncSlices_(legacyEvents);this.createNestableAsyncSlices_(nestableMeasureAsyncEventsByKey);this.createNestableAsyncSlices_(nestableAsyncEventsByKey);},createLegacyAsyncSlices_(legacyEvents){if(legacyEvents.length===0)return;legacyEvents.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const asyncEventStatesByNameThenID={};for(let i=0;i<legacyEvents.length;i++){const asyncEventState=legacyEvents[i];const event=asyncEventState.event;const name=event.name;if(name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require a name '+' parameter.'});continue;} 5809const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require an id parameter.'});continue;} 5810const key=id.toStringWithDelimiter(':');if(event.ph==='S'){if(asyncEventStatesByNameThenID[name]===undefined){asyncEventStatesByNameThenID[name]={};} 5811if(asyncEventStatesByNameThenID[name][key]){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', a slice of the same id '+id+' was alrady open.'});continue;} 5812asyncEventStatesByNameThenID[name][key]=[];asyncEventStatesByNameThenID[name][key].push(asyncEventState);}else{if(asyncEventStatesByNameThenID[name]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' was open.'});continue;} 5813if(asyncEventStatesByNameThenID[name][key]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' with id='+id+' was open.'});continue;} 5814const events=asyncEventStatesByNameThenID[name][key];events.push(asyncEventState);if(event.ph==='F'){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,name);const slice=new asyncSliceConstructor(events[0].event.cat,name,getEventColor(events[0].event),this.toModelTimeFromUs_(events[0].event.ts),tr.b.concatenateObjects(events[0].event.args,events[events.length-1].event.args),this.toModelTimeFromUs_(event.ts-events[0].event.ts),true,undefined,undefined,events[0].event.argsStripped);slice.startThread=events[0].thread;slice.endThread=asyncEventState.thread;slice.id=key;const stepType=events[1].event.ph;let isValid=true;for(let j=1;j<events.length-1;++j){if(events[j].event.ph==='T'||events[j].event.ph==='p'){isValid=this.assertStepTypeMatches_(stepType,events[j]);if(!isValid)break;} 5815if(events[j].event.ph==='S'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+ 5816name+' with id='+id+' had a step before the start event.'});continue;} 5817if(events[j].event.ph==='F'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+ 5818name+' with id='+id+' had a step after the finish event.'});continue;} 5819const startIndex=j+(stepType==='T'?0:-1);const endIndex=startIndex+1;let subName=name;if(!events[j].event.argsStripped&&(events[j].event.ph==='T'||events[j].event.ph==='p')){subName=subName+':'+events[j].event.args.step;} 5820const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,subName);const subSlice=new asyncSliceConstructor(events[0].event.cat,subName,getEventColor(event,subName+j),this.toModelTimeFromUs_(events[startIndex].event.ts),this.deepCopyIfNeeded_(events[j].event.args),this.toModelTimeFromUs_(events[endIndex].event.ts-events[startIndex].event.ts),undefined,undefined,events[startIndex].event.argsStripped);subSlice.startThread=events[startIndex].thread;subSlice.endThread=events[endIndex].thread;subSlice.id=key;slice.subSlices.push(subSlice);} 5821if(isValid){slice.startThread.asyncSliceGroup.push(slice);} 5822delete asyncEventStatesByNameThenID[name][key];}}}},createNestableAsyncSlices_(nestableEventsByKey){for(const key in nestableEventsByKey){const eventStateEntries=nestableEventsByKey[key];const parentStack=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'){let parentIndex=-1;for(let k=parentStack.length-1;k>=0;--k){if(parentStack[k].event.name===eventStateEntry.event.name){parentIndex=k;break;}} 5823if(parentIndex===-1){eventStateEntry.finished=false;}else{parentStack[parentIndex].end=eventStateEntry;while(parentIndex<parentStack.length){parentStack.pop();}}} 5824if(parentStack.length>0){eventStateEntry.parentEntry=parentStack[parentStack.length-1];} 5825if(eventStateEntry.event.ph==='b'){parentStack.push(eventStateEntry);}} 5826const topLevelSlices=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'&&eventStateEntry.finished===undefined){continue;} 5827let startState=undefined;let endState=undefined;let sliceArgs=eventStateEntry.event.args||{};let sliceError=undefined;const id=TraceEventImporter.scopedIdForEvent_(eventStateEntry.event);if(eventStateEntry.event.ph==='n'){startState=eventStateEntry;endState=eventStateEntry;}else if(eventStateEntry.event.ph==='b'){if(eventStateEntry.end===undefined){eventStateEntry.end=eventStateEntries[eventStateEntries.length-1];sliceError='Slice has no matching END. End time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async BEGIN event at '+ 5828eventStateEntry.event.ts+' with name='+ 5829eventStateEntry.event.name+' and id='+id+' was unmatched.'});}else{function concatenateArguments(args1,args2){if(args1.params===undefined||args2.params===undefined){return tr.b.concatenateObjects(args1,args2);} 5830const args3={};args3.params=tr.b.concatenateObjects(args1.params,args2.params);return tr.b.concatenateObjects(args1,args2,args3);} 5831const endArgs=eventStateEntry.end.event.args||{};sliceArgs=concatenateArguments(sliceArgs,endArgs);} 5832startState=eventStateEntry;endState=eventStateEntry.end;}else{sliceError='Slice has no matching BEGIN. Start time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async END event at '+ 5833eventStateEntry.event.ts+' with name='+ 5834eventStateEntry.event.name+' and id='+id+' was unmatched.'});startState=eventStateEntries[0];endState=eventStateEntry;} 5835const isTopLevel=(eventStateEntry.parentEntry===undefined);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(eventStateEntry.event.cat,eventStateEntry.event.name);let threadStart=undefined;let threadDuration=undefined;if(startState.event.tts&&startState.event.use_async_tts){threadStart=this.toModelTimeFromUs_(startState.event.tts);if(endState.event.tts){const threadEnd=this.toModelTimeFromUs_(endState.event.tts);threadDuration=threadEnd-threadStart;}} 5836const slice=new asyncSliceConstructor(eventStateEntry.event.cat,eventStateEntry.event.name,getEventColor(endState.event),this.toModelTimeFromUs_(startState.event.ts),sliceArgs,this.toModelTimeFromUs_(endState.event.ts-startState.event.ts),isTopLevel,threadStart,threadDuration,startState.event.argsStripped);slice.startThread=startState.thread;slice.endThread=endState.thread;slice.startStackFrame=this.getStackFrameForEvent_(startState.event);slice.endStackFrame=this.getStackFrameForEvent_(endState.event);slice.id=key;if(sliceError!==undefined){slice.error=sliceError;} 5837eventStateEntry.slice=slice;if(isTopLevel){topLevelSlices.push(slice);}else if(eventStateEntry.parentEntry.slice!==undefined){eventStateEntry.parentEntry.slice.subSlices.push(slice);}} 5838for(let si=0;si<topLevelSlices.length;si++){topLevelSlices[si].startThread.asyncSliceGroup.push(topLevelSlices[si]);}}},assertStepTypeMatches_(stepType,event){if(stepType!==event.event.ph){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+ 5839event.event.name+' with id='+ 5840TraceEventImporter.scopedIdForEvent_(event.event)+' had both begin and end steps, which is not allowed.'});return false;} 5841return true;},validateFlowEvent_(event){if(event.name===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require a name parameter.'});return false;} 5842if(event.ph==='s'||event.ph==='f'||event.ph==='t'){if(event.id===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require an id parameter.'});return false;} 5843return true;} 5844if(event.bind_id){if(event.flow_in===undefined&&event.flow_out===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow producer or consumer require flow_in or flow_out.'});return false;} 5845return true;} 5846return false;},createFlowSlices_(){if(this.allFlowEvents_.length===0)return;const createFlowEvent=function(thread,event,opt_slice){let startSlice;let flowId;let flowStartTs;if(event.bind_id){startSlice=opt_slice;flowId=event.bind_id;flowStartTs=this.toModelTimeFromUs_(event.ts+event.dur);}else{const ts=this.toModelTimeFromUs_(event.ts);startSlice=thread.sliceGroup.findSliceAtTs(ts);if(startSlice===undefined)return undefined;flowId=event.id;flowStartTs=ts;} 5847const flowEvent=new tr.model.FlowEvent(event.cat,flowId,event.name,getEventColor(event),flowStartTs,this.deepCopyAlways_(event.args));flowEvent.startSlice=startSlice;flowEvent.startStackFrame=this.getStackFrameForEvent_(event);flowEvent.endStackFrame=undefined;startSlice.outFlowEvents.push(flowEvent);return flowEvent;}.bind(this);const finishFlowEventWith=function(flowEvent,thread,event,refGuid,bindToParent,opt_slice){let endSlice;if(event.bind_id){endSlice=opt_slice;}else{const ts=this.toModelTimeFromUs_(event.ts);if(bindToParent){endSlice=thread.sliceGroup.findSliceAtTs(ts);}else{endSlice=thread.sliceGroup.findNextSliceAfter(ts,refGuid);} 5848if(endSlice===undefined)return false;} 5849endSlice.inFlowEvents.push(flowEvent);flowEvent.endSlice=endSlice;flowEvent.duration=this.toModelTimeFromUs_(event.ts)-flowEvent.start;flowEvent.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(flowEvent.args,event.args,flowEvent.title);return true;}.bind(this);const processFlowConsumer=function(flowIdToEvent,sliceGuidToEvent,event,slice){let flowEvent=flowIdToEvent[event.bind_id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Flow consumer '+event.bind_id+' does not have '+'a flow producer'});return false;}else if(flowEvent.endSlice){const flowProducer=flowEvent.startSlice;flowEvent=createFlowEvent(undefined,sliceGuidToEvent[flowProducer.guid],flowProducer);} 5850const refGuid=undefined;const ok=finishFlowEventWith(flowEvent,undefined,event,refGuid,undefined,slice);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'Flow consumer '+event.bind_id+' does not end '+'at an actual slice, so cannot be created.'});return false;} 5851return true;}.bind(this);const processFlowProducer=function(flowIdToEvent,flowStatus,event,slice){if(flowIdToEvent[event.bind_id]&&flowStatus[event.bind_id]){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' already seen'});return false;} 5852const flowEvent=createFlowEvent(undefined,event,slice);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' does not start'+'a flow'});return false;} 5853flowIdToEvent[event.bind_id]=flowEvent;}.bind(this);this.allFlowEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const flowIdToEvent={};const sliceGuidToEvent={};const flowStatus={};for(let i=0;i<this.allFlowEvents_.length;++i){const data=this.allFlowEvents_[i];const refGuid=data.refGuid;const event=data.event;const thread=data.thread;if(!this.validateFlowEvent_(event))continue;if(event.bind_id){const slice=data.slice;sliceGuidToEvent[slice.guid]=event;if(event.flowPhase===PRODUCER){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;} 5854flowStatus[event.bind_id]=true;}else{if(!processFlowConsumer(flowIdToEvent,sliceGuidToEvent,event,slice)){continue;} 5855flowStatus[event.bind_id]=false;if(event.flowPhase===STEP){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;} 5856flowStatus[event.bind_id]=true;}} 5857continue;} 5858let flowEvent;if(event.ph==='s'){if(flowIdToEvent[event.id]){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' already seen when '+'encountering start of flow event.'});continue;} 5859flowEvent=createFlowEvent(thread,event);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' does not start '+'at an actual slice, so cannot be created.'});continue;} 5860flowIdToEvent[event.id]=flowEvent;}else if(event.ph==='t'||event.ph==='f'){flowEvent=flowIdToEvent[event.id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Found flow phase '+event.ph+' for id: '+event.id+' but no flow start found.'});continue;} 5861let bindToParent=event.ph==='t';if(event.ph==='f'){if(event.bp===undefined){if(event.cat.indexOf('input')>-1){bindToParent=true;}else if(event.cat.indexOf('ipc.flow')>-1){bindToParent=true;}}else{if(event.bp!=='e'){this.model_.importWarning({type:'flow_slice_bind_point_error',message:'Flow event with invalid binding point (event.bp).'});continue;} 5862bindToParent=true;}} 5863const ok=finishFlowEventWith(flowEvent,thread,event,refGuid,bindToParent);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'event id '+event.id+' does not end '+'at an actual slice, so cannot be created.'});} 5864flowIdToEvent[event.id]=undefined;if(ok&&event.ph==='t'){flowEvent=createFlowEvent(thread,event);flowIdToEvent[event.id]=flowEvent;}}}},createExplicitObjects_(){if(this.allObjectEvents_.length===0)return;const processEvent=function(objectEventState){const event=objectEventState.event;const scopedId=TraceEventImporter.scopedIdForEvent_(event);const thread=objectEventState.thread;if(event.name===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an name parameter.'});} 5865if(scopedId===undefined||scopedId.id===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an id parameter.'});} 5866const process=thread.parent;const ts=this.toModelTimeFromUs_(event.ts);let instance;if(event.ph==='N'){try{instance=process.objects.idWasCreated(scopedId,event.cat,event.name,ts);}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing create of '+ 5867scopedId+' at ts='+ts+': '+e});return;}}else if(event.ph==='O'){if(event.args.snapshot===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+scopedId+' at ts='+ts+': '+'Snapshots must have args: {snapshot: ...}'});return;} 5868let snapshot;try{const args=this.deepCopyIfNeeded_(event.args.snapshot);let cat;if(args.cat){cat=args.cat;delete args.cat;}else{cat=event.cat;} 5869let baseTypename;if(args.base_type){baseTypename=args.base_type;delete args.base_type;}else{baseTypename=undefined;} 5870snapshot=process.objects.addSnapshot(scopedId,cat,event.name,ts,args,baseTypename);snapshot.snapshottedOnThread=thread;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing snapshot of '+ 5871scopedId+' at ts='+ts+': '+e});return;} 5872instance=snapshot.objectInstance;}else if(event.ph==='D'){try{process.objects.idWasDeleted(scopedId,event.cat,event.name,ts);const instanceMap=process.objects.getOrCreateInstanceMap_(scopedId);instance=instanceMap.lastInstance;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing delete of '+ 5873scopedId+' at ts='+ts+': '+e});return;}} 5874if(instance){instance.colorId=getEventColor(event,instance.typeName);}}.bind(this);this.allObjectEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const allObjectEvents=this.allObjectEvents_;for(let i=0;i<allObjectEvents.length;i++){const objectEventState=allObjectEvents[i];try{processEvent.call(this,objectEventState);}catch(e){this.model_.importWarning({type:'object_parse_error',message:e.message});}}},createImplicitObjects_(){for(const proc of Object.values(this.model_.processes)){this.createImplicitObjectsForProcess_(proc);}},createImplicitObjectsForProcess_(process){function processField(referencingObject,referencingObjectFieldName,referencingObjectFieldValue,containingSnapshot){if(!referencingObjectFieldValue)return;if(referencingObjectFieldValue instanceof 5875tr.model.ObjectSnapshot){return null;} 5876if(referencingObjectFieldValue.id===undefined)return;const implicitSnapshot=referencingObjectFieldValue;const rawId=implicitSnapshot.id;const m=/(.+)\/(.+)/.exec(rawId);if(!m){throw new Error('Implicit snapshots must have names.');} 5877delete implicitSnapshot.id;const name=m[1];const id=m[2];let res;let cat;if(implicitSnapshot.cat!==undefined){cat=implicitSnapshot.cat;}else{cat=containingSnapshot.objectInstance.category;} 5878let baseTypename;if(implicitSnapshot.base_type){baseTypename=implicitSnapshot.base_type;}else{baseTypename=undefined;} 5879const scope=containingSnapshot.objectInstance.scopedId.scope;try{res=process.objects.addSnapshot(new tr.model.ScopedId(scope,id),cat,name,containingSnapshot.ts,implicitSnapshot,baseTypename);}catch(e){this.model_.importWarning({type:'object_snapshot_parse_error',message:'While processing implicit snapshot of '+ 5880rawId+' at ts='+containingSnapshot.ts+': '+e});return;} 5881res.objectInstance.hasImplicitSnapshots=true;res.containingSnapshot=containingSnapshot;res.snapshottedOnThread=containingSnapshot.snapshottedOnThread;referencingObject[referencingObjectFieldName]=res;if(!(res instanceof tr.model.ObjectSnapshot)){throw new Error('Created object must be instanceof snapshot');} 5882return res.args;} 5883function iterObject(object,func,containingSnapshot,thisArg){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){const res=func.call(thisArg,object,i,object[i],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[i],func,containingSnapshot,thisArg);}} 5884return;} 5885for(const key in object){const res=func.call(thisArg,object,key,object[key],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[key],func,containingSnapshot,thisArg);}}} 5886process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(snapshot){if(snapshot.args.id!==undefined){throw new Error('args cannot have an id field inside it');} 5887iterObject(snapshot.args,processField,snapshot,this);},this);},this);},createMemoryDumps_(){for(const dumpId in this.allMemoryDumpEvents_){this.createGlobalMemoryDump_(this.allMemoryDumpEvents_[dumpId],dumpId);}},createGlobalMemoryDump_(dumpIdEvents,dumpId){const globalRange=new tr.b.math.Range();for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){globalRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}} 5888if(globalRange.isEmpty){throw new Error('Internal error: Global memory dump without events');} 5889const globalMemoryDump=new tr.model.GlobalMemoryDump(this.model_,globalRange.min);globalMemoryDump.duration=globalRange.range;this.model_.globalMemoryDumps.push(globalMemoryDump);const globalMemoryAllocatorDumpsByFullName={};const levelsOfDetail={};const allMemoryAllocatorDumpsByGuid={};for(const pid in dumpIdEvents){this.createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,dumpIdEvents[pid],pid,dumpId);} 5890globalMemoryDump.levelOfDetail=levelsOfDetail.global;globalMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(globalMemoryAllocatorDumpsByFullName);this.parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId);},createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,processEvents,pid,dumpId){const processRange=new tr.b.math.Range();for(let i=0;i<processEvents.length;i++){processRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));} 5891if(processRange.isEmpty){throw new Error('Internal error: Process memory dump without events');} 5892const process=this.model_.getOrCreateProcess(pid);const processMemoryDump=new tr.model.ProcessMemoryDump(globalMemoryDump,process,processRange.min);processMemoryDump.duration=processRange.range;process.memoryDumps.push(processMemoryDump);globalMemoryDump.processMemoryDumps[pid]=processMemoryDump;const processMemoryAllocatorDumpsByFullName={};for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'\'dumps\' field not found in a process memory dump'+' event for PID='+pid+' and dump ID='+dumpId+'.'});continue;} 5893this.parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId);this.parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId);} 5894if(levelsOfDetail.process===undefined){levelsOfDetail.process=processMemoryDump.vmRegions?DETAILED:LIGHT;} 5895if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'global',levelsOfDetail.process)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for global memory'+' dump (dump ID='+dumpId+').'});} 5896processMemoryDump.levelOfDetail=levelsOfDetail.process;delete levelsOfDetail.process;processMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(processMemoryAllocatorDumpsByFullName);},parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId){const rawTotals=dumps.process_totals;if(rawTotals===undefined)return;if(processMemoryDump.totals!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Process totals provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5897const totals={};let platformSpecificTotals=undefined;for(const rawTotalName in rawTotals){const rawTotalValue=rawTotals[rawTotalName];if(rawTotalValue===undefined)continue;if(rawTotalName==='resident_set_bytes'){totals.residentBytes=parseInt(rawTotalValue,16);continue;} 5898if(rawTotalName==='peak_resident_set_bytes'){totals.peakResidentBytes=parseInt(rawTotalValue,16);continue;} 5899if(rawTotalName==='is_peak_rss_resetable'){totals.arePeakResidentBytesResettable=!!rawTotalValue;continue;} 5900if(platformSpecificTotals===undefined){platformSpecificTotals={};totals.platformSpecific=platformSpecificTotals;} 5901platformSpecificTotals[rawTotalName]=parseInt(rawTotalValue,16);} 5902if(totals.peakResidentBytes===undefined&&totals.arePeakResidentBytesResettable!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field peak_resident_set_bytes found'+' but is_peak_rss_resetable not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});} 5903if(totals.arePeakResidentBytesResettable!==undefined&&totals.peakResidentBytes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field is_peak_rss_resetable found'+' but peak_resident_set_bytes not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});} 5904processMemoryDump.totals=totals;},parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId){const rawProcessMmaps=dumps.process_mmaps;if(rawProcessMmaps===undefined)return;const rawVmRegions=rawProcessMmaps.vm_regions;if(rawVmRegions===undefined)return;if(processMemoryDump.vmRegions!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'VM regions provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5905const vmRegions=new Array(rawVmRegions.length);for(let i=0;i<rawVmRegions.length;i++){const rawVmRegion=rawVmRegions[i];const byteStats={};const rawByteStats=rawVmRegion.bs;for(const rawByteStatName in rawByteStats){const rawByteStatValue=rawByteStats[rawByteStatName];if(rawByteStatValue===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Byte stat \''+rawByteStatName+'\' of VM region '+ 5906i+' ('+rawVmRegion.mf+') in process memory dump for '+'PID='+pid+' and dump ID='+dumpId+' does not have a value.'});continue;} 5907const byteStatName=BYTE_STAT_NAME_MAP[rawByteStatName];if(byteStatName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown byte stat name \''+rawByteStatName+'\' ('+ 5908rawByteStatValue+') of VM region '+i+' ('+ 5909rawVmRegion.mf+') in process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});continue;} 5910byteStats[byteStatName]=parseInt(rawByteStatValue,16);if(byteStatName==='proportionalResident'&&byteStats[byteStatName]===0){byteStats[byteStatName]=undefined;}} 5911vmRegions[i]=new tr.model.VMRegion(parseInt(rawVmRegion.sa,16),parseInt(rawVmRegion.sz,16),rawVmRegion.pf,rawVmRegion.mf,byteStats);} 5912processMemoryDump.vmRegions=tr.model.VMRegionClassificationNode.fromRegions(vmRegions);},parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId){const idPrefix='p'+pid+':';let importer;if(dumps.heaps){const processTypeMap=this.objectTypeNameMap_[pid];if(processTypeMap===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing mapping from object type IDs to names.'});} 5913importer=new LegacyHeapDumpTraceEventImporter(this.model_,processMemoryDump,processTypeMap,idPrefix,dumpId,dumps.heaps);}else if(dumps.heaps_v2){const data=dumps.heaps_v2;this.heapProfileExpander=this.heapProfileExpander.expandData(data);this.addNewStackFramesFromExpander_(this.heapProfileExpander,idPrefix);importer=new HeapDumpTraceEventImporter(this.heapProfileExpander,this.model_.stackFrames,processMemoryDump,idPrefix,this.model_);} 5914if(!importer)return;const heapDumps=importer.parse();if(!heapDumps)return;if(processMemoryDump.heapDumps!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Heap dumps provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5915if(Object.keys(heapDumps).length>0){processMemoryDump.heapDumps=heapDumps;}},addNewStackFramesFromExpander_(expander,idPrefix){const nodeMap=expander.getNewMap('nodes');const newStackFrames={};for(const[id,stackFrame]of nodeMap.entries()){if(!this.model_.stackFrames[idPrefix+id]){newStackFrames[id]={id,name:expander.getString(stackFrame.name_sid),};if(stackFrame.parent)newStackFrames[id].parent=stackFrame.parent;}} 5916this.importStackFrames_(newStackFrames,idPrefix);},parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId){const rawLevelOfDetail=dumps.level_of_detail;let level;switch(rawLevelOfDetail){case'background':level=BACKGROUND;break;case'light':level=LIGHT;break;case'detailed':level=DETAILED;break;case undefined:level=undefined;break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'unknown raw level of detail \''+rawLevelOfDetail+'\' of process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5917if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'process',level)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for process memory'+' dump for PID='+pid+' (dump ID='+dumpId+').'});}},updateMemoryDumpLevelOfDetail_(levelsOfDetail,scope,level){if(!(scope in levelsOfDetail)||level===levelsOfDetail[scope]){levelsOfDetail[scope]=level;return true;} 5918if(MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(level)>MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(levelsOfDetail[scope])){levelsOfDetail[scope]=level;} 5919return false;},parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId){const rawAllocatorDumps=dumps.allocators;if(rawAllocatorDumps===undefined)return;for(let fullName in rawAllocatorDumps){const rawAllocatorDump=rawAllocatorDumps[fullName];const guid=rawAllocatorDump.guid;if(guid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' for PID='+pid+' and dump ID='+dumpId+' does not have a GUID.'});} 5920const flags=rawAllocatorDump.flags||0;const isWeakDump=!!(flags&WEAK_MEMORY_ALLOCATOR_DUMP_FLAG);let containerMemoryDump;let dstIndex;if(fullName.startsWith(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX)){fullName=fullName.substring(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX.length);containerMemoryDump=globalMemoryDump;dstIndex=globalMemoryAllocatorDumpsByFullName;}else{containerMemoryDump=processMemoryDump;dstIndex=processMemoryAllocatorDumpsByFullName;} 5921let allocatorDump=allMemoryAllocatorDumpsByGuid[guid];if(allocatorDump===undefined){if(fullName in dstIndex){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple GUIDs provided for'+' memory allocator dump '+fullName+': '+ 5922dstIndex[fullName].guid+', '+guid+' (ignored) for'+' PID='+pid+' and dump ID='+dumpId+'.'});continue;} 5923allocatorDump=new tr.model.MemoryAllocatorDump(containerMemoryDump,fullName,guid);allocatorDump.weak=isWeakDump;dstIndex[fullName]=allocatorDump;if(guid!==undefined){allMemoryAllocatorDumpsByGuid[guid]=allocatorDump;}}else{if(allocatorDump.containerMemoryDump!==containerMemoryDump){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+ 5924dumpId+' dumped in different contexts.'});continue;} 5925if(allocatorDump.fullName!==fullName){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump with GUID='+guid+' for PID='+ 5926pid+' and dump ID='+dumpId+' has multiple names: '+ 5927allocatorDump.fullName+', '+fullName+' (ignored).'});continue;} 5928if(!isWeakDump){allocatorDump.weak=false;}} 5929let attributes=rawAllocatorDump.attrs;if(attributes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+' does not have attributes.'});attributes={};} 5930for(const attrName in attributes){const attrArgs=attributes[attrName];const attrType=attrArgs.type;const attrValue=attrArgs.value;switch(attrType){case'scalar':{if(attrName in allocatorDump.numerics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for scalar attribute '+ 5931attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+ 5932dumpId+'.'});break;} 5933const unit=attrArgs.units==='bytes'?tr.b.Unit.byName.sizeInBytes_smallerIsBetter:tr.b.Unit.byName.unitlessNumber_smallerIsBetter;const value=parseInt(attrValue,16);allocatorDump.addNumeric(attrName,new tr.b.Scalar(unit,value));break;} 5934case'string':if(attrName in allocatorDump.diagnostics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for string attribute '+ 5935attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+ 5936dumpId+'.'});break;} 5937allocatorDump.addDiagnostic(attrName,attrValue);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown type provided for attribute '+attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+': '+ 5938attrType});break;}}}},inferMemoryAllocatorDumpTree_(memoryAllocatorDumpsByFullName){const rootAllocatorDumps=[];const fullNames=Object.keys(memoryAllocatorDumpsByFullName);fullNames.sort();for(let i=0;i<fullNames.length;i++){let fullName=fullNames[i];let allocatorDump=memoryAllocatorDumpsByFullName[fullName];while(true){const lastSlashIndex=fullName.lastIndexOf('/');if(lastSlashIndex===-1){rootAllocatorDumps.push(allocatorDump);break;} 5939const parentFullName=fullName.substring(0,lastSlashIndex);let parentAllocatorDump=memoryAllocatorDumpsByFullName[parentFullName];let parentAlreadyExisted=true;if(parentAllocatorDump===undefined){parentAlreadyExisted=false;parentAllocatorDump=new tr.model.MemoryAllocatorDump(allocatorDump.containerMemoryDump,parentFullName);if(allocatorDump.weak!==false){parentAllocatorDump.weak=undefined;} 5940memoryAllocatorDumpsByFullName[parentFullName]=parentAllocatorDump;} 5941allocatorDump.parent=parentAllocatorDump;parentAllocatorDump.children.push(allocatorDump);if(parentAlreadyExisted){if(!allocatorDump.weak){while(parentAllocatorDump!==undefined&&parentAllocatorDump.weak===undefined){parentAllocatorDump.weak=false;parentAllocatorDump=parentAllocatorDump.parent;}} 5942break;} 5943fullName=parentFullName;allocatorDump=parentAllocatorDump;}} 5944for(const fullName in memoryAllocatorDumpsByFullName){const allocatorDump=memoryAllocatorDumpsByFullName[fullName];if(allocatorDump.weak===undefined){allocatorDump.weak=true;}} 5945return rootAllocatorDumps;},parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId){for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined)continue;const rawEdges=dumps.allocators_graph;if(rawEdges===undefined)continue;for(let j=0;j<rawEdges.length;j++){const rawEdge=rawEdges[j];const sourceGuid=rawEdge.source;const sourceDump=allMemoryAllocatorDumpsByGuid[sourceGuid];if(sourceDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing source memory allocator dump (GUID='+ 5946sourceGuid+').'});continue;} 5947const targetGuid=rawEdge.target;const targetDump=allMemoryAllocatorDumpsByGuid[targetGuid];if(targetDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing target memory allocator dump (GUID='+ 5948targetGuid+').'});continue;} 5949const importance=rawEdge.importance;const edge=new tr.model.MemoryAllocatorDumpLink(sourceDump,targetDump,importance);switch(rawEdge.type){case'ownership':if(sourceDump.owns!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+sourceDump.fullName+' (GUID='+sourceGuid+') already owns a memory'+' allocator dump ('+ 5950sourceDump.owns.target.fullName+').'});}else{sourceDump.owns=edge;targetDump.ownedBy.push(edge);} 5951break;case'retention':sourceDump.retains.push(edge);targetDump.retainedBy.push(edge);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Invalid edge type: '+rawEdge.type+' (PID='+pid+', dump ID='+dumpId+', source='+sourceGuid+', target='+targetGuid+', importance='+importance+').'});}}}}},toModelTimeFromUs_(ts){if(!this.toModelTime_){this.toModelTime_=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);} 5952return this.toModelTime_(tr.b.Unit.timestampFromUs(ts));},maybeToModelTimeFromUs_(ts){if(ts===undefined){return undefined;} 5953return this.toModelTimeFromUs_(ts);}};tr.importer.Importer.register(TraceEventImporter);return{TraceEventImporter,};});'use strict';tr.exportTo('tr.e.measure',function(){const AsyncSlice=tr.model.AsyncSlice;function MeasureAsyncSlice(){this.groupTitle_='Ungrouped Measure';const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(arguments[1]);if(matched!==null){arguments[1]=matched[2];this.groupTitle_=matched[1];} 5954AsyncSlice.apply(this,arguments);} 5955MeasureAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return this.groupTitle_;},get title(){return this.title_;},set title(title){this.title_=title;}};AsyncSlice.subTypes.register(MeasureAsyncSlice,{categoryParts:['blink.user_timing']});return{MeasureAsyncSlice,};});'use strict';tr.exportTo('tr.e.net',function(){const AsyncSlice=tr.model.AsyncSlice;function NetAsyncSlice(){AsyncSlice.apply(this,arguments);this.url_=undefined;this.byteCount_=undefined;this.isTitleComputed_=false;this.isUrlComputed_=false;} 5956NetAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return'NetLog';},get title(){if(this.isTitleComputed_||!this.isTopLevel){return this.title_;} 5957if(this.url!==undefined&&this.url.length>0){this.title_=this.url;}else if(this.args!==undefined&&this.args.source_type!==undefined){this.title_=this.args.source_type;} 5958this.isTitleComputed_=true;return this.title_;},set title(title){this.title_=title;},get url(){if(this.isUrlComputed_){return this.url_;} 5959if(this.args!==undefined&&this.args.params!==undefined&&this.args.params.url!==undefined){this.url_=this.args.params.url;}else if(this.subSlices!==undefined&&this.subSlices.length>0){for(let i=0;i<this.subSlices.length&&!this.url_;i++){if(this.subSlices[i].url!==undefined){this.url_=this.subSlices[i].url;}}} 5960this.isUrlComputed_=true;return this.url_;},get byteCount(){if(this.byteCount_!==undefined){return this.byteCount_;} 5961this.byteCount_=0;if((this.originalTitle==='URL_REQUEST_JOB_FILTERED_BYTES_READ'||this.originalTitle==='URL_REQUEST_JOB_BYTES_READ')&&this.args!==undefined&&this.args.params!==undefined&&this.args.params.byte_count!==undefined){this.byteCount_=this.args.params.byte_count;} 5962for(let i=0;i<this.subSlices.length;i++){this.byteCount_+=this.subSlices[i].byteCount;} 5963return this.byteCount_;}};AsyncSlice.subTypes.register(NetAsyncSlice,{categoryParts:['netlog','disabled-by-default-netlog']});return{NetAsyncSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function Activity(name,category,range,args){tr.model.TimedEvent.call(this,range.min);this.title=name;this.category=category;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(name);this.duration=range.duration;this.args=args;this.name=name;} 5964Activity.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};return{Activity,};});'use strict';tr.exportTo('tr.e.importer.android',function(){const Importer=tr.importer.Importer;const ACTIVITY_STATE={NONE:'none',CREATED:'created',STARTED:'started',RESUMED:'resumed',PAUSED:'paused',STOPPED:'stopped',DESTROYED:'destroyed'};const activityMap={};function EventLogImporter(model,events){this.model_=model;this.events_=events;this.importPriority=3;} 5965const eventLogActivityRE=new RegExp('(\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d+)'+'\\s+(\\d+)\\s+(\\d+)\\s+([A-Z])\\s*'+'(am_\\w+)\\s*:(.*)');const amCreateRE=new RegExp('\s*\\[.*,.*,.*,(.*),.*,.*,.*,.*\\]');const amFocusedRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amProcStartRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,.*,activity,(.*)\\]');const amOnResumeRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amOnPauseRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amLaunchTimeRE=new RegExp('\s*\\[\\d+,\\d+,(.*),(\\d+),(\\d+)');const amDestroyRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,(.*)\\]');EventLogImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;} 5966if(/^<!DOCTYPE html>/.test(events))return false;return eventLogActivityRE.test(events);};EventLogImporter.prototype={__proto__:Importer.prototype,get importerName(){return'EventLogImporter';},get model(){return this.model_;},getFullActivityName(component){const componentSplit=component.split('/');if(componentSplit[1].startsWith('.')){return componentSplit[0]+componentSplit[1];} 5967return componentSplit[1];},getProcName(component){const componentSplit=component.split('/');return componentSplit[0];},findOrCreateActivity(activityName){if(activityName in activityMap){return activityMap[activityName];} 5968const activity={state:ACTIVITY_STATE.NONE,name:activityName};activityMap[activityName]=activity;return activity;},deleteActivity(activityName){delete activityMap[activityName];},handleCreateActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.CREATED;activity.createdTs=ts;},handleFocusActivity(ts,procName,activityName){const activity=this.findOrCreateActivity(activityName);activity.lastFocusedTs=ts;},handleProcStartForActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.procStartTs=ts;},handleOnResumeCalled(ts,pid,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.RESUMED;activity.lastResumeTs=ts;activity.pid=pid;},handleOnPauseCalled(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.PAUSED;activity.lastPauseTs=ts;if(ts>this.model_.bounds.min&&ts<this.model_.bounds.max){this.addActivityToProcess(activity);}},handleLaunchTime(ts,activityName,launchTime){const activity=this.findOrCreateActivity(activityName);activity.launchTime=launchTime;},handleDestroyActivity(ts,activityName){this.deleteActivity(activityName);},addActivityToProcess(activity){if(activity.pid===undefined)return;const process=this.model_.getOrCreateProcess(activity.pid);const range=tr.b.math.Range.fromExplicitRange(Math.max(this.model_.bounds.min,activity.lastResumeTs),activity.lastPauseTs);const newActivity=new tr.model.Activity(activity.name,'Android Activity',range,{created:activity.createdTs,procstart:activity.procStartTs,lastfocus:activity.lastFocusedTs});process.activities.push(newActivity);},parseAmLine_(line){let match=eventLogActivityRE.exec(line);if(!match)return;const firstRealtimeTs=this.model_.bounds.min- 5969this.model_.realtime_to_monotonic_offset_ms;const year=new Date(firstRealtimeTs).getFullYear();const ts=match[1].substring(0,5)+'-'+year+' '+ 5970match[1].substring(5,match[1].length);const monotonicTs=Date.parse(ts)+ 5971this.model_.realtime_to_monotonic_offset_ms;const pid=match[2];const action=match[5];const data=match[6];if(action==='am_create_activity'){match=amCreateRE.exec(data);if(match&&match.length>=2){this.handleCreateActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_focused_activity'){match=amFocusedRE.exec(data);if(match&&match.length>=2){this.handleFocusActivity(monotonicTs,this.getProcName(match[1]),this.getFullActivityName(match[1]));}}else if(action==='am_proc_start'){match=amProcStartRE.exec(data);if(match&&match.length>=2){this.handleProcStartForActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_on_resume_called'){match=amOnResumeRE.exec(data);if(match&&match.length>=2){this.handleOnResumeCalled(monotonicTs,pid,match[1]);}}else if(action==='am_on_paused_called'){match=amOnPauseRE.exec(data);if(match&&match.length>=2){this.handleOnPauseCalled(monotonicTs,match[1]);}}else if(action==='am_activity_launch_time'){match=amLaunchTimeRE.exec(data);this.handleLaunchTime(monotonicTs,this.getFullActivityName(match[1]),match[2]);}else if(action==='am_destroy_activity'){match=amDestroyRE.exec(data);if(match&&match.length===2){this.handleDestroyActivity(monotonicTs,this.getFullActivityName(match[1]));}}},importEvents(){if(isNaN(this.model_.realtime_to_monotonic_offset_ms)){this.model_.importWarning({type:'eveng_log_clock_sync',message:'Need a trace_event_clock_sync to map realtime to import.'});return;} 5972this.model_.updateBounds();const lines=this.events_.split('\n');lines.forEach(this.parseAmLine_,this);for(const activityName in activityMap){const activity=activityMap[activityName];if(activity.state===ACTIVITY_STATE.RESUMED){activity.lastPauseTs=this.model_.bounds.max;this.addActivityToProcess(activity);}}}};Importer.register(EventLogImporter);return{EventLogImporter,};});'use strict';tr.exportTo('tr.e.importer.android.process_data',function(){const Importer=tr.importer.Importer;const PROCESS_DUMP_HEADER='PROCESS DUMP';function ProcessDataImporter(model,processData){this.model_=model;this.processDataLines=processData.split('\n');this.importPriority=3;} 5973ProcessDataImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;} 5974if(events.split('\n')[0]===PROCESS_DUMP_HEADER){return true;} 5975return false;};ProcessDataImporter.prototype={__proto__:Importer.prototype,get importerName(){return'ProcessDataImporter';},get model(){return this.model_;},parseEventData(data){const allDumpedProcesses={};let parseProcesses=false;let parseThreads=false;let legacy=false;for(let i=1;i<data.length;i++){const cols=data[i].split(/\s+/);if(cols[0].startsWith('USER')){if(parseProcesses){parseProcesses=false;parseThreads=true;}else{parseThreads=false;parseProcesses=true;} 5976const colCount=cols.length;if(parseProcesses&&colCount===9){legacy=false;}else if(parseProcesses&&colCount===8){legacy=true;} 5977continue;} 5978if(parseProcesses){const pid=Number(cols[1]);if(allDumpedProcesses[pid]===undefined){allDumpedProcesses[pid]={};} 5979allDumpedProcesses[pid]={'name':cols[8],pid,'comm':cols[9]};continue;} 5980if(parseThreads){let pid;let tid;let name;if(legacy){pid=Number(cols[1]);if(allDumpedProcesses[pid]!==undefined){tid=pid;}else{tid=pid;pid=Number(cols[2]);} 5981name=cols.slice(8).join(' ');}else{pid=Number(cols[1]);tid=Number(cols[2]);name=cols.slice(3).join(' ');} 5982if(allDumpedProcesses[pid]===undefined)continue;if(allDumpedProcesses[pid].threads===undefined){allDumpedProcesses[pid].threads={};} 5983allDumpedProcesses[pid].threads[tid]={tid,name};continue;}} 5984return allDumpedProcesses;},importEvents(){const allDumpedProcesses=this.parseEventData(this.processDataLines);const modelProcesses=this.model_.getAllProcesses();for(let i=0;i<modelProcesses.length;i++){const modelProcess=modelProcesses[i];const pid=modelProcess.pid;const dumpedProcess=allDumpedProcesses[pid];if(dumpedProcess===undefined){continue;} 5985modelProcess.name=dumpedProcess.name;const processDumpThreads=dumpedProcess.threads;if(processDumpThreads!==undefined){for(const tid in modelProcess.threads){const modelThread=modelProcess.threads[tid];if(Number(pid)===Number(tid)){modelThread.name='UI thread';}else if(modelThread.name==='<...>'){if(processDumpThreads[tid]!==undefined){modelThread.name=processDumpThreads[tid].name;}}}}}}};Importer.register(ProcessDataImporter);return{ProcessDataImporter,};});'use strict';tr.exportTo('tr.e.importer.battor',function(){function BattorImporter(model,events){this.importPriority=3;this.model_=model;this.samples_=[];this.syncTimestampsById_=new Map();this.parseTrace_(events);} 5986const battorDataLineRE=new RegExp('^(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)'+'(?:\\s+<(\\S+)>)?$');const battorHeaderLineRE=/^# BattOr/;BattorImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;} 5987return battorHeaderLineRE.test(events);};BattorImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'BattorImporter';},get model(){return this.model_;},importClockSyncMarkers(){for(const[syncId,ts]of this.syncTimestampsById_){this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.BATTOR,syncId,ts);}},importEvents(){if(this.model_.device.powerSeries){this.model_.importWarning({type:'import_error',message:'Power counter exists, can not import BattOr power trace.'});return;} 5988const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(tr.model.ClockDomainId.BATTOR);const powerSeries=this.model_.device.powerSeries=new tr.model.PowerSeries(this.model_.device);for(let i=0;i<this.samples_.length;i++){const sample=this.samples_[i];powerSeries.addPowerSample(modelTimeTransformer(sample.ts),sample.powerInW);}},parseTrace_(trace){const lines=trace.split('\n');for(let line of lines){line=line.trim();if(line.length===0)continue;if(line.startsWith('#'))continue;const groups=battorDataLineRE.exec(line);if(!groups){this.model_.importWarning({type:'parse_error',message:'Unrecognized line in BattOr trace: '+line});continue;} 5989const ts=parseFloat(groups[1]);const voltageInV=tr.b.convertUnit(parseFloat(groups[2]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const currentInA=tr.b.convertUnit(parseFloat(groups[3]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const syncId=groups[4];if(syncId){this.syncTimestampsById_.set(syncId,ts);} 5990if(voltageInV<0||currentInA<0){this.model_.importWarning({type:'parse_error',message:'The following line in the BattOr trace has a negative '+'voltage or current, neither of which are allowed: '+line+'. A common cause of this is that the device is charging '+'while the trace is being recorded.'});continue;} 5991this.samples_.push(new Sample(ts,voltageInV,currentInA));}}};function Sample(ts,voltageInV,currentInA){this.ts=ts;this.voltageInV=voltageInV;this.currentInA=currentInA;} 5992Sample.prototype={get powerInW(){return this.voltageInV*this.currentInA;}};tr.importer.Importer.register(BattorImporter);return{BattorImporter,};});'use strict';tr.exportTo('tr.e.importer.ddms',function(){const kPid=0;const kCategory='java';const kMethodLutEndMarker='\n*end\n';const kThreadsStart='\n*threads\n';const kMethodsStart='\n*methods\n';const kTraceMethodEnter=0x00;const kTraceMethodExit=0x01;const kTraceUnroll=0x02;const kTraceMethodActionMask=0x03;const kTraceHeaderLength=32;const kTraceMagicValue=0x574f4c53;const kTraceVersionSingleClock=2;const kTraceVersionDualClock=3;const kTraceRecordSizeSingleClock=10;const kTraceRecordSizeDualClock=14;function Reader(stringPayload){this.position_=0;this.data_=JSZip.utils.transformTo('uint8array',stringPayload);} 5993Reader.prototype={__proto__:Object.prototype,uint8(){const result=this.data_[this.position_];this.position_+=1;return result;},uint16(){let result=0;result+=this.uint8();result+=this.uint8()<<8;return result;},uint32(){let result=0;result+=this.uint8();result+=this.uint8()<<8;result+=this.uint8()<<16;result+=this.uint8()<<24;return result;},uint64(){const low=this.uint32();const high=this.uint32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},seekTo(position){this.position_=position;},hasMore(){return this.position_<this.data_.length;}};function DdmsImporter(model,data){this.importPriority=3;this.model_=model;this.data_=data;} 5994DdmsImporter.canImport=function(data){if(typeof(data)==='string'||data instanceof String){const header=data.slice(0,1000);return header.startsWith('*version\n')&&header.indexOf('\nvm=')>=0&&header.indexOf(kThreadsStart)>=0;} 5995return false;};DdmsImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'DdmsImporter';},get model(){return this.model_;},importEvents(){const divider=this.data_.indexOf(kMethodLutEndMarker)+ 5996kMethodLutEndMarker.length;this.metadata_=this.data_.slice(0,divider);this.methods_={};this.parseThreads();this.parseMethods();const traceReader=new Reader(this.data_.slice(divider));const magic=traceReader.uint32();if(magic!==kTraceMagicValue){throw Error('Failed to match magic value');} 5997this.version_=traceReader.uint16();if(this.version_!==kTraceVersionDualClock){throw Error('Unknown version');} 5998const dataOffest=traceReader.uint16();const startDateTime=traceReader.uint64();const recordSize=traceReader.uint16();traceReader.seekTo(dataOffest);while(traceReader.hasMore()){this.parseTraceEntry(traceReader);}},parseTraceEntry(reader){const tid=reader.uint16();const methodPacked=reader.uint32();const cpuSinceStart=reader.uint32();const wallClockSinceStart=reader.uint32();let method=methodPacked&~kTraceMethodActionMask;const action=methodPacked&kTraceMethodActionMask;const thread=this.getTid(tid);method=this.getMethodName(method);if(action===kTraceMethodEnter){thread.sliceGroup.beginSlice(kCategory,method,wallClockSinceStart,undefined,cpuSinceStart);}else if(thread.sliceGroup.openSliceCount){thread.sliceGroup.endSlice(wallClockSinceStart,cpuSinceStart);}},parseThreads(){let threads=this.metadata_.slice(this.metadata_.indexOf(kThreadsStart)+ 5999kThreadsStart.length);threads=threads.slice(0,threads.indexOf('\n*'));threads=threads.split('\n');threads.forEach(this.parseThread.bind(this));},parseThread(threadLine){const tid=threadLine.slice(0,threadLine.indexOf('\t'));const thread=this.getTid(parseInt(tid));thread.name=threadLine.slice(threadLine.indexOf('\t')+1);},getTid(tid){return this.model_.getOrCreateProcess(kPid).getOrCreateThread(tid);},parseMethods(){let methods=this.metadata_.slice(this.metadata_.indexOf(kMethodsStart)+ 6000kMethodsStart.length);methods=methods.slice(0,methods.indexOf('\n*'));methods=methods.split('\n');methods.forEach(this.parseMethod.bind(this));},parseMethod(methodLine){const data=methodLine.split('\t');const methodId=parseInt(data[0]);const methodName=data[1]+'.'+data[2]+data[3];this.addMethod(methodId,methodName);},addMethod(methodId,methodName){this.methods_[methodId]=methodName;},getMethodName(methodId){return this.methods_[methodId];}};tr.importer.Importer.register(DdmsImporter);return{DdmsImporter,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){function Parser(importer){this.importer=importer;this.model=importer.model;} 6001Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function AndroidParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));importer.registerEventHandler('0:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6002function parseArgs(argsString){const args={};if(argsString){const argsArray=argsString.split(';');for(let i=0;i<argsArray.length;++i){const parts=argsArray[i].split('=');if(parts[0]){args[parts.shift()]=parts.join('=');}}} 6003return args;} 6004AndroidParser.prototype={__proto__:Parser.prototype,openAsyncSlice(thread,category,name,cookie,ts,args){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts,args);const key=category+':'+name+':'+cookie;slice.id=cookie;slice.startThread=thread;if(!this.openAsyncSlices){this.openAsyncSlices={};} 6005this.openAsyncSlices[key]=slice;},closeAsyncSlice(thread,category,name,cookie,ts,args){if(!this.openAsyncSlices){return;} 6006const key=category+':'+name+':'+cookie;const slice=this.openAsyncSlices[key];if(!slice){return;} 6007for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the S and F events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the F event will be used.'});} 6008slice.args[arg]=args[arg];} 6009slice.endThread=thread;slice.duration=ts-slice.start;slice.startThread.asyncSliceGroup.push(slice);delete this.openAsyncSlices[key];},traceMarkWriteAndroidEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=eventBase.details.split('|');switch(eventData[0]){case'B':{const ppid=parseInt(eventData[1]);const title=eventData[2];const args=parseArgs(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6010this.ppids_[pid]=ppid;thread.sliceGroup.beginSlice(category,title,ts,args);break;} 6011case'E':{const ppid=this.ppids_[pid];if(ppid===undefined){break;} 6012const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);if(!thread.sliceGroup.openSliceCount){break;} 6013const slice=thread.sliceGroup.endSlice(ts);const args=parseArgs(eventData[3]);for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the B and E events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the E event will be used.'});} 6014slice.args[arg]=args[arg];} 6015break;} 6016case'C':{const ppid=parseInt(eventData[1]);const name=eventData[2];const value=parseInt(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const ctr=this.model_.getOrCreateProcess(ppid).getOrCreateCounter(category,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries(value,ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6017ctr.series.forEach(function(series){series.addCounterSample(ts,value);});break;} 6018case'S':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.openAsyncSlice(thread,category,name,cookie,ts,args);break;} 6019case'F':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.closeAsyncSlice(thread,category,name,cookie,ts,args);break;} 6020default:return false;} 6021return true;}};Parser.register(AndroidParser);return{AndroidParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;const binderTransRE=new RegExp('transaction=(\\d+) dest_node=(\\d+) '+'dest_proc=(\\d+) dest_thread=(\\d+) '+'reply=(\\d+) flags=(0x[0-9a-fA-F]+) '+'code=(0x[0-9a-fA-F]+)');const binderTransReceivedRE=/transaction=(\d+)/;function isBinderThread(name){return(name.indexOf('Binder')>-1);} 6022const TF_ONE_WAY=0x01;const TF_ROOT_OBJECT=0x04;const TF_STATUS_CODE=0x08;const TF_ACCEPT_FDS=0x10;const NO_FLAGS=0;function binderFlagsToHuman(num){const flag=parseInt(num,16);let str='';if(flag&TF_ONE_WAY){str+='this is a one-way call: async, no return; ';} 6023if(flag&TF_ROOT_OBJECT){str+='contents are the components root object; ';} 6024if(flag&TF_STATUS_CODE){str+='contents are a 32-bit status code; ';} 6025if(flag&TF_ACCEPT_FDS){str+='allow replies with file descriptors; ';} 6026if(flag===NO_FLAGS){str+='No Flags Set';} 6027return str;} 6028function isReplyToOrigin(calling,called){return(called.dest_proc===calling.calling_pid||called.dest_thread===calling.calling_pid);} 6029function binderCodeToHuman(code){return'Java Layer Dependent';} 6030function doInternalSlice(trans,slice,ts){if(slice.subSlices.length!==0){slice.subSlices[0].start=ts;return slice.subSlices[0];} 6031const kthread=trans.calling_kthread.thread;const internalSlice=kthread.sliceGroup.pushCompleteSlice('binder',slice.title,ts,.001,0,0,slice.args);internalSlice.title=slice.title;internalSlice.id=slice.id;internalSlice.colorId=slice.colorId;slice.subSlices.push(internalSlice);return internalSlice;} 6032function generateBinderArgsForSlice(trans,cThreadName){return{'Transaction Id':trans.transaction_key,'Destination Node':trans.dest_node,'Destination Process':trans.dest_proc,'Destination Thread':trans.dest_thread,'Destination Name':cThreadName,'Reply transaction?':trans.is_reply_transaction,'Flags':trans.flags+' '+ 6033binderFlagsToHuman(trans.flags),'Code':trans.code+' '+ 6034binderCodeToHuman(trans.code),'Calling PID':trans.calling_pid,'Calling tgid':trans.calling_kthread.thread.parent.pid};} 6035function BinderTransaction(events,callingPid,callingTs,callingKthread){this.transaction_key=parseInt(events[1]);this.dest_node=parseInt(events[2]);this.dest_proc=parseInt(events[3]);this.dest_thread=parseInt(events[4]);this.is_reply_transaction=parseInt(events[5])===1?true:false;this.expect_reply=((this.is_reply_transaction===false)&&(parseInt(events[6],16)&TF_ONE_WAY)===0);this.flags=events[6];this.code=events[7];this.calling_pid=callingPid;this.calling_ts=callingTs;this.calling_kthread=callingKthread;} 6036function BinderParser(importer){Parser.call(this,importer);importer.registerEventHandler('binder_locked',BinderParser.prototype.binderLocked.bind(this));importer.registerEventHandler('binder_unlock',BinderParser.prototype.binderUnlock.bind(this));importer.registerEventHandler('binder_lock',BinderParser.prototype.binderLock.bind(this));importer.registerEventHandler('binder_transaction',BinderParser.prototype.binderTransaction.bind(this));importer.registerEventHandler('binder_transaction_received',BinderParser.prototype.binderTransactionReceived.bind(this));this.model_=importer.model;this.kthreadlookup={};this.importer_=importer;this.transWaitingRecv={};this.syncTransWaitingCompletion={};this.recursiveSyncTransWaitingCompletion_ByPID={};this.receivedTransWaitingConversion={};} 6037BinderParser.prototype={__proto__:Parser.prototype,binderLock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventName.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);kthread.binderAttemptLockTS=ts;kthread.binderOpenTsA=ts;return true;},binderLocked(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const binderThread=isBinderThread(eventBase.threadName);const name=eventBase.threadName;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);this.doNameMappings(pid,tgid,name);const rthread=kthread.thread;kthread.binderLockAquiredTS=ts;if(kthread.binderAttemptLockTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,name,kthread);rthread.sliceGroup.pushCompleteSlice('binder','binder lock waiting',kthread.binderAttemptLockTS,ts-kthread.binderAttemptLockTS,0,0,args);kthread.binderAttemptLockTS=undefined;return true;},binderUnlock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);if(kthread.binderLockAquiredTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,eventBase.threadName,kthread);kthread.thread.sliceGroup.pushCompleteSlice('binder','binder lock held',kthread.binderLockAquiredTS,ts-kthread.binderLockAquiredTS,0,0,args);kthread.binderLockAquiredTS=undefined;return true;},binderTransaction(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventBase.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const trans=new BinderTransaction(event,pid,ts,kthread);const args=generateBinderArgsForSlice(trans,eventBase.threadName);const priorReceive=this.getPriorReceiveOnPID(pid);if(priorReceive!==false){return this.modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event);} 6038const recursiveTrans=this.getRecursiveTransactionNeedingCompletion(pid);if(recursiveTrans!==false){return this.modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args);} 6039const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);slice.colorId=ColorScheme.getColorIdForGeneralPurposeString(ts.toString());trans.slice=slice;if(trans.expect_reply){slice.title='binder transaction';}else{slice.title='binder transaction async';} 6040this.addTransactionWaitingForRecv(trans.transaction_key,trans);return true;},binderTransactionReceived(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransReceivedRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const transactionkey=parseInt(event[1]);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const syncComplete=this.getSyncTransNeedsCompletion(transactionkey);if(syncComplete!==false){const syncTrans=syncComplete[0];const syncSlice=syncTrans.slice;const responseTrans=syncComplete[1];const responseSlice=responseTrans.slice;syncSlice.duration=ts-syncSlice.start;const syncInternal=doInternalSlice(syncTrans,syncSlice,ts);const responseTs=responseSlice.start+responseSlice.duration;const responseInternal=doInternalSlice(responseTrans,responseSlice,responseTs);if(responseSlice.outFlowEvents.length===0||syncSlice.inFlowEvents.length===0){const flow=this.generateFlow(responseInternal,syncInternal,responseTrans,syncTrans);syncSlice.inFlowEvents.push(flow);responseSlice.outFlowEvents.push(flow);this.model_.flowEvents.push(flow);} 6041for(let i=1;i<syncSlice.inFlowEvents.length;i++){syncSlice.inFlowEvents[i].duration=ts-syncSlice.inFlowEvents[i].start;} 6042return true;} 6043const trForRecv=this.getTransactionWaitingForRecv(transactionkey);if(trForRecv!==false){if(!trForRecv.expect_reply){const args=generateBinderArgsForSlice(trForRecv,eventBase.threadName);const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder Async recv',ts,.03,0,0,args);const fakeEvent=[0,0,0,0,0,0,0];const fakeTrans=new BinderTransaction(fakeEvent,pid,ts,kthread);const flow=this.generateFlow(trForRecv.slice,slice,trForRecv,fakeTrans);this.model_.flowEvents.push(flow);trForRecv.slice.title='binder transaction async';trForRecv.slice.duration=.03;return true;} 6044trForRecv.slice.title='binder transaction';this.setCurrentReceiveOnPID(pid,[ts,trForRecv]);return true;} 6045return false;},modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args){const recursiveSlice=recursiveTrans[1].slice;const origSlice=recursiveTrans[0].slice;recursiveSlice.duration=ts-recursiveSlice.start;trans.slice=recursiveSlice;if(trans.is_reply_transaction){origSlice.duration=ts-origSlice.start;this.addSyncTransNeedingCompletion(trans.transaction_key,recursiveTrans);if(isReplyToOrigin(recursiveTrans[0],trans)){this.removeRecursiveTransaction(pid);}}else{const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);trans.slice=slice;this.addTransactionWaitingForRecv(trans.transaction_key,trans);} 6046return true;},modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event){const calleeSlice=priorReceive[1].slice;const calleeTrans=priorReceive[1];const recvTs=priorReceive[0];let slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',recvTs,ts-recvTs,0,0,args);const flow=this.generateFlow(calleeSlice,slice,calleeTrans,trans);this.model_.flowEvents.push(flow);trans.slice=slice;if(trans.is_reply_transaction){slice.title='binder reply';this.addSyncTransNeedingCompletion(trans.transaction_key,[calleeTrans,trans]);}else{slice.title='binder reply';const trans1=new BinderTransaction(event,pid,ts,kthread);slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder transaction',recvTs,(ts-recvTs),0,0,args);if(!trans.expect_reply){slice.title='binder transaction async';slice.duration=.03;}else{} 6047trans1.slice=slice;this.addRecursiveSyncTransNeedingCompletion(pid,[calleeTrans,trans]);this.addTransactionWaitingForRecv(trans.transaction_key,trans1);} 6048return true;},getRecursiveTransactionNeedingCompletion(pid){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){return false;} 6049const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0)return false;return this.recursiveSyncTransWaitingCompletion_ByPID[pid][len-1];},addRecursiveSyncTransNeedingCompletion(pid,tuple){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){this.recursiveSyncTransWaitingCompletion_ByPID[pid]=[];} 6050this.recursiveSyncTransWaitingCompletion_ByPID[pid].push(tuple);},removeRecursiveTransaction(pid){const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0){delete this.recursiveSyncTransWaitingCompletion_ByPID[pid];return;} 6051this.recursiveSyncTransWaitingCompletion_ByPID[pid].splice(len-1,1);},setCurrentReceiveOnPID(pid,tuple){if(this.receivedTransWaitingConversion[pid]===undefined){this.receivedTransWaitingConversion[pid]=[];} 6052this.receivedTransWaitingConversion[pid].push(tuple);},getPriorReceiveOnPID(pid){if(this.receivedTransWaitingConversion[pid]===undefined){return false;} 6053const len=this.receivedTransWaitingConversion[pid].length;if(len===0)return false;return this.receivedTransWaitingConversion[pid].splice(len-1,1)[0];},addSyncTransNeedingCompletion(transactionkey,tuple){const dict=this.syncTransWaitingCompletion;dict[transactionkey]=tuple;},getSyncTransNeedsCompletion(transactionkey){const ret=this.syncTransWaitingCompletion[transactionkey];if(ret===undefined)return false;delete this.syncTransWaitingCompletion[transactionkey];return ret;},getTransactionWaitingForRecv(transactionkey){const ret=this.transWaitingRecv[transactionkey];if(ret===undefined)return false;delete this.transWaitingRecv[transactionkey];return ret;},addTransactionWaitingForRecv(transactionkey,transaction){this.transWaitingRecv[transactionkey]=transaction;},generateFlow(from,to,fromTrans,toTrans){const title='Transaction from : '+ 6054this.pid2name(fromTrans.calling_pid)+' From PID: '+fromTrans.calling_pid+' to pid: '+ 6055toTrans.calling_pid+' Thread Name: '+this.pid2name(toTrans.calling_pid);const ts=from.start;const flow=new tr.model.FlowEvent('binder','binder',title,1,ts,[]);flow.startSlice=from;flow.endSlice=to;flow.start=from.start;flow.duration=to.start-ts;from.outFlowEvents.push(flow);to.inFlowEvents.push(flow);return flow;},generateArgsForSlice(tgid,pid,name,kthread){return{'Thread Name':name,pid,'gid':tgid};},pid2name(pid){return this.kthreadlookup[pid];},doNameMappings(pid,tgid,name){this.registerPidName(pid,name);this.registerPidName(tgid,name);},registerPidName(pid,name){if(this.pid2name(pid)===undefined){this.kthreadlookup[pid]=name;}}};Parser.register(BinderParser);return{BinderParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function BusParser(importer){Parser.call(this,importer);importer.registerEventHandler('memory_bus_usage',BusParser.prototype.traceMarkWriteBusEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6056BusParser.prototype={__proto__:Parser.prototype,traceMarkWriteBusEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const re=new RegExp('bus=(\\S+) rw_bytes=(\\d+) r_bytes=(\\d+) '+'w_bytes=(\\d+) cycles=(\\d+) ns=(\\d+)');const event=re.exec(eventBase.details);const name=event[1];const rwBytes=parseInt(event[2]);const rBytes=parseInt(event[3]);const wBytes=parseInt(event[4]);const cycles=parseInt(event[5]);const ns=parseInt(event[6]);const sec=tr.b.convertUnit(ns,tr.b.UnitPrefixScale.METRIC.NANO,tr.b.UnitPrefixScale.METRIC.NONE);const readBandwidthInBps=rBytes/sec;const readBandwidthInMiBps=tr.b.convertUnit(readBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);const writeBandwidthInBps=wBytes/sec;const writeBandwidthInMiBps=tr.b.convertUnit(writeBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);let ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' read');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6057ctr.series.forEach(function(series){series.addCounterSample(ts,readBandwidthInMiBps);});ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' write');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6058ctr.series.forEach(function(series){series.addCounterSample(ts,writeBandwidthInMiBps);});return true;}};Parser.register(BusParser);return{BusParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ClockParser(importer){Parser.call(this,importer);importer.registerEventHandler('clock_set_rate',ClockParser.prototype.traceMarkWriteClockEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6059ClockParser.prototype={__proto__:Parser.prototype,traceMarkWriteClockEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const event=/(\S+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);const name=event[1];const rate=parseInt(event[2]);const ctr=this.model_.kernel.getOrCreateCounter(null,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6060ctr.series.forEach(function(series){series.addCounterSample(ts,rate);});return true;}};Parser.register(ClockParser);return{ClockParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function CpufreqParser(importer){Parser.call(this,importer);importer.registerEventHandler('cpufreq_interactive_up',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_down',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_already',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_notyet',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_setspeed',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_target',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_boost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_unboost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));} 6061function splitData(input){const data={};const args=input.split(/\s+/);const len=args.length;for(let i=0;i<len;i++){const item=args[i].split('=');data[item[0]]=parseInt(item[1]);} 6062return data;} 6063CpufreqParser.prototype={__proto__:Parser.prototype,cpufreqSlice(ts,eventName,cpu,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqBoostSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq_boost');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqUpDownEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqTargetEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqBoostUnboostEvent(eventName,cpuNumber,pid,ts,eventBase){this.cpufreqBoostSlice(ts,eventName,{type:eventBase.details});return true;}};Parser.register(CpufreqParser);return{CpufreqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DiskParser(importer){Parser.call(this,importer);importer.registerEventHandler('f2fs_write_begin',DiskParser.prototype.f2fsWriteBeginEvent.bind(this));importer.registerEventHandler('f2fs_write_end',DiskParser.prototype.f2fsWriteEndEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_enter',DiskParser.prototype.f2fsSyncFileEnterEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_exit',DiskParser.prototype.f2fsSyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_sync_file_enter',DiskParser.prototype.ext4SyncFileEnterEvent.bind(this));importer.registerEventHandler('ext4_sync_file_exit',DiskParser.prototype.ext4SyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_da_write_begin',DiskParser.prototype.ext4WriteBeginEvent.bind(this));importer.registerEventHandler('ext4_da_write_end',DiskParser.prototype.ext4WriteEndEvent.bind(this));importer.registerEventHandler('block_rq_issue',DiskParser.prototype.blockRqIssueEvent.bind(this));importer.registerEventHandler('block_rq_complete',DiskParser.prototype.blockRqCompleteEvent.bind(this));} 6064DiskParser.prototype={__proto__:Parser.prototype,openAsyncSlice(ts,category,threadName,pid,key,name){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts);slice.startThread=kthread.thread;if(!kthread.openAsyncSlices){kthread.openAsyncSlices={};} 6065kthread.openAsyncSlices[key]=slice;},closeAsyncSlice(ts,category,threadName,pid,key,args){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);if(kthread.openAsyncSlices){const slice=kthread.openAsyncSlices[key];if(slice){slice.duration=ts-slice.start;slice.args=args;slice.endThread=kthread.thread;slice.subSlices=[new tr.model.AsyncSlice(category,slice.title,slice.colorId,slice.start,slice.args,slice.duration)];kthread.thread.asyncSliceGroup.push(slice);delete kthread.openAsyncSlices[key];}}},f2fsWriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), flags = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'f2fs_write');return true;},f2fsWriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), copied = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4WriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) flags (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,'ext4_write');return true;},ext4WriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) copied (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},f2fsSyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), pino = (\\d+), i_mode = (\\S+), '+'i_size = (\\d+), i_nlink = (\\d+), i_blocks = (\\d+), i_advise = (\\d+)').exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const key=device+'-'+inode;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'fsync');return true;},f2fsSyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), checkpoint is (\\S+), '+'datasync = (\\d+), ret = (\\d+)').exec(eventBase.details.replace('not needed','not_needed'));if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[5]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4SyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) parent (\d+) datasync (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const datasync=(event[4]==='1')||(event[4]===1);const key=device+'-'+inode;const action=datasync?'fdatasync':'fsync';this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,action);return true;},ext4SyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) ret (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[3]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},blockRqIssueEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\d+ \\(.*\\) (\\d+) \\+ (\\d+) \\[.*\\]').exec(eventBase.details);if(!event)return false;let action;switch(event[3]){case'D':action='discard';break;case'W':action='write';break;case'R':action='read';break;case'N':action='none';break;default:action='unknown';break;} 6066if(event[2]){action+=' flush';} 6067if(event[4]==='F'){action+=' fua';} 6068if(event[5]==='A'){action+=' ahead';} 6069if(event[6]==='S'){action+=' sync';} 6070if(event[7]==='M'){action+=' meta';} 6071const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const key=device+'-'+sector+'-'+numSectors;this.openAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,action);return true;},blockRqCompleteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\(.*\\) (\\d+) \\+ (\\d+) \\[(.*)\\]').exec(eventBase.details);if(!event)return false;const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const error=parseInt(event[10]);const key=device+'-'+sector+'-'+numSectors;this.closeAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,{device,sector,numSectors,error});return true;}};Parser.register(DiskParser);return{DiskParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DrmParser(importer){Parser.call(this,importer);importer.registerEventHandler('drm_vblank_event',DrmParser.prototype.vblankEvent.bind(this));} 6072DrmParser.prototype={__proto__:Parser.prototype,drmVblankSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('drm_vblank');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},vblankEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/crtc=(\d+), seq=(\d+)/.exec(eventBase.details);if(!event)return false;const crtc=parseInt(event[1]);const seq=parseInt(event[2]);this.drmVblankSlice(ts,'vblank:'+crtc,{crtc,seq});return true;}};Parser.register(DrmParser);return{DrmParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ExynosParser(importer){Parser.call(this,importer);importer.registerEventHandler('exynos_busfreq_target_int',ExynosParser.prototype.busfreqTargetIntEvent.bind(this));importer.registerEventHandler('exynos_busfreq_target_mif',ExynosParser.prototype.busfreqTargetMifEvent.bind(this));importer.registerEventHandler('exynos_page_flip_state',ExynosParser.prototype.pageFlipStateEvent.bind(this));} 6073ExynosParser.prototype={__proto__:Parser.prototype,exynosBusfreqSample(name,ts,frequency){const targetCpu=this.importer.getOrCreateCpu(0);const counter=targetCpu.getOrCreateCounter('',name);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries('frequency',ColorScheme.getColorIdForGeneralPurposeString(counter.name+'.'+'frequency')));} 6074counter.series.forEach(function(series){series.addCounterSample(ts,frequency);});},busfreqTargetIntEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('INT Frequency',ts,parseInt(event[1]));return true;},busfreqTargetMifEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('MIF Frequency',ts,parseInt(event[1]));return true;},exynosPageFlipStateOpenSlice(ts,pipe,fb,state){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');kthread.openSliceTS=ts;kthread.openSlice=state;},exynosPageFlipStateCloseSlice(ts,pipe,fb,args){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);} 6075kthread.openSlice=undefined;},pageFlipStateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/pipe=(\d+), fb=(\d+), state=(.*)/.exec(eventBase.details);if(!event)return false;const pipe=parseInt(event[1]);const fb=parseInt(event[2]);const state=event[3];this.exynosPageFlipStateCloseSlice(ts,pipe,fb,{pipe,fb});if(state!=='flipped'){this.exynosPageFlipStateOpenSlice(ts,pipe,fb,state);} 6076return true;}};Parser.register(ExynosParser);return{ExynosParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function GestureParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:log',GestureParser.prototype.logEvent.bind(this));importer.registerEventHandler('tracing_mark_write:SyncInterpret',GestureParser.prototype.syncEvent.bind(this));importer.registerEventHandler('tracing_mark_write:HandleTimer',GestureParser.prototype.timerEvent.bind(this));} 6077GestureParser.prototype={__proto__:Parser.prototype,gestureOpenSlice(title,ts,opt_args){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;thread.sliceGroup.beginSlice('touchpad_gesture',title,ts,opt_args);},gestureCloseSlice(title,ts){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;if(thread.sliceGroup.openSliceCount){const slice=thread.sliceGroup.mostRecentlyOpenedPartialSlice;if(slice.title!==title){this.importer.model.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+ 6078slice.title+' in openSlice, and is '+ 6079title+' in endSlice'});}else{thread.sliceGroup.endSlice(ts);}}},logEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('GestureLog',ts,{name:innerEvent[2]});break;case'end':this.gestureCloseSlice('GestureLog',ts);} 6080return true;},syncEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('SyncInterpret',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('SyncInterpret',ts);} 6081return true;},timerEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('HandleTimer',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('HandleTimer',ts);} 6082return true;}};Parser.register(GestureParser);return{GestureParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I2cParser(importer){Parser.call(this,importer);importer.registerEventHandler('i2c_write',I2cParser.prototype.i2cWriteEvent.bind(this));importer.registerEventHandler('i2c_read',I2cParser.prototype.i2cReadEvent.bind(this));importer.registerEventHandler('i2c_reply',I2cParser.prototype.i2cReplyEvent.bind(this));importer.registerEventHandler('i2c_result',I2cParser.prototype.i2cResultEvent.bind(this));} 6083const i2cWriteReplyRE=new RegExp('i2c-(\\d+) #(\\d+) a=([\\da-fA-F]+) f=([\\da-fA-F]+) l=(\\d+) '+'(\\[[\\da-fA-F\\-]+\\])');const i2cReadRE=/i2c-(\d+) #(\d+) a=([\da-fA-F]+) f=([\da-fA-F]+) l=(\d+)/;const i2cResultRE=/i2c-(\d+) n=(\d+) ret=(\d+)/;I2cParser.prototype={__proto__:Parser.prototype,i2cWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c write';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cReadEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cReadRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c read';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength};return true;},i2cReplyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c reply';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cResultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cResultRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const numMessages=event[2];const ret=event[3];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);const args=thread.lastEntryArgs;if(args!==undefined){args['Number of messages']=numMessages;args.Return=ret;} 6084pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle=undefined;thread.lastEntryTs=undefined;thread.lastEntryArgs=undefined;return true;},};function pushLastSliceIfNeeded(thread,id,currentTs){if(thread.lastEntryTs!==undefined){const duration=currentTs-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',thread.lastEntryTitle,ColorScheme.getColorIdForGeneralPurposeString(id),thread.lastEntryTs,thread.lastEntryArgs,duration);thread.thread.sliceGroup.pushSlice(slice);}} 6085Parser.register(I2cParser);return{I2cParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I915Parser(importer){Parser.call(this,importer);importer.registerEventHandler('i915_gem_object_create',I915Parser.prototype.gemObjectCreateEvent.bind(this));importer.registerEventHandler('i915_gem_object_bind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_unbind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_change_domain',I915Parser.prototype.gemObjectChangeDomainEvent.bind(this));importer.registerEventHandler('i915_gem_object_pread',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_pwrite',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_fault',I915Parser.prototype.gemObjectFaultEvent.bind(this));importer.registerEventHandler('i915_gem_object_clflush',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_object_destroy',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_ring_dispatch',I915Parser.prototype.gemRingDispatchEvent.bind(this));importer.registerEventHandler('i915_gem_ring_flush',I915Parser.prototype.gemRingFlushEvent.bind(this));importer.registerEventHandler('i915_gem_request',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_add',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_complete',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_retire',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_begin',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_end',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_begin',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_end',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_reg_rw',I915Parser.prototype.regRWEvent.bind(this));importer.registerEventHandler('i915_flip_request',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('i915_flip_complete',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('intel_gpu_freq_change',I915Parser.prototype.gpuFrequency.bind(this));} 6086I915Parser.prototype={__proto__:Parser.prototype,i915FlipOpenSlice(ts,obj,plane){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');kthread.openSliceTS=ts;kthread.openSlice='flip:'+obj+'/'+plane;},i915FlipCloseSlice(ts,args){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);} 6087kthread.openSlice=undefined;},i915GemObjectSlice(ts,eventName,obj,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem');kthread.openSlice=eventName+':'+obj;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915GemRingSlice(ts,eventName,dev,ring,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem_ring');kthread.openSlice=eventName+':'+dev+'.'+ring;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915RegSlice(ts,eventName,reg,args){const kthread=this.importer.getOrCreatePseudoThread('i915_reg');kthread.openSlice=eventName+':'+reg;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915FreqChangeSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gpu_freq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},gemObjectCreateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const size=parseInt(event[2]);this.i915GemObjectSlice(ts,eventName,obj,{obj,size});return true;},gemObjectBindEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=event[2];const size=parseInt(event[3]);this.i915ObjectGemSlice(ts,eventName+':'+obj,{obj,offset,size});return true;},gemObjectChangeDomainEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), read=(\w+=>\w+), write=(\w+=>\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const read=event[2];const write=event[3];this.i915GemObjectSlice(ts,eventName,obj,{obj,read,write});return true;},gemObjectPreadWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\d+), len=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=parseInt(event[2]);const len=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,offset,len});return true;},gemObjectFaultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), (\w+) index=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const type=event[2];const index=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,type,index});return true;},gemObjectDestroyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];this.i915GemObjectSlice(ts,eventName,obj,{obj});return true;},gemRingDispatchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingFlushEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\w+), invalidate=(\w+), flush=(\w+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const invalidate=event[3];const flush=event[4];this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,invalidate,flush});return true;},gemRequestEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring});return true;},regRWEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/(\w+) reg=(\w+), len=(\d+), val=(\(\w+, \w+\))/.exec(eventBase.details);if(!event)return false;const rw=event[1];const reg=event[2];const len=event[3];const data=event[3];this.i915RegSlice(ts,rw,reg,{rw,reg,len,data});return true;},flipEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/plane=(\d+), obj=(\w+)/.exec(eventBase.details);if(!event)return false;const plane=parseInt(event[1]);const obj=event[2];if(eventName==='i915_flip_request'){this.i915FlipOpenSlice(ts,obj,plane);}else{this.i915FlipCloseSlice(ts,{obj,plane});} 6088return true;},gpuFrequency(eventName,cpuNumver,pid,ts,eventBase){const event=/new_freq=(\d+)/.exec(eventBase.details);if(!event)return false;const freq=parseInt(event[1]);this.i915FreqChangeSlice(ts,eventName,{freq});return true;}};Parser.register(I915Parser);return{I915Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function IrqParser(importer){Parser.call(this,importer);importer.registerEventHandler('irq_handler_entry',IrqParser.prototype.irqHandlerEntryEvent.bind(this));importer.registerEventHandler('irq_handler_exit',IrqParser.prototype.irqHandlerExitEvent.bind(this));importer.registerEventHandler('softirq_raise',IrqParser.prototype.softirqRaiseEvent.bind(this));importer.registerEventHandler('softirq_entry',IrqParser.prototype.softirqEntryEvent.bind(this));importer.registerEventHandler('softirq_exit',IrqParser.prototype.softirqExitEvent.bind(this));importer.registerEventHandler('ipi_entry',IrqParser.prototype.ipiEntryEvent.bind(this));importer.registerEventHandler('ipi_exit',IrqParser.prototype.ipiExitEvent.bind(this));} 6089const irqHandlerEntryRE=/irq=(\d+) name=(.+)/;const irqHandlerExitRE=/irq=(\d+) ret=(.+)/;const softirqRE=/vec=(\d+) \[action=(.+)\]/;const ipiHandlerExitRE=/\((.+)\)/;IrqParser.prototype={__proto__:Parser.prototype,irqHandlerEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerEntryRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const name=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;thread.irqName=name;return true;},irqHandlerExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerExitRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const ret=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IRQ ('+thread.irqName+')',ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{ret},duration);thread.thread.sliceGroup.pushSlice(slice);} 6090thread.lastEntryTs=undefined;thread.irqName=undefined;return true;},softirqRaiseEvent(eventName,cpuNumber,pid,ts,eventBase){return true;},softirqEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},softirqExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const vec=parseInt(event[1]);const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',action,ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{vec},duration);thread.thread.sliceGroup.pushSlice(slice);} 6091thread.lastEntryTs=undefined;return true;},ipiEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},ipiExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=ipiHandlerExitRE.exec(eventBase.details);if(!event)return false;const ipiName=event[1];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IPI ('+ipiName+')',ColorScheme.getColorIdForGeneralPurposeString(ipiName),thread.lastEntryTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);} 6092thread.lastEntryTs=undefined;return true;}};Parser.register(IrqParser);return{IrqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const LinuxPerfParser=tr.e.importer.linux_perf.Parser;function KernelFuncParser(importer){LinuxPerfParser.call(this,importer);importer.registerEventHandler('graph_ent',KernelFuncParser.prototype.traceKernelFuncEnterEvent.bind(this));importer.registerEventHandler('graph_ret',KernelFuncParser.prototype.traceKernelFuncReturnEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6093const TestExports={};const funcEnterRE=new RegExp('func=(.+)');TestExports.funcEnterRE=funcEnterRE;KernelFuncParser.prototype={__proto__:LinuxPerfParser.prototype,traceKernelFuncEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=funcEnterRE.exec(eventBase.details);if(!eventData)return false;if(eventBase.tgid===undefined){return false;} 6094const tgid=parseInt(eventBase.tgid);const name=eventData[1];const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6095const slice=slices.beginSlice(null,name,ts,{});return true;},traceKernelFuncReturnEvent(eventName,cpuNumber,pid,ts,eventBase){if(eventBase.tgid===undefined){return false;} 6096const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6097if(slices.openSliceCount>0){slices.endSlice(ts);} 6098return true;}};LinuxPerfParser.register(KernelFuncParser);return{KernelFuncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function MaliParser(importer){Parser.call(this,importer);importer.registerEventHandler('mali_dvfs_event',MaliParser.prototype.dvfsEventEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_clock',MaliParser.prototype.dvfsSetClockEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_voltage',MaliParser.prototype.dvfsSetVoltageEvent.bind(this));this.addJMCounter('mali_hwc_MESSAGES_SENT','Messages Sent');this.addJMCounter('mali_hwc_MESSAGES_RECEIVED','Messages Received');this.addJMCycles('mali_hwc_GPU_ACTIVE','GPU Active');this.addJMCycles('mali_hwc_IRQ_ACTIVE','IRQ Active');for(let i=0;i<7;i++){const jobStr='JS'+i;const jobHWCStr='mali_hwc_'+jobStr;this.addJMCounter(jobHWCStr+'_JOBS',jobStr+' Jobs');this.addJMCounter(jobHWCStr+'_TASKS',jobStr+' Tasks');this.addJMCycles(jobHWCStr+'_ACTIVE',jobStr+' Active');this.addJMCycles(jobHWCStr+'_WAIT_READ',jobStr+' Wait Read');this.addJMCycles(jobHWCStr+'_WAIT_ISSUE',jobStr+' Wait Issue');this.addJMCycles(jobHWCStr+'_WAIT_DEPEND',jobStr+' Wait Depend');this.addJMCycles(jobHWCStr+'_WAIT_FINISH',jobStr+' Wait Finish');} 6099this.addTilerCounter('mali_hwc_TRIANGLES','Triangles');this.addTilerCounter('mali_hwc_QUADS','Quads');this.addTilerCounter('mali_hwc_POLYGONS','Polygons');this.addTilerCounter('mali_hwc_POINTS','Points');this.addTilerCounter('mali_hwc_LINES','Lines');this.addTilerCounter('mali_hwc_VCACHE_HIT','VCache Hit');this.addTilerCounter('mali_hwc_VCACHE_MISS','VCache Miss');this.addTilerCounter('mali_hwc_FRONT_FACING','Front Facing');this.addTilerCounter('mali_hwc_BACK_FACING','Back Facing');this.addTilerCounter('mali_hwc_PRIM_VISIBLE','Prim Visible');this.addTilerCounter('mali_hwc_PRIM_CULLED','Prim Culled');this.addTilerCounter('mali_hwc_PRIM_CLIPPED','Prim Clipped');this.addTilerCounter('mali_hwc_WRBUF_HIT','Wrbuf Hit');this.addTilerCounter('mali_hwc_WRBUF_MISS','Wrbuf Miss');this.addTilerCounter('mali_hwc_WRBUF_LINE','Wrbuf Line');this.addTilerCounter('mali_hwc_WRBUF_PARTIAL','Wrbuf Partial');this.addTilerCounter('mali_hwc_WRBUF_STALL','Wrbuf Stall');this.addTilerCycles('mali_hwc_ACTIVE','Tiler Active');this.addTilerCycles('mali_hwc_INDEX_WAIT','Index Wait');this.addTilerCycles('mali_hwc_INDEX_RANGE_WAIT','Index Range Wait');this.addTilerCycles('mali_hwc_VERTEX_WAIT','Vertex Wait');this.addTilerCycles('mali_hwc_PCACHE_WAIT','Pcache Wait');this.addTilerCycles('mali_hwc_WRBUF_WAIT','Wrbuf Wait');this.addTilerCycles('mali_hwc_BUS_READ','Bus Read');this.addTilerCycles('mali_hwc_BUS_WRITE','Bus Write');this.addTilerCycles('mali_hwc_TILER_UTLB_STALL','Tiler UTLB Stall');this.addTilerCycles('mali_hwc_TILER_UTLB_HIT','Tiler UTLB Hit');this.addFragCycles('mali_hwc_FRAG_ACTIVE','Active');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES','Primitives');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES_DROPPED','Primitives Dropped');this.addFragCycles('mali_hwc_FRAG_CYCLE_DESC','Descriptor Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_PLR','PLR Processing??');this.addFragCycles('mali_hwc_FRAG_CYCLES_VERT','Vertex Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_TRISETUP','Triangle Setup');this.addFragCycles('mali_hwc_FRAG_CYCLES_RAST','Rasterization???');this.addFragCounter('mali_hwc_FRAG_THREADS','Threads');this.addFragCounter('mali_hwc_FRAG_DUMMY_THREADS','Dummy Threads');this.addFragCounter('mali_hwc_FRAG_QUADS_RAST','Quads Rast');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_TEST','Quads EZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_KILLED','Quads EZS Killed');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_TEST','Quads LZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_KILLED','Quads LZS Killed');this.addFragCycles('mali_hwc_FRAG_CYCLE_NO_TILE','No Tiles');this.addFragCounter('mali_hwc_FRAG_NUM_TILES','Tiles');this.addFragCounter('mali_hwc_FRAG_TRANS_ELIM','Transactions Eliminated');this.addComputeCycles('mali_hwc_COMPUTE_ACTIVE','Active');this.addComputeCounter('mali_hwc_COMPUTE_TASKS','Tasks');this.addComputeCounter('mali_hwc_COMPUTE_THREADS','Threads Started');this.addComputeCycles('mali_hwc_COMPUTE_CYCLES_DESC','Waiting for Descriptors');this.addTripipeCycles('mali_hwc_TRIPIPE_ACTIVE','Active');this.addArithCounter('mali_hwc_ARITH_WORDS','Instructions (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_REG','Reg scheduling stalls (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_L0','L0 cache miss stalls (/Pipes)');this.addArithCounter('mali_hwc_ARITH_FRAG_DEPEND','Frag dep check failures (/Pipes)');this.addLSCounter('mali_hwc_LS_WORDS','Instruction Words Completed');this.addLSCounter('mali_hwc_LS_ISSUES','Full Pipeline Issues');this.addLSCounter('mali_hwc_LS_RESTARTS','Restarts (unpairable insts)');this.addLSCounter('mali_hwc_LS_REISSUES_MISS','Pipeline reissue (cache miss/uTLB)');this.addLSCounter('mali_hwc_LS_REISSUES_VD','Pipeline reissue (varying data)');this.addLSCounter('mali_hwc_LS_REISSUE_ATTRIB_MISS','Pipeline reissue (attribute cache miss)');this.addLSCounter('mali_hwc_LS_REISSUE_NO_WB','Writeback not used');this.addTexCounter('mali_hwc_TEX_WORDS','Words');this.addTexCounter('mali_hwc_TEX_BUBBLES','Bubbles');this.addTexCounter('mali_hwc_TEX_WORDS_L0','Words L0');this.addTexCounter('mali_hwc_TEX_WORDS_DESC','Words Desc');this.addTexCounter('mali_hwc_TEX_THREADS','Threads');this.addTexCounter('mali_hwc_TEX_RECIRC_FMISS','Recirc due to Full Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_DESC','Recirc due to Desc Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_MULTI','Recirc due to Multipass');this.addTexCounter('mali_hwc_TEX_RECIRC_PMISS','Recirc due to Partial Cache Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_CONF','Recirc due to Cache Conflict');this.addLSCCounter('mali_hwc_LSC_READ_HITS','Read Hits');this.addLSCCounter('mali_hwc_LSC_READ_MISSES','Read Misses');this.addLSCCounter('mali_hwc_LSC_WRITE_HITS','Write Hits');this.addLSCCounter('mali_hwc_LSC_WRITE_MISSES','Write Misses');this.addLSCCounter('mali_hwc_LSC_ATOMIC_HITS','Atomic Hits');this.addLSCCounter('mali_hwc_LSC_ATOMIC_MISSES','Atomic Misses');this.addLSCCounter('mali_hwc_LSC_LINE_FETCHES','Line Fetches');this.addLSCCounter('mali_hwc_LSC_DIRTY_LINE','Dirty Lines');this.addLSCCounter('mali_hwc_LSC_SNOOPS','Snoops');this.addAXICounter('mali_hwc_AXI_TLB_STALL','Address channel stall');this.addAXICounter('mali_hwc_AXI_TLB_MISS','Cache Miss');this.addAXICounter('mali_hwc_AXI_TLB_TRANSACTION','Transactions');this.addAXICounter('mali_hwc_LS_TLB_MISS','LS Cache Miss');this.addAXICounter('mali_hwc_LS_TLB_HIT','LS Cache Hit');this.addAXICounter('mali_hwc_AXI_BEATS_READ','Read Beats');this.addAXICounter('mali_hwc_AXI_BEATS_WRITE','Write Beats');this.addMMUCounter('mali_hwc_MMU_TABLE_WALK','Page Table Walks');this.addMMUCounter('mali_hwc_MMU_REPLAY_MISS','Cache Miss from Replay Buffer');this.addMMUCounter('mali_hwc_MMU_REPLAY_FULL','Replay Buffer Full');this.addMMUCounter('mali_hwc_MMU_NEW_MISS','Cache Miss on New Request');this.addMMUCounter('mali_hwc_MMU_HIT','Cache Hit');this.addMMUCycles('mali_hwc_UTLB_STALL','UTLB Stalled');this.addMMUCycles('mali_hwc_UTLB_REPLAY_MISS','UTLB Replay Miss');this.addMMUCycles('mali_hwc_UTLB_REPLAY_FULL','UTLB Replay Full');this.addMMUCycles('mali_hwc_UTLB_NEW_MISS','UTLB New Miss');this.addMMUCycles('mali_hwc_UTLB_HIT','UTLB Hit');this.addL2Counter('mali_hwc_L2_READ_BEATS','Read Beats');this.addL2Counter('mali_hwc_L2_WRITE_BEATS','Write Beats');this.addL2Counter('mali_hwc_L2_ANY_LOOKUP','Any Lookup');this.addL2Counter('mali_hwc_L2_READ_LOOKUP','Read Lookup');this.addL2Counter('mali_hwc_L2_SREAD_LOOKUP','Shareable Read Lookup');this.addL2Counter('mali_hwc_L2_READ_REPLAY','Read Replayed');this.addL2Counter('mali_hwc_L2_READ_SNOOP','Read Snoop');this.addL2Counter('mali_hwc_L2_READ_HIT','Read Cache Hit');this.addL2Counter('mali_hwc_L2_CLEAN_MISS','CleanUnique Miss');this.addL2Counter('mali_hwc_L2_WRITE_LOOKUP','Write Lookup');this.addL2Counter('mali_hwc_L2_SWRITE_LOOKUP','Shareable Write Lookup');this.addL2Counter('mali_hwc_L2_WRITE_REPLAY','Write Replayed');this.addL2Counter('mali_hwc_L2_WRITE_SNOOP','Write Snoop');this.addL2Counter('mali_hwc_L2_WRITE_HIT','Write Cache Hit');this.addL2Counter('mali_hwc_L2_EXT_READ_FULL','ExtRD with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_READ_HALF','ExtRD with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_FULL','ExtWR with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_HALF','ExtWR with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_READ','External Read (ExtRD)');this.addL2Counter('mali_hwc_L2_EXT_READ_LINE','ExtRD (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE','External Write (ExtWR)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_LINE','ExtWR (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_SMALL','ExtWR (burst size <64B)');this.addL2Counter('mali_hwc_L2_EXT_BARRIER','External Barrier');this.addL2Counter('mali_hwc_L2_EXT_AR_STALL','Address Read stalls');this.addL2Counter('mali_hwc_L2_EXT_R_BUF_FULL','Response Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_RD_BUF_FULL','Read Data Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_R_RAW','RAW hazard stalls');this.addL2Counter('mali_hwc_L2_EXT_W_STALL','Write Data stalls');this.addL2Counter('mali_hwc_L2_EXT_W_BUF_FULL','Write Data Buffer full');this.addL2Counter('mali_hwc_L2_EXT_R_W_HAZARD','WAW or WAR hazard stalls');this.addL2Counter('mali_hwc_L2_TAG_HAZARD','Tag hazard replays');this.addL2Cycles('mali_hwc_L2_SNOOP_FULL','Snoop buffer full');this.addL2Cycles('mali_hwc_L2_REPLAY_FULL','Replay buffer full');importer.registerEventHandler('tracing_mark_write:mali_driver',MaliParser.prototype.maliDDKEvent.bind(this));this.model_=importer.model_;} 6100MaliParser.prototype={__proto__:Parser.prototype,maliDDKOpenSlice(pid,tid,ts,func,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);const funcArgs=/^([\w\d_]*)(?:\(\))?:?\s*(.*)$/.exec(func);thread.sliceGroup.beginSlice('gpu-driver',funcArgs[1],ts,{'args':funcArgs[2],blockinfo});},maliDDKCloseSlice(pid,tid,ts,args,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);if(!thread.sliceGroup.openSliceCount){return;} 6101thread.sliceGroup.endSlice(ts);},autoDetectLineRE(line){const lineREWithThread=/^\s*\(([\w\-]*)\)\s*(\w+):\s*([\w\\\/\.\-]*@\d*):?\s*(.*)$/;if(lineREWithThread.test(line)){return lineREWithThread;} 6102const lineRENoThread=/^s*()(\w+):\s*([\w\\\/.\-]*):?\s*(.*)$/;if(lineRENoThread.test(line)){return lineRENoThread;} 6103return null;},lineRE:null,maliDDKEvent(eventName,cpuNumber,pid,ts,eventBase){if(this.lineRE===null){this.lineRE=this.autoDetectLineRE(eventBase.details);if(this.lineRE===null)return false;} 6104const maliEvent=this.lineRE.exec(eventBase.details);const tid=(maliEvent[1]===''?'mali':maliEvent[1]);switch(maliEvent[2]){case'cros_trace_print_enter':this.maliDDKOpenSlice(pid,tid,ts,maliEvent[4],maliEvent[3]);break;case'cros_trace_print_exit':this.maliDDKCloseSlice(pid,tid,ts,[],maliEvent[3]);} 6105return true;},dvfsSample(counterName,seriesName,ts,s){const value=parseInt(s);const counter=this.model_.kernel.getOrCreateCounter('DVFS',counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));} 6106counter.series.forEach(function(series){series.addCounterSample(ts,value);});},dvfsEventEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/utilization=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Utilization','utilization',ts,event[1]);return true;},dvfsSetClockEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Frequency','frequency',ts,event[1]);return true;},dvfsSetVoltageEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/voltage=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Voltage','voltage',ts,event[1]);return true;},hwcSample(cat,counterName,seriesName,ts,eventBase){const event=/val=(\d+)/.exec(eventBase.details);if(!event)return false;const value=parseInt(event[1]);const counter=this.model_.kernel.getOrCreateCounter(cat,counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));} 6107counter.series.forEach(function(series){series.addCounterSample(ts,value);});return true;},jmSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:jm','JM: '+ctrName,seriesName,ts,eventBase);},addJMCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'count',ts,eventBase);} 6108this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addJMCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'cycles',ts,eventBase);} 6109this.importer.registerEventHandler(hwcEventName,handler.bind(this));},tilerSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:tiler','Tiler: '+ctrName,seriesName,ts,eventBase);},addTilerCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'count',ts,eventBase);} 6110this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTilerCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'cycles',ts,eventBase);} 6111this.importer.registerEventHandler(hwcEventName,handler.bind(this));},fragSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:fragment','Fragment: '+ctrName,seriesName,ts,eventBase);},addFragCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'count',ts,eventBase);} 6112this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addFragCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'cycles',ts,eventBase);} 6113this.importer.registerEventHandler(hwcEventName,handler.bind(this));},computeSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:compute','Compute: '+ctrName,seriesName,ts,eventBase);},addComputeCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'count',ts,eventBase);} 6114this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addComputeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'cycles',ts,eventBase);} 6115this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTripipeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:shader','Tripipe: '+hwcTitle,'cycles',ts,eventBase);} 6116this.importer.registerEventHandler(hwcEventName,handler.bind(this));},arithSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:arith','Arith: '+ctrName,seriesName,ts,eventBase);},addArithCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'count',ts,eventBase);} 6117this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addArithCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'cycles',ts,eventBase);} 6118this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:ls','LS: '+hwcTitle,'count',ts,eventBase);} 6119this.importer.registerEventHandler(hwcEventName,handler.bind(this));},textureSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:texture','Texture: '+ctrName,seriesName,ts,eventBase);},addTexCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.textureSample(hwcTitle,'count',ts,eventBase);} 6120this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:lsc','LSC: '+hwcTitle,'count',ts,eventBase);} 6121this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addAXICounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:axi','AXI: '+hwcTitle,'count',ts,eventBase);} 6122this.importer.registerEventHandler(hwcEventName,handler.bind(this));},mmuSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:mmu','MMU: '+ctrName,seriesName,ts,eventBase);},addMMUCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'count',ts,eventBase);} 6123this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addMMUCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'cycles',ts,eventBase);} 6124this.importer.registerEventHandler(hwcEventName,handler.bind(this));},l2Sample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:l2','L2: '+ctrName,seriesName,ts,eventBase);},addL2Counter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'count',ts,eventBase);} 6125this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addL2Cycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'cycles',ts,eventBase);} 6126this.importer.registerEventHandler(hwcEventName,handler.bind(this));}};Parser.register(MaliParser);return{MaliParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function MemReclaimParser(importer){Parser.call(this,importer);importer.registerEventHandler('mm_vmscan_kswapd_wake',MemReclaimParser.prototype.kswapdWake.bind(this));importer.registerEventHandler('mm_vmscan_kswapd_sleep',MemReclaimParser.prototype.kswapdSleep.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_begin',MemReclaimParser.prototype.reclaimBegin.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_end',MemReclaimParser.prototype.reclaimEnd.bind(this));} 6127const kswapdWakeRE=/nid=(\d+) order=(\d+)/;const kswapdSleepRE=/nid=(\d+)/;const reclaimBeginRE=/order=(\d+) may_writepage=\d+ gfp_flags=(.+)/;const reclaimEndRE=/nr_reclaimed=(\d+)/;MemReclaimParser.prototype={__proto__:Parser.prototype,kswapdWake(eventName,cpuNumber,pid,ts,eventBase){const event=kswapdWakeRE.exec(eventBase.details);if(!event)return false;const tgid=parseInt(eventBase.tgid);const nid=parseInt(event[1]);const order=parseInt(event[2]);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){if(order>kthread.order){kthread.order=order;}}else{kthread.openSliceTS=ts;kthread.order=order;} 6128return true;},kswapdSleep(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim',eventBase.threadName,kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order});} 6129kthread.openSliceTS=undefined;kthread.order=undefined;return true;},reclaimBegin(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimBeginRE.exec(eventBase.details);if(!event)return false;const order=parseInt(event[1]);const gfp=event[2];const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);kthread.openSliceTS=ts;kthread.order=order;kthread.gfp=gfp;return true;},reclaimEnd(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimEndRE.exec(eventBase.details);if(!event)return false;const nrReclaimed=parseInt(event[1]);const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS!==undefined){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim','direct reclaim',kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order,gfp:kthread.gfp,nr_reclaimed:nrReclaimed});} 6130kthread.openSliceTS=undefined;kthread.order=undefined;kthread.gfp=undefined;return true;}};Parser.register(MemReclaimParser);return{MemReclaimParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function PowerParser(importer){Parser.call(this,importer);importer.registerEventHandler('power_start',PowerParser.prototype.powerStartEvent.bind(this));importer.registerEventHandler('power_frequency',PowerParser.prototype.powerFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency',PowerParser.prototype.cpuFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency_limits',PowerParser.prototype.cpuFrequencyLimitsEvent.bind(this));importer.registerEventHandler('cpu_idle',PowerParser.prototype.cpuIdleEvent.bind(this));} 6131PowerParser.prototype={__proto__:Parser.prototype,cpuStateSlice(ts,targetCpuNumber,eventType,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);if(eventType!=='1'){this.importer.model.importWarning({type:'parse_error',message:'Don\'t understand power_start events of '+'type '+eventType});return;} 6132const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));} 6133powerCounter.series.forEach(function(series){series.addCounterSample(ts,cpuState);});},cpuIdleSlice(ts,targetCpuNumber,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name)));} 6134const val=(cpuState!==4294967295?cpuState+1:0);powerCounter.series.forEach(function(series){series.addCounterSample(ts,val);});},cpuFrequencySlice(ts,targetCpuNumber,powerState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));} 6135powerCounter.series.forEach(function(series){series.addCounterSample(ts,powerState);});},cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency Limits');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('Min Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Min Frequency')));powerCounter.addSeries(new tr.model.CounterSeries('Max Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Max Frequency')));} 6136powerCounter.series.forEach(function(series){if(series.name==='Min Frequency'){series.addCounterSample(ts,minFreq);} 6137if(series.name==='Max Frequency'){series.addCounterSample(ts,maxFreq);}});},powerStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const cpuState=parseInt(event[2]);this.cpuStateSlice(ts,targetCpuNumber,event[1],cpuState);return true;},powerFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const powerState=parseInt(event[2]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const powerState=parseInt(event[1]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyLimitsEvent(eventName,cpu,pid,ts,eventBase){const event=/min=(\d+) max=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const minFreq=parseInt(event[1]);const maxFreq=parseInt(event[2]);this.cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq);return true;},cpuIdleEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const cpuState=parseInt(event[1]);this.cpuIdleSlice(ts,targetCpuNumber,cpuState);return true;}};Parser.register(PowerParser);return{PowerParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function RegulatorParser(importer){Parser.call(this,importer);importer.registerEventHandler('regulator_enable',RegulatorParser.prototype.regulatorEnableEvent.bind(this));importer.registerEventHandler('regulator_enable_delay',RegulatorParser.prototype.regulatorEnableDelayEvent.bind(this));importer.registerEventHandler('regulator_enable_complete',RegulatorParser.prototype.regulatorEnableCompleteEvent.bind(this));importer.registerEventHandler('regulator_disable',RegulatorParser.prototype.regulatorDisableEvent.bind(this));importer.registerEventHandler('regulator_disable_complete',RegulatorParser.prototype.regulatorDisableCompleteEvent.bind(this));importer.registerEventHandler('regulator_set_voltage',RegulatorParser.prototype.regulatorSetVoltageEvent.bind(this));importer.registerEventHandler('regulator_set_voltage_complete',RegulatorParser.prototype.regulatorSetVoltageCompleteEvent.bind(this));this.model_=importer.model_;} 6138const regulatorEnableRE=/name=(.+)/;const regulatorDisableRE=/name=(.+)/;const regulatorSetVoltageCompleteRE=/name=(\S+), val=(\d+)/;RegulatorParser.prototype={__proto__:Parser.prototype,getCtr_(ctrName,valueName){const ctr=this.model_.kernel.getOrCreateCounter(null,'vreg '+ctrName+' '+valueName);if(ctr.series[0]===undefined){ctr.addSeries(new tr.model.CounterSeries(valueName,ColorScheme.getColorIdForGeneralPurposeString(ctrName+'.'+valueName)));} 6139return ctr;},regulatorEnableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorEnableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,1);return true;},regulatorEnableDelayEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorEnableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorDisableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorDisableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,0);return true;},regulatorDisableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageCompleteEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorSetVoltageCompleteRE.exec(eventBase.details);if(!event)return false;const name=event[1];const voltage=parseInt(event[2]);const ctr=this.getCtr_(name,'voltage');ctr.series[0].addCounterSample(ts,voltage);return true;}};Parser.register(RegulatorParser);return{RegulatorParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function SchedParser(importer){Parser.call(this,importer);importer.registerEventHandler('sched_switch',SchedParser.prototype.schedSwitchEvent.bind(this));importer.registerEventHandler('sched_wakeup',SchedParser.prototype.schedWakeupEvent.bind(this));importer.registerEventHandler('sched_blocked_reason',SchedParser.prototype.schedBlockedEvent.bind(this));importer.registerEventHandler('sched_cpu_hotplug',SchedParser.prototype.schedCpuHotplugEvent.bind(this));} 6140const TestExports={};const schedSwitchRE=new RegExp('prev_comm=(.+) prev_pid=(\\d+) prev_prio=(\\d+) '+'prev_state=(\\S\\+?|\\S\\|\\S) ==> '+'next_comm=(.+) next_pid=(\\d+) next_prio=(\\d+)');const schedBlockedRE=new RegExp('pid=(\\d+) iowait=(\\d) caller=(.+)');TestExports.schedSwitchRE=schedSwitchRE;const schedWakeupRE=/comm=(.+) pid=(\d+) prio=(\d+)(?: success=\d+)? target_cpu=(\d+)/;TestExports.schedWakeupRE=schedWakeupRE;SchedParser.prototype={__proto__:Parser.prototype,schedSwitchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedSwitchRE.exec(eventBase.details);if(!event)return false;const prevState=event[4];const nextComm=event[5];const nextPid=parseInt(event[6]);const nextPrio=parseInt(event[7]);if(eventBase.tgid!==undefined){const tgid=parseInt(eventBase.tgid);const process=this.importer.model_.getOrCreateProcess(tgid);if(!process.getThread(pid)){const thread=process.getOrCreateThread(pid);thread.name=eventBase.threadName;}} 6141const nextThread=this.importer.threadsByLinuxPid[nextPid];let nextName;if(nextThread){nextName=nextThread.userFriendlyName;}else{nextName=nextComm;} 6142const cpu=this.importer.getOrCreateCpu(cpuNumber);cpu.switchActiveThread(ts,{stateWhenDescheduled:prevState},nextPid,nextName,{comm:nextComm,tid:nextPid,prio:nextPrio});return true;},schedWakeupEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedWakeupRE.exec(eventBase.details);if(!event)return false;const fromPid=pid;const comm=event[1];pid=parseInt(event[2]);const prio=parseInt(event[3]);this.importer.markPidRunnable(ts,pid,comm,prio,fromPid);return true;},schedCpuHotplugEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/cpu (\d+) (.+) error=(\d+)/.exec(eventBase.details);if(!event)return false;cpuNumber=event[1];const state=event[2];const targetCpu=this.importer.getOrCreateCpu(cpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Cpu Hotplug');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('State',tr.b.ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'State')));} 6143powerCounter.series.forEach(function(series){if(series.name==='State'){series.addCounterSample(ts,state.localeCompare('offline')?0:1);}});return true;},schedBlockedEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedBlockedRE.exec(eventBase.details);if(!event)return false;pid=parseInt(event[1]);const iowait=parseInt(event[2]);const caller=event[3];this.importer.addPidBlockedReason(ts,pid,iowait,caller);return true;}};Parser.register(SchedParser);return{SchedParser,_SchedParserTestExports:TestExports};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function SyncParser(importer){Parser.call(this,importer);importer.registerEventHandler('sync_timeline',SyncParser.prototype.timelineEvent.bind(this));importer.registerEventHandler('sync_wait',SyncParser.prototype.syncWaitEvent.bind(this));importer.registerEventHandler('sync_pt',SyncParser.prototype.syncPtEvent.bind(this));this.model_=importer.model_;} 6144const syncTimelineRE=/name=(\S+) value=(\S*)/;const syncWaitRE=/(\S+) name=(\S+) state=(\d+)/;const syncPtRE=/name=(\S+) value=(\S*)/;SyncParser.prototype={__proto__:Parser.prototype,timelineEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncTimelineRE.exec(eventBase.details);if(!event)return false;const thread=this.importer.getOrCreatePseudoThread(event[1]);if(thread.lastActiveTs!==undefined){const duration=ts-thread.lastActiveTs;let value=thread.lastActiveValue;if(value===undefined)value=' ';const slice=new tr.model.ThreadSlice('',value,ColorScheme.getColorIdForGeneralPurposeString(value),thread.lastActiveTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);} 6145thread.lastActiveTs=ts;thread.lastActiveValue=event[2];return true;},syncWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncWaitRE.exec(eventBase.details);if(!event)return false;if(eventBase.tgid===undefined){return false;} 6146const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6147const name='fence_wait("'+event[2]+'")';if(event[1]==='begin'){const slice=slices.beginSlice(null,name,ts,{'Start state':event[3]});}else if(event[1]==='end'){if(slices.openSliceCount>0){slices.endSlice(ts);}}else{return false;} 6148return true;},syncPtEvent(eventName,cpuNumber,pid,ts,eventBase){return!!syncPtRE.exec(eventBase.details);}};Parser.register(SyncParser);return{SyncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function WorkqueueParser(importer){Parser.call(this,importer);importer.registerEventHandler('workqueue_execute_start',WorkqueueParser.prototype.executeStartEvent.bind(this));importer.registerEventHandler('workqueue_execute_end',WorkqueueParser.prototype.executeEndEvent.bind(this));importer.registerEventHandler('workqueue_queue_work',WorkqueueParser.prototype.executeQueueWork.bind(this));importer.registerEventHandler('workqueue_activate_work',WorkqueueParser.prototype.executeActivateWork.bind(this));} 6149const workqueueExecuteStartRE=/work struct (.+): function (\S+)/;const workqueueExecuteEndRE=/work struct (.+)/;WorkqueueParser.prototype={__proto__:Parser.prototype,executeStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteStartRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);kthread.openSliceTS=ts;kthread.openSlice=event[2];return true;},executeEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteEndRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,{},ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);} 6150kthread.openSlice=undefined;return true;},executeQueueWork(eventName,cpuNumber,pid,ts,eventBase){return true;},executeActivateWork(eventName,cpuNumber,pid,ts,eventBase){return true;}};Parser.register(WorkqueueParser);return{WorkqueueParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID='linux_clock_monotonic_to_ftrace_global';function FTraceImporter(model,events){this.importPriority=2;this.model_=model;this.events_=events;this.wakeups_=[];this.blockedReasons_=[];this.kernelThreadStates_={};this.buildMapFromLinuxPidsToThreads_();this.lines_=[];this.pseudoThreadCounter=1;this.parsers_=[];this.eventHandlers_={};this.haveClockSyncedMonotonicToGlobal_=false;this.clockDomainId_=tr.model.ClockDomainId.LINUX_FTRACE_GLOBAL;} 6151const TestExports={};const lineREWithTGID=new RegExp('^\\s*(.+)-(\\d+)\\s+\\(\\s*(\\d+|-+)\\)\\s\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithTGID=function(line){const groups=lineREWithTGID.exec(line);if(!groups)return groups;let tgid=groups[3];if(tgid[0]==='-')tgid=undefined;return{threadName:groups[1],pid:groups[2],tgid,cpuNumber:groups[4],timestamp:groups[5],eventName:groups[6],details:groups[7]};};TestExports.lineParserWithTGID=lineParserWithTGID;const lineREWithIRQInfo=new RegExp('^\\s*(.+)-(\\d+)\\s+\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithIRQInfo=function(line){const groups=lineREWithIRQInfo.exec(line);if(!groups)return groups;return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithIRQInfo=lineParserWithIRQInfo;const lineREWithLegacyFmt=/^\s*(.+)-(\d+)\s+\[(\d+)\]\s*(\d+\.\d+):\s+(\S+):\s(.*)$/;const lineParserWithLegacyFmt=function(line){const groups=lineREWithLegacyFmt.exec(line);if(!groups){return groups;} 6152return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithLegacyFmt=lineParserWithLegacyFmt;const traceEventClockSyncRE=/trace_event_clock_sync: parent_ts=(\d+\.?\d*)/;TestExports.traceEventClockSyncRE=traceEventClockSyncRE;const realTimeClockSyncRE=/trace_event_clock_sync: realtime_ts=(\d+)/;const genericClockSyncRE=/trace_event_clock_sync: name=([\w\-]+)/;const pseudoKernelPID=0;function autoDetectLineParser(line){if(line[0]==='{')return false;if(lineREWithTGID.test(line))return lineParserWithTGID;if(lineREWithIRQInfo.test(line))return lineParserWithIRQInfo;if(lineREWithLegacyFmt.test(line))return lineParserWithLegacyFmt;return undefined;} 6153TestExports.autoDetectLineParser=autoDetectLineParser;FTraceImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)events=events.header;if(!(typeof(events)==='string'||events instanceof String)){return false;} 6154if(FTraceImporter._extractEventsFromSystraceHTML(events,false).ok){return true;} 6155if(FTraceImporter._extractEventsFromSystraceMultiHTML(events,false).ok){return true;} 6156if(/^# tracer:/.test(events))return true;const lineBreakIndex=events.indexOf('\n');if(lineBreakIndex>-1)events=events.substring(0,lineBreakIndex);if(autoDetectLineParser(events))return true;return false;};FTraceImporter._extractEventsFromSystraceHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!/^<!DOCTYPE html>/.test(header))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);if(!r.advanceToLineMatching(/^ <script>$/))return failure;if(!r.advanceToLineMatching(/^ var linuxPerfData = "\\$/))return failure;const eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^ <\/script>$/))return failure;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;function endsWith(str,suffix){return str.indexOf(suffix,str.length-suffix.length)!==-1;} 6157function stripSuffix(str,suffix){if(!endsWith(str,suffix))return str;return str.substring(str,str.length-suffix.length);} 6158let events=[];if(produceResult){for(let i=0;i<rawEvents.length;i++){let event=rawEvents[i];event=stripSuffix(event,'\\n\\');events.push(event);}}else{events=[rawEvents[rawEvents.length-1]];} 6159const oldLastEvent=events[events.length-1];const newLastEvent=stripSuffix(oldLastEvent,'\\n";');if(newLastEvent===oldLastEvent)return failure;events[events.length-1]=newLastEvent;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine};};FTraceImporter._extractEventsFromSystraceMultiHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!(new RegExp('^<!DOCTYPE HTML>','i').test(header)))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);let events=[];let eventsBeginAtLine;while(!/^# tracer:/.test(events)){if(!r.advanceToLineMatching(/^ <script class="trace-data" type="application\/text">$/)){return failure;} 6160eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^ <\/script>$/))return failure;events=r.endSavingLinesAndGetResult();events=events.slice(1,events.length-1);} 6161if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine,};};FTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'FTraceImporter';},get model(){return this.model_;},importClockSyncMarkers(){this.lazyInit_();this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;if(eventName!=='tracing_mark_write'&&eventName!=='0')return;if(traceEventClockSyncRE.exec(eventBase.details)||genericClockSyncRE.exec(eventBase.details)){this.traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase);}else if(realTimeClockSyncRE.exec(eventBase.details)){const match=realTimeClockSyncRE.exec(eventBase.details);this.model_.realtime_to_monotonic_offset_ms=ts-match[1];}}.bind(this));},importEvents(){const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);this.importCpuData_(modelTimeTransformer);this.buildMapFromLinuxPidsToThreads_();this.buildPerThreadCpuSlicesFromCpuState_();},registerEventHandler(eventName,handler){this.eventHandlers_[eventName]=handler;},getOrCreateCpu(cpuNumber){return this.model_.kernel.getOrCreateCpu(cpuNumber);},getOrCreateKernelThread(kernelThreadName,pid,tid){if(!this.kernelThreadStates_[kernelThreadName]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[kernelThreadName]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;} 6162return this.kernelThreadStates_[kernelThreadName];},getOrCreateBinderKernelThread(kernelThreadName,pid,tid){const key=kernelThreadName+pid+tid;if(!this.kernelThreadStates_[key]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[key]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;} 6163return this.kernelThreadStates_[key];},getOrCreatePseudoThread(threadName){let thread=this.kernelThreadStates_[threadName];if(!thread){thread=this.getOrCreateKernelThread(threadName,pseudoKernelPID,this.pseudoThreadCounter);this.pseudoThreadCounter++;} 6164return thread;},markPidRunnable(ts,pid,comm,prio,fromPid){this.wakeups_.push({ts,tid:pid,fromTid:fromPid});},addPidBlockedReason(ts,pid,iowait,caller){this.blockedReasons_.push({ts,tid:pid,iowait,caller});},buildMapFromLinuxPidsToThreads_(){this.threadsByLinuxPid={};this.model_.getAllThreads().forEach(function(thread){this.threadsByLinuxPid[thread.tid]=thread;}.bind(this));},buildPerThreadCpuSlicesFromCpuState_(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;for(const cpuNumber in this.model_.kernel.cpus){const cpu=this.model_.kernel.cpus[cpuNumber];for(let i=0;i<cpu.slices.length;i++){const cpuSlice=cpu.slices[i];const thread=this.threadsByLinuxPid[cpuSlice.args.tid];if(!thread)continue;cpuSlice.threadThatWasRunning=thread;if(!thread.tempCpuSlices){thread.tempCpuSlices=[];} 6165thread.tempCpuSlices.push(cpuSlice);}} 6166for(const i in this.wakeups_){const wakeup=this.wakeups_[i];const thread=this.threadsByLinuxPid[wakeup.tid];if(!thread)continue;thread.tempWakeups=thread.tempWakeups||[];thread.tempWakeups.push(wakeup);} 6167for(const i in this.blockedReasons_){const reason=this.blockedReasons_[i];const thread=this.threadsByLinuxPid[reason.tid];if(!thread)continue;thread.tempBlockedReasons=thread.tempBlockedReasons||[];thread.tempBlockedReasons.push(reason);} 6168this.model_.getAllThreads().forEach(function(thread){if(thread.tempCpuSlices===undefined)return;const origSlices=thread.tempCpuSlices;delete thread.tempCpuSlices;origSlices.sort(function(x,y){return x.start-y.start;});const wakeups=thread.tempWakeups||[];delete thread.tempWakeups;wakeups.sort(function(x,y){return x.ts-y.ts;});const reasons=thread.tempBlockedReasons||[];delete thread.tempBlockedReasons;reasons.sort(function(x,y){return x.ts-y.ts;});const slices=[];if(origSlices.length){const slice=origSlices[0];if(wakeups.length&&wakeups[0].ts<slice.start){const wakeup=wakeups.shift();const wakeupDuration=slice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));} 6169const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',slice.start,{},slice.duration);runningSlice.cpuOnWhichThreadWasRunning=slice.cpu;slices.push(runningSlice);} 6170let wakeup=undefined;for(let i=1;i<origSlices.length;i++){const prevSlice=origSlices[i-1];const nextSlice=origSlices[i];let midDuration=nextSlice.start-prevSlice.end;while(wakeups.length&&wakeups[0].ts<nextSlice.start){const w=wakeups.shift();if(wakeup===undefined&&w.ts>prevSlice.end){wakeup=w;}} 6171let blockedReason=undefined;while(reasons.length&&reasons[0].ts<prevSlice.end){const r=reasons.shift();} 6172if(wakeup!==undefined&&reasons.length&&reasons[0].ts<wakeup.ts){blockedReason=reasons.shift();} 6173const pushSleep=function(state){if(wakeup!==undefined){midDuration=wakeup.ts-prevSlice.end;} 6174if(blockedReason!==undefined){const args={'kernel callsite when blocked:':blockedReason.caller};if(blockedReason.iowait){switch(state){case SCHEDULING_STATE.UNINTR_SLEEP:state=SCHEDULING_STATE.UNINTR_SLEEP_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;default:}} 6175slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,args,midDuration));}else{slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,{},midDuration));} 6176if(wakeup!==undefined){const wakeupDuration=nextSlice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));wakeup=undefined;}};if(prevSlice.args.stateWhenDescheduled==='S'){pushSleep(SCHEDULING_STATE.SLEEPING);}else if(prevSlice.args.stateWhenDescheduled==='R'||prevSlice.args.stateWhenDescheduled==='R+'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP);}else if(prevSlice.args.stateWhenDescheduled==='T'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.STOPPED,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='t'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.DEBUG,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='Z'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.ZOMBIE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='X'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.EXIT_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='x'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.TASK_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='K'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKE_KILL,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='W'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKING,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D|K'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL);}else if(prevSlice.args.stateWhenDescheduled==='D|W'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKING);}else{slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.UNKNOWN,'',prevSlice.end,{},midDuration));this.model_.importWarning({type:'parse_error',message:'Unrecognized sleep state: '+ 6177prevSlice.args.stateWhenDescheduled});} 6178const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',nextSlice.start,{},nextSlice.duration);runningSlice.cpuOnWhichThreadWasRunning=prevSlice.cpu;slices.push(runningSlice);} 6179thread.timeSlices=slices;},this);},createParsers_(){const allTypeInfos=tr.e.importer.linux_perf.Parser.getAllRegisteredTypeInfos();const parsers=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);return parsers;},registerDefaultHandlers_(){this.registerEventHandler('tracing_mark_write',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('0',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('tracing_mark_write:trace_event_clock_sync',function(){return true;});this.registerEventHandler('0:trace_event_clock_sync',function(){return true;});},traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase){let event=/name=(\w+?)\s(.+)/.exec(eventBase.details);if(event){const name=event[1];const pieces=event[2].split(' ');const args={perfTs:ts};for(let i=0;i<pieces.length;i++){const parts=pieces[i].split('=');if(parts.length!==2){throw new Error('omgbbq');} 6180args[parts[0]]=parts[1];} 6181this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,name,ts);return true;} 6182event=/name=([\w\-]+)/.exec(eventBase.details);if(event){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,event[1],ts);return true;} 6183event=/parent_ts=(\d+\.?\d*)/.exec(eventBase.details);if(!event)return false;let monotonicTs=event[1]*1000;if(monotonicTs===0)monotonicTs=ts;if(this.haveClockSyncedMonotonicToGlobal_){return true;} 6184this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,ts);this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.LINUX_CLOCK_MONOTONIC,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,monotonicTs);this.haveClockSyncedMonotonicToGlobal_=true;return true;},traceMarkingWriteEvent_(eventName,cpuNumber,pid,ts,eventBase,threadName){eventBase.details=eventBase.details.replace(/\\n.*$/,'');const event=/^\s*(\w+):\s*(.*)$/.exec(eventBase.details);if(!event){const tag=eventBase.details.substring(0,2);if(tag==='B|'||tag==='E'||tag==='E|'||tag==='X|'||tag==='C|'||tag==='S|'||tag==='F|'){eventBase.subEventName='android';}else{return false;}}else{eventBase.subEventName=event[1];eventBase.details=event[2];} 6185const writeEventName=eventName+':'+eventBase.subEventName;const handler=this.eventHandlers_[writeEventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown trace_marking_write event '+writeEventName});return true;} 6186return handler(writeEventName,cpuNumber,pid,ts,eventBase,threadName);},importCpuData_(modelTimeTransformer){this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;const handler=this.eventHandlers_[eventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown event '+eventName+' ('+text+')'});return;} 6187ts=modelTimeTransformer(ts);if(!handler(eventName,cpuNumber,pid,ts,eventBase)){this.model_.importWarning({type:'parse_error',message:'Malformed '+eventName+' event ('+text+')'});}}.bind(this));},parseLines_(){let extractResult=FTraceImporter._extractEventsFromSystraceHTML(this.events_,true);if(!extractResult.ok){extractResult=FTraceImporter._extractEventsFromSystraceMultiHTML(this.events_,true);} 6188let lineParser=undefined;if(extractResult.ok){for(const line of extractResult.lines){lineParser=this.parseLine_(line,lineParser);}}else{const r=new tr.importer.SimpleLineReader(this.events_);for(const line of r){lineParser=this.parseLine_(line,lineParser);}}},parseLine_(line,lineParser){line=line.trim();if(line.length===0)return lineParser;if(/^#/.test(line)){const clockType=/^# clock_type=([A-Z_]+)$/.exec(line);if(clockType){this.clockDomainId_=clockType[1];} 6189return lineParser;} 6190if(!lineParser){lineParser=autoDetectLineParser(line);if(!lineParser){this.model_.importWarning({type:'parse_error',message:'Cannot parse line: '+line});return lineParser;}} 6191const eventBase=lineParser(line);if(!eventBase){this.model_.importWarning({type:'parse_error',message:'Unrecognized line: '+line});return lineParser;} 6192this.lines_.push([line,eventBase,parseInt(eventBase.cpuNumber),parseInt(eventBase.pid),parseFloat(eventBase.timestamp)*1000]);return lineParser;},forEachLine_(handler){for(let i=0;i<this.lines_.length;++i){const line=this.lines_[i];handler.apply(this,line);}},lazyInit_(){this.parsers_=this.createParsers_();this.registerDefaultHandlers_();this.parseLines_();}};tr.importer.Importer.register(FTraceImporter);return{FTraceImporter,_FTraceImporterTestExports:TestExports};});'use strict';function filterDuplicateTimestamps(timestamps){const dedupedTimestamps=[];let lastTs=0;for(const ts of timestamps){if(ts-lastTs>=1){dedupedTimestamps.push(ts);lastTs=ts;}} 6193return dedupedTimestamps;} 6194tr.exportTo('tr.e.audits',function(){const VSYNC_COUNTER_PRECISIONS={'android.VSYNC-app':15,'android.VSYNC':15};const VSYNC_SLICE_PRECISIONS={'RenderWidgetHostViewAndroid::OnVSync':5,'VSYNC':10,'vblank':10,'DisplayLinkMac::GetVSyncParameters':5};const BEGIN_FRAME_SLICE_PRECISION={'DisplayScheduler::BeginFrame':10};function VSyncAuditor(model){tr.c.Auditor.call(this,model);} 6195VSyncAuditor.prototype={__proto__:tr.c.Auditor.prototype,runAnnotate(){this.model.device.vSyncTimestamps=this.findVSyncTimestamps(this.model);},findVSyncTimestamps(model){let times=[];let maxPrecision=Number.NEGATIVE_INFINITY;let maxTitle=undefined;function useInstead(title,precisions){const precision=precisions[title];if(precision===undefined)return false;if(title===maxTitle)return true;if(precision<=maxPrecision){if(precision===maxPrecision){model.importWarning({type:'VSyncAuditor',message:'Encountered two different VSync events ('+ 6196maxTitle+', '+title+') with the same precision, '+'ignoring the newer one ('+title+')',showToUser:false,});} 6197return false;} 6198maxPrecision=precision;maxTitle=title;times=[];return true;} 6199for(const pid in model.processes){const process=model.processes[pid];for(const cid in process.counters){if(useInstead(cid,VSYNC_COUNTER_PRECISIONS)){const counter=process.counters[cid];for(let i=0;i<counter.series.length;i++){const series=counter.series[i];Array.prototype.push.apply(times,series.timestamps);}}} 6200for(const tid in process.threads){const thread=process.threads[tid];for(let i=0;i<thread.sliceGroup.slices.length;i++){const slice=thread.sliceGroup.slices[i];if(useInstead(slice.title,VSYNC_SLICE_PRECISIONS)){times.push(slice.start);}else if(useInstead(slice.title,BEGIN_FRAME_SLICE_PRECISION)&&slice.args.args&&slice.args.args.frame_time_us){times.push(slice.args.args.frame_time_us/1000.0);}}}} 6201times.sort(function(x,y){return x-y;});return filterDuplicateTimestamps(times);}};tr.c.Auditor.register(VSyncAuditor);return{VSyncAuditor,};});'use strict';tr.exportTo('tr.importer',function(){function EmptyImporter(events){this.importPriority=0;} 6202EmptyImporter.canImport=function(eventData){if(eventData instanceof Array&&eventData.length===0){return true;} 6203if(typeof(eventData)==='string'||eventData instanceof String){return eventData.length===0;} 6204return false;};EmptyImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EmptyImporter';}};tr.importer.Importer.register(EmptyImporter);return{EmptyImporter,};});'use strict';tr.exportTo('tr.model.um',function(){function AnimationExpectation(parentModel,initiatorTitle,start,duration){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.frameEvents_=undefined;} 6205AnimationExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:AnimationExpectation,get frameEvents(){if(this.frameEvents_){return this.frameEvents_;} 6206this.frameEvents_=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){this.frameEvents_.push(event);}},this);return this.frameEvents_;}};tr.model.um.UserExpectation.subTypes.register(AnimationExpectation,{stageTitle:'Animation',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_animation')});return{AnimationExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function ProtoExpectation(type,initiatorType){this.type=type;this.initiatorType=initiatorType;this.start=Infinity;this.end=-Infinity;this.associatedEvents=new tr.model.EventSet();this.isAnimationBegin=false;} 6207ProtoExpectation.RESPONSE_TYPE='r';ProtoExpectation.ANIMATION_TYPE='a';ProtoExpectation.IGNORED_TYPE='ignored';const INITIATOR_HIERARCHY=[tr.model.um.INITIATOR_TYPE.PINCH,tr.model.um.INITIATOR_TYPE.FLING,tr.model.um.INITIATOR_TYPE.MOUSE_WHEEL,tr.model.um.INITIATOR_TYPE.SCROLL,tr.model.um.INITIATOR_TYPE.VIDEO,tr.model.um.INITIATOR_TYPE.WEBGL,tr.model.um.INITIATOR_TYPE.CSS,tr.model.um.INITIATOR_TYPE.MOUSE,tr.model.um.INITIATOR_TYPE.KEYBOARD,tr.model.um.INITIATOR_TYPE.TAP,tr.model.um.INITIATOR_TYPE.TOUCH];function combineInitiatorTypes(title1,title2){for(const item of INITIATOR_HIERARCHY){if(title1===item||title2===item)return item;} 6208throw new Error('Invalid titles in combineInitiatorTypes');} 6209ProtoExpectation.prototype={get isValid(){return this.end>this.start;},containsTypeNames(typeNames){return this.associatedEvents.some(x=>typeNames.indexOf(x.typeName)>=0);},containsSliceTitle(title){return this.associatedEvents.some(x=>title===x.title);},createInteractionRecord(model){if(this.type!==ProtoExpectation.IGNORED_TYPE&&!this.isValid){model.importWarning({type:'ProtoExpectation',message:'Please file a bug with this trace. '+this.debug(),showToUser:true});return undefined;} 6210const duration=this.end-this.start;let ir=undefined;switch(this.type){case ProtoExpectation.RESPONSE_TYPE:ir=new tr.model.um.ResponseExpectation(model,this.initiatorType,this.start,duration,this.isAnimationBegin);break;case ProtoExpectation.ANIMATION_TYPE:ir=new tr.model.um.AnimationExpectation(model,this.initiatorType,this.start,duration);break;} 6211if(!ir)return undefined;ir.sourceEvents.addEventSet(this.associatedEvents);function pushAssociatedEvents(event){ir.associatedEvents.push(event);if(event.associatedEvents){ir.associatedEvents.addEventSet(event.associatedEvents);}} 6212this.associatedEvents.forEach(function(event){pushAssociatedEvents(event);if(event.subSlices){event.subSlices.forEach(pushAssociatedEvents);}});return ir;},merge(other){this.initiatorType=combineInitiatorTypes(this.initiatorType,other.initiatorType);this.associatedEvents.addEventSet(other.associatedEvents);this.start=Math.min(this.start,other.start);this.end=Math.max(this.end,other.end);if(other.isAnimationBegin){this.isAnimationBegin=true;}},pushEvent(event){this.start=Math.min(this.start,event.start);this.end=Math.max(this.end,event.end);this.associatedEvents.push(event);},containsTimestampInclusive(timestamp){return(this.start<=timestamp)&&(timestamp<=this.end);},intersects(other){return(other.start<this.end)&&(other.end>this.start);},isNear(event,threshold){return(this.end+threshold)>event.start;},debug(){let debugString=this.type+'(';debugString+=parseInt(this.start)+' ';debugString+=parseInt(this.end);this.associatedEvents.forEach(function(event){debugString+=' '+event.typeName;});return debugString+')';}};return{ProtoExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const ProtoExpectation=tr.importer.ProtoExpectation;const INITIATOR_TYPE=tr.model.um.INITIATOR_TYPE;const INPUT_TYPE=tr.e.cc.INPUT_EVENT_TYPE_NAMES;const KEYBOARD_TYPE_NAMES=[INPUT_TYPE.CHAR,INPUT_TYPE.KEY_DOWN_RAW,INPUT_TYPE.KEY_DOWN,INPUT_TYPE.KEY_UP];const MOUSE_RESPONSE_TYPE_NAMES=[INPUT_TYPE.CLICK,INPUT_TYPE.CONTEXT_MENU];const MOUSE_WHEEL_TYPE_NAMES=[INPUT_TYPE.MOUSE_WHEEL];const MOUSE_DRAG_TYPE_NAMES=[INPUT_TYPE.MOUSE_DOWN,INPUT_TYPE.MOUSE_MOVE,INPUT_TYPE.MOUSE_UP];const TAP_TYPE_NAMES=[INPUT_TYPE.TAP,INPUT_TYPE.TAP_CANCEL,INPUT_TYPE.TAP_DOWN];const PINCH_TYPE_NAMES=[INPUT_TYPE.PINCH_BEGIN,INPUT_TYPE.PINCH_END,INPUT_TYPE.PINCH_UPDATE];const FLING_TYPE_NAMES=[INPUT_TYPE.FLING_CANCEL,INPUT_TYPE.FLING_START];const TOUCH_TYPE_NAMES=[INPUT_TYPE.TOUCH_END,INPUT_TYPE.TOUCH_MOVE,INPUT_TYPE.TOUCH_START];const SCROLL_TYPE_NAMES=[INPUT_TYPE.SCROLL_BEGIN,INPUT_TYPE.SCROLL_END,INPUT_TYPE.SCROLL_UPDATE];const ALL_HANDLED_TYPE_NAMES=[].concat(KEYBOARD_TYPE_NAMES,MOUSE_RESPONSE_TYPE_NAMES,MOUSE_WHEEL_TYPE_NAMES,MOUSE_DRAG_TYPE_NAMES,PINCH_TYPE_NAMES,TAP_TYPE_NAMES,FLING_TYPE_NAMES,TOUCH_TYPE_NAMES,SCROLL_TYPE_NAMES);const RENDERER_FLING_TITLE='InputHandlerProxy::HandleGestureFling::started';const PLAYBACK_EVENT_TITLE='VideoPlayback';const CSS_ANIMATION_TITLE='Animation';const INPUT_MERGE_THRESHOLD_MS=200;const ANIMATION_MERGE_THRESHOLD_MS=32;const MOUSE_WHEEL_THRESHOLD_MS=40;const MOUSE_MOVE_THRESHOLD_MS=40;function compareEvents(x,y){if(x.start!==y.start){return x.start-y.start;} 6213if(x.end!==y.end){return x.end-y.end;} 6214if(x.guid&&y.guid){return x.guid-y.guid;} 6215return 0;} 6216function forEventTypesIn(events,typeNames,cb,opt_this){events.forEach(function(event){if(typeNames.indexOf(event.typeName)>=0){cb.call(opt_this,event);}});} 6217function causedFrame(event){return event.associatedEvents.some(x=>x.title===tr.model.helpers.IMPL_RENDERING_STATS);} 6218function getSortedFrameEventsByProcess(modelHelper){const frameEventsByPid={};for(const[pid,rendererHelper]of 6219Object.entries(modelHelper.rendererHelpers)){frameEventsByPid[pid]=rendererHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds);} 6220return frameEventsByPid;} 6221function getSortedInputEvents(modelHelper){const inputEvents=[];const browserProcess=modelHelper.browserHelper.process;const mainThread=browserProcess.findAtMostOneThreadNamed('CrBrowserMain');for(const slice of mainThread.asyncSliceGroup.getDescendantEvents()){if(!slice.isTopLevel)continue;if(!(slice instanceof tr.e.cc.InputLatencyAsyncSlice))continue;if(isNaN(slice.start)||isNaN(slice.duration)||isNaN(slice.end)){continue;} 6222inputEvents.push(slice);} 6223return inputEvents.sort(compareEvents);} 6224function findProtoExpectations(modelHelper,sortedInputEvents){const protoExpectations=[];const handlers=[handleKeyboardEvents,handleMouseResponseEvents,handleMouseWheelEvents,handleMouseDragEvents,handleTapResponseEvents,handlePinchEvents,handleFlingEvents,handleTouchEvents,handleScrollEvents,handleCSSAnimations,handleWebGLAnimations,handleVideoAnimations];handlers.forEach(function(handler){protoExpectations.push.apply(protoExpectations,handler(modelHelper,sortedInputEvents));});protoExpectations.sort(compareEvents);return protoExpectations;} 6225function handleKeyboardEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,KEYBOARD_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.KEYBOARD);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;} 6226function handleMouseResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,MOUSE_RESPONSE_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;} 6227function handleMouseWheelEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let prevEvent_=undefined;forEventTypesIn(sortedInputEvents,MOUSE_WHEEL_TYPE_NAMES,function(event){const prevEvent=prevEvent_;prevEvent_=event;if(currentPE&&(prevEvent.start+MOUSE_WHEEL_THRESHOLD_MS)>=event.start){if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6228return;} 6229currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);});return protoExpectations;} 6230function handleMouseDragEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let mouseDownEvent=undefined;forEventTypesIn(sortedInputEvents,MOUSE_DRAG_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.MOUSE_DOWN:if(causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);}else{mouseDownEvent=event;} 6231break;case INPUT_TYPE.MOUSE_MOVE:if(!causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}else if(!currentPE||!currentPE.isNear(event,MOUSE_MOVE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);mouseDownEvent=undefined;} 6232protoExpectations.push(currentPE);}else{if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);protoExpectations.push(currentPE);}} 6233break;case INPUT_TYPE.MOUSE_UP:if(!mouseDownEvent){const pe=new ProtoExpectation(causedFrame(event)?ProtoExpectation.RESPONSE_TYPE:ProtoExpectation.IGNORED_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6234if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);} 6235currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6236mouseDownEvent=undefined;currentPE=undefined;break;}});if(mouseDownEvent){currentPE=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);currentPE.pushEvent(mouseDownEvent);protoExpectations.push(currentPE);} 6237return protoExpectations;} 6238function handleTapResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;forEventTypesIn(sortedInputEvents,TAP_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TAP_DOWN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;case INPUT_TYPE.TAP:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6239currentPE=undefined;break;case INPUT_TYPE.TAP_CANCEL:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6240if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6241currentPE=undefined;break;}});return protoExpectations;} 6242function handlePinchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;const modelBounds=modelHelper.model.bounds;forEventTypesIn(sortedInputEvents,PINCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.PINCH_BEGIN:if(currentPE&¤tPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);break;} 6243currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.PINCH_UPDATE:if(!currentPE||((currentPE.type===ProtoExpectation.RESPONSE_TYPE)&&sawFirstUpdate)||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstUpdate=true;} 6244break;case INPUT_TYPE.PINCH_END:if(currentPE){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);} 6245currentPE=undefined;break;}});return protoExpectations;} 6246function handleFlingEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;function isRendererFling(event){return event.title===RENDERER_FLING_TITLE;} 6247const browserHelper=modelHelper.browserHelper;const flingEvents=browserHelper.getAllAsyncSlicesMatching(isRendererFling);forEventTypesIn(sortedInputEvents,FLING_TYPE_NAMES,function(event){flingEvents.push(event);});flingEvents.sort(compareEvents);flingEvents.forEach(function(event){if(event.title===RENDERER_FLING_TITLE){if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6248return;} 6249switch(event.typeName){case INPUT_TYPE.FLING_START:if(currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: FlingStart',showToUser:true});currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);currentPE.end=0;protoExpectations.push(currentPE);} 6250break;case INPUT_TYPE.FLING_CANCEL:if(currentPE){currentPE.pushEvent(event);currentPE.end=event.start;currentPE=undefined;}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);} 6251break;}});if(currentPE&&!currentPE.end){currentPE.end=modelHelper.model.bounds.max;} 6252return protoExpectations;} 6253function handleTouchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstMove=false;forEventTypesIn(sortedInputEvents,TOUCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TOUCH_START:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstMove=false;} 6254break;case INPUT_TYPE.TOUCH_MOVE:if(!currentPE){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;} 6255if((sawFirstMove&&(currentPE.type===ProtoExpectation.RESPONSE_TYPE))||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){const prevEnd=currentPE.end;currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.start=prevEnd;protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstMove=true;} 6256break;case INPUT_TYPE.TOUCH_END:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6257if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);} 6258currentPE=undefined;break;}});return protoExpectations;} 6259function handleScrollEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;forEventTypesIn(sortedInputEvents,SCROLL_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.SCROLL_BEGIN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.SCROLL_UPDATE:if(currentPE){if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)&&((currentPE.type===ProtoExpectation.ANIMATION_TYPE)||!sawFirstUpdate)){currentPE.pushEvent(event);sawFirstUpdate=true;}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6260break;case INPUT_TYPE.SCROLL_END:if(!currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: ScrollEnd',showToUser:true});const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6261currentPE.pushEvent(event);break;}});return protoExpectations;} 6262function handleVideoAnimations(modelHelper,sortedInputEvents){const events=[];for(const pid in modelHelper.rendererHelpers){for(const tid in modelHelper.rendererHelpers[pid].process.threads){for(const asyncSlice of 6263modelHelper.rendererHelpers[pid].process.threads[tid].asyncSliceGroup.slices){if(asyncSlice.title===PLAYBACK_EVENT_TITLE){events.push(asyncSlice);}}}} 6264events.sort(tr.importer.compareEvents);const protoExpectations=[];for(const event of events){const currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.VIDEO);currentPE.start=event.start;currentPE.end=event.end;currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6265return protoExpectations;} 6266function handleCSSAnimations(modelHelper,sortedInputEvents){const animationEvents=modelHelper.browserHelper.getAllAsyncSlicesMatching(function(event){return((event.title===CSS_ANIMATION_TITLE)&&event.isTopLevel&&(event.duration>0));});const animationRanges=[];function pushAnimationRange(start,end,animation){const range=tr.b.math.Range.fromExplicitRange(start,end);range.animation=animation;animationRanges.push(range);} 6267animationEvents.forEach(function(animation){if(animation.subSlices.length===0){pushAnimationRange(animation.start,animation.end,animation);}else{let start=undefined;animation.subSlices.forEach(function(sub){if((sub.args.data.state==='running')&&(start===undefined)){start=sub.start;}else if((sub.args.data.state==='paused')||(sub.args.data.state==='idle')||(sub.args.data.state==='finished')){if(start===undefined){start=modelHelper.model.bounds.min;} 6268pushAnimationRange(start,sub.start,animation);start=undefined;}});if(start!==undefined){pushAnimationRange(start,animation.end,animation);}}});return animationRanges.map(function(range){const protoExpectation=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.CSS);protoExpectation.start=range.min;protoExpectation.end=range.max;protoExpectation.associatedEvents.push(range.animation);return protoExpectation;});} 6269function findWebGLEvents(modelHelper,mailboxEvents,animationEvents){for(const event of modelHelper.model.getDescendantEvents()){if(event.title==='DrawingBuffer::prepareMailbox'){mailboxEvents.push(event);}else if(event.title==='PageAnimator::serviceScriptedAnimations'){animationEvents.push(event);}}} 6270function findMailboxEventsNearAnimationEvents(mailboxEvents,animationEvents){if(animationEvents.length===0)return[];mailboxEvents.sort(compareEvents);animationEvents.sort(compareEvents);const animationIterator=animationEvents[Symbol.iterator]();let animationEvent=animationIterator.next().value;const filteredEvents=[];for(const event of mailboxEvents){while(animationEvent&&(animationEvent.start<(event.start-ANIMATION_MERGE_THRESHOLD_MS))){animationEvent=animationIterator.next().value;} 6271if(!animationEvent)break;if(animationEvent.start<(event.start+ANIMATION_MERGE_THRESHOLD_MS)){filteredEvents.push(event);}} 6272return filteredEvents;} 6273function createProtoExpectationsFromMailboxEvents(mailboxEvents){const protoExpectations=[];let currentPE=undefined;for(const event of mailboxEvents){if(currentPE===undefined||!currentPE.isNear(event,ANIMATION_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.WEBGL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);}} 6274return protoExpectations;} 6275function handleWebGLAnimations(modelHelper,sortedInputEvents){const prepareMailboxEvents=[];const scriptedAnimationEvents=[];findWebGLEvents(modelHelper,prepareMailboxEvents,scriptedAnimationEvents);const webGLMailboxEvents=findMailboxEventsNearAnimationEvents(prepareMailboxEvents,scriptedAnimationEvents);return createProtoExpectationsFromMailboxEvents(webGLMailboxEvents);} 6276function postProcessProtoExpectations(modelHelper,protoExpectations){protoExpectations=findFrameEventsForAnimations(modelHelper,protoExpectations);protoExpectations=mergeIntersectingResponses(protoExpectations);protoExpectations=mergeIntersectingAnimations(protoExpectations);protoExpectations=fixResponseAnimationStarts(protoExpectations);protoExpectations=fixTapResponseTouchAnimations(protoExpectations);return protoExpectations;} 6277function mergeIntersectingResponses(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.RESPONSE_TYPE)continue;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if(!otherPE.intersects(pe))continue;const typeNames=pe.associatedEvents.map(function(event){return event.typeName;});if(otherPE.containsTypeNames(typeNames))continue;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}} 6278return newPEs;} 6279function mergeIntersectingAnimations(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.ANIMATION_TYPE)continue;const isCSS=pe.initiatorType===INITIATOR_TYPE.CSS;const isFling=pe.containsTypeNames([INPUT_TYPE.FLING_START]);const isVideo=pe.initiatorType===INITIATOR_TYPE.VIDEO;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if((isCSS&&otherPE.initiatorType!==INITIATOR_TYPE.CSS)||isFling!==otherPE.containsTypeNames([INPUT_TYPE.FLING_START])||isVideo&&otherPE.initiatorType!==INITIATOR_TYPE.VIDEO){continue;} 6280if(isCSS){if(!pe.isNear(otherPE,ANIMATION_MERGE_THRESHOLD_MS)){continue;}}else if(!otherPE.intersects(pe)){continue;} 6281pe.merge(otherPE);protoExpectations.splice(i,1);--i;}} 6282return newPEs;} 6283function fixResponseAnimationStarts(protoExpectations){protoExpectations.forEach(function(ape){if(ape.type!==ProtoExpectation.ANIMATION_TYPE){return;} 6284protoExpectations.forEach(function(rpe){if(rpe.type!==ProtoExpectation.RESPONSE_TYPE){return;} 6285if(!ape.containsTimestampInclusive(rpe.end)){return;} 6286if(ape.containsTimestampInclusive(rpe.start)){return;} 6287ape.start=rpe.end;});});return protoExpectations;} 6288function fixTapResponseTouchAnimations(protoExpectations){function isTapResponse(pe){return(pe.type===ProtoExpectation.RESPONSE_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TAP]);} 6289function isTouchAnimation(pe){return(pe.type===ProtoExpectation.ANIMATION_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TOUCH_MOVE])&&!pe.containsTypeNames([INPUT_TYPE.SCROLL_UPDATE,INPUT_TYPE.PINCH_UPDATE]);} 6290const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);const peIsTapResponse=isTapResponse(pe);const peIsTouchAnimation=isTouchAnimation(pe);if(!peIsTapResponse&&!peIsTouchAnimation){continue;} 6291for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(!otherPE.intersects(pe))continue;if(peIsTapResponse&&!isTouchAnimation(otherPE))continue;if(peIsTouchAnimation&&!isTapResponse(otherPE))continue;pe.type=ProtoExpectation.RESPONSE_TYPE;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}} 6292return newPEs;} 6293function findFrameEventsForAnimations(modelHelper,protoExpectations){const newPEs=[];const frameEventsByPid=getSortedFrameEventsByProcess(modelHelper);for(const pe of protoExpectations){if(pe.type!==ProtoExpectation.ANIMATION_TYPE){newPEs.push(pe);continue;} 6294const frameEvents=[];for(const pid of Object.keys(modelHelper.rendererHelpers)){const range=tr.b.math.Range.fromExplicitRange(pe.start,pe.end);frameEvents.push.apply(frameEvents,range.filterArray(frameEventsByPid[pid],e=>e.start));} 6295if(frameEvents.length===0&&!(pe.initiatorType===INITIATOR_TYPE.WEBGL)){pe.type=ProtoExpectation.IGNORED_TYPE;newPEs.push(pe);continue;} 6296pe.associatedEvents.addEventSet(frameEvents);newPEs.push(pe);} 6297return newPEs;} 6298function checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations){const handledEvents=[];protoExpectations.forEach(function(protoExpectation){protoExpectation.associatedEvents.forEach(function(event){if((event.title===CSS_ANIMATION_TITLE)&&(event.subSlices.length>0)){return;} 6299if((handledEvents.indexOf(event)>=0)&&(event.title!==tr.model.helpers.IMPL_RENDERING_STATS)){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});return;} 6300handledEvents.push(event);});});sortedInputEvents.forEach(function(event){if(handledEvents.indexOf(event)<0){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});}});} 6301function findInputExpectations(modelHelper){const sortedInputEvents=getSortedInputEvents(modelHelper);let protoExpectations=findProtoExpectations(modelHelper,sortedInputEvents);protoExpectations=postProcessProtoExpectations(modelHelper,protoExpectations);checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations);const expectations=[];protoExpectations.forEach(function(protoExpectation){const ir=protoExpectation.createInteractionRecord(modelHelper.model);if(ir){expectations.push(ir);}});return expectations;} 6302return{findInputExpectations,compareEvents,CSS_ANIMATION_TITLE,};});'use strict';tr.exportTo('tr.model.um',function(){const LOAD_SUBTYPE_NAMES={SUCCESSFUL:'Successful',FAILED:'Failed',};const DOES_LOAD_SUBTYPE_NAME_EXIST={};for(const key in LOAD_SUBTYPE_NAMES){DOES_LOAD_SUBTYPE_NAME_EXIST[LOAD_SUBTYPE_NAMES[key]]=true;} 6303function LoadExpectation(parentModel,initiatorTitle,start,duration){if(!DOES_LOAD_SUBTYPE_NAME_EXIST[initiatorTitle]){throw new Error(initiatorTitle+' is not in LOAD_SUBTYPE_NAMES');} 6304tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.renderProcess=undefined;this.renderMainThread=undefined;this.routingId=undefined;this.parentRoutingId=undefined;this.loadFinishedEvent=undefined;} 6305LoadExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:LoadExpectation};tr.model.um.UserExpectation.subTypes.register(LoadExpectation,{stageTitle:'Load',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_load')});return{LOAD_SUBTYPE_NAMES,LoadExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const NAVIGATION_START='NavigationTiming navigationStart';const FIRST_CONTENTFUL_PAINT_TITLE='firstContentfulPaint';function findLoadExpectations(modelHelper){const events=[];for(const event of modelHelper.model.getDescendantEvents()){if((event.title===NAVIGATION_START)||(event.title===FIRST_CONTENTFUL_PAINT_TITLE)){events.push(event);}} 6306events.sort(tr.importer.compareEvents);const loads=[];let startEvent=undefined;for(const event of events){if(event.title===NAVIGATION_START){startEvent=event;}else if(event.title===FIRST_CONTENTFUL_PAINT_TITLE){if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,event.start-startEvent.start));startEvent=undefined;}}} 6307if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,modelHelper.model.bounds.max-startEvent.start));} 6308return loads;} 6309return{findLoadExpectations,};});'use strict';tr.exportTo('tr.model.um',function(){function StartupExpectation(parentModel,start,duration){tr.model.um.UserExpectation.call(this,parentModel,'',start,duration);} 6310StartupExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:StartupExpectation};tr.model.um.UserExpectation.subTypes.register(StartupExpectation,{stageTitle:'Startup',colorId:tr.b.ColorScheme.getColorIdForReservedName('startup')});return{StartupExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function getAllFrameEvents(modelHelper){const frameEvents=[];frameEvents.push.apply(frameEvents,modelHelper.browserHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));for(const renderer of Object.values(modelHelper.rendererHelpers)){frameEvents.push.apply(frameEvents,renderer.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));} 6311return frameEvents.sort(tr.importer.compareEvents);} 6312function getStartupEvents(modelHelper){function isStartupSlice(slice){return slice.title==='BrowserMainLoop::CreateThreads';} 6313const events=modelHelper.browserHelper.getAllAsyncSlicesMatching(isStartupSlice);const deduper=new tr.model.EventSet();events.forEach(function(event){const sliceGroup=event.parentContainer.sliceGroup;const slice=sliceGroup&&sliceGroup.findFirstSlice();if(slice){deduper.push(slice);}});return deduper.toArray();} 6314function findStartupExpectations(modelHelper){const openingEvents=getStartupEvents(modelHelper);const closingEvents=getAllFrameEvents(modelHelper);const startups=[];openingEvents.forEach(function(openingEvent){closingEvents.forEach(function(closingEvent){if(openingEvent.closingEvent)return;if(closingEvent.openingEvent)return;if(closingEvent.start<=openingEvent.start)return;if(openingEvent.parentContainer.parent.pid!==closingEvent.parentContainer.parent.pid){return;} 6315openingEvent.closingEvent=closingEvent;closingEvent.openingEvent=openingEvent;const se=new tr.model.um.StartupExpectation(modelHelper.model,openingEvent.start,closingEvent.end-openingEvent.start);se.associatedEvents.push(openingEvent);se.associatedEvents.push(closingEvent);startups.push(se);});});return startups;} 6316return{findStartupExpectations,};});'use strict';tr.exportTo('tr.model',function(){function getAssociatedEvents(irs){const allAssociatedEvents=new tr.model.EventSet();irs.forEach(function(ir){ir.associatedEvents.forEach(function(event){if(event instanceof tr.model.FlowEvent)return;allAssociatedEvents.push(event);});});return allAssociatedEvents;} 6317function getUnassociatedEvents(model,associatedEvents){const unassociatedEvents=new tr.model.EventSet();for(const proc of model.getAllProcesses()){for(const thread of Object.values(proc.threads)){for(const event of thread.sliceGroup.getDescendantEvents()){if(!associatedEvents.contains(event)){unassociatedEvents.push(event);}}}} 6318return unassociatedEvents;} 6319function getTotalCpuDuration(events){let cpuMs=0;events.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;} 6320function getIRCoverageFromModel(model){const associatedEvents=getAssociatedEvents(model.userModel.expectations);if(!associatedEvents.length)return undefined;const unassociatedEvents=getUnassociatedEvents(model,associatedEvents);const associatedCpuMs=getTotalCpuDuration(associatedEvents);const unassociatedCpuMs=getTotalCpuDuration(unassociatedEvents);const totalEventCount=associatedEvents.length+unassociatedEvents.length;const totalCpuMs=associatedCpuMs+unassociatedCpuMs;let coveredEventsCpuTimeRatio=undefined;if(totalCpuMs!==0){coveredEventsCpuTimeRatio=associatedCpuMs/totalCpuMs;} 6321return{associatedEventsCount:associatedEvents.length,unassociatedEventsCount:unassociatedEvents.length,associatedEventsCpuTimeMs:associatedCpuMs,unassociatedEventsCpuTimeMs:unassociatedCpuMs,coveredEventsCountRatio:associatedEvents.length/totalEventCount,coveredEventsCpuTimeRatio};} 6322return{getIRCoverageFromModel,getAssociatedEvents,getUnassociatedEvents,};});'use strict';tr.exportTo('tr.model.um',function(){function IdleExpectation(parentModel,start,duration){const initiatorTitle='';tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);} 6323IdleExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:IdleExpectation};tr.model.um.UserExpectation.subTypes.register(IdleExpectation,{stageTitle:'Idle',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_idle')});return{IdleExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const INSIGNIFICANT_MS=1;class UserModelBuilder{constructor(model){this.model=model;this.modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);} 6324static supportsModelHelper(modelHelper){return modelHelper.browserHelper!==undefined;} 6325buildUserModel(){if(!this.modelHelper||!this.modelHelper.browserHelper)return;try{for(const ue of this.findUserExpectations()){this.model.userModel.expectations.push(ue);} 6326this.model.userModel.segments.push(...this.findSegments());}catch(error){this.model.importWarning({type:'UserModelBuilder',message:error,showToUser:true});}} 6327findSegments(){let timestamps=new Set();for(const expectation of this.model.userModel.expectations){timestamps.add(expectation.start);timestamps.add(expectation.end);} 6328timestamps=[...timestamps];timestamps.sort((x,y)=>x-y);const segments=[];for(let i=0;i<timestamps.length-1;++i){const segment=new tr.model.um.Segment(timestamps[i],timestamps[i+1]-timestamps[i]);segments.push(segment);const segmentRange=tr.b.math.Range.fromExplicitRange(segment.start,segment.end);for(const expectation of this.model.userModel.expectations){const expectationRange=tr.b.math.Range.fromExplicitRange(expectation.start,expectation.end);if(segmentRange.intersectsRangeExclusive(expectationRange)){segment.expectations.push(expectation);}}} 6329return segments;} 6330findUserExpectations(){const expectations=[];expectations.push.apply(expectations,tr.importer.findStartupExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findLoadExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findInputExpectations(this.modelHelper));expectations.push.apply(expectations,this.findIdleExpectations(expectations));this.collectUnassociatedEvents_(expectations);return expectations;} 6331collectUnassociatedEvents_(expectations){const vacuumUEs=[];for(const expectation of expectations){if(expectation instanceof tr.model.um.IdleExpectation||expectation instanceof tr.model.um.LoadExpectation||expectation instanceof tr.model.um.StartupExpectation){vacuumUEs.push(expectation);}} 6332if(vacuumUEs.length===0)return;const allAssociatedEvents=tr.model.getAssociatedEvents(expectations);const unassociatedEvents=tr.model.getUnassociatedEvents(this.model,allAssociatedEvents);for(const event of unassociatedEvents){if(!(event instanceof tr.model.ThreadSlice))continue;if(!event.isTopLevel)continue;for(let index=0;index<vacuumUEs.length;++index){const expectation=vacuumUEs[index];if((event.start>=expectation.start)&&(event.start<expectation.end)){expectation.associatedEvents.addEventSet(event.entireHierarchy);break;}}}} 6333findIdleExpectations(otherUEs){if(this.model.bounds.isEmpty)return;const emptyRanges=tr.b.math.findEmptyRangesBetweenRanges(tr.b.math.convertEventsToRanges(otherUEs),this.model.bounds);const expectations=[];const model=this.model;for(const range of emptyRanges){if(range.max<(range.min+INSIGNIFICANT_MS))continue;expectations.push(new tr.model.um.IdleExpectation(model,range.min,range.max-range.min));} 6334return expectations;}} 6335function createCustomizeModelLinesFromModel(model){const modelLines=[];modelLines.push(' audits.addEvent(model.browserMain,');modelLines.push(' {title: \'model start\', start: 0, end: 1});');const typeNames={};for(const typeName in tr.e.cc.INPUT_EVENT_TYPE_NAMES){typeNames[tr.e.cc.INPUT_EVENT_TYPE_NAMES[typeName]]=typeName;} 6336let modelEvents=new tr.model.EventSet();for(const ue of model.userModel.expectations){modelEvents.addEventSet(ue.sourceEvents);} 6337modelEvents=modelEvents.toArray();modelEvents.sort(tr.importer.compareEvents);for(const event of modelEvents){const startAndEnd='start: '+parseInt(event.start)+', '+'end: '+parseInt(event.end)+'});';if(event instanceof tr.e.cc.InputLatencyAsyncSlice){modelLines.push(' audits.addInputEvent(model, INPUT_TYPE.'+ 6338typeNames[event.typeName]+',');}else if(event.title==='RenderFrameImpl::didCommitProvisionalLoad'){modelLines.push(' audits.addCommitLoadEvent(model,');}else if(event.title==='InputHandlerProxy::HandleGestureFling::started'){modelLines.push(' audits.addFlingAnimationEvent(model,');}else if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){modelLines.push(' audits.addFrameEvent(model,');}else if(event.title===tr.importer.CSS_ANIMATION_TITLE){modelLines.push(' audits.addEvent(model.rendererMain, {');modelLines.push(' title: \'Animation\', '+startAndEnd);return;}else{throw new Error('You must extend createCustomizeModelLinesFromModel()'+'to support this event:\n'+event.title+'\n');} 6339modelLines.push(' {'+startAndEnd);} 6340modelLines.push(' audits.addEvent(model.browserMain,');modelLines.push(' {'+'title: \'model end\', '+'start: '+(parseInt(model.bounds.max)-1)+', '+'end: '+parseInt(model.bounds.max)+'});');return modelLines;} 6341function createExpectedUELinesFromModel(model){const expectedLines=[];const ueCount=model.userModel.expectations.length;for(let index=0;index<ueCount;++index){const expectation=model.userModel.expectations[index];let ueString=' {';ueString+='title: \''+expectation.title+'\', ';ueString+='start: '+parseInt(expectation.start)+', ';ueString+='end: '+parseInt(expectation.end)+', ';ueString+='eventCount: '+expectation.sourceEvents.length;ueString+='}';if(index<(ueCount-1))ueString+=',';expectedLines.push(ueString);} 6342return expectedLines;} 6343function createUEFinderTestCaseStringFromModel(model){const filename=window.location.hash.substr(1);let testName=filename.substr(filename.lastIndexOf('/')+1);testName=testName.substr(0,testName.indexOf('.'));try{const testLines=[];testLines.push(' /*');testLines.push(' This test was generated from');testLines.push(' '+filename+'');testLines.push(' */');testLines.push(' test(\''+testName+'\', function() {');testLines.push(' const verifier = new UserExpectationVerifier();');testLines.push(' verifier.customizeModelCallback = function(model) {');testLines.push.apply(testLines,createCustomizeModelLinesFromModel(model));testLines.push(' };');testLines.push(' verifier.expectedUEs = [');testLines.push.apply(testLines,createExpectedUELinesFromModel(model));testLines.push(' ];');testLines.push(' verifier.verify();');testLines.push(' });');return testLines.join('\n');}catch(error){return error;}} 6344return{UserModelBuilder,createUEFinderTestCaseStringFromModel,};});'use strict';tr.exportTo('tr.ui.b',function(){function decorate(source,constr){let elements;if(typeof source==='string'){elements=Polymer.dom(tr.doc).querySelectorAll(source);}else{elements=[source];} 6345for(let i=0,el;el=elements[i];i++){if(!(el instanceof constr)){constr.decorate(el);}}} 6346function define(className,opt_parentConstructor,opt_tagNS){if(typeof className==='function'){throw new Error('Passing functions as className is deprecated. Please '+'use (className, opt_parentConstructor) to subclass');} 6347className=className.toLowerCase();if(opt_parentConstructor&&!opt_parentConstructor.tagName){throw new Error('opt_parentConstructor was not '+'created by tr.ui.b.define');} 6348let tagName=className;let tagNS=undefined;if(opt_parentConstructor){if(opt_tagNS){throw new Error('Must not specify tagNS if parentConstructor is given');} 6349let parent=opt_parentConstructor;while(parent&&parent.tagName){tagName=parent.tagName;tagNS=parent.tagNS;parent=parent.parentConstructor;}}else{tagNS=opt_tagNS;} 6350function f(){if(opt_parentConstructor&&f.prototype.__proto__!==opt_parentConstructor.prototype){throw new Error(className+' prototye\'s __proto__ field is messed up. '+'It MUST be the prototype of '+opt_parentConstructor.tagName);} 6351let el;if(tagNS===undefined){el=tr.doc.createElement(tagName);}else{el=tr.doc.createElementNS(tagNS,tagName);} 6352f.decorate.call(this,el,arguments);return el;} 6353f.decorate=function(el){el.__proto__=f.prototype;el.decorate.apply(el,arguments[1]);el.constructor=f;};f.className=className;f.tagName=tagName;f.tagNS=tagNS;f.parentConstructor=(opt_parentConstructor?opt_parentConstructor:undefined);f.toString=function(){if(!f.parentConstructor){return f.tagName;} 6354return f.parentConstructor.toString()+'::'+f.className;};return f;} 6355function elementIsChildOf(el,potentialParent){if(el===potentialParent)return false;let cur=el;while(Polymer.dom(cur).parentNode){if(cur===potentialParent)return true;cur=Polymer.dom(cur).parentNode;} 6356return false;} 6357return{decorate,define,elementIsChildOf,};});'use strict';tr.exportTo('tr.b.math',function(){function Rect(){this.x=0;this.y=0;this.width=0;this.height=0;} 6358Rect.fromXYWH=function(x,y,w,h){const rect=new Rect();rect.x=x;rect.y=y;rect.width=w;rect.height=h;return rect;};Rect.fromArray=function(ary){if(ary.length!==4){throw new Error('ary.length must be 4');} 6359const rect=new Rect();rect.x=ary[0];rect.y=ary[1];rect.width=ary[2];rect.height=ary[3];return rect;};Rect.prototype={__proto__:Object.prototype,get left(){return this.x;},get top(){return this.y;},get right(){return this.x+this.width;},get bottom(){return this.y+this.height;},toString(){return'Rect('+this.x+', '+this.y+', '+ 6360this.width+', '+this.height+')';},toArray(){return[this.x,this.y,this.width,this.height];},clone(){const rect=new Rect();rect.x=this.x;rect.y=this.y;rect.width=this.width;rect.height=this.height;return rect;},enlarge(pad){const rect=new Rect();this.enlargeFast(rect,pad);return rect;},enlargeFast(out,pad){out.x=this.x-pad;out.y=this.y-pad;out.width=this.width+2*pad;out.height=this.height+2*pad;return out;},size(){return{width:this.width,height:this.height};},scale(s){const rect=new Rect();this.scaleFast(rect,s);return rect;},scaleSize(s){return Rect.fromXYWH(this.x,this.y,this.width*s,this.height*s);},scaleFast(out,s){out.x=this.x*s;out.y=this.y*s;out.width=this.width*s;out.height=this.height*s;return out;},translate(v){const rect=new Rect();this.translateFast(rect,v);return rect;},translateFast(out,v){out.x=this.x+v[0];out.y=this.x+v[1];out.width=this.width;out.height=this.height;return out;},asUVRectInside(containingRect){const rect=new Rect();rect.x=(this.x-containingRect.x)/containingRect.width;rect.y=(this.y-containingRect.y)/containingRect.height;rect.width=this.width/containingRect.width;rect.height=this.height/containingRect.height;return rect;},intersects(that){let ok=true;ok&=this.x<that.right;ok&=this.right>that.x;ok&=this.y<that.bottom;ok&=this.bottom>that.y;return ok;},equalTo(rect){return rect&&(this.x===rect.x)&&(this.y===rect.y)&&(this.width===rect.width)&&(this.height===rect.height);}};return{Rect,};});'use strict';tr.exportTo('tr.ui.b',function(){function instantiateTemplate(selector,doc){doc=doc||document;const el=Polymer.dom(doc).querySelector(selector);if(!el){throw new Error('Element not found');} 6361return doc.importNode(el.content,true);} 6362function windowRectForElement(element){const position=[element.offsetLeft,element.offsetTop];const size=[element.offsetWidth,element.offsetHeight];let node=element.offsetParent;while(node){position[0]+=node.offsetLeft;position[1]+=node.offsetTop;node=node.offsetParent;} 6363return tr.b.math.Rect.fromXYWH(position[0],position[1],size[0],size[1]);} 6364function scrollIntoViewIfNeeded(el){const pr=el.parentElement.getBoundingClientRect();const cr=el.getBoundingClientRect();if(cr.top<pr.top){el.scrollIntoView(true);}else if(cr.bottom>pr.bottom){el.scrollIntoView(false);}} 6365function extractUrlString(url){let extracted=url.replace(/url\((.*)\)/,'$1');extracted=extracted.replace(/\"(.*)\"/,'$1');return extracted;} 6366function toThreeDigitLocaleString(value){return value.toLocaleString(undefined,{minimumFractionDigits:3,maximumFractionDigits:3});} 6367function isUnknownElementName(name){return document.createElement(name)instanceof HTMLUnknownElement;} 6368return{isUnknownElementName,toThreeDigitLocaleString,instantiateTemplate,windowRectForElement,scrollIntoViewIfNeeded,extractUrlString,};});'use strict';tr.exportTo('tr.ui.b',function(){if(tr.isHeadless)return{};const THIS_DOC=document.currentScript.ownerDocument;const Overlay=tr.ui.b.define('overlay');Overlay.prototype={__proto__:HTMLDivElement.prototype,decorate(){Polymer.dom(this).classList.add('overlay');this.parentEl_=this.ownerDocument.body;this.visible_=false;this.userCanClose_=true;this.onKeyDown_=this.onKeyDown_.bind(this);this.onClick_=this.onClick_.bind(this);this.onFocusIn_=this.onFocusIn_.bind(this);this.onDocumentClick_=this.onDocumentClick_.bind(this);this.onClose_=this.onClose_.bind(this);this.addEventListener('visible-change',tr.ui.b.Overlay.prototype.onVisibleChange_.bind(this),true);const createShadowRoot=this.createShadowRoot||this.webkitCreateShadowRoot;this.shadow_=createShadowRoot.call(this);Polymer.dom(this.shadow_).appendChild(tr.ui.b.instantiateTemplate('#overlay-template',THIS_DOC));this.closeBtn_=Polymer.dom(this.shadow_).querySelector('close-button');this.closeBtn_.addEventListener('click',this.onClose_);Polymer.dom(this.shadow_).querySelector('overlay-frame').addEventListener('click',this.onClick_);this.observer_=new WebKitMutationObserver(this.didButtonBarMutate_.bind(this));this.observer_.observe(Polymer.dom(this.shadow_).querySelector('button-bar'),{childList:true});Object.defineProperty(this,'title',{get(){return Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent;},set(title){Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent=title;}});},set userCanClose(userCanClose){this.userCanClose_=userCanClose;this.closeBtn_.style.display=userCanClose?'block':'none';},get buttons(){return Polymer.dom(this.shadow_).querySelector('button-bar');},get visible(){return this.visible_;},set visible(newValue){if(this.visible_===newValue)return;this.visible_=newValue;const e=new tr.b.Event('visible-change');this.dispatchEvent(e);},onVisibleChange_(){this.visible_?this.show_():this.hide_();},show_(){Polymer.dom(this.parentEl_).appendChild(this);if(this.userCanClose_){this.addEventListener('keydown',this.onKeyDown_.bind(this));this.addEventListener('click',this.onDocumentClick_.bind(this));this.closeBtn_.addEventListener('click',this.onClose_);} 6369this.parentEl_.addEventListener('focusin',this.onFocusIn_);this.tabIndex=0;const elList=Polymer.dom(this).querySelectorAll('button, input, list, select, a');if(elList.length>0){if(elList[0]===this.closeBtn_){if(elList.length>1)return elList[1].focus();}else{return elList[0].focus();}} 6370this.focus();},hide_(){Polymer.dom(this.parentEl_).removeChild(this);this.parentEl_.removeEventListener('focusin',this.onFocusIn_);if(this.closeBtn_){this.closeBtn_.removeEventListener('click',this.onClose_);} 6371document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('click',this.onDocumentClick_);},onClose_(e){this.visible=false;if((e.type!=='keydown')||(e.type==='keydown'&&e.keyCode===27)){e.stopPropagation();} 6372e.preventDefault();tr.b.dispatchSimpleEvent(this,'closeclick');},onFocusIn_(e){if(e.target===this)return;tr.b.timeout(0).then(()=>this.focus());e.preventDefault();e.stopPropagation();},didButtonBarMutate_(e){const hasButtons=this.buttons.children.length>0;if(hasButtons){Polymer.dom(this.shadow_).querySelector('button-bar').style.display=undefined;}else{Polymer.dom(this.shadow_).querySelector('button-bar').style.display='none';}},onKeyDown_(e){if(e.keyCode===9&&e.shiftKey&&e.target===this){e.preventDefault();return;} 6373if(e.keyCode!==27)return;this.onClose_(e);},onClick_(e){e.stopPropagation();},onDocumentClick_(e){if(!this.userCanClose_)return;this.onClose_(e);}};Overlay.showError=function(msg,opt_err){const o=new Overlay();o.title='Error';Polymer.dom(o).textContent=msg;if(opt_err){const e=tr.b.normalizeException(opt_err);const stackDiv=document.createElement('pre');Polymer.dom(stackDiv).textContent=e.stack;stackDiv.style.paddingLeft='8px';stackDiv.style.margin=0;Polymer.dom(o).appendChild(stackDiv);} 6374const b=document.createElement('button');Polymer.dom(b).textContent='OK';b.addEventListener('click',function(){o.visible=false;});Polymer.dom(o.buttons).appendChild(b);o.visible=true;return o;};return{Overlay,};});'use strict';tr.exportTo('tr.importer',function(){const Timing=tr.b.Timing;function ImportOptions(){this.shiftWorldToZero=true;this.pruneEmptyContainers=true;this.showImportWarnings=true;this.trackDetailedModelStats=false;this.customizeModelCallback=undefined;const auditorTypes=tr.c.Auditor.getAllRegisteredTypeInfos();this.auditorConstructors=auditorTypes.map(function(typeInfo){return typeInfo.constructor;});} 6375function Import(model,opt_options){if(model===undefined){throw new Error('Must provide model to import into.');} 6376this.importing_=false;this.importOptions_=opt_options||new ImportOptions();this.model_=model;this.model_.importOptions=this.importOptions_;} 6377Import.prototype={__proto__:Object.prototype,importTraces(traces){const progressMeter={update(msg){}};tr.b.Task.RunSynchronously(this.createImportTracesTask(progressMeter,traces));},importTracesWithProgressDialog(traces){if(tr.isHeadless){throw new Error('Cannot use this method in headless mode.');} 6378const overlay=tr.ui.b.Overlay();overlay.title='Importing...';overlay.userCanClose=false;overlay.msgEl=document.createElement('div');Polymer.dom(overlay).appendChild(overlay.msgEl);overlay.msgEl.style.margin='20px';overlay.update=function(msg){Polymer.dom(this.msgEl).textContent=msg;};overlay.visible=true;const promise=tr.b.Task.RunWhenIdle(this.createImportTracesTask(overlay,traces));promise.then(function(){overlay.visible=false;},function(err){overlay.visible=false;});return promise;},createImportTracesTask(progressMeter,traces){const importStartTimeMs=performance.now();if(this.importing_){throw new Error('Already importing.');} 6379this.importing_=true;const importTask=new tr.b.Task(function prepareImport(){progressMeter.update('I will now import your traces for you...');},this);let lastTask=importTask;const importers=[];function addImportStage(title,callback){lastTask=lastTask.after(()=>progressMeter.update(title));lastTask.updatesUi=true;lastTask=lastTask.after(callback);} 6380function addStageForEachImporter(title,callback){lastTask=lastTask.after((task)=>{importers.forEach((importer,index)=>{const uiSubTask=task.subTask(()=>{progressMeter.update(`${title} ${index + 1} of ${importers.length}`);});uiSubTask.updatesUi=true;task.subTask(()=>callback(importer));});});} 6381addImportStage('Creating importers...',()=>{traces=traces.slice(0);progressMeter.update('Creating importers...');for(let i=0;i<traces.length;++i){importers.push(this.createImporter_(traces[i]));} 6382for(let i=0;i<importers.length;i++){const subtraces=importers[i].extractSubtraces();for(let j=0;j<subtraces.length;j++){try{traces.push(subtraces[j]);importers.push(this.createImporter_(subtraces[j]));}catch(error){this.model_.importWarning({type:error.name,message:error.message,showToUser:true,});continue;}}} 6383if(traces.length&&!this.hasEventDataDecoder_(importers)){throw new Error('Could not find an importer for the provided eventData.');} 6384importers.sort(function(x,y){return x.importPriority-y.importPriority;});});addStageForEachImporter('Importing clock sync markers',importer=>importer.importClockSyncMarkers());addStageForEachImporter('Importing',importer=>importer.importEvents());if(this.importOptions_.customizeModelCallback){addImportStage('Customizing',()=>{this.importOptions_.customizeModelCallback(this.model_);});} 6385addStageForEachImporter('Importing sample data',importer=>importer.importSampleData());addImportStage('Autoclosing open slices...',()=>{this.model_.autoCloseOpenSlices();this.model_.createSubSlices();});addStageForEachImporter('Finalizing import',importer=>importer.finalizeImport());addImportStage('Initializing objects (step 1/2)...',()=>this.model_.preInitializeObjects());if(this.importOptions_.pruneEmptyContainers){addImportStage('Pruning empty containers...',()=>this.model_.pruneEmptyContainers());} 6386addImportStage('Merging kernel with userland...',()=>this.model_.mergeKernelWithUserland());let auditors=[];addImportStage('Adding arbitrary data to model...',()=>{auditors=this.importOptions_.auditorConstructors.map(auditorConstructor=>new auditorConstructor(this.model_));auditors.forEach((auditor)=>{auditor.runAnnotate();auditor.installUserFriendlyCategoryDriverIfNeeded();});});addImportStage('Computing final world bounds...',()=>{this.model_.computeWorldBounds(this.importOptions_.shiftWorldToZero);});addImportStage('Building flow event map...',()=>this.model_.buildFlowEventIntervalTree());addImportStage('Joining object refs...',()=>this.model_.joinRefs());addImportStage('Cleaning up undeleted objects...',()=>this.model_.cleanupUndeletedObjects());addImportStage('Sorting memory dumps...',()=>this.model_.sortMemoryDumps());addImportStage('Finalizing memory dump graphs...',()=>this.model_.finalizeMemoryGraphs());addImportStage('Initializing objects (step 2/2)...',()=>this.model_.initializeObjects());addImportStage('Building event indices...',()=>this.model_.buildEventIndices());addImportStage('Building UserModel...',()=>{const userModelBuilder=new tr.importer.UserModelBuilder(this.model_);userModelBuilder.buildUserModel();});addImportStage('Sorting user expectations...',()=>this.model_.userModel.sortExpectations());addImportStage('Running auditors...',()=>{auditors.forEach(auditor=>auditor.runAudit());});addImportStage('Updating alerts...',()=>this.model_.sortAlerts());addImportStage('Update bounds...',()=>this.model_.updateBounds());addImportStage('Looking for warnings...',()=>{if(!this.model_.isTimeHighResolution){this.model_.importWarning({type:'low_resolution_timer',message:'Trace time is low resolution, trace may be unusable.',showToUser:true});}});lastTask.after(()=>{this.importing_=false;this.model_.stats.traceImportDurationMs=performance.now()-importStartTimeMs;});return importTask;},createImporter_(eventData){const importerConstructor=tr.importer.Importer.findImporterFor(eventData);if(!importerConstructor){throw new Error('Couldn\'t create an importer for the provided '+'eventData.');} 6387return new importerConstructor(this.model_,eventData);},hasEventDataDecoder_(importers){for(let i=0;i<importers.length;++i){if(!importers[i].isTraceDataContainer())return true;} 6388return false;}};return{ImportOptions,Import,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8GCStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.liveObjects_=JSON.parse(this.args.live);delete this.args.live;this.deadObjects_=JSON.parse(this.args.dead);delete this.args.dead;} 6389V8GCStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get liveObjects(){return this.liveObjects_;},get deadObjects(){return this.deadObjects_;}};ThreadSlice.subTypes.register(V8GCStatsThreadSlice,{categoryParts:['disabled-by-default-v8.gc_stats'],name:'v8 gc stats slice',pluralName:'v8 gc stats slices'});return{V8GCStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ICStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.icStats_=undefined;if(this.args['ic-stats']){this.icStats_=this.args['ic-stats'].data;delete this.args['ic-stats'];}} 6390V8ICStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get icStats(){return this.icStats_;}};ThreadSlice.subTypes.register(V8ICStatsThreadSlice,{categoryParts:['disabled-by-default-v8.ic_stats'],name:'v8 ic stats slice',pluralName:'v8 ic stats slices'});return{V8ICStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ThreadSlice(){ThreadSlice.apply(this,arguments);this.runtimeCallStats_=undefined;} 6391V8ThreadSlice.prototype={__proto__:ThreadSlice.prototype,get runtimeCallStats(){if('runtime-call-stats'in this.args){this.runtimeCallStats_=this.args['runtime-call-stats'];delete this.args['runtime-call-stats'];} 6392return this.runtimeCallStats_;}};ThreadSlice.subTypes.register(V8ThreadSlice,{categoryParts:['v8','disabled-by-default-v8.runtime_stats'],name:'v8 slice',pluralName:'v8 slices'});return{V8ThreadSlice,};});'use strict';tr.exportTo('tr.e.cc',function(){function PictureAsImageData(picture,errorOrImageData){this.picture_=picture;if(errorOrImageData instanceof ImageData){this.error_=undefined;this.imageData_=errorOrImageData;}else{this.error_=errorOrImageData;this.imageData_=undefined;}} 6393PictureAsImageData.Pending=function(picture){return new PictureAsImageData(picture,undefined);};PictureAsImageData.prototype={get picture(){return this.picture_;},get error(){return this.error_;},get imageData(){return this.imageData_;},isPending(){return this.error_===undefined&&this.imageData_===undefined;},asCanvas(){if(!this.imageData_)return;const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.imageData_.width;canvas.height=this.imageData_.height;ctx.putImageData(this.imageData_,0,0);return canvas;}};return{PictureAsImageData,};});'use strict';tr.exportTo('tr.e.cc',function(){const convertedNameCache={};function convertNameToJSConvention(name){if(name in convertedNameCache){return convertedNameCache[name];} 6394if(name[0]==='_'||name[name.length-1]==='_'){convertedNameCache[name]=name;return name;} 6395const words=name.split('_');if(words.length===1){convertedNameCache[name]=words[0];return words[0];} 6396for(let i=1;i<words.length;i++){words[i]=words[i][0].toUpperCase()+words[i].substring(1);} 6397convertedNameCache[name]=words.join('');return convertedNameCache[name];} 6398function convertObjectFieldNamesToJSConventions(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){delete object[fieldName];object[newFieldName]=fieldValue;return newFieldName;});} 6399function convertQuadSuffixedTypesToQuads(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){});} 6400function convertObject(object){convertObjectFieldNamesToJSConventions(object);convertQuadSuffixedTypesToQuads(object);} 6401function moveRequiredFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined){throw Error('Expected field '+key+' not found in args');} 6402if(object[key]!==undefined){throw Error('Field '+key+' already in object');} 6403object[key]=object.args[key];delete object.args[key];}} 6404function moveOptionalFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined)continue;if(object[key]!==undefined){throw Error('Field '+key+' already in object');} 6405object[key]=object.args[key];delete object.args[key];}} 6406function preInitializeObject(object){preInitializeObjectInner(object.args,false);} 6407function preInitializeObjectInner(object,hasRecursed){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){preInitializeObjectInner(object[i],true);} 6408return;} 6409if(hasRecursed&&(object instanceof tr.model.ObjectSnapshot||object instanceof tr.model.ObjectInstance)){return;} 6410for(let key in object){const newKey=convertNameToJSConvention(key);if(newKey!==key){const value=object[key];delete object[key];object[newKey]=value;key=newKey;} 6411if(/Quad$/.test(key)&&!(object[key]instanceof tr.b.math.Quad)){let q;try{q=tr.b.math.Quad.from8Array(object[key]);}catch(e){} 6412object[key]=q;continue;} 6413if(/Rect$/.test(key)&&!(object[key]instanceof tr.b.math.Rect)){let r;try{r=tr.b.math.Rect.fromArray(object[key]);}catch(e){} 6414object[key]=r;} 6415preInitializeObjectInner(object[key],true);}} 6416return{preInitializeObject,convertNameToJSConvention,moveRequiredFieldsFromArgsToToplevel,moveOptionalFieldsFromArgsToToplevel,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const PictureCount=0;const OPS_TIMING_ITERATIONS=3;function Picture(skp64,layerRect){this.skp64_=skp64;this.layerRect_=layerRect;this.guid_=tr.b.GUID.allocateSimple();} 6417Picture.prototype={get canSave(){return true;},get layerRect(){return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){return this.skp64_;},getOps(){if(!PictureSnapshot.CanGetOps()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;} 6418const ops=window.chrome.skiaBenchmarking.getOps({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!ops){console.error('Failed to get picture ops.');} 6419return ops;},getOpTimings(){if(!PictureSnapshot.CanGetOpTimings()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;} 6420const opTimings=window.chrome.skiaBenchmarking.getOpTimings({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!opTimings){console.error('Failed to get picture op timings.');} 6421return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;} 6422if(opTimings[iteration].cmd_times.length!==ops.length){return ops;}} 6423for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);} 6424ops[opIndex].cmd_time=min;} 6425return ops;},rasterize(params,rasterCompleteCallback){if(!PictureSnapshot.CanRasterize()||!PictureSnapshot.CanGetOps()){rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,tr.e.cc.PictureSnapshot.HowToEnablePictureDebugging()));return;} 6426const raster=window.chrome.skiaBenchmarking.rasterize({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}},{stop:params.stopIndex===undefined?-1:params.stopIndex,overdraw:!!params.showOverdraw,params:{}});if(raster){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=raster.width;canvas.height=raster.height;const imageData=ctx.createImageData(raster.width,raster.height);imageData.data.set(new Uint8ClampedArray(raster.data));rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,imageData));}else{const error='Failed to rasterize picture. '+'Your recording may be from an old Chrome version. '+'The SkPicture format is not backward compatible.';rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,error));}}};function LayeredPicture(pictures){this.guid_=tr.b.GUID.allocateSimple();this.pictures_=pictures;this.layerRect_=undefined;} 6427LayeredPicture.prototype={__proto__:Picture.prototype,get canSave(){return false;},get typeName(){return'cc::LayeredPicture';},get layerRect(){if(this.layerRect_!==undefined){return this.layerRect_;} 6428this.layerRect_={x:0,y:0,width:0,height:0};for(let i=0;i<this.pictures_.length;++i){const rect=this.pictures_[i].layerRect;this.layerRect_.x=Math.min(this.layerRect_.x,rect.x);this.layerRect_.y=Math.min(this.layerRect_.y,rect.y);this.layerRect_.width=Math.max(this.layerRect_.width,rect.x+rect.width);this.layerRect_.height=Math.max(this.layerRect_.height,rect.y+rect.height);} 6429return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){throw new Error('Not available with a LayeredPicture.');},getOps(){let ops=[];for(let i=0;i<this.pictures_.length;++i){ops=ops.concat(this.pictures_[i].getOps());} 6430return ops;},getOpTimings(){const opTimings=this.pictures_[0].getOpTimings();for(let i=1;i<this.pictures_.length;++i){const timings=this.pictures_[i].getOpTimings();opTimings.cmd_times=opTimings.cmd_times.concat(timings.cmd_times);opTimings.total_time+=timings.total_time;} 6431return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;}} 6432for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);} 6433ops[opIndex].cmd_time=min;} 6434return ops;},rasterize(params,rasterCompleteCallback){this.picturesAsImageData_=[];const rasterCallback=function(pictureAsImageData){this.picturesAsImageData_.push(pictureAsImageData);if(this.picturesAsImageData_.length!==this.pictures_.length){return;} 6435const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.layerRect.width;canvas.height=this.layerRect.height;for(let i=0;i<this.picturesAsImageData_.length;++i){ctx.putImageData(this.picturesAsImageData_[i].imageData,this.pictures_[i].layerRect.x,this.pictures_[i].layerRect.y);} 6436this.picturesAsImageData_=[];rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,ctx.getImageData(this.layerRect.x,this.layerRect.y,this.layerRect.width,this.layerRect.height)));}.bind(this);for(let i=0;i<this.pictures_.length;++i){this.pictures_[i].rasterize(params,rasterCallback);}}};function PictureSnapshot(){ObjectSnapshot.apply(this,arguments);} 6437PictureSnapshot.HasSkiaBenchmarking=function(){return tr.isExported('chrome.skiaBenchmarking');};PictureSnapshot.CanRasterize=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6438if(!window.chrome.skiaBenchmarking.rasterize){return false;} 6439return true;};PictureSnapshot.CanGetOps=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6440if(!window.chrome.skiaBenchmarking.getOps){return false;} 6441return true;};PictureSnapshot.CanGetOpTimings=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6442if(!window.chrome.skiaBenchmarking.getOpTimings){return false;} 6443return true;};PictureSnapshot.CanGetInfo=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6444if(!window.chrome.skiaBenchmarking.getInfo){return false;} 6445return true;};PictureSnapshot.HowToEnablePictureDebugging=function(){if(tr.isHeadless){return'Pictures only work in chrome';} 6446const usualReason=['For pictures to show up, you need to have Chrome running with ','--enable-skia-benchmarking. Please restart chrome with this flag ','and try again.'].join('');if(!tr.isExported('global.chrome.skiaBenchmarking')){return usualReason;} 6447if(!global.chrome.skiaBenchmarking.rasterize){return'Your chrome is old';} 6448if(!global.chrome.skiaBenchmarking.getOps){return'Your chrome is old: skiaBenchmarking.getOps not found';} 6449if(!global.chrome.skiaBenchmarking.getOpTimings){return'Your chrome is old: skiaBenchmarking.getOpTimings not found';} 6450if(!global.chrome.skiaBenchmarking.getInfo){return'Your chrome is old: skiaBenchmarking.getInfo not found';} 6451return'Rasterizing is on';};PictureSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.rasterResult_=undefined;},initialize(){if(this.args.alias){this.args=this.args.alias.args;} 6452if(!this.args.params.layerRect){throw new Error('Missing layer rect');} 6453this.layerRect_=this.args.params.layerRect;this.picture_=new Picture(this.args.skp64,this.args.params.layerRect);},set picture(picture){this.picture_=picture;},get canSave(){return this.picture_.canSave;},get layerRect(){return this.layerRect_?this.layerRect_:this.picture_.layerRect;},get guid(){return this.picture_.guid;},getBase64SkpData(){return this.picture_.getBase64SkpData();},getOps(){return this.picture_.getOps();},getOpTimings(){return this.picture_.getOpTimings();},tagOpsWithTimings(ops){return this.picture_.tagOpsWithTimings(ops);},rasterize(params,rasterCompleteCallback){this.picture_.rasterize(params,rasterCompleteCallback);}};ObjectSnapshot.subTypes.register(PictureSnapshot,{typeNames:['cc::Picture']});return{PictureSnapshot,Picture,LayeredPicture,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function DisplayItemList(skp64,layerRect){tr.e.cc.Picture.apply(this,arguments);} 6454DisplayItemList.prototype={__proto__:tr.e.cc.Picture.prototype};function DisplayItemListSnapshot(){tr.e.cc.PictureSnapshot.apply(this,arguments);} 6455DisplayItemListSnapshot.prototype={__proto__:tr.e.cc.PictureSnapshot.prototype,initialize(){tr.e.cc.PictureSnapshot.prototype.initialize.call(this);this.displayItems_=this.args.params.items;},get items(){return this.displayItems_;}};ObjectSnapshot.subTypes.register(DisplayItemListSnapshot,{typeNames:['cc::DisplayItemList']});return{DisplayItemListSnapshot,DisplayItemList,};});'use strict';tr.exportTo('tr.b.math',function(){function BBox2(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;} 6456BBox2.prototype={__proto__:Object.prototype,reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addBBox2(bbox2){if(bbox2.isEmpty)return;this.addVec2(bbox2.min_);this.addVec2(bbox2.max_);},clone(){const bbox=new BBox2();bbox.addBBox2(this);return bbox;},addXY(x,y){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,x,y);vec2.set(this.min_,x,y);this.isEmpty_=false;return;} 6457this.max_[0]=Math.max(this.max_[0],x);this.max_[1]=Math.max(this.max_[1],y);this.min_[0]=Math.min(this.min_[0],x);this.min_[1]=Math.min(this.min_[1],y);},addVec2(value){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,value[0],value[1]);vec2.set(this.min_,value[0],value[1]);this.isEmpty_=false;return;} 6458this.max_[0]=Math.max(this.max_[0],value[0]);this.max_[1]=Math.max(this.max_[1],value[1]);this.min_[0]=Math.min(this.min_[0],value[0]);this.min_[1]=Math.min(this.min_[1],value[1]);},addQuad(quad){this.addVec2(quad.p1);this.addVec2(quad.p2);this.addVec2(quad.p3);this.addVec2(quad.p4);},get minVec2(){if(this.isEmpty_)return undefined;return this.min_;},get maxVec2(){if(this.isEmpty_)return undefined;return this.max_;},get sizeAsVec2(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');} 6459const size=vec2.create();vec2.subtract(size,this.max_,this.min_);return size;},get size(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');} 6460return{width:this.max_[0]-this.min_[0],height:this.max_[1]-this.min_[1]};},get width(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');} 6461return this.max_[0]-this.min_[0];},get height(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');} 6462return this.max_[1]-this.min_[1];},toString(){if(this.isEmpty_)return'empty';return'min=('+this.min_[0]+','+this.min_[1]+') '+'max=('+this.max_[0]+','+this.max_[1]+')';},asRect(){return tr.b.math.Rect.fromXYWH(this.min_[0],this.min_[1],this.max_[0]-this.min_[0],this.max_[1]-this.min_[1]);}};return{BBox2,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants={};constants.ACTIVE_TREE=0;constants.PENDING_TREE=1;constants.HIGH_PRIORITY_BIN=0;constants.LOW_PRIORITY_BIN=1;constants.SEND_BEGIN_FRAME_EVENT='ThreadProxy::ScheduledActionSendBeginMainFrame';constants.BEGIN_MAIN_FRAME_EVENT='ThreadProxy::BeginMainFrame';return{constants};});'use strict';tr.exportTo('tr.e.cc',function(){function Region(){this.rects=[];} 6463Region.fromArray=function(array){if(array.length%4!==0){throw new Error('Array must consist be a multiple of 4 in length');} 6464const r=new Region();for(let i=0;i<array.length;i+=4){r.rects.push(tr.b.math.Rect.fromXYWH(array[i],array[i+1],array[i+2],array[i+3]));} 6465return r;};Region.fromArrayOrUndefined=function(array){if(array===undefined)return new Region();return Region.fromArray(array);};Region.prototype={__proto__:Region.prototype,rectIntersects(r){for(let i=0;i<this.rects.length;i++){if(this.rects[i].intersects(r))return true;} 6466return false;},addRect(r){this.rects.push(r);}};return{Region,};});'use strict';tr.exportTo('tr.e.cc',function(){function TileCoverageRect(rect,tile){this.geometryRect=rect;this.tile=tile;} 6467return{TileCoverageRect,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerImplSnapshot(){ObjectSnapshot.apply(this,arguments);} 6468LayerImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeImpl_=undefined;this.parentLayer=undefined;},initialize(){this.invalidation=new tr.e.cc.Region();this.annotatedInvalidation=new tr.e.cc.Region();this.unrecordedRegion=new tr.e.cc.Region();this.pictures=[];tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['layerId','layerQuad']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['children','maskLayer','replicaLayer','idealContentsScale','geometryContentsScale','layoutRects','usingGpuRasterization']);this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;this.bounds=tr.b.math.Rect.fromXYWH(0,0,this.args.bounds.width,this.args.bounds.height);if(this.args.animationBounds){this.animationBoundsRect=tr.b.math.Rect.fromXYWH(this.args.animationBounds[0],this.args.animationBounds[1],this.args.animationBounds[3],this.args.animationBounds[4]);} 6469if(this.children){for(let i=0;i<this.children.length;i++){this.children[i].parentLayer=this;}} 6470if(this.maskLayer){this.maskLayer.parentLayer=this;} 6471if(this.replicaLayer){this.replicaLayer.parentLayer=this;} 6472if(!this.geometryContentsScale){this.geometryContentsScale=1.0;} 6473if(!this.idealContentsScale){this.idealContentsScale=1.0;} 6474this.touchEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.touchEventHandlerRegion);this.wheelEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.wheelEventHandlerRegion);this.nonFastScrollableRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.nonFastScrollableRegion);},get layerTreeImpl(){if(this.layerTreeImpl_){return this.layerTreeImpl_;} 6475if(this.parentLayer){return this.parentLayer.layerTreeImpl;} 6476return undefined;},set layerTreeImpl(layerTreeImpl){this.layerTreeImpl_=layerTreeImpl;},get activeLayer(){if(this.layerTreeImpl.whichTree===constants.ACTIVE_TREE){return this;} 6477const activeTree=this.layerTreeImpl.layerTreeHostImpl.activeTree;return activeTree.findLayerWithId(this.layerId);},get pendingLayer(){if(this.layerTreeImpl.whichTree===constants.PENDING_TREE){return this;} 6478const pendingTree=this.layerTreeImpl.layerTreeHostImpl.pendingTree;return pendingTree.findLayerWithId(this.layerId);}};function PictureLayerImplSnapshot(){LayerImplSnapshot.apply(this,arguments);} 6479PictureLayerImplSnapshot.prototype={__proto__:LayerImplSnapshot.prototype,initialize(){LayerImplSnapshot.prototype.initialize.call(this);if(this.args.invalidation){this.invalidation=tr.e.cc.Region.fromArray(this.args.invalidation);delete this.args.invalidation;} 6480if(this.args.annotatedInvalidationRects){this.annotatedInvalidation=new tr.e.cc.Region();for(let i=0;i<this.args.annotatedInvalidationRects.length;++i){const annotatedRect=this.args.annotatedInvalidationRects[i];const rect=annotatedRect.geometryRect;rect.reason=annotatedRect.reason;this.annotatedInvalidation.addRect(rect);} 6481delete this.args.annotatedInvalidationRects;} 6482if(this.args.unrecordedRegion){this.unrecordedRegion=tr.e.cc.Region.fromArray(this.args.unrecordedRegion);delete this.args.unrecordedRegion;} 6483if(this.args.pictures){this.pictures=this.args.pictures;this.pictures.sort(function(a,b){return a.ts-b.ts;});} 6484this.tileCoverageRects=[];if(this.args.coverageTiles){for(let i=0;i<this.args.coverageTiles.length;++i){const rect=this.args.coverageTiles[i].geometryRect.scale(this.idealContentsScale);const tile=this.args.coverageTiles[i].tile;this.tileCoverageRects.push(new tr.e.cc.TileCoverageRect(rect,tile));} 6485delete this.args.coverageTiles;}}};ObjectSnapshot.subTypes.register(PictureLayerImplSnapshot,{typeName:'cc::PictureLayerImpl'});ObjectSnapshot.subTypes.register(LayerImplSnapshot,{typeNames:['cc::LayerImpl','cc::DelegatedRendererLayerImpl','cc::HeadsUpDisplayLayerImpl','cc::IOSurfaceLayerImpl','cc::NinePatchLayerImpl','cc::PictureImageLayerImpl','cc::ScrollbarLayerImpl','cc::SolidColorLayerImpl','cc::SolidColorScrollbarLayerImpl','cc::SurfaceLayerImpl','cc::TextureLayerImpl','cc::TiledLayerImpl','cc::VideoLayerImpl','cc::PaintedScrollbarLayerImpl','ClankPatchLayer','TabBorderLayer','CounterLayer']});return{LayerImplSnapshot,PictureLayerImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerTreeImplSnapshot(){ObjectSnapshot.apply(this,arguments);} 6486LayerTreeImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeHostImpl=undefined;this.whichTree=undefined;this.sourceFrameNumber=undefined;},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['renderSurfaceLayerList']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['rootLayer','layers']);if(this.args.sourceFrameNumber){this.sourceFrameNumber=this.args.sourceFrameNumber;} 6487if(this.rootLayer){this.rootLayer.layerTreeImpl=this;}else{for(let i=0;i<this.layers.length;i++){this.layers[i].layerTreeImpl=this;}} 6488if(this.args.swapPromiseTraceIds&&this.args.swapPromiseTraceIds.length){this.tracedInputLatencies=[];const ownProcess=this.objectInstance.parent;const modelHelper=ownProcess.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper){this._initializeTracedInputLatencies(modelHelper);}}},_initializeTracedInputLatencies(modelHelper){const latencyEvents=modelHelper.browserHelper.getLatencyEventsInRange(modelHelper.model.bounds);latencyEvents.forEach(function(event){for(let i=0;i<this.args.swapPromiseTraceIds.length;i++){if(!event.args.data||!event.args.data.trace_id){continue;} 6489if(parseInt(event.args.data.trace_id)===this.args.swapPromiseTraceIds[i]){this.tracedInputLatencies.push(event);}}},this);},get hasSourceFrameBeenDrawnBefore(){if(this.whichTree===tr.e.cc.constants.PENDING_TREE){return false;} 6490if(this.sourceFrameNumber===undefined)return;const thisLTHI=this.layerTreeHostImpl;const thisLTHIIndex=thisLTHI.objectInstance.snapshots.indexOf(thisLTHI);const prevLTHIIndex=thisLTHIIndex-1;if(prevLTHIIndex<0||prevLTHIIndex>=thisLTHI.objectInstance.snapshots.length){return false;} 6491const prevLTHI=thisLTHI.objectInstance.snapshots[prevLTHIIndex];if(!prevLTHI.activeTree)return false;if(prevLTHI.activeTree.sourceFrameNumber===undefined)return;return prevLTHI.activeTree.sourceFrameNumber===this.sourceFrameNumber;},get otherTree(){const other=this.whichTree===constants.ACTIVE_TREE?constants.PENDING_TREE:constants.ACTIVE_TREE;return this.layerTreeHostImpl.getTree(other);},get gpuMemoryUsageInBytes(){let totalBytes=0;this.iterLayers(function(layer){if(layer.gpuMemoryUsageInBytes!==undefined){totalBytes+=layer.gpuMemoryUsageInBytes;}});return totalBytes;},iterLayers(func,thisArg){const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;func.call(thisArg,layer,depth,isMask,isReplica);if(layer.children){for(let i=0;i<layer.children.length;i++){visitLayer(layer.children[i],depth+1);}} 6492if(layer.maskLayer){visitLayer(layer.maskLayer,depth+1,true,false);} 6493if(layer.replicaLayer){visitLayer(layer.replicaLayer,depth+1,false,true);}} 6494if(this.rootLayer){visitLayer(this.rootLayer,0,false,false);}else{for(let i=0;i<this.layers.length;i++){visitLayer(this.layers[i],0,false,false);}}},findLayerWithId(id){let foundLayer=undefined;function visitLayer(layer){if(layer.layerId===id){foundLayer=layer;}} 6495this.iterLayers(visitLayer);return foundLayer;}};ObjectSnapshot.subTypes.register(LayerTreeImplSnapshot,{typeName:'cc::LayerTreeImpl'});return{LayerTreeImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayerTreeHostImplSnapshot(){ObjectSnapshot.apply(this,arguments);} 6496LayerTreeHostImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['deviceViewportSize','activeTree']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['pendingTree']);if(this.args.activeTiles!==undefined){this.activeTiles=this.args.activeTiles;delete this.args.activeTiles;}else if(this.args.tiles!==undefined){this.activeTiles=this.args.tiles;delete this.args.tiles;} 6497if(!this.activeTiles){this.activeTiles=[];} 6498this.activeTree.layerTreeHostImpl=this;this.activeTree.whichTree=constants.ACTIVE_TREE;if(this.pendingTree){this.pendingTree.layerTreeHostImpl=this;this.pendingTree.whichTree=constants.PENDING_TREE;}},getContentsScaleNames(){const scales={};for(let i=0;i<this.activeTiles.length;++i){const tile=this.activeTiles[i];scales[tile.contentsScale]=tile.resolution;} 6499return scales;},getTree(whichTree){if(whichTree===constants.ACTIVE_TREE){return this.activeTree;} 6500if(whichTree===constants.PENDING_TREE){return this.pendingTree;} 6501throw new Exception('Unknown tree type + '+whichTree);},get tilesHaveGpuMemoryUsageInfo(){if(this.tilesHaveGpuMemoryUsageInfo_!==undefined){return this.tilesHaveGpuMemoryUsageInfo_;} 6502for(let i=0;i<this.activeTiles.length;i++){if(this.activeTiles[i].gpuMemoryUsageInBytes===undefined){continue;} 6503this.tilesHaveGpuMemoryUsageInfo_=true;return true;} 6504this.tilesHaveGpuMemoryUsageInfo_=false;return false;},get gpuMemoryUsageInBytes(){if(!this.tilesHaveGpuMemoryUsageInfo)return;let usage=0;for(let i=0;i<this.activeTiles.length;i++){const u=this.activeTiles[i].gpuMemoryUsageInBytes;if(u!==undefined)usage+=u;} 6505return usage;},get userFriendlyName(){let frameNumber;if(!this.activeTree){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{if(this.activeTree.sourceFrameNumber===undefined){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{frameNumber=this.activeTree.sourceFrameNumber;}} 6506return'cc::LayerTreeHostImpl frame '+frameNumber;}};ObjectSnapshot.subTypes.register(LayerTreeHostImplSnapshot,{typeName:'cc::LayerTreeHostImpl'});function LayerTreeHostImplInstance(){ObjectInstance.apply(this,arguments);this.allLayersBBox_=undefined;} 6507LayerTreeHostImplInstance.prototype={__proto__:ObjectInstance.prototype,get allContentsScales(){if(this.allContentsScales_){return this.allContentsScales_;} 6508const scales={};for(const tileID in this.allTileHistories_){const tileHistory=this.allTileHistories_[tileID];scales[tileHistory.contentsScale]=true;} 6509this.allContentsScales_=Object.keys(scales);return this.allContentsScales_;},get allLayersBBox(){if(this.allLayersBBox_){return this.allLayersBBox_;} 6510const bbox=new tr.b.math.BBox2();function handleTree(tree){tree.renderSurfaceLayerList.forEach(function(layer){bbox.addQuad(layer.layerQuad);});} 6511this.snapshots.forEach(function(lthi){handleTree(lthi.activeTree);if(lthi.pendingTree){handleTree(lthi.pendingTree);}});this.allLayersBBox_=bbox;return this.allLayersBBox_;}};ObjectInstance.subTypes.register(LayerTreeHostImplInstance,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshot,LayerTreeHostImplInstance,};});'use strict';tr.exportTo('tr.e.cc',function(){const tileTypes={highRes:'highRes',lowRes:'lowRes',extraHighRes:'extraHighRes',extraLowRes:'extraLowRes',missing:'missing',culled:'culled',solidColor:'solidColor',picture:'picture',directPicture:'directPicture',unknown:'unknown'};const tileBorder={highRes:{color:'rgba(80, 200, 200, 0.7)',width:1},lowRes:{color:'rgba(212, 83, 192, 0.7)',width:2},extraHighRes:{color:'rgba(239, 231, 20, 0.7)',width:2},extraLowRes:{color:'rgba(93, 186, 18, 0.7)',width:2},missing:{color:'rgba(255, 0, 0, 0.7)',width:1},culled:{color:'rgba(160, 100, 0, 0.8)',width:1},solidColor:{color:'rgba(128, 128, 128, 0.7)',width:1},picture:{color:'rgba(64, 64, 64, 0.7)',width:1},directPicture:{color:'rgba(127, 255, 0, 1.0)',width:1},unknown:{color:'rgba(0, 0, 0, 1.0)',width:2}};return{tileTypes,tileBorder};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function TileSnapshot(){ObjectSnapshot.apply(this,arguments);} 6512TileSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['layerId','contentsScale','contentRect']);if(this.args.managedState){this.resolution=this.args.managedState.resolution;this.isSolidColor=this.args.managedState.isSolidColor;this.isUsingGpuMemory=this.args.managedState.isUsingGpuMemory;this.hasResource=this.args.managedState.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;}else{this.resolution=this.args.resolution;this.isSolidColor=this.args.drawInfo.isSolidColor;this.isUsingGpuMemory=this.args.isUsingGpuMemory;this.hasResource=this.args.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;} 6513if(this.contentRect){this.layerRect=this.contentRect.scale(1.0/this.contentsScale);} 6514if(this.isSolidColor){this.type_=tr.e.cc.tileTypes.solidColor;}else if(!this.hasResource){this.type_=tr.e.cc.tileTypes.missing;}else if(this.resolution==='HIGH_RESOLUTION'){this.type_=tr.e.cc.tileTypes.highRes;}else if(this.resolution==='LOW_RESOLUTION'){this.type_=tr.e.cc.tileTypes.lowRes;}else{this.type_=tr.e.cc.tileTypes.unknown;}},getTypeForLayer(layer){let type=this.type_;if(type===tr.e.cc.tileTypes.unknown){if(this.contentsScale<layer.idealContentsScale){type=tr.e.cc.tileTypes.extraLowRes;}else if(this.contentsScale>layer.idealContentsScale){type=tr.e.cc.tileTypes.extraHighRes;}} 6515return type;}};ObjectSnapshot.subTypes.register(TileSnapshot,{typeName:'cc::Tile'});return{TileSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const Location=tr.model.Location;function UIState(location,scaleX){this.location_=location;this.scaleX_=scaleX;} 6516UIState.fromUserFriendlyString=function(model,viewport,stateString){const navByFinderPattern=/^(-?\d+(\.\d+)?)@(.+)x(\d+(\.\d+)?)$/g;const match=navByFinderPattern.exec(stateString);if(!match)return;const timestamp=parseFloat(match[1]);const stableId=match[3];const scaleX=parseFloat(match[4]);if(scaleX<=0){throw new Error('Invalid ScaleX value in UI State string.');} 6517if(!viewport.containerToTrackMap.getTrackByStableId(stableId)){throw new Error('Invalid StableID given in UI State String.');} 6518const loc=tr.model.Location.fromStableIdAndTimestamp(viewport,stableId,timestamp);return new UIState(loc,scaleX);};UIState.prototype={get location(){return this.location_;},get scaleX(){return this.scaleX_;},toUserFriendlyString(viewport){const timestamp=this.location_.xWorld;const stableId=this.location_.getContainingTrack(viewport).eventContainer.stableId;const scaleX=this.scaleX_;return timestamp.toFixed(5)+'@'+stableId+'x'+scaleX.toFixed(5);},toDict(){return{location:this.location_.toDict(),scaleX:this.scaleX_};}};return{UIState,};});'use strict';tr.exportTo('tr.ui.b',function(){const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;function BrushingState(){this.guid_=tr.b.GUID.allocateSimple();this.selection_=new EventSet();this.findMatches_=new EventSet();this.analysisViewRelatedEvents_=new EventSet();this.analysisLinkHoveredEvents_=new EventSet();this.appliedToModel_=undefined;this.viewSpecificBrushingStates_={};} 6519BrushingState.prototype={get guid(){return this.guid_;},clone(){const that=new BrushingState();that.selection_=this.selection_;that.findMatches_=this.findMatches_;that.analysisViewRelatedEvents_=this.analysisViewRelatedEvents_;that.analysisLinkHoveredEvents_=this.analysisLinkHoveredEvents_;that.viewSpecificBrushingStates_=this.viewSpecificBrushingStates_;return that;},equals(that){if(!this.selection_.equals(that.selection_)){return false;} 6520if(!this.findMatches_.equals(that.findMatches_)){return false;} 6521if(!this.analysisViewRelatedEvents_.equals(that.analysisViewRelatedEvents_)){return false;} 6522if(!this.analysisLinkHoveredEvents_.equals(that.analysisLinkHoveredEvents_)){return false;} 6523return true;},get selectionOfInterest(){if(this.selection_.length){return this.selection_;} 6524if(this.highlight_.length){return this.highlight_;} 6525if(this.analysisViewRelatedEvents_.length){return this.analysisViewRelatedEvents_;} 6526if(this.analysisLinkHoveredEvents_.length){return this.analysisLinkHoveredEvents_;} 6527return this.selection_;},get selection(){return this.selection_;},set selection(selection){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6528if(selection===undefined){selection=new EventSet();} 6529this.selection_=selection;},get findMatches(){return this.findMatches_;},set findMatches(findMatches){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6530if(findMatches===undefined){findMatches=new EventSet();} 6531this.findMatches_=findMatches;},get analysisViewRelatedEvents(){return this.analysisViewRelatedEvents_;},set analysisViewRelatedEvents(analysisViewRelatedEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6532if(analysisViewRelatedEvents===undefined){analysisViewRelatedEvents=new EventSet();} 6533this.analysisViewRelatedEvents_=analysisViewRelatedEvents;},get analysisLinkHoveredEvents(){return this.analysisLinkHoveredEvents_;},set analysisLinkHoveredEvents(analysisLinkHoveredEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6534if(analysisLinkHoveredEvents===undefined){analysisLinkHoveredEvents=new EventSet();} 6535this.analysisLinkHoveredEvents_=analysisLinkHoveredEvents;},get isAppliedToModel(){return this.appliedToModel_!==undefined;},get viewSpecificBrushingStates(){return this.viewSpecificBrushingStates_;},set viewSpecificBrushingStates(viewSpecificBrushingStates){this.viewSpecificBrushingStates_=viewSpecificBrushingStates;},get dimmedEvents_(){const dimmedEvents=new EventSet();dimmedEvents.addEventSet(this.findMatches);dimmedEvents.addEventSet(this.analysisViewRelatedEvents_);return dimmedEvents;},get brightenedEvents_(){const brightenedEvents=new EventSet();brightenedEvents.addEventSet(this.selection_);brightenedEvents.addEventSet(this.analysisLinkHoveredEvents_);return brightenedEvents;},applyToEventSelectionStates(model){this.appliedToModel_=model;const dimmedEvents=this.dimmedEvents_;if(model){const newDefaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);const currentDefaultState=tr.b.getFirstElement(model.getDescendantEvents()).selectionState;if(currentDefaultState!==newDefaultState){for(const e of model.getDescendantEvents()){e.selectionState=newDefaultState;}}} 6536let score;for(const e of dimmedEvents){score=0;if(this.findMatches_.contains(e)){score++;} 6537if(this.analysisViewRelatedEvents_.contains(e)){score++;} 6538e.selectionState=SelectionState.getFromDimmingLevel(score);} 6539for(const e of this.brightenedEvents_){score=0;if(this.selection_.contains(e)){score++;} 6540if(this.analysisLinkHoveredEvents_.contains(e)){score++;} 6541e.selectionState=SelectionState.getFromBrighteningLevel(score);}},transferModelOwnershipToClone(that){if(!this.appliedToModel_){throw new Error('Not applied');} 6542that.appliedToModel_=this.appliedToModel_;this.appliedToModel_=undefined;},unapplyFromEventSelectionStates(){if(!this.appliedToModel_){throw new Error('Not applied');} 6543const model=this.appliedToModel_;this.appliedToModel_=undefined;const dimmedEvents=this.dimmedEvents_;const defaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);for(const e of this.brightenedEvents_){e.selectionState=defaultState;} 6544for(const e of dimmedEvents){e.selectionState=defaultState;} 6545return defaultState;}};return{BrushingState,};});'use strict';tr.exportTo('tr.ui.b',function(){function Animation(){} 6546Animation.prototype={canTakeOverFor(existingAnimation){throw new Error('Not implemented');},takeOverFor(existingAnimation,newStartTimestamp,target){throw new Error('Not implemented');},start(timestamp,target){throw new Error('Not implemented');},didStopEarly(timestamp,target,willBeTakenOverByAnotherAnimation){},tick(timestamp,target){throw new Error('Not implemented');}};return{Animation,};});'use strict';tr.exportTo('tr.ui.b',function(){function AnimationController(){tr.b.EventTarget.call(this);this.target_=undefined;this.activeAnimation_=undefined;this.tickScheduled_=false;} 6547AnimationController.prototype={__proto__:tr.b.EventTarget.prototype,get target(){return this.target_;},set target(target){if(this.activeAnimation_){throw new Error('Cannot change target while animation is running.');} 6548if(target.cloneAnimationState===undefined||typeof target.cloneAnimationState!=='function'){throw new Error('target must have a cloneAnimationState function');} 6549this.target_=target;},get activeAnimation(){return this.activeAnimation_;},get hasActiveAnimation(){return!!this.activeAnimation_;},queueAnimation(animation,opt_now){if(this.target_===undefined){throw new Error('Cannot queue animations without a target');} 6550let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();} 6551if(this.activeAnimation_){const done=this.activeAnimation_.tick(now,this.target_);if(done){this.activeAnimation_=undefined;}} 6552if(this.activeAnimation_){if(animation.canTakeOverFor(this.activeAnimation_)){this.activeAnimation_.didStopEarly(now,this.target_,true);animation.takeOverFor(this.activeAnimation_,now,this.target_);}else{this.activeAnimation_.didStopEarly(now,this.target_,false);}} 6553this.activeAnimation_=animation;this.activeAnimation_.start(now,this.target_);if(this.tickScheduled_)return;this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);},cancelActiveAnimation(opt_now){if(!this.activeAnimation_)return;let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();} 6554this.activeAnimation_.didStopEarly(now,this.target_,false);this.activeAnimation_=undefined;},tickActiveAnimation_(frameBeginTime){this.tickScheduled_=false;if(!this.activeAnimation_)return;if(this.target_===undefined){this.activeAnimation_.didStopEarly(frameBeginTime,this.target_,false);return;} 6555const oldTargetState=this.target_.cloneAnimationState();const done=this.activeAnimation_.tick(frameBeginTime,this.target_);if(done){this.activeAnimation_=undefined;} 6556if(this.activeAnimation_){this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);} 6557if(oldTargetState){const e=new tr.b.Event('didtick');e.oldTargetState=oldTargetState;this.dispatchEvent(e,false,false);}}};return{AnimationController,};});'use strict';tr.exportTo('tr.b',function(){function Settings(){return Settings;} 6558if(tr.b.unittest&&tr.b.unittest.TestRunner){tr.b.unittest.TestRunner.addEventListener('tr-unittest-will-run',function(){if(tr.isHeadless){Settings.setAlternativeStorageInstance(new HeadlessStorage());}else{Settings.setAlternativeStorageInstance(global.sessionStorage);global.sessionStorage.clear();}});} 6559function SessionSettings(){return SessionSettings;} 6560function AddStaticStorageFunctionsToClass_(inputClass,storage){inputClass.storage_=storage;inputClass.get=function(key,opt_default,opt_namespace){key=inputClass.namespace_(key,opt_namespace);const rawVal=inputClass.storage_.getItem(key);if(rawVal===null||rawVal===undefined){return opt_default;} 6561try{return JSON.parse(rawVal).value;}catch(e){inputClass.storage_.removeItem(key);return opt_default;}};inputClass.set=function(key,value,opt_namespace){if(value===undefined){throw new Error('Settings.set: value must not be undefined');} 6562const v=JSON.stringify({value});inputClass.storage_.setItem(inputClass.namespace_(key,opt_namespace),v);};inputClass.keys=function(opt_namespace){const result=[];opt_namespace=opt_namespace||'';for(let i=0;i<inputClass.storage_.length;i++){const key=inputClass.storage_.key(i);if(inputClass.isnamespaced_(key,opt_namespace)){result.push(inputClass.unnamespace_(key,opt_namespace));}} 6563return result;};inputClass.isnamespaced_=function(key,opt_namespace){return key.indexOf(inputClass.normalize_(opt_namespace))===0;};inputClass.namespace_=function(key,opt_namespace){return inputClass.normalize_(opt_namespace)+key;};inputClass.unnamespace_=function(key,opt_namespace){return key.replace(inputClass.normalize_(opt_namespace),'');};inputClass.normalize_=function(opt_namespace){return inputClass.NAMESPACE+(opt_namespace?opt_namespace+'.':'');};inputClass.setAlternativeStorageInstance=function(instance){inputClass.storage_=instance;};inputClass.getAlternativeStorageInstance=function(){if(!tr.isHeadless&&inputClass.storage_===localStorage){return undefined;} 6564return inputClass.storage_;};inputClass.NAMESPACE='trace-viewer';} 6565function HeadlessStorage(){this.length=0;this.hasItem_={};this.items_={};this.itemsAsArray_=undefined;} 6566HeadlessStorage.prototype={key(index){return this.itemsAsArray[index];},get itemsAsArray(){if(this.itemsAsArray_!==undefined){return this.itemsAsArray_;} 6567const itemsAsArray=[];for(const k in this.items_){itemsAsArray.push(k);} 6568this.itemsAsArray_=itemsAsArray;return this.itemsAsArray_;},getItem(key){if(!this.hasItem_[key]){return null;} 6569return this.items_[key];},removeItem(key){if(!this.hasItem_[key]){return;} 6570const value=this.items_[key];delete this.hasItem_[key];delete this.items_[key];this.length--;this.itemsAsArray_=undefined;return value;},setItem(key,value){if(this.hasItem_[key]){this.items_[key]=value;return;} 6571this.items_[key]=value;this.hasItem_[key]=true;this.length++;this.itemsAsArray_=undefined;return value;}};if(tr.isHeadless){AddStaticStorageFunctionsToClass_(Settings,new HeadlessStorage());AddStaticStorageFunctionsToClass_(SessionSettings,new HeadlessStorage());}else{AddStaticStorageFunctionsToClass_(Settings,localStorage);AddStaticStorageFunctionsToClass_(SessionSettings,sessionStorage);} 6572return{Settings,SessionSettings,};});'use strict';tr.exportTo('tr.ui.b',function(){function createSpan(opt_dictionary){let ownerDocument=document;if(opt_dictionary&&opt_dictionary.ownerDocument){ownerDocument=opt_dictionary.ownerDocument;} 6573const spanEl=ownerDocument.createElement('span');if(opt_dictionary){if(opt_dictionary.className){spanEl.className=opt_dictionary.className;} 6574if(opt_dictionary.textContent){Polymer.dom(spanEl).textContent=opt_dictionary.textContent;} 6575if(opt_dictionary.tooltip){spanEl.title=opt_dictionary.tooltip;} 6576if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(spanEl);} 6577if(opt_dictionary.bold){spanEl.style.fontWeight='bold';} 6578if(opt_dictionary.italic){spanEl.style.fontStyle='italic';} 6579if(opt_dictionary.marginLeft){spanEl.style.marginLeft=opt_dictionary.marginLeft;} 6580if(opt_dictionary.marginRight){spanEl.style.marginRight=opt_dictionary.marginRight;} 6581if(opt_dictionary.backgroundColor){spanEl.style.backgroundColor=opt_dictionary.backgroundColor;} 6582if(opt_dictionary.color){spanEl.style.color=opt_dictionary.color;}} 6583return spanEl;} 6584function createLink(opt_args){let ownerDocument=document;if(opt_args&&opt_args.ownerDocument){ownerDocument=opt_args.ownerDocument;} 6585const linkEl=ownerDocument.createElement('a');if(opt_args){if(opt_args.href)linkEl.href=opt_args.href;if(opt_args.tooltip)linkEl.title=opt_args.tooltip;if(opt_args.color)linkEl.style.color=opt_args.color;if(opt_args.bold)linkEl.style.fontWeight='bold';if(opt_args.italic)linkEl.style.fontStyle='italic';if(opt_args.className)linkEl.className=opt_args.className;if(opt_args.parent)Polymer.dom(opt_args.parent).appendChild(linkEl);if(opt_args.marginLeft)linkEl.style.marginLeft=opt_args.marginLeft;if(opt_args.marginRight)linkEl.style.marginRight=opt_args.marginRight;if(opt_args.backgroundColor){linkEl.style.backgroundColor=opt_args.backgroundColor;} 6586if(opt_args.textContent){Polymer.dom(linkEl).textContent=opt_args.textContent;}} 6587return linkEl;} 6588function createDiv(opt_dictionary){const divEl=document.createElement('div');if(opt_dictionary){if(opt_dictionary.className){divEl.className=opt_dictionary.className;} 6589if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(divEl);} 6590if(opt_dictionary.textContent){Polymer.dom(divEl).textContent=opt_dictionary.textContent;} 6591if(opt_dictionary.maxWidth){divEl.style.maxWidth=opt_dictionary.maxWidth;}} 6592return divEl;} 6593function createScopedStyle(styleContent){const styleEl=document.createElement('style');styleEl.scoped=true;Polymer.dom(styleEl).innerHTML=styleContent;return styleEl;} 6594function valuesEqual(a,b){if(a instanceof Array&&b instanceof Array){return a.length===b.length&&JSON.stringify(a)===JSON.stringify(b);} 6595return a===b;} 6596function createSelector(targetEl,targetElProperty,settingsKey,defaultValue,items,opt_namespace){let defaultValueIndex;for(let i=0;i<items.length;i++){const item=items[i];if(valuesEqual(item.value,defaultValue)){defaultValueIndex=i;break;}} 6597if(defaultValueIndex===undefined){throw new Error('defaultValue must be in the items list');} 6598const selectorEl=document.createElement('select');selectorEl.addEventListener('change',onChange);for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);} 6599function onChange(e){const value=selectorEl.selectedOptions[0].targetPropertyValue;tr.b.Settings.set(settingsKey,value,opt_namespace);targetEl[targetElProperty]=value;} 6600const oldSetter=targetEl.__lookupSetter__('selectedIndex');selectorEl.__defineGetter__('selectedValue',function(v){return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(valuesEqual(value,v)){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;onChange();} 6601return;}} 6602throw new Error('Not a valid value');});const initialValue=tr.b.Settings.get(settingsKey,defaultValue,opt_namespace);let didSet=false;for(let i=0;i<selectorEl.children.length;i++){if(valuesEqual(selectorEl.children[i].targetPropertyValue,initialValue)){didSet=true;targetEl[targetElProperty]=initialValue;selectorEl.selectedIndex=i;break;}} 6603if(!didSet){selectorEl.selectedIndex=defaultValueIndex;targetEl[targetElProperty]=defaultValue;} 6604return selectorEl;} 6605function createEditCategorySpan(optionGroupEl,targetEl){const spanEl=createSpan({className:'edit-categories'});Polymer.dom(spanEl).textContent='Edit categories';Polymer.dom(spanEl).classList.add('labeled-option');spanEl.addEventListener('click',function(){targetEl.onClickEditCategories();});return spanEl;} 6606function createOptionGroup(targetEl,targetElProperty,settingsKey,defaultValue,items){function onChange(){let value=[];if(this.value.length){value=this.value.split(',');} 6607tr.b.Settings.set(settingsKey,value);targetEl[targetElProperty]=value;} 6608const optionGroupEl=createSpan({className:'labeled-option-group'});const initialValue=tr.b.Settings.get(settingsKey,defaultValue);for(let i=0;i<items.length;++i){const item=items[i];const id='category-preset-'+item.label.replace(/ /g,'-');const radioEl=document.createElement('input');radioEl.type='radio';Polymer.dom(radioEl).setAttribute('id',id);Polymer.dom(radioEl).setAttribute('name','category-presets-group');Polymer.dom(radioEl).setAttribute('value',item.value);radioEl.addEventListener('change',onChange.bind(radioEl,targetEl,targetElProperty,settingsKey));if(valuesEqual(initialValue,item.value)){radioEl.checked=true;} 6609const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=item.label;Polymer.dom(labelEl).setAttribute('for',id);const spanEl=createSpan({className:'labeled-option'});Polymer.dom(spanEl).appendChild(radioEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=radioEl.checked!==(!!opt_bool);if(!changed)return;radioEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return radioEl.checked;});Polymer.dom(optionGroupEl).appendChild(spanEl);} 6610Polymer.dom(optionGroupEl).appendChild(createEditCategorySpan(optionGroupEl,targetEl));if(!initialValue.length){Polymer.dom(optionGroupEl).classList.add('categories-expanded');} 6611targetEl[targetElProperty]=initialValue;return optionGroupEl;} 6612let nextCheckboxId=1;function createCheckBox(targetEl,targetElProperty,settingsKey,defaultValue,label,opt_changeCb){const buttonEl=document.createElement('input');buttonEl.type='checkbox';let initialValue=defaultValue;if(settingsKey!==undefined){initialValue=tr.b.Settings.get(settingsKey,defaultValue);buttonEl.checked=!!initialValue;} 6613if(targetEl){targetEl[targetElProperty]=initialValue;} 6614function onChange(){if(settingsKey!==undefined){tr.b.Settings.set(settingsKey,buttonEl.checked);} 6615if(targetEl){targetEl[targetElProperty]=buttonEl.checked;} 6616if(opt_changeCb){opt_changeCb.call();}} 6617buttonEl.addEventListener('change',onChange);const id='#checkbox-'+nextCheckboxId++;const spanEl=createSpan({className:'labeled-checkbox'});Polymer.dom(buttonEl).setAttribute('id',id);const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=label;Polymer.dom(labelEl).setAttribute('for',id);Polymer.dom(spanEl).appendChild(buttonEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=buttonEl.checked!==(!!opt_bool);if(!changed)return;buttonEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return buttonEl.checked;});return spanEl;} 6618function createButton(label,opt_callback,opt_this){const buttonEl=document.createElement('input');buttonEl.type='button';buttonEl.value=label;function onClick(){opt_callback.call(opt_this||buttonEl);} 6619if(opt_callback){buttonEl.addEventListener('click',onClick);} 6620return buttonEl;} 6621function createTextInput(targetEl,targetElProperty,settingsKey,defaultValue){const initialValue=tr.b.Settings.get(settingsKey,defaultValue);const el=document.createElement('input');el.type='text';function onChange(e){tr.b.Settings.set(settingsKey,el.value);targetEl[targetElProperty]=el.value;} 6622el.addEventListener('input',onChange);el.value=initialValue;targetEl[targetElProperty]=initialValue;return el;} 6623function isElementAttachedToDocument(el){let cur=el;while(Polymer.dom(cur).parentNode){cur=Polymer.dom(cur).parentNode;} 6624return(cur===el.ownerDocument||cur.nodeName==='#document-fragment');} 6625function asHTMLOrTextNode(value,opt_ownerDocument){if(value instanceof Node){return value;} 6626const ownerDocument=opt_ownerDocument||document;return ownerDocument.createTextNode(value);} 6627return{createSpan,createLink,createDiv,createScopedStyle,createSelector,createOptionGroup,createCheckBox,createButton,createTextInput,isElementAttachedToDocument,asHTMLOrTextNode,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCacheDict=new Map();const elidedTitleCache=new ElidedTitleCache();function ElidedTitleCache(){this.textWidthMap=new Map();} 6628ElidedTitleCache.prototype={get(ctx,pixWidth,title,width,sliceDuration){let elidedDict=elidedTitleCacheDict.get(title);if(!elidedDict){elidedDict=new Map();elidedTitleCacheDict.set(title,elidedDict);} 6629let elidedDictForPixWidth=elidedDict.get(pixWidth);if(!elidedDictForPixWidth){elidedDict.set(pixWidth,new Map());elidedDictForPixWidth=elidedDict.get(pixWidth);} 6630let stringWidthPair=elidedDictForPixWidth.get(sliceDuration);if(stringWidthPair===undefined){let newtitle=title;let elided=false;while(this.labelWidthWorld(ctx,newtitle,pixWidth)>sliceDuration){if(newtitle.length*0.75<1)break;newtitle=newtitle.substring(0,newtitle.length*0.75);elided=true;} 6631if(elided&&newtitle.length>3){newtitle=newtitle.substring(0,newtitle.length-3)+'...';} 6632stringWidthPair=new ElidedStringWidthPair(newtitle,this.labelWidth(ctx,newtitle));elidedDictForPixWidth.set(sliceDuration,stringWidthPair);} 6633return stringWidthPair;},quickMeasureText_(ctx,text){let w=this.textWidthMap.get(text);if(!w){w=ctx.measureText(text).width;this.textWidthMap.set(text,w);} 6634return w;},labelWidth(ctx,title){return this.quickMeasureText_(ctx,title)+2;},labelWidthWorld(ctx,title,pixWidth){return this.labelWidth(ctx,title)*pixWidth;}};function ElidedStringWidthPair(string,width){this.string=string;this.width=width;} 6635return{ElidedTitleCache,};});'use strict';tr.exportTo('tr.ui.b',function(){const ColorScheme=tr.b.ColorScheme;const colors=ColorScheme.colors;const colorsAsStrings=ColorScheme.colorsAsStrings;const SelectionState=tr.model.SelectionState;const EventPresenter={getSelectableItemColorAsString(item){const offset=this.getColorIdOffset_(item);const colorId=ColorScheme.getVariantColorId(item.colorId,offset);return colorsAsStrings[colorId];},getColorIdOffset_(event){return event.selectionState;},getTextColor(event){if(event.selectionState===SelectionState.DIMMED){return'rgb(60,60,60)';} 6636return'rgb(0,0,0)';},getSliceColorId(slice){const offset=this.getColorIdOffset_(slice);return ColorScheme.getVariantColorId(slice.colorId,offset);},getSliceAlpha(slice,async){let alpha=1;if(async){alpha*=0.3;} 6637return alpha;},getInstantSliceColor(instant){const offset=this.getColorIdOffset_(instant);const colorId=ColorScheme.getVariantColorId(instant.colorId,offset);return colors[colorId].toStringWithAlphaOverride(1.0);},getObjectInstanceColor(instance){const offset=this.getColorIdOffset_(instance);const colorId=ColorScheme.getVariantColorId(instance.colorId,offset);return colors[colorId].toStringWithAlphaOverride(0.25);},getObjectSnapshotColor(snapshot){const offset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getVariantColorId(colorId,offset);return colors[colorId];},getCounterSeriesColor(colorId,selectionState,opt_alphaMultiplier){const event={selectionState};const offset=this.getColorIdOffset_(event);const c=colors[ColorScheme.getVariantColorId(colorId,offset)];return c.toStringWithAlphaOverride(opt_alphaMultiplier!==undefined?opt_alphaMultiplier:1.0);},getBarSnapshotColor(snapshot,offset){const snapshotOffset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getAnotherColorId(colorId,offset);colorId=ColorScheme.getVariantColorId(colorId,snapshotOffset);return colors[colorId].toStringWithAlphaOverride(1.0);}};return{EventPresenter,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCache=new tr.ui.b.ElidedTitleCache();const ColorScheme=tr.b.ColorScheme;const colorsAsStrings=ColorScheme.colorsAsStrings;const EventPresenter=tr.ui.b.EventPresenter;const blackColorId=ColorScheme.getColorIdForReservedName('black');const THIN_SLICE_HEIGHT=4;const SLICE_WAITING_WIDTH_DRAW_THRESHOLD=3;const SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD=1;const SHOULD_ELIDE_TEXT=true;function drawLine(ctx,x1,y1,x2,y2){ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);} 6638function drawTriangle(ctx,x1,y1,x2,y2,x3,y3){ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.lineTo(x3,y3);ctx.closePath();} 6639function drawArrow(ctx,x1,y1,x2,y2,arrowLength,arrowWidth){const dx=x2-x1;const dy=y2-y1;const len=Math.sqrt(dx*dx+dy*dy);const perc=(len-arrowLength)/len;const bx=x1+perc*dx;const by=y1+perc*dy;const ux=dx/len;const uy=dy/len;const ax=uy*arrowWidth;const ay=-ux*arrowWidth;ctx.beginPath();drawLine(ctx,x1,y1,x2,y2);ctx.stroke();drawTriangle(ctx,bx+ax,by+ay,x2,y2,bx-ax,by-ay);ctx.fill();} 6640function drawSlices(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,async){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);const height=viewHeight*pixelRatio;let darkRectHeight=THIN_SLICE_HEIGHT*pixelRatio;if(height<darkRectHeight){darkRectHeight=0;} 6641const lightRectHeight=height-darkRectHeight;ctx.save();dt.applyTransformToCanvas(ctx);const rect=new tr.ui.b.FastRectRenderer(ctx,2*pixWidth,2*pixWidth,colorsAsStrings);rect.setYandH(0,height);const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);let hadTopLevel=false;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}} 6642const colorId=EventPresenter.getSliceColorId(slice);const alpha=EventPresenter.getSliceAlpha(slice,async);const lightAlpha=alpha*0.70;if(async&&slice.isTopLevel){rect.setYandH(3,height-3);hadTopLevel=true;}else{rect.setYandH(0,height);} 6643if(!slice.cpuDuration){rect.fillRect(x,w,colorId,alpha);continue;} 6644let activeWidth=w*(slice.cpuDuration/slice.duration);let waitingWidth=w-activeWidth;if(activeWidth<SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=0;waitingWidth=w;} 6645if(waitingWidth<SLICE_WAITING_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=w;waitingWidth=0;} 6646if(activeWidth>0){rect.fillRect(x,activeWidth,colorId,alpha);} 6647if(waitingWidth>0){rect.setYandH(0,lightRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,lightAlpha);rect.setYandH(lightRectHeight,darkRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,alpha);rect.setYandH(0,height);}} 6648rect.flush();if(async&&hadTopLevel){rect.setYandH(2,1);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;if(!slice.isTopLevel)continue;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}} 6649rect.fillRect(x,w,blackColorId,0.7);} 6650rect.flush();} 6651ctx.restore();} 6652function drawInstantSlicesAsLines(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,lineWidthInPixels){const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.lineWidth=pixWidth*lineWidthInPixels*pixelRatio;dt.applyTransformToCanvas(ctx);ctx.beginPath();const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start;},viewLWorld);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;ctx.strokeStyle=EventPresenter.getInstantSliceColor(slice);ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,height);ctx.stroke();} 6653ctx.restore();} 6654function drawLabels(ctx,dt,viewLWorld,viewRWorld,slices,async,fontSize,yOffset){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.textAlign='center';ctx.textBaseline='top';ctx.font=(fontSize*pixelRatio)+'px sans-serif';if(async){ctx.font='italic '+ctx.font;} 6655const cY=yOffset*pixelRatio;const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);const quickDiscardThresshold=pixWidth*20;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];if(slice.start>viewRWorld)break;if(slice.duration<=quickDiscardThresshold)continue;const title=slice.title+ 6656(slice.didNotFinish?' (Did Not Finish)':'');let drawnTitle=title;let drawnWidth=elidedTitleCache.labelWidth(ctx,drawnTitle);const fullLabelWidth=elidedTitleCache.labelWidthWorld(ctx,drawnTitle,pixWidth);if(SHOULD_ELIDE_TEXT&&fullLabelWidth>slice.duration){const elidedValues=elidedTitleCache.get(ctx,pixWidth,drawnTitle,drawnWidth,slice.duration);drawnTitle=elidedValues.string;drawnWidth=elidedValues.width;} 6657if(drawnWidth*pixWidth<slice.duration){ctx.fillStyle=EventPresenter.getTextColor(slice);const cX=dt.xWorldToView(slice.start+0.5*slice.duration);ctx.fillText(drawnTitle,cX,cY,drawnWidth);}} 6658ctx.restore();} 6659return{drawSlices,drawInstantSlicesAsLines,drawLabels,drawLine,drawTriangle,drawArrow,elidedTitleCache_:elidedTitleCache,THIN_SLICE_HEIGHT,};});'use strict';tr.exportTo('tr.ui',function(){function TimelineDisplayTransform(opt_that){if(opt_that){this.set(opt_that);return;} 6660this.scaleX=1;this.panX=0;this.panY=0;} 6661TimelineDisplayTransform.prototype={set(that){this.scaleX=that.scaleX;this.panX=that.panX;this.panY=that.panY;},clone(){return new TimelineDisplayTransform(this);},equals(that){let eq=true;if(that===undefined||that===null){return false;} 6662eq&=this.panX===that.panX;eq&=this.panY===that.panY;eq&=this.scaleX===that.scaleX;return!!eq;},almostEquals(that){let eq=true;if(that===undefined||that===null){return false;} 6663eq&=Math.abs(this.panX-that.panX)<0.001;eq&=Math.abs(this.panY-that.panY)<0.001;eq&=Math.abs(this.scaleX-that.scaleX)<0.001;return!!eq;},incrementPanXInViewUnits(xDeltaView){this.panX+=this.xViewVectorToWorld(xDeltaView);},xPanWorldPosToViewPos(worldX,viewX,viewWidth){if(typeof viewX==='string'){if(viewX==='left'){viewX=0;}else if(viewX==='center'){viewX=viewWidth/2;}else if(viewX==='right'){viewX=viewWidth-1;}else{throw new Error('viewX must be left|center|right or number.');}} 6664this.panX=(viewX/this.scaleX)-worldX;},xPanWorldBoundsIntoView(worldMin,worldMax,viewWidth){if(this.xWorldToView(worldMin)<0){this.xPanWorldPosToViewPos(worldMin,'left',viewWidth);}else if(this.xWorldToView(worldMax)>viewWidth){this.xPanWorldPosToViewPos(worldMax,'right',viewWidth);}},xSetWorldBounds(worldMin,worldMax,viewWidth){const worldWidth=worldMax-worldMin;const scaleX=viewWidth/worldWidth;const panX=-worldMin;this.setPanAndScale(panX,scaleX);},setPanAndScale(p,s){this.scaleX=s;this.panX=p;},xWorldToView(x){return(x+this.panX)*this.scaleX;},xWorldVectorToView(x){return x*this.scaleX;},xViewToWorld(x){return(x/this.scaleX)-this.panX;},xViewVectorToWorld(x){return x/this.scaleX;},applyTransformToCanvas(ctx){ctx.transform(this.scaleX,0,0,1,this.panX*this.scaleX,0);}};return{TimelineDisplayTransform,};});'use strict';tr.exportTo('tr.ui',function(){function SnapIndicator(y,height){this.y=y;this.height=height;} 6665function TimelineInterestRange(vp){this.viewport_=vp;this.range_=new tr.b.math.Range();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;} 6666TimelineInterestRange.prototype={get isEmpty(){return this.range_.isEmpty;},reset(){this.range_.reset();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;this.viewport_.dispatchChangeEvent();},get min(){return this.range_.min;},set min(min){this.range_.min=min;this.viewport_.dispatchChangeEvent();},get max(){return this.range_.max;},set max(max){this.range_.max=max;this.viewport_.dispatchChangeEvent();},set(range){this.range_.reset();this.range_.addRange(range);this.viewport_.dispatchChangeEvent();},setMinAndMax(min,max){this.range_.min=min;this.range_.max=max;this.viewport_.dispatchChangeEvent();},get range(){return this.range_.range;},asRangeObject(){const range=new tr.b.math.Range();range.addRange(this.range_);return range;},get leftSelected(){return this.leftSelected_;},set leftSelected(leftSelected){if(this.leftSelected_===leftSelected)return;this.leftSelected_=leftSelected;this.viewport_.dispatchChangeEvent();},get rightSelected(){return this.rightSelected_;},set rightSelected(rightSelected){if(this.rightSelected_===rightSelected)return;this.rightSelected_=rightSelected;this.viewport_.dispatchChangeEvent();},get leftSnapIndicator(){return this.leftSnapIndicator_;},set leftSnapIndicator(leftSnapIndicator){this.leftSnapIndicator_=leftSnapIndicator;this.viewport_.dispatchChangeEvent();},get rightSnapIndicator(){return this.rightSnapIndicator_;},set rightSnapIndicator(rightSnapIndicator){this.rightSnapIndicator_=rightSnapIndicator;this.viewport_.dispatchChangeEvent();},draw(ctx,viewLWorld,viewRWorld){if(this.range_.isEmpty)return;const dt=this.viewport_.currentDisplayTransform;const markerLWorld=this.min;const markerRWorld=this.max;const markerLView=Math.round(dt.xWorldToView(markerLWorld));const markerRView=Math.round(dt.xWorldToView(markerRWorld));ctx.fillStyle='rgba(0, 0, 0, 0.2)';if(markerLWorld>viewLWorld){ctx.fillRect(dt.xWorldToView(viewLWorld),0,markerLView,ctx.canvas.height);} 6667if(markerRWorld<viewRWorld){ctx.fillRect(markerRView,0,dt.xWorldToView(viewRWorld),ctx.canvas.height);} 6668const pixelRatio=window.devicePixelRatio||1;ctx.lineWidth=Math.round(pixelRatio);if(this.range_.range>0){this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_);this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.max,this.rightSelected_);}else{this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_||this.rightSelected_);} 6669ctx.lineWidth=1;},drawLine_(ctx,viewLWorld,viewRWorld,height,ts,selected){if(ts<viewLWorld||ts>=viewRWorld)return;const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(ts));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,height);if(selected){ctx.strokeStyle='rgb(255, 0, 0)';}else{ctx.strokeStyle='rgb(0, 0, 0)';} 6670ctx.stroke();ctx.restore();},drawIndicators(ctx,viewLWorld,viewRWorld){if(this.leftSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.min,this.leftSnapIndicator_,this.leftSelected_);} 6671if(this.rightSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.max,this.rightSnapIndicator_,this.rightSelected_);}},drawIndicator_(ctx,viewLWorld,viewRWorld,xWorld,si,selected){const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(xWorld));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);const pixelRatio=window.devicePixelRatio||1;const viewY=si.y*devicePixelRatio;const viewHeight=si.height*devicePixelRatio;const arrowSize=4*pixelRatio;if(selected){ctx.fillStyle='rgb(255, 0, 0)';}else{ctx.fillStyle='rgb(0, 0, 0)';} 6672tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY,viewX+arrowSize*0.75,viewY,viewX,viewY+arrowSize);ctx.fill();tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY+viewHeight,viewX+arrowSize*0.75,viewY+viewHeight,viewX,viewY+viewHeight-arrowSize);ctx.fill();ctx.restore();}};return{SnapIndicator,TimelineInterestRange,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ContainerToTrackMap(){this.stableIdToTrackMap_={};} 6673ContainerToTrackMap.prototype={addContainer(container,track){if(!track){throw new Error('Must provide a track.');} 6674this.stableIdToTrackMap_[container.stableId]=track;},clear(){this.stableIdToTrackMap_={};},getTrackByStableId(stableId){return this.stableIdToTrackMap_[stableId];}};return{ContainerToTrackMap,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function EventToTrackMap(){} 6675EventToTrackMap.prototype={addEvent(event,track){if(!track){throw new Error('Must provide a track.');} 6676this[event.guid]=track;}};return{EventToTrackMap,};});'use strict';tr.exportTo('tr.ui',function(){const TimelineDisplayTransform=tr.ui.TimelineDisplayTransform;const TimelineInterestRange=tr.ui.TimelineInterestRange;const IDEAL_MAJOR_MARK_DISTANCE_PX=150;const MAJOR_MARK_ROUNDING_FACTOR=100000;class AnimationControllerProxy{constructor(target){this.target_=target;} 6677get panX(){return this.target_.currentDisplayTransform_.panX;} 6678set panX(panX){this.target_.currentDisplayTransform_.panX=panX;} 6679get panY(){return this.target_.currentDisplayTransform_.panY;} 6680set panY(panY){this.target_.currentDisplayTransform_.panY=panY;} 6681get scaleX(){return this.target_.currentDisplayTransform_.scaleX;} 6682set scaleX(scaleX){this.target_.currentDisplayTransform_.scaleX=scaleX;} 6683cloneAnimationState(){return this.target_.currentDisplayTransform_.clone();} 6684xPanWorldPosToViewPos(xWorld,xView){this.target_.currentDisplayTransform_.xPanWorldPosToViewPos(xWorld,xView,this.target_.modelTrackContainer_.canvas.clientWidth);}} 6685function TimelineViewport(parentEl){this.parentEl_=parentEl;this.modelTrackContainer_=undefined;this.currentDisplayTransform_=new TimelineDisplayTransform();this.initAnimationController_();this.showFlowEvents_=false;this.highlightVSync_=false;this.highDetails_=false;this.gridTimebase_=0;this.gridStep_=1000/60;this.gridEnabled_=false;this.hasCalledSetupFunction_=false;this.onResize_=this.onResize_.bind(this);this.onModelTrackControllerScroll_=this.onModelTrackControllerScroll_.bind(this);this.timeMode_=TimelineViewport.TimeMode.TIME_IN_MS;this.majorMarkWorldPositions_=[];this.majorMarkUnit_=undefined;this.interestRange_=new TimelineInterestRange(this);this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.containerToTrackMap=new tr.ui.tracks.ContainerToTrackMap();this.dispatchChangeEvent=this.dispatchChangeEvent.bind(this);} 6686TimelineViewport.TimeMode={TIME_IN_MS:0,REVISIONS:1};TimelineViewport.prototype={__proto__:tr.b.EventTarget.prototype,get isAttachedToDocumentOrInTestMode(){if(this.parentEl_===undefined)return;return tr.ui.b.isElementAttachedToDocument(this.parentEl_);},onResize_(){this.dispatchChangeEvent();},dispatchChangeEvent(){tr.b.dispatchSimpleEvent(this,'change');},detach(){window.removeEventListener('resize',this.dispatchChangeEvent);},initAnimationController_(){this.dtAnimationController_=new tr.ui.b.AnimationController();this.dtAnimationController_.addEventListener('didtick',function(e){this.onCurentDisplayTransformChange_(e.oldTargetState);}.bind(this));this.dtAnimationController_.target=new AnimationControllerProxy(this);},get currentDisplayTransform(){return this.currentDisplayTransform_;},setDisplayTransformImmediately(displayTransform){this.dtAnimationController_.cancelActiveAnimation();const oldDisplayTransform=this.dtAnimationController_.target.cloneAnimationState();this.currentDisplayTransform_.set(displayTransform);this.onCurentDisplayTransformChange_(oldDisplayTransform);},queueDisplayTransformAnimation(animation){if(!(animation instanceof tr.ui.b.Animation)){throw new Error('animation must be instanceof tr.ui.b.Animation');} 6687this.dtAnimationController_.queueAnimation(animation);},onCurentDisplayTransformChange_(oldDisplayTransform){if(this.modelTrackContainer_){this.currentDisplayTransform.panY=tr.b.math.clamp(this.currentDisplayTransform.panY,0,this.modelTrackContainer_.scrollHeight- 6688this.modelTrackContainer_.clientHeight);} 6689const changed=!this.currentDisplayTransform.equals(oldDisplayTransform);const yChanged=this.currentDisplayTransform.panY!==oldDisplayTransform.panY;if(yChanged){this.modelTrackContainer_.scrollTop=this.currentDisplayTransform.panY;} 6690if(changed){this.dispatchChangeEvent();}},onModelTrackControllerScroll_(e){if(this.dtAnimationController_.activeAnimation&&this.dtAnimationController_.activeAnimation.affectsPanY){this.dtAnimationController_.cancelActiveAnimation();} 6691const panY=this.modelTrackContainer_.scrollTop;this.currentDisplayTransform_.panY=panY;},get modelTrackContainer(){return this.modelTrackContainer_;},set modelTrackContainer(m){if(this.modelTrackContainer_){this.modelTrackContainer_.removeEventListener('scroll',this.onModelTrackControllerScroll_);} 6692this.modelTrackContainer_=m;this.modelTrackContainer_.addEventListener('scroll',this.onModelTrackControllerScroll_);},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;this.dispatchChangeEvent();},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;this.dispatchChangeEvent();},get highDetails(){return this.highDetails_;},set highDetails(highDetails){this.highDetails_=highDetails;this.dispatchChangeEvent();},get gridEnabled(){return this.gridEnabled_;},set gridEnabled(enabled){if(this.gridEnabled_===enabled)return;this.gridEnabled_=enabled&&true;this.dispatchChangeEvent();},get gridTimebase(){return this.gridTimebase_;},set gridTimebase(timebase){if(this.gridTimebase_===timebase)return;this.gridTimebase_=timebase;this.dispatchChangeEvent();},get gridStep(){return this.gridStep_;},get interestRange(){return this.interestRange_;},get majorMarkWorldPositions(){return this.majorMarkWorldPositions_;},get majorMarkUnit(){switch(this.timeMode_){case TimelineViewport.TimeMode.TIME_IN_MS:return tr.b.Unit.byName.timeInMsAutoFormat;case TimelineViewport.TimeMode.REVISIONS:return tr.b.Unit.byName.count;default:throw new Error('Cannot get Unit for unsupported time mode '+this.timeMode_);}},get timeMode(){return this.timeMode_;},set timeMode(mode){this.timeMode_=mode;this.dispatchChangeEvent();},updateMajorMarkData(viewLWorld,viewRWorld){const pixelRatio=window.devicePixelRatio||1;const dt=this.currentDisplayTransform;const idealMajorMarkDistancePix=IDEAL_MAJOR_MARK_DISTANCE_PX*pixelRatio;const idealMajorMarkDistanceWorld=dt.xViewVectorToWorld(idealMajorMarkDistancePix);const majorMarkDistanceWorld=tr.b.math.preferredNumberLargerThanMin(idealMajorMarkDistanceWorld);const firstMajorMark=Math.floor(viewLWorld/majorMarkDistanceWorld)*majorMarkDistanceWorld;this.majorMarkWorldPositions_=[];for(let curX=firstMajorMark;curX<viewRWorld;curX+=majorMarkDistanceWorld){this.majorMarkWorldPositions_.push(Math.floor(MAJOR_MARK_ROUNDING_FACTOR*curX)/MAJOR_MARK_ROUNDING_FACTOR);}},drawMajorMarkLines(ctx){ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();for(const majorMark of this.majorMarkWorldPositions_){const x=this.currentDisplayTransform.xWorldToView(majorMark);tr.ui.b.drawLine(ctx,x,0,x,ctx.canvas.height);} 6693ctx.strokeStyle='#ddd';ctx.stroke();ctx.restore();},drawGridLines(ctx,viewLWorld,viewRWorld){if(!this.gridEnabled)return;const dt=this.currentDisplayTransform;let x=this.gridTimebase;ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();while(x<viewRWorld){if(x>=viewLWorld){const vx=Math.floor(dt.xWorldToView(x));tr.ui.b.drawLine(ctx,vx,0,vx,ctx.canvas.height);} 6694x+=this.gridStep;} 6695ctx.strokeStyle='rgba(255, 0, 0, 0.25)';ctx.stroke();ctx.restore();},getShiftedSelection(selection,offset){const newSelection=new tr.model.EventSet();for(const event of selection){if(event instanceof tr.model.FlowEvent){if(offset>0){newSelection.push(event.endSlice);}else if(offset<0){newSelection.push(event.startSlice);}else{} 6696continue;} 6697const track=this.trackForEvent(event);track.addEventNearToProvidedEventToSelection(event,offset,newSelection);} 6698if(newSelection.length===0)return undefined;return newSelection;},rebuildEventToTrackMap(){this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.modelTrackContainer_.addEventsToTrackMap(this.eventToTrackMap_);},rebuildContainerToTrackMap(){this.containerToTrackMap.clear();this.modelTrackContainer_.addContainersToTrackMap(this.containerToTrackMap);},trackForEvent(event){return this.eventToTrackMap_[event.guid];}};return{TimelineViewport,};});'use strict';tr.exportTo('tr.c',function(){const BrushingState=tr.ui.b.BrushingState;const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;const Viewport=tr.ui.TimelineViewport;function BrushingStateController(timelineView){tr.b.EventTarget.call(this);this.timelineView_=timelineView;this.currentBrushingState_=new BrushingState();this.onPopState_=this.onPopState_.bind(this);this.historyEnabled_=false;this.selections_={};} 6699BrushingStateController.prototype={__proto__:tr.b.EventTarget.prototype,dispatchChangeEvent_(){const e=new tr.b.Event('change',false,false);this.dispatchEvent(e);},get model(){if(!this.timelineView_){return undefined;} 6700return this.timelineView_.model;},get trackView(){if(!this.timelineView_){return undefined;} 6701return this.timelineView_.trackView;},get viewport(){if(!this.timelineView_){return undefined;} 6702if(!this.timelineView_.trackView){return undefined;} 6703return this.timelineView_.trackView.viewport;},get historyEnabled(){return this.historyEnabled_;},set historyEnabled(historyEnabled){this.historyEnabled_=!!historyEnabled;if(historyEnabled){window.addEventListener('popstate',this.onPopState_);}else{window.removeEventListener('popstate',this.onPopState_);}},modelWillChange(){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();}},modelDidChange(){this.selections_={};this.currentBrushingState_=new BrushingState();this.currentBrushingState_.applyToEventSelectionStates(this.model);const e=new tr.b.Event('model-changed',false,false);this.dispatchEvent(e);this.dispatchChangeEvent_();},onUserInitiatedSelectionChange_(){const selection=this.selection;if(this.historyEnabled){this.selections_[selection.guid]=selection;const state={selection_guid:selection.guid};window.history.pushState(state,document.title);}},onPopState_(e){if(e.state===null)return;const selection=this.selections_[e.state.selection_guid];if(selection){const newState=this.currentBrushingState_.clone();newState.selection=selection;this.currentBrushingState=newState;} 6704e.stopPropagation();},get selection(){return this.currentBrushingState_.selection;},get findMatches(){return this.currentBrushingState_.findMatches;},get selectionOfInterest(){return this.currentBrushingState_.selectionOfInterest;},get currentBrushingState(){return this.currentBrushingState_;},set currentBrushingState(newBrushingState){if(newBrushingState.isAppliedToModel){throw new Error('Cannot apply this state, it is applied');} 6705const hasValueChanged=!this.currentBrushingState_.equals(newBrushingState);if(newBrushingState!==this.currentBrushingState_&&!hasValueChanged){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.transferModelOwnershipToClone(newBrushingState);} 6706this.currentBrushingState_=newBrushingState;return;} 6707if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();} 6708this.currentBrushingState_=newBrushingState;this.currentBrushingState_.applyToEventSelectionStates(this.model);this.dispatchChangeEvent_();},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const timelineView=this.timelineView_.trackView;if(!timelineView){return new tr.b.Task();} 6709return timelineView.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);},findTextChangedTo(allPossibleMatches){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.findMatches=allPossibleMatches;this.currentBrushingState=newBrushingState;},findFocusChangedTo(currentFocus){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=currentFocus;this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},findTextCleared(){if(this.xNavStringMarker_!==undefined){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;} 6710if(this.guideLineAnnotation_!==undefined){this.model.removeAnnotation(this.guideLineAnnotation_);this.guideLineAnnotation_=undefined;} 6711const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=new EventSet();newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},uiStateFromString(string){return tr.ui.b.UIState.fromUserFriendlyString(this.model,this.viewport,string);},navToPosition(uiState,showNavLine){this.trackView.navToPosition(uiState,showNavLine);},changeSelectionFromTimeline(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},showScriptControlSelection(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;},changeSelectionFromRequestSelectionChangeEvent(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},changeAnalysisViewRelatedEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisViewRelatedEvents=eventSet;this.currentBrushingState=newBrushingState;},changeAnalysisLinkHoveredEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisLinkHoveredEvents=eventSet;this.currentBrushingState=newBrushingState;},getViewSpecificBrushingState(viewId){return this.currentBrushingState.viewSpecificBrushingStates[viewId];},changeViewSpecificBrushingState(viewId,newState){const oldStates=this.currentBrushingState_.viewSpecificBrushingStates;const newStates={};for(const id in oldStates){newStates[id]=oldStates[id];} 6712if(newState===undefined){delete newStates[viewId];}else{newStates[viewId]=newState;} 6713const newBrushingState=this.currentBrushingState_.clone();newBrushingState.viewSpecificBrushingStates=newStates;this.currentBrushingState=newBrushingState;}};BrushingStateController.getControllerForElement=function(element){if(tr.isHeadless){throw new Error('Unsupported');} 6714let currentElement=element;while(currentElement){if(currentElement.brushingStateController){return currentElement.brushingStateController;} 6715if(currentElement.parentElement){currentElement=currentElement.parentElement;continue;} 6716let currentNode=currentElement;while(Polymer.dom(currentNode).parentNode){currentNode=Polymer.dom(currentNode).parentNode;} 6717currentElement=currentNode.host;} 6718return undefined;};return{BrushingStateController,};});'use strict';Polymer({is:'tr-ui-a-analysis-link',properties:{href:{type:String}},listeners:{'click':'onClicked_','mouseenter':'onMouseEnter_','mouseleave':'onMouseLeave_'},ready(){this.selection_=undefined;},attached(){this.controller_=tr.c.BrushingStateController.getControllerForElement(this);},detached(){this.clearHighlight_();this.controller_=undefined;},set color(c){this.style.color=c;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;Polymer.dom(this).textContent=selection.userFriendlyName;},setSelectionAndContent(selection,opt_textContent){this.selection_=selection;if(opt_textContent){Polymer.dom(this).textContent=opt_textContent;}},getCurrentSelection_(){if(typeof this.selection_==='function'){return this.selection_();} 6719return this.selection_;},setHighlight_(opt_eventSet){if(this.controller_){this.controller_.changeAnalysisLinkHoveredEvents(opt_eventSet);}},clearHighlight_(opt_eventSet){this.setHighlight_();},onClicked_(clickEvent){if(!this.selection_)return;clickEvent.stopPropagation();const event=new tr.model.RequestSelectionChangeEvent();event.selection=this.getCurrentSelection_();this.dispatchEvent(event);},onMouseEnter_(){this.setHighlight_(this.getCurrentSelection_());},onMouseLeave_(){this.clearHighlight_();}});'use strict';tr.exportTo('tr.ui.b',function(){const TableFormat={};TableFormat.SelectionMode={NONE:0,ROW:1,CELL:2};TableFormat.HighlightStyle={DEFAULT:0,NONE:1,LIGHT:2,DARK:3};TableFormat.ColumnAlignment={LEFT:0,RIGHT:1};return{TableFormat,};});'use strict';(function(){const RIGHT_ARROW=String.fromCharCode(0x25b6);const UNSORTED_ARROW=String.fromCharCode(0x25BF);const ASCENDING_ARROW=String.fromCharCode(0x25B4);const DESCENDING_ARROW=String.fromCharCode(0x25BE);const SelectionMode=tr.ui.b.TableFormat.SelectionMode;const HighlightStyle=tr.ui.b.TableFormat.HighlightStyle;const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table',created(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.customizeTableRowCallback_=undefined;this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;this.computedFontSizePx_=undefined;},ready(){this.$.body.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.$.body.addEventListener('focus',this.onFocus_.bind(this),true);},clear(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;Polymer.dom(this).textContent='';this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;},set zebra(zebra){if(zebra){this.setAttribute('zebra',true);}else{this.removeAttribute('zebra');}},get zebra(){return this.getAttribute('zebra');},get showHeader(){return this.showHeader_;},set showHeader(showHeader){this.showHeader_=showHeader;this.scheduleRebuildHeaders_();},set subRowsPropertyName(name){this.subRowsPropertyName_=name;},set defaultExpansionStateCallback(cb){this.defaultExpansionStateCallback_=cb;this.scheduleRebuildBody_();},set customizeTableRowCallback(cb){this.customizeTableRowCallback_=cb;this.scheduleRebuildBody_();},get emptyValue(){return this.emptyValue_;},set emptyValue(emptyValue){const previousEmptyValue=this.emptyValue_;this.emptyValue_=emptyValue;if(this.tableRows_.length===0&&emptyValue!==previousEmptyValue){this.scheduleRebuildBody_();}},set tableColumns(columns){let columnsWithExpandButtons=[];for(let i=0;i<columns.length;i++){if(columns[i].showExpandButtons){columnsWithExpandButtons.push(i);}} 6720if(columnsWithExpandButtons.length===0){columnsWithExpandButtons=[0];} 6721for(let i=0;i<columns.length;i++){const colInfo=columns[i];if(colInfo.width===undefined)continue;const hasExpandButton=columnsWithExpandButtons.includes(i);const w=colInfo.width;if(w){if(/\d+px/.test(w)){continue;}else if(/\d+%/.test(w)){if(hasExpandButton){throw new Error('Columns cannot be %-sized and host '+' an expand button');}}else{throw new Error('Unrecognized width string');}}} 6722let sortIndex=undefined;const currentSortColumn=this.tableColumns[this.sortColumnIndex_];if(currentSortColumn){for(const[i,column]of columns.entries()){if(currentSortColumn.title===column.title){sortIndex=i;break;}}} 6723this.tableColumns_=columns;this.headerCells_=[];this.columnsWithExpandButtons_=columnsWithExpandButtons;this.scheduleRebuildHeaders_();this.sortColumnIndex=sortIndex;this.tableRows=this.tableRows_;},get tableColumns(){return this.tableColumns_;},set tableRows(rows){this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableRows_=rows;this.tableRowsInfo_=new WeakMap();this.scheduleRebuildBody_();},get tableRows(){return this.tableRows_;},set footerRows(rows){this.tableFooterRows_=rows;this.tableFooterRowsInfo_=new WeakMap();this.scheduleRebuildFooter_();},get footerRows(){return this.tableFooterRows_;},get userCanModifySortOrder(){return this.userCanModifySortOrder_;},set userCanModifySortOrder(userCanModifySortOrder){const newUserCanModifySortOrder=!!userCanModifySortOrder;if(newUserCanModifySortOrder===this.userCanModifySortOrder_){return;} 6724this.userCanModifySortOrder_=newUserCanModifySortOrder;this.scheduleRebuildHeaders_();},set sortColumnIndex(number){if(number===this.sortColumnIndex_)return;if(number!==undefined){if(this.tableColumns_.length<=number){throw new Error('Column number '+number+' is out of bounds.');} 6725if(!this.tableColumns_[number].cmp){throw new Error('Column '+number+' does not have a comparator.');}} 6726this.sortColumnIndex_=number;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();},get sortColumnIndex(){return this.sortColumnIndex_;},set sortDescending(value){const newValue=!!value;if(newValue!==this.sortDescending_){this.sortDescending_=newValue;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();}},get sortDescending(){return this.sortDescending_;},updateHeaderArrows_(){for(let i=0;i<this.headerCells_.length;i++){const headerCell=this.headerCells_[i];const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(!this.tableColumns_[i].cmp||(!this.userCanModifySortOrder_&&!isColumnCurrentlySorted)){headerCell.sideContent='';continue;} 6727if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;headerCell.sideContentDisabled=false;continue;} 6728headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;headerCell.sideContentDisabled=!this.userCanModifySortOrder_;}},generateHeaderColumns_(){const selectedTableColumnIndex=this.selectedTableColumnIndex;Polymer.dom(this.$.cols).textContent='';for(let i=0;i<this.tableColumns_.length;++i){const colElement=document.createElement('col');if(i===selectedTableColumnIndex){colElement.setAttribute('selected',true);} 6729Polymer.dom(this.$.cols).appendChild(colElement);} 6730this.headerCells_=[];Polymer.dom(this.$.head).textContent='';if(!this.showHeader_)return;const tr=this.appendNewElement_(this.$.head,'tr');for(let i=0;i<this.tableColumns_.length;i++){const td=this.appendNewElement_(tr,'td');const headerCell=document.createElement('tr-ui-b-table-header-cell');headerCell.column=this.tableColumns_[i];if(this.tableColumns_[i].cmp){const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(isColumnCurrentlySorted){headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;if(!this.userCanModifySortOrder_){headerCell.sideContentDisabled=true;}} 6731if(this.userCanModifySortOrder_){Polymer.dom(td).classList.add('sensitive');if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;} 6732headerCell.tapCallback=this.createSortCallback_(i);}} 6733Polymer.dom(td).appendChild(headerCell);this.headerCells_.push(headerCell);}},applySizes_(){if(this.tableRows_.length===0&&!this.showHeader)return;let rowToRemoveSizing;let rowToSize;if(this.showHeader){rowToSize=Polymer.dom(this.$.head).children[0];rowToRemoveSizing=Polymer.dom(this.$.body).children[0];}else{rowToSize=Polymer.dom(this.$.body).children[0];rowToRemoveSizing=Polymer.dom(this.$.head).children[0];} 6734for(let i=0;i<this.tableColumns_.length;i++){if(rowToRemoveSizing&&Polymer.dom(rowToRemoveSizing).children[i]){const tdToRemoveSizing=Polymer.dom(rowToRemoveSizing).children[i];tdToRemoveSizing.style.minWidth='';tdToRemoveSizing.style.width='';} 6735const td=Polymer.dom(rowToSize).children[i];let delta;if(this.columnsWithExpandButtons_.includes(i)){td.style.paddingLeft=this.basicIndentation_+'px';delta=this.basicIndentation_+'px';}else{delta=undefined;} 6736function calc(base,delta){if(delta){return'calc('+base+' - '+delta+')';} 6737return base;} 6738const w=this.tableColumns_[i].width;if(w){if(/\d+px/.test(w)){td.style.minWidth=calc(w,delta);}else if(/\d+%/.test(w)){td.style.width=w;}else{throw new Error('Unrecognized width string: '+w);}}}},createSortCallback_(columnNumber){return function(){if(!this.userCanModifySortOrder_)return;const previousIndex=this.sortColumnIndex;this.sortColumnIndex=columnNumber;if(previousIndex!==columnNumber){this.sortDescending=false;}else{this.sortDescending=!this.sortDescending;}}.bind(this);},generateTableRowNodes_(tableSection,userRows,rowInfoMap,indentation,lastAddedRow,parentRowInfo){if(this.sortColumnIndex_!==undefined&&tableSection===this.$.body){userRows=userRows.slice();userRows.sort(function(rowA,rowB){let c=this.tableColumns_[this.sortColumnIndex_].cmp(rowA,rowB);if(this.sortDescending_){c=-c;} 6739return c;}.bind(this));} 6740for(let i=0;i<userRows.length;i++){const userRow=userRows[i];const rowInfo=this.getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo);const htmlNode=this.getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation);if(lastAddedRow===undefined){Polymer.dom(tableSection).insertBefore(htmlNode,Polymer.dom(tableSection).firstChild);}else{const nextSiblingOfLastAdded=Polymer.dom(lastAddedRow).nextSibling;Polymer.dom(tableSection).insertBefore(htmlNode,nextSiblingOfLastAdded);} 6741lastAddedRow=htmlNode;if(!rowInfo.isExpanded)continue;lastAddedRow=this.generateTableRowNodes_(tableSection,userRow[this.subRowsPropertyName_],rowInfoMap,indentation+1,lastAddedRow,rowInfo);} 6742return lastAddedRow;},getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo){let rowInfo=undefined;if(rowInfoMap.has(userRow)){rowInfo=rowInfoMap.get(userRow);}else{rowInfo={userRow,htmlNode:undefined,parentRowInfo};rowInfoMap.set(userRow,rowInfo);} 6743rowInfo.isExpanded=this.getExpandedForUserRow_(userRow);return rowInfo;},customizeTableRow_(userRow,trElement){if(!this.customizeTableRowCallback_)return;this.customizeTableRowCallback_(userRow,trElement);},get basicIndentation_(){if(this.computedFontSizePx_===undefined){this.computedFontSizePx_=parseInt(getComputedStyle(this).fontSize)||16;} 6744return this.computedFontSizePx_-2;},getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation){if(rowInfo.htmlNode){this.customizeTableRow_(rowInfo.userRow,rowInfo.htmlNode);return rowInfo.htmlNode;} 6745const INDENT_SPACE=indentation*16;const INDENT_SPACE_NO_BUTTON=indentation*16+this.basicIndentation_;const trElement=this.ownerDocument.createElement('tr');rowInfo.htmlNode=trElement;rowInfo.indentation=indentation;trElement.rowInfo=rowInfo;this.customizeTableRow_(rowInfo.userRow,trElement);const isBodyRow=tableSection===this.$.body;const isExpandableRow=rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length;for(let i=0;i<this.tableColumns_.length;){const td=this.appendNewElement_(trElement,'td');td.columnIndex=i;const column=this.tableColumns_[i];const value=column.value(rowInfo.userRow);const colSpan=column.colSpan?column.colSpan:1;td.style.colSpan=colSpan;switch(column.align){case undefined:case ColumnAlignment.LEFT:break;case ColumnAlignment.RIGHT:td.style.textAlign='right';break;default:throw new Error('Invalid alignment of column at index='+i+': '+column.align);} 6746if(this.doesColumnIndexSupportSelection(i)){Polymer.dom(td).classList.add('supports-selection');} 6747if(this.columnsWithExpandButtons_.includes(i)){if(rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length>0){td.style.paddingLeft=INDENT_SPACE+'px';td.style.display='flex';const expandButton=this.appendNewElement_(td,'expand-button');Polymer.dom(expandButton).textContent=RIGHT_ARROW;if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');}}else{td.style.paddingLeft=INDENT_SPACE_NO_BUTTON+'px';}} 6748if(value!==undefined){Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(value,this.ownerDocument));} 6749td.addEventListener('click',function(i,clickEvent){clickEvent.preventDefault();if(!isBodyRow&&!isExpandableRow)return;clickEvent.stopPropagation();if(clickEvent.target.tagName==='EXPAND-BUTTON'){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);return;} 6750if(isBodyRow&&this.selectionMode_!==SelectionMode.NONE){let shouldSelect=false;let shouldFocus=false;switch(this.selectionMode_){case SelectionMode.ROW:shouldSelect=this.selectedTableRowInfo_!==rowInfo;shouldFocus=true;break;case SelectionMode.CELL:if(this.doesColumnIndexSupportSelection(i)){shouldSelect=this.selectedTableRowInfo_!==rowInfo||this.selectedColumnIndex_!==i;shouldFocus=true;} 6751break;default:throw new Error('Invalid selection mode '+ 6752this.selectionMode_);} 6753if(shouldFocus){this.focus();} 6754if(shouldSelect){this.didTableRowInfoGetClicked_(rowInfo,i);return;}} 6755if(isExpandableRow){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);}}.bind(this,i));if(isBodyRow){td.addEventListener('dblclick',function(i,e){e.stopPropagation();this.dispatchStepIntoEvent_(rowInfo,i);}.bind(this,i));} 6756i+=colSpan;} 6757return rowInfo.htmlNode;},removeSubNodes_(tableSection,rowInfo,rowInfoMap){if(rowInfo.userRow[this.subRowsPropertyName_]===undefined)return;for(let i=0;i<rowInfo.userRow[this.subRowsPropertyName_].length;i++){const subRow=rowInfo.userRow[this.subRowsPropertyName_][i];const subRowInfo=rowInfoMap.get(subRow);if(!subRowInfo)continue;const subNode=subRowInfo.htmlNode;if(subNode&&Polymer.dom(subNode).parentNode===tableSection){Polymer.dom(tableSection).removeChild(subNode);this.removeSubNodes_(tableSection,subRowInfo,rowInfoMap);}}},scheduleRebuildHeaders_(){this.headerDirty_=true;this.scheduleRebuild_();},scheduleRebuildBody_(){this.bodyDirty_=true;this.scheduleRebuild_();},scheduleRebuildFooter_(){this.footerDirty_=true;this.scheduleRebuild_();},scheduleRebuild_(){if(this.rebuildPending_)return;this.rebuildPending_=true;setTimeout(function(){this.rebuildPending_=false;this.rebuild();}.bind(this),0);},rebuildIfNeeded_(){this.rebuild();},rebuild(){const wasBodyOrHeaderDirty=this.headerDirty_||this.bodyDirty_;if(this.headerDirty_){this.generateHeaderColumns_();this.headerDirty_=false;} 6758if(this.bodyDirty_){Polymer.dom(this.$.body).textContent='';this.generateTableRowNodes_(this.$.body,this.tableRows_,this.tableRowsInfo_,0,undefined,undefined);if(this.tableRows_.length===0&&this.emptyValue_!==undefined){const trElement=this.ownerDocument.createElement('tr');Polymer.dom(this.$.body).appendChild(trElement);Polymer.dom(trElement).classList.add('empty-row');const td=this.ownerDocument.createElement('td');Polymer.dom(trElement).appendChild(td);td.colSpan=this.tableColumns_.length;const emptyValue=this.emptyValue_;Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(emptyValue,this.ownerDocument));} 6759this.bodyDirty_=false;} 6760if(wasBodyOrHeaderDirty)this.applySizes_();if(this.footerDirty_){Polymer.dom(this.$.foot).textContent='';this.generateTableRowNodes_(this.$.foot,this.tableFooterRows_,this.tableFooterRowsInfo_,0,undefined,undefined);if(this.tableFooterRowsInfo_.length){Polymer.dom(this.$.body).classList.add('has-footer');}else{Polymer.dom(this.$.body).classList.remove('has-footer');} 6761this.footerDirty_=false;}},appendNewElement_(parent,tagName){const element=parent.ownerDocument.createElement(tagName);Polymer.dom(parent).appendChild(element);return element;},getExpandedForTableRow(userRow){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');} 6762return rowInfo.isExpanded;},getExpandedForUserRow_(userRow){if(userRow[this.subRowsPropertyName_]===undefined){return false;} 6763if(userRow[this.subRowsPropertyName_].length===0){return false;} 6764if(userRow.isExpanded){return true;} 6765if((userRow.isExpanded!==undefined)&&(userRow.isExpanded===false)){return false;} 6766const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo&&rowInfo.isExpanded){return true;} 6767if(this.defaultExpansionStateCallback_===undefined){return false;} 6768let parentUserRow=undefined;if(rowInfo&&rowInfo.parentRowInfo){parentUserRow=rowInfo.parentRowInfo.userRow;} 6769return this.defaultExpansionStateCallback_(userRow,parentUserRow);},setExpandedForTableRow(userRow,expanded){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');} 6770return this.setExpandedForUserRow_(this.$.body,this.tableRowsInfo_,userRow,expanded);},setExpandedForUserRow_(tableSection,rowInfoMap,userRow,expanded){this.rebuildIfNeeded_();const rowInfo=rowInfoMap.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');} 6771const wasExpanded=rowInfo.isExpanded;rowInfo.isExpanded=!!expanded;if(rowInfo.htmlNode===undefined)return;if(rowInfo.htmlNode.parentElement!==tableSection){return;} 6772const expandButton=Polymer.dom(rowInfo.htmlNode).querySelector('expand-button');if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');const lastAddedRow=rowInfo.htmlNode;if(rowInfo.userRow[this.subRowsPropertyName_]){this.generateTableRowNodes_(tableSection,rowInfo.userRow[this.subRowsPropertyName_],rowInfoMap,rowInfo.indentation+1,lastAddedRow,rowInfo);}}else{Polymer.dom(expandButton).classList.remove('button-expanded');this.removeSubNodes_(tableSection,rowInfo,rowInfoMap);} 6773if(wasExpanded!==rowInfo.isExpanded){const e=new tr.b.Event('row-expanded-changed');e.row=rowInfo.userRow;this.dispatchEvent(e);} 6774this.maybeUpdateSelectedRow_();},get selectionMode(){return this.selectionMode_;},set selectionMode(selectionMode){if(!tr.b.dictionaryContainsValue(SelectionMode,selectionMode)){throw new Error('Invalid selection mode '+selectionMode);} 6775this.rebuildIfNeeded_();this.selectionMode_=selectionMode;this.didSelectionStateChange_();},get rowHighlightStyle(){return this.rowHighlightStyle_;},set rowHighlightStyle(rowHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,rowHighlightStyle)){throw new Error('Invalid row highlight style '+rowHighlightStyle);} 6776this.rebuildIfNeeded_();this.rowHighlightStyle_=rowHighlightStyle;this.didSelectionStateChange_();},get resolvedRowHighlightStyle(){if(this.rowHighlightStyle_!==HighlightStyle.DEFAULT){return this.rowHighlightStyle_;} 6777switch(this.selectionMode_){case SelectionMode.NONE:return HighlightStyle.NONE;case SelectionMode.ROW:return HighlightStyle.DARK;case SelectionMode.CELL:return HighlightStyle.LIGHT;default:throw new Error('Invalid selection mode '+selectionMode);}},get cellHighlightStyle(){return this.cellHighlightStyle_;},set cellHighlightStyle(cellHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,cellHighlightStyle)){throw new Error('Invalid cell highlight style '+cellHighlightStyle);} 6778this.rebuildIfNeeded_();this.cellHighlightStyle_=cellHighlightStyle;this.didSelectionStateChange_();},get resolvedCellHighlightStyle(){if(this.cellHighlightStyle_!==HighlightStyle.DEFAULT){return this.cellHighlightStyle_;} 6779switch(this.selectionMode_){case SelectionMode.NONE:case SelectionMode.ROW:return HighlightStyle.NONE;case SelectionMode.CELL:return HighlightStyle.DARK;default:throw new Error('Invalid selection mode '+selectionMode);}},setHighlightStyle_(highlightAttribute,resolvedHighlightStyle){switch(resolvedHighlightStyle){case HighlightStyle.NONE:Polymer.dom(this.$.body).removeAttribute(highlightAttribute);break;case HighlightStyle.LIGHT:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'light');break;case HighlightStyle.DARK:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'dark');break;default:throw new Error('Invalid resolved highlight style '+ 6780resolvedHighlightStyle);}},didSelectionStateChange_(){this.setHighlightStyle_('row-highlight-style',this.resolvedRowHighlightStyle);this.setHighlightStyle_('cell-highlight-style',this.resolvedCellHighlightStyle);this.removeSelectedState_();switch(this.selectionMode_){case SelectionMode.ROW:Polymer.dom(this.$.body).setAttribute('selection-mode','row');Polymer.dom(this.$.body).setAttribute('tabindex',0);this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:Polymer.dom(this.$.body).setAttribute('selection-mode','cell');Polymer.dom(this.$.body).setAttribute('tabindex',0);if(this.selectedTableRowInfo_&&this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){this.selectedTableRowInfo_=undefined;}else{this.selectedColumnIndex_=i;}} 6781break;case SelectionMode.NONE:Polymer.dom(this.$.body).removeAttribute('selection-mode');Polymer.dom(this.$.body).removeAttribute('tabindex');this.$.body.blur();this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;break;default:throw new Error('Invalid selection mode '+this.selectionMode_);} 6782this.maybeUpdateSelectedRow_();},maybeUpdateSelectedRow_(){if(this.selectedTableRowInfo_===undefined)return;function isVisible(rowInfo){if(!rowInfo.htmlNode)return false;return!!rowInfo.htmlNode.parentElement;} 6783if(isVisible(this.selectedTableRowInfo_)){this.updateSelectedState_();return;} 6784this.removeSelectedState_();let curRowInfo=this.selectedTableRowInfo_;while(curRowInfo&&!isVisible(curRowInfo)){curRowInfo=curRowInfo.parentRowInfo;} 6785this.selectedTableRowInfo_=curRowInfo;if(this.selectedTableRowInfo_){this.updateSelectedState_();}else{this.selectedColumnIndex_=undefined;}},didTableRowInfoGetClicked_(rowInfo,columnIndex){switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.CELL:if(!this.doesColumnIndexSupportSelection(columnIndex)){return;} 6786if(this.selectedColumnIndex!==columnIndex){this.selectedColumnIndex=columnIndex;} 6787case SelectionMode.ROW:if(this.selectedTableRowInfo_!==rowInfo){this.selectedTableRow=rowInfo.userRow;}}},dispatchStepIntoEvent_(rowInfo,columnIndex){const e=new tr.b.Event('step-into');e.tableRow=rowInfo.userRow;e.tableColumn=this.tableColumns_[columnIndex];e.columnIndex=columnIndex;this.dispatchEvent(e);},get selectedCell(){const row=this.selectedTableRow;const columnIndex=this.selectedColumnIndex;if(row===undefined||columnIndex===undefined||this.tableColumns_.length<=columnIndex){return undefined;} 6788const column=this.tableColumns_[columnIndex];return{row,column,value:column.value(row)};},get selectedTableColumnIndex(){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(cols[i].getAttribute('selected')){return i;}} 6789return undefined;},set selectedTableColumnIndex(selectedIndex){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(i===selectedIndex){cols[i].setAttribute('selected',true);}else{cols[i].removeAttribute('selected');}}},get selectedTableRow(){if(!this.selectedTableRowInfo_)return undefined;return this.selectedTableRowInfo_.userRow;},set selectedTableRow(userRow){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');} 6790let rowInfo;if(userRow===undefined){rowInfo=undefined;}else{rowInfo=this.tableRowsInfo_.get(userRow);if(!rowInfo){throw new Error('Row has not been seen, must expand its parents.');}} 6791const e=this.prepareToChangeSelection_();if(!rowInfo){this.selectedColumnIndex_=undefined;}else{switch(this.selectionMode_){case SelectionMode.ROW:this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:if(this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){throw new Error('Cannot find a selectable column.');} 6792this.selectedColumnIndex_=i;} 6793break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}} 6794this.selectedTableRowInfo_=rowInfo;this.updateSelectedState_();this.dispatchEvent(e);},prepareToChangeSelection_(){const e=new tr.b.Event('selection-changed');const previousSelectedRowInfo=this.selectedTableRowInfo_;if(previousSelectedRowInfo){e.previousSelectedTableRow=previousSelectedRowInfo.userRow;}else{e.previousSelectedTableRow=undefined;} 6795this.removeSelectedState_();return e;},removeSelectedState_(){this.setSelectedState_(false);},updateSelectedState_(){this.setSelectedState_(true);},setSelectedState_(select){if(this.selectedTableRowInfo_===undefined)return;const rowNode=this.selectedTableRowInfo_.htmlNode;if(select){Polymer.dom(rowNode).setAttribute('selected',true);}else{Polymer.dom(rowNode).removeAttribute('selected');} 6796const cellNode=Polymer.dom(rowNode).children[this.selectedColumnIndex_];if(!cellNode)return;if(select){Polymer.dom(cellNode).setAttribute('selected',true);}else{Polymer.dom(cellNode).removeAttribute('selected');}},doesColumnIndexSupportSelection(columnIndex){const columnInfo=this.tableColumns_[columnIndex];const scs=columnInfo.supportsCellSelection;if(scs===false)return false;return true;},getFirstSelectableColumnIndex_(){for(let i=0;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){return i;}} 6797return-1;},getSelectableNodeGivenTableRowNode_(htmlNode){switch(this.selectionMode_){case SelectionMode.ROW:return htmlNode;case SelectionMode.CELL:return Polymer.dom(htmlNode).children[this.selectedColumnIndex_];default:throw new Error('Invalid selection mode '+this.selectionMode_);}},get selectedColumnIndex(){if(this.selectionMode_!==SelectionMode.CELL){return undefined;} 6798return this.selectedColumnIndex_;},set selectedColumnIndex(selectedColumnIndex){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');} 6799if(selectedColumnIndex<0||selectedColumnIndex>=this.tableColumns_.length){throw new Error('Invalid index');} 6800if(!this.doesColumnIndexSupportSelection(selectedColumnIndex)){throw new Error('Selection is not supported on this column');} 6801const e=this.prepareToChangeSelection_();if(this.selectedColumnIndex_===undefined){this.selectedTableRowInfo_=undefined;}else if(!this.selectedTableRowInfo_){if(this.tableRows_.length===0){throw new Error('No available row to be selected');} 6802this.selectedTableRowInfo_=this.tableRowsInfo_.get(this.tableRows_[0]);} 6803this.selectedColumnIndex_=selectedColumnIndex;this.updateSelectedState_();this.dispatchEvent(e);},onKeyDown_(e){if(this.selectionMode_===SelectionMode.NONE)return;const CODE_TO_COMMAND_NAMES={13:'ENTER',32:'SPACE',37:'ARROW_LEFT',38:'ARROW_UP',39:'ARROW_RIGHT',40:'ARROW_DOWN'};const cmdName=CODE_TO_COMMAND_NAMES[e.keyCode];if(cmdName===undefined)return;e.stopPropagation();e.preventDefault();this.performKeyCommand_(cmdName);},onFocus_(e){if(this.selectionMode_===SelectionMode.NONE||this.selectedTableRow||this.tableRows_.length===0){return;} 6804if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;} 6805this.selectedTableRow=this.tableRows_[0];},focus(){this.$.body.focus();this.onFocus_();},blur(){this.$.body.blur();},get isFocused(){return this.root.activeElement===this.$.body;},performKeyCommand_(cmdName){this.rebuildIfNeeded_();switch(cmdName){case'ARROW_UP':this.selectPreviousOrFirstRowIfPossible_();return;case'ARROW_DOWN':this.selectNextOrFirstRowIfPossible_();return;case'ARROW_RIGHT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.expandRowAndSelectChildRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheRightIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);} 6806case'ARROW_LEFT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.collapseRowOrSelectParentRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheLeftIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);} 6807case'SPACE':this.toggleRowExpansionStateIfPossible_();return;case'ENTER':this.stepIntoSelectionIfPossible_();return;default:throw new Error('Unrecognized command '+cmdName);}},selectPreviousOrFirstRowIfPossible_(){const prev=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.previousElementSibling:this.$.body.firstChild;if(!prev)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;} 6808tr.ui.b.scrollIntoViewIfNeeded(prev);this.selectedTableRow=prev.rowInfo.userRow;},selectNextOrFirstRowIfPossible_(){this.getFirstSelectableColumnIndex_;const next=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.nextElementSibling:this.$.body.firstChild;if(!next)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;} 6809tr.ui.b.scrollIntoViewIfNeeded(next);this.selectedTableRow=next.rowInfo.userRow;},expandRowAndSelectChildRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;} 6810if(!selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,true);} 6811this.selectedTableRow=selectedRowInfo.htmlNode.nextElementSibling.rowInfo.userRow;},collapseRowOrSelectParentRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo)return;if(selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,false);}else{const parentRowInfo=selectedRowInfo.parentRowInfo;if(parentRowInfo){this.selectedTableRow=parentRowInfo.userRow;}}},selectNextSelectableCellToTheRightIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;} 6812for(let i=this.selectedColumnIndex_+1;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},selectNextSelectableCellToTheLeftIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;} 6813for(let i=this.selectedColumnIndex_-1;i>=0;i--){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},toggleRowExpansionStateIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;} 6814this.setExpandedForTableRow(selectedRowInfo.userRow,!selectedRowInfo.isExpanded);},stepIntoSelectionIfPossible_(){if(!this.selectedTableRowInfo_)return;this.dispatchStepIntoEvent_(this.selectedTableRowInfo_,this.selectedColumnIndex_);},dispatchSortingChangedEvent_(){const e=new tr.b.Event('sort-column-changed');e.sortColumnIndex=this.sortColumnIndex_;e.sortDescending=this.sortDescending_;this.dispatchEvent(e);}});})();'use strict';const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table-header-cell',created(){this.tapCallback_=undefined;this.cellTitle_='';this.align_=undefined;this.selectable_=false;this.column_=undefined;},ready(){this.addEventListener('click',this.onTap_.bind(this));},set column(column){this.column_=column;this.align=column.align;this.cellTitle=column.title;},get column(){return this.column_;},set cellTitle(value){this.cellTitle_=value;const titleNode=tr.ui.b.asHTMLOrTextNode(this.cellTitle_,this.ownerDocument);this.$.title.innerText='';Polymer.dom(this.$.title).appendChild(titleNode);},get cellTitle(){return this.cellTitle_;},set align(align){switch(align){case undefined:case ColumnAlignment.LEFT:this.style.justifyContent='';break;case ColumnAlignment.RIGHT:this.style.justifyContent='flex-end';break;default:throw new Error('Invalid alignment of column (title=\''+ 6815this.cellTitle_+'\'): '+align);} 6816this.align_=align;},get align(){return this.align_;},clearSideContent(){Polymer.dom(this.$.side).textContent='';},set sideContent(content){Polymer.dom(this.$.side).textContent=content;this.$.side.style.display=content?'inline':'none';},get sideContent(){return Polymer.dom(this.$.side).textContent;},set sideContentDisabled(sideContentDisabled){this.$.side.classList.toggle('disabled',sideContentDisabled);},get sideContentDisabled(){return this.$.side.classList.contains('disabled');},set tapCallback(callback){this.style.cursor='pointer';this.tapCallback_=callback;},get tapCallback(){return this.tapCallback_;},onTap_(){if(this.tapCallback_){this.tapCallback_();}}});'use strict';tr.exportTo('tr.b.math',function(){class RunningStatistics{constructor(){this.mean_=0;this.count_=0;this.max_=-Infinity;this.min_=Infinity;this.sum_=0;this.variance_=0;this.meanlogs_=0;} 6817get count(){return this.count_;} 6818get geometricMean(){if(this.meanlogs_===undefined)return 0;return Math.exp(this.meanlogs_);} 6819get mean(){if(this.count_===0)return undefined;return this.mean_;} 6820get max(){return this.max_;} 6821get min(){return this.min_;} 6822get sum(){return this.sum_;} 6823get variance(){if(this.count_===0)return undefined;if(this.count_===1)return 0;return this.variance_/(this.count_-1);} 6824get stddev(){if(this.count_===0)return undefined;return Math.sqrt(this.variance);} 6825add(x){this.count_++;this.max_=Math.max(this.max_,x);this.min_=Math.min(this.min_,x);this.sum_+=x;if(x<=0){this.meanlogs_=undefined;}else if(this.meanlogs_!==undefined){this.meanlogs_+=(Math.log(Math.abs(x))-this.meanlogs_)/this.count;} 6826if(this.count_===1){this.mean_=x;this.variance_=0;}else{const oldMean=this.mean_;const oldVariance=this.variance_;if(oldMean===Infinity||oldMean===-Infinity){this.mean_=this.sum_/this.count_;}else{this.mean_=oldMean+(x-oldMean)/this.count_;} 6827this.variance_=oldVariance+(x-oldMean)*(x-this.mean_);}} 6828merge(other){const result=new RunningStatistics();result.count_=this.count_+other.count_;result.sum_=this.sum_+other.sum_;result.min_=Math.min(this.min_,other.min_);result.max_=Math.max(this.max_,other.max_);if(result.count===0){result.mean_=0;result.variance_=0;result.meanlogs_=0;}else{result.mean_=result.sum/result.count;const deltaMean=(this.mean||0)-(other.mean||0);result.variance_=this.variance_+other.variance_+ 6829(this.count*other.count*deltaMean*deltaMean/result.count);if(this.meanlogs_===undefined||other.meanlogs_===undefined){result.meanlogs_=undefined;}else{result.meanlogs_=(this.count*this.meanlogs_+ 6830other.count*other.meanlogs_)/result.count;}} 6831return result;} 6832asDict(){if(!this.count){return[];} 6833return[this.count_,this.max_,this.meanlogs_,this.mean_,this.min_,this.sum_,this.variance_,];} 6834static fromDict(dict){const result=new RunningStatistics();if(dict.length!==7){return result;} 6835[result.count_,result.max_,result.meanlogs_,result.mean_,result.min_,result.sum_,result.variance_,]=dict;return result;}} 6836return{RunningStatistics,};});'use strict';tr.exportTo('tr.v.d',function(){class Diagnostic{constructor(){this.guid_=undefined;} 6837clone(){return new this.constructor();} 6838canAddDiagnostic(otherDiagnostic){return false;} 6839addDiagnostic(otherDiagnostic){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');} 6840get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();} 6841return this.guid_;} 6842set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');} 6843this.guid_=guid;} 6844asDictOrReference(){if(this.guid_!==undefined){return this.guid_;} 6845return this.asDict();} 6846asDict(){const result={type:this.constructor.name};if(this.guid_!==undefined){result.guid=this.guid_;} 6847this.asDictInto_(result);return result;} 6848asDictInto_(d){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');} 6849static fromDict(d){const typeInfo=Diagnostic.findTypeInfoWithName(d.type);if(!typeInfo){throw new Error('Unrecognized diagnostic type: '+d.type);} 6850const diagnostic=typeInfo.constructor.fromDict(d);if(d.guid!==undefined)diagnostic.guid=d.guid;return diagnostic;}} 6851const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Diagnostic;tr.b.decorateExtensionRegistry(Diagnostic,options);Diagnostic.addEventListener('will-register',function(e){const constructor=e.typeInfo.constructor;if(!(constructor.fromDict instanceof Function)||(constructor.fromDict===Diagnostic.fromDict)||(constructor.fromDict.length!==1)){throw new Error('Diagnostics must define fromDict(d)');}});return{Diagnostic,};});'use strict';tr.exportTo('tr.v.d',function(){class Breakdown extends tr.v.d.Diagnostic{constructor(){super();this.values_=new Map();this.colorScheme=undefined;} 6852clone(){const clone=new Breakdown();clone.colorScheme=this.colorScheme;clone.addDiagnostic(this);return clone;} 6853canAddDiagnostic(otherDiagnostic){return((otherDiagnostic instanceof Breakdown)&&(otherDiagnostic.colorScheme===this.colorScheme));} 6854addDiagnostic(otherDiagnostic){for(const[name,value]of otherDiagnostic){this.set(name,this.get(name)+value);} 6855return this;} 6856set(name,value){if(typeof name!=='string'||typeof value!=='number'){throw new Error('Breakdown maps from strings to numbers');} 6857this.values_.set(name,value);} 6858get(name){return this.values_.get(name)||0;}*[Symbol.iterator](){for(const pair of this.values_){yield pair;}} 6859asDictInto_(d){d.values={};for(const[name,value]of this){d.values[name]=tr.b.numberToJson(value);} 6860if(this.colorScheme){d.colorScheme=this.colorScheme;}} 6861static fromDict(d){const breakdown=new Breakdown();for(const[name,value]of Object.entries(d.values)){breakdown.set(name,tr.b.numberFromJson(value));} 6862if(d.colorScheme){breakdown.colorScheme=d.colorScheme;} 6863return breakdown;}} 6864tr.v.d.Diagnostic.register(Breakdown,{elementName:'tr-v-ui-breakdown-span'});return{Breakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class BuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterName_=info.displayMasterName||'';this.displayBotName_=info.displayBotName||'';this.buildbotMasterName_=info.buildbotMasterName||'';this.buildbotName_=info.buildbotName||'';this.buildNumber_=info.buildNumber||0;this.logUri_=info.logUri||'';} 6865addToHistogram(hist){hist.diagnostics.set(BuildbotInfo.NAME,this);} 6866clone(){const clone=new tr.v.d.MergedBuildbotInfo();clone.addDiagnostic(this);return clone;} 6867asDictInto_(d){d.displayMasterName=this.displayMasterName;d.displayBotName=this.displayBotName;d.buildbotMasterName=this.buildbotMasterName;d.buildbotName=this.buildbotName;d.buildNumber=this.buildNumber;d.logUri=this.logUri;} 6868get displayMasterName(){return this.displayMasterName_;} 6869get displayBotName(){return this.displayBotName_;} 6870get buildbotMasterName(){return this.buildbotMasterName_;} 6871get buildbotName(){return this.buildbotName_;} 6872get buildNumber(){return this.buildNumber_;} 6873get logUri(){return this.logUri_;} 6874static fromDict(d){return new BuildbotInfo(d);} 6875static getFromHistogram(hist){return hist.diagnostics.get(BuildbotInfo.NAME);} 6876static getField(hist,fieldName,defaultValue){const buildbot=BuildbotInfo.getFromHistogram(hist);if(!(buildbot instanceof tr.v.d.BuildbotInfo)||!buildbot[fieldName]){return defaultValue;} 6877return buildbot[fieldName];}} 6878BuildbotInfo.NAME='buildbot';tr.v.d.Diagnostic.register(BuildbotInfo,{elementName:'tr-v-ui-buildbot-info-span'});return{BuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Generic extends tr.v.d.Diagnostic{constructor(value){super();this.value=value;} 6879clone(){const clone=new tr.v.d.CollectedGeneric();clone.addDiagnostic(this);return clone;} 6880asDictInto_(d){d.value=this.value;} 6881static fromDict(d){return new Generic(d.value);}} 6882tr.v.d.Diagnostic.register(Generic,{elementName:'tr-v-ui-generic-diagnostic-span'});return{Generic,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedGeneric extends tr.v.d.Generic{constructor(){super([]);} 6883canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.Generic;} 6884addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof CollectedGeneric){this.value.push(...otherDiagnostic.value);}else{this.value.push(otherDiagnostic.value);}}} 6885tr.v.d.Diagnostic.register(CollectedGeneric,{elementName:'tr-v-ui-generic-diagnostic-span'});return{CollectedGeneric,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedRelatedEventSet extends tr.v.d.Diagnostic{constructor(){super();this.eventSetsByCanonicalUrl_=new Map();} 6886asDictInto_(d){d.events={};for(const[canonicalUrl,eventSet]of this){d.events[canonicalUrl]=[];for(const event of eventSet){d.events[canonicalUrl].push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}} 6887static fromDict(d){const result=new CollectedRelatedEventSet();for(const[canonicalUrl,events]of Object.entries(d.events)){result.eventSetsByCanonicalUrl_.set(canonicalUrl,events.map(e=>new tr.v.d.EventRef(e)));} 6888return result;} 6889get size(){return this.eventSetsByCanonicalUrl_.size;} 6890get(canonicalUrl){return this.eventSetsByCanonicalUrl_.get(canonicalUrl);}*[Symbol.iterator](){for(const[canonicalUrl,eventSet]of this.eventSetsByCanonicalUrl_){yield[canonicalUrl,eventSet];}} 6891canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.RelatedEventSet||otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet;} 6892addEventSetForCanonicalUrl(canonicalUrl,events){let myEventSet=this.eventSetsByCanonicalUrl_.get(canonicalUrl);if(myEventSet===undefined){myEventSet=new Set();this.eventSetsByCanonicalUrl_.set(canonicalUrl,myEventSet);} 6893for(const event of events){myEventSet.add(event);}} 6894addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet){for(const[canonicalUrl,otherEventSet]of otherDiagnostic){this.addEventSetForCanonicalUrl(canonicalUrl,otherEventSet);} 6895return;} 6896if(!otherDiagnostic.canonicalUrl)return;this.addEventSetForCanonicalUrl(otherDiagnostic.canonicalUrl,otherDiagnostic);}} 6897tr.v.d.Diagnostic.register(CollectedRelatedEventSet,{elementName:'tr-v-ui-collected-related-event-set-span'});return{CollectedRelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){class DeviceInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromeVersion_=info.chromeVersion||'';this.osName_=info.osName||'';this.osVersion_=info.osVersion||'';this.gpuInfo_=info.gpuInfo||undefined;this.arch_=info.arch||undefined;this.ram_=info.ram||0;} 6898addToHistogram(hist){hist.diagnostics.set(DeviceInfo.NAME,this);} 6899static getFromHistogram(hist){return hist.diagnostics.get(DeviceInfo.NAME);} 6900clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;} 6901asDictInto_(d){d.chromeVersion=this.chromeVersion;d.osName=this.osName;d.osVersion=this.osVersion;d.gpuInfo=this.gpuInfo;d.arch=this.arch;d.ram=this.ram;} 6902static fromDict(d){return new DeviceInfo(d);} 6903get chromeVersion(){return this.chromeVersion_;} 6904get osName(){return this.osName_;} 6905get osVersion(){return this.osVersion_;} 6906get gpuInfo(){return this.gpuInfo_;} 6907get arch(){return this.arch_;} 6908get ram(){return this.ram_;}} 6909DeviceInfo.NAME='device';tr.v.d.Diagnostic.register(DeviceInfo,{elementName:'tr-v-ui-device-info-span'});return{DeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class DiagnosticRef{constructor(guid){this.guid=guid;} 6910asDict(){return this.guid;}} 6911return{DiagnosticRef,};});'use strict';tr.exportTo('tr.v.d',function(){class GroupingPath extends tr.v.d.Diagnostic{constructor(groupingPath){super();this.groupingPath_=groupingPath;} 6912clone(){return new GroupingPath(Array.from(this.groupingPath_));} 6913addToHistogram(hist){hist.diagnostics.set(GroupingPath.NAME,this);} 6914static getFromHistogram(hist){return hist.diagnostics.get(GroupingPath.NAME);} 6915equals(other){return 0===tr.b.compareArrays(this.groupingPath_,other.groupingPath_,(x,y)=>x.localeCompare(y));} 6916asDictInto_(d){d.groupingPath=this.groupingPath_;} 6917static fromDict(d){return new GroupingPath(d.groupingPath);}} 6918GroupingPath.NAME='grouping path';tr.v.d.Diagnostic.register(GroupingPath);return{GroupingPath,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedBuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterNames_=new Set();this.displayBotNames_=new Set();this.buildbotMasterNames_=new Set();this.buildbotNames_=new Set();this.buildNumbers_=new Set();this.logUris_=new Set();} 6919clone(){const clone=new MergedBuildbotInfo();clone.addDiagnostic(this);return clone;} 6920addToHistogram(hist){hist.diagnostics.set(tr.v.d.BuildbotInfo.NAME,this);} 6921equals(other){if(!(other instanceof MergedBuildbotInfo))return false;if(!tr.b.setsEqual(this.displayMasterNames,other.displayMasterNames)){return false;} 6922if(!tr.b.setsEqual(this.displayBotNames,other.displayBotNames)){return false;} 6923if(!tr.b.setsEqual(this.buildbotMasterNames,other.buildbotMasterNames)){return false;} 6924if(!tr.b.setsEqual(this.buildbotNames,other.buildbotNames)){return false;} 6925if(!tr.b.setsEqual(this.buildNumbers,other.buildNumbers))return false;if(!tr.b.setsEqual(this.logUris,other.logUris))return false;return true;} 6926canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedBuildbotInfo||otherDiagnostic instanceof tr.v.d.BuildbotInfo;} 6927addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedBuildbotInfo){for(const name of otherDiagnostic.displayMasterNames){this.displayMasterNames.add(name);} 6928for(const name of otherDiagnostic.displayBotNames){this.displayBotNames.add(name);} 6929for(const name of otherDiagnostic.buildbotMasterNames){this.buildbotMasterNames.add(name);} 6930for(const name of otherDiagnostic.buildbotNames){this.buildbotNames.add(name);} 6931for(const name of otherDiagnostic.buildNumbers){this.buildNumbers.add(name);} 6932for(const name of otherDiagnostic.logUris){this.logUris.add(name);} 6933return this;} 6934if(otherDiagnostic.displayMasterName){this.displayMasterNames.add(otherDiagnostic.displayMasterName);} 6935if(otherDiagnostic.displayBotName){this.displayBotNames.add(otherDiagnostic.displayBotName);} 6936if(otherDiagnostic.buildbotMasterName){this.buildbotMasterNames.add(otherDiagnostic.buildbotMasterName);} 6937if(otherDiagnostic.buildbotName){this.buildbotNames.add(otherDiagnostic.buildbotName);} 6938if(otherDiagnostic.buildNumber){this.buildNumbers.add(otherDiagnostic.buildNumber);} 6939if(otherDiagnostic.logUri){this.logUris.add(otherDiagnostic.logUri);} 6940return this;} 6941asDictInto_(d){d.displayMasterNames=Array.from(this.displayMasterNames);d.displayBotNames=Array.from(this.displayBotNames);d.buildbotMasterNames=Array.from(this.buildbotMasterNames);d.buildbotNames=Array.from(this.buildbotNames);d.buildNumbers=Array.from(this.buildNumbers);d.logUris=Array.from(this.logUris);} 6942get displayMasterNames(){return this.displayMasterNames_;} 6943get displayBotNames(){return this.displayBotNames_;} 6944get buildbotMasterNames(){return this.buildbotMasterNames_;} 6945get buildbotNames(){return this.buildbotNames_;} 6946get buildNumbers(){return this.buildNumbers_;} 6947get logUris(){return this.logUris_;} 6948static fromDict(d){const info=new MergedBuildbotInfo();for(const name of d.displayMasterNames){info.displayMasterNames.add(name);} 6949for(const name of d.displayBotNames){info.displayBotNames.add(name);} 6950for(const name of d.buildbotMasterNames){info.buildbotMasterNames.add(name);} 6951for(const name of d.buildbotNames){info.buildbotNames.add(name);} 6952for(const name of d.buildNumbers){info.buildNumbers.add(name);} 6953for(const name of d.logUris){info.logUris.add(name);} 6954return info;}} 6955tr.v.d.Diagnostic.register(MergedBuildbotInfo,{elementName:'tr-v-ui-merged-buildbot-info-span'});return{MergedBuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedDeviceInfo extends tr.v.d.Diagnostic{constructor(){super();this.chromeVersions_=new Set();this.osNames_=new Set();this.osVersions_=new Set();} 6956clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;} 6957addToHistogram(hist){hist.diagnostics.set(tr.v.d.DeviceInfo.NAME,this);} 6958canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedDeviceInfo||otherDiagnostic instanceof tr.v.d.DeviceInfo;} 6959addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedDeviceInfo){for(const name of otherDiagnostic.osNames){this.osNames.add(name);} 6960for(const name of otherDiagnostic.osVersions){this.osVersions.add(name);} 6961for(const name of otherDiagnostic.chromeVersions){this.chromeVersions.add(name);} 6962return this;} 6963if(otherDiagnostic.osName){this.osNames.add(otherDiagnostic.osName);} 6964if(otherDiagnostic.osVersion){this.osVersions.add(otherDiagnostic.osVersion);} 6965if(otherDiagnostic.chromeVersion){this.chromeVersions.add(otherDiagnostic.chromeVersion);} 6966return this;} 6967equals(other){if(!(other instanceof MergedDeviceInfo))return false;if(!tr.b.setsEqual(this.chromeVersions,other.chromeVersions)){return false;} 6968if(!tr.b.setsEqual(this.osVersions,other.osVersions))return false;if(!tr.b.setsEqual(this.osNames,other.osNames))return false;return true;} 6969asDictInto_(d){d.chromeVersions=Array.from(this.chromeVersions);d.osNames=Array.from(this.osNames);d.osVersions=Array.from(this.osVersions);} 6970static fromDict(d){const info=new MergedDeviceInfo();for(const chromeVersion of d.chromeVersions){info.chromeVersions.add(chromeVersion);} 6971for(const osName of d.osNames){info.osNames.add(osName);} 6972for(const osVersion of d.osVersions){info.osVersions.add(osVersion);} 6973return info;} 6974get chromeVersions(){return this.chromeVersions_;} 6975get osNames(){return this.osNames_;} 6976get osVersions(){return this.osVersions_;}} 6977tr.v.d.Diagnostic.register(MergedDeviceInfo,{elementName:'tr-v-ui-merged-device-info-span'});return{MergedDeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){const REPO_NAMES=['chromium','v8','catapult','angle','skia','webrtc'];class MergedRevisionInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromiumCommitPositions_=new Set(info.chromiumCommitPositions||[]);this.v8CommitPositions_=new Set(info.v8CommitPositions||[]);this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];} 6978clone(){const clone=new MergedRevisionInfo();clone.addDiagnostic(this);return clone;} 6979addToHistogram(hist){hist.diagnostics.set(tr.v.d.RevisionInfo.NAME,this);} 6980canAddDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){return otherDiagnostic instanceof tr.v.d.RevisionInfo||otherDiagnostic instanceof MergedRevisionInfo;} 6981addDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){if(otherDiagnostic instanceof MergedRevisionInfo){for(const pos of otherDiagnostic.chromiumCommitPositions){this.chromiumCommitPositions.add(pos);} 6982for(const pos of otherDiagnostic.v8CommitPositions){this.v8CommitPositions.add(pos);} 6983for(const repo of REPO_NAMES){for(const otherRevs of otherDiagnostic[repo]){let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}} 6984if(!found){this[repo].push(otherRevs);}}} 6985return this;} 6986if(otherDiagnostic.chromiumCommitPosition!==undefined){this.chromiumCommitPositions.add(otherDiagnostic.chromiumCommitPosition);} 6987if(otherDiagnostic.v8CommitPosition!==undefined){this.v8CommitPositions.add(otherDiagnostic.v8CommitPosition);} 6988for(const repo of REPO_NAMES){const otherRevs=otherDiagnostic[repo];let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}} 6989if(!found){this[repo].push(otherRevs);}} 6990return this;} 6991asDictInto_(d){d.chromiumCommitPositions=this.chromiumCommitPositions;d.v8CommitPositions=this.v8CommitPositions;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;} 6992static fromDict(d){return new MergedRevisionInfo(d);} 6993get chromiumCommitPositions(){return this.chromiumCommitPositions_;} 6994get v8CommitPositions(){return this.v8CommitPositions_;} 6995get chromium(){return this.chromium_;} 6996get v8(){return this.v8_;} 6997get catapult(){return this.catapult_;} 6998get angle(){return this.angle_;} 6999get skia(){return this.skia_;} 7000get webrtc(){return this.webrtc_;}} 7001tr.v.d.Diagnostic.register(MergedRevisionInfo,{elementName:'tr-v-ui-merged-revision-info-span'});return{MergedRevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedTelemetryInfo extends tr.v.d.Diagnostic{constructor(){super();this.benchmarkNames_=new Set();this.benchmarkStartsMs_=new Set();this.labels_=new Set();this.legacyTIRLabels_=new Set();this.storyDisplayNames_=new Set();this.storyGroupingKeys_=new Map();this.storysetRepeatCounters_=new Set();} 7002clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;} 7003addToHistogram(hist){hist.diagnostics.set(tr.v.d.TelemetryInfo.NAME,this);} 7004equals(other){if(!(other instanceof MergedTelemetryInfo))return false;if(!tr.b.setsEqual(this.benchmarkNames,other.benchmarkNames)){return false;} 7005if(!tr.b.setsEqual(this.labels,other.labels))return false;if(!tr.b.setsEqual(this.storyDisplayNames,other.storyDisplayNames)){return false;} 7006if(!tr.b.setsEqual(this.legacyTIRLabels,other.legacyTIRLabels)){return false;} 7007if(!tr.b.setsEqual(this.storysetRepeatCounters,other.storysetRepeatCounters)){return false;} 7008if(!tr.b.setsEqual(this.benchmarkStartsMs,other.benchmarkStartsMs)){return false;} 7009if(!tr.b.setsEqual(new Set(this.storyGroupingKeys.keys()),new Set(other.storyGroupingKeys.keys()))){return false;} 7010for(const[k,vs]of this.storyGroupingKeys){if(!tr.b.setsEqual(vs,other.storyGroupingKeys.get(k))){return false;}} 7011return true;} 7012canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedTelemetryInfo||otherDiagnostic instanceof tr.v.d.TelemetryInfo;} 7013addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedTelemetryInfo){for(const name of otherDiagnostic.benchmarkNames){this.benchmarkNames.add(name);} 7014for(const t of otherDiagnostic.benchmarkStartsMs){this.benchmarkStartsMs.add(t);} 7015for(const name of otherDiagnostic.labels){this.labels.add(name);} 7016for(const name of otherDiagnostic.legacyTIRLabels){this.legacyTIRLabels.add(name);} 7017for(const name of otherDiagnostic.storyDisplayNames){this.storyDisplayNames.add(name);} 7018for(const name of otherDiagnostic.storysetRepeatCounters){this.storysetRepeatCounters.add(name);} 7019for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){for(const subValue of value){this.storyGroupingKeys.get(name).add(subValue);}}else{this.storyGroupingKeys.set(name,new Set(value));}} 7020return;} 7021if(otherDiagnostic.benchmarkName){this.benchmarkNames.add(otherDiagnostic.benchmarkName);} 7022if(otherDiagnostic.benchmarkStart!==undefined){this.benchmarkStartsMs.add(otherDiagnostic.benchmarkStart.getTime());} 7023if(otherDiagnostic.label){this.labels.add(otherDiagnostic.label);} 7024if(otherDiagnostic.legacyTIRLabel){this.legacyTIRLabels.add(otherDiagnostic.legacyTIRLabel);} 7025if(otherDiagnostic.storyDisplayName){this.storyDisplayNames.add(otherDiagnostic.storyDisplayName);} 7026for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){this.storyGroupingKeys.get(name).add(value);}else{this.storyGroupingKeys.set(name,new Set([value]));}} 7027if(otherDiagnostic.storysetRepeatCounter!==undefined){this.storysetRepeatCounters.add(otherDiagnostic.storysetRepeatCounter);}} 7028asDictInto_(d){if(this.benchmarkNames.size){d.benchmarkNames=Array.from(this.benchmarkNames);} 7029if(this.benchmarkStartsMs.size){d.benchmarkStartsMs=Array.from(this.benchmarkStartsMs);} 7030if(this.labels.size){d.labels=Array.from(this.labels);} 7031if(this.legacyTIRLabels.size){d.legacyTIRLabels=this.legacyTIRLabels;} 7032if(this.storyDisplayNames.size){d.storyDisplayNames=Array.from(this.storyDisplayNames);} 7033if(this.storyGroupingKeys.size){d.storyGroupingKeys={};for(const[name,values]of this.storyGroupingKeys){d.storyGroupingKeys[name]=Array.from(values);}} 7034if(this.storysetRepeatCounters.size){d.storysetRepeatCounters=Array.from(this.storysetRepeatCounters);}} 7035static fromDict(d){const info=new MergedTelemetryInfo();for(const n of d.benchmarkNames||[]){info.benchmarkNames_.add(n);} 7036for(const n of d.benchmarkStartsMs||[]){info.benchmarkStartsMs_.add(n);} 7037for(const n of d.labels||[]){info.labels_.add(n);} 7038for(const n of d.legacyTIRLabels||[]){info.legacyTIRLabels_.add(n);} 7039for(const n of d.storyDisplayNames||[]){info.storyDisplayNames_.add(n);} 7040for(const[name,values]of Object.entries(d.storyGroupingKeys||{})){info.storyGroupingKeys_.set(name,new Set(values));} 7041for(const n of d.storysetRepeatCounters||[]){info.storysetRepeatCounters_.add(n);} 7042return info;} 7043get displayLabel(){if(this.labels.size){return Array.from(this.labels).join('\n');} 7044return Array.from(this.benchmarkNames).concat(this.benchmarkStartStrings).join('\n');} 7045get benchmarkNames(){return this.benchmarkNames_;} 7046get labels(){return this.labels_;} 7047get legacyTIRLabels(){return this.legacyTIRLabels_;} 7048get storyGroupingKeys(){return this.storyGroupingKeys_;} 7049get storyDisplayNames(){return this.storyDisplayNames_;} 7050get storysetRepeatCounters(){return this.storysetRepeatCounters_;} 7051get storysetRepeatCounterLabel(){return'storyset repeat '+Array.from(this.storysetRepeatCounters).join(',');} 7052get benchmarkStartsMs(){return this.benchmarkStartsMs_;} 7053get benchmarkStarts(){const startsMs=Array.from(this.benchmarkStartsMs);startsMs.sort((x,y)=>x-y);return startsMs.map(t=>new Date(t));} 7054get benchmarkStartStrings(){return this.benchmarkStarts.map(tr.b.formatDate);} 7055static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)||!telemetry[fieldName]){return defaultValue;} 7056return telemetry[fieldName];} 7057static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)){return storyGroupingKey+': undefined';} 7058return storyGroupingKey+': '+ 7059telemetry.storyGroupingKeys[storyGroupingKey];} 7060static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>MergedTelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}} 7061tr.v.d.Diagnostic.register(MergedTelemetryInfo,{elementName:'tr-v-ui-merged-telemetry-info-span'});return{MergedTelemetryInfo,};});'use strict';tr.exportTo('tr.v.d.',function(){class Ownership extends tr.v.d.Diagnostic{constructor(emails,component){super();this.emails=emails||[];if(typeof(component)==='string'){this.component=component;}} 7062asDictInto_(d){if(this.component!==undefined){d.component=this.component;} 7063d.emails=this.emails;} 7064clone(){return new Ownership(this.emails,this.component);} 7065static fromDict(d){return new Ownership(d.emails,d.component);}} 7066tr.v.d.Diagnostic.register(Ownership);return{Ownership,};});'use strict';tr.exportTo('tr.v.d',function(){class EventRef{constructor(event){this.stableId=event.stableId;this.title=event.title;this.start=event.start;this.duration=event.duration;this.end=this.start+this.duration;this.guid=tr.b.GUID.allocateSimple();}} 7067return{EventRef,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedEventSet extends tr.v.d.Diagnostic{constructor(opt_events){super();this.eventsByStableId_=new Map();this.canonicalUrl_=undefined;if(opt_events){if(opt_events instanceof tr.model.EventSet||opt_events instanceof Array){for(const event of opt_events){this.add(event);}}else{this.add(opt_events);}}} 7068clone(){const clone=new tr.v.d.CollectedRelatedEventSet();clone.addDiagnostic(this);return clone;} 7069add(event){this.eventsByStableId_.set(event.stableId,event);} 7070has(event){return this.eventsByStableId_.has(event.stableId);} 7071get length(){return this.eventsByStableId_.size;}*[Symbol.iterator](){for(const event of this.eventsByStableId_.values()){yield event;}} 7072get canonicalUrl(){return this.canonicalUrl_;} 7073resolve(model,opt_required){for(const[stableId,value]of this.eventsByStableId_){if(!(value instanceof tr.v.d.EventRef))continue;const event=model.getEventByStableId(stableId);if(event instanceof tr.model.Event){this.eventsByStableId_.set(stableId,event);}else if(opt_required){throw new Error('Unable to find Event '+stableId);}}} 7074asDictInto_(d){d.events=[];for(const event of this){d.events.push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}} 7075static fromDict(d){return new RelatedEventSet(d.events.map(event=>new tr.v.d.EventRef(event)));}} 7076tr.v.d.Diagnostic.register(RelatedEventSet,{elementName:'tr-v-ui-related-event-set-span'});return{RelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){function HistogramRef(guid){this.guid=guid;} 7077return{HistogramRef};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramMap extends tr.v.d.Diagnostic{constructor(){super();this.histogramsByName_=new Map();} 7078canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramMap;} 7079addDiagnostic(otherDiagnostic){} 7080mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const[name,otherRelatedHist]of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.set(name,relatedHist);}}} 7081get(name){return this.histogramsByName_.get(name);} 7082set(name,hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+ 7083hist);} 7084this.histogramsByName_.set(name,hist);} 7085add(hist){this.set(hist.name,hist);} 7086get length(){return this.histogramsByName_.size;}*[Symbol.iterator](){for(const pair of this.histogramsByName_){yield pair;}} 7087resolve(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.HistogramRef))continue;const guid=value.guid;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByName_.set(name,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}} 7088asDictInto_(d){d.values={};for(const[name,hist]of this){d.values[name]=hist.guid;}} 7089static fromDict(d){const map=new RelatedHistogramMap();for(const[name,guid]of Object.entries(d.values)){map.set(name,new tr.v.d.HistogramRef(guid));} 7090return map;}} 7091tr.v.d.Diagnostic.register(RelatedHistogramMap,{elementName:'tr-v-ui-related-histogram-map-span'});return{RelatedHistogramMap,};});'use strict';tr.exportTo('tr.v.d',function(){const COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER='ChromeUserFriendlyCategory';class RelatedHistogramBreakdown extends tr.v.d.RelatedHistogramMap{constructor(){super();this.colorScheme=undefined;} 7092clone(){const clone=new RelatedHistogramBreakdown();clone.colorScheme=this.colorScheme;return clone;} 7093canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramBreakdown&&otherDiagnostic.colorScheme===this.colorScheme;} 7094set(name,hist){if(!(hist instanceof tr.v.d.HistogramRef)){if(!(hist instanceof tr.v.Histogram)){throw new Error('RelatedHistogramBreakdown can only contain Histograms');} 7095if((this.length>0)&&(hist.unit!==tr.b.getFirstElement(this)[1].unit)){throw new Error('Units mismatch',tr.b.getFirstElement(this)[1].unit,hist.unit);}} 7096tr.v.d.RelatedHistogramMap.prototype.set.call(this,name,hist);} 7097asDictInto_(d){tr.v.d.RelatedHistogramMap.prototype.asDictInto_.call(this,d);if(this.colorScheme)d.colorScheme=this.colorScheme;} 7098static fromDict(d){const diagnostic=new RelatedHistogramBreakdown();for(const[name,guid]of Object.entries(d.values)){diagnostic.set(name,new tr.v.d.HistogramRef(guid));} 7099if(d.colorScheme)diagnostic.colorScheme=d.colorScheme;return diagnostic;} 7100static buildFromEvents(histograms,namePrefix,events,categoryForEvent,unit,opt_sampleForEvent,opt_binBoundaries,opt_this){const sampleForEvent=opt_sampleForEvent||((event)=>event.cpuSelfTime);const diagnostic=new RelatedHistogramBreakdown();for(const event of events){const sample=sampleForEvent.call(opt_this,event);if(sample===undefined)continue;const eventCategory=categoryForEvent.call(opt_this,event);let hist=diagnostic.get(eventCategory);if(hist===undefined){hist=new tr.v.Histogram(namePrefix+eventCategory,unit,opt_binBoundaries);histograms.addHistogram(hist);diagnostic.set(eventCategory,hist);} 7101hist.addSample(sample,{relatedEvents:new tr.v.d.RelatedEventSet([event])});} 7102return diagnostic;}} 7103tr.v.d.Diagnostic.register(RelatedHistogramBreakdown,{elementName:'tr-v-ui-breakdown-span'});return{COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER,RelatedHistogramBreakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramSet extends tr.v.d.Diagnostic{constructor(opt_histograms){super();this.histogramsByGuid_=new Map();if(opt_histograms){for(const hist of opt_histograms){this.add(hist);}}} 7104canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramSet;} 7105addDiagnostic(otherDiagnostic){} 7106mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const otherRelatedHist of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){if(this.has(relatedHist))continue;const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.add(relatedHist);}}} 7107add(hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+ 7108hist);} 7109if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Tried to add same hist twice');} 7110this.histogramsByGuid_.set(hist.guid,hist);} 7111has(hist){return this.histogramsByGuid_.has(hist.guid);} 7112get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const[guid,hist]of this.histogramsByGuid_){yield hist;}} 7113resolve(histograms,opt_required){for(const[guid,value]of this.histogramsByGuid_){if(!(value instanceof tr.v.d.HistogramRef))continue;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByGuid_.set(guid,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}} 7114asDictInto_(d){d.guids=[];for(const hist of this){d.guids.push(hist.guid);}} 7115static fromDict(d){return new RelatedHistogramSet(d.guids.map(guid=>new tr.v.d.HistogramRef(guid)));}} 7116tr.v.d.Diagnostic.register(RelatedHistogramSet,{elementName:'tr-v-ui-related-histogram-set-span'});return{RelatedHistogramSet,};});'use strict';tr.exportTo('tr.v.d',function(){class RevisionInfo extends tr.v.d.Diagnostic{constructor(info){super();this.chromiumCommitPosition_=info.chromiumCommitPosition||undefined;this.v8CommitPosition_=info.v8CommitPosition||undefined;this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];} 7117addToHistogram(hist){hist.diagnostics.set(RevisionInfo.NAME,this);} 7118clone(){const clone=new tr.v.d.MergedRevisionInfo();clone.addDiagnostic(this);return clone;} 7119asDictInto_(d){d.chromiumCommitPosition=this.chromiumCommitPosition;d.v8CommitPosition=this.v8CommitPosition;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;} 7120static fromDict(d){return new RevisionInfo(d);} 7121get chromiumCommitPosition(){return this.chromiumCommitPosition_;} 7122get v8CommitPosition(){return this.v8CommitPosition_;} 7123get chromium(){return this.chromium_;} 7124get v8(){return this.v8_;} 7125get catapult(){return this.catapult_;} 7126get angle(){return this.angle_;} 7127get skia(){return this.skia_;} 7128get webrtc(){return this.webrtc_;}} 7129RevisionInfo.NAME='revisions';tr.v.d.Diagnostic.register(RevisionInfo,{elementName:'tr-v-ui-revision-info-span'});return{RevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Scalar extends tr.v.d.Diagnostic{constructor(value){super();if(!(value instanceof tr.b.Scalar)){throw new Error('expected Scalar');} 7130this.value=value;} 7131clone(){return new Scalar(this.value);} 7132asDictInto_(d){d.value=this.value.asDict();} 7133static fromDict(d){return new Scalar(tr.b.Scalar.fromDict(d.value));}} 7134tr.v.d.Diagnostic.register(Scalar,{elementName:'tr-v-ui-scalar-diagnostic-span'});return{Scalar,};});'use strict';tr.exportTo('tr.v.d',function(){class TagMap extends tr.v.d.Diagnostic{constructor(opt_info){super();this.tagsToStoryDisplayNames_=new Map();if(opt_info){for(const[tag,storyDisplayNames]of Object.entries(opt_info.tagsToStoryDisplayNames||{})){this.tagsToStoryDisplayNames.set(tag,new Set(storyDisplayNames));}}} 7135clone(){const clone=new TagMap();clone.addDiagnostic(this);return clone;} 7136addToHistogram(hist){hist.diagnostics.set(tr.v.d.TagMap.NAME,this);} 7137equals(other){if(!(other instanceof TagMap))return false;const keys1=new Set(this.tagsToStoryDisplayNames.keys());const keys2=new Set(other.tagsToStoryDisplayNames.keys());if(!tr.b.setsEqual(keys1,keys2)){return false;} 7138for(const key of keys1){if(!tr.b.setsEqual(this.tagsToStoryDisplayNames.get(key),other.tagsToStoryDisplayNames.get(key))){return false;}} 7139return true;} 7140canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof TagMap;} 7141addDiagnostic(otherDiagnostic){for(const[name,storyDisplayNames]of 7142otherDiagnostic.tagsToStoryDisplayNames){if(!this.tagsToStoryDisplayNames.has(name)){this.tagsToStoryDisplayNames.set(name,new Set());} 7143for(const t of storyDisplayNames){this.tagsToStoryDisplayNames.get(name).add(t);}} 7144return this;} 7145asDictInto_(d){d.tagsToStoryDisplayNames={};for(const[name,value]of this.tagsToStoryDisplayNames){d.tagsToStoryDisplayNames[name]=Array.from(value);}} 7146get tagsToStoryDisplayNames(){return this.tagsToStoryDisplayNames_;} 7147static fromDict(d){const info=new TagMap();for(const[name,values]of 7148Object.entries(d.tagsToStoryDisplayNames||{})){info.tagsToStoryDisplayNames.set(name,new Set(values));} 7149return info;}} 7150TagMap.NAME='tagmap';tr.v.d.Diagnostic.register(TagMap);return{TagMap,};});'use strict';tr.exportTo('tr.v.d',function(){class TelemetryInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();this.benchmarkName_='';this.benchmarkStart_=undefined;this.label_='';this.legacyTIRLabel_='';this.storyDisplayName_='';this.storyGroupingKeys_=new Map();this.storysetRepeatCounter_=undefined;this.canonicalUrl_='';if(opt_info){this.addInfo(opt_info);}} 7151clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;} 7152addInfo(info){if(info.benchmarkName){this.benchmarkName_=info.benchmarkName;} 7153if(info.benchmarkStartMs!==undefined){this.benchmarkStart_=new Date(info.benchmarkStartMs);} 7154if(info.label){this.label_=info.label;} 7155if(info.storyDisplayName){this.storyDisplayName_=info.storyDisplayName;} 7156for(const[name,value]of Object.entries(info.storyGroupingKeys||{})){this.storyGroupingKeys_.set(name,value);} 7157if(info.storysetRepeatCounter!==undefined){this.storysetRepeatCounter_=info.storysetRepeatCounter;} 7158if(info.legacyTIRLabel){this.legacyTIRLabel_=info.legacyTIRLabel;} 7159if(info.canonicalUrl){this.canonicalUrl_=info.canonicalUrl;}} 7160addToHistogram(hist){hist.diagnostics.set(TelemetryInfo.NAME,this);} 7161static getFromHistogram(hist){return hist.diagnostics.get(TelemetryInfo.NAME)||hist.diagnostics.get('iteration');} 7162asDictInto_(d){d.benchmarkName=this.benchmarkName;if(this.benchmarkStart){d.benchmarkStartMs=this.benchmarkStart.getTime();} 7163d.label=this.label;d.storyDisplayName=this.storyDisplayName;if(this.storyGroupingKeys.size>0){d.storyGroupingKeys={};for(const[name,value]of this.storyGroupingKeys){d.storyGroupingKeys[name]=value;}} 7164d.storysetRepeatCounter=this.storysetRepeatCounter;d.legacyTIRLabel=this.legacyTIRLabel;d.canonicalUrl=this.canonicalUrl;} 7165static fromDict(d){const info=new TelemetryInfo();info.addInfo(d);return info;} 7166get displayLabel(){if(this.label)return this.label;return this.benchmarkName+'\n'+this.benchmarkStartString;} 7167get benchmarkName(){return this.benchmarkName_;} 7168get label(){return this.label_;} 7169get legacyTIRLabel(){return this.legacyTIRLabel_;} 7170set legacyTIRLabel(tir){this.legacyTIRLabel_=tir;} 7171get storyGroupingKeys(){return this.storyGroupingKeys_;} 7172get storyDisplayName(){return this.storyDisplayName_;} 7173get storysetRepeatCounter(){return this.storysetRepeatCounter_;} 7174get storysetRepeatCounterLabel(){return'storyset repeat '+this.storysetRepeatCounter;} 7175get canonicalUrl(){return this.canonicalUrl_;} 7176get benchmarkStart(){return this.benchmarkStart_;} 7177get benchmarkStartString(){if(this.benchmarkStart_===undefined)return'';return tr.b.formatDate(this.benchmarkStart);} 7178static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)||!telemetry[fieldName]){return defaultValue;} 7179return telemetry[fieldName];} 7180static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)){return storyGroupingKey+': undefined';} 7181return storyGroupingKey+': '+ 7182telemetry.storyGroupingKeys.get(storyGroupingKey);} 7183static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>TelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}} 7184TelemetryInfo.NAME='telemetry';tr.v.d.Diagnostic.register(TelemetryInfo,{elementName:'tr-v-ui-telemetry-info-span'});return{TelemetryInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class UnmergeableDiagnosticSet extends tr.v.d.Diagnostic{constructor(diagnostics){super();this._diagnostics=diagnostics;} 7185clone(){const clone=new tr.v.d.UnmergeableDiagnosticSet();clone.addDiagnostic(this);return clone;} 7186canAddDiagnostic(otherDiagnostic){return true;} 7187addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subOtherDiagnostic of otherDiagnostic){const clone=subOtherDiagnostic.clone();this.addDiagnostic(clone);} 7188return;} 7189for(let i=0;i<this._diagnostics.length;++i){if(this._diagnostics[i].canAddDiagnostic(otherDiagnostic)){this._diagnostics[i].addDiagnostic(otherDiagnostic);return;}} 7190const clone=otherDiagnostic.clone();this._diagnostics.push(clone);} 7191mergeRelationships(otherDiagnostic,parentHist,otherParentHist){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subDiagnostic of otherDiagnostic){this.mergeRelationships(subDiagnostic,parentHist,otherParentHist);} 7192return;} 7193for(const subDiagnostic of this){if(!(subDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)){continue;} 7194subDiagnostic.mergeRelationships(otherDiagnostic,parentHist,otherParentHist);}} 7195get length(){return this._diagnostics.length;}*[Symbol.iterator](){for(const diagnostic of this._diagnostics)yield diagnostic;} 7196asDictInto_(d){d.diagnostics=this._diagnostics.map(d=>d.asDictOrReference());} 7197static fromDict(d){return new UnmergeableDiagnosticSet(d.diagnostics.map(d=>((typeof d==='string')?new tr.v.d.DiagnosticRef(d):tr.v.d.Diagnostic.fromDict(d))));}} 7198tr.v.d.Diagnostic.register(UnmergeableDiagnosticSet,{elementName:'tr-v-ui-unmergeable-diagnostic-set-span'});return{UnmergeableDiagnosticSet,};});'use strict';tr.exportTo('tr.v.d',function(){const MERGED_FROM_DIAGNOSTIC_KEY='merged from';const MERGED_TO_DIAGNOSTIC_KEY='merged to';class DiagnosticMap extends Map{set(name,diagnostic){if(typeof(name)!=='string'){throw new Error('name must be string, not '+name);} 7199if(!(diagnostic instanceof tr.v.d.Diagnostic)&&!(diagnostic instanceof tr.v.d.DiagnosticRef)){throw new Error('Must be instanceof Diagnostic: '+diagnostic);} 7200Map.prototype.set.call(this,name,diagnostic);} 7201addDicts(dict){for(const[name,diagnosticDict]of Object.entries(dict)){if(typeof diagnosticDict==='string'){this.set(name,new tr.v.d.DiagnosticRef(diagnosticDict));}else{this.set(name,tr.v.d.Diagnostic.fromDict(diagnosticDict));}}} 7202resolveSharedDiagnostics(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.DiagnosticRef)){continue;} 7203const guid=value.guid;const diagnostic=histograms.lookupDiagnostic(guid);if(diagnostic instanceof tr.v.d.Diagnostic){this.set(name,diagnostic);}else if(opt_required){throw new Error('Unable to find shared Diagnostic '+guid);}}} 7204asDict(){const dict={};for(const[name,diagnostic]of this){dict[name]=diagnostic.asDictOrReference();} 7205return dict;} 7206static fromDict(d){const diagnostics=new DiagnosticMap();diagnostics.addDicts(d);return diagnostics;} 7207static fromObject(obj){const diagnostics=new DiagnosticMap();for(const[name,diagnostic]of Object.entries(obj)){diagnostics.set(name,diagnostic);} 7208return diagnostics;} 7209addDiagnostics(other){for(const[name,otherDiagnostic]of other){if(name===MERGED_FROM_DIAGNOSTIC_KEY||name===MERGED_TO_DIAGNOSTIC_KEY||name===tr.v.d.GroupingPath){continue;} 7210const myDiagnostic=this.get(name);if(myDiagnostic!==undefined&&myDiagnostic.canAddDiagnostic(otherDiagnostic)){myDiagnostic.addDiagnostic(otherDiagnostic);continue;} 7211const clone=otherDiagnostic.clone();if(myDiagnostic===undefined){this.set(name,clone);continue;} 7212this.set(name,new tr.v.d.UnmergeableDiagnosticSet([myDiagnostic,clone]));}} 7213mergeRelationships(parentHist){for(const[name,diagnostic]of this){if(!(diagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(diagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(diagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;} 7214for(const otherHist of this.get(MERGED_FROM_DIAGNOSTIC_KEY)){const otherDiagnostic=otherHist.diagnostics.get(name);if(!(otherDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(otherDiagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;} 7215diagnostic.mergeRelationships(otherDiagnostic,parentHist,otherHist);}}}} 7216return{DiagnosticMap,MERGED_FROM_DIAGNOSTIC_KEY,MERGED_TO_DIAGNOSTIC_KEY,};});'use strict';tr.exportTo('tr.v',function(){const MAX_DIAGNOSTIC_MAPS=16;const DEFAULT_SAMPLE_VALUES_PER_BIN=10;const DEFAULT_REBINNED_COUNT=40;const DEFAULT_BOUNDARIES_FOR_UNIT=new Map();const DELTA=String.fromCharCode(916);const Z_SCORE_NAME='z-score';const P_VALUE_NAME='p-value';const U_STATISTIC_NAME='U';function percentToString(percent,opt_force3){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');} 7217if(percent===0)return'000';if(percent===1)return'100';let str=percent.toString();if(str[1]!=='.'){throw new Error('Unexpected percent');} 7218str=str+'0'.repeat(Math.max(4-str.length,0));if(str.length>4){if(opt_force3){str=str.slice(0,4);}else{str=str.slice(0,4)+'_'+str.slice(4);}} 7219return'0'+str.slice(2);} 7220function percentFromString(s){return parseFloat(s[0]+'.'+s.substr(1).replace(/_/g,''));} 7221class HistogramBin{constructor(range){this.range=range;this.count=0;this.diagnosticMaps=[];} 7222addSample(value){this.count+=1;} 7223addDiagnosticMap(diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.diagnosticMaps,this.count,diagnostics,MAX_DIAGNOSTIC_MAPS);} 7224addBin(other){if(!this.range.equals(other.range)){throw new Error('Merging incompatible Histogram bins.');} 7225tr.b.math.Statistics.mergeSampledStreams(this.diagnosticMaps,this.count,other.diagnosticMaps,other.count,MAX_DIAGNOSTIC_MAPS);this.count+=other.count;} 7226fromDict(dict){this.count=dict[0];if(dict.length>1){for(const map of dict[1]){this.diagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}} 7227asDict(){if(!this.diagnosticMaps.length){return[this.count];} 7228return[this.count,this.diagnosticMaps.map(d=>d.asDict())];}} 7229const DEFAULT_SUMMARY_OPTIONS=new Map([['avg',true],['count',true],['geometricMean',false],['max',true],['min',true],['nans',false],['std',true],['sum',true],]);class Histogram{constructor(name,unit,opt_binBoundaries){let binBoundaries=opt_binBoundaries;if(!binBoundaries){const baseUnit=unit.baseUnit?unit.baseUnit:unit;binBoundaries=DEFAULT_BOUNDARIES_FOR_UNIT.get(baseUnit.unitName);} 7230this.guid_=undefined;this.binBoundariesDict_=binBoundaries.asDict();this.allBins=binBoundaries.bins.slice();this.description='';this.diagnostics=new tr.v.d.DiagnosticMap();this.maxNumSampleValues_=this.defaultMaxNumSampleValues_;this.name_=name;this.nanDiagnosticMaps=[];this.numNans=0;this.running_=undefined;this.sampleValues_=[];this.shortName=undefined;this.summaryOptions=new Map(DEFAULT_SUMMARY_OPTIONS);this.summaryOptions.set('percentile',[]);this.summaryOptions.set('iprs',[]);this.unit=unit;} 7231static create(name,unit,samples,opt_options){const options=opt_options||{};const hist=new Histogram(name,unit,options.binBoundaries);if(options.description)hist.description=options.description;if(options.shortName)hist.shortName=options.shortName;if(options.summaryOptions){let summaryOptions=options.summaryOptions;if(!(summaryOptions instanceof Map)){summaryOptions=Object.entries(summaryOptions);} 7232for(const[name,value]of summaryOptions){hist.summaryOptions.set(name,value);}} 7233if(options.diagnostics!==undefined){let diagnostics=options.diagnostics;if(!(diagnostics instanceof Map)){diagnostics=Object.entries(diagnostics);} 7234for(const[name,diagnostic]of diagnostics){hist.diagnostics.set(name,diagnostic);}} 7235if(!(samples instanceof Array))samples=[samples];for(const sample of samples){if(typeof sample==='object'){hist.addSample(sample.value,sample.diagnostics);}else{hist.addSample(sample);}} 7236return hist;} 7237get running(){return this.running_;} 7238get maxNumSampleValues(){return this.maxNumSampleValues_;} 7239set maxNumSampleValues(n){this.maxNumSampleValues_=n;tr.b.math.Statistics.uniformlySampleArray(this.sampleValues_,this.maxNumSampleValues_);} 7240get name(){return this.name_;} 7241get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();} 7242return this.guid_;} 7243set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');} 7244this.guid_=guid;} 7245static fromDict(dict){const hist=new Histogram(dict.name,tr.b.Unit.fromJSON(dict.unit),HistogramBinBoundaries.fromDict(dict.binBoundaries));hist.guid=dict.guid;if(dict.shortName){hist.shortName=dict.shortName;} 7246if(dict.description){hist.description=dict.description;} 7247if(dict.diagnostics){hist.diagnostics.addDicts(dict.diagnostics);} 7248if(dict.allBins){if(dict.allBins.length!==undefined){for(let i=0;i<dict.allBins.length;++i){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(dict.allBins[i]);}}else{for(const[i,binDict]of Object.entries(dict.allBins)){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(binDict);}}} 7249if(dict.running){hist.running_=tr.b.math.RunningStatistics.fromDict(dict.running);} 7250if(dict.summaryOptions){if(dict.summaryOptions.iprs){dict.summaryOptions.iprs=dict.summaryOptions.iprs.map(r=>tr.b.math.Range.fromExplicitRange(r[0],r[1]));} 7251hist.customizeSummaryOptions(dict.summaryOptions);} 7252if(dict.maxNumSampleValues!==undefined){hist.maxNumSampleValues=dict.maxNumSampleValues;} 7253if(dict.sampleValues){hist.sampleValues_=dict.sampleValues;} 7254if(dict.numNans){hist.numNans=dict.numNans;} 7255if(dict.nanDiagnostics){for(const map of dict.nanDiagnostics){hist.nanDiagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}} 7256return hist;} 7257get numValues(){return this.running_?this.running_.count:0;} 7258get average(){return this.running_?this.running_.mean:undefined;} 7259get standardDeviation(){return this.running_?this.running_.stddev:undefined;} 7260get geometricMean(){return this.running_?this.running_.geometricMean:0;} 7261get sum(){return this.running_?this.running_.sum:0;} 7262get min(){return this.running_?this.running_.min:Infinity;} 7263get max(){return this.running_?this.running_.max:-Infinity;} 7264getDifferenceSignificance(other,opt_alpha){if(this.unit!==other.unit){throw new Error('Cannot compare Histograms with different units');} 7265if(this.unit.improvementDirection===tr.b.ImprovementDirection.DONT_CARE){return tr.b.math.Statistics.Significance.DONT_CARE;} 7266if(!(other instanceof Histogram)){throw new Error('Unable to compute a p-value');} 7267const testResult=tr.b.math.Statistics.mwu(this.sampleValues,other.sampleValues,opt_alpha);return testResult.significance;} 7268getApproximatePercentile(percent){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');} 7269if(this.numValues===0)return undefined;if(this.allBins.length===1){const sortedSampleValues=this.sampleValues.slice().sort((x,y)=>x-y);return sortedSampleValues[Math.floor((sortedSampleValues.length-1)*percent)];} 7270let valuesToSkip=Math.floor((this.numValues-1)*percent);for(const bin of this.allBins){valuesToSkip-=bin.count;if(valuesToSkip>=0)continue;if(bin.range.min===-Number.MAX_VALUE){return bin.range.max;} 7271if(bin.range.max===Number.MAX_VALUE){return bin.range.min;} 7272return bin.range.center;} 7273return this.allBins[this.allBins.length-1].range.min;} 7274getBinIndexForValue(value){const i=tr.b.math.findHighIndexInSortedArray(this.allBins,b=>((value<b.range.max)?-1:1));if(0<=i&&i<this.allBins.length)return i;return this.allBins.length-1;} 7275getBinForValue(value){return this.allBins[this.getBinIndexForValue(value)];} 7276addSample(value,opt_diagnostics){if(opt_diagnostics&&!(opt_diagnostics instanceof tr.v.d.DiagnosticMap)){opt_diagnostics=tr.v.d.DiagnosticMap.fromObject(opt_diagnostics);} 7277if(typeof(value)!=='number'||isNaN(value)){this.numNans++;if(opt_diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.nanDiagnosticMaps,this.numNans,opt_diagnostics,MAX_DIAGNOSTIC_MAPS);}}else{if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();} 7278this.running_.add(value);const binIndex=this.getBinIndexForValue(value);let bin=this.allBins[binIndex];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[binIndex]=bin;} 7279bin.addSample(value);if(opt_diagnostics){bin.addDiagnosticMap(opt_diagnostics);}} 7280tr.b.math.Statistics.uniformlySampleStream(this.sampleValues_,this.numValues+this.numNans,value,this.maxNumSampleValues);} 7281sampleValuesInto(samples){for(const sampleValue of this.sampleValues){samples.push(sampleValue);}} 7282canAddHistogram(other){if(this.unit!==other.unit){return false;} 7283if(this.binBoundariesDict_===other.binBoundariesDict_){return true;} 7284if(this.binBoundariesDict_.length!==other.binBoundariesDict_.length){return false;} 7285for(let i=0;i<this.binBoundariesDict_.length;++i){const slice=this.binBoundariesDict_[i];const otherSlice=other.binBoundariesDict_[i];if(slice instanceof Array){if(!(otherSlice instanceof Array)){return false;} 7286if(slice[0]!==otherSlice[0]||!tr.b.math.approximately(slice[1],otherSlice[1])||slice[2]!==otherSlice[2]){return false;}}else{if(otherSlice instanceof Array){return false;} 7287if(!tr.b.math.approximately(slice,otherSlice)){return false;}}} 7288return true;} 7289addHistogram(other){if(!this.canAddHistogram(other)){throw new Error('Merging incompatible Histograms');} 7290tr.b.math.Statistics.mergeSampledStreams(this.nanDiagnosticMaps,this.numNans,other.nanDiagnosticMaps,other.numNans,MAX_DIAGNOSTIC_MAPS);tr.b.math.Statistics.mergeSampledStreams(this.sampleValues,this.numValues+this.numNans,other.sampleValues,other.numValues+other.numNans,(this.maxNumSampleValues+other.maxNumSampleValues)/2);this.numNans+=other.numNans;if(other.running_!==undefined){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();} 7291this.running_=this.running_.merge(other.running_);} 7292for(let i=0;i<this.allBins.length;++i){let bin=this.allBins[i];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[i]=bin;} 7293bin.addBin(other.allBins[i]);} 7294let mergedFrom=this.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(!mergedFrom){mergedFrom=new tr.v.d.RelatedHistogramSet();this.diagnostics.set(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY,mergedFrom);} 7295mergedFrom.add(other);let mergedTo=other.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(!mergedTo){mergedTo=new tr.v.d.RelatedHistogramSet();other.diagnostics.set(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY,mergedTo);} 7296mergedTo.add(this);this.diagnostics.addDiagnostics(other.diagnostics);for(const[stat,option]of other.summaryOptions){if(stat==='percentile'){const percentiles=this.summaryOptions.get(stat);for(const percent of option){if(!percentiles.includes(percent))percentiles.push(percent);}}else if(stat==='iprs'){const thisIprs=this.summaryOptions.get(stat);for(const ipr of option){let found=false;for(const thisIpr of thisIprs){found=ipr.equals(thisIpr);if(found)break;} 7297if(!found)thisIprs.push(ipr);}}else if(option&&!this.summaryOptions.get(stat)){this.summaryOptions.set(stat,true);}}} 7298customizeSummaryOptions(summaryOptions){for(const[key,value]of Object.entries(summaryOptions)){this.summaryOptions.set(key,value);}} 7299getStatisticScalar(statName,opt_referenceHistogram,opt_mwu){if(statName==='avg'){if(this.running_===undefined)return undefined;return new tr.b.Scalar(this.unit,this.average);} 7300if(statName==='std'){if(this.standardDeviation===undefined)return undefined;return new tr.b.Scalar(this.unit,this.standardDeviation);} 7301if(statName==='geometricMean'){return new tr.b.Scalar(this.unit,this.geometricMean);} 7302if(statName==='min'||statName==='max'||statName==='sum'){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();} 7303return new tr.b.Scalar(this.unit,this.running_[statName]);} 7304if(statName==='nans'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numNans);} 7305if(statName==='count'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numValues);} 7306if(statName.substr(0,4)==='pct_'){const percent=percentFromString(statName.substr(4));if(this.numValues===0)return undefined;const percentile=this.getApproximatePercentile(percent);return new tr.b.Scalar(this.unit,percentile);} 7307if(statName.substr(0,4)==='ipr_'){let lower=percentFromString(statName.substr(4,3));let upper=percentFromString(statName.substr(8));if(lower>=upper){throw new Error('Invalid inter-percentile range: '+statName);} 7308lower=this.getApproximatePercentile(lower);upper=this.getApproximatePercentile(upper);return new tr.b.Scalar(this.unit,upper-lower);} 7309if(!this.canCompare(opt_referenceHistogram)){throw new Error('Cannot compute '+statName+' when histograms are not comparable');} 7310const suffix=tr.b.Unit.nameSuffixForImprovementDirection(this.unit.improvementDirection);const deltaIndex=statName.indexOf(DELTA);if(deltaIndex>=0){const baseStatName=statName.substr(deltaIndex+1);const thisStat=this.getStatisticScalar(baseStatName);const otherStat=opt_referenceHistogram.getStatisticScalar(baseStatName);const deltaValue=thisStat.value-otherStat.value;if(statName[0]==='%'){return new tr.b.Scalar(tr.b.Unit.byName['normalizedPercentageDelta'+suffix],deltaValue/otherStat.value);} 7311return new tr.b.Scalar(thisStat.unit.correspondingDeltaUnit,deltaValue);} 7312if(statName===Z_SCORE_NAME){return new tr.b.Scalar(tr.b.Unit.byName['sigmaDelta'+suffix],(this.average-opt_referenceHistogram.average)/opt_referenceHistogram.standardDeviation);} 7313const mwu=opt_mwu||tr.b.math.Statistics.mwu(this.sampleValues,opt_referenceHistogram.sampleValues);if(statName===P_VALUE_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.p);} 7314if(statName===U_STATISTIC_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.U);} 7315throw new Error('Unrecognized statistic name: '+statName);} 7316get statisticsNames(){const statisticsNames=new Set();for(const[statName,option]of this.summaryOptions){if(statName==='percentile'){for(const pctile of option){statisticsNames.add('pct_'+tr.v.percentToString(pctile));}}else if(statName==='iprs'){for(const range of option){statisticsNames.add('ipr_'+tr.v.percentToString(range.min,true)+'_'+tr.v.percentToString(range.max,true));}}else if(option){statisticsNames.add(statName);}} 7317return statisticsNames;} 7318canCompare(other){return other instanceof Histogram&&this.unit===other.unit&&this.numValues>0&&other.numValues>0;} 7319getAvailableStatisticName(statName,opt_referenceHist){if(this.canCompare(opt_referenceHist))return statName;if(statName===Z_SCORE_NAME||statName===P_VALUE_NAME||statName===U_STATISTIC_NAME){return'avg';} 7320const deltaIndex=statName.indexOf(DELTA);if(deltaIndex<0)return statName;return statName.substr(deltaIndex+1);} 7321static getDeltaStatisticsNames(statNames){const deltaNames=[];for(const statName of statNames){deltaNames.push(`${DELTA}${statName}`);deltaNames.push(`%${DELTA}${statName}`);} 7322return deltaNames.concat([Z_SCORE_NAME,P_VALUE_NAME,U_STATISTIC_NAME]);} 7323get statisticsScalars(){const results=new Map();for(const statName of this.statisticsNames){const scalar=this.getStatisticScalar(statName);if(scalar===undefined)continue;results.set(statName,scalar);} 7324return results;} 7325get sampleValues(){return this.sampleValues_;} 7326clone(){const binBoundaries=HistogramBinBoundaries.fromDict(this.binBoundariesDict_);const hist=new Histogram(this.name,this.unit,binBoundaries);for(const[stat,option]of this.summaryOptions){if(stat==='percentile'||stat==='iprs'){hist.summaryOptions.set(stat,Array.from(option));}else{hist.summaryOptions.set(stat,option);}} 7327hist.addHistogram(this);return hist;} 7328rebin(newBoundaries){const rebinned=new tr.v.Histogram(this.name,this.unit,newBoundaries);rebinned.description=this.description;for(const sample of this.sampleValues){rebinned.addSample(sample);} 7329rebinned.running_=this.running_;for(const[name,diagnostic]of this.diagnostics){rebinned.diagnostics.set(name,diagnostic);} 7330for(const[stat,option]of this.summaryOptions){if(stat==='percentile'){rebinned.summaryOptions.set(stat,Array.from(option));}else{rebinned.summaryOptions.set(stat,option);}} 7331return rebinned;} 7332asDict(){const dict={};dict.name=this.name;dict.unit=this.unit.asJSON();dict.guid=this.guid;if(this.binBoundariesDict_!==undefined){dict.binBoundaries=this.binBoundariesDict_;} 7333if(this.shortName){dict.shortName=this.shortName;} 7334if(this.description){dict.description=this.description;} 7335if(this.diagnostics.size){dict.diagnostics=this.diagnostics.asDict();} 7336if(this.maxNumSampleValues!==this.defaultMaxNumSampleValues_){dict.maxNumSampleValues=this.maxNumSampleValues;} 7337if(this.numNans){dict.numNans=this.numNans;} 7338if(this.nanDiagnosticMaps.length){dict.nanDiagnostics=this.nanDiagnosticMaps.map(dm=>dm.asDict());} 7339if(this.numValues){dict.sampleValues=this.sampleValues.slice();dict.running=this.running_.asDict();dict.allBins=this.allBinsAsDict_();} 7340const summaryOptions={};let anyOverriddenSummaryOptions=false;for(const[name,value]of this.summaryOptions){let option;if(name==='percentile'){if(value.length===0)continue;option=Array.from(value);}else if(name==='iprs'){if(value.length===0)continue;option=value.map(r=>[r.min,r.max]);}else if(value===DEFAULT_SUMMARY_OPTIONS.get(name)){continue;}else{option=value;} 7341summaryOptions[name]=option;anyOverriddenSummaryOptions=true;} 7342if(anyOverriddenSummaryOptions){dict.summaryOptions=summaryOptions;} 7343return dict;} 7344allBinsAsDict_(){const numBins=this.allBins.length;let emptyBins=0;for(let i=0;i<numBins;++i){if(this.allBins[i].count===0){++emptyBins;}} 7345if(emptyBins===numBins){return undefined;} 7346if(emptyBins>(numBins/2)){const allBinsDict={};for(let i=0;i<numBins;++i){const bin=this.allBins[i];if(bin.count>0){allBinsDict[i]=bin.asDict();}} 7347return allBinsDict;} 7348const allBinsArray=[];for(let i=0;i<numBins;++i){allBinsArray.push(this.allBins[i].asDict());} 7349return allBinsArray;} 7350get defaultMaxNumSampleValues_(){return DEFAULT_SAMPLE_VALUES_PER_BIN*Math.max(this.allBins.length,DEFAULT_REBINNED_COUNT);}} 7351Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS={count:false,max:false,min:false,std:false,sum:false,};const HISTOGRAM_BIN_BOUNDARIES_CACHE=new Map();class HistogramBinBoundaries{static createLinear(min,max,numBins){return new HistogramBinBoundaries(min).addLinearBins(max,numBins);} 7352static createExponential(min,max,numBins){return new HistogramBinBoundaries(min).addExponentialBins(max,numBins);} 7353static createWithBoundaries(binBoundaries){const builder=new HistogramBinBoundaries(binBoundaries[0]);for(const boundary of binBoundaries.slice(1)){builder.addBinBoundary(boundary);} 7354return builder;} 7355constructor(minBinBoundary){this.builder_=[minBinBoundary];this.range_=new tr.b.math.Range();this.range_.addValue(minBinBoundary);this.binRanges_=undefined;this.bins_=undefined;} 7356get range(){return this.range_;} 7357asDict(){if(this.builder_.length===1&&this.builder_[0]===Number.MAX_VALUE){return undefined;} 7358return this.builder_;} 7359pushBuilderSlice_(slice){this.builder_.push(slice);this.builder_=this.builder_.slice();} 7360static fromDict(dict){if(dict===undefined){return HistogramBinBoundaries.SINGULAR;} 7361const cacheKey=JSON.stringify(dict);if(HISTOGRAM_BIN_BOUNDARIES_CACHE.has(cacheKey)){return HISTOGRAM_BIN_BOUNDARIES_CACHE.get(cacheKey);} 7362const binBoundaries=new HistogramBinBoundaries(dict[0]);for(const slice of dict.slice(1)){if(!(slice instanceof Array)){binBoundaries.addBinBoundary(slice);continue;} 7363switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:binBoundaries.addLinearBins(slice[1],slice[2]);break;case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:binBoundaries.addExponentialBins(slice[1],slice[2]);break;default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}} 7364HISTOGRAM_BIN_BOUNDARIES_CACHE.set(cacheKey,binBoundaries);return binBoundaries;} 7365get bins(){if(this.bins_===undefined){this.buildBins_();} 7366return this.bins_;} 7367buildBins_(){this.bins_=this.binRanges.map(r=>new HistogramBin(r));} 7368get binRanges(){if(this.binRanges_===undefined){this.buildBinRanges_();} 7369return this.binRanges_;} 7370buildBinRanges_(){if(typeof this.builder_[0]!=='number'){throw new Error('Invalid start of builder_');} 7371this.binRanges_=[];let prevBoundary=this.builder_[0];if(prevBoundary>-Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(-Number.MAX_VALUE,prevBoundary));} 7372for(const slice of this.builder_.slice(1)){if(!(slice instanceof Array)){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,slice));prevBoundary=slice;continue;} 7373const nextMaxBinBoundary=slice[1];const binCount=slice[2];const sliceMinBinBoundary=prevBoundary;switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:{const binWidth=(nextMaxBinBoundary-prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary+i*binWidth;this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;} 7374break;} 7375case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:{const binExponentWidth=Math.log(nextMaxBinBoundary/prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary*Math.exp(i*binExponentWidth);this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;} 7376break;} 7377default:throw new Error('Unrecognized HistogramBinBoundaries slice type');} 7378this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,nextMaxBinBoundary));prevBoundary=nextMaxBinBoundary;} 7379if(prevBoundary<Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,Number.MAX_VALUE));}} 7380addBinBoundary(nextMaxBinBoundary){if(nextMaxBinBoundary<=this.range.max){throw new Error('The added max bin boundary must be larger than '+'the current max boundary');} 7381this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_(nextMaxBinBoundary);this.range.addValue(nextMaxBinBoundary);return this;} 7382addLinearBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');} 7383if(nextMaxBinBoundary<=this.range.max){throw new Error('The new max bin boundary must be greater than '+'the previous max bin boundary');} 7384this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.LINEAR,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;} 7385addExponentialBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');} 7386if(this.range.max<=0){throw new Error('Current max bin boundary must be positive');} 7387if(this.range.max>=nextMaxBinBoundary){throw new Error('The last added max boundary must be greater than '+'the current max boundary boundary');} 7388this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}} 7389HistogramBinBoundaries.SLICE_TYPE={LINEAR:0,EXPONENTIAL:1,};HistogramBinBoundaries.SINGULAR=new HistogramBinBoundaries(Number.MAX_VALUE);DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeDurationInMs.unitName,HistogramBinBoundaries.createExponential(1e-3,1e6,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeStampInMs.unitName,HistogramBinBoundaries.createLinear(0,1e10,1e3));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.normalizedPercentage.unitName,HistogramBinBoundaries.createLinear(0,1.0,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sizeInBytes.unitName,HistogramBinBoundaries.createExponential(1,1e12,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.energyInJoules.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.powerInWatts.unitName,HistogramBinBoundaries.createExponential(1e-3,1,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.unitlessNumber.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.count.unitName,HistogramBinBoundaries.createExponential(1,1e3,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sigma.unitName,HistogramBinBoundaries.createLinear(-5,5,50));return{DEFAULT_REBINNED_COUNT,DELTA,Histogram,HistogramBinBoundaries,P_VALUE_NAME,U_STATISTIC_NAME,Z_SCORE_NAME,percentFromString,percentToString,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-scalar-context-controller',created(){this.host_=undefined;this.groupToContext_=new Map();this.dirtyGroups_=new Set();},attached(){if(this.host_){throw new Error('Scalar context controller is already attached to a host');} 7390const host=findParentOrHost(this);if(host.__scalarContextController){throw new Error('Multiple scalar context controllers attached to this host');} 7391host.__scalarContextController=this;this.host_=host;},detached(){if(!this.host_){throw new Error('Scalar context controller is not attached to a host');} 7392if(this.host_.__scalarContextController!==this){throw new Error('Scalar context controller is not attached to its host');} 7393delete this.host_.__scalarContextController;this.host_=undefined;},getContext(group){return this.groupToContext_.get(group);},onScalarSpanAdded(group,span){let context=this.groupToContext_.get(group);if(context===undefined){context={spans:new Set(),range:new tr.b.math.Range()};this.groupToContext_.set(group,context);} 7394if(context.spans.has(span)){throw new Error('Scalar span already registered with group: '+group);} 7395context.spans.add(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanRemoved(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);} 7396context.spans.delete(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanUpdated(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);} 7397this.markGroupDirtyAndScheduleUpdate_(group);},markGroupDirtyAndScheduleUpdate_(group){const alreadyDirty=this.dirtyGroups_.size>0;this.dirtyGroups_.add(group);if(!alreadyDirty){tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContext,this);}},updateContext(){const groups=this.dirtyGroups_;if(groups.size===0)return;this.dirtyGroups_=new Set();for(const group of groups){this.updateGroup_(group);} 7398const event=new tr.b.Event('context-updated');event.groups=groups;this.dispatchEvent(event);},updateGroup_(group){const context=this.groupToContext_.get(group);if(context.spans.size===0){this.groupToContext_.delete(group);return;} 7399context.range.reset();for(const span of context.spans){context.range.addValue(span.value);}}});function getScalarContextControllerForElement(element){while(element){if(element.__scalarContextController){return element.__scalarContextController;} 7400element=findParentOrHost(element);} 7401return undefined;} 7402function findParentOrHost(node){if(node.parentElement){return node.parentElement;} 7403while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;} 7404return node.host;} 7405return{getScalarContextControllerForElement,};});'use strict';tr.exportTo('tr.v.ui',function(){function createScalarSpan(value,opt_config){if(value===undefined)return'';const config=opt_config||{};const ownerDocument=config.ownerDocument||document;const span=ownerDocument.createElement('tr-v-ui-scalar-span');let numericValue;if(value instanceof tr.b.Scalar){span.value=value;numericValue=value.value;}else if(value instanceof tr.v.Histogram){numericValue=value.average;if(numericValue===undefined)return'';span.setValueAndUnit(numericValue,value.unit);}else{const unit=config.unit;if(unit===undefined){throw new Error('Unit must be provided in config when value is a number');} 7406span.setValueAndUnit(value,unit);numericValue=value;} 7407if(config.context){span.context=config.context;} 7408if(config.customContextRange){span.customContextRange=config.customContextRange;} 7409if(config.leftAlign){span.leftAlign=true;} 7410if(config.inline){span.inline=true;} 7411if(config.significance!==undefined){span.significance=config.significance;} 7412if(config.contextGroup!==undefined){span.contextGroup=config.contextGroup;} 7413return span;} 7414return{createScalarSpan,};});'use strict';Polymer({is:'tr-v-ui-scalar-span',properties:{contextGroup:{type:String,reflectToAttribute:true,observer:'contextGroupChanged_'}},created(){this.value_=undefined;this.unit_=undefined;this.context_=undefined;this.warning_=undefined;this.significance_=tr.b.math.Statistics.Significance.DONT_CARE;this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;this.onContextUpdated_=this.onContextUpdated_.bind(this);this.customContextRange_=undefined;},get significance(){return this.significance_;},set significance(s){this.significance_=s;this.updateContents_();},set contentTextDecoration(deco){this.$.content.style.textDecoration=deco;},get value(){return this.value_;},set value(value){if(value instanceof tr.b.Scalar){this.value_=value.value;this.unit_=value.unit;}else{this.value_=value;} 7415this.updateContents_();if(this.hasContext_(this.contextGroup)){this.contextController_.onScalarSpanUpdated(this.contextGroup,this);}else{this.updateSparkline_();}},get contextController_(){if(this.shouldSearchForContextController_){this.lazyContextController_=tr.v.ui.getScalarContextControllerForElement(this);this.shouldSearchForContextController_=false;} 7416return this.lazyContextController_;},hasContext_(contextGroup){return!!(contextGroup&&this.contextController_);},contextGroupChanged_(newContextGroup,oldContextGroup){this.detachFromContextControllerIfPossible_(oldContextGroup);if(!this.attachToContextControllerIfPossible_(newContextGroup)){this.onContextUpdated_();}},attachToContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return false;this.contextController_.addEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanAdded(contextGroup,this);return true;},detachFromContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return;this.contextController_.removeEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanRemoved(contextGroup,this);},attached(){tr.b.Unit.addEventListener('display-mode-changed',this.updateContents_.bind(this));this.shouldSearchForContextController_=true;this.attachToContextControllerIfPossible_(this.contextGroup);},detached(){tr.b.Unit.removeEventListener('display-mode-changed',this.updateContents_.bind(this));this.detachFromContextControllerIfPossible_(this.contextGroup);this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;},onContextUpdated_(){this.updateSparkline_();},get context(){return this.context_;},set context(context){this.context_=context;this.updateContents_();},get unit(){return this.unit_;},set unit(unit){this.unit_=unit;this.updateContents_();this.updateSparkline_();},setValueAndUnit(value,unit){this.value_=value;this.unit_=unit;this.updateContents_();},get customContextRange(){return this.customContextRange_;},set customContextRange(customContextRange){this.customContextRange_=customContextRange;this.updateSparkline_();},get inline(){return Polymer.dom(this).classList.contains('inline');},set inline(inline){if(inline){Polymer.dom(this).classList.add('inline');}else{Polymer.dom(this).classList.remove('inline');}},get leftAlign(){return Polymer.dom(this).classList.contains('left-align');},set leftAlign(leftAlign){if(leftAlign){Polymer.dom(this).classList.add('left-align');}else{Polymer.dom(this).classList.remove('left-align');}},updateSparkline_(){Polymer.dom(this.$.sparkline).classList.remove('positive');Polymer.dom(this.$.sparkline).classList.remove('better');Polymer.dom(this.$.sparkline).classList.remove('worse');Polymer.dom(this.$.sparkline).classList.remove('same');this.$.sparkline.style.display='none';this.$.sparkline.style.left='0';this.$.sparkline.style.width='0';let range=this.customContextRange_;if(!range&&this.hasContext_(this.contextGroup)){const context=this.contextController_.getContext(this.contextGroup);if(context){range=context.range;}} 7417if(!range||range.isEmpty)return;const leftPoint=Math.min(range.min,0);const rightPoint=Math.max(range.max,0);const pointDistance=rightPoint-leftPoint;if(pointDistance===0){return;} 7418this.$.sparkline.style.display='block';let left;let width;if(this.value>0){width=Math.min(this.value,rightPoint);left=-leftPoint;Polymer.dom(this.$.sparkline).classList.add('positive');}else if(this.value<=0){width=-Math.max(this.value,leftPoint);left=(-leftPoint)-width;} 7419this.$.sparkline.style.left=this.buildSparklineStyle_(left/pointDistance,false);this.$.sparkline.style.width=this.buildSparklineStyle_(width/pointDistance,true);const changeClass=this.changeClassName_;if(changeClass){Polymer.dom(this.$.sparkline).classList.add(changeClass);}},buildSparklineStyle_(ratio,isWidth){let position='calc('+ratio+' * (100% - 1px)';if(isWidth){position+=' + 1px';} 7420position+=')';return position;},updateContents_(){Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).classList.remove('better');Polymer.dom(this.$.content).classList.remove('worse');Polymer.dom(this.$.content).classList.remove('same');this.$.insignificant.style.display='';this.$.significantly_better.style.display='';this.$.significantly_worse.style.display='';if(this.unit_===undefined)return;this.$.content.title='';Polymer.dom(this.$.content).textContent=this.unit_.format(this.value,this.context);this.updateDelta_();},updateDelta_(){let changeClass=this.changeClassName_;if(!changeClass){this.$.significance.style.display='none';return;} 7421this.$.significance.style.display='inline';let title;switch(changeClass){case'better':title='improvement';break;case'worse':title='regression';break;case'same':title='no change';break;default:throw new Error('Unknown change class: '+changeClass);} 7422Polymer.dom(this.$.content).classList.add(changeClass);switch(this.significance){case tr.b.math.Statistics.Significance.DONT_CARE:break;case tr.b.math.Statistics.Significance.INSIGNIFICANT:if(changeClass!=='same')title='insignificant '+title;this.$.insignificant.style.display='inline';changeClass='same';break;case tr.b.math.Statistics.Significance.SIGNIFICANT:if(changeClass==='same'){throw new Error('How can no change be significant?');} 7423this.$['significantly_'+changeClass].style.display='inline';title='significant '+title;break;default:throw new Error('Unknown significance '+this.significance);} 7424this.$.significance.title=title;this.$.content.title=title;},get changeClassName_(){if(!this.unit_||!this.unit_.isDelta)return undefined;switch(this.unit_.improvementDirection){case tr.b.ImprovementDirection.DONT_CARE:return undefined;case tr.b.ImprovementDirection.BIGGER_IS_BETTER:if(this.value===0)return'same';return this.value>0?'better':'worse';case tr.b.ImprovementDirection.SMALLER_IS_BETTER:if(this.value===0)return'same';return this.value<0?'better':'worse';default:throw new Error('Unknown improvement direction: '+ 7425this.unit_.improvementDirection);}},get warning(){return this.warning_;},set warning(warning){this.warning_=warning;const warningEl=this.$.warning;if(this.warning_){warningEl.title=warning;warningEl.style.display='inline';}else{warningEl.title='';warningEl.style.display='';}},get timestamp(){return this.value;},set timestamp(timestamp){if(timestamp instanceof tr.b.u.TimeStamp){this.value=timestamp;return;} 7426this.setValueAndUnit(timestamp,tr.b.u.Units.timeStampInMs);},get duration(){return this.value;},set duration(duration){if(duration instanceof tr.b.u.TimeDuration){this.value=duration;return;} 7427this.setValueAndUnit(duration,tr.b.u.Units.timeDurationInMs);}});'use strict';const URL_REGEX=/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/;function isTable(object){if(!(object instanceof Array)||(object.length<2))return false;for(const colName in object[0]){if(typeof colName!=='string')return false;} 7428for(let i=0;i<object.length;++i){if(!(object[i]instanceof Object))return false;for(const colName in object[i]){if(i&&(object[0][colName]===undefined))return false;const cellType=typeof object[i][colName];if(cellType!=='string'&&cellType!=='number')return false;} 7429if(i){for(const colName in object[0]){if(object[i][colName]===undefined)return false;}}} 7430return true;} 7431Polymer({is:'tr-ui-a-generic-object-view',ready(){this.object_=undefined;},get object(){return this.object_;},set object(object){this.object_=object;this.updateContents_();},updateContents_(){Polymer.dom(this.$.content).textContent='';this.appendElementsForType_('',this.object_,0,0,5,'');},appendElementsForType_(label,object,indent,depth,maxDepth,suffix){if(depth>maxDepth){this.appendSimpleText_(label,indent,'<recursion limit reached>',suffix);return;} 7432if(object===undefined){this.appendSimpleText_(label,indent,'undefined',suffix);return;} 7433if(object===null){this.appendSimpleText_(label,indent,'null',suffix);return;} 7434if(!(object instanceof Object)){const type=typeof object;if(type!=='string'){return this.appendSimpleText_(label,indent,object,suffix);} 7435let objectReplaced=false;if((object[0]==='{'&&object[object.length-1]==='}')||(object[0]==='['&&object[object.length-1]===']')){try{object=JSON.parse(object);objectReplaced=true;}catch(e){}} 7436if(!objectReplaced){if(object.includes('\n')){const lines=object.split('\n');lines.forEach(function(line,i){let text;let ioff;let ll;let ss;if(i===0){text='"'+line;ioff=0;ll=label;ss='';}else if(i<lines.length-1){text=line;ioff=1;ll='';ss='';}else{text=line+'"';ioff=1;ll='';ss=suffix;} 7437const el=this.appendSimpleText_(ll,indent+ioff*label.length+ioff,text,ss);el.style.whiteSpace='pre';return el;},this);return;} 7438if(object.match(URL_REGEX)){const link=document.createElement('a');link.href=object;link.textContent=object;this.appendElementWithLabel_(label,indent,link,suffix);return;} 7439this.appendSimpleText_(label,indent,'"'+object+'"',suffix);return;}} 7440if(object instanceof tr.model.ObjectSnapshot){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;} 7441if(object instanceof tr.model.ObjectInstance){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;} 7442if(object instanceof tr.b.math.Rect){this.appendSimpleText_(label,indent,object.toString(),suffix);return;} 7443if(object instanceof tr.b.Scalar){const el=this.ownerDocument.createElement('tr-v-ui-scalar-span');el.value=object;el.inline=true;this.appendElementWithLabel_(label,indent,el,suffix);return;} 7444if(object instanceof Array){this.appendElementsForArray_(label,object,indent,depth,maxDepth,suffix);return;} 7445this.appendElementsForObject_(label,object,indent,depth,maxDepth,suffix);},appendElementsForArray_(label,object,indent,depth,maxDepth,suffix){if(object.length===0){this.appendSimpleText_(label,indent,'[]',suffix);return;} 7446if(isTable(object)){const table=document.createElement('tr-ui-b-table');const columns=[];for(const colName of Object.keys(object[0])){let allStrings=true;let allNumbers=true;for(let i=0;i<object.length;++i){if(typeof(object[i][colName])!=='string'){allStrings=false;} 7447if(typeof(object[i][colName])!=='number'){allNumbers=false;} 7448if(!allStrings&&!allNumbers)break;} 7449const column={title:colName};column.value=function(row){return row[colName];};if(allStrings){column.cmp=function(x,y){return x[colName].localeCompare(y[colName]);};}else if(allNumbers){column.cmp=function(x,y){return x[colName]-y[colName];};} 7450columns.push(column);} 7451table.tableColumns=columns;table.tableRows=object;this.appendElementWithLabel_(label,indent,table,suffix);table.rebuild();return;} 7452this.appendElementsForType_(label+'[',object[0],indent,depth+1,maxDepth,object.length>1?',':']'+suffix);for(let i=1;i<object.length;i++){this.appendElementsForType_('',object[i],indent+label.length+1,depth+1,maxDepth,i<object.length-1?',':']'+suffix);} 7453return;},appendElementsForObject_(label,object,indent,depth,maxDepth,suffix){const keys=Object.keys(object);if(keys.length===0){this.appendSimpleText_(label,indent,'{}',suffix);return;} 7454this.appendElementsForType_(label+'{'+keys[0]+': ',object[keys[0]],indent,depth,maxDepth,keys.length>1?',':'}'+suffix);for(let i=1;i<keys.length;i++){this.appendElementsForType_(keys[i]+': ',object[keys[i]],indent+label.length+1,depth+1,maxDepth,i<keys.length-1?',':'}'+suffix);}},appendElementWithLabel_(label,indent,dataElement,suffix){const row=document.createElement('div');const indentSpan=document.createElement('span');indentSpan.style.whiteSpace='pre';for(let i=0;i<indent;i++){Polymer.dom(indentSpan).textContent+=' ';} 7455Polymer.dom(row).appendChild(indentSpan);const labelSpan=document.createElement('span');Polymer.dom(labelSpan).textContent=label;Polymer.dom(row).appendChild(labelSpan);Polymer.dom(row).appendChild(dataElement);const suffixSpan=document.createElement('span');Polymer.dom(suffixSpan).textContent=suffix;Polymer.dom(row).appendChild(suffixSpan);row.dataElement=dataElement;Polymer.dom(this.$.content).appendChild(row);},appendSimpleText_(label,indent,text,suffix){const el=this.ownerDocument.createElement('span');Polymer.dom(el).textContent=text;this.appendElementWithLabel_(label,indent,el,suffix);return el;}});'use strict';Polymer({is:'tr-ui-a-generic-object-view-with-label',ready(){this.labelEl_=document.createElement('div');this.genericObjectView_=document.createElement('tr-ui-a-generic-object-view');Polymer.dom(this.root).appendChild(this.labelEl_);Polymer.dom(this.root).appendChild(this.genericObjectView_);},get label(){return Polymer.dom(this.labelEl_).textContent;},set label(label){Polymer.dom(this.labelEl_).textContent=label;},get object(){return this.genericObjectView_.object;},set object(object){this.genericObjectView_.object=object;}});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectSnapshotView=tr.ui.b.define('object-snapshot-view');ObjectSnapshotView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectSnapshot_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectSnapshot=obj;},get modelEvent(){return this.objectSnapshot;},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(i){this.objectSnapshot_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectSnapshotView;options.defaultMetadata={showInstances:true,showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectSnapshotView,options);return{ObjectSnapshotView,};});'use strict';Polymer({is:'tr-ui-b-drag-handle',created(){this.lastMousePos_=0;this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.target_=undefined;this.horizontal=true;this.observer_=new WebKitMutationObserver(this.didTargetMutate_.bind(this));this.targetSizesByModeKey_={};},get modeKey_(){return this.target_.className===''?'.':this.target_.className;},get target(){return this.target_;},set target(target){this.observer_.disconnect();this.target_=target;if(!this.target_)return;this.observer_.observe(this.target_,{attributes:true,attributeFilter:['class']});},get horizontal(){return this.horizontal_;},set horizontal(h){this.horizontal_=h;if(this.horizontal_){this.className='horizontal-drag-handle';}else{this.className='vertical-drag-handle';}},get vertical(){return!this.horizontal_;},set vertical(v){this.horizontal=!v;},forceMutationObserverFlush_(){const records=this.observer_.takeRecords();if(records.length){this.didTargetMutate_(records);}},didTargetMutate_(e){const modeSize=this.targetSizesByModeKey_[this.modeKey_];if(modeSize!==undefined){this.setTargetSize_(modeSize);return;} 7456this.target_.style[this.targetStyleKey_]='';},get targetStyleKey_(){return this.horizontal_?'height':'width';},getTargetSize_(){const targetStyleKey=this.targetStyleKey_;if(!this.target_.style[targetStyleKey]){this.target_.style[targetStyleKey]=window.getComputedStyle(this.target_)[targetStyleKey];} 7457const size=parseInt(this.target_.style[targetStyleKey]);this.targetSizesByModeKey_[this.modeKey_]=size;return size;},setTargetSize_(s){this.target_.style[this.targetStyleKey_]=s+'px';this.targetSizesByModeKey_[this.modeKey_]=s;tr.b.dispatchSimpleEvent(this,'drag-handle-resize',true,false);},applyDelta_(delta){const curSize=this.getTargetSize_();let newSize;if(this.target_===this.nextElementSibling){newSize=curSize+delta;}else{newSize=curSize-delta;} 7458this.setTargetSize_(newSize);},onMouseMove_(e){const curMousePos=this.horizontal_?e.clientY:e.clientX;const delta=this.lastMousePos_-curMousePos;this.applyDelta_(delta);this.lastMousePos_=curMousePos;e.preventDefault();return true;},onMouseDown_(e){if(!this.target_)return;this.forceMutationObserverFlush_();this.lastMousePos_=this.horizontal_?e.clientY:e.clientX;document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);e.preventDefault();return true;},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);e.preventDefault();}});'use strict';tr.exportTo('tr.ui.b',function(){function HotKey(dict){if(dict.eventType===undefined){throw new Error('eventType must be given');} 7459if(dict.keyCode===undefined&&dict.keyCodes===undefined){throw new Error('keyCode or keyCodes must be given');} 7460if(dict.keyCode!==undefined&&dict.keyCodes!==undefined){throw new Error('Only keyCode or keyCodes can be given');} 7461if(dict.callback===undefined){throw new Error('callback must be given');} 7462this.eventType_=dict.eventType;this.keyCodes_=[];if(dict.keyCode){this.pushKeyCode_(dict.keyCode);}else if(dict.keyCodes){dict.keyCodes.forEach(this.pushKeyCode_,this);} 7463this.useCapture_=!!dict.useCapture;this.callback_=dict.callback;this.thisArg_=dict.thisArg!==undefined?dict.thisArg:undefined;this.helpText_=dict.helpText!==undefined?dict.helpText:undefined;} 7464HotKey.prototype={get eventType(){return this.eventType_;},get keyCodes(){return this.keyCodes_;},get helpText(){return this.helpText_;},call(e){this.callback_.call(this.thisArg_,e);},pushKeyCode_(keyCode){this.keyCodes_.push(keyCode);}};return{HotKey,};});'use strict';Polymer({is:'tv-ui-b-hotkey-controller',created(){this.isAttached_=false;this.globalMode_=false;this.coupledToParentController_=undefined;this.curHost_=undefined;this.childControllers_=[];this.bubblingKeyDownHotKeys_={};this.capturingKeyDownHotKeys_={};this.bubblingKeyPressHotKeys_={};this.capturingKeyPressHotKeys_={};this.onBubblingKeyDown_=this.onKey_.bind(this,false);this.onCapturingKeyDown_=this.onKey_.bind(this,true);this.onBubblingKeyPress_=this.onKey_.bind(this,false);this.onCapturingKeyPress_=this.onKey_.bind(this,true);},attached(){this.isAttached_=true;const host=this.findHost_();if(host.__hotkeyController){throw new Error('Multiple hotkey controllers attached to this host');} 7465host.__hotkeyController=this;this.curHost_=host;let parentElement;if(host.parentElement){parentElement=host.parentElement;}else{parentElement=Polymer.dom(host).parentNode.host;} 7466const parentController=tr.b.getHotkeyControllerForElement(parentElement);if(parentController){this.coupledToParentController_=parentController;parentController.addChildController_(this);return;} 7467host.addEventListener('keydown',this.onBubblingKeyDown_,false);host.addEventListener('keydown',this.onCapturingKeyDown_,true);host.addEventListener('keypress',this.onBubblingKeyPress_,false);host.addEventListener('keypress',this.onCapturingKeyPress_,true);},detached(){this.isAttached_=false;const host=this.curHost_;if(!host)return;delete host.__hotkeyController;this.curHost_=undefined;if(this.coupledToParentController_){this.coupledToParentController_.removeChildController_(this);this.coupledToParentController_=undefined;return;} 7468host.removeEventListener('keydown',this.onBubblingKeyDown_,false);host.removeEventListener('keydown',this.onCapturingKeyDown_,true);host.removeEventListener('keypress',this.onBubblingKeyPress_,false);host.removeEventListener('keypress',this.onCapturingKeyPress_,true);},addChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i!==-1){throw new Error('Controller already registered');} 7469this.childControllers_.push(controller);},removeChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i===-1){throw new Error('Controller not registered');} 7470this.childControllers_.splice(i,1);return controller;},getKeyMapForEventType_(eventType,useCapture){if(eventType==='keydown'){if(!useCapture){return this.bubblingKeyDownHotKeys_;} 7471return this.capturingKeyDownHotKeys_;} 7472if(eventType==='keypress'){if(!useCapture){return this.bubblingKeyPressHotKeys_;} 7473return this.capturingKeyPressHotKeys_;} 7474throw new Error('Unsupported key event');},addHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');} 7475const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(keyMap[keyCode]){throw new Error('Key is already bound for keyCode='+keyCode);}} 7476for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];keyMap[keyCode]=hotKey;} 7477return hotKey;},removeHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');} 7478const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(!keyMap[keyCode]){throw new Error('Key is not bound for keyCode='+keyCode);} 7479keyMap[keyCode]=hotKey;} 7480for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];delete keyMap[keyCode];} 7481return hotKey;},get globalMode(){return this.globalMode_;},set globalMode(globalMode){const wasAttached=this.isAttached_;if(wasAttached){this.detached();} 7482this.globalMode_=!!globalMode;if(wasAttached){this.attached();}},get topmostConroller_(){if(this.coupledToParentController_){return this.coupledToParentController_.topmostConroller_;} 7483return this;},childRequestsGeneralFocus(child){const topmost=this.topmostConroller_;if(topmost.curHost_){if(topmost.curHost_.hasAttribute('tabIndex')){topmost.curHost_.focus();}else{if(document.activeElement){document.activeElement.blur();}}}else{if(document.activeElement){document.activeElement.blur();}}},childRequestsBlur(child){child.blur();const topmost=this.topmostConroller_;if(topmost.curHost_){topmost.curHost_.focus();}},findHost_(){if(this.globalMode_)return document.body;if(this.parentElement)return this.parentElement;if(!Polymer.dom(this).parentNode)return this.host;let node=this.parentNode;while(Polymer.dom(node).parentNode)node=Polymer.dom(node).parentNode;return node.host;},appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e){const localKeyMap=this.getKeyMapForEventType_(e.type,useCapture);const localHotKey=localKeyMap[e.keyCode];if(localHotKey){matchedHotKeys.push(localHotKey);} 7484for(let i=0;i<this.childControllers_.length;i++){const controller=this.childControllers_[i];controller.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);}},onKey_(useCapture,e){if(!useCapture&&e.path[0].tagName==='INPUT')return;let sortedControllers;const matchedHotKeys=[];this.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);if(matchedHotKeys.length===0)return false;if(matchedHotKeys.length>1){throw new Error('More than one hotKey is currently unsupported');} 7485const hotKey=matchedHotKeys[0];let prevented=0;prevented|=hotKey.call(e);return!prevented&&e.defaultPrevented;}});'use strict';tr.exportTo('tr.b',function(){function getHotkeyControllerForElement(refElement){let curElement=refElement;while(curElement){if(curElement.tagName==='tv-ui-b-hotkey-controller'){return curElement;} 7486if(curElement.__hotkeyController){return curElement.__hotkeyController;} 7487if(curElement.parentElement){curElement=curElement.parentElement;continue;} 7488curElement=findHost(curElement);} 7489return undefined;} 7490function findHost(initialNode){let node=initialNode;while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;} 7491return node.host;} 7492return{getHotkeyControllerForElement,};});'use strict';Polymer({is:'tr-ui-b-info-bar',ready(){this.messageEl_=this.$.message;this.buttonsEl_=this.$.buttons;this.message='';},get message(){return Polymer.dom(this.messageEl_).textContent;},set message(message){Polymer.dom(this.messageEl_).textContent=message;},get visible(){return!this.hidden;},set visible(visible){this.hidden=!visible;},removeAllButtons(){Polymer.dom(this.buttonsEl_).textContent='';},addButton(text,clickCallback){const button=document.createElement('button');Polymer.dom(button).textContent=text;button.addEventListener('click',clickCallback);Polymer.dom(this.buttonsEl_).appendChild(button);return button;}});'use strict';tr.exportTo('tr.ui.b',function(){const ContainerThatDecoratesItsChildren=tr.ui.b.define('div');ContainerThatDecoratesItsChildren.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.observer_=new WebKitMutationObserver(this.didMutate_.bind(this));this.observer_.observe(this,{childList:true});Object.defineProperty(this,'textContent',{get:undefined,set:this.onSetTextContent_});},appendChild(x){HTMLDivElement.prototype.appendChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},insertBefore(x,y){HTMLDivElement.prototype.insertBefore.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},removeChild(x){HTMLDivElement.prototype.removeChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},replaceChild(x,y){HTMLDivElement.prototype.replaceChild.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},onSetTextContent_(textContent){if(textContent!==''){throw new Error('textContent can only be set to \'\'.');} 7493this.clear();},clear(){while(Polymer.dom(this).lastChild){HTMLDivElement.prototype.removeChild.call(this,Polymer.dom(this).lastChild);} 7494this.didMutate_(this.observer_.takeRecords());},didMutate_(records){this.beginDecorating_();for(let i=0;i<records.length;i++){const addedNodes=records[i].addedNodes;if(addedNodes){for(let j=0;j<addedNodes.length;j++){this.decorateChild_(addedNodes[j]);}} 7495const removedNodes=records[i].removedNodes;if(removedNodes){for(let j=0;j<removedNodes.length;j++){this.undecorateChild_(removedNodes[j]);}}} 7496this.doneDecoratingForNow_();},decorateChild_(child){throw new Error('Not implemented');},undecorateChild_(child){throw new Error('Not implemented');},beginDecorating_(){},doneDecoratingForNow_(){}};return{ContainerThatDecoratesItsChildren,};});'use strict';tr.exportTo('tr.ui.b',function(){const ListView=tr.ui.b.define('x-list-view',tr.ui.b.ContainerThatDecoratesItsChildren);ListView.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);Polymer.dom(this).classList.add('x-list-view');this.onItemClicked_=this.onItemClicked_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.tabIndex=0;this.addEventListener('keydown',this.onKeyDown_);this.selectionChanged_=false;},decorateChild_(item){Polymer.dom(item).classList.add('list-item');item.addEventListener('click',this.onItemClicked_,true);Object.defineProperty(item,'selected',{configurable:true,get:()=>item.hasAttribute('selected'),set:value=>{const oldSelection=this.selectedElement;if(oldSelection&&oldSelection!==item&&value){Polymer.dom(this.selectedElement).removeAttribute('selected');} 7497if(value){Polymer.dom(item).setAttribute('selected','selected');}else{Polymer.dom(item).removeAttribute('selected');} 7498const newSelection=this.selectedElement;if(newSelection!==oldSelection){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},});},undecorateChild_(item){this.selectionChanged_|=item.selected;Polymer.dom(item).classList.remove('list-item');item.removeEventListener('click',this.onItemClicked_);delete item.selected;},beginDecorating_(){this.selectionChanged_=false;},doneDecoratingForNow_(){if(this.selectionChanged_){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},get selectedElement(){const el=Polymer.dom(this).querySelector('.list-item[selected]');if(!el)return undefined;return el;},set selectedElement(el){if(!el){if(this.selectedElement){this.selectedElement.selected=false;} 7499return;} 7500if(el.parentElement!==this){throw new Error('Can only select elements that are children of this list view');} 7501el.selected=true;},getElementByIndex(index){return Polymer.dom(this).querySelector('.list-item:nth-child('+index+')');},clear(){const changed=this.selectedElement!==undefined;tr.ui.b.ContainerThatDecoratesItsChildren.prototype.clear.call(this);if(changed){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},onItemClicked_(e){const currentSelectedElement=this.selectedElement;if(currentSelectedElement){Polymer.dom(currentSelectedElement).removeAttribute('selected');} 7502let element=e.target;while(element.parentElement!==this){element=element.parentElement;} 7503if(element!==currentSelectedElement){Polymer.dom(element).setAttribute('selected','selected');} 7504tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onKeyDown_(e){if(this.selectedElement===undefined)return;if(e.keyCode===38){const prev=Polymer.dom(this.selectedElement).previousSibling;if(prev){prev.selected=true;tr.ui.b.scrollIntoViewIfNeeded(prev);e.preventDefault();return true;}}else if(e.keyCode===40){const next=Polymer.dom(this.selectedElement).nextSibling;if(next){next.selected=true;tr.ui.b.scrollIntoViewIfNeeded(next);e.preventDefault();return true;}}},addItem(textContent){const item=document.createElement('div');Polymer.dom(item).textContent=textContent;Polymer.dom(this).appendChild(item);return item;}};return{ListView,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE={};MOUSE_SELECTOR_MODE.SELECTION=0x1;MOUSE_SELECTOR_MODE.PANSCAN=0x2;MOUSE_SELECTOR_MODE.ZOOM=0x4;MOUSE_SELECTOR_MODE.TIMING=0x8;MOUSE_SELECTOR_MODE.ROTATE=0x10;MOUSE_SELECTOR_MODE.ALL_MODES=0x1F;const MOUSE_SELECTOR_MODE_INFOS={};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.PANSCAN]={mode:MOUSE_SELECTOR_MODE.PANSCAN,title:'pan',eventNames:{enter:'enterpan',begin:'beginpan',update:'updatepan',end:'endpan',exit:'exitpan'},activeBackgroundPosition:'-30px -10px',defaultBackgroundPosition:'0 -10px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION]={mode:MOUSE_SELECTOR_MODE.SELECTION,title:'selection',eventNames:{enter:'enterselection',begin:'beginselection',update:'updateselection',end:'endselection',exit:'exitselection'},activeBackgroundPosition:'-30px -40px',defaultBackgroundPosition:'0 -40px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ZOOM]={mode:MOUSE_SELECTOR_MODE.ZOOM,title:'zoom',eventNames:{enter:'enterzoom',begin:'beginzoom',update:'updatezoom',end:'endzoom',exit:'exitzoom'},activeBackgroundPosition:'-30px -70px',defaultBackgroundPosition:'0 -70px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.TIMING]={mode:MOUSE_SELECTOR_MODE.TIMING,title:'timing',eventNames:{enter:'entertiming',begin:'begintiming',update:'updatetiming',end:'endtiming',exit:'exittiming'},activeBackgroundPosition:'-30px -100px',defaultBackgroundPosition:'0 -100px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ROTATE]={mode:MOUSE_SELECTOR_MODE.ROTATE,title:'rotate',eventNames:{enter:'enterrotate',begin:'beginrotate',update:'updaterotate',end:'endrotate',exit:'exitrotate'},activeBackgroundPosition:'-30px -130px',defaultBackgroundPosition:'0 -130px'};return{MOUSE_SELECTOR_MODE_INFOS,MOUSE_SELECTOR_MODE,};});'use strict';Polymer({is:'tr-ui-b-mouse-mode-icon',properties:{modeName:{type:String,reflectToAttribute:true,observer:'modeNameChanged'},},created(){this.active_=false;this.acceleratorKey_=undefined;},ready(){this.updateContents_();},get mode(){return tr.ui.b.MOUSE_SELECTOR_MODE[this.modeName];},set mode(mode){const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];const modeName=tr.b.findFirstKeyInDictMatching(tr.ui.b.MOUSE_SELECTOR_MODE,function(modeName,candidateMode){return candidateMode===mode;});if(modeName===undefined){throw new Error('Unknown mode');} 7505this.modeName=modeName;},modeNameChanged(){this.updateContents_();},get active(){return this.active_;},set active(active){this.active_=!!active;if(this.active_){Polymer.dom(this).classList.add('active');}else{Polymer.dom(this).classList.remove('active');} 7506this.updateContents_();},get acceleratorKey(){return this.acceleratorKey_;},set acceleratorKey(acceleratorKey){this.acceleratorKey_=acceleratorKey;this.updateContents_();},updateContents_(){if(this.modeName===undefined)return;const mode=this.mode;if(mode===undefined){throw new Error('Invalid mode');} 7507const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];if(!modeInfo){throw new Error('Invalid mode');} 7508let title=modeInfo.title;if(this.acceleratorKey_){title=title+' ('+this.acceleratorKey_+')';} 7509this.title=title;let bp;if(this.active_){bp=modeInfo.activeBackgroundPosition;}else{bp=modeInfo.defaultBackgroundPosition;} 7510this.style.backgroundPosition=bp;}});'use strict';tr.exportTo('tr.ui.b',function(){function MouseTracker(opt_targetElement){this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.targetElement=opt_targetElement;} 7511MouseTracker.prototype={get targetElement(){return this.targetElement_;},set targetElement(targetElement){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);} 7512this.targetElement_=targetElement;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},onMouseDown_(e){if(e.button!==0)return true;e=this.remakeEvent_(e,'mouse-tracker-start');this.targetElement_.dispatchEvent(e);document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);this.targetElement_.addEventListener('blur',this.onMouseUp_);this.savePreviousUserSelect_=document.body.style['-webkit-user-select'];document.body.style['-webkit-user-select']='none';e.preventDefault();return true;},onMouseMove_(e){e=this.remakeEvent_(e,'mouse-tracker-move');this.targetElement_.dispatchEvent(e);},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);this.targetElement_.removeEventListener('blur',this.onMouseUp_);document.body.style['-webkit-user-select']=this.savePreviousUserSelect_;e=this.remakeEvent_(e,'mouse-tracker-end');this.targetElement_.dispatchEvent(e);},remakeEvent_(e,newType){const remade=new tr.b.Event(newType,true,true);remade.x=e.x;remade.y=e.y;remade.offsetX=e.offsetX;remade.offsetY=e.offsetY;remade.clientX=e.clientX;remade.clientY=e.clientY;return remade;}};function trackMouseMovesUntilMouseUp(mouseMoveHandler,opt_mouseUpHandler,opt_keyUpHandler){function cleanupAndDispatchToMouseUp(e){document.removeEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.removeEventListener('keyup',opt_keyUpHandler);} 7513document.removeEventListener('mouseup',cleanupAndDispatchToMouseUp);if(opt_mouseUpHandler){opt_mouseUpHandler(e);}} 7514document.addEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.addEventListener('keyup',opt_keyUpHandler);} 7515document.addEventListener('mouseup',cleanupAndDispatchToMouseUp);} 7516return{MouseTracker,trackMouseMovesUntilMouseUp,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE=tr.ui.b.MOUSE_SELECTOR_MODE;const MOUSE_SELECTOR_MODE_INFOS=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS;const MIN_MOUSE_SELECTION_DISTANCE=4;const MODIFIER={SHIFT:0x1,SPACE:0x2,CMD_OR_CTRL:0x4};function isCmdOrCtrlPressed(event){if(tr.isMac)return event.metaKey;return event.ctrlKey;} 7517Polymer({is:'tr-ui-b-mouse-mode-selector',created(){this.supportedModeMask_=MOUSE_SELECTOR_MODE.ALL_MODES;this.initialRelativeMouseDownPos_={x:0,y:0};this.defaultMode_=MOUSE_SELECTOR_MODE.PANSCAN;this.settingsKey_=undefined;this.mousePos_={x:0,y:0};this.mouseDownPos_={x:0,y:0};this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.onKeyUp_=this.onKeyUp_.bind(this);this.mode_=undefined;this.modeToKeyCodeMap_={};this.modifierToModeMap_={};this.targetElement_=undefined;this.modeBeforeAlternativeModeActivated_=null;this.isInteracting_=false;this.isClick_=false;},ready(){this.buttonsEl_=Polymer.dom(this.root).querySelector('.buttons');this.dragHandleEl_=Polymer.dom(this.root).querySelector('.drag-handle');this.supportedModeMask=MOUSE_SELECTOR_MODE.ALL_MODES;this.dragHandleEl_.addEventListener('mousedown',this.onDragHandleMouseDown_.bind(this));this.buttonsEl_.addEventListener('mouseup',this.onButtonMouseUp_);this.buttonsEl_.addEventListener('mousedown',this.onButtonMouseDown_);this.buttonsEl_.addEventListener('click',this.onButtonPress_.bind(this));},attached(){document.addEventListener('keydown',this.onKeyDown_);document.addEventListener('keyup',this.onKeyUp_);},detached(){document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('keyup',this.onKeyUp_);},get targetElement(){return this.targetElement_;},set targetElement(target){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);} 7518this.targetElement_=target;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},get defaultMode(){return this.defaultMode_;},set defaultMode(defaultMode){this.defaultMode_=defaultMode;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(!this.settingsKey_)return;let mode=tr.b.Settings.get(this.settingsKey_+'.mode',undefined);if(MOUSE_SELECTOR_MODE_INFOS[mode]===undefined){mode=undefined;} 7519if((mode&this.supportedModeMask_)===0){mode=undefined;} 7520if(!mode)mode=this.defaultMode_;this.mode=mode;const pos=tr.b.Settings.get(this.settingsKey_+'.pos',undefined);if(pos)this.pos=pos;},get supportedModeMask(){return this.supportedModeMask_;},set supportedModeMask(supportedModeMask){if(this.mode&&(supportedModeMask&this.mode)===0){throw new Error('supportedModeMask must include current mode.');} 7521function createButtonForMode(mode){return button;} 7522this.supportedModeMask_=supportedModeMask;Polymer.dom(this.buttonsEl_).textContent='';for(const modeName in MOUSE_SELECTOR_MODE){if(modeName==='ALL_MODES')continue;const mode=MOUSE_SELECTOR_MODE[modeName];if((this.supportedModeMask_&mode)===0)continue;const button=document.createElement('tr-ui-b-mouse-mode-icon');button.mode=mode;Polymer.dom(button).classList.add('tool-button');Polymer.dom(this.buttonsEl_).appendChild(button);}},getButtonForMode_(mode){for(let i=0;i<this.buttonsEl_.children.length;i++){const buttonEl=this.buttonsEl_.children[i];if(buttonEl.mode===mode){return buttonEl;}} 7523return undefined;},get mode(){return this.currentMode_;},set mode(newMode){if(newMode!==undefined){if(typeof newMode!=='number'){throw new Error('Mode must be a number');} 7524if((newMode&this.supportedModeMask_)===0){throw new Error('Cannot switch to this mode, it is not supported');} 7525if(MOUSE_SELECTOR_MODE_INFOS[newMode]===undefined){throw new Error('Unrecognized mode');}} 7526let modeInfo;if(this.currentMode_===newMode)return;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=false;if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end);this.dispatchEvent(mouseEvent);} 7527modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.exit,true);} 7528this.currentMode_=newMode;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=true;this.mouseDownPos_.x=this.mousePos_.x;this.mouseDownPos_.y=this.mousePos_.y;modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];if(!this.isInAlternativeMode_){tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.enter,true);} 7529if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin);this.dispatchEvent(mouseEvent);}} 7530if(this.settingsKey_&&!this.isInAlternativeMode_){tr.b.Settings.set(this.settingsKey_+'.mode',this.mode);}},setKeyCodeForMode(mode,keyCode){if((mode&this.supportedModeMask_)===0){throw new Error('Mode not supported');} 7531this.modeToKeyCodeMap_[mode]=keyCode;if(!this.buttonsEl_)return;const buttonEl=this.getButtonForMode_(mode);if(buttonEl){buttonEl.acceleratorKey=String.fromCharCode(keyCode);}},setCurrentMousePosFromEvent_(e){this.mousePos_.x=e.clientX;this.mousePos_.y=e.clientY;},createEvent_(eventName,sourceEvent){const event=new tr.b.Event(eventName,true);event.clientX=this.mousePos_.x;event.clientY=this.mousePos_.y;event.deltaX=this.mousePos_.x-this.mouseDownPos_.x;event.deltaY=this.mousePos_.y-this.mouseDownPos_.y;event.mouseDownX=this.mouseDownPos_.x;event.mouseDownY=this.mouseDownPos_.y;event.didPreventDefault=false;event.preventDefault=function(){event.didPreventDefault=true;if(sourceEvent){sourceEvent.preventDefault();}};event.stopPropagation=function(){sourceEvent.stopPropagation();};event.stopImmediatePropagation=function(){throw new Error('Not implemented');};return event;},onMouseDown_(e){if(e.button!==0)return;this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin,e);if(this.mode===MOUSE_SELECTOR_MODE.SELECTION){mouseEvent.appendSelection=isCmdOrCtrlPressed(e);} 7532this.dispatchEvent(mouseEvent);this.isInteracting_=true;this.isClick_=true;tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_,this.onMouseUp_);},onMouseMove_(e){this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.update,e);this.dispatchEvent(mouseEvent);if(this.isInteracting_){this.checkIsClick_(e);}},onMouseUp_(e){if(e.button!==0)return;const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end,e);mouseEvent.isClick=this.isClick_;this.dispatchEvent(mouseEvent);if(this.isClick_&&!mouseEvent.didPreventDefault){this.dispatchClickEvents_(e);} 7533this.isInteracting_=false;this.updateAlternativeModeState_(e);},onButtonMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonMouseUp_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonPress_(e){this.modeBeforeAlternativeModeActivated_=undefined;this.mode=e.target.mode;e.preventDefault();},onKeyDown_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=true;} 7534this.updateAlternativeModeState_(e);},onKeyUp_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=false;} 7535let didHandleKey=false;for(const[modeStr,keyCode]of Object.entries(this.modeToKeyCodeMap_)){if(e.keyCode===keyCode){this.modeBeforeAlternativeModeActivated_=undefined;const mode=parseInt(modeStr);this.mode=mode;didHandleKey=true;}} 7536if(didHandleKey){e.preventDefault();e.stopPropagation();return;} 7537this.updateAlternativeModeState_(e);},updateAlternativeModeState_(e){const shiftPressed=e.shiftKey;const spacePressed=this.spacePressed_;const cmdOrCtrlPressed=isCmdOrCtrlPressed(e);const smm=this.supportedModeMask_;let newMode;let isNewModeAnAlternativeMode=false;if(shiftPressed&&(this.modifierToModeMap_[MODIFIER.SHIFT]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SHIFT];isNewModeAnAlternativeMode=true;}else if(spacePressed&&(this.modifierToModeMap_[MODIFIER.SPACE]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SPACE];isNewModeAnAlternativeMode=true;}else if(cmdOrCtrlPressed&&(this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL];isNewModeAnAlternativeMode=true;}else{if(this.isInAlternativeMode_){newMode=this.modeBeforeAlternativeModeActivated_;isNewModeAnAlternativeMode=false;}else{newMode=undefined;}} 7538if(this.mode===newMode||newMode===undefined)return;if(isNewModeAnAlternativeMode){this.modeBeforeAlternativeModeActivated_=this.mode;} 7539this.mode=newMode;},get isInAlternativeMode_(){return!!this.modeBeforeAlternativeModeActivated_;},setModifierForAlternateMode(mode,modifier){this.modifierToModeMap_[modifier]=mode;},get pos(){return{x:parseInt(this.style.left),y:parseInt(this.style.top)};},set pos(pos){pos=this.constrainPositionToBounds_(pos);this.style.left=pos.x+'px';this.style.top=pos.y+'px';if(this.settingsKey_){tr.b.Settings.set(this.settingsKey_+'.pos',this.pos);}},constrainPositionToBounds_(pos){const parent=this.offsetParent||document.body;const parentRect=tr.ui.b.windowRectForElement(parent);const top=0;const bottom=parentRect.height-this.offsetHeight;const left=0;const right=parentRect.width-this.offsetWidth;const res={};res.x=Math.max(pos.x,left);res.x=Math.min(res.x,right);res.y=Math.max(pos.y,top);res.y=Math.min(res.y,bottom);return res;},onDragHandleMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();const mouseDownPos={x:e.clientX-this.offsetLeft,y:e.clientY-this.offsetTop};tr.ui.b.trackMouseMovesUntilMouseUp(function(e){const pos={};pos.x=e.clientX-mouseDownPos.x;pos.y=e.clientY-mouseDownPos.y;this.pos=pos;}.bind(this));},checkIsClick_(e){if(!this.isInteracting_||!this.isClick_)return;const deltaX=this.mousePos_.x-this.mouseDownPos_.x;const deltaY=this.mousePos_.y-this.mouseDownPos_.y;const minDist=MIN_MOUSE_SELECTION_DISTANCE;if(deltaX*deltaX+deltaY*deltaY>minDist*minDist){this.isClick_=false;}},dispatchClickEvents_(e){if(!this.isClick_)return;const modeInfo=MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION];const eventNames=modeInfo.eventNames;let mouseEvent=this.createEvent_(eventNames.begin);mouseEvent.appendSelection=isCmdOrCtrlPressed(e);this.dispatchEvent(mouseEvent);mouseEvent=this.createEvent_(eventNames.end);this.dispatchEvent(mouseEvent);}});return{MIN_MOUSE_SELECTION_DISTANCE,MODIFIER,};});'use strict';(function(){const DETAILS_SPLIT_REGEX=/^(\S*)\s*([\S\s]*)$/;Polymer({is:'tr-ui-e-chrome-cc-display-item-list-item',created(){Polymer.dom(this).setAttribute('name','');Polymer.dom(this).setAttribute('rawDetails','');Polymer.dom(this).setAttribute('richDetails',undefined);Polymer.dom(this).setAttribute('data_',undefined);},get data(){return this.data_;},set data(data){this.data_=data;if(!data){this.name='DATA MISSING';this.rawDetails='';this.richDetails=undefined;}else if(typeof data==='string'){const match=data.match(DETAILS_SPLIT_REGEX);this.name=match[1];this.rawDetails=match[2];this.richDetails=undefined;}else{this.name=data.name;this.rawDetails='';this.richDetails=data;}},stopPropagation(e){e.stopPropagation();},_computeIf(richDetails){return richDetails&&richDetails.skp64;},_computeHref(richDetails){return'data:application/octet-stream;base64,'+richDetails.skp64;}});})();'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function Selection(){this.selectionToSetIfClicked=undefined;} 7540Selection.prototype={get specicifity(){throw new Error('Not implemented');},get associatedLayerId(){throw new Error('Not implemented');},get associatedRenderPassId(){throw new Error('Not implemented');},get highlightsByLayerId(){return{};},createAnalysis(){throw new Error('Not implemented');},findEquivalent(lthi){throw new Error('Not implemented');}};function RenderPassSelection(renderPass,renderPassId){if(!renderPass||(renderPassId===undefined)){throw new Error('Render pass (with id) is required');} 7541this.renderPass_=renderPass;this.renderPassId_=renderPassId;} 7542RenderPassSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return undefined;},get associatedRenderPassId(){return this.renderPassId_;},get renderPass(){return this.renderPass_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='RenderPass '+this.renderPassId_;dataView.object=this.renderPass_.args;return dataView;},get title(){return this.renderPass_.objectInstance.typeName;}};function LayerSelection(layer){if(!layer){throw new Error('Layer is required');} 7543this.layer_=layer;} 7544LayerSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return this.layer_.layerId;},get associatedRenderPassId(){return undefined;},get layer(){return this.layer_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='Layer '+this.layer_.layerId;if(this.layer_.usingGpuRasterization){dataView.label+=' (GPU-rasterized)';} 7545dataView.object=this.layer_.args;return dataView;},get title(){return this.layer_.objectInstance.typeName;},findEquivalent(lthi){const layer=lthi.activeTree.findLayerWithId(this.layer_.layerId)||lthi.pendingTree.findLayerWithId(this.layer_.layerId);if(!layer)return undefined;return new LayerSelection(layer);}};function TileSelection(tile,opt_data){this.tile_=tile;this.data_=opt_data||{};} 7546TileSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.tile_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.tile_.layerId]=[{colorKey:this.tile_.objectInstance.typeName,rect:this.tile_.layerRect}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Tile '+this.tile_.objectInstance.id+' on layer '+ 7547this.tile_.layerId;if(this.data_){analysis.object={moreInfo:this.data_,tileArgs:this.tile_.args};}else{analysis.object=this.tile_.args;} 7548return analysis;},findEquivalent(lthi){const tileInstance=this.tile_.tileInstance;if(lthi.ts<tileInstance.creationTs||lthi.ts>=tileInstance.deletionTs){return undefined;} 7549const tileSnapshot=tileInstance.getSnapshotAt(lthi.ts);if(!tileSnapshot)return undefined;return new TileSelection(tileSnapshot);}};function LayerRectSelection(layer,rectType,rect,opt_data){this.layer_=layer;this.rectType_=rectType;this.rect_=rect;this.data_=opt_data!==undefined?opt_data:rect;} 7550LayerRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.layer_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.layer_.layerId]=[{colorKey:this.rectType_,rect:this.rect_}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label=this.rectType_+' on layer '+this.layer_.layerId;analysis.object=this.data_;return analysis;},findEquivalent(lthi){return undefined;}};function AnimationRectSelection(layer,rect){this.layer_=layer;this.rect_=rect;} 7551AnimationRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 0;},get associatedLayerId(){return this.layer_.layerId;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Animation Bounds of layer '+this.layer_.layerId;analysis.object=this.rect_;return analysis;}};return{Selection,RenderPassSelection,LayerSelection,TileSelection,LayerRectSelection,AnimationRectSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const ANNOTATION='Comment';const BEGIN_ANNOTATION='BeginCommentGroup';const END_ANNOTATION='EndCommentGroup';const ANNOTATION_ID='ID: ';const ANNOTATION_CLASS='CLASS: ';const ANNOTATION_TAG='TAG: ';const constants=tr.e.cc.constants;const PictureOpsListView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-list-view');PictureOpsListView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.opsList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.opsList_);this.selectedOp_=undefined;this.selectedOpIndex_=undefined;this.opsList_.addEventListener('selection-changed',this.onSelectionChanged_.bind(this));this.picture_=undefined;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.updateContents_();},updateContents_(){this.opsList_.clear();if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);ops=this.opsTaggedWithAnnotations_(ops);for(let i=0;i<ops.length;i++){const op=ops[i];const item=document.createElement('div');item.opIndex=op.opIndex;Polymer.dom(item).textContent=i+') '+op.cmd_string;if(op.elementInfo.tag||op.elementInfo.id||op.elementInfo.class){const elementInfo=document.createElement('span');Polymer.dom(elementInfo).classList.add('elementInfo');const tag=op.elementInfo.tag?op.elementInfo.tag:'unknown';const id=op.elementInfo.id?'id='+op.elementInfo.id:undefined;const className=op.elementInfo.class?'class='+ 7552op.elementInfo.class:undefined;Polymer.dom(elementInfo).textContent='<'+tag+(id?' ':'')+ 7553(id?id:'')+(className?' ':'')+ 7554(className?className:'')+'>';Polymer.dom(item).appendChild(elementInfo);} 7555if(op.info.length>0){const infoItem=document.createElement('div');Polymer.dom(infoItem).textContent=JSON.stringify(op.info);Polymer.dom(item).appendChild(infoItem);} 7556if(op.cmd_time&&op.cmd_time>=0.0001){const time=document.createElement('span');Polymer.dom(time).classList.add('time');const rounded=op.cmd_time.toFixed(4);Polymer.dom(time).textContent='('+rounded+'ms)';Polymer.dom(item).appendChild(time);} 7557Polymer.dom(this.opsList_).appendChild(item);}},onSelectionChanged_(e){let beforeSelectedOp=true;if(this.opsList_.selectedElement===this.selectedOp_){this.opsList_.selectedElement=undefined;beforeSelectedOp=false;this.selectedOpIndex_=undefined;} 7558this.selectedOp_=this.opsList_.selectedElement;const ops=this.opsList_.children;for(let i=0;i<ops.length;i++){const op=ops[i];if(op===this.selectedOp_){beforeSelectedOp=false;this.selectedOpIndex_=op.opIndex;}else if(beforeSelectedOp){Polymer.dom(op).setAttribute('beforeSelection','beforeSelection');}else{Polymer.dom(op).removeAttribute('beforeSelection');}} 7559tr.b.dispatchSimpleEvent(this,'selection-changed',false);},get numOps(){return this.opsList_.children.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(s){this.selectedOpIndex_=s;if(s===undefined){this.opsList_.selectedElement=this.selectedOp_;this.onSelectionChanged_();}else{if(s<0)throw new Error('Invalid index');if(s>=this.numOps)throw new Error('Invalid index');this.opsList_.selectedElement=this.opsList_.getElementByIndex(s+1);tr.ui.b.scrollIntoViewIfNeeded(this.opsList_.selectedElement);}},opsTaggedWithAnnotations_(ops){const annotationGroups=[];const opsWithoutAnnotations=[];for(let opIndex=0;opIndex<ops.length;opIndex++){const op=ops[opIndex];op.opIndex=opIndex;switch(op.cmd_string){case BEGIN_ANNOTATION:annotationGroups.push([]);break;case END_ANNOTATION:annotationGroups.pop();break;case ANNOTATION:annotationGroups[annotationGroups.length-1].push(op);break;default:{const annotations=[];let elementInfo={};annotationGroups.forEach(function(annotationGroup){elementInfo={};annotationGroup.forEach(function(annotation){annotation.info.forEach(function(info){if(info.includes(ANNOTATION_TAG)){elementInfo.tag=info.substring(info.indexOf(ANNOTATION_TAG)+ 7560ANNOTATION_TAG.length).toLowerCase();}else if(info.includes(ANNOTATION_ID)){elementInfo.id=info.substring(info.indexOf(ANNOTATION_ID)+ 7561ANNOTATION_ID.length);}else if(info.includes(ANNOTATION_CLASS)){elementInfo.class=info.substring(info.indexOf(ANNOTATION_CLASS)+ 7562ANNOTATION_CLASS.length);} 7563annotations.push(info);});});});op.annotations=annotations;op.elementInfo=elementInfo;opsWithoutAnnotations.push(op);}}} 7564return opsWithoutAnnotations;}};return{PictureOpsListView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const DisplayItemDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-debugger');DisplayItemDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-display-item-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.trackMouse_();this.displayItemInfo_=Polymer.dom(this).querySelector('display-item-info');this.displayItemInfo_.addEventListener('click',this.onDisplayItemInfoClick_.bind(this),false);this.displayItemListView_=new tr.ui.b.ListView();this.displayItemListView_.addEventListener('selection-changed',this.onDisplayItemListSelection_.bind(this));Polymer.dom(this.displayItemInfo_).appendChild(this.displayItemListView_);this.displayListFilename_=Polymer.dom(this).querySelector('.dlfilename');this.displayListExportButton_=Polymer.dom(this).querySelector('.dlexport');this.displayListExportButton_.addEventListener('click',this.onExportDisplayListClicked_.bind(this));this.skpFilename_=Polymer.dom(this).querySelector('.skpfilename');this.skpExportButton_=Polymer.dom(this).querySelector('.skpexport');this.skpExportButton_.addEventListener('click',this.onExportSkPictureClicked_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).insertBefore(this.infoBar_,this.rasterCanvas_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;this.pictureOpsListView_=new tr.ui.e.chrome.cc.PictureOpsListView();Polymer.dom(rightPanel).insertBefore(this.pictureOpsListView_,this.rasterArea_);this.pictureOpsListDragHandle_=document.createElement('tr-ui-b-drag-handle');this.pictureOpsListDragHandle_.horizontal=false;this.pictureOpsListDragHandle_.target=this.pictureOpsListView_;Polymer.dom(rightPanel).insertBefore(this.pictureOpsListDragHandle_,this.rasterArea_);},get picture(){return this.picture_;},set displayItemList(displayItemList){this.displayItemList_=displayItemList;this.picture=this.displayItemList_;this.displayItemListView_.clear();this.displayItemList_.items.forEach(function(item){const listItem=document.createElement('tr-ui-e-chrome-cc-display-item-list-item');listItem.data=item;Polymer.dom(this.displayItemListView_).appendChild(listItem);}.bind(this));},set picture(picture){this.picture_=picture;const showOpsList=picture&&picture!==this.displayItemList_;this.updateDrawOpsList_(showOpsList);if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;} 7565const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);let width=parseInt(style.width);let height=parseInt(style.height);if(this.picture_){width=Math.max(width,this.picture_.layerRect.width);height=Math.max(height,this.picture_.layerRect.height);} 7566return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+ 7567this.picture_.layerRect.width+' x '+ 7568this.picture_.layerRect.height+')';} 7569if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;} 7570this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;} 7571if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;} 7572this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.picture_||!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({showOverdraw:false},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},onDisplayItemListSelection_(e){const selected=this.displayItemListView_.selectedElement;if(!selected){this.picture=this.displayItemList_;return;} 7573const index=Array.prototype.indexOf.call(this.displayItemListView_.children,selected);const displayItem=this.displayItemList_.items[index];if(displayItem&&displayItem.skp64){this.picture=new tr.e.cc.Picture(displayItem.skp64,this.displayItemList_.layerRect);}else{this.picture=undefined;}},onDisplayItemInfoClick_(e){if(e&&e.target===this.displayItemInfo_){this.displayItemListView_.selectedElement=undefined;}},updateDrawOpsList_(showOpsList){if(showOpsList){this.pictureOpsListView_.picture=this.picture_;if(this.pictureOpsListView_.numOps>0){Polymer.dom(this.pictureOpsListView_).classList.add('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.add('hasPictureOps');}}else{Polymer.dom(this.pictureOpsListView_).classList.remove('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.remove('hasPictureOps');}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};},saveFile_(filename,rawData){if(!rawData)return;const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);} 7574const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.URL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=filename;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},onExportDisplayListClicked_(){const rawData=JSON.stringify(this.displayItemList_.items);this.saveFile_(this.displayListFilename_.value,rawData);},onExportSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());this.saveFile_(this.skpFilename_.value,rawData);}};return{DisplayItemDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const DisplayItemSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-list-view',tr.ui.analysis.ObjectSnapshotView);DisplayItemSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-display-item-list-view');this.displayItemDebugger_=new tr.ui.e.chrome.cc.DisplayItemDebugger();Polymer.dom(this).appendChild(this.displayItemDebugger_);},updateContents(){if(this.objectSnapshot_&&this.displayItemDebugger_){this.displayItemDebugger_.displayItemList=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(DisplayItemSnapshotView,{typeNames:['cc::DisplayItemList'],showInstances:false});return{DisplayItemSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const RENDER_PASS_QUADS=Math.max(constants.ACTIVE_TREE,constants.PENDING_TREE)+1;const LayerPicker=tr.ui.b.define('tr-ui-e-chrome-cc-layer-picker');LayerPicker.prototype={__proto__:HTMLUnknownElement.prototype,decorate(){this.lthi_=undefined;this.controls_=document.createElement('top-controls');this.renderPassQuads_=false;this.itemList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.itemList_);this.itemList_.addEventListener('selection-changed',this.onItemSelectionChanged_.bind(this));Polymer.dom(this.controls_).appendChild(tr.ui.b.createSelector(this,'whichTree','layerPicker.whichTree',constants.ACTIVE_TREE,[{label:'Active tree',value:constants.ACTIVE_TREE},{label:'Pending tree',value:constants.PENDING_TREE},{label:'Render pass quads',value:RENDER_PASS_QUADS}]));this.showPureTransformLayers_=false;const showPureTransformLayers=tr.ui.b.createCheckBox(this,'showPureTransformLayers','layerPicker.showPureTransformLayers',false,'Transform layers');Polymer.dom(showPureTransformLayers).classList.add('show-transform-layers');showPureTransformLayers.title='When checked, pure transform layers are shown';Polymer.dom(this.controls_).appendChild(showPureTransformLayers);},get lthiSnapshot(){return this.lthiSnapshot_;},set lthiSnapshot(lthiSnapshot){this.lthiSnapshot_=lthiSnapshot;this.updateContents_();},get whichTree(){return this.renderPassQuads_?constants.ACTIVE_TREE:this.whichTree_;},set whichTree(whichTree){this.whichTree_=whichTree;this.renderPassQuads_=(whichTree===RENDER_PASS_QUADS);this.updateContents_();tr.b.dispatchSimpleEvent(this,'selection-change',false);},get layerTreeImpl(){if(this.lthiSnapshot===undefined)return undefined;return this.lthiSnapshot.getTree(this.whichTree);},get isRenderPassQuads(){return this.renderPassQuads_;},get showPureTransformLayers(){return this.showPureTransformLayers_;},set showPureTransformLayers(show){if(this.showPureTransformLayers_===show)return;this.showPureTransformLayers_=show;this.updateContents_();},getRenderPassInfos_(){if(!this.lthiSnapshot_)return[];const renderPassInfo=[];if(!this.lthiSnapshot_.args.frame||!this.lthiSnapshot_.args.frame.renderPasses){return renderPassInfo;} 7575const renderPasses=this.lthiSnapshot_.args.frame.renderPasses;for(let i=0;i<renderPasses.length;++i){const info={renderPass:renderPasses[i],depth:0,id:i,name:'cc::RenderPass'};renderPassInfo.push(info);} 7576return renderPassInfo;},getLayerInfos_(){if(!this.lthiSnapshot_)return[];const tree=this.lthiSnapshot_.getTree(this.whichTree_);if(!tree)return[];const layerInfos=[];const showPureTransformLayers=this.showPureTransformLayers_;function isPureTransformLayer(layer){if(layer.args.compositingReasons&&layer.args.compositingReasons.length!==1&&layer.args.compositingReasons[0]!=='No reasons given'){return false;} 7577if(layer.args.drawsContent)return false;return true;} 7578const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;const info={layer,depth};if(layer.args.drawsContent){info.name=layer.objectInstance.name;}else{info.name='cc::LayerImpl';} 7579if(layer.usingGpuRasterization){info.name+=' (G)';} 7580info.isMaskLayer=isMask;info.replicaLayer=isReplica;if(showPureTransformLayers||!isPureTransformLayer(layer)){layerInfos.push(info);}} 7581tree.iterLayers(visitLayer);return layerInfos;},updateContents_(){if(this.renderPassQuads_){this.updateRenderPassContents_();}else{this.updateLayerContents_();}},updateRenderPassContents_(){this.itemList_.clear();let selectedRenderPassId;if(this.selection_&&this.selection_.associatedRenderPassId){selectedRenderPassId=this.selection_.associatedRenderPassId;} 7582const renderPassInfos=this.getRenderPassInfos_();renderPassInfos.forEach(function(renderPassInfo){const renderPass=renderPassInfo.renderPass;const id=renderPassInfo.id;const item=this.createElementWithDepth_(renderPassInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=renderPassInfo.name+' '+id;item.renderPass=renderPass;item.renderPassId=id;Polymer.dom(this.itemList_).appendChild(item);if(id===selectedRenderPassId){renderPass.selectionState=tr.model.SelectionState.SELECTED;}},this);},updateLayerContents_(){this.changingItemSelection_=true;try{this.itemList_.clear();let selectedLayerId;if(this.selection_&&this.selection_.associatedLayerId){selectedLayerId=this.selection_.associatedLayerId;} 7583const layerInfos=this.getLayerInfos_();layerInfos.forEach(function(layerInfo){const layer=layerInfo.layer;const id=layer.layerId;const item=this.createElementWithDepth_(layerInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=layerInfo.name+' '+id;const notesEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());if(layerInfo.isMaskLayer){Polymer.dom(notesEl).textContent+='(mask)';} 7584if(layerInfo.isReplicaLayer){Polymer.dom(notesEl).textContent+='(replica)';} 7585if((layer.gpuMemoryUsageInBytes!==undefined)&&(layer.gpuMemoryUsageInBytes>0)){const gpuUsageStr=tr.b.Unit.byName.sizeInBytes.format(layer.gpuMemoryUsageInBytes);Polymer.dom(notesEl).textContent+=' ('+gpuUsageStr+' MiB)';} 7586item.layer=layer;Polymer.dom(this.itemList_).appendChild(item);if(layer.layerId===selectedLayerId){layer.selectionState=tr.model.SelectionState.SELECTED;item.selected=true;}},this);}finally{this.changingItemSelection_=false;}},createElementWithDepth_(depth){const item=document.createElement('div');const indentEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());indentEl.style.whiteSpace='pre';for(let i=0;i<depth;i++){Polymer.dom(indentEl).textContent=Polymer.dom(indentEl).textContent+' ';} 7587return item;},onItemSelectionChanged_(e){if(this.changingItemSelection_)return;if(this.renderPassQuads_){this.onRenderPassSelected_(e);}else{this.onLayerSelected_(e);} 7588tr.b.dispatchSimpleEvent(this,'selection-change',false);},onRenderPassSelected_(e){let selectedRenderPass;let selectedRenderPassId;if(this.itemList_.selectedElement){selectedRenderPass=this.itemList_.selectedElement.renderPass;selectedRenderPassId=this.itemList_.selectedElement.renderPassId;} 7589if(selectedRenderPass){this.selection_=new tr.ui.e.chrome.cc.RenderPassSelection(selectedRenderPass,selectedRenderPassId);}else{this.selection_=undefined;}},onLayerSelected_(e){let selectedLayer;if(this.itemList_.selectedElement){selectedLayer=this.itemList_.selectedElement.layer;} 7590if(selectedLayer){this.selection_=new tr.ui.e.chrome.cc.LayerSelection(selectedLayer);}else{this.selection_=undefined;}},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.updateContents_();}};return{LayerPicker,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function RenderPassSnapshot(){ObjectSnapshot.apply(this,arguments);} 7591RenderPassSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['quadList']);}};ObjectSnapshot.subTypes.register(RenderPassSnapshot,{typeName:'cc::RenderPass'});return{RenderPassSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const deg2rad=tr.b.math.deg2rad;const constants={DEFAULT_SCALE:0.5,DEFAULT_EYE_DISTANCE:10000,MINIMUM_DISTANCE:1000,MAXIMUM_DISTANCE:100000,FOV:15,RESCALE_TIMEOUT_MS:200,MAXIMUM_TILT:80,SETTINGS_NAMESPACE:'tr.ui_camera'};const Camera=tr.ui.b.define('camera');Camera.prototype={__proto__:HTMLUnknownElement.prototype,decorate(eventSource){this.eventSource_=eventSource;this.eventSource_.addEventListener('beginpan',this.onPanBegin_.bind(this));this.eventSource_.addEventListener('updatepan',this.onPanUpdate_.bind(this));this.eventSource_.addEventListener('endpan',this.onPanEnd_.bind(this));this.eventSource_.addEventListener('beginzoom',this.onZoomBegin_.bind(this));this.eventSource_.addEventListener('updatezoom',this.onZoomUpdate_.bind(this));this.eventSource_.addEventListener('endzoom',this.onZoomEnd_.bind(this));this.eventSource_.addEventListener('beginrotate',this.onRotateBegin_.bind(this));this.eventSource_.addEventListener('updaterotate',this.onRotateUpdate_.bind(this));this.eventSource_.addEventListener('endrotate',this.onRotateEnd_.bind(this));this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];this.pixelRatio_=window.devicePixelRatio||1;},get modelViewMatrix(){const mvMatrix=mat4.create();mat4.lookAt(mvMatrix,this.eye_,this.gazeTarget_,[0,1,0]);return mvMatrix;},get projectionMatrix(){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const aspectRatio=rect.width/rect.height;const matrix=mat4.create();mat4.perspective(matrix,deg2rad(constants.FOV),aspectRatio,1,100000);return matrix;},set canvas(c){this.canvas_=c;},set deviceRect(rect){this.deviceRect_=rect;},get stackingDistanceDampening(){const gazeVector=[this.gazeTarget_[0]-this.eye_[0],this.gazeTarget_[1]-this.eye_[1],this.gazeTarget_[2]-this.eye_[2]];vec3.normalize(gazeVector,gazeVector);return 1+gazeVector[2];},loadCameraFromSettings(settings){this.eye_=settings.get('eye',this.eye_,constants.SETTINGS_NAMESPACE);this.gazeTarget_=settings.get('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);this.rotation_=settings.get('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);this.dispatchRenderEvent_();},saveCameraToSettings(settings){settings.set('eye',this.eye_,constants.SETTINGS_NAMESPACE);settings.set('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);settings.set('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);},resetCamera(){this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];const settings=tr.b.SessionSettings();const keys=settings.keys(constants.SETTINGS_NAMESPACE);if(keys.length!==0){this.loadCameraFromSettings(settings);return;} 7592if(this.deviceRect_){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);this.eye_[0]=this.deviceRect_.width/2;this.eye_[1]=this.deviceRect_.height/2;this.gazeTarget_[0]=this.deviceRect_.width/2;this.gazeTarget_[1]=this.deviceRect_.height/2;} 7593this.saveCameraToSettings(settings);this.dispatchRenderEvent_();},updatePanByDelta(delta){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const eyeVector=[this.eye_[0]-this.gazeTarget_[0],this.eye_[1]-this.gazeTarget_[1],this.eye_[2]-this.gazeTarget_[2]];const length=vec3.length(eyeVector);vec3.normalize(eyeVector,eyeVector);const halfFov=constants.FOV/2;const multiplier=2.0*length*Math.tan(deg2rad(halfFov))/rect.height;const up=[0,1,0];const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec3.transformMat4(up,up,rotMatrix);const right=[0,0,0];vec3.cross(right,eyeVector,up);vec3.normalize(right,right);for(let i=0;i<3;++i){this.gazeTarget_[i]+=delta[0]*multiplier*right[i]-delta[1]*multiplier*up[i];this.eye_[i]=this.gazeTarget_[i]+length*eyeVector[i];} 7594if(Math.abs(this.gazeTarget_[2])>1e-6){const gazeVector=[-eyeVector[0],-eyeVector[1],-eyeVector[2]];const newLength=tr.b.math.clamp(-this.eye_[2]/gazeVector[2],constants.MINIMUM_DISTANCE,constants.MAXIMUM_DISTANCE);for(let i=0;i<3;++i){this.gazeTarget_[i]=this.eye_[i]+newLength*gazeVector[i];}} 7595this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateZoomByDelta(delta){let deltaY=delta[1];deltaY=tr.b.math.clamp(deltaY,-50,50);let scale=1.0-deltaY/100.0;const eyeVector=[0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const length=vec3.length(eyeVector);if(length*scale<constants.MINIMUM_DISTANCE){scale=constants.MINIMUM_DISTANCE/length;}else if(length*scale>constants.MAXIMUM_DISTANCE){scale=constants.MAXIMUM_DISTANCE/length;} 7596vec3.scale(eyeVector,eyeVector,scale);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateRotateByDelta(delta){delta[0]*=0.5;delta[1]*=0.5;if(Math.abs(this.rotation_[0]+delta[1])>constants.MAXIMUM_TILT){return;} 7597if(Math.abs(this.rotation_[1]-delta[0])>constants.MAXIMUM_TILT){return;} 7598const eyeVector=[0,0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[0]),[1,0,0]);mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[1]),[0,1,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);this.rotation_[0]+=delta[1];this.rotation_[1]-=delta[0];mat4.identity(rotMatrix);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},onPanBegin_(e){this.panning_=true;this.lastMousePosition_=this.getMousePosition_(e);},onPanUpdate_(e){if(!this.panning_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updatePanByDelta(delta);},onPanEnd_(e){this.panning_=false;},onZoomBegin_(e){this.zooming_=true;const p=this.getMousePosition_(e);this.lastMousePosition_=p;this.zoomPoint_=p;},onZoomUpdate_(e){if(!this.zooming_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateZoomByDelta(delta);},onZoomEnd_(e){this.zooming_=false;this.zoomPoint_=undefined;},onRotateBegin_(e){this.rotating_=true;this.lastMousePosition_=this.getMousePosition_(e);},onRotateUpdate_(e){if(!this.rotating_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateRotateByDelta(delta);},onRotateEnd_(e){this.rotating_=false;},getMousePosition_(e){const rect=tr.ui.b.windowRectForElement(this.canvas_);return[(e.clientX-rect.x)*this.pixelRatio_,(e.clientY-rect.y)*this.pixelRatio_];},getMouseDelta_(e,p){const newP=this.getMousePosition_(e);return[newP[0]-p[0],newP[1]-p[1]];},dispatchRenderEvent_(){tr.b.dispatchSimpleEvent(this,'renderrequired',false,false);}};return{Camera,};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;const constants={};constants.IMAGE_LOAD_RETRY_TIME_MS=500;constants.SUBDIVISION_MINIMUM=1;constants.SUBDIVISION_RECURSION_DEPTH=3;constants.SUBDIVISION_DEPTH_THRESHOLD=100;constants.FAR_PLANE_DISTANCE=10000;function drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2){const tmpP0=[p0[0],p0[1]];const tmpP1=[p1[0],p1[1]];const tmpP2=[p2[0],p2[1]];const tmpT0=[t0[0],t0[1]];const tmpT1=[t1[0],t1[1]];const tmpT2=[t2[0],t2[1]];ctx.beginPath();ctx.moveTo(tmpP0[0],tmpP0[1]);ctx.lineTo(tmpP1[0],tmpP1[1]);ctx.lineTo(tmpP2[0],tmpP2[1]);ctx.closePath();tmpP1[0]-=tmpP0[0];tmpP1[1]-=tmpP0[1];tmpP2[0]-=tmpP0[0];tmpP2[1]-=tmpP0[1];tmpT1[0]-=tmpT0[0];tmpT1[1]-=tmpT0[1];tmpT2[0]-=tmpT0[0];tmpT2[1]-=tmpT0[1];const det=1/(tmpT1[0]*tmpT2[1]-tmpT2[0]*tmpT1[1]);const a=(tmpT2[1]*tmpP1[0]-tmpT1[1]*tmpP2[0])*det;const b=(tmpT2[1]*tmpP1[1]-tmpT1[1]*tmpP2[1])*det;const c=(tmpT1[0]*tmpP2[0]-tmpT2[0]*tmpP1[0])*det;const d=(tmpT1[0]*tmpP2[1]-tmpT2[0]*tmpP1[1])*det;const e=tmpP0[0]-a*tmpT0[0]-c*tmpT0[1];const f=tmpP0[1]-b*tmpT0[0]-d*tmpT0[1];ctx.save();ctx.transform(a,b,c,d,e,f);ctx.clip();ctx.drawImage(img,0,0);ctx.restore();} 7599function drawTriangleSub(ctx,img,p0,p1,p2,t0,t1,t2,opt_recursionDepth){const depth=opt_recursionDepth||0;let subdivisionIndex=0;if(depth<constants.SUBDIVISION_MINIMUM){subdivisionIndex=7;}else if(depth<constants.SUBDIVISION_RECURSION_DEPTH){if(Math.abs(p0[2]-p1[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=1;} 7600if(Math.abs(p0[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=2;} 7601if(Math.abs(p1[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=4;}} 7602const p01=vec4.create();const p02=vec4.create();const p12=vec4.create();const t01=vec2.create();const t02=vec2.create();const t12=vec2.create();for(let i=0;i<2;++i){p0[i]*=p0[2];p1[i]*=p1[2];p2[i]*=p2[2];} 7603for(let i=0;i<4;++i){p01[i]=(p0[i]+p1[i])/2;p02[i]=(p0[i]+p2[i])/2;p12[i]=(p1[i]+p2[i])/2;} 7604for(let i=0;i<2;++i){p0[i]/=p0[2];p1[i]/=p1[2];p2[i]/=p2[2];p01[i]/=p01[2];p02[i]/=p02[2];p12[i]/=p12[2];} 7605for(let i=0;i<2;++i){t01[i]=(t0[i]+t1[i])/2;t02[i]=(t0[i]+t2[i])/2;t12[i]=(t1[i]+t2[i])/2;} 7606switch(subdivisionIndex){case 1:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 2:drawTriangleSub(ctx,img,p0,p1,p02,t0,t1,t02,depth+1);drawTriangleSub(ctx,img,p1,p02,p2,t1,t02,t2,depth+1);break;case 3:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p02,p01,p2,t02,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 4:drawTriangleSub(ctx,img,p0,p12,p2,t0,t12,t2,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);break;case 5:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p2,p01,p12,t2,t01,t12,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);break;case 6:drawTriangleSub(ctx,img,p0,p12,p02,t0,t12,t02,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;case 7:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p01,p12,p02,t01,t12,t02,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;default:drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2);break;}} 7607const tmpVec4=vec4.create();function transform(transformed,point,matrix,viewport){vec4.set(tmpVec4,point[0],point[1],0,1);vec4.transformMat4(tmpVec4,tmpVec4,matrix);let w=tmpVec4[3];if(w<1e-6)w=1e-6;transformed[0]=((tmpVec4[0]/w)+1)*viewport.width/2;transformed[1]=((tmpVec4[1]/w)+1)*viewport.height/2;transformed[2]=w;} 7608function drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(quad.imageData){quadCanvas.width=quad.imageData.width;quadCanvas.height=quad.imageData.height;quadCanvas.getContext('2d').putImageData(quad.imageData,0,0);const quadBBox=new tr.b.math.BBox2();quadBBox.addQuad(quad);const iw=quadCanvas.width;const ih=quadCanvas.height;drawTriangleSub(ctx,quadCanvas,p1,p2,p4,[0,0],[iw,0],[0,ih]);drawTriangleSub(ctx,quadCanvas,p2,p3,p4,[iw,0],[iw,ih],[0,ih]);} 7609if(quad.backgroundColor){ctx.fillStyle=quad.backgroundColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.fill();}} 7610function drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.save();if(quad.borderColor){ctx.strokeStyle=quad.borderColor;}else{ctx.strokeStyle='rgb(128,128,128)';} 7611if(quad.shadowOffset){ctx.shadowColor='rgb(0, 0, 0)';ctx.shadowOffsetX=quad.shadowOffset[0];ctx.shadowOffsetY=quad.shadowOffset[1];if(quad.shadowBlur){ctx.shadowBlur=quad.shadowBlur;}} 7612if(quad.borderWidth){ctx.lineWidth=quad.borderWidth;}else{ctx.lineWidth=1;} 7613ctx.stroke();ctx.restore();} 7614function drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(!quad.upperBorderColor)return;ctx.lineWidth=8;ctx.strokeStyle=quad.upperBorderColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.stroke();} 7615function drawProjectedQuadToContext(passNumber,quad,p1,p2,p3,p4,ctx,quadCanvas){if(passNumber===0){drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===1){drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===2){drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else{throw new Error('Invalid pass number');}} 7616const tmpP1=vec3.create();const tmpP2=vec3.create();const tmpP3=vec3.create();const tmpP4=vec3.create();function transformAndProcessQuads(matrix,viewport,quads,numPasses,handleQuadFunc,opt_arg1,opt_arg2){for(let passNumber=0;passNumber<numPasses;passNumber++){for(let i=0;i<quads.length;i++){const quad=quads[i];transform(tmpP1,quad.p1,matrix,viewport);transform(tmpP2,quad.p2,matrix,viewport);transform(tmpP3,quad.p3,matrix,viewport);transform(tmpP4,quad.p4,matrix,viewport);handleQuadFunc(passNumber,quad,tmpP1,tmpP2,tmpP3,tmpP4,opt_arg1,opt_arg2);}}} 7617const QuadStackView=tr.ui.b.define('quad-stack-view');QuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.className='quad-stack-view';const node=tr.ui.b.instantiateTemplate('#quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.updateHeaderVisibility_();this.canvas_=Polymer.dom(this).querySelector('#canvas');this.chromeImages_={left:Polymer.dom(this).querySelector('#chrome-left'),mid:Polymer.dom(this).querySelector('#chrome-mid'),right:Polymer.dom(this).querySelector('#chrome-right')};const stackingDistanceSlider=Polymer.dom(this).querySelector('#stacking-distance-slider');stackingDistanceSlider.value=tr.b.Settings.get('quadStackView.stackingDistance',45);stackingDistanceSlider.addEventListener('change',this.onStackingDistanceChange_.bind(this));stackingDistanceSlider.addEventListener('input',this.onStackingDistanceChange_.bind(this));this.trackMouse_();this.camera_=new tr.ui.b.Camera(this.mouseModeSelector_);this.camera_.addEventListener('renderrequired',this.onRenderRequired_.bind(this));this.cameraWasReset_=false;this.camera_.canvas=this.canvas_;this.viewportRect_=tr.b.math.Rect.fromXYWH(0,0,0,0);this.pixelRatio_=window.devicePixelRatio||1;},updateHeaderVisibility_(){if(this.headerText){Polymer.dom(this).querySelector('#header').style.display='';}else{Polymer.dom(this).querySelector('#header').style.display='none';}},get headerText(){return Polymer.dom(this).querySelector('#header').textContent;},set headerText(headerText){Polymer.dom(this).querySelector('#header').textContent=headerText;this.updateHeaderVisibility_();},onStackingDistanceChange_(e){tr.b.Settings.set('quadStackView.stackingDistance',this.stackingDistance);this.scheduleRender();e.stopPropagation();},get stackingDistance(){return Polymer.dom(this).querySelector('#stacking-distance-slider').value;},get mouseModeSelector(){return this.mouseModeSelector_;},get camera(){return this.camera_;},set quads(q){this.quads_=q;this.scheduleRender();},set deviceRect(rect){if(!rect||rect.equalTo(this.deviceRect_))return;this.deviceRect_=rect;this.camera_.deviceRect=rect;this.chromeQuad_=undefined;},resize(){if(!this.offsetParent)return true;const width=parseInt(window.getComputedStyle(this.offsetParent).width);const height=parseInt(window.getComputedStyle(this.offsetParent).height);const rect=tr.b.math.Rect.fromXYWH(0,0,width,height);if(rect.equalTo(this.viewportRect_))return false;this.viewportRect_=rect;this.style.width=width+'px';this.style.height=height+'px';this.canvas_.style.width=width+'px';this.canvas_.style.height=height+'px';this.canvas_.width=this.pixelRatio_*width;this.canvas_.height=this.pixelRatio_*height;if(!this.cameraWasReset_){this.camera_.resetCamera();this.cameraWasReset_=true;} 7618return true;},readyToDraw(){if(!this.chromeImages_.left.src){let leftContent=window.getComputedStyle(this.chromeImages_.left).backgroundImage;leftContent=tr.ui.b.extractUrlString(leftContent);let midContent=window.getComputedStyle(this.chromeImages_.mid).backgroundImage;midContent=tr.ui.b.extractUrlString(midContent);let rightContent=window.getComputedStyle(this.chromeImages_.right).backgroundImage;rightContent=tr.ui.b.extractUrlString(rightContent);this.chromeImages_.left.src=leftContent;this.chromeImages_.mid.src=midContent;this.chromeImages_.right.src=rightContent;} 7619return(this.chromeImages_.left.height>0)&&(this.chromeImages_.mid.height>0)&&(this.chromeImages_.right.height>0);},get chromeQuad(){if(this.chromeQuad_)return this.chromeQuad_;const chromeCanvas=document.createElement('canvas');const offsetY=this.chromeImages_.left.height;chromeCanvas.width=this.deviceRect_.width;chromeCanvas.height=this.deviceRect_.height+offsetY;const leftWidth=this.chromeImages_.left.width;const midWidth=this.chromeImages_.mid.width;const rightWidth=this.chromeImages_.right.width;const chromeCtx=chromeCanvas.getContext('2d');chromeCtx.drawImage(this.chromeImages_.left,0,0);chromeCtx.save();chromeCtx.translate(leftWidth,0);const s=(this.deviceRect_.width-leftWidth-rightWidth)/midWidth;chromeCtx.scale(s,1);chromeCtx.drawImage(this.chromeImages_.mid,0,0);chromeCtx.restore();chromeCtx.drawImage(this.chromeImages_.right,leftWidth+s*midWidth,0);const chromeRect=tr.b.math.Rect.fromXYWH(this.deviceRect_.x,this.deviceRect_.y-offsetY,this.deviceRect_.width,this.deviceRect_.height+offsetY);const chromeQuad=tr.b.math.Quad.fromRect(chromeRect);chromeQuad.stackingGroupId=this.maxStackingGroupId_+1;chromeQuad.imageData=chromeCtx.getImageData(0,0,chromeCanvas.width,chromeCanvas.height);chromeQuad.shadowOffset=[0,0];chromeQuad.shadowBlur=5;chromeQuad.borderWidth=3;this.chromeQuad_=chromeQuad;return this.chromeQuad_;},scheduleRender(){if(this.redrawScheduled_)return false;this.redrawScheduled_=true;tr.b.requestAnimationFrame(this.render,this);},onRenderRequired_(e){this.scheduleRender();},stackTransformAndProcessQuads_(numPasses,handleQuadFunc,includeChromeQuad,opt_arg1,opt_arg2){const mv=this.camera_.modelViewMatrix;const p=this.camera_.projectionMatrix;const viewport=tr.b.math.Rect.fromXYWH(0,0,this.canvas_.width,this.canvas_.height);const quadStacks=[];for(let i=0;i<this.quads_.length;++i){const quad=this.quads_[i];const stackingId=quad.stackingGroupId||0;while(stackingId>=quadStacks.length){quadStacks.push([]);} 7620quadStacks[stackingId].push(quad);} 7621const mvp=mat4.create();this.maxStackingGroupId_=quadStacks.length;const effectiveStackingDistance=this.stackingDistance*this.camera_.stackingDistanceDampening;mat4.multiply(mvp,p,mv);for(let i=0;i<quadStacks.length;++i){transformAndProcessQuads(mvp,viewport,quadStacks[i],numPasses,handleQuadFunc,opt_arg1,opt_arg2);mat4.translate(mv,mv,[0,0,effectiveStackingDistance]);mat4.multiply(mvp,p,mv);} 7622if(includeChromeQuad&&this.deviceRect_){transformAndProcessQuads(mvp,viewport,[this.chromeQuad],numPasses,drawProjectedQuadToContext,opt_arg1,opt_arg2);}},render(){this.redrawScheduled_=false;if(!this.readyToDraw()){setTimeout(this.scheduleRender.bind(this),constants.IMAGE_LOAD_RETRY_TIME_MS);return;} 7623if(!this.quads_)return;const canvasCtx=this.canvas_.getContext('2d');if(!this.resize()){canvasCtx.clearRect(0,0,this.canvas_.width,this.canvas_.height);} 7624const quadCanvas=document.createElement('canvas');this.stackTransformAndProcessQuads_(3,drawProjectedQuadToContext,true,canvasCtx,quadCanvas);quadCanvas.width=0;},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.canvas_;this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION|tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN|tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM|tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN;this.mouseModeSelector_.pos={x:0,y:100};Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.settingsKey='quadStackView.mouseModeSelector';this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN,tr.ui.b.MODIFIER.SPACE);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM,tr.ui.b.MODIFIER.CMD_OR_CTRL);this.mouseModeSelector_.addEventListener('updateselection',this.onSelectionUpdate_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onSelectionUpdate_.bind(this));},extractRelativeMousePosition_(e){const br=this.canvas_.getBoundingClientRect();return[this.pixelRatio_*(e.clientX-this.canvas_.offsetLeft-br.left),this.pixelRatio_*(e.clientY-this.canvas_.offsetTop-br.top)];},onSelectionUpdate_(e){const mousePos=this.extractRelativeMousePosition_(e);const res=[];function handleQuad(passNumber,quad,p1,p2,p3,p4){if(tr.b.math.pointInImplicitQuad(mousePos,p1,p2,p3,p4)){res.push(quad);}} 7625this.stackTransformAndProcessQuads_(1,handleQuad,false);e=new tr.b.Event('selectionchange');e.quads=res;this.dispatchEvent(e);}};return{QuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const ColorScheme=tr.b.ColorScheme;const THIS_DOC=document.currentScript.ownerDocument;const TILE_HEATMAP_TYPE={};TILE_HEATMAP_TYPE.NONE='none';TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY='scheduledPriority';TILE_HEATMAP_TYPE.USING_GPU_MEMORY='usingGpuMemory';const cc=tr.ui.e.chrome.cc;function createTileRectsSelectorBaseOptions(){return[{label:'None',value:'none'},{label:'Coverage Rects',value:'coverage'}];} 7626const LayerTreeQuadStackView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-quad-stack-view');LayerTreeQuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.isRenderPassQuads_=false;this.pictureAsImageData_={};this.messages_=[];this.controls_=document.createElement('top-controls');this.infoBar_=document.createElement('tr-ui-b-info-bar');this.quadStackView_=new tr.ui.b.QuadStackView();this.quadStackView_.addEventListener('selectionchange',this.onQuadStackViewSelectionChange_.bind(this));this.extraHighlightsByLayerId_=undefined;this.inputEventImageData_=undefined;const m=tr.ui.b.MOUSE_SELECTOR_MODE;const mms=this.quadStackView_.mouseModeSelector;mms.settingsKey='tr.e.cc.layerTreeQuadStackView.mouseModeSelector';mms.setKeyCodeForMode(m.SELECTION,'Z'.charCodeAt(0));mms.setKeyCodeForMode(m.PANSCAN,'X'.charCodeAt(0));mms.setKeyCodeForMode(m.ZOOM,'C'.charCodeAt(0));mms.setKeyCodeForMode(m.ROTATE,'V'.charCodeAt(0));const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.infoBar_);Polymer.dom(this).appendChild(this.quadStackView_);this.tileRectsSelector_=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',createTileRectsSelectorBaseOptions());Polymer.dom(this.controls_).appendChild(this.tileRectsSelector_);const tileHeatmapText=tr.ui.b.createSpan({textContent:'Tile heatmap:'});Polymer.dom(this.controls_).appendChild(tileHeatmapText);const tileHeatmapSelector=tr.ui.b.createSelector(this,'tileHeatmapType','layerView.tileHeatmapType',TILE_HEATMAP_TYPE.NONE,[{label:'None',value:TILE_HEATMAP_TYPE.NONE},{label:'Scheduled Priority',value:TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY},{label:'Is using GPU memory',value:TILE_HEATMAP_TYPE.USING_GPU_MEMORY}]);Polymer.dom(this.controls_).appendChild(tileHeatmapSelector);const showOtherLayersCheckbox=tr.ui.b.createCheckBox(this,'showOtherLayers','layerView.showOtherLayers',true,'Other layers/passes');showOtherLayersCheckbox.title='When checked, show all layers, selected or not.';Polymer.dom(this.controls_).appendChild(showOtherLayersCheckbox);const showInvalidationsCheckbox=tr.ui.b.createCheckBox(this,'showInvalidations','layerView.showInvalidations',true,'Invalidations');showInvalidationsCheckbox.title='When checked, compositing invalidations are highlighted in red';Polymer.dom(this.controls_).appendChild(showInvalidationsCheckbox);const showUnrecordedRegionCheckbox=tr.ui.b.createCheckBox(this,'showUnrecordedRegion','layerView.showUnrecordedRegion',true,'Unrecorded area');showUnrecordedRegionCheckbox.title='When checked, unrecorded areas are highlighted in yellow';Polymer.dom(this.controls_).appendChild(showUnrecordedRegionCheckbox);const showBottlenecksCheckbox=tr.ui.b.createCheckBox(this,'showBottlenecks','layerView.showBottlenecks',true,'Bottlenecks');showBottlenecksCheckbox.title='When checked, scroll bottlenecks are highlighted';Polymer.dom(this.controls_).appendChild(showBottlenecksCheckbox);const showLayoutRectsCheckbox=tr.ui.b.createCheckBox(this,'showLayoutRects','layerView.showLayoutRects',false,'Layout rects');showLayoutRectsCheckbox.title='When checked, shows rects for regions where layout happened';Polymer.dom(this.controls_).appendChild(showLayoutRectsCheckbox);const showContentsCheckbox=tr.ui.b.createCheckBox(this,'showContents','layerView.showContents',true,'Contents');showContentsCheckbox.title='When checked, show the rendered contents inside the layer outlines';Polymer.dom(this.controls_).appendChild(showContentsCheckbox);const showAnimationBoundsCheckbox=tr.ui.b.createCheckBox(this,'showAnimationBounds','layerView.showAnimationBounds',false,'Animation Bounds');showAnimationBoundsCheckbox.title='When checked, show a border around'+' a layer showing the extent of its animation.';Polymer.dom(this.controls_).appendChild(showAnimationBoundsCheckbox);const showInputEventsCheckbox=tr.ui.b.createCheckBox(this,'showInputEvents','layerView.showInputEvents',true,'Input events');showInputEventsCheckbox.title='When checked, input events are '+'displayed as circles.';Polymer.dom(this.controls_).appendChild(showInputEventsCheckbox);this.whatRasterizedLink_=document.createElement('a');Polymer.dom(this.whatRasterizedLink_).classList.add('what-rasterized');Polymer.dom(this.whatRasterizedLink_).textContent='What rasterized?';this.whatRasterizedLink_.addEventListener('click',this.onWhatRasterizedLinkClicked_.bind(this));Polymer.dom(this).appendChild(this.whatRasterizedLink_);},get layerTreeImpl(){return this.layerTreeImpl_;},set isRenderPassQuads(newValue){this.isRenderPassQuads_=newValue;},set layerTreeImpl(layerTreeImpl){if(this.layerTreeImpl_===layerTreeImpl)return;this.layerTreeImpl_=layerTreeImpl;this.selection=undefined;},get extraHighlightsByLayerId(){return this.extraHighlightsByLayerId_;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.extraHighlightsByLayerId_=extraHighlightsByLayerId;this.scheduleUpdateContents_();},get showOtherLayers(){return this.showOtherLayers_;},set showOtherLayers(show){this.showOtherLayers_=show;this.updateContents_();},get showAnimationBounds(){return this.showAnimationBounds_;},set showAnimationBounds(show){this.showAnimationBounds_=show;this.updateContents_();},get showInputEvents(){return this.showInputEvents_;},set showInputEvents(show){this.showInputEvents_=show;this.updateContents_();},get showContents(){return this.showContents_;},set showContents(show){this.showContents_=show;this.updateContents_();},get showInvalidations(){return this.showInvalidations_;},set showInvalidations(show){this.showInvalidations_=show;this.updateContents_();},get showUnrecordedRegion(){return this.showUnrecordedRegion_;},set showUnrecordedRegion(show){this.showUnrecordedRegion_=show;this.updateContents_();},get showBottlenecks(){return this.showBottlenecks_;},set showBottlenecks(show){this.showBottlenecks_=show;this.updateContents_();},get showLayoutRects(){return this.showLayoutRects_;},set showLayoutRects(show){this.showLayoutRects_=show;this.updateContents_();},get howToShowTiles(){return this.howToShowTiles_;},set howToShowTiles(val){if(val!=='none'&&val!=='coverage'&&isNaN(parseFloat(val))){throw new Error('howToShowTiles requires "none" or "coverage" or a number');} 7627this.howToShowTiles_=val;this.updateContents_();},get tileHeatmapType(){return this.tileHeatmapType_;},set tileHeatmapType(val){this.tileHeatmapType_=val;this.updateContents_();},get selection(){return this.selection_;},set selection(selection){if(this.selection===selection)return;this.selection_=selection;tr.b.dispatchSimpleEvent(this,'selection-change');this.updateContents_();},regenerateContent(){this.updateTilesSelector_();this.updateContents_();},loadDataForImageElement_(image,callback){const imageContent=window.getComputedStyle(image).backgroundImage;image.src=tr.ui.b.extractUrlString(imageContent);image.onload=function(){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=image.width;canvas.height=image.height;ctx.drawImage(image,0,0);const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);callback(imageData);};},onQuadStackViewSelectionChange_(e){const selectableQuads=e.quads.filter(function(q){return q.selectionToSetIfClicked!==undefined;});if(selectableQuads.length===0){this.selection=undefined;return;} 7628selectableQuads.sort(function(x,y){const z=x.stackingGroupId-y.stackingGroupId;if(z!==0)return z;return x.selectionToSetIfClicked.specicifity- 7629y.selectionToSetIfClicked.specicifity;});const quadToSelect=selectableQuads[selectableQuads.length-1];this.selection=quadToSelect.selectionToSetIfClicked;},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_,this);},updateContents_(){if(!this.layerTreeImpl_){this.quadStackView_.headerText='No tree';this.quadStackView_.quads=[];return;} 7630const status=this.computePictureLoadingStatus_();if(!status.picturesComplete)return;const lthi=this.layerTreeImpl_.layerTreeHostImpl;const lthiInstance=lthi.objectInstance;const worldViewportRect=tr.b.math.Rect.fromXYWH(0,0,lthi.deviceViewportSize.width,lthi.deviceViewportSize.height);this.quadStackView_.deviceRect=worldViewportRect;if(this.isRenderPassQuads_){this.quadStackView_.quads=this.generateRenderPassQuads();}else{this.quadStackView_.quads=this.generateLayerQuads();} 7631this.updateWhatRasterizedLinkState_();let message='';if(lthi.tilesHaveGpuMemoryUsageInfo){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;const otherTreeUsageInBytes=lthi.gpuMemoryUsageInBytes- 7632thisTreeUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(otherTreeUsageInBytes){message+=', '+ 7633tr.b.convertUnit(otherTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on the other tree';}}else{if(this.layerTreeImpl_){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(this.layerTreeImpl_.otherTree){message+=', ??? MiB on other tree. ';}}} 7634if(lthi.args.tileManagerBasicState){const tmgs=lthi.args.tileManagerBasicState.globalState;message+=' (softMax='+ 7635tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+ 7636tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+ 7637tmgs.memoryLimitPolicy+')';}else{const thread=lthi.snapshottedOnThread;const didManageTilesSlices=thread.sliceGroup.slices.filter(s=>{if(s.category!=='tr.e.cc')return false;if(s.title!=='DidManage')return false;if(s.end>lthi.ts)return false;return true;});didManageTilesSlices.sort(function(x,y){return x.end-y.end;});if(didManageTilesSlices.length>0){const newest=didManageTilesSlices[didManageTilesSlices.length-1];const tmgs=newest.args.state.global_state;message+=' (softMax='+ 7638tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+ 7639tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+ 7640tmgs.memoryLimitPolicy+')';}} 7641if(this.layerTreeImpl_.otherTree){message+=' (Another tree exists)';} 7642if(message.length){this.quadStackView_.headerText=message;}else{this.quadStackView_.headerText=undefined;} 7643this.updateInfoBar_(status.messages);},updateTilesSelector_(){const data=createTileRectsSelectorBaseOptions();if(this.layerTreeImpl_){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const scaleNames=lthi.getContentsScaleNames();for(const scale in scaleNames){data.push({label:'Scale '+scale+' ('+scaleNames[scale]+')',value:scale});}} 7644const newSelector=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',data);this.controls_.replaceChild(newSelector,this.tileRectsSelector_);this.tileRectsSelector_=newSelector;},computePictureLoadingStatus_(){const layers=this.layers;const status={messages:[],picturesComplete:true};if(this.showContents){let hasPendingRasterizeImage=false;let firstPictureError=undefined;let hasMissingLayerRect=false;let hasUnresolvedPictureRef=false;for(let i=0;i<layers.length;i++){const layer=layers[i];for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(picture.idRef){hasUnresolvedPictureRef=true;continue;} 7645if(!picture.layerRect){hasMissingLayerRect=true;continue;} 7646const pictureAsImageData=this.pictureAsImageData_[picture.guid];if(!pictureAsImageData){hasPendingRasterizeImage=true;this.pictureAsImageData_[picture.guid]=tr.e.cc.PictureAsImageData.Pending(this);picture.rasterize({stopIndex:undefined},function(pictureImageData){const picture_=pictureImageData.picture;this.pictureAsImageData_[picture_.guid]=pictureImageData;this.scheduleUpdateContents_();}.bind(this));continue;} 7647if(pictureAsImageData.isPending()){hasPendingRasterizeImage=true;continue;} 7648if(pictureAsImageData.error){if(!firstPictureError){firstPictureError=pictureAsImageData.error;} 7649break;}}} 7650if(hasPendingRasterizeImage){status.picturesComplete=false;}else{if(hasUnresolvedPictureRef){status.messages.push({header:'Missing picture',details:'Your trace didn\'t have pictures for every layer. '+'Old chrome versions had this problem'});} 7651if(hasMissingLayerRect){status.messages.push({header:'Missing layer rect',details:'Your trace may be corrupt or from a very old '+'Chrome revision.'});} 7652if(firstPictureError){status.messages.push({header:'Cannot rasterize',details:firstPictureError});}}} 7653if(this.showInputEvents&&this.layerTreeImpl.tracedInputLatencies&&this.inputEventImageData_===undefined){const image=Polymer.dom(this).querySelector('#input-event');if(!image.src){this.loadDataForImageElement_(image,function(imageData){this.inputEventImageData_=imageData;this.updateContentsPending_=false;this.scheduleUpdateContents_();}.bind(this));} 7654status.picturesComplete=false;} 7655return status;},get selectedRenderPass(){if(this.selection){return this.selection.renderPass_;}},get selectedLayer(){if(this.selection){const selectedLayerId=this.selection.associatedLayerId;return this.layerTreeImpl_.findLayerWithId(selectedLayerId);}},get renderPasses(){let renderPasses=this.layerTreeImpl.layerTreeHostImpl.args.frame.renderPasses;if(!this.showOtherLayers){const selectedRenderPass=this.selectedRenderPass;if(selectedRenderPass){renderPasses=[selectedRenderPass];}} 7656return renderPasses;},get layers(){let layers=this.layerTreeImpl.renderSurfaceLayerList;if(!this.showOtherLayers){const selectedLayer=this.selectedLayer;if(selectedLayer){layers=[selectedLayer];}} 7657return layers;},appendImageQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(!picture.layerRect)continue;const unitRect=picture.layerRect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);const pictureData=this.pictureAsImageData_[picture.guid];if(this.showContents&&pictureData&&pictureData.imageData){iq.imageData=pictureData.imageData;iq.borderColor='rgba(0,0,0,0)';}else{iq.imageData=undefined;} 7658iq.stackingGroupId=layerQuad.stackingGroupId;quads.push(iq);}},appendAnimationQuads_(quads,layer,layerQuad){if(!layer.animationBoundsRect)return;const rect=layer.animationBoundsRect;const abq=tr.b.math.Quad.fromRect(rect);abq.backgroundColor='rgba(164,191,48,0.5)';abq.borderColor='rgba(205,255,0,0.75)';abq.borderWidth=3.0;abq.stackingGroupId=layerQuad.stackingGroupId;abq.selectionToSetIfClicked=new cc.AnimationRectSelection(layer,rect);quads.push(abq);},appendInvalidationQuads_(quads,layer,layerQuad){if(layer.layerTreeImpl.hasSourceFrameBeenDrawnBefore)return;for(let ir=0;ir<layer.annotatedInvalidation.rects.length;ir++){const rect=layer.annotatedInvalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';if(rect.reason==='renderer insertion'){iq.backgroundColor='rgba(0, 255, 128, 0.1)';} 7659iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect ('+rect.reason+')',rect,rect);quads.push(iq);} 7660if(layer.annotatedInvalidation.rects.length===0){for(let ir=0;ir<layer.invalidation.rects.length;ir++){const rect=layer.invalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect',rect,rect);quads.push(iq);}}},appendUnrecordedRegionQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.unrecordedRegion.rects.length;ir++){const rect=layer.unrecordedRegion.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(240, 230, 140, 0.3)';iq.borderColor='rgba(240, 230, 140, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Unrecorded area',rect,rect);quads.push(iq);}},appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId){function processRegion(region,label,borderColor){const backgroundColor=borderColor.clone();backgroundColor.a=0.4*(borderColor.a||1.0);if(!region||!region.rects)return;for(let ir=0;ir<region.rects.length;ir++){const rect=region.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor=backgroundColor.toString();iq.borderColor=borderColor.toString();iq.borderWidth=4.0;iq.stackingGroupId=stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,rect);quads.push(iq);}} 7661processRegion(layer.touchEventHandlerRegion,'Touch listener',tr.b.Color.fromString('rgb(228, 226, 27)'));processRegion(layer.wheelEventHandlerRegion,'Wheel listener',tr.b.Color.fromString('rgb(176, 205, 29)'));processRegion(layer.nonFastScrollableRegion,'Repaints on scroll',tr.b.Color.fromString('rgb(213, 134, 32)'));},appendTileCoverageRectQuads_(quads,layer,layerQuad,heatmapType){if(!layer.tileCoverageRects)return;const tiles=[];for(let ct=0;ct<layer.tileCoverageRects.length;++ct){const tile=layer.tileCoverageRects[ct].tile;if(tile!==undefined)tiles.push(tile);} 7662const lthi=this.layerTreeImpl_.layerTreeHostImpl;const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);let heatIndex=0;for(let ct=0;ct<layer.tileCoverageRects.length;++ct){let rect=layer.tileCoverageRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const tile=layer.tileCoverageRects[ct].tile;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;let type=tr.e.cc.tileTypes.missing;if(tile){type=tile.getTypeForLayer(layer);quad.backgroundColor=heatmapResult[heatIndex].color;++heatIndex;} 7663quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;let label;if(tile){label='coverageRect';}else{label='checkerboard coverageRect';} 7664quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,layer.tileCoverageRects[ct]);quads.push(quad);}},appendLayoutRectQuads_(quads,layer,layerQuad){if(!layer.layoutRects){return;} 7665for(let ct=0;ct<layer.layoutRects.length;++ct){let rect=layer.layoutRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;quad.borderColor='rgba(0, 0, 200, 0.7)';quad.borderWidth=2;const label='Layout rect';quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect);quads.push(quad);}},getValueForHeatmap_(tile,heatmapType){if(heatmapType===TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY){return tile.scheduledPriority===0?undefined:tile.scheduledPriority;}else if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){if(tile.isSolidColor)return 0.5;return tile.isUsingGpuMemory?0:1;}},getMinMaxForHeatmap_(tiles,heatmapType){const range=new tr.b.math.Range();if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){range.addValue(0);range.addValue(1);return range;} 7666for(let i=0;i<tiles.length;++i){const value=this.getValueForHeatmap_(tiles[i],heatmapType);if(value===undefined)continue;range.addValue(value);} 7667if(range.range===0){range.addValue(1);} 7668return range;},computeHeatmapColors_(tiles,minMax,heatmapType){const min=minMax.min;const max=minMax.max;const color=function(value){let hue=120*(1-(value-min)/(max-min));if(hue<0)hue=0;return'hsla('+hue+', 100%, 50%, 0.5)';};const values=[];for(let i=0;i<tiles.length;++i){const tile=tiles[i];const value=this.getValueForHeatmap_(tile,heatmapType);const res={value,color:value!==undefined?color(value):undefined};values.push(res);} 7669return values;},appendTilesWithScaleQuads_(quads,layer,layerQuad,scale,heatmapType){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const tiles=[];for(let i=0;i<lthi.activeTiles.length;++i){const tile=lthi.activeTiles[i];if(Math.abs(tile.contentsScale-scale)>1e-6){continue;} 7670if(layer.layerId!==tile.layerId)continue;tiles.push(tile);} 7671const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);for(let i=0;i<tiles.length;++i){const tile=tiles[i];const rect=tile.layerRect;if(!tile.layerRect)continue;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;const type=tile.getTypeForLayer(layer);quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;quad.backgroundColor=heatmapResult[i].color;const data={tileType:type};if(heatmapType!==TILE_HEATMAP_TYPE.NONE){data[heatmapType]=heatmapResult[i].value;} 7672quad.selectionToSetIfClicked=new cc.TileSelection(tile,data);quads.push(quad);}},appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights){highlights.forEach(function(highlight){const rect=highlight.rect;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);let colorId=ColorScheme.getColorIdForGeneralPurposeString(highlight.colorKey);const offset=ColorScheme.properties.brightenedOffsets[0];colorId=ColorScheme.getVariantColorId(colorId,offset);const color=ColorScheme.colors[colorId];const quadForDrawing=quad.clone();quadForDrawing.backgroundColor=color.withAlpha(0.5).toString();quadForDrawing.borderColor=color.withAlpha(1.0).darken().toString();quadForDrawing.stackingGroupId=layerQuad.stackingGroupId;quads.push(quadForDrawing);},this);},generateRenderPassQuads(){if(!this.layerTreeImpl.layerTreeHostImpl.args.frame)return[];const renderPasses=this.renderPasses;if(!renderPasses)return[];const quads=[];for(let i=0;i<renderPasses.length;++i){const quadList=renderPasses[i].quadList;for(let j=0;j<quadList.length;++j){const drawQuad=quadList[j];const quad=drawQuad.rectAsTargetSpaceQuad.clone();quad.borderColor='rgb(170, 204, 238)';quad.borderWidth=2;quad.stackingGroupId=i;quads.push(quad);}} 7673return quads;},generateLayerQuads(){this.updateContentsPending_=false;const layers=this.layers;const quads=[];let nextStackingGroupId=0;const alreadyVisitedLayerIds={};let selectionHighlightsByLayerId;if(this.selection){selectionHighlightsByLayerId=this.selection.highlightsByLayerId;}else{selectionHighlightsByLayerId={};} 7674const extraHighlightsByLayerId=this.extraHighlightsByLayerId||{};for(let i=1;i<=layers.length;i++){const layer=layers[layers.length-i];alreadyVisitedLayerIds[layer.layerId]=true;if(layer.objectInstance.name==='cc::NinePatchLayerImpl'){continue;} 7675const layerQuad=layer.layerQuad.clone();if(layer.usingGpuRasterization){const pixelRatio=window.devicePixelRatio||1;layerQuad.borderWidth=2.0*pixelRatio;layerQuad.borderColor='rgba(154,205,50,0.75)';}else{layerQuad.borderColor='rgba(0,0,0,0.75)';} 7676layerQuad.stackingGroupId=nextStackingGroupId++;layerQuad.selectionToSetIfClicked=new cc.LayerSelection(layer);layerQuad.layer=layer;if(this.showOtherLayers&&this.selectedLayer===layer){layerQuad.upperBorderColor='rgb(156,189,45)';} 7677if(this.showAnimationBounds){this.appendAnimationQuads_(quads,layer,layerQuad);} 7678this.appendImageQuads_(quads,layer,layerQuad);quads.push(layerQuad);if(this.showInvalidations){this.appendInvalidationQuads_(quads,layer,layerQuad);} 7679if(this.showUnrecordedRegion){this.appendUnrecordedRegionQuads_(quads,layer,layerQuad);} 7680if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,layerQuad.stackingGroupId);} 7681if(this.showLayoutRects){this.appendLayoutRectQuads_(quads,layer,layerQuad);} 7682if(this.howToShowTiles==='coverage'){this.appendTileCoverageRectQuads_(quads,layer,layerQuad,this.tileHeatmapType);}else if(this.howToShowTiles!=='none'){this.appendTilesWithScaleQuads_(quads,layer,layerQuad,this.howToShowTiles,this.tileHeatmapType);} 7683let highlights;highlights=extraHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);} 7684highlights=selectionHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);}} 7685this.layerTreeImpl.iterLayers(function(layer,depth,isMask,isReplica){if(!this.showOtherLayers&&this.selectedLayer!==layer)return;if(alreadyVisitedLayerIds[layer.layerId])return;const layerQuad=layer.layerQuad;const stackingGroupId=nextStackingGroupId++;if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId);}},this);const tracedInputLatencies=this.layerTreeImpl.tracedInputLatencies;if(this.showInputEvents&&tracedInputLatencies){for(let i=0;i<tracedInputLatencies.length;i++){const coordinatesArray=tracedInputLatencies[i].args.data.coordinates;for(let j=0;j<coordinatesArray.length;j++){const inputQuad=tr.b.math.Quad.fromXYWH(coordinatesArray[j].x-25,coordinatesArray[j].y-25,50,50);inputQuad.borderColor='rgba(0, 0, 0, 0)';inputQuad.imageData=this.inputEventImageData_;quads.push(inputQuad);}}} 7686return quads;},updateInfoBar_(infoBarMessages){if(infoBarMessages.length){this.infoBar_.removeAllButtons();this.infoBar_.message='Some problems were encountered...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent='';infoBarMessages.forEach(function(message){const title=document.createElement('h3');Polymer.dom(title).textContent=message.header;const details=document.createElement('div');Polymer.dom(details).textContent=message.details;Polymer.dom(overlay).appendChild(title);Polymer.dom(overlay).appendChild(details);});overlay.visible=true;e.stopPropagation();return false;});this.infoBar_.visible=true;}else{this.infoBar_.removeAllButtons();this.infoBar_.message='';this.infoBar_.visible=false;}},getWhatRasterized_(){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const renderProcess=lthi.objectInstance.parent;const tasks=[];for(const event of renderProcess.getDescendantEvents()){if(!(event instanceof tr.model.Slice))continue;const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined)continue;if(tile.containingSnapshot===lthi){tasks.push(event);}} 7687return tasks;},updateWhatRasterizedLinkState_(){const tasks=this.getWhatRasterized_();if(tasks.length){Polymer.dom(this.whatRasterizedLink_).textContent=tasks.length+' raster tasks';this.whatRasterizedLink_.style.display='';}else{Polymer.dom(this.whatRasterizedLink_).textContent='';this.whatRasterizedLink_.style.display='none';}},onWhatRasterizedLinkClicked_(){const tasks=this.getWhatRasterized_();const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(tasks);this.dispatchEvent(event);}};return{LayerTreeQuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const LayerView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-view');LayerView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.layerTreeQuadStackView_=new tr.ui.e.chrome.cc.LayerTreeQuadStackView();this.dragBar_=document.createElement('tr-ui-b-drag-handle');this.analysisEl_=document.createElement('tr-ui-e-chrome-cc-layer-view-analysis');this.analysisEl_.addEventListener('requestSelectionChange',this.onRequestSelectionChangeFromAnalysisEl_.bind(this));this.dragBar_.target=this.analysisEl_;Polymer.dom(this).appendChild(this.layerTreeQuadStackView_);Polymer.dom(this).appendChild(this.dragBar_);Polymer.dom(this).appendChild(this.analysisEl_);this.layerTreeQuadStackView_.addEventListener('selection-change',function(){this.layerTreeQuadStackViewSelectionChanged_();}.bind(this));this.layerTreeQuadStackViewSelectionChanged_();},get layerTreeImpl(){return this.layerTreeQuadStackView_.layerTreeImpl;},set layerTreeImpl(newValue){return this.layerTreeQuadStackView_.layerTreeImpl=newValue;},set isRenderPassQuads(newValue){return this.layerTreeQuadStackView_.isRenderPassQuads=newValue;},get selection(){return this.layerTreeQuadStackView_.selection;},set selection(newValue){this.layerTreeQuadStackView_.selection=newValue;},regenerateContent(){this.layerTreeQuadStackView_.regenerateContent();},layerTreeQuadStackViewSelectionChanged_(){const selection=this.layerTreeQuadStackView_.selection;if(selection){this.dragBar_.style.display='';this.analysisEl_.style.display='';Polymer.dom(this.analysisEl_).textContent='';const layer=selection.layer;if(layer&&layer.args&&layer.args.pictures){Polymer.dom(this.analysisEl_).appendChild(this.createPictureBtn_(layer.args.pictures));} 7688const analysis=selection.createAnalysis();Polymer.dom(this.analysisEl_).appendChild(analysis);}else{this.dragBar_.style.display='none';this.analysisEl_.style.display='none';const analysis=Polymer.dom(this.analysisEl_).firstChild;if(analysis){Polymer.dom(this.analysisEl_).removeChild(analysis);} 7689this.layerTreeQuadStackView_.style.height=window.getComputedStyle(this).height;} 7690tr.b.dispatchSimpleEvent(this,'selection-change');},createPictureBtn_(pictures){if(!(pictures instanceof Array)){pictures=[pictures];} 7691const link=document.createElement('tr-ui-a-analysis-link');link.selection=function(){const layeredPicture=new tr.e.cc.LayeredPicture(pictures);const snapshot=new tr.e.cc.PictureSnapshot(layeredPicture);snapshot.picture=layeredPicture;const selection=new tr.model.EventSet();selection.push(snapshot);return selection;};Polymer.dom(link).textContent='View in Picture Debugger';return link;},onRequestSelectionChangeFromAnalysisEl_(e){if(!(e.selection instanceof tr.ui.e.chrome.cc.Selection)){return;} 7692e.stopPropagation();this.selection=e.selection;},get extraHighlightsByLayerId(){return this.layerTreeQuadStackView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerTreeQuadStackView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};return{LayerView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const LayerTreeHostImplSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-host-impl-snapshot-view',tr.ui.analysis.ObjectSnapshotView);LayerTreeHostImplSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-lthi-s-view');this.selection_=undefined;this.layerPicker_=new tr.ui.e.chrome.cc.LayerPicker();this.layerPicker_.addEventListener('selection-change',this.onLayerPickerSelectionChanged_.bind(this));this.layerView_=new tr.ui.e.chrome.cc.LayerView();this.layerView_.addEventListener('selection-change',this.onLayerViewSelectionChanged_.bind(this));this.dragHandle_=document.createElement('tr-ui-b-drag-handle');this.dragHandle_.horizontal=false;this.dragHandle_.target=this.layerView_;Polymer.dom(this).appendChild(this.layerPicker_);Polymer.dom(this).appendChild(this.dragHandle_);Polymer.dom(this).appendChild(this.layerView_);this.onLayerViewSelectionChanged_();this.onLayerPickerSelectionChanged_();},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(objectSnapshot){this.objectSnapshot_=objectSnapshot;const lthi=this.objectSnapshot;let layerTreeImpl;if(lthi){layerTreeImpl=lthi.getTree(this.layerPicker_.whichTree);} 7693this.layerPicker_.lthiSnapshot=lthi;this.layerView_.layerTreeImpl=layerTreeImpl;this.layerView_.regenerateContent();if(!this.selection_)return;this.selection=this.selection_.findEquivalent(lthi);},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.layerPicker_.selection=selection;this.layerView_.selection=selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerPickerSelectionChanged_(){this.selection_=this.layerPicker_.selection;this.layerView_.selection=this.selection;this.layerView_.layerTreeImpl=this.layerPicker_.layerTreeImpl;this.layerView_.isRenderPassQuads=this.layerPicker_.isRenderPassQuads;this.layerView_.regenerateContent();tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerViewSelectionChanged_(){this.selection_=this.layerView_.selection;this.layerPicker_.selection=this.selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},get extraHighlightsByLayerId(){return this.layerView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};tr.ui.analysis.ObjectSnapshotView.register(LayerTreeHostImplSnapshotView,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=40;const AXIS_PADDING_LEFT=60;const AXIS_PADDING_RIGHT=35;const AXIS_PADDING_TOP=25;const AXIS_PADDING_BOTTOM=45;const AXIS_LABEL_PADDING=5;const AXIS_TICK_SIZE=10;const LABEL_PADDING=5;const LABEL_INTERLEAVE_OFFSET=15;const BAR_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartSummaryView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-summary-view');PictureOpsChartSummaryView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureDataProcessed_=false;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.opsTimingData_=[];this.chartWidth_=0;this.chartHeight_=0;this.requiresRedraw_=true;this.currentBarMouseOverTarget_=null;this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));},get requiresRedraw(){return this.requiresRedraw_;},set requiresRedraw(requiresRedraw){this.requiresRedraw_=requiresRedraw;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureDataProcessed_=false;if(Polymer.dom(this).classList.contains('hidden'))return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},hide(){Polymer.dom(this).classList.add('hidden');},show(){Polymer.dom(this).classList.remove('hidden');if(this.pictureDataProcessed_)return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=null;const x=e.offsetX;const y=e.offsetY;const chartLeft=CHART_PADDING_LEFT;const chartRight=this.chartWidth_-CHART_PADDING_RIGHT;const chartTop=AXIS_PADDING_TOP;const chartBottom=this.chartHeight_-AXIS_PADDING_BOTTOM;const chartInnerWidth=chartRight-chartLeft;if(x>chartLeft&&x<chartRight&&y>chartTop&&y<chartBottom){this.currentBarMouseOverTarget_=Math.floor((x-chartLeft)/chartInnerWidth*this.opsTimingData_.length);this.currentBarMouseOverTarget_=tr.b.math.clamp(this.currentBarMouseOverTarget_,0,this.opsTimingData_.length-1);} 7694if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget)return;this.drawChartContents_();},updateChartContents(){if(this.requiresRedraw){this.updateChartDimensions_();} 7695this.drawChartContents_();},updateChartDimensions_(){this.chartWidth_=this.offsetWidth;this.chartHeight_=this.offsetHeight;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);},processPictureData_(){this.resetOpsTimingData_();this.pictureDataProcessed_=true;if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);if(ops[0].cmd_time===undefined)return;this.collapseOpsToTimingBuckets_(ops);},drawChartContents_(){this.clearChartContents_();if(this.opsTimingData_.length===0){this.showNoTimingDataMessage_();return;} 7696this.drawChartAxes_();this.drawBars_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===null)return;this.drawTooltip_();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();},drawTooltip_(){const tooltipData=this.opsTimingData_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const tooltipWidth=110;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT- 7697CHART_PADDING_LEFT;const barWidth=chartInnerWidth/this.opsTimingData_.length;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.textBaseline='top';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText('Total: '+tooltipTime+'ms',left+8,top+22);},drawBars_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-CHART_PADDING_LEFT-CHART_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const barWidth=Math.floor(width/len);let opData;let opTiming;let opHeight;let opLabel;let barLeft;for(let b=0;b<len;b++){opData=this.opsTimingData_[b];opTiming=opData.cmd_time/max;opHeight=Math.round(Math.max(1,opTiming*height));opLabel=opData.cmd_string;barLeft=CHART_PADDING_LEFT+b*barWidth;this.chartCtx_.fillStyle=this.getOpColor_(opLabel);this.chartCtx_.fillRect(barLeft+BAR_PADDING,AXIS_PADDING_TOP+ 7698height-opHeight,barWidth-2*BAR_PADDING,opHeight);}},getOpColor_(opName){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;return'hsl('+hue+', 30%, 50%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},drawChartAxes_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const totalBarWidth=this.chartWidth_-CHART_PADDING_LEFT- 7699CHART_PADDING_RIGHT;const barWidth=Math.floor(totalBarWidth/len);const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.moveTo(0,0);this.chartCtx_.lineTo(0,height);this.chartCtx_.lineTo(width,height);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);} 7700this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.save();this.chartCtx_.translate(CHART_PADDING_LEFT+Math.round(barWidth*0.5),AXIS_PADDING_TOP+height+LABEL_PADDING);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='top';let labelTickLeft;let labelTickBottom;for(let l=0;l<len;l++){labelTickLeft=Math.round(l*barWidth);labelTickBottom=l%2*LABEL_INTERLEAVE_OFFSET;this.chartCtx_.save();this.chartCtx_.moveTo(labelTickLeft,-LABEL_PADDING);this.chartCtx_.lineTo(labelTickLeft,labelTickBottom);this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.fillText(this.opsTimingData_[l].cmd_string,labelTickLeft,labelTickBottom);} 7701this.chartCtx_.restore();this.chartCtx_.restore();},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);},collapseOpsToTimingBuckets_(ops){const opsTimingDataIndexHash_={};const timingData=this.opsTimingData_;let op;let opIndex;for(let i=0;i<ops.length;i++){op=ops[i];if(op.cmd_time===undefined)continue;opIndex=opsTimingDataIndexHash_[op.cmd_string]||null;if(opIndex===null){timingData.push({cmd_time:0,cmd_string:op.cmd_string});opIndex=timingData.length-1;opsTimingDataIndexHash_[op.cmd_string]=opIndex;} 7702timingData[opIndex].cmd_time+=op.cmd_time;} 7703timingData.sort(this.sortTimingBucketsByOpTimeDescending_);this.collapseTimingBucketsToOther_(4);},collapseTimingBucketsToOther_(count){const timingData=this.opsTimingData_;const otherSource=timingData.splice(count,timingData.length-count);let otherDestination=null;if(!otherSource.length)return;timingData.push({cmd_time:0,cmd_string:'Other'});otherDestination=timingData[timingData.length-1];for(let i=0;i<otherSource.length;i++){otherDestination.cmd_time+=otherSource[i].cmd_time;}},sortTimingBucketsByOpTimeDescending_(a,b){return b.cmd_time-a.cmd_time;},resetOpsTimingData_(){this.opsTimingData_.length=0;}};return{PictureOpsChartSummaryView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const BAR_PADDING=1;const BAR_WIDTH=5;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=30;const CHART_PADDING_BOTTOM=35;const CHART_PADDING_TOP=20;const AXIS_PADDING_LEFT=55;const AXIS_PADDING_RIGHT=30;const AXIS_PADDING_BOTTOM=35;const AXIS_PADDING_TOP=20;const AXIS_TICK_SIZE=5;const AXIS_LABEL_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-view');PictureOpsChartView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureOps_=undefined;this.opCosts_=undefined;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.selectedOpIndex_=undefined;this.chartWidth_=0;this.chartHeight_=0;this.dimensionsHaveChanged_=true;this.currentBarMouseOverTarget_=undefined;this.ninetyFifthPercentileCost_=0;this.totalOpCost_=0;this.chart_.addEventListener('click',this.onClick_.bind(this));this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));this.usePercentileScale_=false;this.usePercentileScaleCheckbox_=tr.ui.b.createCheckBox(this,'usePercentileScale','PictureOpsChartView.usePercentileScale',false,'Limit to 95%-ile');Polymer.dom(this.usePercentileScaleCheckbox_).classList.add('use-percentile-scale');Polymer.dom(this).appendChild(this.usePercentileScaleCheckbox_);},get dimensionsHaveChanged(){return this.dimensionsHaveChanged_;},set dimensionsHaveChanged(dimensionsHaveChanged){this.dimensionsHaveChanged_=dimensionsHaveChanged;},get usePercentileScale(){return this.usePercentileScale_;},set usePercentileScale(usePercentileScale){this.usePercentileScale_=usePercentileScale;this.drawChartContents_();},get numOps(){return this.opCosts_.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(selectedOpIndex){if(selectedOpIndex<0)throw new Error('Invalid index');if(selectedOpIndex>=this.numOps)throw new Error('Invalid index');this.selectedOpIndex_=selectedOpIndex;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureOps_=picture.tagOpsWithTimings(picture.getOps());this.currentBarMouseOverTarget_=undefined;this.processPictureData_();this.dimensionsHaveChanged=true;},processPictureData_(){if(this.pictureOps_===undefined)return;let totalOpCost=0;this.opCosts_=this.pictureOps_.map(function(op){totalOpCost+=op.cmd_time;return op.cmd_time;});this.opCosts_.sort();const ninetyFifthPercentileCostIndex=Math.floor(this.opCosts_.length*0.95);this.ninetyFifthPercentileCost_=this.opCosts_[ninetyFifthPercentileCostIndex];this.maxCost_=this.opCosts_[this.opCosts_.length-1];this.totalOpCost_=totalOpCost;},extractBarIndex_(e){let index=undefined;if(this.pictureOps_===undefined||this.pictureOps_.length===0){return index;} 7704const x=e.offsetX;const y=e.offsetY;const totalBarWidth=(BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length;const chartLeft=CHART_PADDING_LEFT;const chartTop=0;const chartBottom=this.chartHeight_-CHART_PADDING_BOTTOM;const chartRight=chartLeft+totalBarWidth;if(x<chartLeft||x>chartRight||y<chartTop||y>chartBottom){return index;} 7705index=Math.floor((x-chartLeft)/totalBarWidth*this.pictureOps_.length);index=tr.b.math.clamp(index,0,this.pictureOps_.length-1);return index;},onClick_(e){const barClicked=this.extractBarIndex_(e);if(barClicked===undefined)return;if(barClicked===this.selectedOpIndex){this.selectedOpIndex=undefined;}else{this.selectedOpIndex=barClicked;} 7706e.preventDefault();tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=this.extractBarIndex_(e);if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget){return;} 7707this.drawChartContents_();},scrollSelectedItemIntoViewIfNecessary(){if(this.selectedOpIndex===undefined){return;} 7708const width=this.offsetWidth;const left=this.scrollLeft;const right=left+width;const targetLeft=CHART_PADDING_LEFT+ 7709(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;if(targetLeft>left&&targetLeft<right){return;} 7710this.scrollLeft=(targetLeft-width*0.5);},updateChartContents(){if(this.dimensionsHaveChanged){this.updateChartDimensions_();} 7711this.drawChartContents_();},updateChartDimensions_(){if(!this.pictureOps_)return;let width=CHART_PADDING_LEFT+CHART_PADDING_RIGHT+ 7712((BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length);if(width<this.offsetWidth){width=this.offsetWidth;} 7713this.chartWidth_=width;this.chartHeight_=this.getBoundingClientRect().height;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);this.dimensionsHaveChanged=false;},drawChartContents_(){this.clearChartContents_();if(this.pictureOps_===undefined||this.pictureOps_.length===0||this.pictureOps_[0].cmd_time===undefined){this.showNoTimingDataMessage_();return;} 7714this.drawSelection_();this.drawBars_();this.drawChartAxes_();this.drawLinesAtTickMarks_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===undefined){return;} 7715this.drawTooltip_();},drawSelection_(){if(this.selectedOpIndex===undefined){return;} 7716const width=(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;this.chartCtx_.fillStyle='rgb(223, 235, 230)';this.chartCtx_.fillRect(CHART_PADDING_LEFT,CHART_PADDING_TOP,width,this.chartHeight_-CHART_PADDING_TOP-CHART_PADDING_BOTTOM);},drawChartAxes_(){const min=this.opCosts_[0];const max=this.opCosts_[this.opCosts_.length-1];const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.beginPath();this.chartCtx_.moveTo(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.lineTo(AXIS_PADDING_LEFT,this.chartHeight_- 7717AXIS_PADDING_BOTTOM);this.chartCtx_.lineTo(this.chartWidth_-AXIS_PADDING_RIGHT,this.chartHeight_-AXIS_PADDING_BOTTOM);this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';this.chartCtx_.beginPath();for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);} 7718this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.restore();},drawLinesAtTickMarks_(){const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT+0.5,AXIS_PADDING_TOP+0.5);this.chartCtx_.beginPath();this.chartCtx_.strokeStyle='rgba(0,0,0,0.05)';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(width,tickYPosition);this.chartCtx_.stroke();} 7719this.chartCtx_.restore();this.chartCtx_.closePath();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.beginPath();this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();this.chartCtx_.closePath();},drawTooltip_(){const tooltipData=this.pictureOps_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const toolTipTimePercentage=((tooltipData.cmd_time/this.totalOpCost_)*100).toFixed(2);const tooltipWidth=120;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT- 7720CHART_PADDING_LEFT;const barWidth=BAR_WIDTH+BAR_PADDING;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textAlign='left';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText(tooltipTime+'ms ('+ 7721toolTipTimePercentage+'%)',left+8,top+22);},drawBars_(){let op;let opColor=0;let opHeight=0;const opWidth=BAR_WIDTH+BAR_PADDING;let opHover=false;const bottom=this.chartHeight_-CHART_PADDING_BOTTOM;const maxHeight=this.chartHeight_-CHART_PADDING_BOTTOM- 7722CHART_PADDING_TOP;let maxValue;if(this.usePercentileScale){maxValue=this.ninetyFifthPercentileCost_;}else{maxValue=this.maxCost_;} 7723for(let b=0;b<this.pictureOps_.length;b++){op=this.pictureOps_[b];opHeight=Math.round((op.cmd_time/maxValue)*maxHeight);opHeight=Math.max(opHeight,1);opHover=(b===this.currentBarMouseOverTarget_);opColor=this.getOpColor_(op.cmd_string,opHover);if(b===this.selectedOpIndex){this.chartCtx_.fillStyle='#FFFF00';}else{this.chartCtx_.fillStyle=opColor;} 7724this.chartCtx_.fillRect(CHART_PADDING_LEFT+b*opWidth,bottom-opHeight,BAR_WIDTH,opHeight);}},getOpColor_(opName,hover){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;const saturation=30;const lightness=hover?'75%':'50%';return'hsl('+hue+', '+saturation+'%, '+lightness+'%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);}};return{PictureOpsChartView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const PictureDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-picture-debugger');PictureDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-picture-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.showOverdraw_=false;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.filename_=Polymer.dom(this).querySelector('.filename');this.drawOpsChartSummaryView_=new tr.ui.e.chrome.cc.PictureOpsChartSummaryView();this.drawOpsChartView_=new tr.ui.e.chrome.cc.PictureOpsChartView();this.drawOpsChartView_.addEventListener('selection-changed',this.onChartBarClicked_.bind(this));this.exportButton_=Polymer.dom(this).querySelector('.export');this.exportButton_.addEventListener('click',this.onSaveAsSkPictureClicked_.bind(this));this.trackMouse_();const overdrawCheckbox=tr.ui.b.createCheckBox(this,'showOverdraw','pictureView.showOverdraw',false,'Show overdraw');const chartCheckbox=tr.ui.b.createCheckBox(this,'showSummaryChart','pictureView.showSummaryChart',false,'Show timing summary');const pictureInfo=Polymer.dom(this).querySelector('picture-info');Polymer.dom(pictureInfo).appendChild(overdrawCheckbox);Polymer.dom(pictureInfo).appendChild(chartCheckbox);this.drawOpsView_=new tr.ui.e.chrome.cc.PictureOpsListView();this.drawOpsView_.addEventListener('selection-changed',this.onChangeDrawOps_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');Polymer.dom(leftPanel).appendChild(this.drawOpsChartSummaryView_);Polymer.dom(leftPanel).appendChild(this.drawOpsView_);const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');rightPanel.replaceChild(this.drawOpsChartView_,Polymer.dom(rightPanel).querySelector('tr-ui-e-chrome-cc-picture-ops-chart-view'));this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).appendChild(this.infoBar_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;const hkc=document.createElement('tv-ui-b-hotkey-controller');hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'h'.charCodeAt(0),callback(e){this.moveSelectedOpBy(-1);e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'l'.charCodeAt(0),callback(e){this.moveSelectedOpBy(1);e.stopPropagation();}}));Polymer.dom(this).appendChild(hkc);this.mutationObserver_=new MutationObserver(this.onMutation_.bind(this));this.mutationObserver_.observe(leftPanel,{attributes:true});},onMutation_(mutations){for(let m=0;m<mutations.length;m++){if(mutations[m].attributeName==='style'){this.drawOpsChartSummaryView_.requiresRedraw=true;this.drawOpsChartSummaryView_.updateChartContents();this.drawOpsChartView_.dimensionsHaveChanged=true;this.drawOpsChartView_.updateChartContents();break;}}},onSaveAsSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);} 7725const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.webkitURL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=this.filename_.value;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},get picture(){return this.picture_;},set picture(picture){this.drawOpsView_.picture=picture;this.drawOpsChartView_.picture=picture;this.drawOpsChartSummaryView_.picture=picture;this.picture_=picture;this.exportButton_.disabled=!this.picture_.canSave;if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;} 7726const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);const width=Math.max(parseInt(style.width),this.picture_.layerRect.width);const height=Math.max(parseInt(style.height),this.picture_.layerRect.height);return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+ 7727this.picture_.layerRect.width+' x '+ 7728this.picture_.layerRect.height+')';} 7729this.drawOpsChartView_.updateChartContents();this.drawOpsChartView_.scrollSelectedItemIntoViewIfNecessary();if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;} 7730this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;} 7731if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;} 7732this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({stopIndex:this.drawOpsView_.selectedOpIndex,showOverdraw:this.showOverdraw_},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},moveSelectedOpBy(increment){if(this.selectedOpIndex===undefined){this.selectedOpIndex=0;return;} 7733this.selectedOpIndex=tr.b.math.clamp(this.selectedOpIndex+increment,0,this.numOps);},get numOps(){return this.drawOpsView_.numOps;},get selectedOpIndex(){return this.drawOpsView_.selectedOpIndex;},set selectedOpIndex(index){this.drawOpsView_.selectedOpIndex=index;this.drawOpsChartView_.selectedOpIndex=index;},onChartBarClicked_(e){this.drawOpsView_.selectedOpIndex=this.drawOpsChartView_.selectedOpIndex;},onChangeDrawOps_(e){this.rasterize_();this.scheduleUpdateContents_();this.drawOpsChartView_.selectedOpIndex=this.drawOpsView_.selectedOpIndex;},set showOverdraw(v){this.showOverdraw_=v;this.rasterize_();},set showSummaryChart(chartShouldBeVisible){if(chartShouldBeVisible){this.drawOpsChartSummaryView_.show();}else{this.drawOpsChartSummaryView_.hide();}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};}};return{PictureDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const PictureSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-snapshot-view',tr.ui.analysis.ObjectSnapshotView);PictureSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-picture-snapshot-view');this.pictureDebugger_=new tr.ui.e.chrome.cc.PictureDebugger();Polymer.dom(this).appendChild(this.pictureDebugger_);},updateContents(){if(this.objectSnapshot_&&this.pictureDebugger_){this.pictureDebugger_.picture=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(PictureSnapshotView,{typeNames:['cc::Picture','cc::LayeredPicture'],showInstances:false});return{PictureSnapshotView,};});'use strict';tr.exportTo('tr.e.cc',function(){const knownRasterTaskNames=['TileManager::RunRasterTask','RasterWorkerPoolTaskImpl::RunRasterOnThread','RasterWorkerPoolTaskImpl::Raster','RasterTaskImpl::Raster','cc::RasterTask','RasterTask'];const knownAnalysisTaskNames=['TileManager::RunAnalyzeTask','RasterWorkerPoolTaskImpl::RunAnalysisOnThread','RasterWorkerPoolTaskImpl::Analyze','RasterTaskImpl::Analyze','cc::AnalyzeTask','AnalyzeTask'];function getTileFromRasterTaskSlice(slice){if(!(isSliceDoingRasterization(slice)||isSliceDoingAnalysis(slice))){return undefined;} 7734let tileData;if(slice.args.data){tileData=slice.args.data;}else{tileData=slice.args.tileData;} 7735if(tileData===undefined)return undefined;if(tileData.tile_id)return tileData.tile_id;const tile=tileData.tileId;if(!(tile instanceof tr.e.cc.TileSnapshot)){return undefined;} 7736return tileData.tileId;} 7737function isSliceDoingRasterization(slice){return knownRasterTaskNames.includes(slice.title);} 7738function isSliceDoingAnalysis(slice){return knownAnalysisTaskNames.includes(slice.title);} 7739return{getTileFromRasterTaskSlice,isSliceDoingRasterization,isSliceDoingAnalysis};});'use strict';tr.exportTo('tr.ui.analysis',function(){const AnalysisSubView={set tabLabel(label){Polymer.dom(this).setAttribute('tab-label',label);},get tabLabel(){return this.getAttribute('tab-label');},get requiresTallView(){return false;},get relatedEventsToHighlight(){return undefined;},set selection(selection){throw new Error('Not implemented!');},get selection(){throw new Error('Not implemented!');}};const allTypeInfosByEventProto=new Map();let onlyRootTypeInfosByEventProto=undefined;let eventProtoToRootTypeInfoMap=undefined;function AnalysisSubViewTypeInfo(eventConstructor,options){if(options.multi===undefined){throw new Error('missing field: multi');} 7740if(options.title===undefined){throw new Error('missing field: title');} 7741this.eventConstructor=eventConstructor;this.singleTagName=undefined;this.singleTitle=undefined;this.multiTagName=undefined;this.multiTitle=undefined;this.childrenTypeInfos_=undefined;} 7742AnalysisSubViewTypeInfo.prototype={get childrenTypeInfos(){return this.childrenTypeInfos_;},resetchildrenTypeInfos(){this.childrenTypeInfos_=[];}};AnalysisSubView.register=function(tagName,eventConstructor,options){let typeInfo=allTypeInfosByEventProto.get(eventConstructor.prototype);if(typeInfo===undefined){typeInfo=new AnalysisSubViewTypeInfo(eventConstructor,options);allTypeInfosByEventProto.set(typeInfo.eventConstructor.prototype,typeInfo);onlyRootTypeInfosByEventProto=undefined;} 7743if(!options.multi){if(typeInfo.singleTagName!==undefined){throw new Error('SingleTagName already set');} 7744typeInfo.singleTagName=tagName;typeInfo.singleTitle=options.title;}else{if(typeInfo.multiTagName!==undefined){throw new Error('MultiTagName already set');} 7745typeInfo.multiTagName=tagName;typeInfo.multiTitle=options.title;} 7746return typeInfo;};function rebuildRootSubViewTypeInfos(){onlyRootTypeInfosByEventProto=new Map();allTypeInfosByEventProto.forEach(function(typeInfo){typeInfo.resetchildrenTypeInfos();});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let lastEventProto=eventPrototype;let curEventProto=eventPrototype.__proto__;while(true){if(!allTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=allTypeInfosByEventProto.get(lastEventProto);const rootEventProto=lastEventProto;const isNew=onlyRootTypeInfosByEventProto.has(rootEventProto);onlyRootTypeInfosByEventProto.set(rootEventProto,rootTypeInfo);break;} 7747lastEventProto=curEventProto;curEventProto=curEventProto.__proto__;}});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;const parentEventProto=eventPrototype.__proto__;const parentTypeInfo=allTypeInfosByEventProto.get(parentEventProto);if(!parentTypeInfo)return;parentTypeInfo.childrenTypeInfos.push(typeInfo);});eventProtoToRootTypeInfoMap=new Map();allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let curEventProto=eventPrototype;while(true){if(onlyRootTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=onlyRootTypeInfosByEventProto.get(curEventProto);eventProtoToRootTypeInfoMap.set(eventPrototype,rootTypeInfo);break;} 7748curEventProto=curEventProto.__proto__;}});} 7749function findLowestTypeInfoForEvents(thisTypeInfo,events){if(events.length===0)return thisTypeInfo;const event0=tr.b.getFirstElement(events);let candidateSubTypeInfo;for(let i=0;i<thisTypeInfo.childrenTypeInfos.length;i++){const childTypeInfo=thisTypeInfo.childrenTypeInfos[i];if(event0 instanceof childTypeInfo.eventConstructor){candidateSubTypeInfo=childTypeInfo;break;}} 7750if(!candidateSubTypeInfo)return thisTypeInfo;let allMatch=true;for(const event of events){if(event instanceof candidateSubTypeInfo.eventConstructor)continue;allMatch=false;break;} 7751if(!allMatch){return thisTypeInfo;} 7752return findLowestTypeInfoForEvents(candidateSubTypeInfo,events);} 7753const primaryEventProtoToTypeInfoMap=new Map();function getRootTypeInfoForEvent(event){const curProto=event.__proto__;const typeInfo=primaryEventProtoToTypeInfoMap.get(curProto);if(typeInfo)return typeInfo;return getRootTypeInfoForEventSlow(event);} 7754function getRootTypeInfoForEventSlow(event){let typeInfo;let curProto=event.__proto__;while(true){if(curProto===Object.prototype){throw new Error('No view registered for '+event.toString());} 7755typeInfo=onlyRootTypeInfosByEventProto.get(curProto);if(typeInfo){primaryEventProtoToTypeInfoMap.set(event.__proto__,typeInfo);return typeInfo;} 7756curProto=curProto.__proto__;}} 7757AnalysisSubView.getEventsOrganizedByTypeInfo=function(selection){if(onlyRootTypeInfosByEventProto===undefined){rebuildRootSubViewTypeInfos();} 7758const eventsByRootTypeInfo=tr.b.groupIntoMap(selection,function(event){return getRootTypeInfoForEvent(event);},this,tr.model.EventSet);const eventsByLowestTypeInfo=new Map();eventsByRootTypeInfo.forEach(function(events,typeInfo){const lowestTypeInfo=findLowestTypeInfoForEvents(typeInfo,events);eventsByLowestTypeInfo.set(lowestTypeInfo,events);});return eventsByLowestTypeInfo;};return{AnalysisSubView,AnalysisSubViewTypeInfo,};});Polymer({is:'tr-ui-a-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView]});'use strict';Polymer({is:'tr-ui-a-stack-frame',ready(){this.stackFrame_=undefined;this.$.table.tableColumns=[];this.$.table.showHeader=true;},get stackFrame(){return this.stackFrame_;},set stackFrame(stackFrame){const table=this.$.table;this.stackFrame_=stackFrame;if(stackFrame===undefined){table.tableColumns=[];table.tableRows=[];table.rebuild();return;} 7759let hasName=false;let hasTitle=false;table.tableRows=stackFrame.stackTrace;table.tableRows.forEach(function(row){hasName|=row.name!==undefined;hasTitle|=row.title!==undefined;});const cols=[];if(hasName){cols.push({title:'Name',value(row){return row.name;}});} 7760if(hasTitle){cols.push({title:'Title',value(row){return row.title;}});} 7761table.tableColumns=cols;table.rebuild();},tableForTesting(){return this.$.table;}});'use strict';Polymer({is:'tr-ui-a-single-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],properties:{isFlow:{type:Boolean,value:false}},ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');} 7762this.setSelectionWithoutErrorChecks(selection);},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;this.updateContents_();},getFlowEventRows_(event){const rows=this.getEventRowsHelper_(event);rows.splice(0,0,{name:'ID',value:event.id});function createLinkTo(slice){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(slice);});Polymer.dom(linkEl).textContent=slice.userFriendlyName;return linkEl;} 7763rows.push({name:'From',value:createLinkTo(event.startSlice)});rows.push({name:'To',value:createLinkTo(event.endSlice)});return rows;},getEventRowsHelper_(event){const rows=[];if(event.error){rows.push({name:'Error',value:event.error});} 7764if(event.title){rows.push({name:'Title',value:event.title});} 7765if(event.category){rows.push({name:'Category',value:event.category});} 7766if(event.model!==undefined){const ufc=event.model.getUserFriendlyCategoryFromEvent(event);if(ufc!==undefined){rows.push({name:'User Friendly Category',value:ufc});}} 7767if(event.name){rows.push({name:'Name',value:event.name});} 7768rows.push({name:'Start',value:tr.v.ui.createScalarSpan(event.start,{unit:tr.b.Unit.byName.timeStampInMs})});if(event.duration){rows.push({name:'Wall Duration',value:tr.v.ui.createScalarSpan(event.duration,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7769if(event.cpuDuration){rows.push({name:'CPU Duration',value:tr.v.ui.createScalarSpan(event.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7770if(event.subSlices!==undefined&&event.subSlices.length!==0){if(event.selfTime){rows.push({name:'Self Time',value:tr.v.ui.createScalarSpan(event.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7771if(event.cpuSelfTime){const cpuSelfTimeEl=tr.v.ui.createScalarSpan(event.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs});if(event.cpuSelfTime>event.selfTime){cpuSelfTimeEl.warning=' Note that CPU Self Time is larger than Self Time. '+'This is a known limitation of this system, which occurs '+'due to several subslices, rounding issues, and imprecise '+'time at which we get cpu- and real-time.';} 7772rows.push({name:'CPU Self Time',value:cpuSelfTimeEl});}} 7773if(event.durationInUserTime){rows.push({name:'Duration (U)',value:tr.v.ui.createScalarSpan(event.durationInUserTime,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7774function createStackFrameEl(sf){const sfEl=document.createElement('tr-ui-a-stack-frame');sfEl.stackFrame=sf;return sfEl;} 7775if(event.startStackFrame&&event.endStackFrame){if(event.startStackFrame===event.endStackFrame){rows.push({name:'Start+End Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else{rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}}else if(event.startStackFrame){rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else if(event.endStackFrame){rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});} 7776if(event.info){const descriptionEl=tr.ui.b.createDiv({textContent:event.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(event.info.docLinks){event.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}} 7777if(event.associatedAlerts.length){const alertSubRows=[];event.associatedAlerts.forEach(function(alert){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(alert);},alert.info.description);alertSubRows.push({name:alert.title,value:linkEl});});rows.push({name:'Alerts',value:'',isExpanded:true,subRows:alertSubRows});} 7778return rows;},getEventRows_(event){if(this.isFlow){return this.getFlowEventRows_(event);} 7779return this.getEventRowsHelper_(event);},addArgsToRows_(rows,args){let n=0;for(const argName in args){n+=1;} 7780if(n>0){const subRows=[];for(const argName in args){n+=1;} 7781if(n>0){const subRows=[];for(const argName in args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=args[argName];subRows.push({name:argName,value:argView});} 7782rows.push({name:'Args',value:'',isExpanded:true,subRows});}}},addContextsToRows_(rows,contexts){if(contexts.length){const subRows=contexts.map(function(context){const contextView=document.createElement('tr-ui-a-generic-object-view');contextView.object=context;return{name:'Context',value:contextView};});rows.push({name:'Contexts',value:'',isExpanded:true,subRows});}},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;} 7783const event=tr.b.getOnlyElement(this.currentSelection_);const rows=this.getEventRows_(event);if(event.argsStripped){rows.push({name:'Args',value:'Stripped'});}else{this.addArgsToRows_(rows,event.args);} 7784this.addContextsToRows_(rows,event.contexts);const customizeRowsEvent=new tr.b.Event('customize-rows');customizeRowsEvent.rows=rows;this.dispatchEvent(customizeRowsEvent);this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-e-chrome-cc-raster-task-view',created(){this.selection_=undefined;},set selection(selection){this.selection_=selection;this.updateContents_();},updateColumns_(hadCpuDurations){const timeSpanConfig={unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument};const columns=[{title:'Layer',value(row){if(row.isTotals)return'Totals';if(row.layer){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.ui.e.chrome.cc.LayerSelection(costs.layer);},'Layer '+row.layerId);return linkEl;} 7785return'Layer '+row.layerId;},width:'250px'},{title:'Num Tiles',value(row){return row.numTiles;},cmp(a,b){return a.numTiles-b.numTiles;}},{title:'Num Analysis Tasks',value(row){return row.numAnalysisTasks;},cmp(a,b){return a.numAnalysisTasks-b.numAnalysisTasks;}},{title:'Num Raster Tasks',value(row){return row.numRasterTasks;},cmp(a,b){return a.numRasterTasks-b.numRasterTasks;}},{title:'Wall Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.duration,timeSpanConfig);},cmp(a,b){return a.duration-b.duration;}}];if(hadCpuDurations){columns.push({title:'CPU Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,timeSpanConfig);},cmp(a,b){return a.cpuDuration-b.cpuDuration;}});} 7786let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';} 7787for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;} 7788this.$.content.tableColumns=columns;this.$.content.sortColumnIndex=columns.length-1;},updateContents_(){const table=this.$.content;if(this.selection_.length===0){this.$.link.setSelectionAndContent(undefined,'');table.tableRows=[];table.footerRows=[];table.rebuild();return;} 7789const lthi=tr.e.cc.getTileFromRasterTaskSlice(tr.b.getFirstElement(this.selection_)).containingSnapshot;this.$.link.setSelectionAndContent(function(){return new tr.model.EventSet(lthi);},lthi.userFriendlyName);const costsByLayerId={};function getCurrentCostsForLayerId(tile){const layerId=tile.layerId;const lthi=tile.containingSnapshot;let layer;if(lthi.activeTree){layer=lthi.activeTree.findLayerWithId(layerId);} 7790if(layer===undefined&<hi.pendingTree){layer=lthi.pendingTree.findLayerWithId(layerId);} 7791if(costsByLayerId[layerId]===undefined){costsByLayerId[layerId]={layerId,layer,numTiles:0,numAnalysisTasks:0,numRasterTasks:0,duration:0,cpuDuration:0};} 7792return costsByLayerId[layerId];} 7793let totalDuration=0;let totalCpuDuration=0;let totalNumAnalyzeTasks=0;let totalNumRasterizeTasks=0;let hadCpuDurations=false;const tilesThatWeHaveSeen={};this.selection_.forEach(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);const curCosts=getCurrentCostsForLayerId(tile);if(!tilesThatWeHaveSeen[tile.objectInstance.id]){tilesThatWeHaveSeen[tile.objectInstance.id]=true;curCosts.numTiles+=1;} 7794if(tr.e.cc.isSliceDoingAnalysis(slice)){curCosts.numAnalysisTasks+=1;totalNumAnalyzeTasks+=1;}else{curCosts.numRasterTasks+=1;totalNumRasterizeTasks+=1;} 7795curCosts.duration+=slice.duration;totalDuration+=slice.duration;if(slice.cpuDuration!==undefined){curCosts.cpuDuration+=slice.cpuDuration;totalCpuDuration+=slice.cpuDuration;hadCpuDurations=true;}});this.updateColumns_(hadCpuDurations);table.tableRows=Object.values(costsByLayerId);table.rebuild();table.footerRows=[{isTotals:true,numTiles:Object.keys(tilesThatWeHaveSeen).length,numAnalysisTasks:totalNumAnalyzeTasks,numRasterTasks:totalNumRasterizeTasks,duration:totalDuration,cpuDuration:totalCpuDuration}];}});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function RasterTaskSelection(selection){tr.ui.e.chrome.cc.Selection.call(this);const whySupported=RasterTaskSelection.whySuported(selection);if(!whySupported.ok){throw new Error('Fail: '+whySupported.why);} 7796this.slices_=tr.b.asArray(selection);this.tiles_=this.slices_.map(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);if(tile===undefined){throw new Error('This should never happen due to .supports check.');} 7797return tile;});} 7798RasterTaskSelection.whySuported=function(selection){if(!(selection instanceof tr.model.EventSet)){return{ok:false,why:'Must be selection'};} 7799if(selection.length===0){return{ok:false,why:'Selection must be non empty'};} 7800let referenceSnapshot=undefined;for(const event of selection){if(!(event instanceof tr.model.Slice)){return{ok:false,why:'Not a slice'};} 7801const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined){return{ok:false,why:'No tile found'};} 7802if(!referenceSnapshot){referenceSnapshot=tile.containingSnapshot;}else{if(tile.containingSnapshot!==referenceSnapshot){return{ok:false,why:'Raster tasks are from different compositor instances'};}}} 7803return{ok:true};};RasterTaskSelection.supports=function(selection){return RasterTaskSelection.whySuported(selection).ok;};RasterTaskSelection.prototype={__proto__:tr.ui.e.chrome.cc.Selection.prototype,get specicifity(){return 3;},get associatedLayerId(){const tile0=this.tiles_[0];const allSameLayer=this.tiles_.every(function(tile){tile.layerId===tile0.layerId;});if(allSameLayer){return tile0.layerId;} 7804return undefined;},get extraHighlightsByLayerId(){const highlights={};this.tiles_.forEach(function(tile,i){if(highlights[tile.layerId]===undefined){highlights[tile.layerId]=[];} 7805const slice=this.slices_[i];highlights[tile.layerId].push({colorKey:slice.title,rect:tile.layerRect});},this);return highlights;},createAnalysis(){const sel=new tr.model.EventSet();this.slices_.forEach(function(slice){sel.push(slice);});let analysis;if(sel.length===1){analysis=document.createElement('tr-ui-a-single-event-sub-view');}else{analysis=document.createElement('tr-ui-e-chrome-cc-raster-task-view');} 7806analysis.selection=sel;return analysis;},findEquivalent(lthi){return undefined;},get containingSnapshot(){return this.tiles_[0].containingSnapshot;}};return{RasterTaskSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const TileSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-tile-snapshot-view',tr.ui.analysis.ObjectSnapshotView);TileSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-tile-snapshot-view');this.layerTreeView_=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();Polymer.dom(this).appendChild(this.layerTreeView_);},updateContents(){const tile=this.objectSnapshot_;const layerTreeHostImpl=tile.containingSnapshot;if(!layerTreeHostImpl)return;this.layerTreeView_.objectSnapshot=layerTreeHostImpl;this.layerTreeView_.selection=new tr.ui.e.chrome.cc.TileSelection(tile);}};tr.ui.analysis.ObjectSnapshotView.register(TileSnapshotView,{typeName:'cc::Tile',showInTrackView:false});return{TileSnapshotView,};});'use strict';tr.exportTo('tr.e.gpu',function(){const AsyncSlice=tr.model.AsyncSlice;function GpuAsyncSlice(){AsyncSlice.apply(this,arguments);} 7807GpuAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){if(this.args.channel){if(this.category==='disabled-by-default-gpu.device'){return'Device.'+this.args.channel;} 7808return'Service.'+this.args.channel;} 7809return this.title;}};AsyncSlice.subTypes.register(GpuAsyncSlice,{categoryParts:['disabled-by-default-gpu.device','disabled-by-default-gpu.service']});return{GpuAsyncSlice,};});'use strict';tr.exportTo('tr.e.gpu',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function StateSnapshot(){ObjectSnapshot.apply(this,arguments);} 7810StateSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){this.screenshot_=undefined;},initialize(){if(this.args.screenshot){this.screenshot_=this.args.screenshot;}},get screenshot(){return this.screenshot_;}};ObjectSnapshot.subTypes.register(StateSnapshot,{typeName:'gpu::State'});return{StateSnapshot,};});'use strict';tr.exportTo('tr.ui.e.chrome.gpu',function(){const StateSnapshotView=tr.ui.b.define('tr-ui-e-chrome-gpu-state-snapshot-view',tr.ui.analysis.ObjectSnapshotView);StateSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-gpu-state-snapshot-view');this.screenshotImage_=document.createElement('img');Polymer.dom(this).appendChild(this.screenshotImage_);},updateContents(){if(this.objectSnapshot_&&this.objectSnapshot_.screenshot){this.screenshotImage_.src='data:image/png;base64,'+ 7811this.objectSnapshot_.screenshot;}}};tr.ui.analysis.ObjectSnapshotView.register(StateSnapshotView,{typeName:'gpu::State'});return{StateSnapshotView,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-layout-tree-sub-view',behaviors:['tr-ui-a-sub-view'],set selection(selection){this.currentSelection_=selection;this.updateContents_();},get selection(){return this.currentSelection_;},updateContents_(){this.set('$.content.textContent','');if(!this.currentSelection_)return;const columns=[{title:'Tag/Name',value(layoutObject){return layoutObject.tag||':'+layoutObject.name;}},{title:'htmlId',value(layoutObject){return layoutObject.htmlId||'';}},{title:'classNames',value(layoutObject){return layoutObject.classNames||'';}},{title:'reasons',value(layoutObject){return layoutObject.needsLayoutReasons.join(', ');}},{title:'width',value(layoutObject){return layoutObject.absoluteRect.width;}},{title:'height',value(layoutObject){return layoutObject.absoluteRect.height;}},{title:'absX',value(layoutObject){return layoutObject.absoluteRect.left;}},{title:'absY',value(layoutObject){return layoutObject.absoluteRect.top;}},{title:'relX',value(layoutObject){return layoutObject.relativeRect.left;}},{title:'relY',value(layoutObject){return layoutObject.relativeRect.top;}},{title:'float',value(layoutObject){return layoutObject.isFloat?'float':'';}},{title:'positioned',value(layoutObject){return layoutObject.isPositioned?'positioned':'';}},{title:'relative',value(layoutObject){return layoutObject.isRelativePositioned?'relative':'';}},{title:'sticky',value(layoutObject){return layoutObject.isStickyPositioned?'sticky':'';}},{title:'anonymous',value(layoutObject){return layoutObject.isAnonymous?'anonymous':'';}},{title:'row',value(layoutObject){if(layoutObject.tableRow===undefined){return'';} 7812return layoutObject.tableRow;}},{title:'col',value(layoutObject){if(layoutObject.tableCol===undefined){return'';} 7813return layoutObject.tableCol;}},{title:'rowSpan',value(layoutObject){if(layoutObject.tableRowSpan===undefined){return'';} 7814return layoutObject.tableRowSpan;}},{title:'colSpan',value(layoutObject){if(layoutObject.tableColSpan===undefined){return'';} 7815return layoutObject.tableColSpan;}},{title:'address',value(layoutObject){return layoutObject.id.toString(16);}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.defaultExpansionStateCallback=function(layoutObject,parentLayoutObject){return true;};table.subRowsPropertyName='childLayoutObjects';table.tableColumns=columns;table.tableRows=this.currentSelection_.map(function(snapshot){return snapshot.rootLayoutObject;});table.rebuild();Polymer.dom(this.$.content).appendChild(table);},});return{};});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:false,title:'Layout Tree',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:true,title:'Layout Trees',});'use strict';tr.exportTo('tr.ui.behaviors',function(){const SidePanel={get rangeOfInterest(){throw new Error('Not implemented');},set rangeOfInterest(rangeOfInterest){throw new Error('Not implemented');},get selection(){throw new Error('Not implemented');},set selection(selection){throw new Error('Not implemented');},get model(){throw new Error('Not implemented');},set model(model){throw new Error('Not implemented');},supportsModel(m){throw new Error('Not implemented');}};return{SidePanel,};});'use strict';tr.exportTo('tr.ui.side_panel',function(){function SidePanelRegistry(){} 7816const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(SidePanelRegistry,options);return{SidePanelRegistry,};});'use strict';tr.exportTo('tr.ui.e.s',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const FrameTreeNodeSnapshot=tr.e.chrome.FrameTreeNodeSnapshot;const RenderFrameSnapshot=tr.e.chrome.RenderFrameSnapshot;const TopLevelSnapshot=tr.e.chrome.TopLevelSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;const FrameTreeNodeInstance=tr.e.chrome.FrameTreeNodeInstance;const RenderFrameInstance=tr.e.chrome.RenderFrameInstance;const TopLevelInstance=tr.e.chrome.TopLevelInstance;function Row(context){this.subRows=undefined;this.contexts=[];this.type=undefined;this.renderer='N/A';this.url=undefined;this.time=0;this.eventsOfInterest=new tr.model.EventSet();if(context===undefined)return;this.type=context.objectInstance.blameContextType;this.contexts.push(context);if(context instanceof FrameTreeNodeSnapshot){if(context.renderFrame){this.contexts.push(context.renderFrame);this.renderer=context.renderFrame.objectInstance.parent.pid;}}else if(context instanceof RenderFrameSnapshot){if(context.frameTreeNode){this.contexts.push(context.frameTreeNode);} 7817this.renderer=context.objectInstance.parent.pid;}else if(context instanceof TopLevelSnapshot){this.renderer=context.objectInstance.parent.pid;}else{throw new Error('Unknown context type');} 7818this.eventsOfInterest.addEventSet(this.contexts);this.url=context.url;} 7819const groupFunctions={none:rows=>rows,tree(rows,rowMap){const getParentRow=function(row){let pivot;row.contexts.forEach(function(context){if(context instanceof tr.e.chrome.FrameTreeNodeSnapshot){pivot=context;}});if(pivot&&pivot.parentContext){return rowMap[pivot.parentContext.guid];} 7820return undefined;};const rootRows=[];rows.forEach(function(row){const parentRow=getParentRow(row);if(parentRow===undefined){rootRows.push(row);return;} 7821if(parentRow.subRows===undefined){parentRow.subRows=[];} 7822parentRow.subRows.push(row);});const aggregateAllDescendants=function(row){if(!row.subRows){if(getParentRow(row)){row.type='Subframe';} 7823return row;} 7824const result=new Row();result.type='Frame Tree';result.renderer=row.renderer;result.url=row.url;result.subRows=[row];row.subRows.forEach(subRow=>result.subRows.push(aggregateAllDescendants(subRow)));result.subRows.forEach(function(subRow){result.time+=subRow.time;result.eventsOfInterest.addEventSet(subRow.eventsOfInterest);});row.subRows=undefined;return result;};return rootRows.map(rootRow=>aggregateAllDescendants(rootRow));}};Polymer({is:'tr-ui-e-s-frame-data-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=new tr.b.math.Range();this.$.table.showHeader=true;this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=this.createFrameDataTableColumns_();this.$.table.addEventListener('selection-changed',function(e){this.selectEventSet_(this.$.table.selectedTableRow.eventsOfInterest);}.bind(this));this.$.select.addEventListener('change',function(e){this.updateContents_();}.bind(this));},selectEventSet_(eventSet){const event=new tr.model.RequestSelectionChangeEvent();event.selection=eventSet;this.dispatchEvent(event);},createFrameDataTableColumns_(){return[{title:'Renderer',value:row=>row.renderer,cmp:(a,b)=>a.renderer-b.renderer},{title:'Type',value:row=>row.type},{title:'Time',value:row=>tr.v.ui.createScalarSpan(row.time,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}),cmp:(a,b)=>a.time-b.time},{title:'URL',value:row=>row.url,cmp:(a,b)=>(a.url||'').localeCompare(b.url||'')}];},createFrameDataTableRows_(){if(!this.model_)return[];const rows=[];const rowMap={};for(const proc of Object.values(this.model_.processes)){proc.objects.iterObjectInstances(function(objectInstance){if(!(objectInstance instanceof BlameContextInstance)){return;} 7825objectInstance.snapshots.forEach(function(snapshot){if(rowMap[snapshot.guid])return;const row=new Row(snapshot);row.contexts.forEach(context=>rowMap[context.guid]=row);rows.push(row);},this);},this);} 7826for(const proc of Object.values(this.model_.processes)){for(const thread of Object.values(proc.threads)){thread.sliceGroup.iterSlicesInTimeRange(function(topLevelSlice){topLevelSlice.contexts.forEach(function(context){if(!context.snapshot.guid||!rowMap[context.snapshot.guid]){return;} 7827const row=rowMap[context.snapshot.guid];row.eventsOfInterest.push(topLevelSlice);row.time+=topLevelSlice.selfTime||0;});},this.currentRangeOfInterest.min,this.currentRangeOfInterest.max);}} 7828const select=this.$.select;const groupOption=select.options[select.selectedIndex].value;const groupFunction=groupFunctions[groupOption];return groupFunction(rows,rowMap);},updateContents_(){this.$.table.tableRows=this.createFrameDataTableRows_();this.$.table.rebuild();},supportsModel(m){if(!m){return{supported:false,reason:'No model available.'};} 7829const ans={supported:false};for(const proc of Object.values(m.processes)){proc.objects.iterObjectInstances(function(instance){if(instance instanceof BlameContextInstance){ans.supported=true;}});} 7830if(!ans.supported){ans.reason='No frame data available';} 7831return ans;},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;} 7832return this.rangeOfInterest_;},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},get selection(){},set selection(_){},get textLabel(){return'Frame Data';},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-frame-data-side-panel');});});'use strict';Polymer({is:'tr-ui-b-chart-legend-key',ready(){this.$.checkbox.addEventListener('change',this.onCheckboxChange_.bind(this));},onCheckboxChange_(){tr.b.dispatchSimpleEvent(this,tr.ui.b.DataSeriesEnableChangeEventType,true,false,{key:Polymer.dom(this).textContent,enabled:this.enabled});},set textContent(t){Polymer.dom(this.$.label).textContent=t;Polymer.dom(this.$.link).textContent=t;this.updateContents_();},set width(w){w-=20;this.$.link.style.width=w+'px';this.$.label.style.width=w+'px';},get textContent(){return Polymer.dom(this.$.label).textContent;},set optional(optional){this.$.checkbox.style.visibility=optional?'visible':'hidden';},get optional(){return this.$.checkbox.style.visibility==='visible';},set enabled(enabled){this.$.checkbox.checked=enabled?'checked':'';},get enabled(){return this.$.checkbox.checked;},set color(c){this.$.label.style.color=c;this.$.link.color=c;},set target(target){this.$.link.setSelectionAndContent(target,Polymer.dom(this.$.label).textContent);this.updateContents_();},get target(){return this.$.link.selection;},set title(title){this.$.link.title=title;},updateContents_(){this.$.link.style.display=this.target?'':'none';this.$.label.style.display=this.target?'none':'';this.$.label.htmlFor=this.optional?'checkbox':'';}});'use strict';(function(window){window.define=function(x){window.d3=x;};window.define.amd=true;})(this);!function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(n){return aa+n in this}function o(n){return n=aa+n,n in this&&delete this[n]}function a(){var n=[];return this.forEach(function(t){n.push(t)}),n}function c(){var n=0;for(var t in this)t.charCodeAt(0)===ca&&++n;return n}function s(){for(var n in this)if(n.charCodeAt(0)===ca)return!1;return!0}function l(){}function f(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function h(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=sa.length;r>e;++e){var u=sa[e]+t;if(u in n)return u}}function g(){}function p(){}function v(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new u;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function d(){Xo.event.preventDefault()}function m(){for(var n,t=Xo.event;n=t.sourceEvent;)t=n;return t}function y(n){for(var t=new p,e=0,r=arguments.length;++e<r;)t[arguments[e]]=v(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Xo.event;u.target=n,Xo.event=u,t[u.type].apply(e,r)}finally{Xo.event=i}}},t}function x(n){return fa(n,da),n}function M(n){return"function"==typeof n?n:function(){return ha(n,this)}}function _(n){return"function"==typeof n?n:function(){return ga(n,this)}}function b(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Xo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function w(n){return n.trim().replace(/\s+/g," ")}function S(n){return new RegExp("(?:^|\\s+)"+Xo.requote(n)+"(?:\\s+|$)","g")}function k(n){return n.trim().split(/^|\s+/)}function E(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=k(n).map(A);var u=n.length;return"function"==typeof t?r:e}function A(n){var t=S(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",w(u+" "+n))):e.setAttribute("class",w(u.replace(t," ")))}}function C(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function N(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function L(n){return"function"==typeof n?n:(n=Xo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function T(n){return{__data__:n}}function q(n){return function(){return va(this,n)}}function z(n){return arguments.length||(n=Xo.ascending),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function R(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function D(n){return fa(n,ya),n}function P(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function U(){var n=this.__transition__;n&&++n.active}function j(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Bo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Xo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=H;a>0&&(n=n.substring(0,a));var s=Ma.get(n);return s&&(n=s,c=F),a?t?u:r:t?g:i}function H(n,t){return function(e){var r=Xo.event;Xo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Xo.event=r}}}function F(n,t){var e=H(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function O(){var n=".dragsuppress-"+ ++ba,t="click"+n,e=Xo.select(Go).on("touchmove"+n,d).on("dragstart"+n,d).on("selectstart"+n,d);if(_a){var r=Jo.style,u=r[_a];r[_a]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),_a&&(r[_a]=u),i&&(e.on(t,function(){d(),o()},!0),setTimeout(o,0))}}function Y(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>wa&&(Go.scrollX||Go.scrollY)){e=Xo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();wa=!(u.f||u.e),e.remove()}return wa?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function I(n){return n>0?1:0>n?-1:0}function Z(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function V(n){return n>1?0:-1>n?Sa:Math.acos(n)}function X(n){return n>1?Ea:-1>n?-Ea:Math.asin(n)}function $(n){return((n=Math.exp(n))-1/n)/2}function B(n){return((n=Math.exp(n))+1/n)/2}function W(n){return((n=Math.exp(2*n))-1)/(n+1)}function J(n){return(n=Math.sin(n/2))*n}function G(){}function K(n,t,e){return new Q(n,t,e)}function Q(n,t,e){this.h=n,this.s=t,this.l=e}function nt(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,gt(u(n+120),u(n),u(n-120))}function tt(n,t,e){return new et(n,t,e)}function et(n,t,e){this.h=n,this.c=t,this.l=e}function rt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),ut(e,Math.cos(n*=Na)*t,Math.sin(n)*t)}function ut(n,t,e){return new it(n,t,e)}function it(n,t,e){this.l=n,this.a=t,this.b=e}function ot(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=ct(u)*Fa,r=ct(r)*Oa,i=ct(i)*Ya,gt(lt(3.2404542*u-1.5371385*r-.4985314*i),lt(-.969266*u+1.8760108*r+.041556*i),lt(.0556434*u-.2040259*r+1.0572252*i))}function at(n,t,e){return n>0?tt(Math.atan2(e,t)*La,Math.sqrt(t*t+e*e),n):tt(0/0,0/0,n)}function ct(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function st(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function lt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ft(n){return gt(n>>16,255&n>>8,255&n)}function ht(n){return ft(n)+""}function gt(n,t,e){return new pt(n,t,e)}function pt(n,t,e){this.r=n,this.g=t,this.b=e}function vt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function dt(n,t,e){var r,u,i,o,a=0,c=0,s=0;if(u=/([a-z]+)\((.*)\)/i.exec(n))switch(i=u[2].split(","),u[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(o=Va.get(n))?t(o.r,o.g,o.b):(null!=n&&"#"===n.charAt(0)&&(r=parseInt(n.substring(1),16),isNaN(r)||(4===n.length?(a=(3840&r)>>4,a=a>>4|a,c=240&r,c=c>>4|c,s=15&r,s=s<<4|s):7===n.length&&(a=(16711680&r)>>16,c=(65280&r)>>8,s=255&r))),t(a,c,s))}function mt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),K(r,u,c)}function yt(n,t,e){n=xt(n),t=xt(t),e=xt(e);var r=st((.4124564*n+.3575761*t+.1804375*e)/Fa),u=st((.2126729*n+.7151522*t+.072175*e)/Oa),i=st((.0193339*n+.119192*t+.9503041*e)/Ya);return ut(116*u-16,500*(r-u),200*(u-i))}function xt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Mt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function _t(n){return"function"==typeof n?n:function(){return n}}function bt(n){return n}function wt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),St(t,e,n,r)}}function St(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Xo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!Go.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Xo.event;Xo.event=n;try{o.progress.call(i,c)}finally{Xo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(s=n,i):s},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Bo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Xo.rebind(i,o,"on"),null==r?i:i.get(kt(r))}function kt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Et(){var n=At(),t=Ct()-n;t>24?(isFinite(t)&&(clearTimeout(Wa),Wa=setTimeout(Et,t)),Ba=0):(Ba=1,Ga(Et))}function At(){var n=Date.now();for(Ja=Xa;Ja;)n>=Ja.t&&(Ja.f=Ja.c(n-Ja.t)),Ja=Ja.n;return n}function Ct(){for(var n,t=Xa,e=1/0;t;)t.f?t=n?n.n=t.n:Xa=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return $a=n,e}function Nt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Lt(n,t){var e=Math.pow(10,3*oa(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Tt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r?function(n){for(var t=n.length,u=[],i=0,o=r[0];t>0&&o>0;)u.push(n.substring(t-=o,t+o)),o=r[i=(i+1)%r.length];return u.reverse().join(e)}:bt;return function(n){var e=Qa.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"",c=e[4]||"",s=e[5],l=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1;switch(h&&(h=+h.substring(1)),(s||"0"===r&&"="===o)&&(s=r="0",o="=",f&&(l-=Math.floor((l-1)/4))),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=nc.get(g)||qt;var y=s&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a;if(0>p){var c=Xo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}}}function qt(n){return n+""}function zt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rt(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new ec(e-1)),1),e}function i(n,e){return t(n=new ec(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{ec=zt;var r=new zt;return r._=n,o(r,t,e)}finally{ec=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Dt(n);return c.floor=c,c.round=Dt(r),c.ceil=Dt(u),c.offset=Dt(i),c.range=a,n}function Dt(n){return function(t,e){try{ec=zt;var r=new zt;return r._=t,n(r,e)._}finally{ec=Date}}}function Pt(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.substring(c,a)),null!=(u=uc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.substring(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&ec!==zt,o=new(i?zt:ec);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+Math.floor(r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,s=e.length;c>a;){if(r>=s)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in uc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.substring(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.substring(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.substring(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.substring(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function s(n,t,r){return e(n,C.X.toString(),t,r)}function l(n,t,e){var r=x.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{ec=zt;var t=new ec;return t._=n,r(t)}finally{ec=Date}}var r=t(n);return e.parse=function(n){try{ec=zt;var t=r.parse(n);return t&&t._}finally{ec=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ee;var x=Xo.map(),M=jt(v),_=Ht(v),b=jt(d),w=Ht(d),S=jt(m),k=Ht(m),E=jt(y),A=Ht(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Ut(n.getDate(),t,2)},e:function(n,t){return Ut(n.getDate(),t,2)},H:function(n,t){return Ut(n.getHours(),t,2)},I:function(n,t){return Ut(n.getHours()%12||12,t,2)},j:function(n,t){return Ut(1+tc.dayOfYear(n),t,3)},L:function(n,t){return Ut(n.getMilliseconds(),t,3)},m:function(n,t){return Ut(n.getMonth()+1,t,2)},M:function(n,t){return Ut(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Ut(n.getSeconds(),t,2)},U:function(n,t){return Ut(tc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Ut(tc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Ut(n.getFullYear()%100,t,2)},Y:function(n,t){return Ut(n.getFullYear()%1e4,t,4)},Z:ne,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Bt,e:Bt,H:Jt,I:Jt,j:Wt,L:Qt,m:$t,M:Gt,p:l,S:Kt,U:Ot,w:Ft,W:Yt,x:c,X:s,y:Zt,Y:It,Z:Vt,"%":te};return t}function Ut(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function jt(n){return new RegExp("^(?:"+n.map(Xo.requote).join("|")+")","i")}function Ht(n){for(var t=new u,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Ft(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ot(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Yt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function It(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Zt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.y=Xt(+r[0]),e+r[0].length):-1}function Vt(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Xt(n){return n+(n>68?1900:2e3)}function $t(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Bt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Wt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Jt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Gt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Kt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Qt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ne(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(oa(t)/60),u=oa(t)%60;return e+Ut(r,"0",2)+Ut(u,"0",2)}function te(n,t,e){oc.lastIndex=0;var r=oc.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function ee(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function re(){}function ue(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function ie(n,t){n&&lc.hasOwnProperty(n.type)&&lc[n.type](n,t)}function oe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function ae(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)oe(n[e],t,1);t.polygonEnd()}function ce(){function n(n,t){n*=Na,t=t*Na/2+Sa/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),s=Math.sin(t),l=i*s,f=u*c+l*Math.cos(a),h=l*o*Math.sin(a);hc.add(Math.atan2(h,f)),r=n,u=c,i=s}var t,e,r,u,i;gc.point=function(o,a){gc.point=n,r=(t=o)*Na,u=Math.cos(a=(e=a)*Na/2+Sa/4),i=Math.sin(a)},gc.lineEnd=function(){n(t,e)}}function se(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function le(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function fe(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function they(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ge(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function ve(n){return[Math.atan2(n[1],n[0]),X(n[2])]}function de(n,t){return oa(n[0]-t[0])<Aa&&oa(n[1]-t[1])<Aa}function me(n,t){n*=Na;var e=Math.cos(t*=Na);ye(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function ye(n,t,e){++pc,dc+=(n-dc)/pc,mc+=(t-mc)/pc,yc+=(e-yc)/pc}function xe(){function n(n,u){n*=Na;var i=Math.cos(u*=Na),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),s=Math.atan2(Math.sqrt((s=e*c-r*a)*s+(s=r*o-t*c)*s+(s=t*a-e*o)*s),t*o+e*a+r*c);vc+=s,xc+=s*(t+(t=o)),Mc+=s*(e+(e=a)),_c+=s*(r+(r=c)),ye(t,e,r)}var t,e,r;kc.point=function(u,i){u*=Na;var o=Math.cos(i*=Na);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),kc.point=n,ye(t,e,r)}}function Me(){kc.point=me}function _e(){function n(n,t){n*=Na;var e=Math.cos(t*=Na),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),s=u*c-i*a,l=i*o-r*c,f=r*a-u*o,h=Math.sqrt(s*s+l*l+f*f),g=r*o+u*a+i*c,p=h&&-V(g)/h,v=Math.atan2(h,g);bc+=p*s,wc+=p*l,Sc+=p*f,vc+=v,xc+=v*(r+(r=o)),Mc+=v*(u+(u=a)),_c+=v*(i+(i=c)),ye(r,u,i)}var t,e,r,u,i;kc.point=function(o,a){t=o,e=a,kc.point=n,o*=Na;var c=Math.cos(a*=Na);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),ye(r,u,i)},kc.lineEnd=function(){n(t,e),kc.lineEnd=Me,kc.point=me}}function be(){return!0}function we(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(de(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ke(e,n,null,!0),s=new ke(e,null,c,!1);c.o=s,i.push(c),o.push(s),c=new ke(r,n,null,!1),s=new ke(r,null,c,!0),c.o=s,i.push(c),o.push(s)}}),o.sort(t),Se(i),Se(o),i.length){for(var a=0,c=e,s=o.length;s>a;++a)o[a].e=c=!c;for(var l,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;l=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,s=l.length;s>a;++a)u.point((f=l[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){l=g.p.z;for(var a=l.length-1;a>=0;--a)u.point((f=l[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,l=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Se(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ke(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ee(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function s(){y.point=o,d.lineEnd()}function l(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){l(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r){if(1&t){n=e[0];var u,r=n.length-1,o=-1;for(i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);return i.lineEnd(),void 0}r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Ae))}}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:s,polygonStart:function(){y.point=l,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=s,g=Xo.merge(g);var n=Le(m,p);g.length?we(g,Ne,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=Ce(),M=t(x);return y}}function Ae(n){return n.length>1}function Ce(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:g,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ne(n,t){return((n=n.x)[0]<0?n[1]-Ea-Aa:Ea-n[1])-((t=t.x)[0]<0?t[1]-Ea-Aa:Ea-t[1])}function Le(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;hc.reset();for(var a=0,c=t.length;c>a;++a){var s=t[a],l=s.length;if(l)for(var f=s[0],h=f[0],g=f[1]/2+Sa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===l&&(d=0),n=s[d];var m=n[0],y=n[1]/2+Sa/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Sa,k=p*x;if(hc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*ka:_,S^h>=e^m>=e){var E=fe(se(f),se(n));pe(E);var A=fe(u,E);pe(A);var C=(S^_>=0?-1:1)*X(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Aa>i||Aa>i&&0>hc)^1&o}function Te(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Sa:-Sa,c=oa(i-e);oa(c-Sa)<Aa?(n.point(e,r=(r+o)/2>0?Ea:-Ea),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Sa&&(oa(e-u)<Aa&&(e-=u*Aa),oa(i-a)<Aa&&(i-=a*Aa),r=qe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function qe(n,t,e,r){var u,i,o=Math.sin(n-e);return oa(o)>Aa?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function ze(n,t,e,r){var u;if(null==n)u=e*Ea,r.point(-Sa,u),r.point(0,u),r.point(Sa,u),r.point(Sa,0),r.point(Sa,-u),r.point(0,-u),r.point(-Sa,-u),r.point(-Sa,0),r.point(-Sa,u);else if(oa(n[0]-t[0])>Aa){var i=n[0]<t[0]?Sa:-Sa;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function Re(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,s,l;return{lineStart:function(){s=c=!1,l=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Sa:-Sa),h):0;if(!e&&(s=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(de(e,g)||de(p,g))&&(p[0]+=Aa,p[1]+=Aa,v=t(p[0],p[1]))),v!==c)l=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(l=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&de(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return l|(s&&c)<<1}}}function r(n,t,e){var r=se(n),u=se(t),o=[1,0,0],a=fe(r,u),c=le(a,a),s=a[0],l=c-s*s;if(!l)return!e&&n;var f=i*c/l,h=-i*s/l,g=fe(o,a),p=ge(o,f),v=ge(a,h);they(p,v);var d=g,m=le(p,d),y=le(d,d),x=m*m-y*(le(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ge(d,(-m-M)/y);if(they(_,p),_=ve(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=oa(A-Sa)<Aa,N=C||Aa>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(oa(_[0]-w)<Aa?k:E):k<=_[1]&&_[1]<=E:A>Sa^(w<=_[0]&&_[0]<=S)){var L=ge(d,(-m+M)/y);return they(L,p),[_,ve(L)]}}}function u(t,e){var r=o?n:Sa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=oa(i)>Aa,c=cr(n,6*Na);return Ee(t,e,c,o?[0,-n]:[-Sa,n-Sa])}function De(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,s=o.y,l=a.x,f=a.y,h=0,g=1,p=l-c,v=f-s;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-s,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-s,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:s+h*v}),1>g&&(u.b={x:c+g*p,y:s+g*v}),u}}}}}}function Pe(n,t,e,r){function u(r,u){return oa(r[0]-n)<Aa?u>0?0:3:oa(r[0]-e)<Aa?u>0?2:1:oa(r[1]-t)<Aa?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,s=a[0];c>o;++o)i=a[o],s[1]<=r?i[1]>r&&Z(s,i,n)>0&&++t:i[1]<=r&&Z(s,i,n)<0&&--t,s=i;return 0!==t}function s(i,a,c,s){var l=0,f=0;if(null==i||(l=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do s.point(0===l||3===l?n:e,l>1?r:t);while((l=(l+c+4)%4)!==f)}else s.point(a[0],a[1])}function l(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){l(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Ac,Math.min(Ac,n)),t=Math.max(-Ac,Math.min(Ac,t));var e=l(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=Ce(),C=De(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Xo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),u&&we(v,i,t,s,a),a.polygonEnd()),v=d=m=null}};return N}}function Ue(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function je(n){var t=0,e=Sa/3,r=nr(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Sa/180,e=n[1]*Sa/180):[180*(t/Sa),180*(e/Sa)]},u}function They(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,X((i-(n*n+e*e)*u*u)/(2*u))]},e}function Fe(){function n(n,t){Nc+=u*n-r*t,r=n,u=t}var t,e,r,u;Rc.point=function(i,o){Rc.point=n,t=r=i,e=u=o},Rc.lineEnd=function(){n(t,e)}}function Oe(n,t){Lc>n&&(Lc=n),n>qc&&(qc=n),Tc>t&&(Tc=t),t>zc&&(zc=t)}function Ye(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Ie(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Ie(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Ie(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ze(n,t){dc+=n,mc+=t,++yc}function Ve(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);xc+=o*(t+n)/2,Mc+=o*(e+r)/2,_c+=o,Ze(t=n,e=r)}var t,e;Pc.point=function(r,u){Pc.point=n,Ze(t=r,e=u)}}function Xe(){Pc.point=Ze}function $e(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);xc+=o*(r+n)/2,Mc+=o*(u+t)/2,_c+=o,o=u*n-r*t,bc+=o*(r+n),wc+=o*(u+t),Sc+=3*o,Ze(r=n,u=t)}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,Ze(t=r=i,e=u=o)},Pc.lineEnd=function(){n(t,e)}}function Be(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,ka)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:g};return a}function We(n){function t(n){return(a?r:e)(n)}function e(t){return Ke(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=se([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=s,S.lineEnd=l}function s(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function l(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,s,l,f,h,g,p,v,d,m){var y=l-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=s+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=oa(oa(w)-1)<Aa||oa(r-h)<Aa?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],L=C-t,T=N-e,q=x*L-y*T;(q*q/M>i||oa((y*L+x*T)/M-.5)>.3||o>a*g+c*p+s*v)&&(u(t,e,r,a,c,s,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,l,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Na),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function Je(n){var t=We(function(t,e){return n([t*La,e*La])});return function(n){return tr(t(n))}}function Ge(n){this.stream=n}function Ke(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Qe(n){return nr(function(){return n})()}function nr(n){function t(n){return n=a(n[0]*Na,n[1]*Na),[n[0]*h+c,s-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(s-n[1])/h),n&&[n[0]*La,n[1]*La]}function r(){a=Ue(o=ur(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,s=p+n[1]*h,u()}function u(){return l&&(l.valid=!1,l=null),t}var i,o,a,c,s,l,f=We(function(n,t){return n=i(n,t),[n[0]*h+c,s-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Ec,_=bt,b=null,w=null;return t.stream=function(n){return l&&(l.valid=!1),l=tr(M(o,f(_(n)))),l.valid=!0,l},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Ec):Re((b=+n)*Na),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Pe(n[0][0],n[0][1],n[1][0],n[1][1]):bt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Na,d=n[1]%360*Na,r()):[v*La,d*La]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Na,y=n[1]%360*Na,x=n.length>2?n[2]%360*Na:0,r()):[m*La,y*La,x*La]},Xo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function tr(n){return Ke(n,function(t,e){n.point(t*Na,e*Na)})}function er(n,t){return[n,t]}function rr(n,t){return[n>Sa?n-ka:-Sa>n?n+ka:n,t]}function ur(n,t,e){return n?t||e?Ue(or(n),ar(t,e)):or(n):t||e?ar(t,e):rr}function ir(n){return function(t,e){return t+=n,[t>Sa?t-ka:-Sa>t?t+ka:t,e]}}function or(n){var t=ir(n);return t.invert=ir(-n),t}function ar(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*r+a*u;return[Math.atan2(c*i-l*o,a*r-s*u),X(l*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*i-c*o;return[Math.atan2(c*i+s*o,a*r+l*u),X(l*r-a*u)]},e}function cr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=sr(e,u),i=sr(e,i),(o>0?i>u:u>i)&&(u+=o*ka)):(u=n+o*ka,i=n-.5*c);for(var s,l=u;o>0?l>i:i>l;l-=c)a.point((s=ve([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],s[1])}}function sr(n,t){var e=se(t);e[0]-=n,pe(e);var r=V(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Aa)%(2*Math.PI)}function lr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function fr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function hr(n){return n.source}function gr(n){return n.target}function pr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),s=u*Math.sin(n),l=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(J(r-t)+u*o*J(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*l,u=e*s+t*f,o=e*i+t*a;return[Math.atan2(u,r)*La,Math.atan2(o,Math.sqrt(r*r+u*u))*La]}:function(){return[n*La,t*La]};return p.distance=h,p}function vr(){function n(n,u){var i=Math.sin(u*=Na),o=Math.cos(u),a=oa((n*=Na)-t),c=Math.cos(a);Uc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;jc.point=function(u,i){t=u*Na,e=Math.sin(i*=Na),r=Math.cos(i),jc.point=n},jc.lineEnd=function(){jc.point=jc.lineEnd=g}}function dr(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function mr(n,t){function e(n,t){var e=oa(oa(t)-Ea)<Aa?0:o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Sa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=I(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ea]},e):xr}function yr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return oa(u)<Aa?er:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-I(u)*Math.sqrt(n*n+e*e)]},e)}function xr(n,t){return[n,Math.log(Math.tan(Sa/4+t/2))]}function Mr(n){var t,e=Qe(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Sa*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function _r(n,t){return[Math.log(Math.tan(Sa/4+t/2)),-n]}function br(n){return n[0]}function wr(n){return n[1]}function Sr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&Z(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function kr(n,t){return n[0]-t[0]||n[1]-t[1]}function Er(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Ar(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],s=e[1],l=t[1]-c,f=r[1]-s,h=(a*(c-s)-f*(u-i))/(f*o-a*l);return[u+h*o,c+h*l]}function Cr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Nr(){Jr(this),this.edge=this.site=this.circle=null}function Lr(n){var t=Jc.pop()||new Nr;return t.site=n,t}function Tr(n){Or(n),$c.remove(n),Jc.push(n),Jr(n)}function qr(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Tr(n);for(var c=i;c.circle&&oa(e-c.circle.x)<Aa&&oa(r-c.circle.cy)<Aa;)i=c.P,a.unshift(c),Tr(c),c=i;a.unshift(c),Or(c);for(var s=o;s.circle&&oa(e-s.circle.x)<Aa&&oa(r-s.circle.cy)<Aa;)o=s.N,a.push(s),Tr(s),s=o;a.push(s),Or(s);var l,f=a.length;for(l=1;f>l;++l)s=a[l],c=a[l-1],$r(s.edge,c.site,s.site,u);c=a[0],s=a[f-1],s.edge=Vr(c.site,s.site,null,u),Fr(c),Fr(s)}function zr(n){for(var t,e,r,u,i=n.x,o=n.y,a=$c._;a;)if(r=Rr(a,o)-i,r>Aa)a=a.L;else{if(u=i-Dr(a,o),!(u>Aa)){r>-Aa?(t=a.P,e=a):u>-Aa?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Lr(n);if($c.insert(t,c),t||e){if(t===e)return Or(t),e=Lr(t.site),$c.insert(c,e),c.edge=e.edge=Vr(t.site,c.site),Fr(t),Fr(e),void 0;if(!e)return c.edge=Vr(t.site,c.site),void 0;Or(t),Or(e);var s=t.site,l=s.x,f=s.y,h=n.x-l,g=n.y-f,p=e.site,v=p.x-l,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+l,y:(h*x-v*y)/m+f};$r(e.edge,s,p,M),c.edge=Vr(s,n,null,M),e.edge=Vr(n,p,null,M),Fr(t),Fr(e)}}function Rr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,s=c-t;if(!s)return a;var l=a-r,f=1/i-1/s,h=l/s;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*s)-c+s/2+u-i/2)))/f+r:(r+a)/2}function Dr(n,t){var e=n.N;if(e)return Rr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Pr(n){this.site=n,this.edges=[]}function Ur(n){for(var t,e,r,u,i,o,a,c,s,l,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Xc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)l=a[o].end(),r=l.x,u=l.y,s=a[++o%c].start(),t=s.x,e=s.y,(oa(r-t)>Aa||oa(u-e)>Aa)&&(a.splice(o,0,new Br(Xr(i.site,l,oa(r-f)<Aa&&p-u>Aa?{x:f,y:oa(t-f)<Aa?e:p}:oa(u-p)<Aa&&h-r>Aa?{x:oa(e-p)<Aa?t:h,y:p}:oa(r-h)<Aa&&u-g>Aa?{x:h,y:oa(t-h)<Aa?e:g}:oa(u-g)<Aa&&r-f>Aa?{x:oa(e-g)<Aa?t:f,y:g}:null),i.site,null)),++c)}function jr(n,t){return t.angle-n.angle}function Hr(){Jr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Fr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,s=r.y-a,l=i.x-o,f=i.y-a,h=2*(c*f-s*l);if(!(h>=-Ca)){var g=c*c+s*s,p=l*l+f*f,v=(f*g-s*p)/h,d=(c*p-l*g)/h,f=d+a,m=Gc.pop()||new Hr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Wc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Wc.insert(y,m),y||(Bc=m)}}}}function Or(n){var t=n.circle;t&&(t.P||(Bc=t.N),Wc.remove(t),Gc.push(t),Jr(t),n.circle=null)}function Yr(n){for(var t,e=Vc,r=De(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Ir(t,n)||!r(t)||oa(t.a.x-t.b.x)<Aa&&oa(t.a.y-t.b.y)<Aa)&&(t.a=t.b=null,e.splice(u,1))}function Ir(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],s=t[1][1],l=n.l,f=n.r,h=l.x,g=l.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=s)return}else i={x:d,y:c};e={x:d,y:s}}else{if(i){if(i.y<c)return}else i={x:d,y:s};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=s)return}else i={x:(c-u)/r,y:c};e={x:(s-u)/r,y:s}}else{if(i){if(i.y<c)return}else i={x:(s-u)/r,y:s};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Zr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Vr(n,t,e,r){var u=new Zr(n,t);return Vc.push(u),e&&$r(u,n,t,e),r&&$r(u,t,n,r),Xc[n.i].edges.push(new Br(u,n,t)),Xc[t.i].edges.push(new Br(u,t,n)),u}function Xr(n,t,e){var r=new Zr(n,null);return r.a=t,r.b=e,Vc.push(r),r}function $r(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Br(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function Wr(){this._=null}function Jr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Gr(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Kr(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Qr(n){for(;n.L;)n=n.L;return n}function nu(n,t){var e,r,u,i=n.sort(tu).pop();for(Vc=[],Xc=new Array(n.length),$c=new Wr,Wc=new Wr;;)if(u=Bc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Xc[i.i]=new Pr(i),zr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;qr(u.arc)}t&&(Yr(t),Ur(t));var o={cells:Xc,edges:Vc};return $c=Wc=Vc=Xc=null,o}function tu(n,t){return t.y-n.y||t.x-n.x}function eu(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function ru(n){return n.x}function uu(n){return n.y}function iu(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function ou(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&ou(n,c[0],e,r,o,a),c[1]&&ou(n,c[1],o,r,u,a),c[2]&&ou(n,c[2],e,a,o,i),c[3]&&ou(n,c[3],o,a,u,i)}}function au(n,t){n=Xo.rgb(n),t=Xo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+vt(Math.round(e+i*n))+vt(Math.round(r+o*n))+vt(Math.round(u+a*n))}}function cu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=fu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function su(n,t){return t-=n=+n,function(e){return n+t*e}}function lu(n,t){var e,r,u,i,o,a=0,c=0,s=[],l=[];for(n+="",t+="",Qc.lastIndex=0,r=0;e=Qc.exec(t);++r)e.index&&s.push(t.substring(a,c=e.index)),l.push({i:s.length,x:e[0]}),s.push(null),a=Qc.lastIndex;for(a<t.length&&s.push(t.substring(a)),r=0,i=l.length;(e=Qc.exec(n))&&i>r;++r)if(o=l[r],o.x==e[0]){if(o.i)if(null==s[o.i+1])for(s[o.i-1]+=o.x,s.splice(o.i,1),u=r+1;i>u;++u)l[u].i--;else for(s[o.i-1]+=o.x+s[o.i+1],s.splice(o.i,2),u=r+1;i>u;++u)l[u].i-=2;else if(null==s[o.i+1])s[o.i]=o.x;else for(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1),u=r+1;i>u;++u)l[u].i--;l.splice(r,1),i--,r--}else o.x=su(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=l.pop(),null==s[o.i+1]?s[o.i]=o.x:(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1)),i--;return 1===s.length?null==s[0]?(o=l[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)s[(o=l[r]).i]=o.x(n);return s.join("")}}function fu(n,t){for(var e,r=Xo.interpolators.length;--r>=0&&!(e=Xo.interpolators[r](n,t)););return e}function hu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(fu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function gu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function pu(n){return function(t){return 1-n(1-t)}}function vu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function du(n){return n*n}function mu(n){return n*n*n}function yu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function xu(n){return function(t){return Math.pow(t,n)}}function Mu(n){return 1-Math.cos(n*Ea)}function _u(n){return Math.pow(2,10*(n-1))}function bu(n){return 1-Math.sqrt(1-n*n)}function wu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/ka*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*ka/t)}}function Su(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function ku(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Eu(n,t){n=Xo.hcl(n),t=Xo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return rt(e+i*n,r+o*n,u+a*n)+""}}function Au(n,t){n=Xo.hsl(n),t=Xo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return nt(e+i*n,r+o*n,u+a*n)+""}}function Cu(n,t){n=Xo.lab(n),t=Xo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ot(e+i*n,r+o*n,u+a*n)+""}}function Nu(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Lu(n){var t=[n.a,n.b],e=[n.c,n.d],r=qu(t),u=Tu(t,e),i=qu(zu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*La,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*La:0}function Tu(n,t){return n[0]*t[0]+n[1]*t[1]}function qu(n){var t=Math.sqrt(Tu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function zu(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ru(n,t){var e,r=[],u=[],i=Xo.transform(n),o=Xo.transform(t),a=i.translate,c=o.translate,s=i.rotate,l=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:su(a[0],c[0])},{i:3,x:su(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),s!=l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:su(s,l)})):l&&r.push(r.pop()+"rotate("+l+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:su(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:su(g[0],p[0])},{i:e-2,x:su(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Du(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return(e-n)*t}}function Pu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return Math.max(0,Math.min(1,(e-n)*t))}}function Uu(n){for(var t=n.source,e=n.target,r=Hu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function ju(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Hu(n,t){if(n===t)return n;for(var e=ju(n),r=ju(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Fu(n){n.fixed|=2}function Ou(n){n.fixed&=-7}function Yu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Iu(n){n.fixed&=-5}function Zu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Zu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var s=t*e[n.point.index];n.charge+=n.pointCharge=s,r+=s*n.point.x,u+=s*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Vu(n,t){return Xo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=Wu,n}function Xu(n){return n.children}function $u(n){return n.value}function Bu(n,t){return t.value-n.value}function Wu(n){return Xo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function Ju(n){return n.x}function Gu(n){return n.y}function Ku(n,t,e){n.y0=t,n.y=e}function Qu(n){return Xo.range(n.length)}function ni(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ti(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function ei(n){return n.reduce(ri,0)}function ri(n,t){return n+t[1]}function ui(n,t){return ii(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function ii(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function oi(n){return[Xo.min(n),Xo.max(n)]}function ai(n,t){return n.parent==t.parent?1:2}function ci(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function si(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function li(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i<u;)t(r=li(e[i],t),n)>0&&(n=r);return n}function fi(n,t){return n.x-t.x}function hi(n,t){return t.x-n.x}function gi(n,t){return n.depth-t.depth}function pi(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c<o;)i=u[c],e(i,a),a=i;t(n,r)}e(n,null)}function vi(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function di(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function mi(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function yi(n,t){return n.value-t.value}function xi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Mi(n,t){n._pack_next=t,t._pack_prev=n}function _i(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function bi(n){function t(n){l=Math.min(n.x-n.r,l),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(s=e.length)){var e,r,u,i,o,a,c,s,l=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,t(r),s>1&&(u=e[1],u.x=u.r,u.y=0,t(u),s>2))for(i=e[2],Ei(r,u,i),t(i),xi(r,i),r._pack_prev=i,xi(i,u),u=r._pack_next,o=3;s>o;o++){Ei(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(_i(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!_i(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?Mi(r,u=a):Mi(r=c,u),o--):(xi(r,i),u=i,t(i))}var m=(l+f)/2,y=(h+g)/2,x=0;for(o=0;s>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Si)}}function wi(n){n._pack_next=n._pack_prev=n}function Si(n){delete n._pack_next,delete n._pack_prev}function ki(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)ki(u[i],t,e,r)}function Ei(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+s*i,e.y=n.y+c*i-s*u}else e.x=n.x+r,e.y=n.y}function Ai(n){return 1+Xo.max(n,function(n){return n.y})}function Ci(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Ni(n){var t=n.children;return t&&t.length?Ni(t[0]):n}function Li(n){var t,e=n.children;return e&&(t=e.length)?Li(e[t-1]):n}function Ti(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function qi(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function zi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ri(n){return n.rangeExtent?n.rangeExtent():zi(n.range())}function Di(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Pi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Ui(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ls}function ji(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Xo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Hi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?ji:Di,c=r?Pu:Du;return o=u(n,t,c,e),a=u(t,n,c,fu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Nu)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Ii(n,t)},i.tickFormat=function(t,e){return Zi(n,t,e)},i.nice=function(t){return Oi(n,t),u()},i.copy=function(){return Hi(n,t,e,r)},u()}function Fi(n,t){return Xo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Oi(n,t){return Pi(n,Ui(Yi(n,t)[2]))}function Yi(n,t){null==t&&(t=10);var e=zi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Ii(n,t){return Xo.range.apply(Xo,Yi(n,t))}function Zi(n,t,e){var r=Yi(n,t);return Xo.format(e?e.replace(Qa,function(n,t,e,u,i,o,a,c,s,l){return[t,e,u,i,o,a,c,s||"."+Xi(l,r),l].join("")}):",."+Vi(r[2])+"f")}function Vi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Xi(n,t){var e=Vi(t[2]);return n in fs?Math.abs(e-Vi(Math.max(Math.abs(t[0]),Math.abs(t[1]))))+ +("e"!==n):e-2*("%"===n)}function $i(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Pi(r.map(u),e?Math:gs);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=zi(r),o=[],a=n[0],c=n[1],s=Math.floor(u(a)),l=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(l-s)){if(e){for(;l>s;s++)for(var h=1;f>h;h++)o.push(i(s)*h);o.push(i(s))}else for(o.push(i(s));s++<l;)for(var h=f-1;h>0;h--)o.push(i(s)*h);for(s=0;o[s]<a;s++);for(l=o.length;o[l-1]>c;l--);o=o.slice(s,l)}return o},o.tickFormat=function(n,t){if(!arguments.length)return hs;arguments.length<2?t=hs:"function"!=typeof t&&(t=Xo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return $i(n.copy(),t,e,r)},Fi(o,n)}function Bi(n,t,e){function r(t){return n(u(t))}var u=Wi(t),i=Wi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Ii(e,n)},r.tickFormat=function(n,t){return Zi(e,n,t)},r.nice=function(n){return r.domain(Oi(e,n))},r.exponent=function(o){return arguments.length?(u=Wi(t=o),i=Wi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Bi(n.copy(),t,e)},Fi(r,n)}function Wi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ji(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return Xo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++a<c;)i.has(o=r[a])||i.set(o,n.push(o));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(o=n,a=0,t={t:"range",a:arguments},e):o},e.rangePoints=function(u,i){arguments.length<2&&(i=0);var c=u[0],s=u[1],l=(s-c)/(Math.max(1,n.length-1)+i);return o=r(n.length<2?(c+s)/2:c+l*i/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=(f-l)/(n.length-i+2*c);return o=r(l+h*c,h),s&&o.reverse(),a=h*(1-i),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=Math.floor((f-l)/(n.length-i+2*c)),g=f-l-(n.length-i)*h;return o=r(l+Math.round(g/2),h),s&&o.reverse(),a=Math.round(h*(1-i)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return zi(t.a[0])},e.copy=function(){return Ji(n,t)},e.domain(n)}function Gi(n,t){function e(){var e=0,i=t.length;for(u=[];++e<i;)u[e-1]=Xo.quantile(n,e/i);return r}function r(n){return isNaN(n=+n)?void 0:t[Xo.bisect(u,n)]}var u;return r.domain=function(t){return arguments.length?(n=t.filter(function(n){return!isNaN(n)}).sort(Xo.ascending),e()):n},r.range=function(n){return arguments.length?(t=n,e()):t},r.quantiles=function(){return u},r.invertExtent=function(e){return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?u[e-1]:n[0],e<u.length?u[e]:n[n.length-1]]},r.copy=function(){return Gi(n,t)},e()}function Ki(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return Ki(n,t,e)},u()}function Qi(n,t){function e(e){return e>=e?t[Xo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return Qi(n,t)},e}function no(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Ii(n,t)},t.tickFormat=function(t,e){return Zi(n,t,e)},t.copy=function(){return no(n)},t}function to(n){return n.innerRadius}function eo(n){return n.outerRadius}function ro(n){return n.startAngle}function uo(n){return n.endAngle}function io(n){function t(t){function o(){s.push("M",i(n(l),a))}for(var c,s=[],l=[],f=-1,h=t.length,g=_t(e),p=_t(r);++f<h;)u.call(this,c=t[f],f)?l.push([+g.call(this,c,f),+p.call(this,c,f)]):l.length&&(o(),l=[]);return l.length&&o(),s.length?s.join(""):null}var e=br,r=wr,u=be,i=oo,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=Ms.get(n)||oo).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function oo(n){return n.join("L")}function ao(n){return oo(n)+"Z"}function co(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function lo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function fo(n,t){return n.length<4?oo(n):n[1]+po(n.slice(1,n.length-1),vo(n,t))}function ho(n,t){return n.length<3?oo(n):n[0]+po((n.push(n[0]),n),vo([n[n.length-2]].concat(n,[n[1]]),t))}function go(n,t){return n.length<3?oo(n):n[0]+po(n,vo(n,t))}function po(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return oo(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var s=2;s<t.length;s++,c++)i=n[c],a=t[s],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var l=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+l[0]+","+l[1]}return r}function vo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function mo(n){if(n.length<3)return oo(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",_o(ws,o),",",_o(ws,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),bo(c,o,a);return n.pop(),c.push("L",r),c.join("")}function yo(n){if(n.length<4)return oo(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(_o(ws,i)+","+_o(ws,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),bo(e,i,o);return e.join("")}function xo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[_o(ws,o),",",_o(ws,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),bo(t,o,a);return t.join("")}function Mo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,s=-1;++s<=e;)r=n[s],u=s/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return mo(n)}function _o(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function bo(n,t,e){n.push("C",_o(_s,t),",",_o(_s,e),",",_o(bs,t),",",_o(bs,e),",",_o(ws,t),",",_o(ws,e))}function wo(n,t){return(t[1]-n[1])/(t[0]-n[0])}function So(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=wo(u,i);++t<e;)r[t]=(o+(o=wo(u=i,i=n[t+1])))/2;return r[t]=o,r}function ko(n){for(var t,e,r,u,i=[],o=So(n),a=-1,c=n.length-1;++a<c;)t=wo(n[a],n[a+1]),oa(t)<Aa?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Eo(n){return n.length<3?oo(n):n[0]+po(n,ko(n))}function Ao(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+ys,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Co(n){function t(t){function c(){v.push("M",a(n(m),f),l,s(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=_t(e),_=_t(u),b=e===r?function(){return g}:_t(r),w=u===i?function(){return p}:_t(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=br,r=br,u=0,i=wr,o=be,a=oo,c=a.key,s=a,l="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=Ms.get(n)||oo).key,s=a.reverse||a,l=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function No(n){return n.radius}function Lo(n){return[n.x,n.y]}function To(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+ys;return[e*Math.cos(r),e*Math.sin(r)]}}function qo(){return 64}function zo(){return"circle"}function Ro(n){var t=Math.sqrt(n/Sa);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Do(n,t){return fa(n,Ns),n.id=t,n}function Po(n,t,e,r){var u=n.id;return R(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Uo(n){return null==n&&(n=""),function(){this.textContent=n}}function jo(n,t,e,r){var i=n.__transition__||(n.__transition__={active:0,count:0}),o=i[e];if(!o){var a=r.time;o=i[e]={tween:new u,time:a,ease:r.ease,delay:r.delay,duration:r.duration},++i.count,Xo.timer(function(r){function u(r){return i.active>e?s():(i.active=e,o.event&&o.event.start.call(n,l,t),o.tween.forEach(function(e,r){(r=r.call(n,l,t))&&v.push(r)}),Xo.timer(function(){return p.c=c(r||1)?be:c,1},0,a),void 0)}function c(r){if(i.active!==e)return s();for(var u=r/g,a=f(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,l,t),s()):void 0}function s(){return--i.count?delete i[e]:delete n.__transition__,1}var l=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=Ja,v=[];return p.t=h+a,r>=h?u(r-h):(p.c=u,void 0)},0,a)}}function Ho(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function Fo(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function Oo(n){return n.toISOString()}function Yo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Xo.bisect(js,u);return i==js.length?[t.year,Yi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/js[i-1]<js[i]/u?i-1:i]:[Os,Yi(n,e)[2]]}return r.invert=function(t){return Io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Io(+e+1),t).length}var i=r.domain(),o=zi(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Pi(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=zi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Yo(n.copy(),t,e)},Fi(r,n)}function Io(n){return new Date(n)}function Zo(n){return JSON.parse(n.responseText)}function Vo(n){var t=Wo.createRange();return t.selectNode(Wo.body),t.createContextualFragment(n.responseText)}var Xo={version:"3.4.3"};Date.now||(Date.now=function(){return+new Date});var $o=[].slice,Bo=function(n){return $o.call(n)},Wo=document,Jo=Wo.documentElement,Go=window;try{Bo(Jo.childNodes)[0].nodeType}catch(Ko){Bo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Wo.createElement("div").style.setProperty("opacity",0,"")}catch(Qo){var na=Go.Element.prototype,ta=na.setAttribute,ea=na.setAttributeNS,ra=Go.CSSStyleDeclaration.prototype,ua=ra.setProperty;na.setAttribute=function(n,t){ta.call(this,n,t+"")},na.setAttributeNS=function(n,t,e){ea.call(this,n,t,e+"")},ra.setProperty=function(n,t,e){ua.call(this,n,t+"",e)}}Xo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},Xo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Xo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Xo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Xo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Xo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i<u;)isNaN(e=+n[i])||(r+=e);else for(;++i<u;)isNaN(e=+t.call(n,n[i],i))||(r+=e);return r},Xo.mean=function(t,e){var r,u=t.length,i=0,o=-1,a=0;if(1===arguments.length)for(;++o<u;)n(r=t[o])&&(i+=(r-i)/++a);else for(;++o<u;)n(r=e.call(t,t[o],o))&&(i+=(r-i)/++a);return a?i:void 0},Xo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Xo.median=function(t,e){return arguments.length>1&&(t=t.map(e)),t=t.filter(n),t.length?Xo.quantile(t.sort(Xo.ascending),.5):void 0},Xo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)<e?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;e<n.call(t,t[i],i)?u=i:r=i+1}return r}}};var ia=Xo.bisector(function(n){return n});Xo.bisectLeft=ia.left,Xo.bisect=Xo.bisectRight=ia.right,Xo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Xo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Xo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Xo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=Xo.min(arguments,t),r=new Array(e);++n<e;)for(var u,i=-1,o=r[n]=new Array(u);++i<u;)o[i]=arguments[i][n];return r},Xo.transpose=function(n){return Xo.zip.apply(Xo,n)},Xo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Xo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Xo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Xo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var oa=Math.abs;Xo.range=function(n,t,r){if(arguments.length<3&&(r=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/r)throw new Error("infinite range");var u,i=[],o=e(oa(r)),a=-1;if(n*=o,t*=o,r*=o,0>r)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)<t;)i.push(u/o);return i},Xo.map=function(n){var t=new u;if(n instanceof u)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t},r(u,{has:i,get:function(n){return this[aa+n]},set:function(n,t){return this[aa+n]=t},remove:o,keys:a,values:function(){var n=[];return this.forEach(function(t,e){n.push(e)}),n},entries:function(){var n=[];return this.forEach(function(t,e){n.push({key:t,value:e})}),n},size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1),this[t])}});var aa="\x00",ca=aa.charCodeAt(0);Xo.nest=function(){function n(t,a,c){if(c>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,l,f,h,g=-1,p=a.length,v=o[c++],d=new u;++g<p;)(h=d.get(s=v(l=a[g])))?h.push(l):d.set(s,[l]);return t?(l=t(),f=function(e,r){l.set(e,n(t,r,c))}):(l={},f=function(e,r){l[e]=n(t,r,c)}),d.forEach(f),l}function t(n,e){if(e>=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(Xo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},Xo.set=function(n){var t=new l;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(l,{has:i,add:function(n){return this[aa+n]=!0,n},remove:function(n){return n=aa+n,n in this&&delete this[n]},values:a,size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1))}}),Xo.behavior={},Xo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=f(n,t,t[e]);return n};var sa=["webkit","ms","moz","Moz","o","O"];Xo.dispatch=function(){for(var n=new p,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=v(n);return n},p.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Xo.event=null,Xo.requote=function(n){return n.replace(la,"\\$&")};var la=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,fa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ha=function(n,t){return t.querySelector(n)},ga=function(n,t){return t.querySelectorAll(n)},pa=Jo[h(Jo,"matchesSelector")],va=function(n,t){return pa.call(n,t)};"function"==typeof Sizzle&&(ha=function(n,t){return Sizzle(n,t)[0]||null},ga=Sizzle,va=Sizzle.matchesSelector),Xo.selection=function(){return xa};var da=Xo.selection.prototype=[];da.select=function(n){var t,e,r,u,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,s=r.length;++c<s;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return x(i)},da.selectAll=function(n){var t,e,r=[];n=_(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Bo(n.call(e,e.__data__,a,u))),t.parentNode=e);return x(r)};var ma={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Xo.ns={prefix:ma,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.substring(0,t),n=n.substring(t+1)),ma.hasOwnProperty(e)?{space:ma[e],local:n}:n}},da.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Xo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(b(t,n[t]));return this}return this.each(b(n,t))},da.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=k(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!S(n[u]).test(t))return!1;return!0}for(t in n)this.each(E(t,n[t]));return this}return this.each(E(n,t))},da.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return Go.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(C(n,t,e))},da.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(N(t,n[t]));return this}return this.each(N(n,t))},da.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},da.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},da.append=function(n){return n=L(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},da.insert=function(n,t){return n=L(n),t=M(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},da.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},da.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new u,y=new u,x=[];for(r=-1;++r<a;)d=t.call(i=n[r],i.__data__,r),m.has(d)?v[r]=i:m.set(d,i),x.push(d);for(r=-1;++r<f;)d=t.call(e,o=e[r],r),(i=m.get(d))?(g[r]=i,i.__data__=o):y.has(d)||(p[r]=T(o)),y.set(d,o),m.remove(d);for(r=-1;++r<a;)m.has(x[r])&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],o=e[r],i?(i.__data__=o,g[r]=i):p[r]=T(o);for(;f>r;++r)p[r]=T(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),s.push(g),l.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(n[o]=i.__data__);return n}var c=D([]),s=x([]),l=x([]);if("function"==typeof n)for(;++o<a;)e(r=this[o],n.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],n);return s.enter=function(){return c},s.exit=function(){return l},s},da.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},da.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return x(u)},da.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},da.sort=function(n){n=z.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},da.each=function(n){return R(this,function(t,e,r){n.call(t,t.__data__,e,r)})},da.call=function(n){var t=Bo(arguments);return n.apply(t[0]=this,t),this},da.empty=function(){return!this.node()},da.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},da.size=function(){var n=0;return this.each(function(){++n}),n};var ya=[];Xo.selection.enter=D,Xo.selection.enter.prototype=ya,ya.append=da.append,ya.empty=da.empty,ya.node=da.node,ya.call=da.call,ya.size=da.size,ya.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var s=-1,l=u.length;++s<l;)(i=u[s])?(t.push(r[s]=e=n.call(u.parentNode,i.__data__,s,a)),e.__data__=i.__data__):t.push(null)}return x(o)},ya.insert=function(n,t){return arguments.length<2&&(t=P(this)),da.insert.call(this,n,t)},da.transition=function(){for(var n,t,e=ks||++Ls,r=[],u=Es||{time:Date.now(),ease:yu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,s=a.length;++c<s;)(t=a[c])&&jo(t,c,e,u),n.push(t)}return Do(r,e)},da.interrupt=function(){return this.each(U)},Xo.select=function(n){var t=["string"==typeof n?ha(n,Wo):n];return t.parentNode=Jo,x([t])},Xo.selectAll=function(n){var t=Bo("string"==typeof n?ga(n,Wo):n);return t.parentNode=Jo,x([t])};var xa=Xo.select(Jo);da.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(j(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(j(n,t,e))};var Ma=Xo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ma.forEach(function(n){"on"+n in Wo&&Ma.remove(n)});var _a="onselectstart"in Wo?null:h(Jo.style,"userSelect"),ba=0;Xo.mouse=function(n){return Y(n,m())};var wa=/WebKit/.test(Go.navigator.userAgent)?-1:0;Xo.touches=function(n,t){return arguments.length<2&&(t=m().touches),t?Bo(t).map(function(t){var e=Y(n,t);return e.identifier=t.identifier,e}):[]},Xo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return Xo.event.changedTouches[0].identifier}function e(n,t){return Xo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(l,g),e=n[0]-v[0],r=n[1]-v[1];d|=e|r,v=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(d&&Xo.event.target===h),f({type:"dragend"})}var c,s=this,l=s.parentNode,f=u.of(s,arguments),h=Xo.event.target,g=n(),p=null==g?"drag":"drag-"+g,v=t(l,g),d=0,m=Xo.select(Go).on(e+"."+p,o).on(r+"."+p,a),y=O();i?(c=i.apply(s,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var u=y(n,"drag","dragstart","dragend"),i=null,o=r(g,Xo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},Xo.rebind(n,u,"on")};var Sa=Math.PI,ka=2*Sa,Ea=Sa/2,Aa=1e-6,Ca=Aa*Aa,Na=Sa/180,La=180/Sa,Ta=Math.SQRT2,qa=2,za=4;Xo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=B(v),o=i/(qa*h)*(e*W(Ta*t+v)-$(v));return[r+o*s,u+o*l,i*e/B(Ta*t+v)]}return[r+n*s,u+n*l,i*Math.exp(Ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],s=o-r,l=a-u,f=s*s+l*l,h=Math.sqrt(f),g=(c*c-i*i+za*f)/(2*i*qa*h),p=(c*c-i*i-za*f)/(2*c*qa*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ta;return e.duration=1e3*y,e},Xo.behavior.zoom=function(){function n(n){n.on(A,s).on(Pa+".zoom",f).on(C,h).on("dblclick.zoom",g).on(L,l)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){_&&_.domain(M.range().map(function(n){return(n-S.x)/S.k}).map(M.invert)),w&&w.domain(b.range().map(function(n){return(n-S.y)/S.k}).map(b.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function s(){function n(){l=1,u(Xo.mouse(r),g),a(i)}function e(){f.on(C,Go===r?h:null).on(N,null),p(l&&Xo.event.target===s),c(i)}var r=this,i=T.of(r,arguments),s=Xo.event.target,l=0,f=Xo.select(Go).on(C,n).on(N,e),g=t(Xo.mouse(r)),p=O();U.call(r),o(i)}function l(){function n(){var n=Xo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=Xo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-x){var s=o[0],l=v[s.identifier];r(2*S.k),u(s,l),d(),a(p)}x=c}else if(o.length>1){var s=o[0],f=o[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function i(){for(var n,t,e,i,o=Xo.touches(g),c=0,s=o.length;s>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var l=(l=e[0]-n[0])*l+(l=e[1]-n[1])*l,f=m&&Math.sqrt(l/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}x=null,u(n,t),a(p)}function f(){if(Xo.event.touches.length){for(var t=Xo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}b.on(M,null).on(_,null),w.on(A,s).on(L,l),k(),c(p)}var h,g=this,p=T.of(g,arguments),v={},m=0,y=Xo.event.changedTouches[0].identifier,M="touchmove.zoom-"+y,_="touchend.zoom-"+y,b=Xo.select(Go).on(M,i).on(_,f),w=Xo.select(g).on(A,null).on(L,e),k=O();U.call(g),e(),o(p)}function f(){var n=T.of(this,arguments);m?clearTimeout(m):(U.call(this),o(n)),m=setTimeout(function(){m=null,c(n)},50),d();var e=v||Xo.mouse(this);p||(p=t(e)),r(Math.pow(2,.002*Ra())*S.k),u(e,p),a(n)}function h(){p=null}function g(){var n=T.of(this,arguments),e=Xo.mouse(this),i=t(e),s=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Xo.event.shiftKey?Math.ceil(s)-1:Math.floor(s)+1)),u(e,i),a(n),c(n)}var p,v,m,x,M,_,b,w,S={x:0,y:0,k:1},k=[960,500],E=Da,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",L="touchstart.zoom",T=y(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=T.of(this,arguments),t=S;ks?Xo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Xo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Da:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(_=t,M=t.copy(),S={x:0,y:0,k:1},n):_},n.y=function(t){return arguments.length?(w=t,b=t.copy(),S={x:0,y:0,k:1},n):w},Xo.rebind(n,T,"on")};var Ra,Da=[0,1/0],Pa="onwheel"in Wo?(Ra=function(){return-Xo.event.deltaY*(Xo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Wo?(Ra=function(){return Xo.event.wheelDelta},"mousewheel"):(Ra=function(){return-Xo.event.detail},"MozMousePixelScroll");G.prototype.toString=function(){return this.rgb()+""},Xo.hsl=function(n,t,e){return 1===arguments.length?n instanceof Q?K(n.h,n.s,n.l):dt(""+n,mt,K):K(+n,+t,+e)};var Ua=Q.prototype=new G;Ua.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,this.l/n)},Ua.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,n*this.l)},Ua.rgb=function(){return nt(this.h,this.s,this.l)},Xo.hcl=function(n,t,e){return 1===arguments.length?n instanceof et?tt(n.h,n.c,n.l):n instanceof it?at(n.l,n.a,n.b):at((n=yt((n=Xo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):tt(+n,+t,+e)};var ja=et.prototype=new G;ja.brighter=function(n){return tt(this.h,this.c,Math.min(100,this.l+Ha*(arguments.length?n:1)))},ja.darker=function(n){return tt(this.h,this.c,Math.max(0,this.l-Ha*(arguments.length?n:1)))},ja.rgb=function(){return rt(this.h,this.c,this.l).rgb()},Xo.lab=function(n,t,e){return 1===arguments.length?n instanceof it?ut(n.l,n.a,n.b):n instanceof et?rt(n.l,n.c,n.h):yt((n=Xo.rgb(n)).r,n.g,n.b):ut(+n,+t,+e)};var Ha=18,Fa=.95047,Oa=1,Ya=1.08883,Ia=it.prototype=new G;Ia.brighter=function(n){return ut(Math.min(100,this.l+Ha*(arguments.length?n:1)),this.a,this.b)},Ia.darker=function(n){return ut(Math.max(0,this.l-Ha*(arguments.length?n:1)),this.a,this.b)},Ia.rgb=function(){return ot(this.l,this.a,this.b)},Xo.rgb=function(n,t,e){return 1===arguments.length?n instanceof pt?gt(n.r,n.g,n.b):dt(""+n,gt,nt):gt(~~n,~~t,~~e)};var Za=pt.prototype=new G;Za.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),gt(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):gt(u,u,u)},Za.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),gt(~~(n*this.r),~~(n*this.g),~~(n*this.b))},Za.hsl=function(){return mt(this.r,this.g,this.b)},Za.toString=function(){return"#"+vt(this.r)+vt(this.g)+vt(this.b)};var Va=Xo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Va.forEach(function(n,t){Va.set(n,ft(t))}),Xo.functor=_t,Xo.xhr=wt(bt),Xo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=St(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(l>=s)return o;if(u)return u=!1,i;var t=l;if(34===n.charCodeAt(t)){for(var e=t;e++<s;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}l=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++l):10===r&&(u=!0),n.substring(t+1,e).replace(/""/g,'"')}for(;s>l;){var r=n.charCodeAt(l++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(l)&&(++l,++a);else if(r!==c)continue;return n.substring(t,l-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],s=n.length,l=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new l,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Xo.csv=Xo.dsv(",","text/csv"),Xo.tsv=Xo.dsv(" ","text/tab-separated-values");var Xa,$a,Ba,Wa,Ja,Ga=Go[h(Go,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Xo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};$a?$a.n=i:Xa=i,$a=i,Ba||(Wa=clearTimeout(Wa),Ba=1,Ga(Et))},Xo.timer.flush=function(){At(),Ct()},Xo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var Ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Lt);Xo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Xo.round(n,Nt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),Ka[8+e/3]};var Qa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,nc=Xo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Xo.round(n,Nt(n,t))).toFixed(Math.max(0,Math.min(20,Nt(n*(1+1e-15),t))))}}),tc=Xo.time={},ec=Date;zt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){rc.setUTCDate.apply(this._,arguments)},setDay:function(){rc.setUTCDay.apply(this._,arguments)},setFullYear:function(){rc.setUTCFullYear.apply(this._,arguments)},setHours:function(){rc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){rc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){rc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){rc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){rc.setUTCSeconds.apply(this._,arguments)},setTime:function(){rc.setTime.apply(this._,arguments)}};var rc=Date.prototype;tc.year=Rt(function(n){return n=tc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),tc.years=tc.year.range,tc.years.utc=tc.year.utc.range,tc.day=Rt(function(n){var t=new ec(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),tc.days=tc.day.range,tc.days.utc=tc.day.utc.range,tc.dayOfYear=function(n){var t=tc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=tc[n]=Rt(function(n){return(n=tc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});tc[n+"s"]=e.range,tc[n+"s"].utc=e.utc.range,tc[n+"OfYear"]=function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)}}),tc.week=tc.sunday,tc.weeks=tc.sunday.range,tc.weeks.utc=tc.sunday.utc.range,tc.weekOfYear=tc.sundayOfYear;var uc={"-":"",_:" ",0:"0"},ic=/^\s*\d+/,oc=/^%/;Xo.locale=function(n){return{numberFormat:Tt(n),timeFormat:Pt(n)}};var ac=Xo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Xo.format=ac.numberFormat,Xo.geo={},re.prototype={s:0,t:0,add:function(n){ue(n,this.t,cc),ue(cc.s,this.s,this),this.s?this.t+=cc.t:this.s=cc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cc=new re;Xo.geo.stream=function(n,t){n&&sc.hasOwnProperty(n.type)?sc[n.type](n,t):ie(n,t)};var sc={Feature:function(n,t){ie(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)ie(e[r].geometry,t)}},lc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){oe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)oe(e[r],t,0)},Polygon:function(n,t){ae(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ae(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)ie(e[r],t)}};Xo.geo.area=function(n){return fc=0,Xo.geo.stream(n,gc),fc};var fc,hc=new re,gc={sphere:function(){fc+=4*Sa},point:g,lineStart:g,lineEnd:g,polygonStart:function(){hc.reset(),gc.lineStart=ce},polygonEnd:function(){var n=2*hc;fc+=0>n?4*Sa+n:n,gc.lineStart=gc.lineEnd=gc.point=g}};Xo.geo.bounds=function(){function n(n,t){x.push(M=[l=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=se([t*Na,e*Na]);if(m){var u=fe(m,r),i=[u[1],-u[0],0],o=fe(i,u);pe(o),o=ve(o);var c=t-p,s=c>0?1:-1,v=o[0]*La*s,d=oa(c)>180;if(d^(v>s*p&&s*t>v)){var y=o[1]*La;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>s*p&&s*t>v)){var y=-o[1]*La;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t):h>=l?(l>t&&(l=t),t>h&&(h=t)):t>p?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=l,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=oa(r)>180?r+(r>0?360:-360):r}else v=n,d=e;gc.point(n,e),t(n,e)}function i(){gc.lineStart()}function o(){u(v,d),gc.lineEnd(),oa(y)>Aa&&(l=-(h=180)),M[0]=l,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function s(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var l,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,gc.polygonStart()},polygonEnd:function(){gc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>hc?(l=-(h=180),f=-(g=90)):y>Aa?g=90:-Aa>y&&(f=-90),M[0]=l,M[1]=h}};return function(n){g=h=-(l=f=1/0),x=[],Xo.geo.stream(n,_);var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],s(e[0],u)||s(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,l=e[0],h=u[1])}return x=M=null,1/0===l||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[l,f],[h,g]]}}(),Xo.geo.centroid=function(n){pc=vc=dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,kc);var t=bc,e=wc,r=Sc,u=t*t+e*e+r*r;return Ca>u&&(t=xc,e=Mc,r=_c,Aa>vc&&(t=dc,e=mc,r=yc),u=t*t+e*e+r*r,Ca>u)?[0/0,0/0]:[Math.atan2(e,t)*La,X(r/Math.sqrt(u))*La]};var pc,vc,dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc={sphere:g,point:me,lineStart:xe,lineEnd:Me,polygonStart:function(){kc.lineStart=_e},polygonEnd:function(){kc.lineStart=xe}},Ec=Ee(be,Te,ze,[-Sa,-Sa/2]),Ac=1e9;Xo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Pe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Xo.geo.conicEqualArea=function(){return je(They)}).raw=They,Xo.geo.albers=function(){return Xo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Xo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Xo.geo.albers(),o=Xo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Xo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var s=i.scale(),l=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[l-.455*s,f-.238*s],[l+.455*s,f+.238*s]]).stream(c).point,r=o.translate([l-.307*s,f+.201*s]).clipExtent([[l-.425*s+Aa,f+.12*s+Aa],[l-.214*s-Aa,f+.234*s-Aa]]).stream(c).point,u=a.translate([l-.205*s,f+.212*s]).clipExtent([[l-.214*s+Aa,f+.166*s+Aa],[l-.115*s-Aa,f+.234*s-Aa]]).stream(c).point,n},n.scale(1070)};var Cc,Nc,Lc,Tc,qc,zc,Rc={point:g,lineStart:g,lineEnd:g,polygonStart:function(){Nc=0,Rc.lineStart=Fe},polygonEnd:function(){Rc.lineStart=Rc.lineEnd=Rc.point=g,Cc+=oa(Nc/2)}},Dc={point:Oe,lineStart:g,lineEnd:g,polygonStart:g,polygonEnd:g},Pc={point:Ze,lineStart:Ve,lineEnd:Xe,polygonStart:function(){Pc.lineStart=$e},polygonEnd:function(){Pc.point=Ze,Pc.lineStart=Ve,Pc.lineEnd=Xe}};Xo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Xo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Cc=0,Xo.geo.stream(n,u(Rc)),Cc},n.centroid=function(n){return dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,u(Pc)),Sc?[bc/Sc,wc/Sc]:_c?[xc/_c,Mc/_c]:yc?[dc/yc,mc/yc]:[0/0,0/0]},n.bounds=function(n){return qc=zc=-(Lc=Tc=1/0),Xo.geo.stream(n,u(Dc)),[[Lc,Tc],[qc,zc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Je(n):bt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Ye:new Be(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Xo.geo.albersUsa()).context(null)},Xo.geo.transform=function(n){return{stream:function(t){var e=new Ge(t);for(var r in n)e[r]=n[r];return e}}},Ge.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Xo.geo.projection=Qe,Xo.geo.projectionMutator=nr,(Xo.geo.equirectangular=function(){return Qe(er)}).raw=er.invert=er,Xo.geo.rotation=function(n){function t(t){return t=n(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t}return n=ur(n[0]%360*Na,n[1]*Na,n.length>2?n[2]*Na:0),t.invert=function(t){return t=n.invert(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t},t},rr.invert=er,Xo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=ur(-n[0]*Na,-n[1]*Na,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=La,n[1]*=La}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=cr((t=+r)*Na,u*Na),n):t},n.precision=function(r){return arguments.length?(e=cr(t*Na,(u=+r)*Na),n):u},n.angle(90)},Xo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Na,u=n[1]*Na,i=t[1]*Na,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),s=Math.cos(u),l=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=s*l-c*f*a)*e),c*l+s*f*a)},Xo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Xo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Xo.range(Math.ceil(s/m)*m,c,m).map(g)).concat(Xo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return oa(n%d)>Aa}).map(l)).concat(Xo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return oa(n%m)>Aa}).map(f))}var e,r,u,i,o,a,c,s,l,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(s).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],s=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),s>c&&(t=s,s=c,c=t),n.precision(y)):[[i,s],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,l=lr(a,o,90),f=fr(r,e,y),h=lr(s,c,90),g=fr(i,u,y),n):y},n.majorExtent([[-180,-90+Aa],[180,90-Aa]]).minorExtent([[-180,-80-Aa],[180,80+Aa]])},Xo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=hr,u=gr;return n.distance=function(){return Xo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Xo.geo.interpolate=function(n,t){return pr(n[0]*Na,n[1]*Na,t[0]*Na,t[1]*Na)},Xo.geo.length=function(n){return Uc=0,Xo.geo.stream(n,jc),Uc};var Uc,jc={sphere:g,point:g,lineStart:vr,lineEnd:g,polygonStart:g,polygonEnd:g},Hc=dr(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Xo.geo.azimuthalEqualArea=function(){return Qe(Hc)}).raw=Hc;var Fc=dr(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},bt);(Xo.geo.azimuthalEquidistant=function(){return Qe(Fc)}).raw=Fc,(Xo.geo.conicConformal=function(){return je(mr)}).raw=mr,(Xo.geo.conicEquidistant=function(){return je(yr)}).raw=yr;var Oc=dr(function(n){return 1/n},Math.atan);(Xo.geo.gnomonic=function(){return Qe(Oc)}).raw=Oc,xr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ea]},(Xo.geo.mercator=function(){return Mr(xr)}).raw=xr;var Yc=dr(function(){return 1},Math.asin);(Xo.geo.orthographic=function(){return Qe(Yc)}).raw=Yc;var Ic=dr(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Xo.geo.stereographic=function(){return Qe(Ic)}).raw=Ic,_r.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ea]},(Xo.geo.transverseMercator=function(){var n=Mr(_r),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[-n[1],n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},n.rotate([0,0])}).raw=_r,Xo.geom={},Xo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=_t(e),i=_t(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(kr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var s=Sr(a),l=Sr(c),f=l[0]===s[0],h=l[l.length-1]===s[s.length-1],g=[];for(t=s.length-1;t>=0;--t)g.push(n[a[s[t]][2]]);for(t=+f;t<l.length-h;++t)g.push(n[a[l[t]][2]]);return g}var e=br,r=wr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Xo.geom.polygon=function(n){return fa(n,Zc),n};var Zc=Xo.geom.polygon.prototype=[];Zc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Zc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Zc.clip=function(n){for(var t,e,r,u,i,o,a=Cr(n),c=-1,s=this.length-Cr(this),l=this[s-1];++c<s;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Er(o,l,u)?(Er(i,l,u)||n.push(Ar(i,o,l,u)),n.push(o)):Er(i,l,u)&&n.push(Ar(i,o,l,u)),i=o;a&&n.push(n[0]),l=u}return n};var Vc,Xc,$c,Bc,Wc,Jc=[],Gc=[];Pr.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(jr),t.length},Br.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Wr.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=Qr(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(Gr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Kr(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(Kr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Gr(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?Qr(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,Gr(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Kr(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,Gr(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,Kr(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Gr(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,Kr(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Xo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return nu(e(n),a).cells.forEach(function(e,a){var c=e.edges,s=e.site,l=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):s.x>=r&&s.x<=i&&s.y>=u&&s.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];l.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Aa)*Aa,y:Math.round(o(n,t)/Aa)*Aa,i:t}})}var r=br,u=wr,i=r,o=u,a=Kc;return n?t(n):(t.links=function(n){return nu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return nu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(jr),c=-1,s=a.length,l=a[s-1].edge,f=l.l===o?l.r:l.l;++c<s;)u=l,i=f,l=a[c].edge,f=l.l===o?l.r:l.l,r<i.i&&r<f.i&&eu(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=_t(r=n),t):r},t.y=function(n){return arguments.length?(o=_t(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?Kc:n,t):a===Kc?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===Kc?null:a&&a[1]},t)};var Kc=[[-1e6,-1e6],[1e6,1e6]];Xo.geom.delaunay=function(n){return Xo.geom.voronoi().triangles(n)},Xo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,l=n.y;if(null!=c)if(oa(c-e)+oa(l-r)<.01)s(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,s(n,f,c,l,u,i,o,a),s(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else s(n,t,e,r,u,i,o,a)}function s(n,t,e,r,u,o,a,c){var s=.5*(u+a),l=.5*(o+c),f=e>=s,h=r>=l,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=iu()),f?u=s:a=s,h?o=l:c=l,i(n,t,e,r,u,o,a,c)}var l,f,h,g,p,v,d,m,y,x=_t(a),M=_t(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)l=n[g],l.x<v&&(v=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>y&&(y=l.y),f.push(l.x),h.push(l.y);else for(g=0;p>g;++g){var _=+x(l=n[g],g),b=+M(l,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=iu();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){ou(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=l=null,k}var o,a=br,c=wr;return(o=arguments.length)?(a=ru,c=uu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Xo.interpolateRgb=au,Xo.interpolateObject=cu,Xo.interpolateNumber=su,Xo.interpolateString=lu;var Qc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;Xo.interpolate=fu,Xo.interpolators=[function(n,t){var e=typeof t;return("string"===e?Va.has(t)||/^(#|rgb\(|hsl\()/.test(t)?au:lu:t instanceof G?au:"object"===e?Array.isArray(t)?hu:cu:su)(n,t)}],Xo.interpolateArray=hu;var ns=function(){return bt},ts=Xo.map({linear:ns,poly:xu,quad:function(){return du},cubic:function(){return mu},sin:function(){return Mu},exp:function(){return _u},circle:function(){return bu},elastic:wu,back:Su,bounce:function(){return ku}}),es=Xo.map({"in":bt,out:pu,"in-out":vu,"out-in":function(n){return vu(pu(n))}});Xo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=ts.get(e)||ns,r=es.get(r)||bt,gu(r(e.apply(null,$o.call(arguments,1))))},Xo.interpolateHcl=Eu,Xo.interpolateHsl=Au,Xo.interpolateLab=Cu,Xo.interpolateRound=Nu,Xo.transform=function(n){var t=Wo.createElementNS(Xo.ns.prefix.svg,"g");return(Xo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Lu(e?e.matrix:rs)})(n)},Lu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var rs={a:1,b:0,c:0,d:1,e:0,f:0};Xo.interpolateTransform=Ru,Xo.layout={},Xo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Uu(n[e]));return t}},Xo.layout.chord=function(){function n(){var n,s,f,h,g,p={},v=[],d=Xo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(s=0,g=-1;++g<i;)s+=u[h][g];v.push(s),m.push(Xo.range(i)),n+=s}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(ka-l*i)/n,s=0,h=-1;++h<i;){for(f=s,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=s,b=s+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:s,value:(s-f)/n},s+=l}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,s={},l=0;return s.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,s):u},s.padding=function(n){return arguments.length?(l=n,e=r=null,s):l},s.sortGroups=function(n){return arguments.length?(o=n,e=r=null,s):o},s.sortSubgroups=function(n){return arguments.length?(a=n,e=null,s):a},s.sortChords=function(n){return arguments.length?(c=n,e&&t(),s):c},s.chords=function(){return e||n(),e},s.groups=function(){return r||n(),r},s},Xo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var s=t.charge/c;n.px-=i*s,n.py-=o*s}return!0}if(t.point&&c&&p>c){var s=t.pointCharge/c;n.px-=i*s,n.py-=o*s}}return!t.charge}}function t(n){n.px=Xo.event.x,n.py=Xo.event.y,a.resume()}var e,r,u,i,o,a={},c=Xo.dispatch("start","tick","end"),s=[1,1],l=.9,f=us,h=is,g=-30,p=os,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=s[0]/2,M=s[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Zu(t=Xo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*l,a.y-=(a.py-(a.py=a.y))*l);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(s=n,a):s},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(l=+n,a):l},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Xo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,s=o.length;++a<s;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,l=y.length,p=s[0],v=s[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;l>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;l>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;l>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;l>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;l>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Xo.behavior.drag().origin(bt).on("dragstart.force",Fu).on("drag.force",t).on("dragend.force",Ou)),arguments.length?(this.on("mouseover.force",Yu).on("mouseout.force",Iu).call(e),void 0):e},Xo.rebind(a,c,"on")};var us=20,is=1,os=1/0;Xo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(s=c.length)){for(var s,l,f=-1,h=t.children=new Array(s),g=0,p=o+1;++f<s;)l=h[f]=n(c[f],p,a),l.parent=t,g+=l.value;r&&h.sort(r),i&&(t.value=g)}else delete t.children,i&&(t.value=+i.call(e,t,o)||0);return t}function t(n,r){var u=n.children,o=0;if(u&&(a=u.length))for(var a,c=-1,s=r+1;++c<a;)o+=t(u[c],s);else i&&(o=+i.call(e,n,r)||0);return i&&(n.value=o),o}function e(t){var e=[];return n(t,0,e),e}var r=Bu,u=Xu,i=$u;return e.sort=function(n){return arguments.length?(r=n,e):r},e.children=function(n){return arguments.length?(u=n,e):u},e.value=function(n){return arguments.length?(i=n,e):i},e.revalue=function(n){return t(n,0),n},e},Xo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,s=-1;for(r=t.value?r/t.value:0;++s<o;)n(a=i[s],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Xo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Vu(e,r)},Xo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Xo.sum(o),s=Xo.range(i.length);null!=e&&s.sort(e===as?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var l=[];return s.forEach(function(n){var t;l[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),l}var t=Number,e=as,r=0,u=ka;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var as={};Xo.layout.stack=function(){function n(a,c){var s=a.map(function(e,r){return t.call(n,e,r)}),l=s.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,l,c);s=Xo.permute(s,f),l=Xo.permute(l,f);var h,g,p,v=r.call(n,l,c),d=s.length,m=s[0].length;for(g=0;m>g;++g)for(u.call(n,s[0][g],p=v[g],l[0][g][1]),h=1;d>h;++h)u.call(n,s[h][g],p+=l[h-1][g][1],l[h][g][1]);return a}var t=bt,e=Qu,r=ni,u=Ku,i=Ju,o=Gu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:cs.get(t)||Qu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:ss.get(t)||ni,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var cs=Xo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ti),i=n.map(ei),o=Xo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,s=[],l=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],s.push(e)):(c+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(n){return Xo.range(n.length).reverse()},"default":Qu}),ss=Xo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,s,l=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=s=0,e=1;h>e;++e){for(t=0,u=0;l>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];l>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,s>c&&(s=c)}for(e=0;h>e;++e)g[e]-=s;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ni});Xo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],s=n.map(e,this),l=r.call(this,s,i),f=u.call(this,l,s,i),i=-1,h=s.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=s[i],a>=l[0]&&a<=l[1]&&(o=c[Xo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=oi,u=ui;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=_t(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return ii(n,t)}:_t(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Xo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,s,l=r[0],f=l,h=-1;++h<i;)s=r[h],o(s,a),f=c(s,a,f),a=s;vi(n);var g=.5*(l._tree.prelim+s._tree.prelim);t?(u.prelim=t._tree.prelim+e(n,t),u.mod=u.prelim-g):u.prelim=g}else t&&(u.prelim=t._tree.prelim+e(n,t))}function a(n,t){n.x=n._tree.prelim+t;var e=n.children;if(e&&(r=e.length)){var r,u=-1;for(t+=n._tree.mod;++u<r;)a(e[u],t)}}function c(n,t,r){if(t){for(var u,i=n,o=n,a=t,c=n.parent.children[0],s=i._tree.mod,l=o._tree.mod,f=a._tree.mod,h=c._tree.mod;a=si(a),i=ci(i),a&&i;)c=ci(c),o=si(o),o._tree.ancestor=n,u=a._tree.prelim+f-i._tree.prelim-s+e(a,i),u>0&&(di(mi(a,n,r),n,u),s+=u,l+=u),f+=a._tree.mod,s+=i._tree.mod,h+=c._tree.mod,l+=o._tree.mod;a&&!si(o)&&(o._tree.thread=a,o._tree.mod+=f-l),i&&!ci(c)&&(c._tree.thread=i,c._tree.mod+=s-h,r=n)}return r}var s=t.call(this,n,i),l=s[0];pi(l,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(l),a(l,-l._tree.prelim);var f=li(l,hi),h=li(l,fi),g=li(l,gi),p=f.x-e(f,h)/2,v=h.x+e(h,f)/2,d=g.depth||1;return pi(l,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(v-p)*r[0],n.y=n.depth/d*r[1],delete n._tree}),s}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],s=u[1],l=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,pi(a,function(n){n.r=+l(n.value)}),pi(a,bi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/s))/2;pi(a,function(n){n.r+=f}),pi(a,bi),pi(a,function(n){n.r-=f})}return ki(a,c/2,s/2,t?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var t,e=Xo.layout.hierarchy().sort(yi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Vu(n,e)},Xo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],s=0;pi(c,function(n){var t=n.children;t&&t.length?(n.x=Ci(t),n.y=Ai(t)):(n.x=o?s+=e(n,o):0,n.y=0,o=n)});var l=Ni(c),f=Li(c),h=l.x-e(l,f)/2,g=f.x+e(f,l)/2;return pi(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,s=f(e),l=[],h=i.slice(),p=1/0,v="slice"===g?s.dx:"dice"===g?s.dy:"slice-dice"===g?1&e.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(n(h,s.dx*s.dy/e.value),l.area=0;(c=h.length)>0;)l.push(o=h[c-1]),l.area+=o.area,"squarify"!==g||(a=r(l,v))<=p?(h.pop(),p=a):(l.area-=l.pop().area,u(l,v,s,!1),v=Math.min(s.dx,s.dy),l.length=l.area=0,p=1/0);l.length&&(u(l,v,s,!0),l.length=l.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,s=e.y,l=t?c(n.area/t):0;if(t==e.dx){for((r||l>e.dy)&&(l=e.dy);++i<o;)u=n[i],u.x=a,u.y=s,u.dy=l,a+=u.dx=Math.min(e.x+e.dx-a,l?c(u.area/l):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++i<o;)u=n[i],u.x=a,u.y=s,u.dx=l,s+=u.dy=Math.min(e.y+e.dy-s,l?c(u.area/l):0);u.z=!1,u.dy+=e.y+e.dy-s,e.x+=l,e.dx-=l}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=s[0],i.dy=s[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Xo.layout.hierarchy(),c=Math.round,s=[1,1],l=null,f=Ti,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(s=n,i):s},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ti(t):qi(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return qi(t,n)}if(!arguments.length)return l;var r;return f=null==(l=n)?Ti:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Vu(i,a)},Xo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Xo.random.normal.apply(Xo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Xo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Xo.scale={};var ls={floor:bt,ceil:bt};Xo.scale.linear=function(){return Hi([0,1],[0,1],fu,!1)};var fs={s:1,g:1,p:1,r:1,e:1};Xo.scale.log=function(){return $i(Xo.scale.linear().domain([0,1]),10,!0,[1,10])};var hs=Xo.format(".0e"),gs={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Xo.scale.pow=function(){return Bi(Xo.scale.linear(),1,[0,1])},Xo.scale.sqrt=function(){return Xo.scale.pow().exponent(.5)},Xo.scale.ordinal=function(){return Ji([],{t:"range",a:[[]]})},Xo.scale.category10=function(){return Xo.scale.ordinal().range(ps)},Xo.scale.category20=function(){return Xo.scale.ordinal().range(vs)},Xo.scale.category20b=function(){return Xo.scale.ordinal().range(ds)},Xo.scale.category20c=function(){return Xo.scale.ordinal().range(ms)};var ps=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ht),vs=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ht),ds=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ht),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ht);Xo.scale.quantile=function(){return Gi([],[])},Xo.scale.quantize=function(){return Ki(0,1,[0,1])},Xo.scale.threshold=function(){return Qi([.5],[0,1])},Xo.scale.identity=function(){return no([0,1])},Xo.svg={},Xo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+ys,a=u.apply(this,arguments)+ys,c=(o>a&&(c=o,o=a,a=c),a-o),s=Sa>c?"0":"1",l=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=xs?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+s+",0 "+n*l+","+n*f+"Z":"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=to,e=eo,r=ro,u=uo;return n.innerRadius=function(e){return arguments.length?(t=_t(e),n):t},n.outerRadius=function(t){return arguments.length?(e=_t(t),n):e},n.startAngle=function(t){return arguments.length?(r=_t(t),n):r},n.endAngle=function(t){return arguments.length?(u=_t(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+ys;return[Math.cos(i)*n,Math.sin(i)*n]},n};var ys=-Ea,xs=ka-Aa;Xo.svg.line=function(){return io(bt)};var Ms=Xo.map({linear:oo,"linear-closed":ao,step:co,"step-before":so,"step-after":lo,basis:mo,"basis-open":yo,"basis-closed":xo,bundle:Mo,cardinal:go,"cardinal-open":fo,"cardinal-closed":ho,monotone:Eo});Ms.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var _s=[0,2/3,1/3,0],bs=[0,1/3,2/3,0],ws=[0,1/6,2/3,1/6];Xo.svg.line.radial=function(){var n=io(Ao);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},so.reverse=lo,lo.reverse=so,Xo.svg.area=function(){return Co(bt)},Xo.svg.area.radial=function(){var n=Co(Ao);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Xo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),s=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,s)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,s.r,s.p0)+r(s.r,s.p1,s.a1-s.a0)+u(s.r,s.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+ys,l=s.call(n,u,r)+ys;return{r:i,a0:o,a1:l,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(l),i*Math.sin(l)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Sa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=hr,o=gr,a=No,c=ro,s=uo;return n.radius=function(t){return arguments.length?(a=_t(t),n):a},n.source=function(t){return arguments.length?(i=_t(t),n):i},n.target=function(t){return arguments.length?(o=_t(t),n):o},n.startAngle=function(t){return arguments.length?(c=_t(t),n):c},n.endAngle=function(t){return arguments.length?(s=_t(t),n):s},n},Xo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=hr,e=gr,r=Lo;return n.source=function(e){return arguments.length?(t=_t(e),n):t},n.target=function(t){return arguments.length?(e=_t(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Xo.svg.diagonal.radial=function(){var n=Xo.svg.diagonal(),t=Lo,e=n.projection;return n.projection=function(n){return arguments.length?e(To(t=n)):t},n},Xo.svg.symbol=function(){function n(n,r){return(Ss.get(t.call(this,n,r))||Ro)(e.call(this,n,r))}var t=zo,e=qo;return n.type=function(e){return arguments.length?(t=_t(e),n):t},n.size=function(t){return arguments.length?(e=_t(t),n):e},n};var Ss=Xo.map({circle:Ro,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Cs)),e=t*Cs;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Xo.svg.symbolTypes=Ss.keys();var ks,Es,As=Math.sqrt(3),Cs=Math.tan(30*Na),Ns=[],Ls=0;Ns.call=da.call,Ns.empty=da.empty,Ns.node=da.node,Ns.size=da.size,Xo.transition=function(n){return arguments.length?ks?n.transition():n:xa.transition()},Xo.transition.prototype=Ns,Ns.select=function(n){var t,e,r,u=this.id,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],s=-1,l=c.length;++s<l;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?("__data__"in r&&(e.__data__=r.__data__),jo(e,s,u,r.__transition__[u]),t.push(e)):t.push(null)}return Do(i,u)},Ns.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=_(n);for(var c=-1,s=this.length;++c<s;)for(var l=this[c],f=-1,h=l.length;++f<h;)if(r=l[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&jo(u,g,o,i),t.push(u)}return Do(a,o)},Ns.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Do(u,this.id)},Ns.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):R(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Ns.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Ru:fu,a=Xo.ns.qualify(n);return Po(this,"attr."+n,t,a.local?i:u)},Ns.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Xo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Ns.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Go.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=fu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Po(this,"style."+n,t,u)},Ns.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Go.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Ns.text=function(n){return Po(this,"text",n,Uo)},Ns.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Ns.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Xo.ease.apply(Xo,arguments)),R(this,function(e){e.__transition__[t].ease=n}))},Ns.delay=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Ns.duration=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Ns.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Es,u=ks;ks=e,R(this,function(t,r,u){Es=t.__transition__[e],n.call(t,t.__data__,r,u)}),Es=r,ks=u}else R(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Xo.dispatch("start","end"))).on(n,t)});return this},Ns.transition=function(){for(var n,t,e,r,u=this.id,i=++Ls,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],s=0,l=t.length;l>s;s++)(e=t[s])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,jo(e,s,i,r)),n.push(e)}return Do(o,i)},Xo.svg.axis=function(){function n(n){n.each(function(){var n,s=Xo.select(this),l=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):bt:t,p=s.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Aa),d=Xo.transition(p.exit()).style("opacity",Aa).remove(),m=Xo.transition(p).style("opacity",1),y=Ri(f),x=s.selectAll(".domain").data([0]),M=(x.enter().append("path").attr("class","domain"),Xo.transition(x));v.append("line"),v.append("text");var _=v.select("line"),b=m.select("line"),w=p.select("text").text(g),S=v.select("text"),k=m.select("text");switch(r){case"bottom":n=Ho,_.attr("y2",u),S.attr("y",Math.max(u,0)+o),b.attr("x2",0).attr("y2",u),k.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ho,_.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),b.attr("x2",0).attr("y2",-u),k.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=Fo,_.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),b.attr("x2",-u).attr("y2",0),k.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),M.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=Fo,_.attr("x2",u),S.attr("x",Math.max(u,0)+o),b.attr("x2",u).attr("y2",0),k.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),M.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var E=f,A=E.rangeBand()/2;l=f=function(n){return E(n)+A}}else l.rangeBand?l=f:d.call(n,f);v.call(n,l),m.call(n,f)})}var t,e=Xo.scale.linear(),r=Ts,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in qs?t+"":Ts,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Ts="bottom",qs={top:1,right:1,bottom:1,left:1};Xo.svg.brush=function(){function n(i){i.each(function(){var i=Xo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,bt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return zs[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,f=Xo.transition(i),h=Xo.transition(o);c&&(l=Ri(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),e(f)),s&&(l=Ri(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+l[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",l[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Xo.event.keyCode&&(C||(x=null,L[0]-=l[1],L[1]-=f[1],C=2),d())}function p(){32==Xo.event.keyCode&&2==C&&(L[0]+=l[1],L[1]+=f[1],C=0,d())}function v(){var n=Xo.mouse(_),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(Xo.event.altKey?(x||(x=[(l[0]+l[1])/2,(f[0]+f[1])/2]),L[0]=l[+(n[0]<x[0])],L[1]=f[+(n[1]<x[1])]):x=null),E&&m(n,c,0)&&(e(S),u=!0),A&&m(n,s,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,a=Ri(t),c=a[0],s=a[1],p=L[e],v=e?f:l,d=v[1]-v[0];return C&&(c-=p,s-=d+p),r=(e?g:h)?Math.max(c,Math.min(s,n[e])):n[e],C?u=(r+=p)+d:(x&&(p=Math.max(c,Math.min(s,2*x[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Xo.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var x,M,_=this,b=Xo.select(Xo.event.target),w=a.of(_,arguments),S=Xo.select(_),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&s,C=b.classed("extent"),N=O(),L=Xo.mouse(_),T=Xo.select(Go).on("keydown.brush",u).on("keyup.brush",p);if(Xo.event.changedTouches?T.on("touchmove.brush",v).on("touchend.brush",y):T.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),C)L[0]=l[0]-L[0],L[1]=f[0]-L[1];else if(k){var q=+/w$/.test(k),z=+/^n/.test(k);M=[l[1-q]-L[0],f[1-z]-L[1]],L[0]=l[q],L[1]=f[z]}else Xo.event.altKey&&(x=L.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Xo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=y(n,"brushstart","brush","brushend"),c=null,s=null,l=[0,0],f=[0,0],h=!0,g=!0,p=Rs[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:l,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,ks?Xo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,l=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=hu(l,t.x),r=hu(f,t.y);return i=o=null,function(u){l=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Rs[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,p=Rs[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(h=!!t[0],g=!!t[1]):c?h=!!t:s&&(g=!!t),n):c&&s?[h,g]:c?h:s?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=l[0]||r!=l[1])&&(l=[e,r])),s&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],s.invert&&(u=s(u),a=s(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=l[0],r=l[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),s&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],s.invert&&(u=s.invert(u),a=s.invert(a)),u>a&&(h=u,u=a,a=h))),c&&s?[[e,u],[r,a]]:c?[e,r]:s&&[u,a])},n.clear=function(){return n.empty()||(l=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&l[0]==l[1]||!!s&&f[0]==f[1]},Xo.rebind(n,a,"on")};var zs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Rs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ds=tc.format=ac.timeFormat,Ps=Ds.utc,Us=Ps("%Y-%m-%dT%H:%M:%S.%LZ");Ds.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Oo:Us,Oo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Oo.toString=Us.toString,tc.second=Rt(function(n){return new ec(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),tc.seconds=tc.second.range,tc.seconds.utc=tc.second.utc.range,tc.minute=Rt(function(n){return new ec(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),tc.minutes=tc.minute.range,tc.minutes.utc=tc.minute.utc.range,tc.hour=Rt(function(n){var t=n.getTimezoneOffset()/60;return new ec(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),tc.hours=tc.hour.range,tc.hours.utc=tc.hour.utc.range,tc.month=Rt(function(n){return n=tc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),tc.months=tc.month.range,tc.months.utc=tc.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Hs=[[tc.second,1],[tc.second,5],[tc.second,15],[tc.second,30],[tc.minute,1],[tc.minute,5],[tc.minute,15],[tc.minute,30],[tc.hour,1],[tc.hour,3],[tc.hour,6],[tc.hour,12],[tc.day,1],[tc.day,2],[tc.week,1],[tc.month,1],[tc.month,3],[tc.year,1]],Fs=Ds.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",be]]),Os={range:function(n,t,e){return Xo.range(Math.ceil(n/e)*e,+t,e).map(Io)},floor:bt,ceil:bt};Hs.year=tc.year,tc.scale=function(){return Yo(Xo.scale.linear(),Hs,Fs)};var Ys=Hs.map(function(n){return[n[0].utc,n[1]]}),Is=Ps.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",be]]);Ys.year=tc.year.utc,tc.scale.utc=function(){return Yo(Xo.scale.linear(),Ys,Is)},Xo.text=wt(function(n){return n.responseText}),Xo.json=function(n,t){return St(n,"application/json",Zo,t)},Xo.html=function(n,t){return St(n,"text/html",Vo,t)},Xo.xml=wt(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Xo):"object"==typeof module&&module.exports?module.exports=Xo:this.d3=Xo}();'use strict';(function(window){window.define=undefined;}).call(this,this);'use strict';tr.exportTo('tr.ui.b',function(){const DataSeriesEnableChangeEventType='data-series-enabled-change';const THIS_DOC=document.currentScript.ownerDocument;const svgNS='http://www.w3.org/2000/svg';const ColorScheme=tr.b.ColorScheme;function getColorOfKey(key,selected){let id=ColorScheme.getColorIdForGeneralPurposeString(key);if(selected){id+=ColorScheme.properties.brightenedOffsets[0];} 7833return ColorScheme.colorsAsStrings[id];} 7834function getSVGTextSize(parentNode,text,opt_callback,opt_this){const textNode=document.createElementNS('http://www.w3.org/2000/svg','text');textNode.setAttributeNS(null,'x',0);textNode.setAttributeNS(null,'y',0);textNode.setAttributeNS(null,'fill','black');textNode.appendChild(document.createTextNode(text));parentNode.appendChild(textNode);if(opt_callback){opt_callback.call(opt_this||parentNode,textNode);} 7835const width=textNode.getComputedTextLength();const height=textNode.getBBox().height;parentNode.removeChild(textNode);return{width,height};} 7836function DataSeries(key){this.key_=key;this.target_=undefined;this.title_='';this.optional_=false;this.enabled_=true;this.color_=getColorOfKey(key,false);this.highlightedColor_=getColorOfKey(key,true);} 7837DataSeries.prototype={get key(){return this.key_;},get title(){return this.title_;},set title(t){this.title_=t;},get color(){return this.color_;},set color(c){this.color_=c;},get highlightedColor(){return this.highlightedColor_;},set highlightedColor(c){this.highlightedColor_=c;},get optional(){return this.optional_;},set optional(optional){this.optional_=optional;},get enabled(){return this.enabled_;},set enabled(enabled){if(!this.optional&&!enabled){this.optional=true;} 7838this.enabled_=enabled;},get target(){return this.target_;},set target(t){this.target_=t;}};const ChartBase=tr.ui.b.define('svg',undefined,svgNS);ChartBase.prototype={__proto__:HTMLUnknownElement.prototype,getDataSeries(key){if(!this.seriesByKey_.has(key)){this.seriesByKey_.set(key,new DataSeries(key));} 7839return this.seriesByKey_.get(key);},decorate(){Polymer.dom(this).classList.add('chart-base');this.chartTitle_=undefined;this.seriesByKey_=new Map();this.graphWidth_=undefined;this.graphHeight_=undefined;this.margin={top:0,right:0,bottom:0,left:0,};this.hideLegend_=false;const template=Polymer.dom(THIS_DOC).querySelector('#chart-base-template');const svgEl=Polymer.dom(template.content).querySelector('svg');for(let i=0;i<Polymer.dom(svgEl).children.length;i++){Polymer.dom(this).appendChild(Polymer.dom(svgEl.children[i]).cloneNode(true));} 7840this.addEventListener(DataSeriesEnableChangeEventType,this.onDataSeriesEnableChange_.bind(this));},get hideLegend(){return this.hideLegend_;},set hideLegend(h){this.hideLegend_=h;this.updateContents_();},isSeriesEnabled(key){return this.getDataSeries(key).enabled;},onDataSeriesEnableChange_(event){this.getDataSeries(event.key).enabled=event.enabled;this.updateContents_();},get chartTitle(){return this.chartTitle_;},set chartTitle(chartTitle){this.chartTitle_=chartTitle;this.updateContents_();},get chartAreaElement(){return Polymer.dom(this).querySelector('#chart-area');},get graphWidth(){if(this.graphWidth_===undefined)return this.defaultGraphWidth;return this.graphWidth_;},set graphWidth(width){this.graphWidth_=width;this.updateContents_();},get defaultGraphWidth(){return 0;},get graphHeight(){if(this.graphHeight_===undefined)return this.defaultGraphHeight;return this.graphHeight_;},set graphHeight(height){this.graphHeight_=height;this.updateContents_();},get defaultGraphHeight(){return 0;},get totalWidth(){return this.margin.left+this.graphWidth+this.margin.right;},get totalHeight(){return this.margin.top+this.graphHeight+this.margin.bottom;},updateMargins_(){const legendSize=this.computeLegendSize_();this.margin.right=Math.max(this.margin.right,legendSize.width);this.margin.bottom=Math.max(this.margin.bottom,legendSize.height-this.graphHeight);if(this.chartTitle_){const titleSize=getSVGTextSize(this,this.chartTitle_,textNode=>{textNode.style.fontSize='16pt';});this.margin.top=Math.max(this.margin.top,titleSize.height+15);const horizontalOverhangPx=(titleSize.width-this.graphWidth)/2;this.margin.left=Math.max(this.margin.left,horizontalOverhangPx);this.margin.right=Math.max(this.margin.right,horizontalOverhangPx);}},computeLegendSize_(){let width=0;let height=0;if(this.hideLegend)return{width,height};for(const series of this.seriesByKey_.values()){const textSize=getSVGTextSize(this,series.key);width=Math.max(width,textSize.width+20);height+=textSize.height;} 7841return{width,height};},updateDimensions_(){const thisSel=d3.select(this);thisSel.attr('width',this.totalWidth);thisSel.attr('height',this.totalHeight);d3.select(this.chartAreaElement).attr('transform','translate('+this.margin.left+', '+this.margin.top+')');},updateContents_(){this.updateMargins_();this.updateDimensions_();this.updateTitle_();this.updateLegend_();},updateTitle_(){const titleSel=d3.select(this.chartAreaElement).select('#title');if(!this.chartTitle_){titleSel.style('display','none');return;} 7842titleSel.attr('transform','translate('+this.graphWidth*0.5+',-15)').style('display',undefined).style('text-anchor','middle').style('font-size','16pt').attr('class','title').attr('width',this.graphWidth).text(this.chartTitle_);},updateLegend_(){const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.legend').remove();if(this.hideLegend)return;const series=[...this.seriesByKey_.values()].reverse();const legendEntriesSel=chartAreaSel.selectAll('.legend').data(series);legendEntriesSel.enter().append('foreignObject').attr('class','legend').attr('x',this.graphWidth+2).attr('width',this.margin.right).attr('height',18).attr('transform',(series,i)=>'translate(0,'+i*18+')').append('xhtml:body').style('margin',0).append('tr-ui-b-chart-legend-key').property('color',series=>((this.currentHighlightedLegendKey===series.key)?series.highlightedColor:series.color)).property('width',this.margin.right).property('target',series=>series.target).property('title',series=>series.title).property('optional',series=>series.optional).property('enabled',series=>series.enabled).text(series=>series.key);legendEntriesSel.exit().remove();},get highlightedLegendKey(){return this.highlightedLegendKey_;},set highlightedLegendKey(highlightedLegendKey){this.highlightedLegendKey_=highlightedLegendKey;this.updateHighlight_();},get currentHighlightedLegendKey(){if(this.tempHighlightedLegendKey_){return this.tempHighlightedLegendKey_;} 7843return this.highlightedLegendKey_;},pushTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_){throw new Error('push cannot nest');} 7844this.tempHighlightedLegendKey_=key;this.updateHighlight_();},popTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_!==key){throw new Error('pop cannot happen');} 7845this.tempHighlightedLegendKey_=undefined;this.updateHighlight_();},updateHighlight_(){const chartAreaSel=d3.select(this.chartAreaElement);const legendEntriesSel=chartAreaSel.selectAll('.legend');const getDataSeries=chart.getDataSeries.bind(chart);const currentHighlightedLegendKey=chart.currentHighlightedLegendKey;legendEntriesSel.each(function(key){const dataSeries=getDataSeries(key);if(key===currentHighlightedLegendKey){this.style.fill=dataSeries.highlightedColor;this.style.fontWeight='bold';}else{this.style.fill=dataSeries.color;this.style.fontWeight='';}});}};return{ChartBase,DataSeriesEnableChangeEventType,getColorOfKey,getSVGTextSize,};});'use strict';tr.exportTo('tr.ui.b',function(){const D3_Y_AXIS_WIDTH_PX=9;const D3_X_AXIS_HEIGHT_PX=23;function sanitizePower(x,defaultValue){if(!isNaN(x)&&isFinite(x)&&(x!==0))return x;return defaultValue;} 7846const ChartBase2D=tr.ui.b.define('chart-base-2d',tr.ui.b.ChartBase);ChartBase2D.prototype={__proto__:tr.ui.b.ChartBase.prototype,decorate(){super.decorate();Polymer.dom(this).classList.add('chart-base-2d');this.xScale_=d3.scale.linear();this.yScale_=d3.scale.linear();this.isYLogScale_=false;this.yLogScaleMin_=undefined;this.autoDataRange_=new tr.b.math.Range();this.overrideDataRange_=undefined;this.hideXAxis_=false;this.hideYAxis_=false;this.data_=[];this.xAxisLabel_='';this.yAxisLabel_='';this.textHeightPx_=0;d3.select(this.chartAreaElement).append('g').attr('id','brushes');d3.select(this.chartAreaElement).append('g').attr('id','series');this.addEventListener('mousedown',this.onMouseDown_.bind(this));},get xAxisLabel(){return this.xAxisLabel_;},set xAxisLabel(label){this.xAxisLabel_=label;},get yAxisLabel(){return this.yAxisLabel_;},set yAxisLabel(label){this.yAxisLabel_=label;},get hideXAxis(){return this.hideXAxis_;},set hideXAxis(h){this.hideXAxis_=h;this.updateContents_();},get hideYAxis(){return this.hideYAxis_;},set hideYAxis(h){this.hideYAxis_=h;this.updateContents_();},get data(){return this.data_;},set data(data){if(data===undefined){throw new Error('data must be an Array');} 7847this.data_=data;this.updateSeriesKeys_();this.updateDataRange_();this.updateContents_();},set isYLogScale(logScale){if(logScale){this.yScale_=d3.scale.log(10);}else{this.yScale_=d3.scale.linear();} 7848this.isYLogScale_=logScale;},getYScaleMin_(){return this.isYLogScale_?this.yLogScaleMin_:0;},getYScaleDomain_(minValue,maxValue){if(this.overrideDataRange_!==undefined){return[this.dataRange.min,this.dataRange.max];} 7849if(this.isYLogScale_){return[this.getYScaleMin_(),maxValue];} 7850return[Math.min(minValue,this.getYScaleMin_()),maxValue];},getSampleWidth_(data,index,leftSide){let leftIndex;let rightIndex;if(leftSide){leftIndex=Math.max(index-1,0);rightIndex=index;}else{leftIndex=index;rightIndex=Math.min(index+1,data.length-1);} 7851const leftWidth=this.getXForDatum_(data[index],index)- 7852this.getXForDatum_(data[leftIndex],leftIndex);const rightWidth=this.getXForDatum_(data[rightIndex],rightIndex)- 7853this.getXForDatum_(data[index],index);return tr.b.math.Statistics.mean([leftWidth,rightWidth]);},updateSeriesKeys_(){this.data_.forEach(function(datum){Object.keys(datum).forEach(function(key){if(this.isDatumFieldSeries_(key)){this.getDataSeries(key);}},this);},this);},isDatumFieldSeries_(fieldName){return fieldName!=='x';},getXForDatum_(datum,index){return datum.x;},updateMargins_(){this.margin.left=this.hideYAxis?0:this.yAxisWidth;this.margin.bottom=this.hideXAxis?0:this.xAxisHeight;if(this.hideXAxis&&!this.hideYAxis){this.margin.bottom=10;} 7854if(this.hideYAxis&&!this.hideXAxis){this.margin.left=10;} 7855this.margin.top=this.hideYAxis?0:10;if(this.yAxisLabel){this.margin.top+=this.textHeightPx_;} 7856if(this.xAxisLabel){this.margin.right=Math.max(this.margin.right,16+tr.ui.b.getSVGTextSize(this,this.xAxisLabel).width);} 7857super.updateMargins_();},get xAxisHeight(){return D3_X_AXIS_HEIGHT_PX;},computeScaleTickWidth_(scale){if(this.data.length===0)return 0;let tickValues=scale.ticks();let format=scale.tickFormat();if(this.isYLogScale_){const enclosingPowers=this.dataRange.enclosingPowers();tickValues=[sanitizePower(enclosingPowers.min,1),sanitizePower(enclosingPowers.max,10),];format=v=>v.toString();} 7858return D3_Y_AXIS_WIDTH_PX+Math.max(tr.ui.b.getSVGTextSize(this,format(tickValues[0])).width,tr.ui.b.getSVGTextSize(this,format(tickValues[tickValues.length-1])).width);},get yAxisWidth(){return this.computeScaleTickWidth_(this.yScale_);},updateScales_(){if(this.data_.length===0)return;this.xScale_.range([0,this.graphWidth]);this.xScale_.domain(d3.extent(this.data_,this.getXForDatum_.bind(this)));this.yScale_.range([this.graphHeight,0]);this.yScale_.domain([this.dataRange.min,this.dataRange.max]);},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();},updateXAxis_(xAxis){xAxis.selectAll('*').remove();xAxis[0][0].style.opacity=0;if(this.hideXAxis)return;this.drawXAxis_(xAxis);const label=xAxis.append('text').attr('class','label');this.drawXAxisTicks_(xAxis);this.drawXAxisLabel_(label);xAxis[0][0].style.opacity=1;},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.xScale_).orient('bottom'));},drawXAxisLabel_(label){label.attr('x',this.graphWidth+16).attr('y',8).text(this.xAxisLabel);},drawXAxisTicks_(xAxis){let previousRight=undefined;xAxis.selectAll('.tick')[0].forEach(function(tick){const currentLeft=tick.transform.baseVal[0].matrix.e;if((previousRight===undefined)||(currentLeft>(previousRight+3))){const currentWidth=tick.getBBox().width;previousRight=currentLeft+currentWidth;}else{tick.style.opacity=0;}});},set overrideDataRange(range){this.overrideDataRange_=range;},get dataRange(){if(this.overrideDataRange_!==undefined){return this.overrideDataRange_;} 7859return this.autoDataRange_;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;const dataBySeriesKey=this.getDataBySeriesKey_();this.autoDataRange_.reset();for(const[series,values]of Object.entries(dataBySeriesKey)){for(let i=0;i<values.length;i++){this.autoDataRange_.addValue(values[i][series]);}} 7860this.yLogScaleMin_=undefined;if(this.autoDataRange_.min!==undefined){let minValue=this.autoDataRange_.min;if(minValue===0){minValue=1;} 7861const onePowerLess=tr.b.math.lesserPower(minValue/10);this.yLogScaleMin_=onePowerLess;}},updateYAxis_(yAxis){yAxis.selectAll('*').remove();yAxis[0][0].style.opacity=0;if(this.hideYAxis)return;this.drawYAxis_(yAxis);this.drawYAxisTicks_(yAxis);const label=yAxis.append('text').attr('class','label');this.drawYAxisLabel_(label);},drawYAxis_(yAxis){let axisModifier=d3.svg.axis().scale(this.yScale_).orient('left');if(this.isYLogScale_){if(this.yLogScaleMin_===undefined)return;const tickValues=[];const enclosingPowers=this.dataRange.enclosingPowers();const maxPower=sanitizePower(enclosingPowers.max,10);for(let power=sanitizePower(enclosingPowers.min,1);power<=maxPower;power*=10){tickValues.push(power);} 7862axisModifier=axisModifier.tickValues(tickValues).tickFormat(v=>v.toString());} 7863yAxis.call(axisModifier);},drawYAxisLabel_(label){const labelWidthPx=Math.ceil(tr.ui.b.getSVGTextSize(this.chartAreaElement,this.yAxisLabel).width);label.attr('x',-labelWidthPx).attr('y',-8).text(this.yAxisLabel);},drawYAxisTicks_(yAxis){let previousTop=undefined;yAxis.selectAll('.tick')[0].forEach(function(tick){const bbox=tick.getBBox();const currentTop=tick.transform.baseVal[0].matrix.f;const currentBottom=currentTop+bbox.height;if((previousTop===undefined)||(previousTop>(currentBottom+3))){previousTop=currentTop;}else{tick.style.opacity=0;}});yAxis[0][0].style.opacity=1;},updateContents_(){if(this.textHeightPx_===0){this.textHeightPx_=tr.ui.b.getSVGTextSize(this,'Ay').height;} 7864this.updateScales_();super.updateContents_();const chartAreaSel=d3.select(this.chartAreaElement);this.updateXAxis_(chartAreaSel.select('.x.axis'));this.updateYAxis_(chartAreaSel.select('.y.axis'));this.updateBrushContents_(chartAreaSel.select('#brushes'));this.updateDataContents_(chartAreaSel.select('#series'));},updateDataContents_(seriesSel){throw new Error('Not implemented');},getDataBySeriesKey_(){const dataBySeriesKey={};for(const[key,series]of this.seriesByKey_){dataBySeriesKey[key]=[];} 7865this.data_.forEach(function(multiSeriesDatum,index){const x=this.getXForDatum_(multiSeriesDatum,index);d3.keys(multiSeriesDatum).forEach(function(seriesKey){if(seriesKey==='x')return;if(multiSeriesDatum[seriesKey]===undefined)return;if(!this.isDatumFieldSeries_(seriesKey))return;const singleSeriesDatum={x};singleSeriesDatum[seriesKey]=multiSeriesDatum[seriesKey];dataBySeriesKey[seriesKey].push(singleSeriesDatum);},this);},this);return dataBySeriesKey;},getChartPointAtClientPoint_(clientPoint){const rect=this.getBoundingClientRect();return{x:clientPoint.x-rect.left-this.margin.left,y:clientPoint.y-rect.top-this.margin.top};},getDataPointAtChartPoint_(chartPoint){return{x:tr.b.math.clamp(this.xScale_.invert(chartPoint.x),this.xScale_.domain()[0],this.xScale_.domain()[1]),y:tr.b.math.clamp(this.yScale_.invert(chartPoint.y),this.yScale_.domain()[0],this.yScale_.domain()[1])};},getDataPointAtClientPoint_(clientX,clientY){const chartPoint=this.getChartPointAtClientPoint_({x:clientX,y:clientY});return this.getDataPointAtChartPoint_(chartPoint);},prepareDataEvent_(mouseEvent,dataEvent){const dataPoint=this.getDataPointAtClientPoint_(mouseEvent.clientX,mouseEvent.clientY);dataEvent.x=dataPoint.x;dataEvent.y=dataPoint.y;},onMouseDown_(mouseEvent){tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_.bind(this,mouseEvent.button),this.onMouseUp_.bind(this,mouseEvent.button));mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mousedown');dataEvent.button=mouseEvent.button;Polymer.dom(this).classList.add('updating-brushing-state');this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseMove_(button,mouseEvent){if(mouseEvent.buttons!==undefined){mouseEvent.preventDefault();mouseEvent.stopPropagation();} 7866const dataEvent=new tr.b.Event('item-mousemove');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseUp_(button,mouseEvent){mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mouseup');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);Polymer.dom(this).classList.remove('updating-brushing-state');}};return{ChartBase2D,};});'use strict';tr.exportTo('tr.ui.b',function(){const ChartBase2D=tr.ui.b.ChartBase2D;const ChartBase2DBrushX=tr.ui.b.define('chart-base-2d-brush-1d',ChartBase2D);ChartBase2DBrushX.prototype={__proto__:ChartBase2D.prototype,decorate(){super.decorate();this.brushedRange_=new tr.b.math.Range();},set brushedRange(range){this.brushedRange_.reset();this.brushedRange_.addRange(range);this.updateContents_();},get brushedRange(){return tr.b.math.Range.fromDict(this.brushedRange_.toJSON());},computeBrushRangeFromIndices(indexA,indexB){indexA=tr.b.math.clamp(indexA,0,this.data_.length-1);indexB=tr.b.math.clamp(indexB,0,this.data_.length-1);const leftIndex=Math.min(indexA,indexB);const rightIndex=Math.max(indexA,indexB);const brushRange=new tr.b.math.Range();brushRange.addValue(this.getXForDatum_(this.data_[leftIndex],leftIndex)- 7867this.getSampleWidth_(this.data_,leftIndex,true));brushRange.addValue(this.getXForDatum_(this.data_[rightIndex],rightIndex)+ 7868this.getSampleWidth_(this.data_,rightIndex,false));return brushRange;},getDataIndex_(dataX){if(this.data.length===0)return undefined;const bisect=d3.bisector(this.getXForDatum_.bind(this)).right;return bisect(this.data_,dataX)-1;},prepareDataEvent_(mouseEvent,dataEvent){ChartBase2D.prototype.prepareDataEvent_.call(this,mouseEvent,dataEvent);dataEvent.index=this.getDataIndex_(dataEvent.x);if(dataEvent.index!==undefined){dataEvent.data=this.data_[dataEvent.index];}},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();const brushes=this.brushedRange_.isEmpty?[]:[this.brushedRange_];const brushRectsSel=brushSel.selectAll('rect').data(brushes);brushRectsSel.enter().append('rect');brushRectsSel.exit().remove();this.drawBrush_(brushRectsSel);},drawBrush_(brushRectsSel){brushRectsSel.attr('x',d=>this.xScale_(d.min)).attr('y',0).attr('width',d=>this.xScale_(d.max)-this.xScale_(d.min)).attr('height',this.graphHeight);}};return{ChartBase2DBrushX,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.define('line-chart',tr.ui.b.ChartBase2DBrushX);LineChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,get defaultGraphWidth(){return 20*this.data_.length;},get defaultGraphHeight(){return 100;},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const dataBySeriesKey=this.getDataBySeriesKey_();const seriesKeys=[...this.seriesByKey_.keys()];const pathsSel=dataSel.selectAll('path').data(seriesKeys);pathsSel.enter().append('path').style('fill','none').style('stroke-width','1.5px').style('stroke',key=>this.getDataSeries(key).color).attr('d',key=>{const line=d3.svg.line().x(d=>this.xScale_(d.x)).y(d=>this.yScale_(this.dataRange.clamp(d[key])));return line(dataBySeriesKey[key]);});pathsSel.exit().remove();}};return{LineChart,};});'use strict';Polymer({is:'tr-ui-e-s-input-latency-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.frametimeType_=tr.model.helpers.IMPL_FRAMETIME_TYPE;this.latencyChart_=undefined;this.frametimeChart_=undefined;this.selectedProcessId_=undefined;this.mouseDownIndex_=undefined;this.curMouseIndex_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;if(this.model_){this.modelHelper_=this.model_.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);}else{this.modelHelper_=undefined;} 7869this.updateToolbar_();this.updateContents_();},get frametimeType(){return this.frametimeType_;},set frametimeType(type){if(this.frametimeType_===type)return;this.frametimeType_=type;this.updateContents_();},get selectedProcessId(){return this.selectedProcessId_;},set selectedProcessId(process){if(this.selectedProcessId_===process)return;this.selectedProcessId_=process;this.updateContents_();},set selection(selection){if(this.latencyChart_===undefined)return;this.latencyChart_.brushedRange=selection.bounds;},setBrushedIndices(mouseDownIndex,curIndex){this.mouseDownIndex_=mouseDownIndex;this.curMouseIndex_=curIndex;this.updateBrushedRange_();},updateBrushedRange_(){if(this.latencyChart_===undefined)return;let r=new tr.b.math.Range();if(this.mouseDownIndex_===undefined){this.latencyChart_.brushedRange=r;return;} 7870r=this.latencyChart_.computeBrushRangeFromIndices(this.mouseDownIndex_,this.curMouseIndex_);this.latencyChart_.brushedRange=r;let latencySlices=[];for(const thread of this.model_.getAllThreads()){for(const event of thread.getDescendantEvents()){if(event.title.indexOf('InputLatency:')===0){latencySlices.push(event);}}} 7871latencySlices=tr.model.helpers.getSlicesIntersectingRange(r,latencySlices);const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(latencySlices);this.latencyChart_.dispatchEvent(event);},registerMouseEventForLatencyChart_(){this.latencyChart_.addEventListener('item-mousedown',function(e){this.mouseDownIndex_=e.index;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mousemove',function(e){if(e.button===undefined)return;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mouseup',function(e){this.curMouseIndex=e.index;this.updateBrushedRange_();}.bind(this));},updateToolbar_(){const browserProcess=this.modelHelper_.browserProcess;const labels=[];if(browserProcess!==undefined){const labelStr='Browser: '+browserProcess.pid;labels.push({label:labelStr,value:browserProcess.pid});} 7872for(const rendererHelper of 7873Object.values(this.modelHelper_.rendererHelpers)){const rendererProcess=rendererHelper.process;const labelStr='Renderer: '+rendererProcess.userFriendlyName;labels.push({label:labelStr,value:rendererProcess.userFriendlyName});} 7874if(labels.length===0)return;this.selectedProcessId_=labels[0].value;const toolbarEl=this.$.toolbar;Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'frametimeType','inputLatencySidePanel.frametimeType',this.frametimeType_,[{label:'Main Thread Frame Times',value:tr.model.helpers.MAIN_FRAMETIME_TYPE},{label:'Impl Thread Frame Times',value:tr.model.helpers.IMPL_FRAMETIME_TYPE}]));Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'selectedProcessId','inputLatencySidePanel.selectedProcessId',this.selectedProcessId_,labels));},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;} 7875return this.rangeOfInterest_;},createLatencyLineChart(data,title,parentNode){const chart=new tr.ui.b.LineChart();Polymer.dom(parentNode).appendChild(chart);let width=600;if(document.body.clientWidth!==undefined){width=document.body.clientWidth*0.5;} 7876chart.graphWidth=width;chart.chartTitle=title;chart.data=data;return chart;},updateContents_(){const resultArea=this.$.result_area;this.latencyChart_=undefined;this.frametimeChart_=undefined;Polymer.dom(resultArea).textContent='';if(this.modelHelper_===undefined)return;const rangeOfInterest=this.currentRangeOfInterest;let chromeProcess;if(this.modelHelper_.rendererHelpers[this.selectedProcessId_]){chromeProcess=this.modelHelper_.rendererHelpers[this.selectedProcessId_];}else{chromeProcess=this.modelHelper_.browserHelper;} 7877const frameEvents=chromeProcess.getFrameEventsInRange(this.frametimeType,rangeOfInterest);const frametimeData=tr.model.helpers.getFrametimeDataFromEvents(frameEvents);const averageFrametime=tr.b.math.Statistics.mean(frametimeData,d=>d.frametime);const latencyEvents=this.modelHelper_.browserHelper.getLatencyEventsInRange(rangeOfInterest);const latencyData=[];latencyEvents.forEach(function(event){if(event.inputLatency===undefined)return;latencyData.push({x:event.start,latency:event.inputLatency/1000});});const averageLatency=tr.b.math.Statistics.mean(latencyData,function(d){return d.latency;});const latencySummaryText=document.createElement('div');Polymer.dom(latencySummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Latency '+averageLatency+' ms',bold:true}));Polymer.dom(resultArea).appendChild(latencySummaryText);const frametimeSummaryText=document.createElement('div');Polymer.dom(frametimeSummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Frame Time '+averageFrametime+' ms',bold:true}));Polymer.dom(resultArea).appendChild(frametimeSummaryText);if(latencyData.length!==0){this.latencyChart_=this.createLatencyLineChart(latencyData,'Latency Over Time',resultArea);this.registerMouseEventForLatencyChart_();} 7878if(frametimeData.length!==0){this.frametimeChart_=this.createLatencyLineChart(frametimeData,'Frame Times',resultArea);}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};} 7879if(!tr.model.helpers.ChromeModelHelper.supportsModel(m)){return{supported:false,reason:'No Chrome browser or renderer process found'};} 7880const modelHelper=m.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper.browserHelper&&modelHelper.browserHelper.hasLatencyEvents){return{supported:true};} 7881return{supported:false,reason:'No InputLatency events trace. Consider enabling '+'benchmark" and "input" category when recording the trace'};},get textLabel(){return'Input Latency';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-input-latency-side-panel');});'use strict';tr.exportTo('tr.e.system_stats',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function SystemStatsSnapshot(objectInstance,ts,args){ObjectSnapshot.apply(this,arguments);this.objectInstance=objectInstance;this.ts=ts;this.args=args;this.stats=args;} 7882SystemStatsSnapshot.prototype={__proto__:ObjectSnapshot.prototype,initialize(){if(this.args.length===0){throw new Error('No system stats snapshot data.');} 7883this.stats_=this.args;},getStats(){return this.stats_;},setStats(stats){this.stats_=stats;}};ObjectSnapshot.subTypes.register(SystemStatsSnapshot,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const constants={HEADING_WIDTH:250};return{constants,};});'use strict';Polymer({is:'tr-ui-b-heading',DOWN_ARROW:String.fromCharCode(0x25BE),RIGHT_ARROW:String.fromCharCode(0x25B8),ready(viewport){this.style.width=(tr.ui.b.constants.HEADING_WIDTH-6)+'px';this.heading_='';this.expanded_=true;this.arrowVisible_=false;this.selectionGenerator_=undefined;this.updateContents_();},get heading(){return this.heading_;},set heading(text){if(this.heading_===text)return;this.heading_=text;this.updateContents_();},set arrowVisible(val){if(this.arrowVisible_===val)return;this.arrowVisible_=!!val;this.updateContents_();},set tooltip(text){this.$.heading.title=text;},set selectionGenerator(generator){if(this.selectionGenerator_===generator)return;this.selectionGenerator_=generator;this.updateContents_();},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=!!expanded;this.updateContents_();},onHeadingDivClicked_(){this.dispatchEvent(new tr.b.Event('heading-clicked',true));},updateContents_(){if(this.arrowVisible_){this.$.arrow.style.display='';}else{this.$.arrow.style.display='none';this.$.heading.style.display=this.expanded_?'':'none';} 7884if(this.arrowVisible_){Polymer.dom(this.$.arrow).textContent=this.expanded_?this.DOWN_ARROW:this.RIGHT_ARROW;} 7885this.$.link.style.display='none';this.$.heading_content.style.display='none';if(this.selectionGenerator_){this.$.link.style.display='inline-block';this.$.link.selection=this.selectionGenerator_;Polymer.dom(this.$.link).textContent=this.heading_;}else{this.$.heading_content.style.display='inline-block';Polymer.dom(this.$.heading_content).textContent=this.heading_;}}});'use strict';tr.exportTo('tr.ui.tracks',function(){const Track=tr.ui.b.define('track',tr.ui.b.ContainerThatDecoratesItsChildren);Track.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(viewport){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);if(viewport===undefined){throw new Error('viewport is required when creating a Track.');} 7886this.viewport_=viewport;Polymer.dom(this).classList.add('track');},get viewport(){return this.viewport_;},get drawingContainer(){if(this instanceof tr.ui.tracks.DrawingContainer)return this;let cur=this.parentElement;while(cur){if(cur instanceof tr.ui.tracks.DrawingContainer)return cur;cur=cur.parentElement;} 7887return undefined;},get eventContainer(){},invalidateDrawingContainer(){const dc=this.drawingContainer;if(dc)dc.invalidate();},context(){if(!Polymer.dom(this).parentNode)return undefined;if(!Polymer.dom(this).parentNode.context){throw new Error('Parent container does not support context() method.');} 7888return Polymer.dom(this).parentNode.context();},decorateChild_(childTrack){},undecorateChild_(childTrack){if(childTrack.detach){childTrack.detach();}},updateContents_(){},drawTrack(type){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.draw(type,viewLWorld,viewRWorld);ctx.restore();},draw(type,viewLWorld,viewRWorld){},addEventsToTrackMap(eventToTrackMap){},addContainersToTrackMap(containerToTrackMap){},addIntersectingEventsInRangeToSelection(loVX,hiVX,loVY,hiVY,selection){const pixelRatio=window.devicePixelRatio||1;const dt=this.viewport.currentDisplayTransform;const viewPixWidthWorld=dt.xViewVectorToWorld(1);const loWX=dt.xViewToWorld(loVX*pixelRatio);const hiWX=dt.xViewToWorld(hiVX*pixelRatio);const clientRect=this.getBoundingClientRect();const a=Math.max(loVY,clientRect.top);const b=Math.min(hiVY,clientRect.bottom);if(a>b)return;this.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){},addClosestInstantEventToSelection(instantEvents,worldX,worldMaxDist,selection){const instantEvent=tr.b.math.findClosestElementInSortedArray(instantEvents,function(x){return x.start;},worldX,worldMaxDist);if(!instantEvent)return;selection.push(instantEvent);}};return{Track,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const EventPresenter=tr.ui.b.EventPresenter;const ObjectInstanceTrack=tr.ui.b.define('object-instance-track',tr.ui.tracks.Track);ObjectInstanceTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-track');this.objectInstances_=[];this.objectSnapshots_=[];this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get objectInstances(){return this.objectInstances_;},set objectInstances(objectInstances){if(!objectInstances||objectInstances.length===0){this.heading='';this.objectInstances_=[];this.objectSnapshots_=[];return;} 7889this.heading=objectInstances[0].typeName;this.objectInstances_=objectInstances;this.objectSnapshots_=[];this.objectInstances_.forEach(function(instance){this.objectSnapshots_.push.apply(this.objectSnapshots_,instance.snapshots);},this);this.objectSnapshots_.sort(function(a,b){return a.ts-b.ts;});},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get snapshotRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=dt.xViewVectorToWorld(height);ctx.save();dt.applyTransformToCanvas(ctx);const objectInstances=this.objectInstances_;let loI=tr.b.math.findLowIndexInSortedArray(objectInstances,function(instance){return instance.deletionTs;},viewLWorld);ctx.strokeStyle='rgb(0,0,0)';for(let i=loI;i<objectInstances.length;++i){const instance=objectInstances[i];const x=instance.creationTs;if(x>viewRWorld)break;const right=instance.deletionTs===Number.MAX_VALUE?viewRWorld:instance.deletionTs;ctx.fillStyle=EventPresenter.getObjectInstanceColor(instance);ctx.fillRect(x,pixelRatio,right-x,height-2*pixelRatio);} 7890ctx.restore();const objectSnapshots=this.objectSnapshots_;loI=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts+snapshotRadiusWorld;},viewLWorld);for(let i=loI;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const x=snapshot.ts;if(x-snapshotRadiusWorld>viewRWorld)break;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getObjectSnapshotColor(snapshot);ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView,0,twoPi);ctx.fill();if(snapshot.selected){ctx.lineWidth=5;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView-1,0,twoPi);ctx.lineWidth=2;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}} 7891ctx.lineWidth=1;let selectionState=SelectionState.NONE;if(objectInstances.length&&objectInstances[0].selectionState===SelectionState.DIMMED){selectionState=SelectionState.DIMMED;} 7892if(selectionState===SelectionState.DIMMED){const width=bounds.width*pixelRatio;ctx.fillStyle='rgba(255,255,255,0.5)';ctx.fillRect(0,0,width,height);ctx.restore();}},addEventsToTrackMap(eventToTrackMap){if(this.objectInstance_!==undefined){this.objectInstance_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);} 7893if(this.objectSnapshots_!==undefined){this.objectSnapshots_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){let foundSnapshot=false;function onSnapshot(snapshot){selection.push(snapshot);foundSnapshot=true;} 7894const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=viewPixWidthWorld*snapshotRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.objectSnapshots_,function(x){return x.ts-snapshotRadiusWorld;},function(x){return 2*snapshotRadiusWorld;},loWX,hiWX,onSnapshot);if(foundSnapshot)return;tr.b.math.iterateOverIntersectingIntervals(this.objectInstances_,function(x){return x.creationTs;},function(x){return x.deletionTs-x.creationTs;},loWX,hiWX,(value)=>{selection.push(value);});},addEventNearToProvidedEventToSelection(event,offset,selection){let events;if(event instanceof tr.model.ObjectSnapshot){events=this.objectSnapshots_;}else if(event instanceof tr.model.ObjectInstance){events=this.objectInstances_;}else{throw new Error('Unrecognized event');} 7895const index=events.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<events.length){selection.push(events[newIndex]);return true;} 7896return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectSnapshots_,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ObjectInstanceTrack,options);return{ObjectInstanceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const StackedBarsTrack=tr.ui.b.define('stacked-bars-track',tr.ui.tracks.Track);StackedBarsTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('stacked-bars-track');this.objectInstance_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},addEventsToTrackMap(eventToTrackMap){const objectSnapshots=this.objectInstance_.snapshots;objectSnapshots.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onSnapshot(snapshot){selection.push(snapshot);} 7897const snapshots=this.objectInstance_.snapshots;const maxBounds=this.objectInstance_.parent.model.bounds.max;tr.b.math.iterateOverIntersectingIntervals(snapshots,function(x){return x.ts;},function(x,i){if(i===snapshots.length-1){if(snapshots.length===1){return maxBounds;} 7898return snapshots[i].ts-snapshots[i-1].ts;} 7899return snapshots[i+1].ts-snapshots[i].ts;},loWX,hiWX,onSnapshot);},addEventNearToProvidedEventToSelection(event,offset,selection){if(!(event instanceof tr.model.ObjectSnapshot)){throw new Error('Unrecognized event');} 7900const objectSnapshots=this.objectInstance_.snapshots;const index=objectSnapshots.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<objectSnapshots.length){selection.push(objectSnapshots[newIndex]);return true;} 7901return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectInstance_.snapshots,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};return{StackedBarsTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const EventPresenter=tr.ui.b.EventPresenter;let statCount;const excludedStats={'meminfo':{'pswpin':0,'pswpout':0,'pgmajfault':0},'diskinfo':{'io':0,'io_time':0,'read_time':0,'reads':0,'reads_merged':0,'sectors_read':0,'sectors_written':0,'weighted_io_time':0,'write_time':0,'writes':0,'writes_merged':0},'swapinfo':{}};const SystemStatsInstanceTrack=tr.ui.b.define('tr-ui-e-system-stats-instance-track',tr.ui.tracks.StackedBarsTrack);SystemStatsInstanceTrack.prototype={__proto__:tr.ui.tracks.StackedBarsTrack.prototype,decorate(viewport){tr.ui.tracks.StackedBarsTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('tr-ui-e-system-stats-instance-track');this.objectInstance_=null;},set objectInstances(objectInstances){if(!objectInstances){this.objectInstance_=[];return;} 7902if(objectInstances.length!==1){throw new Error('Bad object instance count.');} 7903this.objectInstance_=objectInstances[0];if(this.objectInstance_!==null){this.computeRates_(this.objectInstance_.snapshots);this.maxStats_=this.computeMaxStats_(this.objectInstance_.snapshots);}},computeRates_(snapshots){for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();let prevSnapshot;if(i===0){prevSnapshot=snapshots[0];}else{prevSnapshot=snapshots[i-1];} 7904const prevStats=prevSnapshot.getStats();let timeIntervalSeconds=(snapshot.ts-prevSnapshot.ts)/1000;if(timeIntervalSeconds===0){timeIntervalSeconds=1;} 7905this.computeRatesRecursive_(prevStats,stats,timeIntervalSeconds);}},computeRatesRecursive_(prevStats,stats,timeIntervalSeconds){for(const statName in stats){if(stats[statName]instanceof Object){this.computeRatesRecursive_(prevStats[statName],stats[statName],timeIntervalSeconds);}else{if(statName==='sectors_read'){stats.bytes_read_per_sec=(stats.sectors_read- 7906prevStats.sectors_read)*512/timeIntervalSeconds;} 7907if(statName==='sectors_written'){stats.bytes_written_per_sec=(stats.sectors_written- 7908prevStats.sectors_written)*512/timeIntervalSeconds;} 7909if(statName==='pgmajfault'){stats.pgmajfault_per_sec=(stats.pgmajfault- 7910prevStats.pgmajfault)/timeIntervalSeconds;} 7911if(statName==='pswpin'){stats.bytes_swpin_per_sec=(stats.pswpin- 7912prevStats.pswpin)*1000/timeIntervalSeconds;} 7913if(statName==='pswpout'){stats.bytes_swpout_per_sec=(stats.pswpout- 7914prevStats.pswpout)*1000/timeIntervalSeconds;}}}},computeMaxStats_(snapshots){const maxStats={};statCount=0;for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();this.computeMaxStatsRecursive_(stats,maxStats,excludedStats);} 7915return maxStats;},computeMaxStatsRecursive_(stats,maxStats,excludedStats){for(const statName in stats){if(stats[statName]instanceof Object){if(!(statName in maxStats)){maxStats[statName]={};} 7916let excludedNested;if(excludedStats&&statName in excludedStats){excludedNested=excludedStats[statName];}else{excludedNested=null;} 7917this.computeMaxStatsRecursive_(stats[statName],maxStats[statName],excludedNested);}else{if(excludedStats&&statName in excludedStats){continue;} 7918if(!(statName in maxStats)){maxStats[statName]=0;statCount++;} 7919if(stats[statName]>maxStats[statName]){maxStats[statName]=stats[statName];}}}},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawStatBars_(viewLWorld,viewRWorld);break;}},drawStatBars_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const width=bounds.width*pixelRatio;const height=(bounds.height*pixelRatio)/statCount;const vp=this.viewport.currentDisplayTransform;const maxStats=this.maxStats_;const objectSnapshots=this.objectInstance_.snapshots;let lowIndex=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts;},viewLWorld);if(lowIndex>0)lowIndex-=1;for(let i=lowIndex;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const trace=snapshot.getStats();const currentY=height;const left=snapshot.ts;if(left>viewRWorld)break;let leftView=vp.xWorldToView(left);if(leftView<0)leftView=0;let right;if(i!==objectSnapshots.length-1){right=objectSnapshots[i+1].ts;}else{if(objectSnapshots.length>1){right=objectSnapshots[i].ts+(objectSnapshots[i].ts- 7920objectSnapshots[i-1].ts);}else{right=this.objectInstance_.parent.model.bounds.max;}} 7921let rightView=vp.xWorldToView(right);if(rightView>width){rightView=width;} 7922leftView=Math.floor(leftView);rightView=Math.floor(rightView);this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,trace,maxStats,currentY);if(i===lowIndex){this.drawStatNames_(leftView,height,currentY,'',maxStats);}} 7923ctx.lineWidth=1;},drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats,maxStats,currentY){const ctx=this.context();for(const statName in maxStats){if(stats[statName]instanceof Object){currentY=this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats[statName],maxStats[statName],currentY);}else{const maxStat=maxStats[statName];ctx.fillStyle=EventPresenter.getBarSnapshotColor(snapshot,Math.round(currentY/height));let barHeight;if(maxStat>0){barHeight=height*Math.max(stats[statName],0)/maxStat;}else{barHeight=0;} 7924ctx.fillRect(leftView,currentY-barHeight,Math.max(rightView-leftView,1),barHeight);currentY+=height;}} 7925return currentY;},drawStatNames_(leftView,height,currentY,prefix,maxStats){const ctx=this.context();ctx.textAlign='end';ctx.font='12px Arial';ctx.fillStyle='#000000';for(const statName in maxStats){if(maxStats[statName]instanceof Object){currentY=this.drawStatNames_(leftView,height,currentY,statName,maxStats[statName]);}else{let fullname=statName;if(prefix!==''){fullname=prefix+' :: '+statName;} 7926ctx.fillText(fullname,leftView-10,currentY-height/4);currentY+=height;}} 7927return currentY;}};tr.ui.tracks.ObjectInstanceTrack.register(SystemStatsInstanceTrack,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsInstanceTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const SystemStatsSnapshotView=tr.ui.b.define('tr-ui-e-system-stats-snapshot-view',tr.ui.analysis.ObjectSnapshotView);SystemStatsSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-system-stats-snapshot-view');},updateContents(){const snapshot=this.objectSnapshot_;if(!snapshot||!snapshot.getStats()){Polymer.dom(this).textContent='No system stats snapshot found.';return;} 7928Polymer.dom(this).textContent='';const stats=snapshot.getStats();Polymer.dom(this).appendChild(this.buildList_(stats));},isFloat(n){return typeof n==='number'&&n%1!==0;},buildList_(stats){const statList=document.createElement('ul');for(const statName in stats){const statText=document.createElement('li');Polymer.dom(statText).textContent=''+statName+': ';Polymer.dom(statList).appendChild(statText);if(stats[statName]instanceof Object){Polymer.dom(statList).appendChild(this.buildList_(stats[statName]));}else{if(this.isFloat(stats[statName])){Polymer.dom(statText).textContent+=stats[statName].toFixed(2);}else{Polymer.dom(statText).textContent+=stats[statName];}}} 7929return statList;}};tr.ui.analysis.ObjectSnapshotView.register(SystemStatsSnapshotView,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const IGNORED_ENTRIES={match:full=>full.startsWith('*CODE_AGE_')};const INSTANCE_TYPE_GROUPS={FIXED_ARRAY_TYPE:{match:full=>full.startsWith('*FIXED_ARRAY_'),realEntry:'FIXED_ARRAY_TYPE',keyToName:key=>key.slice('*FIXED_ARRAY_'.length).slice(0,-('_SUB_TYPE'.length)),nameToKey:name=>'*FIXED_ARRAY_'+name+'_SUB_TYPE'},CODE_TYPE:{match:full=>full.startsWith('*CODE_'),realEntry:'CODE_TYPE',keyToName:key=>key.slice('*CODE_'.length),nameToKey:name=>'*CODE_'+name},JS_OBJECTS:{match:full=>full.startsWith('JS_'),keyToName:key=>key,nameToKey:name=>name},Strings:{match:full=>full.endsWith('STRING_TYPE'),keyToName:key=>key,nameToKey:name=>name}};const DIFF_COLOR={GREEN:'#64DD17',RED:'#D50000'};function computePercentage(valueA,valueB){if(valueA===0)return 0;return valueA/valueB*100;} 7930class DiffEntry{constructor(originalEntry,diffEntry){this.originalEntry_=originalEntry;this.diffEntry_=diffEntry;} 7931get title(){return this.diffEntry_.title;} 7932get overall(){return this.diffEntry_.overall;} 7933get overAllocated(){return this.diffEntry_.overAllocated;} 7934get count(){return this.diffEntry_.count;} 7935get overallPercent(){return this.diffEntry_.overallPercent;} 7936get overAllocatedPercent(){return this.diffEntry_.overAllocatedPercent;} 7937get origin(){return this.originalEntry_;} 7938get diff(){return this.diffEntry_;} 7939get subRows(){return this.diffEntry_.subRows;}} 7940class Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){this.title_=title;this.overall_=overall;this.count_=count;this.overAllocated_=overAllocated;this.histogram_=histogram;this.overAllocatedHistogram_=overAllocatedHistogram;this.bucketSize_=this.histogram_.length;this.overallPercent_=100;this.overAllocatedPercent_=100;} 7941get title(){return this.title_;} 7942get overall(){return this.overall_;} 7943get count(){return this.count_;} 7944get overAllocated(){return this.overAllocated_;} 7945get histogram(){return this.histogram_;} 7946get overAllocatedHistogram(){return this.overAllocatedHistogram_;} 7947get bucketSize(){return this.bucketSize_;} 7948get overallPercent(){return this.overallPercent_;} 7949set overallPercent(value){this.overallPercent_=value;} 7950get overAllocatedPercent(){return this.overAllocatedPercent_;} 7951set overAllocatedPercent(value){this.overAllocatedPercent_=value;} 7952setFromObject(obj){this.count_=obj.count;this.overall_=obj.overall/1024;this.overAllocated_=obj.over_allocated/1024;this.histogram_=obj.histogram;this.overAllocatedHistogram_=obj.over_allocated_histogram;} 7953diff(other){const entry=new Entry(this.title_,other.count_-this.count,other.overall_-this.overall,other.overAllocated_-this.overAllocated,[],[]);entry.overallPercent=computePercentage(entry.overall,this.overall);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated);return new DiffEntry(this,entry);}} 7954class GroupedEntry extends Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){super(title,count,overall,overAllocated,histogram,overAllocatedHistogram);this.histogram_.fill(0);this.overAllocatedHistogram_.fill(0);this.entries_=new Map();} 7955get title(){return this.title_;} 7956set title(value){this.title_=value;} 7957get subRows(){return Array.from(this.entries_.values());} 7958getEntryFromTitle(title){return this.entries_.get(title);} 7959add(entry){this.count_+=entry.count;this.overall_+=entry.overall;this.overAllocated_+=entry.overAllocated;if(this.bucketSize_===entry.bucketSize){for(let i=0;i<this.bucketSize_;++i){this.histogram_[i]+=entry.histogram[i];this.overAllocatedHistogram_[i]+=entry.overAllocatedHistogram[i];}} 7960this.entries_.set(entry.title,entry);} 7961accumulateUnknown(title){let unknownCount=this.count_;let unknownOverall=this.overall_;let unknownOverAllocated=this.overAllocated_;const unknownHistogram=tr.b.deepCopy(this.histogram_);const unknownOverAllocatedHistogram=tr.b.deepCopy(this.overAllocatedHistogram_);for(const entry of this.entries_.values()){unknownCount-=entry.count;unknownOverall-=entry.overall;unknownOverAllocated-=entry.overAllocated;for(let i=0;i<this.bucketSize_;++i){unknownHistogram[i]-=entry.histogram[i];unknownOverAllocatedHistogram[i]-=entry.overAllocatedHistogram[i];}} 7962unknownOverAllocated=unknownOverAllocated<0?0:unknownOverAllocated;this.entries_.set(title,new Entry(title,unknownCount,unknownOverall,unknownOverAllocated,unknownHistogram,unknownOverAllocatedHistogram));} 7963calculatePercentage(){for(const entry of this.entries_.values()){entry.overallPercent=computePercentage(entry.overall,this.overall_);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated_);if(entry instanceof GroupedEntry)entry.calculatePercentage();}} 7964diff(other){let newTitle='';if(this.title_.startsWith('Isolate')){newTitle='Total';}else{newTitle=this.title_;} 7965const result=new GroupedEntry(newTitle,0,0,0,[],[]);for(const entry of this.entries_){const otherEntry=other.getEntryFromTitle(entry[0]);if(otherEntry===undefined)continue;result.add(entry[1].diff(otherEntry));} 7966result.overallPercent=computePercentage(result.overall,this.overall);result.overAllocatedPercent=computePercentage(result.overAllocated,this.overAllocated);return new DiffEntry(this,result);}} 7967function createSelector(targetEl,defaultValue,items,callback){const selectorEl=document.createElement('select');selectorEl.addEventListener('change',callback.bind(targetEl));const defaultOptionEl=document.createElement('option');for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);} 7968selectorEl.__defineGetter__('selectedValue',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;} 7969return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;} 7970return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(value===v){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;callback();} 7971return;}} 7972throw new Error('Not a valid value');});selectorEl.selectedIndex=-1;return selectorEl;} 7973function plusMinus(value,toFixed=3){return(value>0?'+':'')+value.toFixed(toFixed);} 7974function addArrow(value){if(value===0)return value;if(value===Number.NEGATIVE_INFINITY)return'\u2193\u221E';if(value===Number.POSITIVE_INFINITY)return'\u2191\u221E';return(value>0?'\u2191':'\u2193')+Math.abs(value.toFixed(3));} 7975Polymer({is:'tr-ui-e-v8-gc-objects-stats-table',ready(){this.$.diffOption.style.display='none';this.isolateEntries_=[];this.selector1_=undefined;this.selector2_=undefined;},constructDiffTable_(table){this.$.diffTable.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.diffTable.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overall.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overall-b.origin.overall;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overall);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7976return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overallPercent);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7977return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overAllocated.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overAllocated-b.origin.overAllocated;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overAllocated);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7978return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overAllocatedPercent);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7979return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Count',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.count;return spanEl;},cmp(a,b){return a.origin.count-b.origin.count;}},{title:'diff',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.count,0);if(row.count>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.count<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7980return spanEl;},cmp(a,b){return a.count-b.count;}},];},buildOptions_(){const items=[];for(const isolateEntry of this.isolateEntries_){items.push({label:isolateEntry.title,value:isolateEntry});} 7981this.$.diffOption.style.display='inline-block';this.selector1_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector1_);const spanEl=tr.ui.b.createSpan();spanEl.innerText=' VS ';Polymer.dom(this.$.diffOption).appendChild(spanEl);this.selector2_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector2_);},diffOptionChanged_(){const isolateEntry1=this.selector1_.selectedValue;const isolateEntry2=this.selector2_.selectedValue;if(isolateEntry1===undefined||isolateEntry2===undefined){return;} 7982if(isolateEntry1===isolateEntry2){this.$.diffTable.tableRows=[];this.$.diffTable.rebuild();return;} 7983this.$.diffTable.tableRows=[isolateEntry1.diff(isolateEntry2)];this.$.diffTable.rebuild();},constructTable_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overall.toFixed(3);return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocated.toFixed(3);return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Overall Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},cmp(a,b){return a.count-b.count;}},{title:'Overall Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overallPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Overall Allocated Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocatedPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}}];this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;},buildSubEntry_(objects,groupEntry,keyToName){const typeGroup=INSTANCE_TYPE_GROUPS[groupEntry.title];for(const instanceType of typeGroup){const e=objects[instanceType];if(e===undefined)continue;delete objects[instanceType];let title=instanceType;if(keyToName!==undefined)title=keyToName(title);groupEntry.add(new Entry(title,e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));}},buildUnGroupedEntries_(objects,objectEntry,bucketSize){for(const title of Object.getOwnPropertyNames(objects)){const obj=objects[title];const groupedEntry=new GroupedEntry(title,0,0,0,new Array(bucketSize),new Array(bucketSize));groupedEntry.setFromObject(obj);objectEntry.add(groupedEntry);}},createGroupEntries_(groupEntries,objects,bucketSize){for(const groupName of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const groupEntry=new GroupedEntry(groupName,0,0,0,new Array(bucketSize),new Array(bucketSize));if(INSTANCE_TYPE_GROUPS[groupName].realEntry!==undefined){groupEntry.savedRealEntry=objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];delete objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];} 7984groupEntries[groupName]=groupEntry;}},buildGroupEntries_(groupEntries,objectEntry){for(const groupName of Object.getOwnPropertyNames(groupEntries)){const groupEntry=groupEntries[groupName];if(groupEntry.savedRealEntry!==undefined){groupEntry.setFromObject(groupEntry.savedRealEntry);groupEntry.accumulateUnknown('UNKNOWN');delete groupEntry.savedRealEntry;} 7985objectEntry.add(groupEntry);}},buildSubEntriesForGroups_(groupEntries,objects){for(const instanceType of Object.getOwnPropertyNames(objects)){if(IGNORED_ENTRIES.match(instanceType)){delete objects[instanceType];continue;} 7986const e=objects[instanceType];for(const name of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const group=INSTANCE_TYPE_GROUPS[name];if(group.match(instanceType)){groupEntries[name].add(new Entry(group.keyToName(instanceType),e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));delete objects[instanceType];}}}},build_(objects,objectEntry,bucketSize){delete objects.END;const groupEntries={};this.createGroupEntries_(groupEntries,objects,bucketSize);this.buildSubEntriesForGroups_(groupEntries,objects);this.buildGroupEntries_(groupEntries,objectEntry);this.buildUnGroupedEntries_(objects,objectEntry,bucketSize);},set selection(slices){slices.sortEvents(function(a,b){return b.start-a.start;});const previous=undefined;for(const slice of slices){if(!slice instanceof tr.e.v8.V8GCStatsThreadSlice)continue;const liveObjects=slice.liveObjects;const deadObjects=slice.deadObjects;const isolate=liveObjects.isolate;const isolateEntry=new GroupedEntry('Isolate_'+isolate+' at '+slice.start.toFixed(3)+' ms',0,0,0,[],[]);const liveEntry=new GroupedEntry('live objects',0,0,0,[],[]);const deadEntry=new GroupedEntry('dead objects',0,0,0,[],[]);const liveBucketSize=liveObjects.bucket_sizes.length;const deadBucketSize=deadObjects.bucket_sizes.length;this.build_(tr.b.deepCopy(liveObjects.type_data),liveEntry,liveBucketSize);isolateEntry.add(liveEntry);this.build_(tr.b.deepCopy(deadObjects.type_data),deadEntry,deadBucketSize);isolateEntry.add(deadEntry);isolateEntry.calculatePercentage();this.isolateEntries_.push(isolateEntry);} 7987this.updateTable_();if(slices.length>1){this.buildOptions_();this.constructDiffTable_();}},updateTable_(){this.constructTable_();this.$.table.tableRows=this.isolateEntries_;this.$.table.rebuild();},});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:true,title:'V8 GC Stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){const IC_STATS_PROPERTIES=['type','category','scriptName','filePosition','state','isNative','map','propertiesMode','numberOfOwnProperties','instanceType'];class ICStatsEntry{constructor(obj){this.type_=obj.type;if(this.type_.includes('Store')){this.category_='Store';}else if(this.type_.includes('Load')){this.category_='Load';} 7988this.state_=obj.state;if(obj.functionName){this.functionName_=obj.optimized?'*':'~';this.functionName_+=obj.functionName.length===0?'(anonymous function)':obj.functionName;} 7989this.offset_=obj.offset;this.scriptName_=obj.scriptName?obj.scriptName:'unknown';this.isNative_=obj.scriptName&&obj.scriptName.includes('native');this.lineNum_=obj.lineNum?obj.lineNum:'unknown';this.filePosition_=this.scriptName_+':'+this.lineNum_;if(this.functionName_){this.filePosition_+=' '+this.functionName_+'+'+this.offset_;} 7990this.constructor_=obj.constructor?false:true;this.map_=obj.map;if(this.map_){this.propertiesMode_=obj.dict===0?'slow':'fast';}else{this.propertiesMode_='unknown';} 7991this.numberOfOwnProperties_=obj.own;this.instanceType_=obj.instanceType;this.key_=obj.key;} 7992get type(){return this.type_;} 7993get category(){return this.category_;} 7994get state(){return this.state_;} 7995get functionName(){return this.functionName_;} 7996get offset(){return this.offset_;} 7997get scriptName(){return this.scriptName_;} 7998get isNative(){return this.isNative_;} 7999get lineNumber(){return this.lineNum_;} 8000get isConstructor(){return this.constructor_;} 8001get map(){return this.map_;} 8002get propertiesMode(){return this.propertiesMode_;} 8003get numberOfOwnProperties(){return this.numberOfOwnProperties_;} 8004get instanceType(){return this.instanceType_;} 8005get filePosition(){return this.filePosition_;}} 8006class ICStatsEntryGroup{constructor(property,key){this.property_=property;this.key_=key;this.percentage_=0;this.entries_=[];this.subGroup_=undefined;} 8007static groupBy(groups,entries,property){for(const entry of entries){const key=entry[property];let group=groups.get(key);if(!group){group=new ICStatsEntryGroup(property,key);groups.set(key,group);} 8008group.add(entry);} 8009for(const group of groups.values()){group.percentage=group.length/entries.length;}} 8010add(entry){this.entries_.push(entry);} 8011createSubGroup(){if(this.subGroup_)return this.subGroup_;this.subGroup_=new Map();for(const property of IC_STATS_PROPERTIES){if(property===this.property_)continue;const groups=new Map();this.subGroup_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);} 8012return this.subGroup_;} 8013get entries(){return this.entries_;} 8014get key(){return this.key_;} 8015get length(){return this.entries_.length;} 8016get percentage(){return this.percentage_;} 8017set percentage(value){this.percentage_=value;}} 8018class ICStatsCollection{constructor(){this.entries_=[];this.groupedEntries_=new Map();} 8019add(entry){this.entries_.push(entry);} 8020groupBy(property){if(this.groupedEntries_.has(property)){return Array.from(this.groupedEntries_.get(property).values());} 8021const groups=new Map();this.groupedEntries_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);return Array.from(groups.values());} 8022get entries(){return this.entries_;} 8023get length(){return this.entries_.length;}} 8024return{IC_STATS_PROPERTIES,ICStatsEntry,ICStatsEntryGroup,ICStatsCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const PROPERTIES=tr.e.v8.IC_STATS_PROPERTIES.map(x=>{return{label:x,value:x};});const ICStatsEntry=tr.e.v8.ICStatsEntry;const ICStatsEntryGroup=tr.e.v8.ICStatsEntryGroup;const ICStatsCollection=tr.e.v8.ICStatsCollection;Polymer({is:'tr-ui-e-v8-ic-stats-table',ready(){this.icStatsCollection_=new ICStatsCollection();this.groupKey_=PROPERTIES[0].value;this.selector_=tr.ui.b.createSelector(this,'groupKey','v8ICStatsGroupKey',this.groupKey_,PROPERTIES);Polymer.dom(this.$.groupOption).appendChild(this.selector_);},get groupKey(){return this.groupKey_;},set groupKey(key){this.groupKey_=key;if(this.icStatsCollection_.length===0)return;this.updateTable_(this.groupKey_);},constructTable_(table,groupKey){table.tableColumns=[{title:'',value:row=>{let expanded=false;const buttonEl=tr.ui.b.createButton('details',function(){const previousSibling=Polymer.dom(this).parentNode.parentNode;const parentNode=previousSibling.parentNode;if(expanded){const trEls=parentNode.getElementsByClassName('subTable');Array.from(trEls).map(x=>x.parentNode.removeChild(x));expanded=false;return;} 8025expanded=true;const subGroups=row.createSubGroup();const tr=document.createElement('tr');tr.classList.add('subTable');tr.appendChild(document.createElement('td'));const td=document.createElement('td');td.colSpan=3;for(const subGroup of subGroups){const property=subGroup[0];const all=Array.from(subGroup[1].values());const group=all.slice(0,20);const divEl=document.createElement('div');const spanEl=document.createElement('span');const subTableEl=document.createElement('tr-ui-b-table');spanEl.innerText=`Top 20 out of ${all.length}`;spanEl.style.fontWeight='bold';spanEl.style.fontSize='14px';divEl.appendChild(spanEl);this.constructTable_(subTableEl,property);subTableEl.tableRows=group;subTableEl.rebuild();divEl.appendChild(subTableEl);td.appendChild(divEl);} 8026tr.appendChild(td);parentNode.insertBefore(tr,previousSibling.nextSibling);});return buttonEl;}},{title:'Percentage',value(row){const spanEl=document.createElement('span');spanEl.innerText=(row.percentage*100).toFixed(3)+'%';return spanEl;},cmp:(a,b)=>a.percentage-b.percentage},{title:'Count',value(row){const spanEl=document.createElement('span');spanEl.innerText=row.length;return spanEl;},cmp:(a,b)=>a.length-b.length},{title:groupKey,value(row){const spanEl=document.createElement('span');spanEl.innerText=row.key?row.key:'';return spanEl;}}];table.sortColumnIndex=1;table.sortDescending=true;},updateTable_(groupKey){this.constructTable_(this.$.table,groupKey);this.$.table.tableRows=this.icStatsCollection_.groupBy(groupKey);this.$.table.rebuild();},set selection(slices){for(const slice of slices){for(const icStatsObj of slice.icStats){const entry=new ICStatsEntry(icStatsObj);this.icStatsCollection_.add(entry);}} 8027this.$.total.innerText='Total items: '+this.icStatsCollection_.length;this.updateTable_(this.selector_.selectedValue);}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:true,title:'V8 IC stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){class RuntimeStatsEntry{constructor(name,count,time){this.name_=name;this.count_=count;this.time_=time;} 8028get name(){return this.name_;} 8029get count(){return this.count_;} 8030get time(){return this.time_;} 8031addSample(count,time){this.count_+=count;this.time_+=time;}} 8032class RuntimeStatsGroup extends RuntimeStatsEntry{constructor(name,matchRegex){super(name,0,0);this.regex_=matchRegex;this.entries_=new Map();} 8033match(name){return this.regex_&&name.match(this.regex_);} 8034add(entry){const value=this.entries_.get(entry.name);if(value!==undefined){value.addSample(entry.count,entry.time);}else{this.entries_.set(entry.name,entry);} 8035this.count_+=entry.count;this.time_+=entry.time;} 8036get values(){return Array.from(this.entries_.values());}} 8037class RuntimeStatsGroupCollection{constructor(){this.groups_=[new RuntimeStatsGroup('Total'),new RuntimeStatsGroup('IC',/.*IC_.*/),new RuntimeStatsGroup('Optimize',/StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*/),new RuntimeStatsGroup('Compile-Background',/(.*CompileBackground.*)/),new RuntimeStatsGroup('Compile',/(^Compile.*)|(.*_Compile.*)/),new RuntimeStatsGroup('Parse-Background',/.*ParseBackground.*/),new RuntimeStatsGroup('Parse',/.*Parse.*/),new RuntimeStatsGroup('Blink C++',/.*Callback.*/),new RuntimeStatsGroup('API',/.*API.*/),new RuntimeStatsGroup('GC',/GC|AllocateInTargetSpace/),new RuntimeStatsGroup('JavaScript',/JS_Execution/),new RuntimeStatsGroup('V8 C++',/.*/)];} 8038addSlices(slices){for(const slice of slices){if(!(slice instanceof tr.e.v8.V8ThreadSlice))return;let runtimeCallStats;try{runtimeCallStats=JSON.parse(slice.runtimeCallStats);}catch(e){runtimeCallStats=slice.runtimeCallStats;} 8039if(runtimeCallStats===undefined)continue;for(const[name,stat]of Object.entries(runtimeCallStats)){for(let i=1;i<this.groups_.length;++i){if(this.groups_[i].match(name)){if(stat.length!==2)break;const entry=new RuntimeStatsEntry(name,stat[0],stat[1]);this.groups_[0].addSample(stat[0],stat[1]);this.groups_[i].add(entry);break;}}}}} 8040get totalTime(){return this.groups_[0].time;} 8041get totalCount(){return this.groups_[0].count;} 8042get runtimeGroups(){return this.groups_;}} 8043return{RuntimeStatsEntry,RuntimeStatsGroup,RuntimeStatsGroupCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){function handleCodeSearch_(event){if(event.target.parentNode===undefined)return;let name=event.target.parentNode.entryName;let url='https://cs.chromium.org/search/?sq=package:chromium&type=cs&q=';if(name.startsWith('API_'))name=name.substring(4);url+=encodeURIComponent(name)+'+file:src/v8/src';window.open(url,'_blank');} 8044Polymer({is:'tr-ui-e-v8-runtime-call-stats-table',ready(){this.table_=this.$.table;this.totalTime_=0;},constructTable_(totalTime){this.table_.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.table_.tableColumns=[{title:'Name',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.name;if(!(row instanceof tr.e.v8.RuntimeStatsGroup)){typeEl.title='click ? for code search';typeEl.entryName=row.name;const codeSearchEl=document.createElement('span');codeSearchEl.innerText='?';codeSearchEl.style.float='right';codeSearchEl.style.borderRadius='5px';codeSearchEl.style.backgroundColor='#EEE';codeSearchEl.addEventListener('click',handleCodeSearch_.bind(this));typeEl.appendChild(codeSearchEl);} 8045return typeEl;},width:'200px',showExpandButtons:true},{title:'Time',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/1000.0).toFixed(3)+' ms';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}},{title:'Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},width:'100px',cmp(a,b){return a.count-b.count;}},{title:'Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/totalTime*100).toFixed(3)+'%';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}}];this.table_.sortColumnIndex=1;this.table_.sortDescending=true;this.table_.subRowsPropertyName='values';},set slices(slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);if(runtimeGroupCollection.totalTime>0){this.constructTable_(runtimeGroupCollection.totalTime);this.table_.tableRows=runtimeGroupCollection.runtimeGroups;this.table_.rebuild();}}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:true,title:'V8 slices'});'use strict';Polymer({is:'tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:false,title:'V8 GC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:false,title:'V8 IC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:false,title:'V8 slice'});'use strict';tr.exportTo('tr.c',function(){function ScriptingObject(){} 8046ScriptingObject.prototype={onModelChanged(model){}};return{ScriptingObject,};});'use strict';tr.exportTo('tr.c',function(){function ScriptingController(brushingStateController){this.brushingStateController_=brushingStateController;this.scriptObjectNames_=[];this.scriptObjectValues_=[];this.brushingStateController.addEventListener('model-changed',this.onModelChanged_.bind(this));const typeInfos=ScriptingObjectRegistry.getAllRegisteredTypeInfos();typeInfos.forEach(function(typeInfo){this.addScriptObject(typeInfo.metadata.name,typeInfo.constructor);global[typeInfo.metadata.name]=typeInfo.constructor;},this);} 8047function ScriptingObjectRegistry(){} 8048const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ScriptingObjectRegistry,options);ScriptingController.prototype={get brushingStateController(){return this.brushingStateController_;},onModelChanged_(){this.scriptObjectValues_.forEach(function(v){if(v.onModelChanged){v.onModelChanged(this.brushingStateController.model);}},this);},addScriptObject(name,value){this.scriptObjectNames_.push(name);this.scriptObjectValues_.push(value);},executeCommand(command){const f=new Function(this.scriptObjectNames_,'return eval('+command+')');return f.apply(null,this.scriptObjectValues_);}};return{ScriptingController,ScriptingObjectRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function MetricRegistry(){} 8049const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};tr.b.decorateExtensionRegistry(MetricRegistry,options);function camelCaseToHackerString(camelCase){let hackerString='';for(const c of camelCase){const lowered=c.toLocaleLowerCase();if(lowered===c){hackerString+=c;}else{hackerString+='_'+lowered;}} 8050return hackerString;} 8051function getCallStack(){try{throw new Error();}catch(error){return error.stack;}} 8052function getPathsFromStack(stack){return stack.split('\n').map(line=>{line=line.replace(/^ */,'').split(':');if(line.length<4)return'';return line[line.length-3].split('/');}).filter(tr.b.identity);} 8053MetricRegistry.checkFilename=function(metricName,opt_metricPathForTest){if(metricName==='runtimeStatsTotalMetric'||metricName==='v8AndMemoryMetrics'){return;} 8054const expectedFilename=camelCaseToHackerString(metricName)+'.html';const stack=getCallStack();let metricPath=opt_metricPathForTest;if(metricPath===undefined){const paths=getPathsFromStack(stack);const METRIC_STACK_INDEX=5;if(paths.length<=METRIC_STACK_INDEX||paths[METRIC_STACK_INDEX].join('/')===paths[0].join('/')){return;} 8055metricPath=paths[METRIC_STACK_INDEX].slice(paths[METRIC_STACK_INDEX].length-2);} 8056if(!metricPath[1].endsWith('_test.html')&&metricPath[1]!==expectedFilename&&metricPath.join('_')!==expectedFilename){throw new Error('Expected '+metricName+' to be in a file named '+ 8057expectedFilename+'; actual: '+metricPath.join('/')+'; stack: '+stack.replace(/\n/g,'\n '));}};MetricRegistry.addEventListener('will-register',function(e){const metric=e.typeInfo.constructor;if(!(metric instanceof Function)){throw new Error('Metrics must be functions.');} 8058if(!metric.name.endsWith('Metric')&&!metric.name.endsWith('Metrics')){throw new Error('Metric names must end with "Metric" or "Metrics".');} 8059if(metric.length<2){throw new Error('Metrics take a HistogramSet and a Model and '+'optionally an options dictionary.');} 8060MetricRegistry.checkFilename(metric.name);});return{MetricRegistry,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS=2000;const MIN_DRAW_DELAY_IN_MS=80;const MAX_DRAW_DELAY_IN_MS=2000;function findProcess(processName,model){for(const pid in model.processes){const process=model.processes[pid];if(process.name===processName){return process;}} 8061return undefined;} 8062function findThreads(process,threadPrefix){if(process===undefined)return undefined;const threads=[];for(const tid in process.threads){const thread=process.threads[tid];if(thread.name.startsWith(threadPrefix)){threads.push(thread);}} 8063return threads;} 8064function findUIThread(process){if(process===undefined)return undefined;const threads=findThreads(process,'UI Thread');if(threads!==undefined&&threads.length===1){return threads[0];} 8065return process.threads[process.pid];} 8066function findLaunchSlices(model){const launches=[];const binders=findThreads(findProcess('system_server',model),'Binder');for(const binderId in binders){const binder=binders[binderId];for(const sliceId in binder.asyncSliceGroup.slices){const slice=binder.asyncSliceGroup.slices[sliceId];if(slice.title.startsWith('launching:')){launches.push(slice);}}} 8067return launches;} 8068function findDrawSlice(appName,startNotBefore,model){let drawSlice=undefined;const thread=findUIThread(findProcess(appName,model));if(thread===undefined)return undefined;for(const sliceId in thread.sliceGroup.slices){const slice=thread.sliceGroup.slices[sliceId];if(slice.start<startNotBefore+MIN_DRAW_DELAY_IN_MS||slice.start>startNotBefore+MAX_DRAW_DELAY_IN_MS)continue;if(slice.title!=='draw')continue;if(drawSlice===undefined||slice.start<drawSlice.start){drawSlice=slice;}} 8069return drawSlice;} 8070function findInputEventSlice(endNotAfter,model){const endNotBefore=endNotAfter-MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS;let inputSlice=undefined;const systemUi=findUIThread(findProcess('com.android.systemui',model));if(systemUi===undefined)return undefined;for(const sliceId in systemUi.asyncSliceGroup.slices){const slice=systemUi.asyncSliceGroup.slices[sliceId];if(slice.end>endNotAfter||slice.end<endNotBefore)continue;if(slice.title!=='deliverInputEvent')continue;if(inputSlice===undefined||slice.end>inputSlice.end){inputSlice=slice;}} 8071return inputSlice;} 8072function computeStartupTimeInMs(appName,launchSlice,model){let startupStart=launchSlice.start;let startupEnd=launchSlice.end;const drawSlice=findDrawSlice(appName,launchSlice.end,model);if(drawSlice!==undefined){startupEnd=drawSlice.end;} 8073const inputSlice=findInputEventSlice(launchSlice.start,model);if(inputSlice!==undefined){startupStart=inputSlice.start;} 8074return startupEnd-startupStart;} 8075function measureStartup(histograms,model){const launches=findLaunchSlices(model);for(const sliceId in launches){const launchSlice=launches[sliceId];const appName=launchSlice.title.split(': ')[1];const startupMs=computeStartupTimeInMs(appName,launchSlice,model);histograms.createHistogram(`android:systrace:startup:${appName}`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,startupMs);}} 8076function measureThreadStates(histograms,model,rangeOfInterest){for(const pid in model.processes){const process=model.processes[pid];if(process.name===undefined)continue;let hasSlices=false;let timeRunning=0;let timeRunnable=0;let timeSleeping=0;let timeUninterruptible=0;let timeBlockIO=0;let timeUnknown=0;for(const tid in process.threads){const thread=process.threads[tid];if(thread.timeSlices===undefined)continue;for(const sliceId in thread.timeSlices){const slice=thread.timeSlices[sliceId];const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const duration=intersection.duration;if(duration===0)continue;hasSlices=true;if(slice.title==='Running'){timeRunning+=duration;}else if(slice.title==='Runnable'){timeRunnable+=duration;}else if(slice.title==='Sleeping'){timeSleeping+=duration;}else if(slice.title.startsWith('Uninterruptible')){timeUninterruptible+=duration;if(slice.title.includes('Block I/O'))timeBlockIO+=duration;}else{timeUnknown+=duration;}}} 8077if(hasSlices){const wall=rangeOfInterest.max-rangeOfInterest.min;histograms.createHistogram(`android:systrace:threadtime:${process.name}:running`,tr.b.Unit.byName.normalizedPercentage,timeRunning/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:runnable`,tr.b.Unit.byName.normalizedPercentage,timeRunnable/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:sleeping`,tr.b.Unit.byName.normalizedPercentage,timeSleeping/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:blockio`,tr.b.Unit.byName.normalizedPercentage,timeBlockIO/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:uninterruptible`,tr.b.Unit.byName.normalizedPercentage,timeUninterruptible/wall);if(timeUnknown>0){histograms.createHistogram(`android:systrace:threadtime:${process.name}:unknown`,tr.b.Unit.byName.normalizedPercentage,timeUnknown/wall);}}}} 8078function androidSystraceMetric(histograms,model,options){let rangeOfInterest=model.bounds;if(options!==undefined&&options.rangeOfInterest!==undefined){rangeOfInterest=options.rangeOfInterest;} 8079measureStartup(histograms,model);measureThreadStates(histograms,model,rangeOfInterest);} 8080tr.metrics.MetricRegistry.register(androidSystraceMetric,{supportsRangeOfInterest:true});return{androidSystraceMetric,};});'use strict';tr.exportTo('tr.b.math',function(){const PERCENTILE_PRECISION=1e-7;function PiecewiseLinearFunction(){this.pieces=[];} 8081PiecewiseLinearFunction.prototype={push(x1,y1,x2,y2){if(x1>=x2){throw new Error('Invalid segment');} 8082if(this.pieces.length>0&&this.pieces[this.pieces.length-1].x2>x1){throw new Error('Potentially overlapping segments');} 8083if(x1<x2){this.pieces.push(new Piece(x1,y1,x2,y2));}},partBelow(y){return this.pieces.reduce((acc,p)=>(acc+p.partBelow(y)),0);},get min(){return this.pieces.reduce((acc,p)=>Math.min(acc,p.min),Infinity);},get max(){return this.pieces.reduce((acc,p)=>Math.max(acc,p.max),-Infinity);},get average(){let weightedSum=0;let totalWeight=0;this.pieces.forEach(function(piece){weightedSum+=piece.width*piece.average;totalWeight+=piece.width;});if(totalWeight===0)return 0;return weightedSum/totalWeight;},percentile(percent){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');} 8084let lower=this.min;let upper=this.max;const total=this.partBelow(upper);if(total===0)return 0;while(upper-lower>PERCENTILE_PRECISION){const middle=(lower+upper)/2;const below=this.partBelow(middle);if(below/total<percent){lower=middle;}else{upper=middle;}} 8085return(lower+upper)/2;}};function Piece(x1,y1,x2,y2){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;} 8086Piece.prototype={partBelow(y){const width=this.width;if(width===0)return 0;const minY=this.min;const maxY=this.max;if(y>=maxY)return width;if(y<minY)return 0;return(y-minY)/(maxY-minY)*width;},get min(){return Math.min(this.y1,this.y2);},get max(){return Math.max(this.y1,this.y2);},get average(){return(this.y1+this.y2)/2;},get width(){return this.x2-this.x1;}};return{PiecewiseLinearFunction,};});'use strict';tr.exportTo('tr.metrics.v8.utils',function(){const IDLE_TASK_EVENT='SingleThreadIdleTaskRunner::RunTask';const V8_EXECUTE='V8.Execute';const GC_EVENT_PREFIX='V8.GC';const FULL_GC_EVENT='V8.GCCompactor';const LOW_MEMORY_EVENT='V8.GCLowMemoryNotification';const MAJOR_GC_EVENT='MajorGC';const MINOR_GC_EVENT='MinorGC';const TOP_GC_EVENTS={'V8.GCCompactor':'v8-gc-full-mark-compactor','V8.GCFinalizeMC':'v8-gc-latency-mark-compactor','V8.GCFinalizeMCReduceMemory':'v8-gc-memory-mark-compactor','V8.GCIncrementalMarking':'v8-gc-incremental-step','V8.GCIncrementalMarkingFinalize':'v8-gc-incremental-finalize','V8.GCIncrementalMarkingStart':'v8-gc-incremental-start','V8.GCPhantomHandleProcessingCallback':'v8-gc-phantom-handle-callback','V8.GCScavenger':'v8-gc-scavenger'};const LOW_MEMORY_MARK_COMPACTOR='v8-gc-low-memory-mark-compactor';function findParent(event,predicate){let parent=event.parentSlice;while(parent){if(predicate(parent)){return parent;} 8087parent=parent.parentSlice;} 8088return null;} 8089function isIdleTask(event){return event.title===IDLE_TASK_EVENT;} 8090function isLowMemoryEvent(event){return event.title===LOW_MEMORY_EVENT;} 8091function isV8Event(event){return event.title.startsWith('V8.');} 8092function isV8ExecuteEvent(event){return event.title===V8_EXECUTE;} 8093function isTopV8ExecuteEvent(event){return isV8ExecuteEvent(event)&&findParent(isV8ExecuteEvent)===null;} 8094function isGarbageCollectionEvent(event){return event.title&&event.title.startsWith(GC_EVENT_PREFIX)&&event.title!==LOW_MEMORY_EVENT;} 8095function isTopGarbageCollectionEvent(event){return event.title in TOP_GC_EVENTS;} 8096function isForcedGarbageCollectionEvent(event){return findParent(event,isLowMemoryEvent)!==null;} 8097function isSubGarbageCollectionEvent(event){return isGarbageCollectionEvent(event)&&event.parentSlice&&(isTopGarbageCollectionEvent(event.parentSlice)||event.parentSlice.title===MAJOR_GC_EVENT||event.parentSlice.title===MINOR_GC_EVENT);} 8098function isCompileOptimizeEvent(event){return(event.title==='V8.OptimizeCode'||event.title==='V8.RecompileSynchronous'||event.title==='V8.RecompileConcurrent');} 8099function isCompileUnoptimizeEvent(event){return(event.title==='V8.CompileIgnition'||event.title==='V8.CompileUnoptimizedInnerFunctions'||event.title==='V8.Compile'||event.title==='V8.CompileEval'||event.title==='V8.CompileCode'||event.title==='V8.CompileScript');} 8100function isCompileParseEvent(event){return(event.title==='V8.PreParse'||event.title==='V8.ParseFunction'||event.title==='V8.ParseProgram');} 8101function isCompileEvent(event){return tr.b.getCategoryParts(event.category).includes('disabled-by-default-v8.compile');} 8102function isFullMarkCompactorEvent(event){return event.title==='V8.GCCompactor';} 8103function isIncrementalMarkingEvent(event){return event.title.startsWith('V8.GCIncrementalMarking');} 8104function isLatencyMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMC';} 8105function isMemoryMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMCReduceMemory';} 8106function isScavengerEvent(event){return event.title==='V8.GCScavenger';} 8107function topGarbageCollectionEventName(event){if(event.title===FULL_GC_EVENT){if(findParent(event,isLowMemoryEvent)){return LOW_MEMORY_MARK_COMPACTOR;}} 8108return TOP_GC_EVENTS[event.title];} 8109function subGarbageCollectionEventName(event){const topEvent=findParent(event,isTopGarbageCollectionEvent);const prefix=topEvent?topGarbageCollectionEventName(topEvent):'unknown';const name=event.title.replace('V8.GC_MC_','').replace('V8.GC_SCAVENGER_','').replace('V8.GC_','').replace(/_/g,'-').toLowerCase();return prefix+'-'+name;} 8110function groupAndProcessEvents(model,filterCallback,nameCallback,processCallback){const nameToEvents={};for(const event of model.getDescendantEvents()){if(!filterCallback(event))continue;const name=nameCallback(event);nameToEvents[name]=nameToEvents[name]||[];nameToEvents[name].push(event);} 8111for(const[name,events]of Object.entries(nameToEvents)){processCallback(name,events);}} 8112function unionOfIntervals(intervals){if(intervals.length===0)return[];return tr.b.math.mergeRanges(intervals.map(x=>{return{min:x.start,max:x.end};}),1e-6,function(ranges){return{start:ranges.reduce((acc,x)=>Math.min(acc,x.min),ranges[0].min),end:ranges.reduce((acc,x)=>Math.max(acc,x.max),ranges[0].max)};});} 8113function hasV8Stats(globalMemoryDump){let v8stats=undefined;globalMemoryDump.iterateContainerDumps(function(dump){v8stats=v8stats||dump.getMemoryAllocatorDumpByFullName('v8');});return!!v8stats;} 8114function rangeForMemoryDumps(model){const startOfFirstDumpWithV8=model.globalMemoryDumps.filter(hasV8Stats).reduce((start,dump)=>Math.min(start,dump.start),Infinity);if(startOfFirstDumpWithV8===Infinity)return new tr.b.math.Range();return tr.b.math.Range.fromExplicitRange(startOfFirstDumpWithV8,Infinity);} 8115return{findParent,groupAndProcessEvents,isCompileEvent,isCompileOptimizeEvent,isCompileUnoptimizeEvent,isCompileParseEvent,isForcedGarbageCollectionEvent,isFullMarkCompactorEvent,isGarbageCollectionEvent,isIdleTask,isIncrementalMarkingEvent,isLatencyMarkCompactorEvent,isLowMemoryEvent,isMemoryMarkCompactorEvent,isScavengerEvent,isSubGarbageCollectionEvent,isTopGarbageCollectionEvent,isTopV8ExecuteEvent,isV8Event,isV8ExecuteEvent,rangeForMemoryDumps,subGarbageCollectionEventName,topGarbageCollectionEventName,unionOfIntervals,};});'use strict';tr.exportTo('tr.metrics.blink',function(){const BLINK_GC_EVENTS={'BlinkGCMarking':'blink-gc-marking','ThreadState::completeSweep':'blink-gc-complete-sweep','ThreadState::performIdleLazySweep':'blink-gc-idle-lazy-sweep'};function isBlinkGarbageCollectionEvent(event){return event.title in BLINK_GC_EVENTS;} 8116function blinkGarbageCollectionEventName(event){return BLINK_GC_EVENTS[event.title];} 8117function blinkGcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addIdleTimesOfTopEvents(histograms,model);addTotalIdleTimesOfTopEvents(histograms,model);} 8118tr.metrics.MetricRegistry.register(blinkGcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;} 8119function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;} 8120function createPercentage(name,numerator,denominator){const histogram=new tr.v.Histogram(name,percentage_biggerIsBetter);if(denominator===0){histogram.addSample(0);}else{histogram.addSample(numerator/denominator);} 8121return histogram;} 8122function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8123function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8124function addIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){addIdleTimes(histograms,model,name,events);});} 8125function addTotalIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){addIdleTimes(histograms,model,name,events);});} 8126function addIdleTimes(histograms,model,name,events){const cpuDuration=createNumericForIdleTime(name+'_cpu');const insideIdle=createNumericForIdleTime(name+'_inside_idle');const outsideIdle=createNumericForIdleTime(name+'_outside_idle');const idleDeadlineOverrun=createNumericForIdleTime(name+'_idle_deadline_overrun');events.forEach(function(event){const idleTask=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isIdleTask);let inside=0;let overrun=0;if(idleTask){const allottedTime=idleTask.args.allotted_time_ms;if(event.duration>allottedTime){overrun=event.duration-allottedTime;inside=event.cpuDuration*allottedTime/event.duration;}else{inside=event.cpuDuration;}} 8127cpuDuration.addSample(event.cpuDuration);insideIdle.addSample(inside);outsideIdle.addSample(event.cpuDuration-inside);idleDeadlineOverrun.addSample(overrun);});histograms.addHistogram(idleDeadlineOverrun);histograms.addHistogram(outsideIdle);const percentage=createPercentage(name+'_percentage_idle',insideIdle.sum,cpuDuration.sum);histograms.addHistogram(percentage);} 8128return{blinkGcMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function getCpuSnapshotsFromModel(model){const snapshots=[];for(const pid in model.processes){const snapshotInstances=model.processes[pid].objects.getAllInstancesNamed('CPUSnapshots');if(!snapshotInstances)continue;for(const object of snapshotInstances[0].snapshots){snapshots.push(object.args.processes);}} 8129return snapshots;} 8130function getProcessSumsFromSnapshot(snapshot){const processSums=new Map();for(const processData of snapshot){const processName=processData.name;if(!(processSums.has(processName))){processSums.set(processName,{sum:0.0,paths:new Set()});} 8131processSums.get(processName).sum+=parseFloat(processData.pCpu);if(processData.path){processSums.get(processName).paths.add(processData.path);}} 8132return processSums;} 8133function buildNumericsFromSnapshots(snapshots){const processNumerics=new Map();for(const snapshot of snapshots){const processSums=getProcessSumsFromSnapshot(snapshot);for(const[processName,processData]of processSums.entries()){if(!(processNumerics.has(processName))){processNumerics.set(processName,{numeric:new tr.v.Histogram('cpu:percent:'+processName,tr.b.Unit.byName.normalizedPercentage_smallerIsBetter),paths:new Set()});} 8134processNumerics.get(processName).numeric.addSample(processData.sum/100.0);for(const path of processData.paths){processNumerics.get(processName).paths.add(path);}}} 8135return processNumerics;} 8136function cpuProcessMetric(histograms,model){const snapshots=getCpuSnapshotsFromModel(model);const processNumerics=buildNumericsFromSnapshots(snapshots);for(const[processName,processData]of processNumerics){const numeric=processData.numeric;const missingSnapshotCount=snapshots.length-numeric.numValues;for(let i=0;i<missingSnapshotCount;i++){numeric.addSample(0);} 8137numeric.diagnostics.set('paths',new 8138tr.v.d.Generic([...processData.paths]));histograms.addHistogram(numeric);}} 8139tr.metrics.MetricRegistry.register(cpuProcessMetric);return{cpuProcessMetric,};});'use strict';tr.exportTo('tr.metrics',function(){function sampleMetric(histograms,model){const hist=new tr.v.Histogram('foo',tr.b.Unit.byName.sizeInBytes_smallerIsBetter);hist.addSample(9);hist.addSample(91,{bar:new tr.v.d.Generic({hello:42})});for(const expectation of model.userModel.expectations){if(expectation instanceof tr.model.um.ResponseExpectation){}else if(expectation instanceof tr.model.um.AnimationExpectation){}else if(expectation instanceof tr.model.um.IdleExpectation){}else if(expectation instanceof tr.model.um.LoadExpectation){}} 8140const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const[pid,process]of Object.entries(model.processes)){} 8141histograms.addHistogram(hist);} 8142tr.metrics.MetricRegistry.register(sampleMetric);return{sampleMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const HANDLE_INPUT_EVENT_TITLE='WebViewImpl::handleInputEvent';function findPrecedingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>eventA.start)break;} 8143if(eventsBIndex>0){events.set(eventA,eventsB[eventsBIndex-1]);}} 8144return events;} 8145function findFollowingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>=eventA.start)break;} 8146if(eventsBIndex>=0&&eventsBIndex<eventsB.length){events.set(eventA,eventsB[eventsBIndex]);}} 8147return events;} 8148function getSpaNavigationStartCandidates_(rendererHelper,browserHelper){const isNavStartEvent=e=>{if(e.title===HANDLE_INPUT_EVENT_TITLE&&e.args.type==='MouseUp'){return true;} 8149return e.title==='NavigationControllerImpl::GoToIndex';};return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents(),...browserHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavStartEvent);} 8150function getSpaNavigationEvents_(rendererHelper){const isNavEvent=e=>e.category==='blink'&&e.title==='FrameLoader::updateForSameDocumentNavigation';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavEvent);} 8151function getInputLatencyEvents_(browserHelper){const isInputLatencyEvent=e=>e.title==='InputLatency::MouseUp';return browserHelper.getAllAsyncSlicesMatching(isInputLatencyEvent);} 8152function getInputLatencyEventByBindIdMap_(browserHelper){const inputLatencyEventByBindIdMap=new Map();for(const event of getInputLatencyEvents_(browserHelper)){inputLatencyEventByBindIdMap.set(event.args.data.trace_id,event);} 8153return inputLatencyEventByBindIdMap;} 8154function getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper){const mainThread=rendererHelper.mainThread;const spaNavEvents=getSpaNavigationEvents_(rendererHelper);const navStartCandidates=getSpaNavigationStartCandidates_(rendererHelper,browserHelper).sort(tr.importer.compareEvents);const spaNavEventToNavStartCandidateMap=findPrecedingEvents_(spaNavEvents,navStartCandidates);const inputLatencyEventByBindIdMap=getInputLatencyEventByBindIdMap_(browserHelper);const spaNavEventToNavStartEventMap=new Map();for(const[spaNavEvent,navStartCandidate]of 8155spaNavEventToNavStartCandidateMap){if(navStartCandidate.title===HANDLE_INPUT_EVENT_TITLE){const inputLatencySlice=inputLatencyEventByBindIdMap.get(Number(navStartCandidate.parentSlice.bindId));if(inputLatencySlice){spaNavEventToNavStartEventMap.set(spaNavEvent,inputLatencySlice);}}else{spaNavEventToNavStartEventMap.set(spaNavEvent,navStartCandidate);}} 8156return spaNavEventToNavStartEventMap;} 8157function getFirstPaintEvents_(rendererHelper){const isFirstPaintEvent=e=>e.category==='blink'&&e.title==='PaintLayerCompositor::updateIfNeededRecursive';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isFirstPaintEvent);} 8158function getSpaNavigationEventToFirstPaintEventMap_(rendererHelper){const spaNavEvents=getSpaNavigationEvents_(rendererHelper).sort(tr.importer.compareEvents);const firstPaintEvents=getFirstPaintEvents_(rendererHelper).sort(tr.importer.compareEvents);return findFollowingEvents_(spaNavEvents,firstPaintEvents);} 8159function findSpaNavigationsOnRenderer(rendererHelper,browserHelper){const spaNavEventToNavStartMap=getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper);const spaNavEventToFirstPaintEventMap=getSpaNavigationEventToFirstPaintEventMap_(rendererHelper);const spaNavigations=[];for(const[spaNavEvent,navStartEvent]of 8160spaNavEventToNavStartMap){if(spaNavEventToFirstPaintEventMap.has(spaNavEvent)){const firstPaintEvent=spaNavEventToFirstPaintEventMap.get(spaNavEvent);const isNavStartAsyncSlice=navStartEvent instanceof tr.model.AsyncSlice;spaNavigations.push({navStartCandidates:{inputLatencyAsyncSlice:isNavStartAsyncSlice?navStartEvent:undefined,goToIndexSlice:isNavStartAsyncSlice?undefined:navStartEvent},firstPaintEvent,url:spaNavEvent.args.url});}} 8161return spaNavigations;} 8162return{findSpaNavigationsOnRenderer,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function perceptualBlend(ir,index,score){return Math.exp(1-score);} 8163function filterExpectationsByRange(irs,opt_range){const filteredExpectations=[];irs.forEach(function(ir){if(!(ir instanceof tr.model.um.UserExpectation))return;if(!opt_range||opt_range.intersectsExplicitRangeInclusive(ir.start,ir.end)){filteredExpectations.push(ir);}});return filteredExpectations;} 8164return{perceptualBlend,filterExpectationsByRange,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime){if(mainThread===null)return;const breakdownTree={};for(const title of 8165tr.e.chrome.ChromeUserFriendlyCategoryDriver.ALL_TITLES){breakdownTree[title]={total:0,events:{}};} 8166for(const event of mainThread.getDescendantEvents()){const eventStart=getEventStart(event);const eventDuration=getEventDuration(event);const eventSelfTime=getEventSelfTime(event);const eventEnd=eventStart+eventDuration;if(!rangeOfInterest.intersectsExplicitRangeExclusive(eventStart,eventEnd)){continue;} 8167if(eventSelfTime===undefined)continue;const title=tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent(event);let timeIntersectionRatio=0;if(eventDuration>0){timeIntersectionRatio=rangeOfInterest.findExplicitIntersectionDuration(eventStart,eventEnd)/eventDuration;} 8168const v8Runtime=event.args['runtime-call-stat'];if(v8Runtime!==undefined){const v8RuntimeObject=JSON.parse(v8Runtime);for(const runtimeCall in v8RuntimeObject){if(v8RuntimeObject[runtimeCall].length===2){if(breakdownTree.v8_runtime.events[runtimeCall]===undefined){breakdownTree.v8_runtime.events[runtimeCall]=0;} 8169const runtimeTime=tr.b.Unit.timestampFromUs(v8RuntimeObject[runtimeCall][1]*timeIntersectionRatio);breakdownTree.v8_runtime.total+=runtimeTime;breakdownTree.v8_runtime.events[runtimeCall]+=runtimeTime;}}} 8170const approximatedSelfTimeContribution=eventSelfTime*timeIntersectionRatio;breakdownTree[title].total+=approximatedSelfTimeContribution;if(breakdownTree[title].events[event.title]===undefined){breakdownTree[title].events[event.title]=0;} 8171breakdownTree[title].events[event.title]+=approximatedSelfTimeContribution;} 8172return breakdownTree;} 8173function addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEvents,networkEvents,rangeOfInterest){let idleRanges=[rangeOfInterest];const mainThreadEventRanges=tr.b.math.convertEventsToRanges(mainThreadEvents);const networkEventRanges=tr.b.math.convertEventsToRanges(networkEvents);const eventRanges=mainThreadEventRanges.concat(networkEventRanges);eventRanges.sort((a,b)=>a.min-b.min);for(const eventRange of eventRanges){if(!eventRange||eventRange.isEmpty||eventRange.duration<0){throw new Error('Range is invalid');} 8174const newLastIdleRanges=tr.b.math.Range.findDifference(idleRanges[idleRanges.length-1],eventRange);idleRanges.pop();idleRanges=idleRanges.concat(newLastIdleRanges);if(idleRanges.length===0)break;} 8175const totalFreeDuration=tr.b.math.Statistics.sum(idleRanges,range=>range.duration);breakdownTree.idle={total:totalFreeDuration,events:{}};let totalBlockedDuration=rangeOfInterest.duration;for(const component of Object.values(breakdownTree)){totalBlockedDuration-=component.total;} 8176breakdownTree.blocked_on_network={total:totalBlockedDuration,events:{}};} 8177function generateWallClockTimeBreakdownTree(mainThread,networkEvents,rangeOfInterest){function getEventStart(e){return e.start;} 8178function getEventDuration(e){return e.duration;} 8179function getEventSelfTime(e){return e.selfTime;} 8180const breakdownTree=generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime);const mainThreadEventsInRange=tr.model.helpers.getSlicesIntersectingRange(rangeOfInterest,mainThread.sliceGroup.topLevelSlices);addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEventsInRange,networkEvents,rangeOfInterest);return breakdownTree;} 8181function generateCpuTimeBreakdownTree(mainThread,rangeOfInterestCpuTime){function getEventStart(e){return e.cpuStart;} 8182function getEventDuration(e){return e.cpuDuration;} 8183function getEventSelfTime(e){return e.cpuSelfTime;} 8184return generateTimeBreakdownTree(mainThread,rangeOfInterestCpuTime,getEventStart,getEventDuration,getEventSelfTime);} 8185return{generateTimeBreakdownTree,generateWallClockTimeBreakdownTree,generateCpuTimeBreakdownTree,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const RESPONSIVENESS_THRESHOLD_MS=50;const INTERACTIVE_WINDOW_SIZE_MS=5*1000;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const RelatedEventSet=tr.v.d.RelatedEventSet;function getNetworkEventsInRange(process,range){const networkEvents=[];for(const thread of Object.values(process.threads)){const threadHelper=new tr.model.helpers.ChromeThreadHelper(thread);const events=threadHelper.getNetworkEvents();for(const event of events){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){networkEvents.push(event);}}} 8186return networkEvents;} 8187function hasCategoryAndName(event,category,title){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);} 8188function createBreakdownDiagnostic(breakdownTree){const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownTree){breakdownDiagnostic.set(label,breakdownTree[label].total);} 8189return breakdownDiagnostic;} 8190function NavigationStartFinder(rendererHelper){this.navigationStartsForFrameId_={};for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(!hasCategoryAndName(ev,'blink.user_timing','navigationStart')){continue;} 8191const frameIdRef=ev.args.frame;let list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined){this.navigationStartsForFrameId_[frameIdRef]=list=[];} 8192list.unshift(ev);}} 8193NavigationStartFinder.prototype={findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ts){const list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined)return undefined;let eventBeforeTimestamp;for(const ev of list){if(ev.start>ts)continue;if(eventBeforeTimestamp===undefined){eventBeforeTimestamp=ev;}} 8194if(eventBeforeTimestamp===undefined)return undefined;return eventBeforeTimestamp;}};const FIRST_PAINT_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,1e3,20).addLinearBins(3e3,20).addExponentialBins(20e3,20);function createHistogram(name){const histogram=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,FIRST_PAINT_BOUNDARIES);histogram.customizeSummaryOptions({avg:true,count:false,max:true,min:true,std:true,sum:false,});return histogram;} 8195function findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ts){const objects=rendererHelper.process.objects;const frameLoaderInstances=objects.instancesByTypeName_.FrameLoader;if(frameLoaderInstances===undefined)return undefined;let snapshot;for(const instance of frameLoaderInstances){if(!instance.isAliveAt(ts))continue;const maybeSnapshot=instance.getSnapshotAt(ts);if(frameIdRef!==maybeSnapshot.args.frame.id_ref)continue;snapshot=maybeSnapshot;} 8196return snapshot;} 8197function findAllEvents(rendererHelper,category,title){const targetEvents=[];for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,category,title))continue;targetEvents.push(ev);} 8198return targetEvents;} 8199function findFirstMeaningfulPaintCandidates(rendererHelper){const candidatesForFrameId={};for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,'loading','firstMeaningfulPaintCandidate')){continue;} 8200if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;if(frameIdRef===undefined)continue;let list=candidatesForFrameId[frameIdRef];if(list===undefined){candidatesForFrameId[frameIdRef]=list=[];} 8201list.push(ev);} 8202return candidatesForFrameId;} 8203const URL_EXCLUSION=['about:blank','data:text/html,pluginplaceholderdata','data:text/html,chromewebdata'];function shouldIgnoreURL(url){return URL_EXCLUSION.includes(url);} 8204function collectTimeToEvent(category,eventName,rendererHelper,navigationStartFinder){const targetEvents=findAllEvents(rendererHelper,category,eventName);const samples=[];for(const ev of targetEvents){if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ev.start);if(snapshot===undefined||!snapshot.args.isLoadingMainFrame)continue;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))continue;const navigationStartEvent=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartEvent===undefined)continue;const timeToEvent=ev.start-navigationStartEvent.start;samples.push({value:timeToEvent,diagnostics:{url:new tr.v.d.Generic(url)}});} 8205return samples;} 8206function addFirstMeaningfulPaintSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const navStartToFMPRange=tr.b.math.Range.fromExplicitRange(navigationStart.start,fmpMarkerEvent.start);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFMPRange);const timeToFirstMeaningfulPaint=navStartToFMPRange.duration;const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFMPRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:timeToFirstMeaningfulPaint,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});return{firstMeaningfulPaint:fmpMarkerEvent.start,url};} 8207function addFirstMeaningfulPaintCpuTimeSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const navStartToFMPCpuRange=tr.b.math.Range.fromExplicitRange(navigationStart.cpuStart,fmpMarkerEvent.cpuStart);const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const mainThreadCpuTime=getMainThreadCpuTime(rendererHelper,navStartToFMPCpuRange);const breakdownTree=tr.metrics.sh.generateCpuTimeBreakdownTree(rendererHelper.mainThread,navStartToFMPCpuRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:mainThreadCpuTime,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});} 8208function getMainThreadCpuTime(rendererHelper,rangeOfInterest){let mainThreadCpuTime=0;for(const slice of rendererHelper.mainThread.sliceGroup.topLevelSlices){if(!slice.cpuDuration)continue;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.cpuStart,slice.cpuStart+slice.cpuDuration);const intersection=rangeOfInterest.findIntersection(sliceRange);mainThreadCpuTime+=intersection.duration;} 8209return mainThreadCpuTime;} 8210function addFirstInteractiveSample(samples,rendererHelper,navigationStart,firstMeaningfulPaint,url){if(shouldIgnoreURL(url))return;const navigationStartTime=navigationStart.start;let firstInteractive=Infinity;let firstInteractiveCandidate=firstMeaningfulPaint;let lastLongTaskEvent=undefined;for(const ev of[...rendererHelper.mainThread.sliceGroup.childEvents()]){if(ev.start<firstInteractiveCandidate)continue;const interactiveDurationSoFar=ev.start-firstInteractiveCandidate;if(interactiveDurationSoFar>=INTERACTIVE_WINDOW_SIZE_MS){firstInteractive=firstInteractiveCandidate;break;} 8211if(ev.title==='TaskQueueManager::ProcessTaskFromWorkQueue'&&ev.duration>RESPONSIVENESS_THRESHOLD_MS){firstInteractiveCandidate=ev.end-50;lastLongTaskEvent=ev;}} 8212const navStartToFirstInteractiveRange=tr.b.math.Range.fromExplicitRange(navigationStartTime,firstInteractive);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFirstInteractiveRange);const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFirstInteractiveRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);const timeToFirstInteractive=navStartToFirstInteractiveRange.duration;samples.push({value:timeToFirstInteractive,diagnostics:{'Start':new RelatedEventSet(navigationStart),'Last long task':new RelatedEventSet(lastLongTaskEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStartTime,interactive:firstInteractive}),'Breakdown of [navStart, Interactive]':breakdownDiagnostic,}});} 8213function collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder){const firstMeaningfulPaintSamples=[];const firstMeaningfulPaintCpuTimeSamples=[];const firstInteractiveSamples=[];function addSamples(frameIdRef,navigationStart,fmpMarkerEvent){const data=addFirstMeaningfulPaintSample(firstMeaningfulPaintSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);addFirstMeaningfulPaintCpuTimeSample(firstMeaningfulPaintCpuTimeSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);if(data!==undefined){addFirstInteractiveSample(firstInteractiveSamples,rendererHelper,navigationStart,data.firstMeaningfulPaint,data.url);}} 8214const candidatesForFrameId=findFirstMeaningfulPaintCandidates(rendererHelper);for(const frameIdRef in candidatesForFrameId){let navigationStart=undefined;let lastCandidate=undefined;for(const ev of candidatesForFrameId[frameIdRef]){const navigationStartForThisCandidate=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartForThisCandidate===undefined)continue;if(navigationStart!==navigationStartForThisCandidate){if(navigationStart!==undefined&&lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);} 8215navigationStart=navigationStartForThisCandidate;} 8216lastCandidate=ev;} 8217if(lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);}} 8218return{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};} 8219function collectLoadingMetricsForRenderer(rendererHelper){const navigationStartFinder=new NavigationStartFinder(rendererHelper);const firstContentfulPaintSamples=collectTimeToEvent('loading','firstContentfulPaint',rendererHelper,navigationStartFinder);const onLoadSamples=collectTimeToEvent('blink.user_timing','loadEventStart',rendererHelper,navigationStartFinder);const{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder);return{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};} 8220function addSamplesToHistogram(samples,histogram){for(const sample of samples){histogram.addSample(sample.value,sample.diagnostics);}} 8221function loadingMetric(histograms,model){const firstContentfulPaintHistogram=createHistogram('timeToFirstContentfulPaint');firstContentfulPaintHistogram.description='time to first contentful paint';const onLoadHistogram=createHistogram('timeToOnload');onLoadHistogram.description='time to onload. '+'This is temporary metric used for PCv1/v2 correctness checking';const firstMeaningfulPaintHistogram=createHistogram('timeToFirstMeaningfulPaint');firstMeaningfulPaintHistogram.description='time to first meaningful paint';const firstMeaningfulPaintCpuTimeHistogram=createHistogram('cpuTimeToFirstMeaningfulPaint');firstMeaningfulPaintCpuTimeHistogram.description='CPU time to first meaningful paint';const firstInteractiveHistogram=createHistogram('timeToFirstInteractive');firstInteractiveHistogram.description='time to first interactive';const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const pid in chromeHelper.rendererHelpers){const rendererHelper=chromeHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;const{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectLoadingMetricsForRenderer(rendererHelper);addSamplesToHistogram(firstContentfulPaintSamples,firstContentfulPaintHistogram);addSamplesToHistogram(onLoadSamples,onLoadHistogram);addSamplesToHistogram(firstMeaningfulPaintSamples,firstMeaningfulPaintHistogram);addSamplesToHistogram(firstMeaningfulPaintCpuTimeSamples,firstMeaningfulPaintCpuTimeHistogram);addSamplesToHistogram(firstInteractiveSamples,firstInteractiveHistogram);} 8222histograms.addHistogram(firstContentfulPaintHistogram);histograms.addHistogram(onLoadHistogram);histograms.addHistogram(firstMeaningfulPaintHistogram);histograms.addHistogram(firstMeaningfulPaintCpuTimeHistogram);histograms.addHistogram(firstInteractiveHistogram);} 8223tr.metrics.MetricRegistry.register(loadingMetric);return{loadingMetric,getNetworkEventsInRange,collectLoadingMetricsForRenderer,RESPONSIVENESS_THRESHOLD_MS,INTERACTIVE_WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics',function(){const SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY=tr.v.HistogramBinBoundaries.createExponential(1,1000,50);function spaNavigationMetric(histograms,model){const histogram=new tr.v.Histogram('spaNavigationStartToFpDuration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY);histogram.description='Latency between the input event causing'+' a SPA navigation and the first paint event after it';histogram.customizeSummaryOptions({count:false,sum:false,});const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper){return;} 8224const rendererHelpers=modelHelper.rendererHelpers;if(!rendererHelpers){return;} 8225const browserHelper=modelHelper.browserHelper;for(const rendererHelper of Object.values(rendererHelpers)){const spaNavigations=tr.metrics.findSpaNavigationsOnRenderer(rendererHelper,browserHelper);for(const spaNav of spaNavigations){let beginTs=0;if(spaNav.navStartCandidates.inputLatencyAsyncSlice){const beginData=spaNav.navStartCandidates.inputLatencyAsyncSlice.args.data;beginTs=model.convertTimestampToModelTime('traceEventClock',beginData.INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.time);}else{beginTs=spaNav.navStartCandidates.goToIndexSlice.start;} 8226const rangeOfInterest=tr.b.math.Range.fromExplicitRange(beginTs,spaNav.firstPaintEvent.start);const networkEvents=tr.metrics.sh.getNetworkEventsInRange(rendererHelper.process,rangeOfInterest);const breakdownDict=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,rangeOfInterest);const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownDict){breakdownDiagnostic.set(label,parseInt(breakdownDict[label].total*1e3)/1e3);} 8227histogram.addSample(rangeOfInterest.duration,{'Breakdown of [navStart, firstPaint]':breakdownDiagnostic,'Start':new tr.v.d.RelatedEventSet(spaNav.navigationStart),'End':new tr.v.d.RelatedEventSet(spaNav.firstPaintEvent),'Navigation infos':new tr.v.d.Generic({url:spaNav.url,pid:rendererHelper.pid,navStart:beginTs,firstPaint:spaNav.firstPaintEvent.start})});}} 8228histograms.addHistogram(histogram);} 8229tr.metrics.MetricRegistry.register(spaNavigationMetric);return{spaNavigationMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LATENCY_BOUNDS=tr.v.HistogramBinBoundaries.createLinear(0,20,100);function clockSyncLatencyMetric(values,model){const domains=Array.from(model.clockSyncManager.domainsSeen).sort();for(let i=0;i<domains.length;i++){for(let j=i+1;j<domains.length;j++){const latency=model.clockSyncManager.getTimeTransformerError(domains[i],domains[j]);const hist=new tr.v.Histogram('clock_sync_latency_'+ 8230domains[i].toLowerCase()+'_to_'+domains[j].toLowerCase(),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,LATENCY_BOUNDS);hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,});hist.description='Clock sync latency for domain '+domains[i]+' to domain '+domains[j];hist.addSample(latency);values.addHistogram(hist);}}} 8231tr.metrics.MetricRegistry.register(clockSyncLatencyMetric);return{clockSyncLatencyMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CPU_TIME_PERCENTAGE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,50,200);function cpuTimeMetric(histograms,model,opt_options){let rangeOfInterest=model.bounds;if(opt_options&&opt_options.rangeOfInterest){rangeOfInterest=opt_options.rangeOfInterest;}else{const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper){const chromeBounds=chromeHelper.chromeBounds;if(chromeBounds){rangeOfInterest=chromeBounds;}}} 8232let allProcessCpuTime=0;for(const pid in model.processes){const process=model.processes[pid];if(tr.model.helpers.ChromeRendererHelper.isTracingProcess(process)){continue;} 8233let processCpuTime=0;for(const tid in process.threads){const thread=process.threads[tid];let threadCpuTime=0;thread.sliceGroup.topLevelSlices.forEach(function(slice){if(slice.duration===0)return;if(!slice.cpuDuration)return;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const fractionOfSliceInsideRangeOfInterest=intersection.duration/slice.duration;threadCpuTime+=slice.cpuDuration*fractionOfSliceInsideRangeOfInterest;});processCpuTime+=threadCpuTime;} 8234allProcessCpuTime+=processCpuTime;} 8235let normalizedAllProcessCpuTime=0;if(rangeOfInterest.duration>0){normalizedAllProcessCpuTime=allProcessCpuTime/rangeOfInterest.duration;} 8236const unit=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const cpuTimeHist=new tr.v.Histogram('cpu_time_percentage',unit,CPU_TIME_PERCENTAGE_BOUNDARIES);cpuTimeHist.description='Percent CPU utilization, normalized against a single core. Can be '+'greater than 100% if machine has multiple cores.';cpuTimeHist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false});cpuTimeHist.addSample(normalizedAllProcessCpuTime);histograms.addHistogram(cpuTimeHist);} 8237tr.metrics.MetricRegistry.register(cpuTimeMetric,{supportsRangeOfInterest:true});return{cpuTimeMetric,};});'use strict';tr.exportTo('tr.v',function(){class HistogramGrouping{constructor(key,callback,opt_label){this.key=key;this.callback=callback;this.label=opt_label||key;HistogramGrouping.KEYS_TO_GROUPINGS.set(key,this);}} 8238HistogramGrouping.KEYS_TO_GROUPINGS=new Map();class HistogramSet{constructor(opt_histograms){this.histogramsByGuid_=new Map();this.sharedDiagnosticsByGuid_=new Map();if(opt_histograms!==undefined){for(const hist of opt_histograms){this.addHistogram(hist);}}} 8239createHistogram(name,unit,samples,opt_options){const hist=tr.v.Histogram.create(name,unit,samples,opt_options);this.addHistogram(hist);return hist;} 8240addHistogram(hist,opt_diagnostics){if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Cannot add same Histogram twice');} 8241if(opt_diagnostics!==undefined){if(!(opt_diagnostics instanceof Map)){opt_diagnostics=Object.entries(opt_diagnostics);} 8242for(const[name,diagnostic]of opt_diagnostics){hist.diagnostics.set(name,diagnostic);}} 8243this.histogramsByGuid_.set(hist.guid,hist);} 8244addSharedDiagnostic(name,diagnostic){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);for(const hist of this){hist.diagnostics.set(name,diagnostic);}} 8245get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const hist of this.histogramsByGuid_.values()){yield hist;}} 8246getHistogramsNamed(name){return[...this].filter(h=>h.name===name);} 8247getHistogramNamed(name){const histograms=this.getHistogramsNamed(name);if(histograms.length===0)return undefined;if(histograms.length>1){throw new Error(`Unexpectedly found multiple histograms named "${name}"`);} 8248return histograms[0];} 8249lookupHistogram(guid){return this.histogramsByGuid_.get(guid);} 8250lookupDiagnostic(guid){return this.sharedDiagnosticsByGuid_.get(guid);} 8251resolveRelatedHistograms(){const handleDiagnosticMap=dm=>{for(const[name,diagnostic]of dm){if((diagnostic instanceof tr.v.d.RelatedHistogramSet)||(diagnostic instanceof tr.v.d.RelatedHistogramMap)){diagnostic.resolve(this);}}};for(const hist of this){hist.diagnostics.resolveSharedDiagnostics(this);handleDiagnosticMap(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){handleDiagnosticMap(dm);} 8252for(const bin of hist.allBins){for(const dm of bin.diagnosticMaps){handleDiagnosticMap(dm);}}}} 8253importDicts(dicts){for(const dict of dicts){if(dict.type&&tr.v.d.Diagnostic.findTypeInfoWithName(dict.type)){this.sharedDiagnosticsByGuid_.set(dict.guid,tr.v.d.Diagnostic.fromDict(dict));}else{this.addHistogram(tr.v.Histogram.fromDict(dict));}}} 8254asDicts(){const dicts=[];for(const diagnostic of this.sharedDiagnosticsByGuid_.values()){dicts.push(diagnostic.asDict());} 8255for(const hist of this){dicts.push(hist.asDict());} 8256return dicts;} 8257get sourceHistograms(){const sourceHistograms=new Map(this.histogramsByGuid_);function deleteSourceHistograms(diagnosticMap){for(const[name,diagnostic]of diagnosticMap){if(diagnostic instanceof tr.v.d.RelatedHistogramSet){for(const relatedHist of diagnostic){sourceHistograms.delete(relatedHist.guid);}}else if(diagnostic instanceof tr.v.d.RelatedHistogramMap){for(const[name,relatedHist]of diagnostic){sourceHistograms.delete(relatedHist.guid);}}}} 8258for(const hist of this){deleteSourceHistograms(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){deleteSourceHistograms(dm);} 8259for(const b of hist.allBins){for(const dm of b.diagnosticMaps){deleteSourceHistograms(dm);}}} 8260return new HistogramSet([...sourceHistograms.values()]);} 8261groupHistogramsRecursively(groupings,opt_skipGroupingCallback){function recurse(histograms,level){if(level===groupings.length){return histograms;} 8262const grouping=groupings[level];const groupedHistograms=tr.b.groupIntoMap(histograms,grouping.callback);if(opt_skipGroupingCallback&&opt_skipGroupingCallback(grouping,groupedHistograms)){return recurse(histograms,level+1);} 8263for(const[key,group]of groupedHistograms){groupedHistograms.set(key,recurse(group,level+1));} 8264return groupedHistograms;} 8265return recurse([...this],0);} 8266deduplicateDiagnostics(){const diagnosticsToCounts=new Map();for(const hist of this){const candidates=[];const telemetryInfo=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(telemetryInfo instanceof tr.v.d.MergedTelemetryInfo){candidates.push(telemetryInfo);} 8267const buildbotInfo=tr.v.d.BuildbotInfo.getFromHistogram(hist);if(buildbotInfo instanceof tr.v.d.MergedBuildbotInfo){candidates.push(buildbotInfo);} 8268const deviceInfo=tr.v.d.DeviceInfo.getFromHistogram(hist);if(deviceInfo instanceof tr.v.d.MergedDeviceInfo){candidates.push(deviceInfo);} 8269for(const diagnostic of candidates){if(diagnostic===undefined)continue;let found=false;for(const[testDiagnostic,count]of diagnosticsToCounts){if(diagnostic.equals(testDiagnostic)){testDiagnostic.addToHistogram(hist);diagnosticsToCounts.set(testDiagnostic,count+1);found=true;break;}} 8270if(!found){diagnosticsToCounts.set(diagnostic,1);}}} 8271for(const[diagnostic,count]of diagnosticsToCounts){if(count>1){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);}}} 8272mergeRelationships(){for(const hist of this){hist.diagnostics.mergeRelationships(hist);}}} 8273HistogramSet.GROUPINGS={HISTOGRAM_NAME:new HistogramGrouping('name',h=>h.name),BENCHMARK_NAME:new HistogramGrouping('benchmark',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkName','')),BENCHMARK_START:new HistogramGrouping('time',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkStartString','')),STORYSET_REPEAT:new HistogramGrouping('storyset_repeat',h=>tr.v.d.TelemetryInfo.getField(h,'storysetRepeatCounterLabel',0),'storyset repeat'),STORY_NAME:new HistogramGrouping('story',h=>tr.v.d.TelemetryInfo.getField(h,'storyDisplayName','')),LEGACY_TIR_LABEL:new HistogramGrouping('tir',h=>tr.v.d.TelemetryInfo.getField(h,'legacyTIRLabel','')),PRIMARY_NAME:new HistogramGrouping('primary',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotMasterName','')),PARTNER_NAME:new HistogramGrouping('bot',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotName','')),BUILD_NUMBER:new HistogramGrouping('build',h=>tr.v.d.BuildbotInfo.getField(h,'buildNumber','')),DISPLAY_LABEL:new HistogramGrouping('label',h=>tr.v.d.TelemetryInfo.getField(h,'displayLabel','Value'))};return{HistogramGrouping,HistogramSet,};});'use strict';tr.exportTo('tr.e.chrome',function(){function hasTitleAndCategory(event,title,category){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);} 8274function getNavStartTimestamps(rendererHelper){const navStartTimestamps=[];for(const e of rendererHelper.mainThread.sliceGroup.childEvents()){if(hasTitleAndCategory(e,'navigationStart','blink.user_timing')){navStartTimestamps.push(e.start);}} 8275return navStartTimestamps;} 8276function getInteractiveTimestamps(model){const interactiveTimestampsMap=new Map();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const timestamps=[];interactiveTimestampsMap.set(rendererHelper.pid,timestamps);const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){timestamps.push(sample.diagnostics['Navigation infos'].value.interactive);}} 8277return interactiveTimestampsMap;} 8278function getPostInteractiveTaskWindows(interactiveTimestamps,navStartTimestamps,traceEndTimestamp){let navStartTsIndex=0;let lastTaskWindowEndTs=undefined;const taskWindows=[];for(const currTTI of interactiveTimestamps){while(navStartTsIndex<navStartTimestamps.length&&navStartTimestamps[navStartTsIndex]<currTTI){navStartTsIndex++;} 8279const taskWindowEndTs=navStartTsIndex<navStartTimestamps.length?navStartTimestamps[navStartTsIndex]:traceEndTimestamp;if(taskWindowEndTs===lastTaskWindowEndTs){throw Error('Encountered two consecutive interactive timestamps '+'with no navigationStart between them. '+'PostInteractiveTaskWindow is not well defined in this case.');} 8280taskWindows.push(tr.b.math.Range.fromExplicitRange(currTTI,taskWindowEndTs));lastTaskWindowEndTs=taskWindowEndTs;} 8281return taskWindows;} 8282function contributionToEQT(window,task){const startInWindow=Math.max(window.min,task.start);const endInWindow=Math.min(window.max,task.end);const durationInWindow=endInWindow-startInWindow;if(durationInWindow<=0)return 0;const probabilityOfTask=durationInWindow/(window.max-window.min);const minQueueingTime=task.end-endInWindow;const maxQueueingTime=task.end-startInWindow;const expectedQueueingTimeDueToTask=(maxQueueingTime+minQueueingTime)/2;return probabilityOfTask*expectedQueueingTimeDueToTask;} 8283function weightedExpectedQueueingTime(window,weightedTasks){let result=0;for(const task of weightedTasks){result+=contributionToEQT(window,task)*task.weight;} 8284return result;} 8285function expectedQueueingTime(window,tasks){return weightedExpectedQueueingTime(window,tasks.map(function(task){return{start:task.start,end:task.end,weight:1};}));} 8286class SlidingWindow{constructor(startTime,windowSize,sortedTasks){this.windowSize_=windowSize;this.sortedTasks_=sortedTasks;this.range_=tr.b.math.Range.fromExplicitRange(startTime,startTime+windowSize);this.firstTaskIndex_=sortedTasks.findIndex(task=>startTime<task.end);if(this.firstTaskIndex_===-1){this.firstTaskIndex_=sortedTasks.length;} 8287this.lastTaskIndex_=-1;while(this.lastTaskIndex_+1<sortedTasks.length&&sortedTasks[this.lastTaskIndex_+1].start<startTime+windowSize){this.lastTaskIndex_++;} 8288this.innerEQT_=0;for(let i=this.firstTaskIndex_+1;i<this.lastTaskIndex_;i++){this.innerEQT_+=contributionToEQT(this.range_,sortedTasks[i]);}} 8289get getEQT(){let firstTaskEQT=0;if(this.firstTaskIndex_<this.sortedTasks_.length){firstTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);} 8290let lastTaskEQT=0;if(this.firstTaskIndex_<this.lastTaskIndex_){lastTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);} 8291return firstTaskEQT+this.innerEQT_+lastTaskEQT;} 8292slide(t){this.range_=tr.b.math.Range.fromExplicitRange(t,t+this.windowSize_);if(this.firstTaskIndex_<this.sortedTasks_.length&&this.sortedTasks_[this.firstTaskIndex_].end<=t){this.firstTaskIndex_++;if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_-=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);}} 8293if(this.lastTaskIndex_+1<this.sortedTasks_.length&&this.sortedTasks_[this.lastTaskIndex_+1].start<t+this.windowSize_){if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_+=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);} 8294this.lastTaskIndex_++;}}} 8295function maxExpectedQueueingTimeInSlidingWindow(startTime,endTime,windowSize,tasks){if(windowSize<=0){throw Error('The window size must be positive number');} 8296if(startTime+windowSize>endTime){throw Error('The sliding window must fit in the specified time range');} 8297const sortedTasks=tasks.slice().sort((a,b)=>a.start-b.start);for(let i=1;i<sortedTasks.length;i++){const PRECISION_MS=0.1;if(sortedTasks[i-1].end>sortedTasks[i].start+PRECISION_MS){throw Error('Tasks must not overlap');} 8298if(sortedTasks[i-1].end>sortedTasks[i].start){const midpoint=(sortedTasks[i-1].end+sortedTasks[i].start)/2;sortedTasks[i-1].end=midpoint;sortedTasks[i].start=midpoint;}} 8299let endpoints=[];endpoints.push(startTime);endpoints.push(endTime-windowSize);for(const task of tasks){endpoints.push(task.start-windowSize);endpoints.push(task.start);endpoints.push(task.end-windowSize);endpoints.push(task.end);} 8300endpoints=endpoints.filter(x=>(startTime<=x&&x+windowSize<=endTime));endpoints.sort((a,b)=>a-b);const slidingWindow=new SlidingWindow(endpoints[0],windowSize,sortedTasks);let maxEQT=0;for(const t of endpoints){slidingWindow.slide(t);maxEQT=Math.max(maxEQT,slidingWindow.getEQT);} 8301return maxEQT;} 8302return{getPostInteractiveTaskWindows,getNavStartTimestamps,getInteractiveTimestamps,expectedQueueingTime,maxExpectedQueueingTimeInSlidingWindow,weightedExpectedQueueingTime};});'use strict';tr.exportTo('tr.metrics.sh',function(){const WINDOW_SIZE_MS=500;const EQT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,WINDOW_SIZE_MS,50);const V8_EVENT_NAMES_TO_FILTERS=new Map([['v8',fromPredicate_(tr.metrics.v8.utils.isV8Event)],['v8:compile',fromPredicate_(tr.metrics.v8.utils.isCompileEvent)],['v8:compile:optimize',fromPredicate_(tr.metrics.v8.utils.isCompileOptimizeEvent)],['v8:compile:parse',fromPredicate_(tr.metrics.v8.utils.isCompileParseEvent)],['v8:compile:compile-unoptimize',filterCompileUnoptimizeAndSubtractParseEvents_],['v8:execute',fromPredicate_(tr.metrics.v8.utils.isV8ExecuteEvent)],['v8:gc',fromPredicate_(tr.metrics.v8.utils.isGarbageCollectionEvent)],['v8:gc:full-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isFullMarkCompactorEvent)],['v8:gc:incremental-marking',fromPredicate_(tr.metrics.v8.utils.isIncrementalMarkingEvent)],['v8:gc:latency-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isLatencyMarkCompactorEvent)],['v8:gc:memory-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isMemoryMarkCompactorEvent)],['v8:gc:scavenger',fromPredicate_(tr.metrics.v8.utils.isScavengerEvent)]]);function fromPredicate_(eventPredicate){return function(slice){const duration=durationOfTopmostSubSlices(slice,eventPredicate);return{start:slice.start,end:slice.start+duration};};} 8303function filterCompileUnoptimizeAndSubtractParseEvents_(slice){const duration=durationOfTopmostSubSlices(slice,tr.metrics.v8.utils.isCompileUnoptimizeEvent,tr.metrics.v8.utils.isCompileParseEvent);return{start:slice.start,end:slice.start+duration};} 8304function containsForcedGC_(slice){return slice.findTopmostSlicesRelativeToThisSlice(tr.metrics.v8.utils.isForcedGarbageCollectionEvent).length>0;} 8305function createHistogramForEQT_(name,description){const histogram=new tr.v.Histogram(name,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,EQT_BOUNDARIES);histogram.customizeSummaryOptions({avg:false,count:false,max:true,min:false,std:false,sum:false,});histogram.description=description;return histogram;} 8306function expectedQueueingTimeMetric(histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer');const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer while the page is interactive');const rendererHelpers=Object.values(chromeHelper.rendererHelpers);const rendererToInteractiveTimestamps=tr.e.chrome.getInteractiveTimestamps(model);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(slice=>{return{start:slice.start,end:slice.end};});totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;} 8307const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));} 8308addV8ContributionToExpectedQueueingTime(totalHistogram,interactiveHistogram,rendererToInteractiveTimestamps,histograms,model);histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);} 8309function addV8ContributionToExpectedQueueingTime(totalEqtHistogram,interactiveEqtHistogram,rendererToInteractiveTimestamps,histograms,model){if(!model.categories.includes('v8'))return;const breakdownForTotal=new tr.v.d.RelatedHistogramMap();const breakdownForInteractive=new tr.v.d.RelatedHistogramMap();for(const[eventName,filterFunction]of V8_EVENT_NAMES_TO_FILTERS){const contribution=contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model);breakdownForTotal.set(eventName,contribution.total);breakdownForInteractive.set(eventName,contribution.interactive);} 8310totalEqtHistogram.diagnostics.set('v8',breakdownForTotal);interactiveEqtHistogram.diagnostics.set('v8',breakdownForInteractive);} 8311function durationOfTopmostSubSlices(slice,predicate,subEventPredicate){let duration=0;for(const sub of slice.findTopmostSlicesRelativeToThisSlice(predicate)){duration+=sub.duration;if(subEventPredicate!==null&&subEventPredicate!==undefined){duration-=durationOfTopmostSubSlices(sub,subEventPredicate);}} 8312return duration;} 8313function contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer. It is computed as the maximum EQT in'+` a ${WINDOW_SIZE_MS}ms sliding window after shrinking top-level`+` tasks to contain only ${eventName} subevents`);const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer while the page is interactive. It is computed'+` as the maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window after`+` shrinking top-level tasks to contain only ${eventName} subevents`);const rendererHelpers=Object.values(chromeHelper.rendererHelpers);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(filterFunction);totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;} 8314const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));} 8315histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);return{total:totalHistogram,interactive:interactiveHistogram};} 8316tr.metrics.MetricRegistry.register(expectedQueueingTimeMetric);return{expectedQueueingTimeMetric,contributionToExpectedQueueingTime,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LONG_TASK_MS=50;const LONGEST_TASK_MS=1000;function iterateLongTopLevelTasksOnThreadInRange(thread,opt_range,cb,opt_this){thread.sliceGroup.topLevelSlices.forEach(function(slice){if(opt_range&&!opt_range.intersectsExplicitRangeInclusive(slice.start,slice.end)){return;} 8317if(slice.duration<LONG_TASK_MS)return;cb.call(opt_this,slice);});} 8318function iterateRendererMainThreads(model,cb,opt_this){const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper!==undefined){Object.values(modelHelper.rendererHelpers).forEach(function(rendererHelper){if(!rendererHelper.mainThread)return;cb.call(opt_this,rendererHelper.mainThread);});}} 8319function longTasksMetric(histograms,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const longTaskHist=new tr.v.Histogram('long tasks',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(LONG_TASK_MS,LONGEST_TASK_MS,40));longTaskHist.description='durations of long tasks';const slices=new tr.model.EventSet();iterateRendererMainThreads(model,function(thread){iterateLongTopLevelTasksOnThreadInRange(thread,rangeOfInterest,function(task){longTaskHist.addSample(task.duration,{relatedEvents:new tr.v.d.RelatedEventSet([task])});slices.push(task);slices.addEventSet(task.descendentSlices);});});histograms.addHistogram(longTaskHist);const sampleForEvent=undefined;const breakdown=tr.v.d.RelatedHistogramBreakdown.buildFromEvents(histograms,'long tasks ',slices,e=>(model.getUserFriendlyCategoryFromEvent(e)||'unknown'),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,sampleForEvent,tr.v.HistogramBinBoundaries.createExponential(1,LONGEST_TASK_MS,40));breakdown.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;longTaskHist.diagnostics.set('category',breakdown);} 8320tr.metrics.MetricRegistry.register(longTasksMetric,{supportsRangeOfInterest:true});return{longTasksMetric,iterateLongTopLevelTasksOnThreadInRange,iterateRendererMainThreads,LONG_TASK_MS,LONGEST_TASK_MS,};});'use strict';tr.exportTo('tr.b',function(){function MultiDimensionalViewNode(title,valueCount){this.title=title;const dimensions=title.length;this.children=new Array(dimensions);for(let i=0;i<dimensions;i++){this.children[i]=new Map();} 8321this.values=new Array(valueCount);for(let v=0;v<valueCount;v++){this.values[v]={self:0,total:0,totalState:NOT_PROVIDED};}} 8322MultiDimensionalViewNode.TotalState={NOT_PROVIDED:0,LOWER_BOUND:1,EXACT:2};const NOT_PROVIDED=MultiDimensionalViewNode.TotalState.NOT_PROVIDED;const LOWER_BOUND=MultiDimensionalViewNode.TotalState.LOWER_BOUND;const EXACT=MultiDimensionalViewNode.TotalState.EXACT;MultiDimensionalViewNode.prototype={get subRows(){return tr.b.mapValues(this.children[0]);}};function MultiDimensionalViewBuilder(dimensions,valueCount){if(typeof(dimensions)!=='number'||dimensions<0){throw new Error('Dimensions must be a non-negative number');} 8323this.dimensions_=dimensions;if(typeof(valueCount)!=='number'||valueCount<0){throw new Error('Number of values must be a non-negative number');} 8324this.valueCount_=valueCount;this.buildRoot_=this.createRootNode_();this.topDownTreeViewRoot_=undefined;this.topDownHeavyViewRoot_=undefined;this.bottomUpHeavyViewNode_=undefined;this.complete_=false;this.maxDimensionDepths_=new Array(dimensions);for(let d=0;d<dimensions;d++){this.maxDimensionDepths_[d]=0;}} 8325MultiDimensionalViewBuilder.ValueKind={SELF:0,TOTAL:1};MultiDimensionalViewBuilder.ViewType={TOP_DOWN_TREE_VIEW:0,TOP_DOWN_HEAVY_VIEW:1,BOTTOM_UP_HEAVY_VIEW:2};MultiDimensionalViewBuilder.prototype={addPath(path,values,valueKind){if(this.buildRoot_===undefined){throw new Error('Paths cannot be added after either view has been built');} 8326if(path.length!==this.dimensions_){throw new Error('Path must be '+this.dimensions_+'-dimensional');} 8327if(values.length!==this.valueCount_){throw new Error('Must provide '+this.valueCount_+' values');} 8328let isTotal;switch(valueKind){case MultiDimensionalViewBuilder.ValueKind.SELF:isTotal=false;break;case MultiDimensionalViewBuilder.ValueKind.TOTAL:isTotal=true;break;default:throw new Error('Invalid value kind: '+valueKind);} 8329let node=this.buildRoot_;for(let d=0;d<path.length;d++){const singleDimensionPath=path[d];const singleDimensionPathLength=singleDimensionPath.length;this.maxDimensionDepths_[d]=Math.max(this.maxDimensionDepths_[d],singleDimensionPathLength);for(let i=0;i<singleDimensionPathLength;i++){node=this.getOrCreateChildNode_(node,d,singleDimensionPath[i]);}} 8330for(let v=0;v<this.valueCount_;v++){const addedValue=values[v];if(addedValue===undefined)continue;const nodeValue=node.values[v];if(isTotal){nodeValue.total+=addedValue;nodeValue.totalState=EXACT;}else{nodeValue.self+=addedValue;nodeValue.totalState=Math.max(nodeValue.totalState,LOWER_BOUND);}}},get complete(){return this.complete_;},set complete(isComplete){if(this.buildRoot_===undefined){throw new Error('Can\'t set complete after any view has been built.');} 8331this.complete_=isComplete;},buildView(viewType){switch(viewType){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW:return this.buildTopDownTreeView();case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:return this.buildTopDownHeavyView();case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return this.buildBottomUpHeavyView();default:throw new Error('Unknown multi-dimensional view type: '+viewType);}},buildTopDownTreeView(){if(this.topDownTreeViewRoot_===undefined){const treeViewRoot=this.buildRoot_;this.buildRoot_=undefined;this.setUpMissingChildRelationships_(treeViewRoot,0);this.finalizeTotalValues_(treeViewRoot,0,new WeakMap());this.topDownTreeViewRoot_=treeViewRoot;} 8332return this.topDownTreeViewRoot_;},buildTopDownHeavyView(){if(this.topDownHeavyViewRoot_===undefined){this.topDownHeavyViewRoot_=this.buildGenericHeavyView_(this.addDimensionToTopDownHeavyViewNode_.bind(this));} 8333return this.topDownHeavyViewRoot_;},buildBottomUpHeavyView(){if(this.bottomUpHeavyViewNode_===undefined){this.bottomUpHeavyViewNode_=this.buildGenericHeavyView_(this.addDimensionToBottomUpHeavyViewNode_.bind(this));} 8334return this.bottomUpHeavyViewNode_;},createRootNode_(){return new MultiDimensionalViewNode(new Array(this.dimensions_),this.valueCount_);},getOrCreateChildNode_(parentNode,dimension,childDimensionTitle){if(dimension<0||dimension>=this.dimensions_){throw new Error('Invalid dimension');} 8335const dimensionChildren=parentNode.children[dimension];let childNode=dimensionChildren.get(childDimensionTitle);if(childNode!==undefined){return childNode;} 8336const childTitle=parentNode.title.slice();childTitle[dimension]=childDimensionTitle;childNode=new MultiDimensionalViewNode(childTitle,this.valueCount_);dimensionChildren.set(childDimensionTitle,childNode);return childNode;},setUpMissingChildRelationships_(node,firstDimensionToSetUp){for(let d=firstDimensionToSetUp;d<this.dimensions_;d++){const currentDimensionChildTitles=new Set(node.children[d].keys());for(let i=0;i<d;i++){for(const previousDimensionChildNode of node.children[i].values()){for(const previousDimensionGrandChildTitle of 8337previousDimensionChildNode.children[d].keys()){currentDimensionChildTitles.add(previousDimensionGrandChildTitle);}}} 8338for(const currentDimensionChildTitle of currentDimensionChildTitles){const currentDimensionChildNode=this.getOrCreateChildNode_(node,d,currentDimensionChildTitle);for(let i=0;i<d;i++){for(const previousDimensionChildNode of 8339node.children[i].values()){const previousDimensionGrandChildNode=previousDimensionChildNode.children[d].get(currentDimensionChildTitle);if(previousDimensionGrandChildNode!==undefined){currentDimensionChildNode.children[i].set(previousDimensionChildNode.title[i],previousDimensionGrandChildNode);}}} 8340this.setUpMissingChildRelationships_(currentDimensionChildNode,d);}}},finalizeTotalValues_(node,firstDimensionToFinalize,dimensionalSelfSumsMap){const dimensionalSelfSums=new Array(this.dimensions_);const minResidual=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++)minResidual[v]=0;const nodeValues=node.values;const nodeSelfSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]=nodeValues[v].self;} 8341for(let d=0;d<this.dimensions_;d++){const childResidualSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){childResidualSums[v]=0;} 8342for(const childNode of node.children[d].values()){if(d>=firstDimensionToFinalize){this.finalizeTotalValues_(childNode,d,dimensionalSelfSumsMap);} 8343const childNodeSelfSums=dimensionalSelfSumsMap.get(childNode);const childNodeValues=childNode.values;for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]+=childNodeSelfSums[d][v];const residual=childNodeValues[v].total- 8344childNodeSelfSums[this.dimensions_-1][v];childResidualSums[v]+=residual;if(this.complete){nodeValues[v].totalState=EXACT;}else if(childNodeValues[v].totalState>NOT_PROVIDED){nodeValues[v].totalState=Math.max(nodeValues[v].totalState,LOWER_BOUND);}}} 8345dimensionalSelfSums[d]=nodeSelfSums.slice();for(let v=0;v<this.valueCount_;v++){minResidual[v]=Math.max(minResidual[v],childResidualSums[v]);}} 8346for(let v=0;v<this.valueCount_;v++){nodeValues[v].total=Math.max(nodeValues[v].total,nodeSelfSums[v]+minResidual[v]);} 8347if(dimensionalSelfSumsMap.has(node)){throw new Error('Internal error: Node finalized more than once');} 8348dimensionalSelfSumsMap.set(node,dimensionalSelfSums);},buildGenericHeavyView_(treeViewNodeHandler){const treeViewRoot=this.buildTopDownTreeView();const heavyViewRoot=this.createRootNode_();heavyViewRoot.values=treeViewRoot.values;const recursionDepthTrackers=new Array(this.dimensions_);for(let d=0;d<this.dimensions_;d++){recursionDepthTrackers[d]=new RecursionDepthTracker(this.maxDimensionDepths_[d],d);} 8349this.addDimensionsToGenericHeavyViewNode_(treeViewRoot,heavyViewRoot,0,recursionDepthTrackers,false,treeViewNodeHandler);this.setUpMissingChildRelationships_(heavyViewRoot,0);return heavyViewRoot;},addDimensionsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,startDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){for(let d=startDimension;d<this.dimensions_;d++){this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,d,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);}},addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){const treeViewChildren=treeViewParentNode.children[currentDimension];const recursionDepthTracker=recursionDepthTrackers[currentDimension];for(const treeViewChildNode of treeViewChildren.values()){recursionDepthTracker.push(treeViewChildNode);treeViewNodeHandler(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive);this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);recursionDepthTracker.pop();}},addDimensionToTopDownHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,1);},addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const currentDimensionRecursive=subTreeDepth<=recursionDepthTracker.recursionDepth;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;const dimensionTitle=treeViewChildNode.title[currentDimension];const heavyViewChildNode=this.getOrCreateChildNode_(heavyViewParentNode,currentDimension,dimensionTitle);this.addNodeValues_(treeViewChildNode,heavyViewChildNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewChildNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToTopDownHeavyViewNode_.bind(this));for(const treeViewGrandChildNode of 8350treeViewChildNode.children[currentDimension].values()){recursionDepthTracker.push(treeViewGrandChildNode);this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewGrandChildNode,heavyViewChildNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth+1);recursionDepthTracker.pop();}},addDimensionToBottomUpHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const bottomIndex=recursionDepthTracker.bottomIndex;const topIndex=recursionDepthTracker.topIndex;const firstNonRecursiveIndex=bottomIndex+recursionDepthTracker.recursionDepth;const viewNodePath=recursionDepthTracker.viewNodePath;const trackerAncestorNode=recursionDepthTracker.trackerAncestorNode;let heavyViewDescendantNode=heavyViewParentNode;for(let i=bottomIndex;i<topIndex;i++){const treeViewAncestorNode=viewNodePath[i];const dimensionTitle=treeViewAncestorNode.title[currentDimension];heavyViewDescendantNode=this.getOrCreateChildNode_(heavyViewDescendantNode,currentDimension,dimensionTitle);const currentDimensionRecursive=i<firstNonRecursiveIndex;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;this.addNodeValues_(treeViewChildNode,heavyViewDescendantNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewDescendantNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToBottomUpHeavyViewNode_.bind(this));}},addNodeValues_(sourceNode,targetNode,addTotal){const targetNodeValues=targetNode.values;const sourceNodeValues=sourceNode.values;for(let v=0;v<this.valueCount_;v++){const targetNodeValue=targetNodeValues[v];const sourceNodeValue=sourceNodeValues[v];targetNodeValue.self+=sourceNodeValue.self;if(addTotal){targetNodeValue.total+=sourceNodeValue.total;if(this.complete){targetNodeValue.totalState=EXACT;}else if(sourceNodeValue.totalState>NOT_PROVIDED){targetNodeValue.totalState=Math.max(targetNodeValue.totalState,LOWER_BOUND);}}}}};function RecursionDepthTracker(maxDepth,dimension){this.titlePath=new Array(maxDepth);this.viewNodePath=new Array(maxDepth);this.bottomIndex=this.topIndex=maxDepth;this.dimension_=dimension;this.currentTrackerNode_=this.createNode_(0,undefined);} 8351RecursionDepthTracker.prototype={push(viewNode){if(this.bottomIndex===0){throw new Error('Cannot push to a full tracker');} 8352const title=viewNode.title[this.dimension_];this.bottomIndex--;this.titlePath[this.bottomIndex]=title;this.viewNodePath[this.bottomIndex]=viewNode;let childTrackerNode=this.currentTrackerNode_.children.get(title);if(childTrackerNode!==undefined){this.currentTrackerNode_=childTrackerNode;return;} 8353const maxLengths=zFunction(this.titlePath,this.bottomIndex);let recursionDepth=0;for(let i=0;i<maxLengths.length;i++){recursionDepth=Math.max(recursionDepth,maxLengths[i]);} 8354childTrackerNode=this.createNode_(recursionDepth,this.currentTrackerNode_);this.currentTrackerNode_.children.set(title,childTrackerNode);this.currentTrackerNode_=childTrackerNode;},pop(){if(this.bottomIndex===this.topIndex){throw new Error('Cannot pop from an empty tracker');} 8355this.titlePath[this.bottomIndex]=undefined;this.viewNodePath[this.bottomIndex]=undefined;this.bottomIndex++;this.currentTrackerNode_=this.currentTrackerNode_.parent;},get recursionDepth(){return this.currentTrackerNode_.recursionDepth;},createNode_(recursionDepth,parent){return{recursionDepth,parent,children:new Map()};}};function zFunction(list,startIndex){const n=list.length-startIndex;if(n===0)return[];const z=new Array(n);z[0]=0;for(let i=1,left=0,right=0;i<n;++i){let maxLength;if(i<=right){maxLength=Math.min(right-i+1,z[i-left]);}else{maxLength=0;} 8356while(i+maxLength<n&&list[startIndex+maxLength]===list[startIndex+i+maxLength]){++maxLength;} 8357if(i+maxLength-1>right){left=i;right=i+maxLength-1;} 8358z[i]=maxLength;} 8359return z;} 8360return{MultiDimensionalViewBuilder,MultiDimensionalViewNode,RecursionDepthTracker,zFunction,};});'use strict';tr.exportTo('tr.b',function(){class FixedColorScheme{constructor(namesToColors){this.namesToColors_=namesToColors;} 8361static fromNames(names){const namesToColors=new Map();const generator=new tr.b.SinebowColorGenerator();for(const name of names){namesToColors.set(name,generator.colorForKey(name));} 8362return new FixedColorScheme(namesToColors);} 8363getColor(name){const color=this.namesToColors_.get(name);if(color===undefined)throw new Error('Unknown color: '+name);return color;}} 8364const MemoryColumnColorScheme=new FixedColorScheme(new Map([['used_memory_column',new tr.b.Color(0,0,255)],['older_used_memory_column',new tr.b.Color(153,204,255)],['tracing_memory_column',new tr.b.Color(153,153,153)]]));function FixedColorSchemeRegistry(){} 8365FixedColorSchemeRegistry.lookUp=function(name){const info=this.findTypeInfoMatching(info=>info.metadata.name===name);if(!info)return undefined;return info.constructor();};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(FixedColorSchemeRegistry,options);return{MemoryColumnColorScheme,FixedColorScheme,FixedColorSchemeRegistry,};});'use strict';tr.exportTo('tr.e.chrome.chrome_processes',function(){const CHROME_PROCESS_NAMES={BROWSER:'browser_process',RENDERER:'renderer_processes',ALL:'all_processes',GPU:'gpu_process',PPAPI:'ppapi_process',UNKNOWN:'unknown_processes',};const PROCESS_COLOR_SCHEME_NAME='ChromeProcessNames';const PROCESS_COLOR_SCHEME=tr.b.FixedColorScheme.fromNames(Object.values(CHROME_PROCESS_NAMES));tr.b.FixedColorSchemeRegistry.register(()=>PROCESS_COLOR_SCHEME,{name:PROCESS_COLOR_SCHEME_NAME,});function canonicalizeName(name){return name.toLowerCase().replace(' ','_');} 8366function canonicalizeProcessName(rawProcessName){if(!rawProcessName)return CHROME_PROCESS_NAMES.UNKNOWN;const baseCanonicalName=canonicalizeName(rawProcessName);switch(baseCanonicalName){case'renderer':return CHROME_PROCESS_NAMES.RENDERER;case'browser':return CHROME_PROCESS_NAMES.BROWSER;} 8367if(Object.values(CHROME_PROCESS_NAMES).includes(baseCanonicalName)){return baseCanonicalName;} 8368throw new Error(`Unknown process name "${baseCanonicalName}".`+' Please add it to |CHROME_PROCESS_NAMES|.');} 8369return{CHROME_PROCESS_NAMES,PROCESS_COLOR_SCHEME,PROCESS_COLOR_SCHEME_NAME,canonicalizeName,canonicalizeProcessName,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const LEVEL_OF_DETAIL_NAMES=new Map();LEVEL_OF_DETAIL_NAMES.set(BACKGROUND,'background');LEVEL_OF_DETAIL_NAMES.set(LIGHT,'light');LEVEL_OF_DETAIL_NAMES.set(DETAILED,'detailed');const HEAP_PROFILER_DETAIL_NAME='heap_profiler';const BOUNDARIES_FOR_UNIT_MAP=new WeakMap();BOUNDARIES_FOR_UNIT_MAP.set(count_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,20,20));BOUNDARIES_FOR_UNIT_MAP.set(sizeInBytes_smallerIsBetter,new tr.v.HistogramBinBoundaries(0).addBinBoundary(1024).addExponentialBins(16*1024*1024*1024,4*24));const CHROME_PROCESS_NAMES=tr.e.chrome.chrome_processes.CHROME_PROCESS_NAMES;function memoryMetric(values,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const browserNameToGlobalDumps=splitGlobalDumpsByBrowserName(model,rangeOfInterest);addGeneralMemoryDumpValues(browserNameToGlobalDumps,values);addDetailedMemoryDumpValues(browserNameToGlobalDumps,values);addMemoryDumpCountValues(browserNameToGlobalDumps,values);} 8370function splitGlobalDumpsByBrowserName(model,opt_rangeOfInterest){const chromeModelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const browserNameToGlobalDumps=new Map();const globalDumpToBrowserHelper=new WeakMap();if(chromeModelHelper){chromeModelHelper.browserHelpers.forEach(function(helper){const globalDumps=skipDumpsThatDoNotIntersectRange(helper.process.memoryDumps.map(d=>d.globalMemoryDump),opt_rangeOfInterest);globalDumps.forEach(function(globalDump){const existingHelper=globalDumpToBrowserHelper.get(globalDump);if(existingHelper!==undefined){throw new Error('Memory dump ID clash across multiple browsers '+'with PIDs: '+existingHelper.pid+' and '+helper.pid);} 8371globalDumpToBrowserHelper.set(globalDump,helper);});makeKeyUniqueAndSet(browserNameToGlobalDumps,tr.e.chrome.chrome_processes.canonicalizeName(helper.browserName),globalDumps);});} 8372const unclassifiedGlobalDumps=skipDumpsThatDoNotIntersectRange(model.globalMemoryDumps.filter(g=>!globalDumpToBrowserHelper.has(g)),opt_rangeOfInterest);if(unclassifiedGlobalDumps.length>0){makeKeyUniqueAndSet(browserNameToGlobalDumps,'unknown_browser',unclassifiedGlobalDumps);} 8373return browserNameToGlobalDumps;} 8374function skipDumpsThatDoNotIntersectRange(dumps,opt_range){if(!opt_range)return dumps;return dumps.filter(d=>opt_range.intersectsExplicitRangeInclusive(d.start,d.end));} 8375const USER_FRIENDLY_BROWSER_NAMES={'chrome':'Chrome','webview':'WebView','unknown_browser':'an unknown browser'};function convertBrowserNameToUserFriendlyName(browserName){for(const baseName in USER_FRIENDLY_BROWSER_NAMES){if(!browserName.startsWith(baseName))continue;const userFriendlyBaseName=USER_FRIENDLY_BROWSER_NAMES[baseName];const suffix=browserName.substring(baseName.length);if(suffix.length===0){return userFriendlyBaseName;}else if(/^\d+$/.test(suffix)){return userFriendlyBaseName+'('+suffix+')';}} 8376return'\''+browserName+'\' browser';} 8377function convertProcessNameToUserFriendlyName(processName,opt_requirePlural){switch(processName){case CHROME_PROCESS_NAMES.BROWSER:return opt_requirePlural?'browser processes':'the browser process';case CHROME_PROCESS_NAMES.RENDERER:return'renderer processes';case CHROME_PROCESS_NAMES.GPU:return opt_requirePlural?'GPU processes':'the GPU process';case CHROME_PROCESS_NAMES.PPAPI:return opt_requirePlural?'PPAPI processes':'the PPAPI process';case CHROME_PROCESS_NAMES.ALL:return'all processes';case CHROME_PROCESS_NAMES.UNKNOWN:return'unknown processes';default:return'\''+processName+'\' processes';}} 8378function makeKeyUniqueAndSet(map,key,value){let uniqueKey=key;let nextIndex=2;while(map.has(uniqueKey)){uniqueKey=key+nextIndex;nextIndex++;} 8379map.set(uniqueKey,value);} 8380function addGeneralMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,gmd=>true,function(processDump,addProcessScalar){addProcessScalar({source:'process_count',property:PROCESS_COUNT,value:1});if(processDump.totals!==undefined){addProcessScalar({source:'reported_by_os',property:RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.residentBytes});addProcessScalar({source:'reported_by_os',property:PEAK_RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.peakResidentBytes});} 8381if(processDump.memoryAllocatorDumps===undefined)return;processDump.memoryAllocatorDumps.forEach(function(rootAllocatorDump){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property,value:rootAllocatorDump.numerics[property.name]});});if(rootAllocatorDump.numerics.allocated_objects_size===undefined){const allocatedObjectsDump=rootAllocatorDump.getDescendantDumpByFullName('allocated_objects');if(allocatedObjectsDump!==undefined){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property:ALLOCATED_OBJECTS_SIZE,value:allocatedObjectsDump.numerics.size});}}});addV8MemoryDumpValues(processDump,addProcessScalar);},function(componentTree){const tracingNode=componentTree.children[1].get('tracing');if(tracingNode===undefined)return;for(let i=0;i<componentTree.values.length;i++){componentTree.values[i].total-=tracingNode.values[i].total;}},values);} 8382function addV8MemoryDumpValues(processDump,addProcessScalar){const v8Dump=processDump.getMemoryAllocatorDumpByFullName('v8');if(v8Dump===undefined)return;v8Dump.children.forEach(function(isolateDump){const mallocDump=isolateDump.getDescendantDumpByFullName('malloc');if(mallocDump!==undefined){addV8ComponentValues(mallocDump,['v8','allocated_by_malloc'],addProcessScalar);} 8383const heapDump=isolateDump.getDescendantDumpByFullName('heap_spaces');if(heapDump!==undefined){addV8ComponentValues(heapDump,['v8','heap'],addProcessScalar);heapDump.children.forEach(function(spaceDump){if(spaceDump.name==='other_spaces')return;addV8ComponentValues(spaceDump,['v8','heap',spaceDump.name],addProcessScalar);});}});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.code_and_metadata_size});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.bytecode_and_metadata_size});} 8384function addV8ComponentValues(componentDump,componentPath,addProcessScalar){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:componentPath,property,value:componentDump.numerics[property.name]});});} 8385const PROCESS_COUNT={unit:count_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){if(componentPath.length>0){throw new Error('Unexpected process count non-empty component path: '+ 8386componentPath.join(':'));} 8387return'total number of '+convertProcessNameToUserFriendlyName(processName,true);}};const EFFECTIVE_SIZE={name:'effective_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'effective size',componentPreposition:'of'});}};const ALLOCATED_OBJECTS_SIZE={name:'allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated',totalUserFriendlyPropertyName:'size of all allocated objects',componentPreposition:'by'});}};const SHIM_ALLOCATED_OBJECTS_SIZE={name:'shim_allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated through shim',totalUserFriendlyPropertyName:'size of all allocated objects through shim',componentPreposition:'by'});}};const LOCKED_SIZE={name:'locked_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'locked (pinned) size',componentPreposition:'of'});}};const PEAK_SIZE={name:'peak_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'peak size',componentPreposition:'of'});}};const CODE_AND_METADATA_SIZE={name:'code_and_metadata_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyNamePrefix:'size of',userFriendlyPropertyName:'code and metadata'});}};const CHROME_VALUE_PROPERTIES=[EFFECTIVE_SIZE,ALLOCATED_OBJECTS_SIZE,SHIM_ALLOCATED_OBJECTS_SIZE,LOCKED_SIZE,PEAK_SIZE];function buildChromeValueDescriptionPrefix(componentPath,processName,formatSpec){const nameParts=[];if(componentPath.length===0){nameParts.push('total');if(formatSpec.totalUserFriendlyPropertyName){nameParts.push(formatSpec.totalUserFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);} 8388nameParts.push(formatSpec.userFriendlyPropertyName);} 8389nameParts.push('reported by Chrome for');}else{if(formatSpec.componentPreposition===undefined){if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);} 8390nameParts.push(componentPath.join(':'));nameParts.push(formatSpec.userFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);} 8391nameParts.push(formatSpec.userFriendlyPropertyName);nameParts.push(formatSpec.componentPreposition);if(componentPath[componentPath.length-1]==='allocated_by_malloc'){nameParts.push('objects allocated by malloc for');nameParts.push(componentPath.slice(0,componentPath.length-1).join(':'));}else{nameParts.push(componentPath.join(':'));}} 8392nameParts.push('in');} 8393nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');} 8394const RESIDENT_SIZE={name:'resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'resident set size (RSS)');}};const PEAK_RESIDENT_SIZE={name:'peak_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'peak resident set size');}};const PROPORTIONAL_RESIDENT_SIZE={name:'proportional_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'proportional resident size (PSS)');}};const PRIVATE_DIRTY_SIZE={name:'private_dirty_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'private dirty size');}};function buildOsValueDescriptionPrefix(componentPath,processName,userFriendlyPropertyName){if(componentPath.length>2){throw new Error('OS value component path for \''+ 8395userFriendlyPropertyName+'\' too long: '+componentPath.join(':'));} 8396const nameParts=[];if(componentPath.length<2){nameParts.push('total');} 8397nameParts.push(userFriendlyPropertyName);if(componentPath.length>0){switch(componentPath[0]){case'system_memory':if(componentPath.length>1){const userFriendlyComponentName=SYSTEM_VALUE_COMPONENTS[componentPath[1]].userFriendlyName;if(userFriendlyComponentName===undefined){throw new Error('System value sub-component for \''+ 8398userFriendlyPropertyName+'\' unknown: '+ 8399componentPath.join(':'));} 8400nameParts.push('of',userFriendlyComponentName,'in');}else{nameParts.push('of system memory (RAM) used by');} 8401break;case'gpu_memory':if(componentPath.length>1){nameParts.push('of the',componentPath[1]);nameParts.push('Android memtrack component in');}else{nameParts.push('of GPU memory (Android memtrack) used by');} 8402break;default:throw new Error('OS value component for \''+ 8403userFriendlyPropertyName+'\' unknown: '+ 8404componentPath.join(':'));}}else{nameParts.push('reported by the OS for');} 8405nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');} 8406function addDetailedMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,g=>g.levelOfDetail===DETAILED,function(processDump,addProcessScalar){for(const[componentName,componentSpec]of 8407Object.entries(SYSTEM_VALUE_COMPONENTS)){const node=getDescendantVmRegionClassificationNode(processDump.vmRegions,componentSpec.classificationPath);const componentPath=['system_memory'];if(componentName)componentPath.push(componentName);addProcessScalar({source:'reported_by_os',component:componentPath,property:PROPORTIONAL_RESIDENT_SIZE,value:node===undefined?0:(node.byteStats.proportionalResident||0)});addProcessScalar({source:'reported_by_os',component:componentPath,property:PRIVATE_DIRTY_SIZE,value:node===undefined?0:(node.byteStats.privateDirtyResident||0)});} 8408const memtrackDump=processDump.getMemoryAllocatorDumpByFullName('gpu/android_memtrack');if(memtrackDump!==undefined){memtrackDump.children.forEach(function(memtrackChildDump){addProcessScalar({source:'reported_by_os',component:['gpu_memory',memtrackChildDump.name],property:PROPORTIONAL_RESIDENT_SIZE,value:memtrackChildDump.numerics.memtrack_pss});});}},function(componentTree){},values);} 8409const SYSTEM_VALUE_COMPONENTS={'':{classificationPath:[],},'java_heap':{classificationPath:['Android','Java runtime','Spaces'],userFriendlyName:'the Java heap'},'ashmem':{classificationPath:['Android','Ashmem'],userFriendlyName:'ashmem'},'native_heap':{classificationPath:['Native heap'],userFriendlyName:'the native heap'},'stack':{classificationPath:['Stack'],userFriendlyName:'the thread stacks'}};function getDescendantVmRegionClassificationNode(node,path){for(let i=0;i<path.length;i++){if(node===undefined)break;node=tr.b.findFirstInArray(node.children,c=>c.title===path[i]);} 8410return node;} 8411function addMemoryDumpCountValues(browserNameToGlobalDumps,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){let totalDumpCount=0;const levelOfDetailNameToDumpCount={};LEVEL_OF_DETAIL_NAMES.forEach(function(levelOfDetailName){levelOfDetailNameToDumpCount[levelOfDetailName]=0;});levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]=0;globalDumps.forEach(function(globalDump){totalDumpCount++;const levelOfDetailName=LEVEL_OF_DETAIL_NAMES.get(globalDump.levelOfDetail);if(levelOfDetailName===undefined){return;} 8412levelOfDetailNameToDumpCount[levelOfDetailName]++;if(globalDump.levelOfDetail===DETAILED){if(detectHeapProfilerInMemoryDump(globalDump)){levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]++;}}});reportMemoryDumpCountAsValue(browserName,undefined,totalDumpCount,values);for(const[levelOfDetailName,levelOfDetailDumpCount]of 8413Object.entries(levelOfDetailNameToDumpCount)){reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values);}});} 8414function detectHeapProfilerInMemoryDump(globalDump){for(const processDump of Object.values(globalDump.processMemoryDumps)){if(processDump.heapDumps&&processDump.heapDumps.malloc){const mallocDump=processDump.heapDumps.malloc;if(mallocDump.entries&&mallocDump.entries.length>0){return true;}}} 8415return false;} 8416function reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values){const nameParts=['memory',browserName,'all_processes','dump_count'];if(levelOfDetailName!==undefined){nameParts.push(levelOfDetailName);} 8417const name=nameParts.join(':');const histogram=new tr.v.Histogram(name,count_smallerIsBetter,BOUNDARIES_FOR_UNIT_MAP.get(count_smallerIsBetter));histogram.addSample(levelOfDetailDumpCount);const userFriendlyLevelOfDetail=(levelOfDetailName||'all').replace('_',' ');histogram.description=['total number of',userFriendlyLevelOfDetail,'memory dumps added by',convertBrowserNameToUserFriendlyName(browserName),'to the trace'].join(' ');values.addHistogram(histogram);} 8418function addMemoryDumpValues(browserNameToGlobalDumps,customGlobalDumpFilter,customProcessDumpValueExtractor,customComponentTreeModifier,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){const filteredGlobalDumps=globalDumps.filter(customGlobalDumpFilter);const sourceToPropertyToBuilder=extractDataFromGlobalDumps(filteredGlobalDumps,customProcessDumpValueExtractor);reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values);});} 8419function extractDataFromGlobalDumps(globalDumps,customProcessDumpValueExtractor){const sourceToPropertyToBuilder=new Map();const dumpCount=globalDumps.length;globalDumps.forEach(function(globalDump,dumpIndex){for(const processDump of Object.values(globalDump.processMemoryDumps)){extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor);}});return sourceToPropertyToBuilder;} 8420function extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor){const rawProcessName=processDump.process.name;const processNamePath=[tr.e.chrome.chrome_processes.canonicalizeProcessName(rawProcessName)];customProcessDumpValueExtractor(processDump,function addProcessScalar(spec){if(spec.value===undefined)return;const component=spec.component||[];function createDetailsForErrorMessage(){return['source=',spec.source,', property=',spec.property.name||'(undefined)',', component=',component.length===0?'(empty)':component.join(':'),' in ',processDump.process.userFriendlyName].join('');} 8421let value;if(spec.value instanceof tr.b.Scalar){value=spec.value.value;if(spec.value.unit!==spec.property.unit){throw new Error('Scalar unit for '+ 8422createDetailsForErrorMessage()+' ('+ 8423spec.value.unit.unitName+') doesn\'t match the unit of the property ('+ 8424spec.property.unit.unitName+')');}}else{value=spec.value;} 8425let propertyToBuilder=sourceToPropertyToBuilder.get(spec.source);if(propertyToBuilder===undefined){propertyToBuilder=new Map();sourceToPropertyToBuilder.set(spec.source,propertyToBuilder);} 8426let builder=propertyToBuilder.get(spec.property);if(builder===undefined){builder=new tr.b.MultiDimensionalViewBuilder(2,dumpCount),propertyToBuilder.set(spec.property,builder);} 8427const values=new Array(dumpCount);values[dumpIndex]=value;builder.addPath([processNamePath,component],values,tr.b.MultiDimensionalViewBuilder.ValueKind.TOTAL);});} 8428function reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values){sourceToPropertyToBuilder.forEach(function(propertyToBuilder,sourceName){propertyToBuilder.forEach(function(builders,property){const tree=builders.buildTopDownTreeView();reportComponentDataAsValues(browserName,sourceName,property,[],[],tree,values,customComponentTreeModifier);});});} 8429function reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,tree,values,customComponentTreeModifier,opt_cachedHistograms){const cachedHistograms=opt_cachedHistograms||new Map();function recurse(processPath,componentPath,node){return reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,node,values,customComponentTreeModifier,cachedHistograms);} 8430function buildHistogram(processPath,componentPath,node){return buildNamedMemoryNumericFromNode(browserName,sourceName,property,processPath.length===0?'all_processes':processPath[0],componentPath,node);} 8431customComponentTreeModifier(tree);const histogram=buildHistogram(processPath,componentPath,tree);if(cachedHistograms.has(histogram.name)){return cachedHistograms.get(histogram.name);} 8432cachedHistograms.set(histogram.name,histogram);const processBreakdown=new tr.v.d.RelatedHistogramBreakdown();processBreakdown.colorScheme=tr.e.chrome.chrome_processes.PROCESS_COLOR_SCHEME_NAME;for(const[childProcessName,childProcessNode]of tree.children[0]){processPath.push(childProcessName);const childProcessHistogram=recurse(processPath,componentPath,childProcessNode);processBreakdown.set(childProcessName,childProcessHistogram);processPath.pop();} 8433const componentBreakdown=new tr.v.d.RelatedHistogramBreakdown();for(const[childComponentName,childComponentNode]of tree.children[1]){componentPath.push(childComponentName);const childComponentHistogram=recurse(processPath,componentPath,childComponentNode);componentBreakdown.set(childComponentName,childComponentHistogram);componentPath.pop();} 8434values.addHistogram(histogram);if(tree.children[0].size>0){histogram.diagnostics.set('processes',processBreakdown);} 8435if(tree.children[1].size>0){histogram.diagnostics.set('components',componentBreakdown);} 8436return histogram;} 8437function getNumericName(browserName,sourceName,propertyName,processName,componentPath){const nameParts=['memory',browserName,processName,sourceName].concat(componentPath);if(propertyName!==undefined)nameParts.push(propertyName);return nameParts.join(':');} 8438function getNumericDescription(property,browserName,processName,componentPath){return[property.buildDescriptionPrefix(componentPath,processName),'in',convertBrowserNameToUserFriendlyName(browserName)].join(' ');} 8439function buildNamedMemoryNumericFromNode(browserName,sourceName,property,processName,componentPath,node){const name=getNumericName(browserName,sourceName,property.name,processName,componentPath);const description=getNumericDescription(property,browserName,processName,componentPath);const numeric=buildMemoryNumericFromNode(name,node,property.unit);numeric.description=description;return numeric;} 8440function buildMemoryNumericFromNode(name,node,unit){const histogram=new tr.v.Histogram(name,unit,BOUNDARIES_FOR_UNIT_MAP.get(unit));node.values.forEach(v=>histogram.addSample(v.total));return histogram;} 8441tr.metrics.MetricRegistry.register(memoryMetric,{supportsRangeOfInterest:true});return{memoryMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CHROME_POWER_GRACE_PERIOD_MS=1;function createEmptyHistogram_(interval,histograms){if(interval.perSecond){return{perSecond:true,energy:histograms.createHistogram(`${interval.name}:power`,tr.b.Unit.byName.powerInWatts_smallerIsBetter,[],{description:`Energy consumption rate for ${interval.description}`,summaryOptions:{avg:true,count:false,max:true,min:true,std:false,sum:false,},}),};} 8442return{perSecond:false,energy:histograms.createHistogram(`${interval.name}:energy`,tr.b.Unit.byName.energyInJoules_smallerIsBetter,[],{description:`Energy consumed in ${interval.description}`,summaryOptions:{avg:false,count:false,max:true,min:true,std:false,sum:true,},}),};} 8443function createHistograms_(data,interval,histograms){if(data.histograms[interval.name]===undefined){data.histograms[interval.name]=createEmptyHistogram_(interval,histograms);} 8444if(data.histograms[interval.name].perSecond){for(const sample of data.model.device.powerSeries.getSamplesWithinRange(interval.bounds.min,interval.bounds.max)){data.histograms[interval.name].energy.addSample(sample.powerInW);}}else{const energyInJ=data.model.device.powerSeries.getEnergyConsumedInJ(interval.bounds.min,interval.bounds.max);data.histograms[interval.name].energy.addSample(energyInJ);}} 8445function getNavigationTTIIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const intervals=[];for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){const info=sample.diagnostics['Navigation infos'].value;intervals.push(tr.b.math.Range.fromExplicitRange(info.start,info.interactive));}} 8446return intervals.sort((x,y)=>x.min-y.min);} 8447function*computeTimeIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const powerSeries=model.device.powerSeries;if(powerSeries===undefined||powerSeries.samples.length===0){return;} 8448yield{bounds:model.bounds,name:'story',description:'user story',perSecond:true};const chromeBounds=computeChromeBounds_(model);if(chromeBounds.isEmpty)return;const powerSeriesBoundsWithGracePeriod=tr.b.math.Range.fromExplicitRange(powerSeries.bounds.min-CHROME_POWER_GRACE_PERIOD_MS,powerSeries.bounds.max+CHROME_POWER_GRACE_PERIOD_MS);if(!powerSeriesBoundsWithGracePeriod.containsRangeExclusive(chromeBounds)){return;} 8449for(const interval of getRailStageIntervals_(model)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};} 8450for(const interval of getLoadingIntervals_(model,chromeBounds)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};}} 8451function*getRailStageIntervals_(model){for(const exp of model.userModel.expectations){const histogramName=exp.title.toLowerCase().replace(' ','_');const energyHist=undefined;if(histogramName.includes('response')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:false};}else if(histogramName.includes('animation')||histogramName.includes('idle')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:true};}}} 8452function*getLoadingIntervals_(model,chromeBounds){const ttiIntervals=getNavigationTTIIntervals_(model);let lastLoadTime=undefined;for(const ttiInterval of ttiIntervals){yield{bounds:ttiInterval,name:'load',description:'page loads',perSecond:false};lastLoadTime=lastLoadTime===undefined?ttiInterval.max:Math.max(lastLoadTime,ttiInterval.max);} 8453if(lastLoadTime!==undefined){yield{bounds:tr.b.math.Range.fromExplicitRange(lastLoadTime,chromeBounds.max),name:'after_load',description:'period after load',perSecond:true};}} 8454function computeChromeBounds_(model){const chromeBounds=new tr.b.math.Range();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper===undefined)return chromeBounds;for(const helper of chromeHelper.browserHelpers){if(helper.mainThread){chromeBounds.addRange(helper.mainThread.bounds);}} 8455for(const pid in chromeHelper.rendererHelpers){if(chromeHelper.rendererHelpers[pid].mainThread){chromeBounds.addRange(chromeHelper.rendererHelpers[pid].mainThread.bounds);}} 8456return chromeBounds;} 8457function powerMetric(histograms,model){const data={model,histograms:{}};for(const interval of computeTimeIntervals_(model)){createHistograms_(data,interval,histograms);}} 8458tr.metrics.MetricRegistry.register(powerMetric);return{powerMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function computeAnimationThroughput(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+ 8459animationExpectation.stableId);} 8460const durationInS=tr.b.convertUnit(animationExpectation.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return animationExpectation.frameEvents.length/durationInS;} 8461function computeAnimationframeTimeDiscrepancy(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+ 8462animationExpectation.stableId);} 8463let frameTimestamps=animationExpectation.frameEvents;frameTimestamps=frameTimestamps.toArray().map(function(event){return event.start;});const absolute=true;return tr.b.math.Statistics.timestampsDiscrepancy(frameTimestamps,absolute);} 8464function responsivenessMetric(histograms,model,opt_options){const responseNumeric=new tr.v.Histogram('response latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(100,1e3,50));const throughputNumeric=new tr.v.Histogram('animation throughput',tr.b.Unit.byName.unitlessNumber_biggerIsBetter,tr.v.HistogramBinBoundaries.createLinear(10,60,10));const frameTimeDiscrepancyNumeric=new tr.v.Histogram('animation frameTimeDiscrepancy',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,1e3,50).addExponentialBins(1e4,10));const latencyNumeric=new tr.v.Histogram('animation latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,300,60));model.userModel.expectations.forEach(function(ue){if(opt_options&&opt_options.rangeOfInterest&&!opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(ue.start,ue.end)){return;} 8465const sampleDiagnosticMap=tr.v.d.DiagnosticMap.fromObject({relatedEvents:new tr.v.d.RelatedEventSet([ue])});if(ue instanceof tr.model.um.IdleExpectation){return;}else if(ue instanceof tr.model.um.StartupExpectation){return;}else if(ue instanceof tr.model.um.LoadExpectation){}else if(ue instanceof tr.model.um.ResponseExpectation){responseNumeric.addSample(ue.duration,sampleDiagnosticMap);}else if(ue instanceof tr.model.um.AnimationExpectation){if(ue.frameEvents===undefined||ue.frameEvents.length===0){return;} 8466const throughput=computeAnimationThroughput(ue);if(throughput===undefined){throw new Error('Missing throughput for '+ 8467ue.stableId);} 8468throughputNumeric.addSample(throughput,sampleDiagnosticMap);const frameTimeDiscrepancy=computeAnimationframeTimeDiscrepancy(ue);if(frameTimeDiscrepancy===undefined){throw new Error('Missing frameTimeDiscrepancy for '+ 8469ue.stableId);} 8470frameTimeDiscrepancyNumeric.addSample(frameTimeDiscrepancy,sampleDiagnosticMap);ue.associatedEvents.forEach(function(event){if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){return;} 8471latencyNumeric.addSample(event.duration,sampleDiagnosticMap);});}else{throw new Error('Unrecognized stage for '+ue.stableId);}});[responseNumeric,throughputNumeric,frameTimeDiscrepancyNumeric,latencyNumeric].forEach(function(numeric){numeric.customizeSummaryOptions({avg:true,max:true,min:true,std:true});});histograms.addHistogram(responseNumeric);histograms.addHistogram(throughputNumeric);histograms.addHistogram(frameTimeDiscrepancyNumeric);histograms.addHistogram(latencyNumeric);} 8472tr.metrics.MetricRegistry.register(responsivenessMetric,{supportsRangeOfInterest:true});return{responsivenessMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function webviewStartupMetric(histograms,model){const startupWallHist=new tr.v.Histogram('webview_startup_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupWallHist.description='WebView startup wall time';const startupCPUHist=new tr.v.Histogram('webview_startup_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupCPUHist.description='WebView startup CPU time';const loadWallHist=new tr.v.Histogram('webview_url_load_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadWallHist.description='WebView blank URL load wall time';const loadCPUHist=new tr.v.Histogram('webview_url_load_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadCPUHist.description='WebView blank URL load CPU time';for(const slice of model.getDescendantEvents()){if(!(slice instanceof tr.model.ThreadSlice))continue;if(slice.title==='WebViewStartupInterval'){startupWallHist.addSample(slice.duration);startupCPUHist.addSample(slice.cpuDuration);} 8473if(slice.title==='WebViewBlankUrlLoadInterval'){loadWallHist.addSample(slice.duration);loadCPUHist.addSample(slice.cpuDuration);}} 8474histograms.addHistogram(startupWallHist);histograms.addHistogram(startupCPUHist);histograms.addHistogram(loadWallHist);histograms.addHistogram(loadCPUHist);} 8475tr.metrics.MetricRegistry.register(webviewStartupMetric);return{webviewStartupMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const MEMORY_INFRA_TRACING_CATEGORY='disabled-by-default-memory-infra';const TIME_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1e-3,1e5,30);const BYTE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e9,30);const COUNT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e5,30);const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;function addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes){const memoryDumpCount=model.globalMemoryDumps.length;if(memoryDumpCount===0)return;let totalOverhead=0;let nonMemoryInfraThreadOverhead=0;const overheadByProvider={};for(const process of Object.values(model.processes)){for(const thread of Object.values(process.threads)){for(const slice of Object.values(thread.sliceGroup.slices)){if(slice.category!==MEMORY_INFRA_TRACING_CATEGORY)continue;totalOverhead+=slice.duration;if(thread.name!=='MemoryInfra'){nonMemoryInfraThreadOverhead+=slice.duration;} 8476if(slice.args&&slice.args['dump_provider.name']){const providerName=slice.args['dump_provider.name'];let durationAndCount=overheadByProvider[providerName];if(durationAndCount===undefined){overheadByProvider[providerName]=durationAndCount={duration:0,count:0};} 8477durationAndCount.duration+=slice.duration;durationAndCount.count++;}}}} 8478histograms.createHistogram('memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,totalOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on all threads per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('nonmemory_thread_memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,nonMemoryInfraThreadOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on non-memory-infra threads '+'per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});for(const[providerName,overhead]of Object.entries(overheadByProvider)){histograms.createHistogram(`${providerName}_memory_dump_cpu_overhead`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,overhead.duration/overhead.count,{binBoundaries:TIME_BOUNDARIES,description:`Average CPU overhead of ${providerName} per OnMemoryDump call`,summaryOptions:SUMMARY_OPTIONS,});} 8479const memoryInfraEventsSize=categoryNamesToTotalEventSizes.get(MEMORY_INFRA_TRACING_CATEGORY);const memoryInfraTraceBytesValue=new tr.v.Histogram('total_memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);memoryInfraTraceBytesValue.description='Total trace size of memory-infra dumps in bytes';memoryInfraTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);memoryInfraTraceBytesValue.addSample(memoryInfraEventsSize);histograms.addHistogram(memoryInfraTraceBytesValue);const traceBytesPerDumpValue=new tr.v.Histogram('memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);traceBytesPerDumpValue.description='Average trace size of memory-infra dumps in bytes';traceBytesPerDumpValue.customizeSummaryOptions(SUMMARY_OPTIONS);traceBytesPerDumpValue.addSample(memoryInfraEventsSize/memoryDumpCount);histograms.addHistogram(traceBytesPerDumpValue);} 8480function tracingMetric(histograms,model){histograms.createHistogram('trace_import_duration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,model.stats.traceImportDurationMs,{binBoundaries:TIME_BOUNDARIES,description:'Duration that trace viewer required to import the trace',summaryOptions:SUMMARY_OPTIONS,});if(!model.stats.hasEventSizesinBytes)return;const eventStats=model.stats.allTraceEventStatsInTimeIntervals;eventStats.sort((a,b)=>a.timeInterval-b.timeInterval);const totalTraceBytes=eventStats.reduce((a,b)=>a+b.totalEventSizeinBytes,0);let maxEventCountPerSec=0;let maxEventBytesPerSec=0;const INTERVALS_PER_SEC=Math.floor(1000/model.stats.TIME_INTERVAL_SIZE_IN_MS);let runningEventNumPerSec=0;let runningEventBytesPerSec=0;let start=0;let end=0;while(end<eventStats.length){runningEventNumPerSec+=eventStats[end].numEvents;runningEventBytesPerSec+=eventStats[end].totalEventSizeinBytes;end++;while((eventStats[end-1].timeInterval- 8481eventStats[start].timeInterval)>=INTERVALS_PER_SEC){runningEventNumPerSec-=eventStats[start].numEvents;runningEventBytesPerSec-=eventStats[start].totalEventSizeinBytes;start++;} 8482maxEventCountPerSec=Math.max(maxEventCountPerSec,runningEventNumPerSec);maxEventBytesPerSec=Math.max(maxEventBytesPerSec,runningEventBytesPerSec);} 8483const stats=model.stats.allTraceEventStats;const categoryNamesToTotalEventSizes=(stats.reduce((map,stat)=>(map.set(stat.category,((map.get(stat.category)||0)+ 8484stat.totalEventSizeinBytes))),new Map()));const maxCatNameAndBytes=Array.from(categoryNamesToTotalEventSizes.entries()).reduce((a,b)=>((b[1]>=a[1])?b:a));const maxEventBytesPerCategory=maxCatNameAndBytes[1];const categoryWithMaxEventBytes=maxCatNameAndBytes[0];const maxEventCountPerSecValue=new tr.v.Histogram('peak_event_rate',tr.b.Unit.byName.count_smallerIsBetter,COUNT_BOUNDARIES);maxEventCountPerSecValue.description='Max number of events per second';maxEventCountPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventCountPerSecValue.addSample(maxEventCountPerSec);const maxEventBytesPerSecValue=new tr.v.Histogram('peak_event_size_rate',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);maxEventBytesPerSecValue.description='Max event size in bytes per second';maxEventBytesPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventBytesPerSecValue.addSample(maxEventBytesPerSec);const totalTraceBytesValue=new tr.v.Histogram('trace_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);totalTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);totalTraceBytesValue.addSample(totalTraceBytes);const biggestCategory={name:categoryWithMaxEventBytes,size_in_bytes:maxEventBytesPerCategory};totalTraceBytesValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(totalTraceBytesValue);maxEventCountPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventCountPerSecValue);maxEventBytesPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventBytesPerSecValue);addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes);} 8485tr.metrics.MetricRegistry.register(tracingMetric);return{tracingMetric,MEMORY_INFRA_TRACING_CATEGORY,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(4,200,100);function computeExecuteMetrics(histograms,model){const cpuTotalExecution=new tr.v.Histogram('v8_execution_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalExecution.description='cpu total time spent in script execution';const wallTotalExecution=new tr.v.Histogram('v8_execution_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalExecution.description='wall total time spent in script execution';const cpuSelfExecution=new tr.v.Histogram('v8_execution_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfExecution.description='cpu self time spent in script execution';const wallSelfExecution=new tr.v.Histogram('v8_execution_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfExecution.description='wall self time spent in script execution';for(const e of model.findTopmostSlicesNamed('V8.Execute')){cpuTotalExecution.addSample(e.cpuDuration);wallTotalExecution.addSample(e.duration);cpuSelfExecution.addSample(e.cpuSelfTime);wallSelfExecution.addSample(e.selfTime);} 8486histograms.addHistogram(cpuTotalExecution);histograms.addHistogram(wallTotalExecution);histograms.addHistogram(cpuSelfExecution);histograms.addHistogram(wallSelfExecution);} 8487function computeParseLazyMetrics(histograms,model){const cpuSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfParseLazy.description='cpu self time spent performing lazy parsing';const wallSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfParseLazy.description='wall self time spent performing lazy parsing';for(const e of model.findTopmostSlicesNamed('V8.ParseLazyMicroSeconds')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);} 8488for(const e of model.findTopmostSlicesNamed('V8.ParseLazy')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);} 8489histograms.addHistogram(cpuSelfParseLazy);histograms.addHistogram(wallSelfParseLazy);} 8490function computeCompileFullCodeMetrics(histograms,model){const cpuSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileFullCode.description='cpu self time spent performing compiling full code';const wallSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileFullCode.description='wall self time spent performing compiling full code';for(const e of model.findTopmostSlicesNamed('V8.CompileFullCode')){cpuSelfCompileFullCode.addSample(e.cpuSelfTime);wallSelfCompileFullCode.addSample(e.selfTime);} 8491histograms.addHistogram(cpuSelfCompileFullCode);histograms.addHistogram(wallSelfCompileFullCode);} 8492function computeCompileIgnitionMetrics(histograms,model){const cpuSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileIgnition.description='cpu self time spent in compile ignition';const wallSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileIgnition.description='wall self time spent in compile ignition';for(const e of model.findTopmostSlicesNamed('V8.CompileIgnition')){cpuSelfCompileIgnition.addSample(e.cpuSelfTime);wallSelfCompileIgnition.addSample(e.selfTime);} 8493histograms.addHistogram(cpuSelfCompileIgnition);histograms.addHistogram(wallSelfCompileIgnition);} 8494function computeRecompileMetrics(histograms,model){const cpuTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileSynchronous.description='cpu total time spent in synchronous recompilation';const wallTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileSynchronous.description='wall total time spent in synchronous recompilation';const cpuTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileConcurrent.description='cpu total time spent in concurrent recompilation';const wallTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileConcurrent.description='wall total time spent in concurrent recompilation';const cpuTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileOverall.description='cpu total time spent in synchronous or concurrent recompilation';const wallTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileOverall.description='wall total time spent in synchronous or concurrent recompilation';for(const e of model.findTopmostSlicesNamed('V8.RecompileSynchronous')){cpuTotalRecompileSynchronous.addSample(e.cpuDuration);wallTotalRecompileSynchronous.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);} 8495histograms.addHistogram(cpuTotalRecompileSynchronous);histograms.addHistogram(wallTotalRecompileSynchronous);for(const e of model.findTopmostSlicesNamed('V8.RecompileConcurrent')){cpuTotalRecompileConcurrent.addSample(e.cpuDuration);wallTotalRecompileConcurrent.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);} 8496histograms.addHistogram(cpuTotalRecompileConcurrent);histograms.addHistogram(wallTotalRecompileConcurrent);histograms.addHistogram(cpuTotalRecompileOverall);histograms.addHistogram(wallTotalRecompileOverall);} 8497function computeOptimizeCodeMetrics(histograms,model){const cpuTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalOptimizeCode.description='cpu total time spent in code optimization';const wallTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalOptimizeCode.description='wall total time spent in code optimization';for(const e of model.findTopmostSlicesNamed('V8.OptimizeCode')){cpuTotalOptimizeCode.addSample(e.cpuDuration);wallTotalOptimizeCode.addSample(e.duration);} 8498histograms.addHistogram(cpuTotalOptimizeCode);histograms.addHistogram(wallTotalOptimizeCode);} 8499function computeDeoptimizeCodeMetrics(histograms,model){const cpuTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalDeoptimizeCode.description='cpu total time spent in code deoptimization';const wallTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalDeoptimizeCode.description='wall total time spent in code deoptimization';for(const e of model.findTopmostSlicesNamed('V8.DeoptimizeCode')){cpuTotalDeoptimizeCode.addSample(e.cpuDuration);wallTotalDeoptimizeCode.addSample(e.duration);} 8500histograms.addHistogram(cpuTotalDeoptimizeCode);histograms.addHistogram(wallTotalDeoptimizeCode);} 8501function executionMetric(histograms,model){computeExecuteMetrics(histograms,model);computeParseLazyMetrics(histograms,model);computeCompileIgnitionMetrics(histograms,model);computeCompileFullCodeMetrics(histograms,model);computeRecompileMetrics(histograms,model);computeOptimizeCodeMetrics(histograms,model);computeDeoptimizeCodeMetrics(histograms,model);} 8502tr.metrics.MetricRegistry.register(executionMetric);return{executionMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const TARGET_FPS=60;const MS_PER_SECOND=1000;const WINDOW_SIZE_MS=MS_PER_SECOND/TARGET_FPS;function gcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addDurationOfSubEvents(histograms,model);addPercentageInV8ExecuteOfTopEvents(histograms,model);addTotalPercentageInV8Execute(histograms,model);} 8503tr.metrics.MetricRegistry.register(gcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;} 8504function createNumericForSubEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:false,percentile:[0.90]});return n;} 8505function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;} 8506function createPercentage(name,numerator,denominator,unit){const hist=new tr.v.Histogram(name,unit);if(denominator===0){hist.addSample(0);}else{hist.addSample(numerator/denominator);} 8507hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,percentile:[]});return hist;} 8508function isNotForcedTopGarbageCollectionEvent(event){return tr.metrics.v8.utils.isTopGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);} 8509function isNotForcedSubGarbageCollectionEvent(event){return tr.metrics.v8.utils.isSubGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);} 8510function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8511function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8512function addDurationOfSubEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedSubGarbageCollectionEvent,tr.metrics.v8.utils.subGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForSubEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8513function addPercentageInV8ExecuteOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){addPercentageInV8Execute(histograms,model,name,events);});} 8514function addTotalPercentageInV8Execute(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){addPercentageInV8Execute(histograms,model,name,events);});} 8515function addPercentageInV8Execute(histograms,model,name,events){let cpuDurationInV8Execute=0;let cpuDurationTotal=0;events.forEach(function(event){const v8Execute=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isV8ExecuteEvent);if(v8Execute){cpuDurationInV8Execute+=event.cpuDuration;} 8516cpuDurationTotal+=event.cpuDuration;});const percentage=createPercentage(name+'_percentage_in_v8_execute',cpuDurationInV8Execute,cpuDurationTotal,percentage_smallerIsBetter);histograms.addHistogram(percentage);} 8517return{gcMetric,WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const COUNT_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1000000,50);const DURATION_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.1,10000,50);const SUMMARY_OPTIONS={std:false,count:false,sum:false,min:false,max:false,};function computeDomContentLoadedTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let domContentLoadedTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(ev.title==='domContentLoadedEventEnd'&&ev.start>domContentLoadedTime){domContentLoadedTime=ev.start;}}} 8518return domContentLoadedTime;} 8519function computeInteractiveTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let interactiveTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;if(samples.length===0)continue;if(interactiveTime!==0)throw new Error('Too many navigations');interactiveTime=tr.b.getOnlyElement(samples).diagnostics['Navigation infos'].value.interactive;} 8520return interactiveTime;} 8521function convertMicroToMilli_(time){return tr.b.convertUnit(time,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);} 8522function computeRuntimeStats(histograms,slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){const durationSamples=new tr.v.d.RelatedHistogramBreakdown();const countSamples=new tr.v.d.RelatedHistogramBreakdown();for(const entry of runtimeGroup.values){const durationSampleHistogram=histograms.createHistogram(`${entry.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(entry.time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});durationSamples.set(durationSampleHistogram.name,durationSampleHistogram);const countSampleHistogram=histograms.createHistogram(`${entry.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,entry.count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});countSamples.set(countSampleHistogram.name,countSampleHistogram);} 8523histograms.createHistogram(`${runtimeGroup.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,{value:convertMicroToMilli_(runtimeGroup.time),diagnostics:{samples:durationSamples},},{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram(`${runtimeGroup.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,{value:runtimeGroup.count,diagnostics:{samples:countSamples},},{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});}} 8524function runtimeStatsMetric(histograms,model){const interactiveTime=computeInteractiveTime_(model);const domContentLoadedTime=computeDomContentLoadedTime_(model);const endTime=Math.max(interactiveTime,domContentLoadedTime);const slices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice&&event.start<=endTime);computeRuntimeStats(histograms,slices);} 8525function addDurationHistogram(railStageName,runtimeGroupName,sampleValue,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(sampleValue),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(durationRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const durationHistogramMap=new tr.v.d.RelatedHistogramMap();durationHistogramMap.set(railStageName,durationHistogram);durationRelatedHistsByGroupName.set(runtimeGroupName,durationHistogramMap);}else{durationRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,durationHistogram);}} 8526function addCountHistogram(railStageName,runtimeGroupName,sampleValue,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:count`,tr.b.Unit.byName.count_smallerIsBetter,sampleValue,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(countRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const countHistogramMap=new tr.v.d.RelatedHistogramMap();countHistogramMap.set(railStageName,countHistogram);countRelatedHistsByGroupName.set(runtimeGroupName,countHistogramMap);}else{countRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,countHistogram);}} 8527function addTotalDurationHistogram(histogramName,time,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${histogramName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const durationRelatedHistogram=durationRelatedHistsByGroupName.get(histogramName);if(durationRelatedHistogram!==undefined){durationHistogram.diagnostics.set('RAIL stages',durationRelatedHistogram);}} 8528function addTotalCountHistogram(histogramName,count,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${histogramName}:count`,tr.b.Unit.byName.count_smallerIsBetter,count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const countRelatedHistogram=countRelatedHistsByGroupName.get(histogramName);if(countRelatedHistogram!==undefined){countHistogram.diagnostics.set('RAIL stages',countRelatedHistogram);}} 8529function computeRuntimeStatsBucketOnUE(histograms,slices,v8SlicesBucketOnUEMap){const durationRelatedHistsByGroupName=new Map();const countRelatedHistsByGroupName=new Map();for(const[name,slicesUE]of v8SlicesBucketOnUEMap){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slicesUE);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addDurationHistogram(name,runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;} 8530addCountHistogram(name,runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}} 8531addDurationHistogram(name,'V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addCountHistogram(name,'V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);} 8532const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addTotalDurationHistogram(runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;} 8533addTotalCountHistogram(runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}} 8534addTotalDurationHistogram('V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addTotalCountHistogram('V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);} 8535function runtimeStatsTotalMetric(histograms,model){const v8ThreadSlices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice).sort((e1,e2)=>e1.start-e2.start);const v8SlicesBucketOnUEMap=new Map();for(const expectation of model.userModel.expectations){const slices=expectation.range.filterArray(v8ThreadSlices,event=>event.start);if(slices.length===0)continue;const lastSlice=slices[slices.length-1];if(!expectation.range.intersectsRangeExclusive(lastSlice.range)){slices.pop();} 8536if(v8SlicesBucketOnUEMap.get(expectation.stageTitle)===undefined){v8SlicesBucketOnUEMap.set(expectation.stageTitle,slices);}else{const totalSlices=v8SlicesBucketOnUEMap.get(expectation.stageTitle).concat(slices);v8SlicesBucketOnUEMap.set(expectation.stageTitle,totalSlices);}} 8537computeRuntimeStatsBucketOnUE(histograms,v8ThreadSlices,v8SlicesBucketOnUEMap);} 8538tr.metrics.MetricRegistry.register(runtimeStatsTotalMetric);tr.metrics.MetricRegistry.register(runtimeStatsMetric);return{runtimeStatsMetric,runtimeStatsTotalMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){function v8AndMemoryMetrics(histograms,model){tr.metrics.v8.executionMetric(histograms,model);tr.metrics.v8.gcMetric(histograms,model);tr.metrics.sh.memoryMetric(histograms,model,{rangeOfInterest:tr.metrics.v8.utils.rangeForMemoryDumps(model)});} 8539tr.metrics.MetricRegistry.register(v8AndMemoryMetrics);return{v8AndMemoryMetrics,};});'use strict';tr.exportTo('tr.metrics.webrtc',function(){const DISPLAY_HERTZ=60.0;const VSYNC_DURATION_US=1e6/DISPLAY_HERTZ;const SEVERITY=3;const FROZEN_FRAME_VSYNC_COUNT_THRESHOLD=6;const WEB_MEDIA_PLAYER_UPDATE_TITLE='WebMediaPlayerMS::UpdateCurrentFrame';const IDEAL_RENDER_INSTANT_NAME='Ideal Render Instant';const ACTUAL_RENDER_BEGIN_NAME='Actual Render Begin';const ACTUAL_RENDER_END_NAME='Actual Render End';const STREAM_ID_NAME='Serial';const REQUIRED_EVENT_ARGS_NAMES=[IDEAL_RENDER_INSTANT_NAME,ACTUAL_RENDER_BEGIN_NAME,ACTUAL_RENDER_END_NAME,STREAM_ID_NAME];const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const unitlessNumber_biggerIsBetter=tr.b.Unit.byName.unitlessNumber_biggerIsBetter;function isValidEvent(event){if(event.title!==WEB_MEDIA_PLAYER_UPDATE_TITLE||!event.args){return false;} 8540for(const parameter of REQUIRED_EVENT_ARGS_NAMES){if(!(parameter in event.args)){return false;}} 8541return true;} 8542function webrtcRenderingMetric(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isValidEvent,event=>event.args[STREAM_ID_NAME],(streamName,events)=>getTimeStats(histograms,streamName,events));} 8543tr.metrics.MetricRegistry.register(webrtcRenderingMetric);function getTimeStats(histograms,streamName,events){const frameHist=getFrameDistribution(histograms,events);addFpsFromFrameDistribution(histograms,frameHist);addFreezingScore(histograms,frameHist);const driftTimeStats=getDriftStats(events);histograms.createHistogram('WebRTCRendering_drift_time',timeDurationInMs_smallerIsBetter,driftTimeStats.driftTime,{summaryOptions:{count:false,min:false,percentile:[0.75,0.9],},});histograms.createHistogram('WebRTCRendering_rendering_length_error',percentage_smallerIsBetter,driftTimeStats.renderingLengthError,{summaryOptions:SUMMARY_OPTIONS,});const smoothnessStats=getSmoothnessStats(driftTimeStats.driftTime);histograms.createHistogram('WebRTCRendering_percent_badly_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentBadlyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_percent_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_smoothness_score',percentage_biggerIsBetter,smoothnessStats.smoothnessScore,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_out_of_sync',count_smallerIsBetter,smoothnessStats.framesOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_badly_out_of_sync',count_smallerIsBetter,smoothnessStats.framesSeverelyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});} 8544const FRAME_DISTRIBUTION_BIN_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(1,50,49);function getFrameDistribution(histograms,events){const cadence=tr.b.runLengthEncoding(events.map(e=>e.args[IDEAL_RENDER_INSTANT_NAME]));return histograms.createHistogram('WebRTCRendering_frame_distribution',count_smallerIsBetter,cadence.map(ticks=>ticks.count),{binBoundaries:FRAME_DISTRIBUTION_BIN_BOUNDARIES,summaryOptions:{percentile:[0.75,0.9],},});} 8545function addFpsFromFrameDistribution(histograms,frameHist){let numberFrames=0;let numberVsyncs=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberFrames+=count;numberVsyncs+=ticks*count;} 8546const meanRatio=numberVsyncs/numberFrames;histograms.createHistogram('WebRTCRendering_fps',unitlessNumber_biggerIsBetter,DISPLAY_HERTZ/meanRatio,{summaryOptions:SUMMARY_OPTIONS,});} 8547function frozenPenaltyWeight(numberFrozenFrames){const penalty={5:1,6:5,7:15,8:25};return penalty[numberFrozenFrames]||(8*(numberFrozenFrames-4));} 8548function addFreezingScore(histograms,frameHist){let numberVsyncs=0;let freezingScore=0;let frozenFramesCount=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberVsyncs+=ticks*count;if(ticks>=FROZEN_FRAME_VSYNC_COUNT_THRESHOLD){frozenFramesCount+=count*(ticks-1);freezingScore+=count*frozenPenaltyWeight(ticks-1);}} 8549freezingScore=1-freezingScore/numberVsyncs;if(freezingScore<0){freezingScore=0;} 8550histograms.createHistogram('WebRTCRendering_frozen_frames_count',count_smallerIsBetter,frozenFramesCount,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_freezing_score',percentage_biggerIsBetter,freezingScore,{summaryOptions:SUMMARY_OPTIONS,});} 8551function getDriftStats(events){const driftTime=[];const discrepancy=[];let oldIdealRender=0;let expectedIdealRender=0;for(const event of events){const currentIdealRender=event.args[IDEAL_RENDER_INSTANT_NAME];expectedIdealRender+=VSYNC_DURATION_US;if(currentIdealRender===oldIdealRender){continue;} 8552const actualRenderBegin=event.args[ACTUAL_RENDER_BEGIN_NAME];driftTime.push(actualRenderBegin-currentIdealRender);discrepancy.push(Math.abs(currentIdealRender-expectedIdealRender));expectedIdealRender=currentIdealRender;oldIdealRender=currentIdealRender;} 8553const discrepancySum=tr.b.math.Statistics.sum(discrepancy)- 8554discrepancy[0];const lastIdealRender=events[events.length-1].args[IDEAL_RENDER_INSTANT_NAME];const firstIdealRender=events[0].args[IDEAL_RENDER_INSTANT_NAME];const idealRenderSpan=lastIdealRender-firstIdealRender;const renderingLengthError=discrepancySum/idealRenderSpan;return{driftTime,renderingLengthError};} 8555function getSmoothnessStats(driftTimes){const meanDriftTime=tr.b.math.Statistics.mean(driftTimes);const normDriftTimes=driftTimes.map(driftTime=>Math.abs(driftTime-meanDriftTime));const framesSeverelyOutOfSync=normDriftTimes.filter(driftTime=>driftTime>2*VSYNC_DURATION_US).length;const framesOutOfSync=normDriftTimes.filter(driftTime=>driftTime>VSYNC_DURATION_US).length;const percentBadlyOutOfSync=framesSeverelyOutOfSync/driftTimes.length;const percentOutOfSync=framesOutOfSync/driftTimes.length;const framesOutOfSyncOnlyOnce=framesOutOfSync-framesSeverelyOutOfSync;let smoothnessScore=1-(framesOutOfSyncOnlyOnce+ 8556SEVERITY*framesSeverelyOutOfSync)/driftTimes.length;if(smoothnessScore<0){smoothnessScore=0;} 8557return{framesOutOfSync,framesSeverelyOutOfSync,percentBadlyOutOfSync,percentOutOfSync,smoothnessScore};} 8558return{webrtcRenderingMetric,};});'use strict';Polymer({is:'tr-ui-a-alert-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},getRowsForSingleAlert_(alert){const rows=[];for(const argName in alert.args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=alert.args[argName];rows.push({name:argName,value:argView});} 8559if(alert.associatedEvents.length){alert.associatedEvents.forEach(function(event,i){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.title);let valueString='';if(event instanceof tr.model.TimedEvent){valueString='took '+event.duration.toFixed(2)+'ms';} 8560rows.push({name:linkEl,value:valueString});});} 8561const descriptionEl=tr.ui.b.createDiv({textContent:alert.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(alert.info.docLinks){alert.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});} 8562return rows;},getRowsForAlerts_(alerts){if(alerts.length===1){const rows=[{name:'Alert',value:tr.b.getOnlyElement(alerts).title}];const detailRows=this.getRowsForSingleAlert_(tr.b.getOnlyElement(alerts));rows.push.apply(rows,detailRows);return rows;} 8563return alerts.map(function(alert){return{name:'Alert',value:alert.title,isExpanded:alerts.size<10,subRows:this.getRowsForSingleAlert_(alert)};},this);},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;} 8564const alerts=this.currentSelection_;this.$.table.tableRows=this.getRowsForAlerts_(alerts);this.$.table.rebuild();},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const result=new tr.model.EventSet();for(const event of this.currentSelection_){result.addEventSet(event.associatedEvents);} 8565return result;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:false,title:'Alert',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:true,title:'Alerts',});'use strict';tr.exportTo('tr.ui.analysis',function(){const NO_BREAK_SPACE=String.fromCharCode(160);const RIGHTWARDS_ARROW=String.fromCharCode(8594);const COLLATOR=new Intl.Collator(undefined,{numeric:true});function TitleColumn(title){this.title=title;} 8566TitleColumn.prototype={supportsCellSelection:false,value(row){const formattedTitle=this.formatTitle(row);const contexts=row.contexts;if(contexts===undefined||contexts.length===0){return formattedTitle;} 8567const firstContext=contexts[0];const lastContext=contexts[contexts.length-1];let changeDefinedContextCount=0;for(let i=1;i<contexts.length;i++){if((contexts[i]===undefined)!==(contexts[i-1]===undefined)){changeDefinedContextCount++;}} 8568let color=undefined;let prefix=undefined;if(!firstContext&&lastContext){color='red';prefix='+++';}else if(firstContext&&!lastContext){color='green';prefix='---';} 8569if(changeDefinedContextCount>1){color='purple';} 8570if(color===undefined&&prefix===undefined){return formattedTitle;} 8571const titleEl=document.createElement('span');if(prefix!==undefined){const prefixEl=tr.ui.b.createSpan({textContent:prefix});prefixEl.style.fontFamily='monospace';Polymer.dom(titleEl).appendChild(prefixEl);Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(NO_BREAK_SPACE));} 8572if(color!==undefined){titleEl.style.color=color;} 8573Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedTitle));return titleEl;},formatTitle(row){return row.title;},cmp(rowA,rowB){return COLLATOR.compare(rowA.title,rowB.title);}};function MemoryColumn(name,cellPath,aggregationMode){this.name=name;this.cellPath=cellPath;this.shouldSetContextGroup=false;this.aggregationMode=aggregationMode;} 8574MemoryColumn.fromRows=function(rows,config){const cellNames=new Set();function gatherCellNames(rows){rows.forEach(function(row){if(row===undefined)return;const fieldCells=row[config.cellKey];if(fieldCells!==undefined){for(const[fieldName,fieldCell]of Object.entries(fieldCells)){if(fieldCell===undefined||fieldCell.fields===undefined){continue;} 8575cellNames.add(fieldName);}} 8576const subRows=row.subRows;if(subRows!==undefined){gatherCellNames(subRows);}});} 8577gatherCellNames(rows);const positions=[];cellNames.forEach(function(cellName){const cellPath=[config.cellKey,cellName];const matchingRule=MemoryColumn.findMatchingRule(cellName,config.rules);const constructor=matchingRule.columnConstructor;const column=new constructor(cellName,cellPath,config.aggregationMode);column.shouldSetContextGroup=!!config.shouldSetContextGroup;positions.push({importance:matchingRule.importance,column});});positions.sort(function(a,b){if(a.importance===b.importance){return COLLATOR.compare(a.column.name,b.column.name);} 8578return b.importance-a.importance;});return positions.map(function(position){return position.column;});};MemoryColumn.spaceEqually=function(columns){const columnWidth=(100/columns.length).toFixed(3)+'%';columns.forEach(function(column){column.width=columnWidth;});};MemoryColumn.findMatchingRule=function(name,rules){for(let i=0;i<rules.length;i++){const rule=rules[i];if(MemoryColumn.nameMatchesCondition(name,rule.condition)){return rule;}} 8579return undefined;};MemoryColumn.nameMatchesCondition=function(name,condition){if(condition===undefined)return true;if(typeof(condition)==='string')return name===condition;return condition.test(name);};MemoryColumn.AggregationMode={DIFF:0,MAX:1};MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER='at some selected timestamps';MemoryColumn.prototype={get title(){return this.name;},cell(row){let cell=row;const cellPath=this.cellPath;for(let i=0;i<cellPath.length;i++){if(cell===undefined)return undefined;cell=cell[cellPath[i]];} 8580return cell;},aggregateCells(row,subRows){},fields(row){const cell=this.cell(row);if(cell===undefined)return undefined;return cell.fields;},value(row){const fields=this.fields(row);if(this.hasAllRelevantFieldsUndefined(fields))return'';const contexts=row.contexts;const color=this.color(fields,contexts);const infos=[];this.addInfos(fields,contexts,infos);const formattedFields=this.formatFields(fields);if((color===undefined||formattedFields==='')&&infos.length===0){return formattedFields;} 8581const fieldEl=document.createElement('span');fieldEl.style.display='flex';fieldEl.style.alignItems='center';fieldEl.style.justifyContent='flex-end';Polymer.dom(fieldEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedFields));infos.forEach(function(info){const infoEl=document.createElement('span');infoEl.style.paddingLeft='4px';infoEl.style.cursor='help';infoEl.style.fontWeight='bold';Polymer.dom(infoEl).textContent=info.icon;if(info.color!==undefined){infoEl.style.color=info.color;} 8582infoEl.title=info.message;Polymer.dom(fieldEl).appendChild(infoEl);},this);if(color!==undefined){fieldEl.style.color=color;} 8583return fieldEl;},hasAllRelevantFieldsUndefined(fields){if(fields===undefined)return true;switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return fields[0]===undefined&&fields[fields.length-1]===undefined;case MemoryColumn.AggregationMode.MAX:default:return fields.every(function(field){return field===undefined;});}},color(fields,contexts){return undefined;},formatFields(fields){if(fields.length===1){return this.formatSingleField(fields[0]);} 8584return this.formatMultipleFields(fields);},formatSingleField(field){throw new Error('Not implemented');},formatMultipleFields(fields){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.formatMultipleFieldsDiff(fields[0],fields[fields.length-1]);case MemoryColumn.AggregationMode.MAX:return this.formatMultipleFieldsMax(fields);default:return tr.ui.b.createSpan({textContent:'(unsupported aggregation mode)',italic:true});}},formatMultipleFieldsDiff(firstField,lastField){throw new Error('Not implemented');},formatMultipleFieldsMax(fields){return this.formatSingleField(this.getMaxField(fields));},cmp(rowA,rowB){const fieldsA=this.fields(rowA);const fieldsB=this.fields(rowB);if(fieldsA!==undefined&&fieldsB!==undefined&&fieldsA.length!==fieldsB.length){throw new Error('Different number of fields');} 8585const undefinedA=this.hasAllRelevantFieldsUndefined(fieldsA);const undefinedB=this.hasAllRelevantFieldsUndefined(fieldsB);if(undefinedA&&undefinedB)return 0;if(undefinedA)return-1;if(undefinedB)return 1;return this.compareFields(fieldsA,fieldsB);},compareFields(fieldsA,fieldsB){if(fieldsA.length===1){return this.compareSingleFields(fieldsA[0],fieldsB[0]);} 8586return this.compareMultipleFields(fieldsA,fieldsB);},compareSingleFields(fieldA,fieldB){throw new Error('Not implemented');},compareMultipleFields(fieldsA,fieldsB){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.compareMultipleFieldsDiff(fieldsA[0],fieldsA[fieldsA.length-1],fieldsB[0],fieldsB[fieldsB.length-1]);case MemoryColumn.AggregationMode.MAX:return this.compareMultipleFieldsMax(fieldsA,fieldsB);default:return 0;}},compareMultipleFieldsDiff(firstFieldA,lastFieldA,firstFieldB,lastFieldB){throw new Error('Not implemented');},compareMultipleFieldsMax(fieldsA,fieldsB){return this.compareSingleFields(this.getMaxField(fieldsA),this.getMaxField(fieldsB));},getMaxField(fields){return fields.reduce(function(accumulator,field){if(field===undefined){return accumulator;} 8587if(accumulator===undefined||this.compareSingleFields(field,accumulator)>0){return field;} 8588return accumulator;}.bind(this),undefined);},addInfos(fields,contexts,infos){},getImportance(importanceRules){if(importanceRules.length===0)return 0;const matchingRule=MemoryColumn.findMatchingRule(this.name,importanceRules);if(matchingRule!==undefined){return matchingRule.importance;} 8589let minImportance=importanceRules[0].importance;for(let i=1;i<importanceRules.length;i++){minImportance=Math.min(minImportance,importanceRules[i].importance);} 8590return minImportance-1;}};function StringMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);} 8591StringMemoryColumn.prototype={__proto__:MemoryColumn.prototype,formatSingleField(string){return string;},formatMultipleFieldsDiff(firstString,lastString){if(firstString===undefined){const spanEl=tr.ui.b.createSpan({color:'red'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('+'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;}else if(lastString===undefined){const spanEl=tr.ui.b.createSpan({color:'green'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('-'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));return spanEl;}else if(firstString===lastString){return this.formatSingleField(firstString);} 8592const spanEl=tr.ui.b.createSpan({color:'DarkOrange'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(' '+RIGHTWARDS_ARROW+' '));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;},compareSingleFields(stringA,stringB){return COLLATOR.compare(stringA,stringB);},compareMultipleFieldsDiff(firstStringA,lastStringA,firstStringB,lastStringB){if(firstStringA===undefined&&firstStringB!==undefined){return 1;} 8593if(firstStringA!==undefined&&firstStringB===undefined){return-1;} 8594if(firstStringA===undefined&&firstStringB===undefined){return this.compareSingleFields(lastStringA,lastStringB);} 8595if(lastStringA===undefined&&lastStringB!==undefined){return-1;} 8596if(lastStringA!==undefined&&lastStringB===undefined){return 1;} 8597if(lastStringA===undefined&&lastStringB===undefined){return this.compareSingleFields(firstStringB,firstStringA);} 8598const areStringsAEqual=firstStringA===lastStringA;const areStringsBEqual=firstStringB===lastStringB;if(areStringsAEqual&&areStringsBEqual)return 0;if(areStringsAEqual)return-1;if(areStringsBEqual)return 1;return 0;}};function NumericMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);} 8599NumericMemoryColumn.DIFF_EPSILON=0.0001;NumericMemoryColumn.prototype={__proto__:MemoryColumn.prototype,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,aggregateCells(row,subRows){const subRowCells=subRows.map(this.cell,this);let hasDefinedSubRowNumeric=false;let timestampCount=undefined;subRowCells.forEach(function(subRowCell){if(subRowCell===undefined)return;const subRowNumerics=subRowCell.fields;if(subRowNumerics===undefined)return;if(timestampCount===undefined){timestampCount=subRowNumerics.length;}else if(timestampCount!==subRowNumerics.length){throw new Error('Sub-rows have different numbers of timestamps');} 8600if(hasDefinedSubRowNumeric){return;} 8601hasDefinedSubRowNumeric=subRowNumerics.some(function(numeric){return numeric!==undefined;});});if(!hasDefinedSubRowNumeric){return;} 8602const cellPath=this.cellPath;let rowCell=row;for(let i=0;i<cellPath.length;i++){const nextStepName=cellPath[i];let nextStep=rowCell[nextStepName];if(nextStep===undefined){if(i<cellPath.length-1){nextStep={};}else{nextStep=new MemoryCell(undefined);} 8603rowCell[nextStepName]=nextStep;} 8604rowCell=nextStep;} 8605if(rowCell.fields===undefined){rowCell.fields=new Array(timestampCount);}else if(rowCell.fields.length!==timestampCount){throw new Error('Row has a different number of timestamps than sub-rows');} 8606for(let i=0;i<timestampCount;i++){if(rowCell.fields[i]!==undefined)continue;rowCell.fields[i]=tr.model.MemoryAllocatorDump.aggregateNumerics(subRowCells.map(function(subRowCell){if(subRowCell===undefined||subRowCell.fields===undefined){return undefined;} 8607return subRowCell.fields[i];}));}},formatSingleField(numeric){return tr.v.ui.createScalarSpan(numeric,{context:this.getFormattingContext(numeric.unit),contextGroup:this.shouldSetContextGroup?this.name:undefined,inline:true,});},getFormattingContext(unit){return undefined;},formatMultipleFieldsDiff(firstNumeric,lastNumeric){return this.formatSingleField(this.getDiffField_(firstNumeric,lastNumeric));},compareSingleFields(numericA,numericB){return numericA.value-numericB.value;},compareMultipleFieldsDiff(firstNumericA,lastNumericA,firstNumericB,lastNumericB){return this.getDiffFieldValue_(firstNumericA,lastNumericA)- 8608this.getDiffFieldValue_(firstNumericB,lastNumericB);},getDiffField_(firstNumeric,lastNumeric){const definedNumeric=firstNumeric||lastNumeric;return new tr.b.Scalar(definedNumeric.unit.correspondingDeltaUnit,this.getDiffFieldValue_(firstNumeric,lastNumeric));},getDiffFieldValue_(firstNumeric,lastNumeric){const firstValue=firstNumeric===undefined?0:firstNumeric.value;const lastValue=lastNumeric===undefined?0:lastNumeric.value;const diff=lastValue-firstValue;return Math.abs(diff)<NumericMemoryColumn.DIFF_EPSILON?0:diff;}};function MemoryCell(fields){this.fields=fields;} 8609MemoryCell.extractFields=function(cell){if(cell===undefined)return undefined;return cell.fields;};const RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT=10;function expandTableRowsRecursively(table){let currentLevelRows=table.tableRows;let totalVisibleRowCount=currentLevelRows.length;while(currentLevelRows.length>0){let nextLevelRowCount=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;nextLevelRowCount+=subRows.length;});if(totalVisibleRowCount+nextLevelRowCount>RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT){break;} 8610const nextLevelRows=new Array(nextLevelRowCount);let nextLevelRowIndex=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;table.setExpandedForTableRow(currentLevelRow,true);subRows.forEach(function(subRow){nextLevelRows[nextLevelRowIndex++]=subRow;});});totalVisibleRowCount+=nextLevelRowCount;currentLevelRows=nextLevelRows;}} 8611function aggregateTableRowCellsRecursively(row,columns,opt_predicate){const subRows=row.subRows;if(subRows===undefined||subRows.length===0)return;subRows.forEach(function(subRow){aggregateTableRowCellsRecursively(subRow,columns,opt_predicate);});if(opt_predicate===undefined||opt_predicate(row.contexts)){aggregateTableRowCells(row,subRows,columns);}} 8612function aggregateTableRowCells(row,subRows,columns){columns.forEach(function(column){if(!(column instanceof MemoryColumn))return;column.aggregateCells(row,subRows);});} 8613function createCells(timeToValues,valueFieldsGetter,opt_this){opt_this=opt_this||this;const fieldNameToFields=tr.b.invertArrayOfDicts(timeToValues,valueFieldsGetter,opt_this);return tr.b.mapItems(fieldNameToFields,function(fieldName,fields){return new tr.ui.analysis.MemoryCell(fields);});} 8614function createWarningInfo(message){return{message,icon:String.fromCharCode(9888),color:'red'};} 8615function DetailsNumericMemoryColumn(name,cellPath,aggregationMode){NumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8616DetailsNumericMemoryColumn.prototype={__proto__:NumericMemoryColumn.prototype,getFormattingContext(unit){if(unit.baseUnit===tr.b.Unit.byName.sizeInBytes){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.KIBI};} 8617return undefined;}};return{TitleColumn,MemoryColumn,StringMemoryColumn,NumericMemoryColumn,MemoryCell,expandTableRowsRecursively,aggregateTableRowCellsRecursively,aggregateTableRowCells,createCells,createWarningInfo,DetailsNumericMemoryColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const LATIN_SMALL_LETTER_F_WITH_HOOK=String.fromCharCode(0x0192);const CIRCLED_LATIN_CAPITAL_LETTER_T=String.fromCharCode(0x24C9);const HeapDetailsRowDimension={ROOT:{},STACK_FRAME:{label:'Stack frame',symbol:LATIN_SMALL_LETTER_F_WITH_HOOK,color:'heap_dump_stack_frame'},OBJECT_TYPE:{label:'Object type',symbol:CIRCLED_LATIN_CAPITAL_LETTER_T,color:'heap_dump_object_type'}};function HeapDetailsTitleColumn(title){tr.ui.analysis.TitleColumn.call(this,title);} 8618HeapDetailsTitleColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.dimension===HeapDetailsRowDimension.ROOT){return row.title;} 8619const symbolEl=document.createElement('span');Polymer.dom(symbolEl).textContent=row.dimension.symbol;symbolEl.title=row.dimension.label;symbolEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString(row.dimension.color);symbolEl.style.paddingRight='4px';symbolEl.style.cursor='help';symbolEl.style.fontWeight='bold';const titleEl=document.createElement('span');Polymer.dom(titleEl).appendChild(symbolEl);Polymer.dom(titleEl).appendChild(document.createTextNode(row.title));return titleEl;}};function AllocationCountColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8620AllocationCountColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,getFormattingContext(unit){return{minimumFractionDigits:0};}};const HEAP_DETAILS_COLUMN_RULES=[{condition:'Size',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Count',importance:1,columnConstructor:AllocationCountColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];return{HeapDetailsRowDimension,HeapDetailsTitleColumn,AllocationCountColumn,HEAP_DETAILS_COLUMN_RULES,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const RebuildableBehavior={rebuild(){if(!this.paneDirty_){return;} 8621this.paneDirty_=false;this.onRebuild_();},scheduleRebuild_(){if(this.paneDirty_)return;this.paneDirty_=true;tr.b.requestAnimationFrame(this.rebuild.bind(this));},onRebuild_(){}};return{RebuildableBehavior,};});'use strict';Polymer({is:'tr-ui-b-tab-view',properties:{label_:{type:String,value:()=>''},selectedSubView_:Object,subViews_:{type:Array,value:()=>[]},tabsHidden:{type:Boolean,value:false,observer:'tabsHiddenChanged_'}},ready(){this.$.tabs.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.updateFocusability_();},set label(newLabel){this.set('label_',newLabel);},get tabs(){return this.get('subViews_');},get selectedSubView(){return this.selectedSubView_;},set selectedSubView(subView){if(subView===this.selectedSubView_)return;if(this.selectedSubView_){Polymer.dom(this.$.subView).removeChild(this.selectedSubView_);const oldInput=this.root.getElementById(this.computeRadioId_(this.selectedSubView_));if(oldInput){oldInput.checked=false;}} 8622this.set('selectedSubView_',subView);if(subView){Polymer.dom(this.$.subView).appendChild(subView);const newInput=this.root.getElementById(this.computeRadioId_(subView));if(newInput){newInput.checked=true;}} 8623this.fire('selected-tab-change');},clearSubViews(){this.splice('subViews_',0,this.subViews_.length);this.selectedSubView=undefined;this.updateFocusability_();},addSubView(subView){this.push('subViews_',subView);if(!this.selectedSubView_)this.selectedSubView=subView;this.updateFocusability_();},resetSubViews(subViews){this.splice('subViews_',0,this.subViews_.length);if(subViews.length){for(const subView of subViews){this.push('subViews_',subView);} 8624this.selectedSubView=subViews[0];}else{this.selectedSubView=undefined;} 8625this.updateFocusability_();},onTabChanged_(event){this.selectedSubView=event.model.item;},isChecked_(subView){return this.selectedSubView_===subView;},tabsHiddenChanged_(){this.updateFocusability_();},onKeyDown_(e){if(this.tabsHidden)return;let keyHandled=false;switch(e.keyCode){case 37:keyHandled=this.selectPreviousTabIfPossible();break;case 39:keyHandled=this.selectNextTabIfPossible();break;} 8626if(!keyHandled)return;e.stopPropagation();e.preventDefault();},selectNextTabIfPossible(){return this.selectTabByOffsetIfPossible_(1);},selectPreviousTabIfPossible(){return this.selectTabByOffsetIfPossible_(-1);},selectTabByOffsetIfPossible_(offset){if(!this.selectedSubView_)return false;const currentIndex=this.subViews_.indexOf(this.selectedSubView_);const newSubView=this.tabs[currentIndex+offset];if(!newSubView)return false;this.selectedSubView=newSubView;return true;},shouldBeFocusable_(){return!this.tabsHidden&&this.subViews_.length>0;},updateFocusability_(){if(this.shouldBeFocusable_()){Polymer.dom(this.$.tabs).setAttribute('tabindex',0);}else{Polymer.dom(this.$.tabs).removeAttribute('tabindex');}},computeRadioId_(subView){return subView.tagName+'-'+subView.tabLabel.replace(/ /g,'-');}});'use strict';tr.exportTo('tr.ui.analysis',function(){const RESONABLE_NUMBER_OF_ROWS=200;const TabUiState={NO_LONG_TAIL:0,HIDING_LONG_TAIL:1,SHOWING_LONG_TAIL:2,};function EmptyFillerColumn(){} 8627EmptyFillerColumn.prototype={title:'',value(){return'';},};Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.displayedNode_=undefined;this.dimensionToTab_=new Map();},ready(){this.scheduleRebuild_();this.root.addEventListener('keydown',this.onKeyDown_.bind(this),true);},get displayedNode(){return this.displayedNode_;},set displayedNode(node){this.displayedNode_=node;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;for(const tab of this.$.tabs.tabs){tab.aggregationMode=aggregationMode;}},onRebuild_(){const previouslySelectedTab=this.$.tabs.selectedSubView;let previouslySelectedTabFocused=false;let previouslySelectedDimension=undefined;if(previouslySelectedTab){previouslySelectedTabFocused=previouslySelectedTab.isFocused;previouslySelectedDimension=previouslySelectedTab.dimension;} 8628for(const tab of this.$.tabs.tabs){tab.nodes=undefined;} 8629this.$.tabs.clearSubViews();if(this.displayedNode_===undefined){this.$.tabs.label='No heap node provided.';return;} 8630for(const[dimension,children]of this.displayedNode_.childNodes){if(!this.dimensionToTab_.has(dimension)){this.dimensionToTab_.set(dimension,document.createElement('tr-ui-a-memory-dump-heap-details-breakdown-view-tab'));} 8631const tab=this.dimensionToTab_.get(dimension);tab.aggregationMode=this.aggregationMode_;tab.dimension=dimension;tab.nodes=children;this.$.tabs.addSubView(tab);tab.rebuild();if(dimension===previouslySelectedDimension){this.$.tabs.selectedSubView=tab;if(previouslySelectedTabFocused){tab.focus();}}} 8632if(this.$.tabs.tabs.length>0){this.$.tabs.label='Break selected node further by:';}else{this.$.tabs.label='Selected node cannot be broken down any further.';}},onKeyDown_(keyEvent){if(!this.displayedNode_)return;let keyHandled=false;switch(keyEvent.keyCode){case 8:{if(!this.displayedNode_.parentNode)break;const viewEvent=new tr.b.Event('enter-node');viewEvent.node=this.displayedNode_.parentNode;this.dispatchEvent(viewEvent);keyHandled=true;break;} 8633case 37:case 39:{const wasFocused=this.$.tabs.selectedSubView.isFocused;keyHandled=keyEvent.keyCode===37?this.$.tabs.selectPreviousTabIfPossible():this.$.tabs.selectNextTabIfPossible();if(wasFocused&&keyHandled){this.$.tabs.selectedSubView.focus();}}} 8634if(!keyHandled)return;keyEvent.stopPropagation();keyEvent.preventDefault();}});Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view-tab',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.dimension_=undefined;this.nodes_=undefined;this.aggregationMode_=undefined;this.displayLongTail_=false;},ready(){this.$.table.addEventListener('step-into',function(tableEvent){const viewEvent=new tr.b.Event('enter-node');viewEvent.node=tableEvent.tableRow;this.dispatchEvent(viewEvent);}.bind(this));},get displayLongTail(){return this.displayLongTail_;},set displayLongTail(newValue){if(this.displayLongTail===newValue)return;this.displayLongTail_=newValue;this.scheduleRebuild_();},get dimension(){return this.dimension_;},set dimension(dimension){this.dimension_=dimension;this.scheduleRebuild_();},get nodes(){return this.nodes_;},set nodes(nodes){this.nodes_=nodes;this.scheduleRebuild_();},get nodes(){return this.nodes_||[];},get dimensionLabel_(){if(this.dimension_===undefined)return'(undefined)';return this.dimension_.label;},get tabLabel(){let nodeCount=0;if(this.nodes_){nodeCount=this.nodes_.length;} 8635return this.dimensionLabel_+' ('+nodeCount+')';},get tabIcon(){if(this.dimension_===undefined||this.dimension_===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return undefined;} 8636return{text:this.dimension_.symbol,style:'color: '+tr.b.ColorScheme.getColorForReservedNameAsString(this.dimension_.color)+';'};},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},focus(){this.$.table.focus();},blur(){this.$.table.blur();},get isFocused(){return this.$.table.isFocused;},onRebuild_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.emptyValue='Cannot break down by '+ 8637this.dimensionLabel_.toLowerCase()+' any further.';const[state,rows]=this.getRows_();const total=this.nodes.length;const displayed=rows.length;const hidden=total-displayed;this.updateInfoBar_(state,[total,displayed,hidden]);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);if(this.$.table.sortColumnIndex===undefined){this.$.table.sortColumnIndex=0;this.$.table.sortDescending=false;} 8638this.$.table.rebuild();},createColumns_(rows){const titleColumn=new tr.ui.analysis.HeapDetailsTitleColumn(this.dimensionLabel_);titleColumn.width='400px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});if(numericColumns.length===0){numericColumns.push(new EmptyFillerColumn());} 8639tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);const columns=[titleColumn].concat(numericColumns);return columns;},getRows_(){let rows=this.nodes;if(rows.length<=RESONABLE_NUMBER_OF_ROWS){return[TabUiState.NO_LONG_TAIL,rows];}else if(this.displayLongTail){return[TabUiState.SHOWING_LONG_TAIL,rows];} 8640const absSize=row=>Math.max(row.cells.Size.fields[0].value);rows.sort((a,b)=>absSize(b)-absSize(a));rows=rows.slice(0,RESONABLE_NUMBER_OF_ROWS);return[TabUiState.HIDING_LONG_TAIL,rows];},updateInfoBar_(state,rowStats){if(state===TabUiState.SHOWING_LONG_TAIL){this.longTailVisibleInfoBar_(rowStats);}else if(state===TabUiState.HIDING_LONG_TAIL){this.longTailHiddenInfoBar_(rowStats);}else{this.hideInfoBar_();}},longTailVisibleInfoBar_(rowStats){const[total,visible,hidden]=rowStats;const couldHide=total-RESONABLE_NUMBER_OF_ROWS;this.$.info.message='Showing '+total+' rows. This may be slow.';this.$.info.removeAllButtons();const buttonText='Hide '+couldHide+' rows.';this.$.info.addButton(buttonText,()=>this.displayLongTail=false);this.$.info.visible=true;},longTailHiddenInfoBar_(rowStats){const[total,visible,hidden]=rowStats;this.$.info.message='Hiding the smallest '+hidden+' rows.';this.$.info.removeAllButtons();this.$.info.addButton('Show all.',()=>this.displayLongTail=true);this.$.info.visible=true;},hideInfoBar_(){this.$.info.visible=false;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS=String.fromCharCode(0x21B3);function HeapDetailsPathColumn(title){tr.ui.analysis.HeapDetailsTitleColumn.call(this,title);} 8641HeapDetailsPathColumn.prototype={__proto__:tr.ui.analysis.HeapDetailsTitleColumn.prototype,formatTitle(row){const title=tr.ui.analysis.HeapDetailsTitleColumn.prototype.formatTitle.call(this,row);if(row.dimension===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return title;} 8642const arrowEl=document.createElement('span');Polymer.dom(arrowEl).textContent=DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS;arrowEl.style.paddingRight='2px';arrowEl.style.fontWeight='bold';arrowEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString('heap_dump_child_node_arrow');const rowEl=document.createElement('span');Polymer.dom(rowEl).appendChild(arrowEl);Polymer.dom(rowEl).appendChild(tr.ui.b.asHTMLOrTextNode(title));return rowEl;}};Polymer({is:'tr-ui-a-memory-dump-heap-details-path-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.selectedNode_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.addEventListener('selection-changed',function(event){this.selectedNode_=this.$.table.selectedTableRow;this.didSelectedNodeChange_();}.bind(this));},didSelectedNodeChange_(){this.dispatchEvent(new tr.b.Event('selected-node-changed'));},get selectedNode(){return this.selectedNode_;},set selectedNode(node){this.selectedNode_=node;this.didSelectedNodeChange_();this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},onRebuild_(){if(this.selectedNode_===undefined){this.$.table.clear();return;} 8643if(this.$.table.tableRows.includes(this.selectedNode_)){this.$.table.selectedTableRow=this.selectedNode_;return;} 8644this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.userCanModifySortOrder=false;const rows=this.createRows_(this.selectedNode_);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);this.$.table.selectedTableRow=rows[rows.length-1];},createRows_(node){const rows=[];while(node){rows.push(node);node=node.parentNode;} 8645rows.reverse();return rows;},createColumns_(rows){const titleColumn=new HeapDetailsPathColumn('Current path');titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);return[titleColumn].concat(numericColumns);}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const StackedPaneImpl={set childPaneBuilder(childPaneBuilder){this.childPaneBuilder_=childPaneBuilder;this.dispatchEvent(new tr.b.Event('request-child-pane-change'));},get childPaneBuilder(){return this.childPaneBuilder_;},appended(){this.rebuild();}};const StackedPane=[tr.ui.analysis.RebuildableBehavior,StackedPaneImpl];return{StackedPane,};});Polymer({is:'tr-ui-a-stacked-pane',behaviors:[tr.ui.analysis.StackedPane]});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;const TotalState=tr.b.MultiDimensionalViewNode.TotalState;function HeapDumpTreeNode(stackFrameNodes,dimension,title,heavyView,parentNode){this.dimension=dimension;this.title=title;this.parentNode=parentNode;this.heavyView_=heavyView;this.stackFrameNodes_=stackFrameNodes;this.lazyCells_=undefined;this.lazyChildNodes_=undefined;} 8646HeapDumpTreeNode.prototype={get minDisplayedTotalState_(){if(this.heavyView_){return TotalState.LOWER_BOUND;} 8647return TotalState.EXACT;},get childNodes(){if(!this.lazyChildNodes_){this.lazyChildNodes_=new Map();this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.STACK_FRAME,0);this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.OBJECT_TYPE,1);this.releaseStackFrameNodesIfPossible_();} 8648return this.lazyChildNodes_;},get cells(){if(!this.lazyCells_){this.addCells_();this.releaseStackFrameNodesIfPossible_();} 8649return this.lazyCells_;},releaseStackFrameNodesIfPossible_(){if(this.lazyCells_&&this.lazyChildNodes_){this.stackFrameNodes_=undefined;}},addDimensionChildNodes_(dimension,dimensionIndex){const dimensionChildTitleToStackFrameNodes=tr.b.invertArrayOfDicts(this.stackFrameNodes_,node=>this.convertStackFrameNodeDimensionToChildDict_(node,dimensionIndex));const dimensionChildNodes=[];for(const[childTitle,childStackFrameNodes]of 8650Object.entries(dimensionChildTitleToStackFrameNodes)){dimensionChildNodes.push(new HeapDumpTreeNode(childStackFrameNodes,dimension,childTitle,this.heavyView_,this));} 8651this.lazyChildNodes_.set(dimension,dimensionChildNodes);},convertStackFrameNodeDimensionToChildDict_(stackFrameNode,dimensionIndex){const childDict={};let displayedChildrenTotalSize=0;let displayedChildrenTotalCount=0;let hasDisplayedChildren=false;let allDisplayedChildrenHaveDisplayedCounts=true;for(const child of stackFrameNode.children[dimensionIndex].values()){if(child.values[0].totalState<this.minDisplayedTotalState_){continue;} 8652if(child.values[1].totalState<this.minDisplayedTotalState_){allDisplayedChildrenHaveDisplayedCounts=false;} 8653childDict[child.title[dimensionIndex]]=child;displayedChildrenTotalSize+=child.values[0].total;displayedChildrenTotalCount+=child.values[1].total;hasDisplayedChildren=true;} 8654const nodeTotalSize=stackFrameNode.values[0].total;const nodeTotalCount=stackFrameNode.values[1].total;const hasUnclassifiedSizeOrCount=displayedChildrenTotalSize<nodeTotalSize||displayedChildrenTotalCount<nodeTotalCount;if(!this.heavyView_&&hasUnclassifiedSizeOrCount&&hasDisplayedChildren){const otherTitle=stackFrameNode.title.slice();otherTitle[dimensionIndex]='<other>';const otherNode=new tr.b.MultiDimensionalViewNode(otherTitle,2);childDict[otherTitle[dimensionIndex]]=otherNode;otherNode.values[0].total=nodeTotalSize-displayedChildrenTotalSize;otherNode.values[0].totalState=this.minDisplayedTotalState_;otherNode.values[1].total=nodeTotalCount-displayedChildrenTotalCount;otherNode.values[1].totalState=allDisplayedChildrenHaveDisplayedCounts?this.minDisplayedTotalState_:TotalState.NOT_PROVIDED;} 8655return childDict;},addCells_(){this.lazyCells_=tr.ui.analysis.createCells(this.stackFrameNodes_,function(stackFrameNode){const size=stackFrameNode.values[0].total;const numerics={'Size':new Scalar(sizeInBytes_smallerIsBetter,size)};const countValue=stackFrameNode.values[1];if(countValue.totalState>=this.minDisplayedTotalState_){const count=countValue.total;numerics.Count=new Scalar(count_smallerIsBetter,count);} 8656return numerics;},this);}};Polymer({is:'tr-ui-a-memory-dump-heap-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.heapDumps_=undefined;this.viewMode_=undefined;this.aggregationMode_=undefined;this.cachedBuilders_=new Map();},ready(){this.$.info_bar.message='Note: Values displayed in the heavy view '+'are lower bounds (except for the root).';Polymer.dom(this.$.view_mode_container).appendChild(tr.ui.b.createSelector(this,'viewMode','memoryDumpHeapDetailsPane.viewMode',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]));this.$.drag_handle.target=this.$.path_view;this.$.drag_handle.horizontal=false;this.$.path_view.addEventListener('selected-node-changed',(function(e){this.$.breakdown_view.displayedNode=this.$.path_view.selectedNode;}).bind(this));this.$.breakdown_view.addEventListener('enter-node',(function(e){this.$.path_view.selectedNode=e.node;}).bind(this));},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},get heapDumps(){return this.heapDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.$.path_view.aggregationMode=aggregationMode;this.$.breakdown_view.aggregationMode=aggregationMode;},get aggregationMode(){return this.aggregationMode_;},set viewMode(viewMode){this.viewMode_=viewMode;this.scheduleRebuild_();},get viewMode(){return this.viewMode_;},get heavyView(){switch(this.viewMode){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return true;default:return false;}},onRebuild_(){if(this.heapDumps_===undefined||this.heapDumps_.length===0){this.$.info_text.style.display='block';this.$.split_view.style.display='none';this.$.view_mode_container.style.display='none';this.$.info_bar.hidden=true;this.$.path_view.selectedNode=undefined;return;} 8657this.$.info_text.style.display='none';this.$.split_view.style.display='flex';this.$.view_mode_container.style.display='block';this.$.info_bar.hidden=!this.heavyView;this.$.path_view.selectedNode=this.createHeapTree_();this.$.path_view.rebuild();this.$.breakdown_view.rebuild();},createHeapTree_(){const definedHeapDump=tr.b.findFirstInArray(this.heapDumps_);if(definedHeapDump===undefined)return undefined;const rootRowTitle=definedHeapDump.allocatorName;const stackFrameTrees=this.createStackFrameTrees_(this.heapDumps_);return new HeapDumpTreeNode(stackFrameTrees,tr.ui.analysis.HeapDetailsRowDimension.ROOT,rootRowTitle,this.heavyView);},createStackFrameTrees_(heapDumps){const builders=heapDumps.map(heapDump=>this.createBuilder_(heapDump));const views=builders.map(builder=>{if(builder===undefined)return undefined;return builder.buildView(this.viewMode);});return views;},createBuilder_(heapDump){if(heapDump===undefined)return undefined;if(this.cachedBuilders_.has(heapDump)){return this.cachedBuilders_.get(heapDump);} 8658const dimensions=2;const valueCount=2;const builder=new MultiDimensionalViewBuilder(dimensions,valueCount);for(const entry of heapDump.entries){const leafStackFrame=entry.leafStackFrame;const stackTracePath=leafStackFrame===undefined?[]:leafStackFrame.getUserFriendlyStackTrace().reverse();const objectTypeName=entry.objectTypeName;const objectTypeNamePath=objectTypeName===undefined?[]:[objectTypeName];const valueKind=entry.valuesAreTotals?MultiDimensionalViewBuilder.ValueKind.TOTAL:MultiDimensionalViewBuilder.ValueKind.SELF;builder.addPath([stackTracePath,objectTypeNamePath],[entry.size,entry.count],valueKind);} 8659builder.complete=heapDump.isComplete;this.cachedBuilders_.set(heapDump,builder);return builder;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const URL_TO_SIZE_VS_EFFECTIVE_SIZE='https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra/README.md#effective_size-vs_size';const SUBALLOCATION_CONTEXT=true;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;const LEFTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FD);const RIGHTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FE);const EN_DASH=String.fromCharCode(0x2013);const CIRCLED_LATIN_SMALL_LETTER_I=String.fromCharCode(0x24D8);function AllocatorDumpNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Component');} 8660AllocatorDumpNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(!row.suballocation){return row.title;} 8661return tr.ui.b.createSpan({textContent:row.title,italic:true,tooltip:row.fullNames===undefined?undefined:row.fullNames.join(', ')});}};function getAndUpdateEntry(map,name,createdCallback){let entry=map.get(name);if(entry===undefined){entry={count:0};createdCallback(entry);map.set(name,entry);} 8662entry.count++;return entry;} 8663function SizeInfoMessageBuilder(){this.parts_=[];this.indent_=0;} 8664SizeInfoMessageBuilder.prototype={append(){this.parts_.push.apply(this.parts_,Array.prototype.slice.apply(arguments));},appendMap(map,hasPluralSuffix,emptyText,itemCallback,opt_this){opt_this=opt_this||this;if(map.size===0){if(emptyText){this.append(emptyText);}}else if(map.size===1){this.parts_.push(' ');const key=map.keys().next().value;itemCallback.call(opt_this,key,map.get(key));}else{if(hasPluralSuffix){this.parts_.push('s');} 8665this.parts_.push(':');this.indent_++;for(const key of map.keys()){this.parts_.push('\n',' '.repeat(3*(this.indent_-1)),' - ');itemCallback.call(opt_this,key,map.get(key));} 8666this.indent_--;}},appendImportanceRange(range){this.append(' (importance: ');if(range.min===range.max){this.append(range.min);}else{this.append(range.min,EN_DASH,range.max);} 8667this.append(')');},appendSizeIfDefined(size){if(size!==undefined){this.append(' (',tr.b.Unit.byName.sizeInBytes.format(size),')');}},appendSomeTimestampsQuantifier(){this.append(' ',tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER);},build(){return this.parts_.join('');}};function EffectiveSizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8668EffectiveSizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory used by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;const ownerNameToEntry=new Map();const ownedNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;} 8669dump.ownedBy.forEach(function(ownerLink){const ownerDump=ownerLink.source;this.getAndUpdateOwnershipEntry_(ownerNameToEntry,ownerDump,ownerLink);},this);const ownedLink=dump.owns;if(ownedLink!==undefined){const ownedDump=ownedLink.target;const ownedEntry=this.getAndUpdateOwnershipEntry_(ownedNameToEntry,ownedDump,ownedLink,true);const sharerNameToEntry=ownedEntry.sharerNameToEntry;ownedDump.ownedBy.forEach(function(sharerLink){const sharerDump=sharerLink.source;if(sharerDump===dump)return;this.getAndUpdateOwnershipEntry_(sharerNameToEntry,sharerDump,sharerLink);},this);}} 8670if(ownerNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shared by');messageBuilder.appendMap(ownerNameToEntry,false,undefined,function(ownerName,ownerEntry){messageBuilder.append(ownerName);if(ownerEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();} 8671messageBuilder.appendImportanceRange(ownerEntry.importanceRange);},this);infos.push({message:messageBuilder.build(),icon:LEFTWARDS_OPEN_HEADED_ARROW,color:'green'});} 8672if(ownedNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shares');messageBuilder.appendMap(ownedNameToEntry,false,undefined,function(ownedName,ownedEntry){messageBuilder.append(ownedName);const ownedCount=ownedEntry.count;if(ownedCount<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();} 8673messageBuilder.appendImportanceRange(ownedEntry.importanceRange);messageBuilder.append(' with');messageBuilder.appendMap(ownedEntry.sharerNameToEntry,false,' no other dumps',function(sharerName,sharerEntry){messageBuilder.append(sharerName);if(sharerEntry.count<ownedCount){messageBuilder.appendSomeTimestampsQuantifier();} 8674messageBuilder.appendImportanceRange(sharerEntry.importanceRange);},this);},this);infos.push({message:messageBuilder.build(),icon:RIGHTWARDS_OPEN_HEADED_ARROW,color:'green'});}},getAndUpdateOwnershipEntry_(map,dump,link,opt_withSharerNameToEntry){const entry=getAndUpdateEntry(map,dump.quantifiedName,function(newEntry){newEntry.importanceRange=new tr.b.math.Range();if(opt_withSharerNameToEntry){newEntry.sharerNameToEntry=new Map();}});entry.importanceRange.addValue(link.importance||0);return entry;}};function SizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8675SizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory requested by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;this.addOverlapInfo_(numerics,memoryAllocatorDumps,infos);this.addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos);},addOverlapInfo_(numerics,memoryAllocatorDumps,infos){const siblingNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;} 8676const ownedBySiblingSizes=dump.ownedBySiblingSizes;for(const siblingDump of ownedBySiblingSizes.keys()){const siblingName=siblingDump.name;getAndUpdateEntry(siblingNameToEntry,siblingName,function(newEntry){if(numerics.length===1){newEntry.size=ownedBySiblingSizes.get(siblingDump);}});}} 8677if(siblingNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('overlaps with its sibling');messageBuilder.appendMap(siblingNameToEntry,true,undefined,function(siblingName,siblingEntry){messageBuilder.append('\'',siblingName,'\'');messageBuilder.appendSizeIfDefined(siblingEntry.size);if(siblingEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}},this);infos.push({message:messageBuilder.build(),icon:CIRCLED_LATIN_SMALL_LETTER_I,color:'blue'});}},addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos){const infoTypeToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;} 8678dump.infos.forEach(function(dumpInfo){getAndUpdateEntry(infoTypeToEntry,dumpInfo.type,function(newEntry){if(numerics.length===1){newEntry.providedSize=dumpInfo.providedSize;newEntry.dependencySize=dumpInfo.dependencySize;}});});} 8679for(const infoType of infoTypeToEntry.keys()){const entry=infoTypeToEntry.get(infoType);const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('provided size');messageBuilder.appendSizeIfDefined(entry.providedSize);let dependencyName;switch(infoType){case PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:dependencyName='the aggregated size of the children';break;case PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:dependencyName='the size of the largest owner';break;default:dependencyName='an unknown dependency';break;} 8680messageBuilder.append(' was less than ',dependencyName);messageBuilder.appendSizeIfDefined(entry.dependencySize);if(entry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();} 8681infos.push(tr.ui.analysis.createWarningInfo(messageBuilder.build()));}}};const NUMERIC_COLUMN_RULES=[{condition:tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME,importance:10,columnConstructor:EffectiveSizeColumn},{condition:tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME,importance:9,columnConstructor:SizeColumn},{condition:'page_size',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:/size/,importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const DIAGNOSTIC_COLUMN_RULES=[{importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];Polymer({is:'tr-ui-a-memory-dump-allocator-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.memoryAllocatorDumps_=undefined;this.heapDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.scheduleRebuild_();},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.memoryAllocatorDumps_===undefined||this.memoryAllocatorDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();this.childPaneBuilder=undefined;return;} 8682this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);rows.forEach(function(rootRow){tr.ui.analysis.aggregateTableRowCellsRecursively(rootRow,columns,function(contexts){return contexts!==undefined&&contexts.some(function(context){return context===SUBALLOCATION_CONTEXT;});});});this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);if(this.heapDumps_===undefined){this.childPaneBuilder=undefined;}else{this.childPaneBuilder=function(){const pane=document.createElement('tr-ui-a-memory-dump-heap-details-pane');pane.heapDumps=this.heapDumps_;pane.aggregationMode=this.aggregationMode_;return pane;}.bind(this);}},createRows_(){return[this.createAllocatorRowRecursively_(this.memoryAllocatorDumps_)];},createAllocatorRowRecursively_(dumps){const definedDump=tr.b.findFirstInArray(dumps);const title=definedDump.name;const fullName=definedDump.fullName;const numericCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.numerics;});const diagnosticCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.diagnostics;});let suballocatedBy=undefined;if(title.startsWith('__')){for(let i=0;i<dumps.length;i++){const dump=dumps[i];if(dump===undefined||dump.ownedBy.length===0){continue;} 8683const ownerDump=dump.ownedBy[0].source;if(dump.ownedBy.length>1||dump.children.length>0||ownerDump.containerMemoryDump!==dump.containerMemoryDump){suballocatedBy=undefined;break;} 8684if(suballocatedBy===undefined){suballocatedBy=ownerDump.fullName;}else if(suballocatedBy!==ownerDump.fullName){suballocatedBy=undefined;break;}}} 8685const row={title,fullNames:[fullName],contexts:dumps,numericCells,diagnosticCells,suballocatedBy};const childDumpNameToDumps=tr.b.invertArrayOfDicts(dumps,function(dump){return tr.b.arrayToDict(dump.children,function(child){return child.name;});});const subRows=[];let suballocationClassificationRootNode=undefined;for(const childDumps of Object.values(childDumpNameToDumps)){const childRow=this.createAllocatorRowRecursively_(childDumps);if(childRow.suballocatedBy===undefined){subRows.push(childRow);}else{suballocationClassificationRootNode=this.classifySuballocationRow_(childRow,suballocationClassificationRootNode);}} 8686if(suballocationClassificationRootNode!==undefined){const suballocationRow=this.createSuballocationRowRecursively_('suballocations',suballocationClassificationRootNode);subRows.push(suballocationRow);} 8687if(subRows.length>0){row.subRows=subRows;} 8688return row;},classifySuballocationRow_(suballocationRow,rootNode){if(rootNode===undefined){rootNode={children:{},row:undefined};} 8689const suballocationLevels=suballocationRow.suballocatedBy.split('/');let currentNode=rootNode;for(let i=0;i<suballocationLevels.length;i++){const suballocationLevel=suballocationLevels[i];let nextNode=currentNode.children[suballocationLevel];if(nextNode===undefined){currentNode.children[suballocationLevel]=nextNode={children:{},row:undefined};} 8690currentNode=nextNode;} 8691const existingRow=currentNode.row;if(existingRow!==undefined){for(let i=0;i<suballocationRow.contexts.length;i++){const newContext=suballocationRow.contexts[i];if(newContext===undefined)continue;if(existingRow.contexts[i]!==undefined){throw new Error('Multiple suballocations with the same owner name');} 8692existingRow.contexts[i]=newContext;['numericCells','diagnosticCells'].forEach(function(cellKey){const suballocationCells=suballocationRow[cellKey];if(suballocationCells===undefined)return;for(const[cellName,cell]of Object.entries(suballocationCells)){if(cell===undefined)continue;const fields=cell.fields;if(fields===undefined)continue;const field=fields[i];if(field===undefined)continue;let existingCells=existingRow[cellKey];if(existingCells===undefined){existingCells={};existingRow[cellKey]=existingCells;} 8693let existingCell=existingCells[cellName];if(existingCell===undefined){existingCell=new tr.ui.analysis.MemoryCell(new Array(fields.length));existingCells[cellName]=existingCell;} 8694existingCell.fields[i]=field;}});} 8695existingRow.fullNames.push.apply(existingRow.fullNames,suballocationRow.fullNames);}else{currentNode.row=suballocationRow;} 8696return rootNode;},createSuballocationRowRecursively_(name,node){const childCount=Object.keys(node.children).length;if(childCount===0){if(node.row===undefined){throw new Error('Suballocation node must have a row or children');} 8697const row=node.row;row.title=name;row.suballocation=true;return row;} 8698const subRows=Object.values(tr.b.mapItems(node.children,this.createSuballocationRowRecursively_,this));if(node.row!==undefined){const row=node.row;row.title='<unspecified>';row.suballocation=true;subRows.unshift(row);} 8699const contexts=new Array(subRows[0].contexts.length);for(let i=0;i<subRows.length;i++){subRows[i].contexts.forEach(function(subContext,index){if(subContext!==undefined){contexts[index]=SUBALLOCATION_CONTEXT;}});} 8700return{title:name,suballocation:true,contexts,subRows};},createColumns_(rows){const titleColumn=new AllocatorDumpNameColumn();titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'numericCells',aggregationMode:this.aggregationMode_,rules:NUMERIC_COLUMN_RULES});const diagnosticColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'diagnosticCells',aggregationMode:this.aggregationMode_,rules:DIAGNOSTIC_COLUMN_RULES});const fieldColumns=numericColumns.concat(diagnosticColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{SUBALLOCATION_CONTEXT,AllocatorDumpNameColumn,EffectiveSizeColumn,SizeColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const CONSTANT_COLUMN_RULES=[{condition:'Start address',importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];const VARIABLE_COLUMN_RULES=[{condition:'Virtual size',importance:7,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Protection flags',importance:6,columnConstructor:tr.ui.analysis.StringMemoryColumn},{condition:'PSS',importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private dirty',importance:4,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private clean',importance:3,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared dirty',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared clean',importance:1,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Swapped',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const BYTE_STAT_COLUMN_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','privateCleanResident':'Private clean','sharedDirtyResident':'Shared dirty','sharedCleanResident':'Shared clean','swapped':'Swapped'};function hexString(address,is64BitAddress){if(address===undefined)return undefined;const hexPadding=is64BitAddress?'0000000000000000':'00000000';return(hexPadding+address.toString(16)).substr(-hexPadding.length);} 8701function pruneEmptyRuleRows(row){if(row.subRows===undefined||row.subRows.length===0)return;if(row.subRows[0].rule===undefined){return;} 8702row.subRows.forEach(pruneEmptyRuleRows);row.subRows=row.subRows.filter(function(subRow){return subRow.subRows.length>0;});} 8703Polymer({is:'tr-ui-a-memory-dump-vm-regions-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.vmRegions_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set vmRegions(vmRegions){this.vmRegions_=vmRegions;this.scheduleRebuild_();},get vmRegions(){return this.vmRegions_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.vmRegions_===undefined||this.vmRegions_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;} 8704this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_(this.vmRegions_);const columns=this.createColumns_(rows);this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);},createRows_(timeToVmRegionTree){const is64BitAddress=timeToVmRegionTree.some(function(vmRegionTree){if(vmRegionTree===undefined)return false;return vmRegionTree.someRegion(function(region){if(region.startAddress===undefined)return false;return region.startAddress>=4294967296;});});return[this.createClassificationNodeRow(timeToVmRegionTree,is64BitAddress)];},createClassificationNodeRow(timeToNode,is64BitAddress){const definedNode=tr.b.findFirstInArray(timeToNode);const childNodeIdToTimeToNode=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const children=node.children;if(children===undefined)return undefined;const childMap={};children.forEach(function(childNode){if(!childNode.hasRegions)return;childMap[childNode.title]=childNode;});return childMap;}));const childNodeSubRows=childNodeIdToTimeToNode.map(function(timeToChildNode){return this.createClassificationNodeRow(timeToChildNode,is64BitAddress);},this);const regionIdToTimeToRegion=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const regions=node.regions;if(regions===undefined)return undefined;return tr.b.arrayToDict(regions,function(region){return region.uniqueIdWithinProcess;});}));const regionSubRows=regionIdToTimeToRegion.map(function(timeToRegion){return this.createRegionRow_(timeToRegion,is64BitAddress);},this);const subRows=childNodeSubRows.concat(regionSubRows);return{title:definedNode.title,contexts:timeToNode,variableCells:this.createVariableCells_(timeToNode),subRows};},createRegionRow_(timeToRegion,is64BitAddress){const definedRegion=tr.b.findFirstInArray(timeToRegion);return{title:definedRegion.mappedFile,contexts:timeToRegion,constantCells:this.createConstantCells_(definedRegion,is64BitAddress),variableCells:this.createVariableCells_(timeToRegion)};},createConstantCells_(definedRegion,is64BitAddress){return tr.ui.analysis.createCells([definedRegion],function(region){const startAddress=region.startAddress;if(startAddress===undefined)return undefined;return{'Start address':hexString(startAddress,is64BitAddress)};});},createVariableCells_(timeToRegion){return tr.ui.analysis.createCells(timeToRegion,function(region){const fields={};const sizeInBytes=region.sizeInBytes;if(sizeInBytes!==undefined){fields['Virtual size']=new Scalar(sizeInBytes_smallerIsBetter,sizeInBytes);} 8705const protectionFlags=region.protectionFlagsToString;if(protectionFlags!==undefined){fields['Protection flags']=protectionFlags;} 8706for(const[byteStatName,columnName]of 8707Object.entries(BYTE_STAT_COLUMN_MAP)){const byteStat=region.byteStats[byteStatName];if(byteStat===undefined)continue;fields[columnName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);} 8708return fields;});},createColumns_(rows){const titleColumn=new tr.ui.analysis.TitleColumn('Mapped file');titleColumn.width='200px';const constantColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'constantCells',aggregationMode:undefined,rules:CONSTANT_COLUMN_RULES});const variableColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'variableCells',aggregationMode:this.aggregationMode_,rules:VARIABLE_COLUMN_RULES});const fieldColumns=constantColumns.concat(variableColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{};});'use strict';Polymer({is:'tr-ui-b-color-legend',ready(){const blackSquareCharCode=9632;this.$.square.innerText=String.fromCharCode(blackSquareCharCode);this.label_=undefined;this.compoundEventSelectionState_=tr.model.CompoundEventSelectionState.NOT_SELECTED;},set compoundEventSelectionState(compoundEventSelectionState){this.compoundEventSelectionState_=compoundEventSelectionState;},get label(){return this.label_;},set label(label){if(label===undefined){this.setLabelAndColorId(undefined,undefined);return;} 8709const colorId=tr.b.ColorScheme.getColorIdForGeneralPurposeString(label);this.setLabelAndColorId(label,colorId);},setLabelAndColorId(label,colorId){this.label_=label;Polymer.dom(this.$.label).textContent='';Polymer.dom(this.$.label).appendChild(tr.ui.b.asHTMLOrTextNode(label));if(colorId===undefined){this.$.square.style.color='initial';}else{this.$.square.style.color=tr.b.ColorScheme.colorsAsStrings[colorId];}}});'use strict';Polymer({is:'tr-ui-b-view-specific-brushing-state',get viewId(){return this.getAttribute('view-id');},set viewId(viewId){Polymer.dom(this).setAttribute('view-id',viewId);},get(){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');} 8710const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return undefined;return brushingStateController.getViewSpecificBrushingState(viewId);},set(state){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');} 8711const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return;brushingStateController.changeViewSpecificBrushingState(viewId,state);}});'use strict';tr.exportTo('tr.ui.analysis',function(){const MemoryColumnColorScheme=tr.b.MemoryColumnColorScheme;const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX='_bytes';const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const SOME_TIMESTAMPS_INFO_QUANTIFIER=tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER;const RIGHTWARDS_ARROW_WITH_HOOK=String.fromCharCode(0x21AA);const RIGHTWARDS_ARROW_FROM_BAR=String.fromCharCode(0x21A6);const GREATER_THAN_OR_EQUAL_TO=String.fromCharCode(0x2265);const UNMARRIED_PARTNERSHIP_SYMBOL=String.fromCharCode(0x26AF);const TRIGRAM_FOR_HEAVEN=String.fromCharCode(0x2630);function lazyMap(list,fn,opt_this){opt_this=opt_this||this;let result=undefined;list.forEach(function(item,index){const value=fn.call(opt_this,item,index);if(value===undefined)return;if(result===undefined){result=new Array(list.length);} 8712result[index]=value;});return result;} 8713function ProcessNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Process');} 8714ProcessNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.contexts===undefined){return row.title;} 8715const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=row.title;return titleEl;}};function UsedMemoryColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8716UsedMemoryColumn.COLOR=MemoryColumnColorScheme.getColor('used_memory_column').toString();UsedMemoryColumn.OLDER_COLOR=MemoryColumnColorScheme.getColor('older_used_memory_column').toString();UsedMemoryColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:UsedMemoryColumn.COLOR});},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},color(numerics,processMemoryDumps){return UsedMemoryColumn.COLOR;},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const vmRegions=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.mostRecentVmRegions;});if(vmRegions===undefined)return undefined;return function(){const pane=document.createElement('tr-ui-a-memory-dump-vm-regions-details-pane');pane.vmRegions=vmRegions;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function PeakMemoryColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);} 8717PeakMemoryColumn.prototype={__proto__:UsedMemoryColumn.prototype,addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let resettableValueCount=0;let nonResettableValueCount=0;for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;if(processMemoryDumps[i].arePeakResidentBytesResettable){resettableValueCount++;}else{nonResettableValueCount++;}} 8718if(resettableValueCount>0&&nonResettableValueCount>0){infos.push(tr.ui.analysis.createWarningInfo('Both resettable and '+'non-resettable peak RSS values were provided by the process'));}else if(resettableValueCount>0){infos.push({icon:RIGHTWARDS_ARROW_WITH_HOOK,message:'Peak RSS since previous memory dump.'});}else{infos.push({icon:RIGHTWARDS_ARROW_FROM_BAR,message:'Peak RSS since process startup. Finer grained '+'peaks require a Linux kernel version '+ 8719GREATER_THAN_OR_EQUAL_TO+' 4.0.'});}}};function ByteStatColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);} 8720ByteStatColumn.prototype={__proto__:UsedMemoryColumn.prototype,color(numerics,processMemoryDumps){if(processMemoryDumps===undefined){return UsedMemoryColumn.COLOR;} 8721const allOlderValues=processMemoryDumps.every(function(processMemoryDump){if(processMemoryDump===undefined)return true;return!processMemoryDump.hasOwnVmRegions;});if(allOlderValues){return UsedMemoryColumn.OLDER_COLOR;} 8722return UsedMemoryColumn.COLOR;},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let olderValueCount=0;for(let i=0;i<numerics.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump!==undefined&&!processMemoryDump.hasOwnVmRegions){olderValueCount++;}} 8723if(olderValueCount===0){return;} 8724const infoQuantifier=olderValueCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Older value'+infoQuantifier+' (only heavy (purple) memory dumps contain memory maps).',icon:UNMARRIED_PARTNERSHIP_SYMBOL});}};UsedMemoryColumn.RULES=[{condition:'Total resident',importance:10,columnConstructor:UsedMemoryColumn},{condition:'Peak total resident',importance:9,columnConstructor:PeakMemoryColumn},{condition:'PSS',importance:8,columnConstructor:ByteStatColumn},{condition:'Private dirty',importance:7,columnConstructor:ByteStatColumn},{condition:'Swapped',importance:6,columnConstructor:ByteStatColumn},{importance:0,columnConstructor:UsedMemoryColumn}];UsedMemoryColumn.TOTALS_MAP={'residentBytes':'Total resident','peakResidentBytes':'Peak total resident'};UsedMemoryColumn.BYTE_STAT_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','swapped':'Swapped'};function AllocatorColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8725AllocatorColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=this.name;return titleEl;},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let heapDumpCount=0;let missingSizeCount=0;for(let i=0;i<processMemoryDumps.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump===undefined)continue;const heapDumps=processMemoryDump.heapDumps;if(heapDumps!==undefined&&heapDumps[this.name]!==undefined){heapDumpCount++;} 8726const allocatorDump=processMemoryDump.getMemoryAllocatorDumpByFullName(this.name);if(allocatorDump!==undefined&&allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME]===undefined){missingSizeCount++;}} 8727if(heapDumpCount>0){const infoQuantifier=heapDumpCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Heap dump provided'+infoQuantifier+'.',icon:TRIGRAM_FOR_HEAVEN});} 8728if(missingSizeCount>0){const infoQuantifier=missingSizeCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push(tr.ui.analysis.createWarningInfo('Size was not provided'+infoQuantifier+'.'));}},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const memoryAllocatorDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.getMemoryAllocatorDumpByFullName(this.name);},this);if(memoryAllocatorDumps===undefined)return undefined;const heapDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined||pmd.heapDumps===undefined)return undefined;return pmd.heapDumps[this.name];},this);return function(){const pane=document.createElement('tr-ui-a-memory-dump-allocator-details-pane');pane.memoryAllocatorDumps=memoryAllocatorDumps;pane.heapDumps=heapDumps;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function TracingColumn(name,cellPath,aggregationMode){AllocatorColumn.call(this,name,cellPath,aggregationMode);} 8729TracingColumn.COLOR=MemoryColumnColorScheme.getColor('tracing_memory_column').toString();TracingColumn.prototype={__proto__:AllocatorColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:TracingColumn.COLOR});},color(numerics,processMemoryDumps){return TracingColumn.COLOR;}};AllocatorColumn.RULES=[{condition:'tracing',importance:0,columnConstructor:TracingColumn},{importance:1,columnConstructor:AllocatorColumn}];Polymer({is:'tr-ui-a-memory-dump-overview-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.processMemoryDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.CELL;this.$.table.addEventListener('selection-changed',function(tableEvent){tableEvent.stopPropagation();this.changeChildPane_();}.bind(this));},set processMemoryDumps(processMemoryDumps){this.processMemoryDumps_=processMemoryDumps;this.scheduleRebuild_();},get processMemoryDumps(){return this.processMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},get selectedMemoryCell(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;} 8730const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];const selectedMemoryCell=selectedColumn.cell(selectedTableRow);return selectedMemoryCell;},changeChildPane_(){this.storeSelection_();this.childPaneBuilder=this.determineChildPaneBuilderFromSelection_();},determineChildPaneBuilderFromSelection_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;} 8731const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];return selectedColumn.getChildPaneBuilder(selectedTableRow.contexts);},onRebuild_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;} 8732this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);const footerRows=this.createFooterRows_(rows,columns);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.tableColumns=columns;this.$.table.rebuild();this.restoreSelection_();},createRows_(){const timeToPidToProcessMemoryDump=this.processMemoryDumps_;const pidToTimeToProcessMemoryDump=tr.b.invertArrayOfDicts(timeToPidToProcessMemoryDump);return Object.values(tr.b.mapItems(pidToTimeToProcessMemoryDump,function(pid,timeToDump){const process=tr.b.findFirstInArray(timeToDump).process;const usedMemoryCells=tr.ui.analysis.createCells(timeToDump,function(dump){const sizes={};const totals=dump.totals;if(totals!==undefined){for(const[totalName,cellName]of 8733Object.entries(UsedMemoryColumn.TOTALS_MAP)){const total=totals[totalName];if(total===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,total);} 8734const platformSpecific=totals.platformSpecific;if(platformSpecific!==undefined){for(const[name,size]of 8735Object.entries(platformSpecific)){let newName=name;if(name.endsWith(PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX)){newName=name.substring(0,name.length- 8736PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX.length);} 8737newName=newName.replace('_',' ').trim();newName=newName.charAt(0).toUpperCase()+ 8738newName.slice(1);sizes[newName]=new Scalar(sizeInBytes_smallerIsBetter,size);}}} 8739const vmRegions=dump.mostRecentVmRegions;if(vmRegions!==undefined){for(const[byteStatName,cellName]of 8740Object.entries(UsedMemoryColumn.BYTE_STAT_MAP)){const byteStat=vmRegions.byteStats[byteStatName];if(byteStat===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);}} 8741return sizes;});const allocatorCells=tr.ui.analysis.createCells(timeToDump,function(dump){const memoryAllocatorDumps=dump.memoryAllocatorDumps;if(memoryAllocatorDumps===undefined)return undefined;const sizes={};memoryAllocatorDumps.forEach(function(allocatorDump){let rootDisplayedSizeNumeric=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(rootDisplayedSizeNumeric===undefined){rootDisplayedSizeNumeric=new Scalar(sizeInBytes_smallerIsBetter,0);} 8742sizes[allocatorDump.fullName]=rootDisplayedSizeNumeric;});return sizes;});return{title:process.userFriendlyName,contexts:timeToDump,usedMemoryCells,allocatorCells};}));},createFooterRows_(rows,columns){if(rows.length<=1)return[];const totalRow={title:'Total'};tr.ui.analysis.aggregateTableRowCells(totalRow,rows,columns);return[totalRow];},createColumns_(rows){const titleColumn=new ProcessNameColumn();titleColumn.width='200px';const usedMemorySizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'usedMemoryCells',aggregationMode:this.aggregationMode_,rules:UsedMemoryColumn.RULES});const allocatorSizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'allocatorCells',aggregationMode:this.aggregationMode_,rules:AllocatorColumn.RULES});const sizeColumns=usedMemorySizeColumns.concat(allocatorSizeColumns);tr.ui.analysis.MemoryColumn.spaceEqually(sizeColumns);const columns=[titleColumn].concat(sizeColumns);return columns;},storeSelection_(){let selectedRowTitle;const selectedRow=this.$.table.selectedTableRow;if(selectedRow!==undefined){selectedRowTitle=selectedRow.title;} 8743let selectedColumnName;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex!==undefined){const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];selectedColumnName=selectedColumn.name;} 8744this.$.state.set({rowTitle:selectedRowTitle,columnName:selectedColumnName});},restoreSelection_(){const settings=this.$.state.get();if(settings===undefined||settings.rowTitle===undefined||settings.columnName===undefined){return;} 8745const selectedColumnName=settings.columnName;const selectedColumnIndex=tr.b.findFirstIndexInArray(this.$.table.tableColumns,function(column){return column.name===selectedColumnName;});if(selectedColumnIndex<0)return;const selectedRowTitle=settings.rowTitle;const selectedRow=tr.b.findFirstInArray(this.$.table.tableRows,function(row){return row.title===selectedRowTitle;});if(selectedRow===undefined)return;this.$.table.selectedTableRow=selectedRow;this.$.table.selectedColumnIndex=selectedColumnIndex;}});return{ProcessNameColumn,UsedMemoryColumn,PeakMemoryColumn,ByteStatColumn,AllocatorColumn,TracingColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-memory-dump-header-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.containerMemoryDumps_=undefined;},ready(){Polymer.dom(this.$.aggregation_mode_container).appendChild(tr.ui.b.createSelector(this,'aggregationMode','memoryDumpHeaderPane.aggregationMode',tr.ui.analysis.MemoryColumn.AggregationMode.DIFF,[{label:'Diff',value:tr.ui.analysis.MemoryColumn.AggregationMode.DIFF},{label:'Max',value:tr.ui.analysis.MemoryColumn.AggregationMode.MAX}]));},set containerMemoryDumps(containerMemoryDumps){this.containerMemoryDumps_=containerMemoryDumps;this.scheduleRebuild_();},get containerMemoryDumps(){return this.containerMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){this.updateLabel_();this.updateAggregationModeSelector_();this.changeChildPane_();},updateLabel_(){Polymer.dom(this.$.label).textContent='';if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){Polymer.dom(this.$.label).textContent='No memory dumps selected';return;} 8746const containerDumpCount=this.containerMemoryDumps_.length;const isMultiSelection=containerDumpCount>1;Polymer.dom(this.$.label).appendChild(document.createTextNode('Selected '+containerDumpCount+' memory dump'+ 8747(isMultiSelection?'s':'')+' in '+this.containerMemoryDumps_[0].containerName+' at '));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[0].start)));if(isMultiSelection){const ELLIPSIS=String.fromCharCode(8230);Polymer.dom(this.$.label).appendChild(document.createTextNode(ELLIPSIS));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[containerDumpCount-1].start)));}},updateAggregationModeSelector_(){let displayStyle;if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=1){displayStyle='none';}else{displayStyle='initial';} 8748this.$.aggregation_mode_container.style.display=displayStyle;},changeChildPane_(){this.childPaneBuilder=function(){if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){return undefined;} 8749const overviewPane=document.createElement('tr-ui-a-memory-dump-overview-pane');overviewPane.processMemoryDumps=this.containerMemoryDumps_.map(function(containerDump){return containerDump.processMemoryDumps;});overviewPane.aggregationMode=this.aggregationMode;return overviewPane;}.bind(this);}});return{};});'use strict';Polymer({is:'tr-ui-a-stacked-pane-view',setPaneBuilder(paneBuilder,opt_parentPane){const paneContainer=this.$.pane_container;if(opt_parentPane){if(!(opt_parentPane instanceof HTMLElement)){throw new Error('Parent pane must be an HTML element');} 8750if(opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane must be a child of the pane container');}} 8751while(Polymer.dom(paneContainer).lastElementChild!==null&&Polymer.dom(paneContainer).lastElementChild!==opt_parentPane){const removedPane=Polymer.dom(this.$.pane_container).lastElementChild;const listener=this.listeners_.get(removedPane);if(listener===undefined){throw new Error('No listener associated with pane');} 8752this.listeners_.delete(removedPane);removedPane.removeEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).removeChild(removedPane);} 8753if(opt_parentPane&&opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane was removed from the pane container');} 8754if(!paneBuilder)return;const pane=paneBuilder();if(!pane)return;if(!(pane instanceof HTMLElement)){throw new Error('Pane must be an HTML element');} 8755const listener=function(event){this.setPaneBuilder(pane.childPaneBuilder,pane);}.bind(this);if(!this.listeners_){this.listeners_=new WeakMap();} 8756this.listeners_.set(pane,listener);pane.addEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).appendChild(pane);pane.appended();},rebuild(){let currentPane=Polymer.dom(this.$.pane_container).firstElementChild;while(currentPane){currentPane.rebuild();currentPane=currentPane.nextElementSibling;}},get panesForTesting(){const panes=[];let currentChild=Polymer.dom(this.$.pane_container).firstElementChild;while(currentChild){panes.push(currentChild);currentChild=currentChild.nextElementSibling;} 8757return panes;}});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-container-memory-dump-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],set selection(selection){if(selection===undefined){this.currentSelection_=undefined;this.dumpsByContainerName_=undefined;this.updateContents_();return;} 8758selection.forEach(function(event){if(!(event instanceof tr.model.ContainerMemoryDump)){throw new Error('Memory dump sub-view only supports container memory dumps');}});this.currentSelection_=selection;this.dumpsByContainerName_=tr.b.groupIntoMap(this.currentSelection_.toArray(),dump=>dump.containerName);for(const dumps of this.dumpsByContainerName_.values()){dumps.sort((a,b)=>a.start-b.start);} 8759this.updateContents_();},get selection(){return this.currentSelection_;},get requiresTallView(){return true;},updateContents_(){Polymer.dom(this.$.content).textContent='';if(this.dumpsByContainerName_===undefined)return;const containerNames=Array.from(this.dumpsByContainerName_.keys());if(containerNames.length===0)return;if(containerNames.length>1){this.buildViewForMultipleContainerNames_();}else{this.buildViewForSingleContainerName_();}},buildViewForSingleContainerName_(){const containerMemoryDumps=tr.b.getFirstElement(this.dumpsByContainerName_.values());const dumpView=this.ownerDocument.createElement('tr-ui-a-stacked-pane-view');Polymer.dom(this.$.content).appendChild(dumpView);dumpView.setPaneBuilder(function(){const headerPane=document.createElement('tr-ui-a-memory-dump-header-pane');headerPane.containerMemoryDumps=containerMemoryDumps;return headerPane;});},buildViewForMultipleContainerNames_(){const ownerDocument=this.ownerDocument;const rows=[];for(const[containerName,dumps]of this.dumpsByContainerName_){rows.push({containerName,subRows:dumps,isExpanded:true,});} 8760rows.sort(function(a,b){return a.containerName.localeCompare(b.containerName);});const columns=[{title:'Dump',value(row){if(row.subRows===undefined){return this.singleDumpValue_(row);} 8761return this.groupedDumpValue_(row);},singleDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet([row]));Polymer.dom(linkEl).appendChild(tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument}));return linkEl;},groupedDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(row.subRows));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.subRows.length+' memory dump'+ 8762(row.subRows.length===1?'':'s')+' in '}));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.containerName,bold:true}));return linkEl;}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.tableColumns=columns;table.tableRows=rows;table.showHeader=false;table.rebuild();Polymer.dom(this.$.content).appendChild(table);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:false,title:'Global Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:true,title:'Global Memory Dumps',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:false,title:'Process Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:true,title:'Process Memory Dumps',});return{};});'use strict';(function(){const COUNTER_SAMPLE_TABLE_COLUMNS=[{title:'Counter',width:'150px',value(row){return row.counter;}},{title:'Series',width:'150px',value(row){return row.series;}},{title:'Time',width:'150px',value(row){return row.start;}},{title:'Value',width:'100%',value(row){return row.value;}}];Polymer({is:'tr-ui-a-counter-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=COUNTER_SAMPLE_TABLE_COLUMNS;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){this.$.table.tableRows=this.selection?this.getRows_(this.selection.toArray()):[];this.$.table.rebuild();},getRows_(samples){const samplesByCounter=tr.b.groupIntoMap(samples,sample=>sample.series.counter.guid);const rows=[];for(const counterSamples of samplesByCounter.values()){const samplesBySeries=tr.b.groupIntoMap(counterSamples,sample=>sample.series.guid);for(const seriesSamples of samplesBySeries.values()){const seriesRows=this.getRowsForSamples_(seriesSamples);seriesRows[0].counter=seriesSamples[0].series.counter.name;seriesRows[0].series=seriesSamples[0].series.name;if(seriesRows.length>1){seriesRows[0].subRows=seriesRows.slice(1);seriesRows[0].isExpanded=true;} 8763rows.push(seriesRows[0]);}} 8764return rows;},getRowsForSamples_(samples){return samples.map(function(sample){return{start:sample.timestamp,value:sample.value};});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:false,title:'Counter Sample',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:true,title:'Counter Samples',});})();'use strict';tr.exportTo('tr.ui.analysis',function(){function MultiEventSummary(title,events){this.title=title;this.duration_=undefined;this.selfTime_=undefined;this.events_=events;this.cpuTimesComputed_=false;this.cpuSelfTime_=undefined;this.cpuDuration_=undefined;this.maxDuration_=undefined;this.maxCpuDuration_=undefined;this.maxSelfTime_=undefined;this.maxCpuSelfTime_=undefined;this.untotallableArgs_=[];this.totalledArgs_=undefined;} 8765MultiEventSummary.prototype={set title(title){if(title==='Totals'){this.totalsRow=true;} 8766this.title_=title;},get title(){return this.title_;},get duration(){if(this.duration_===undefined){this.duration_=tr.b.math.Statistics.sum(this.events_,function(event){return event.duration;});} 8767return this.duration_;},get cpuSelfTime(){this.computeCpuTimesIfNeeded_();return this.cpuSelfTime_;},get cpuDuration(){this.computeCpuTimesIfNeeded_();return this.cpuDuration_;},computeCpuTimesIfNeeded_(){if(this.cpuTimesComputed_)return;this.cpuTimesComputed_=true;let cpuSelfTime=0;let cpuDuration=0;let hasCpuData=false;for(const event of this.events_){if(event.cpuDuration!==undefined){cpuDuration+=event.cpuDuration;hasCpuData=true;} 8768if(event.cpuSelfTime!==undefined){cpuSelfTime+=event.cpuSelfTime;hasCpuData=true;}} 8769if(hasCpuData){this.cpuDuration_=cpuDuration;this.cpuSelfTime_=cpuSelfTime;}},get selfTime(){if(this.selfTime_===undefined){this.selfTime_=0;for(const event of this.events_){if(event.selfTime!==undefined){this.selfTime_+=event.selfTime;}}} 8770return this.selfTime_;},get events(){return this.events_;},get numEvents(){return this.events_.length;},get numAlerts(){if(this.numAlerts_===undefined){this.numAlerts_=tr.b.math.Statistics.sum(this.events_,event=>event.associatedAlerts.length);} 8771return this.numAlerts_;},get untotallableArgs(){this.updateArgsIfNeeded_();return this.untotallableArgs_;},get totalledArgs(){this.updateArgsIfNeeded_();return this.totalledArgs_;},get maxDuration(){if(this.maxDuration_===undefined){this.maxDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.duration;});} 8772return this.maxDuration_;},get maxCpuDuration(){if(this.maxCpuDuration_===undefined){this.maxCpuDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuDuration;});} 8773return this.maxCpuDuration_;},get maxSelfTime(){if(this.maxSelfTime_===undefined){this.maxSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.selfTime;});} 8774return this.maxSelfTime_;},get maxCpuSelfTime(){if(this.maxCpuSelfTime_===undefined){this.maxCpuSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuSelfTime;});} 8775return this.maxCpuSelfTime_;},updateArgsIfNeeded_(){if(this.totalledArgs_!==undefined)return;const untotallableArgs={};const totalledArgs={};for(const event of this.events_){for(const argName in event.args){const argVal=event.args[argName];const type=typeof argVal;if(type!=='number'){untotallableArgs[argName]=true;delete totalledArgs[argName];continue;} 8776if(untotallableArgs[argName]){continue;} 8777if(totalledArgs[argName]===undefined){totalledArgs[argName]=0;} 8778totalledArgs[argName]+=argVal;}} 8779this.untotallableArgs_=Object.keys(untotallableArgs);this.totalledArgs_=totalledArgs;}};return{MultiEventSummary,};});'use strict';Polymer({is:'tr-ui-a-multi-event-summary-table',ready(){this.showTotals_=false;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;this.eventsByTitle_=undefined;},updateTableColumns_(rows,maxValues){let hasCpuData=false;let hasAlerts=false;rows.forEach(function(row){if(row.cpuDuration!==undefined){hasCpuData=true;} 8780if(row.cpuSelfTime!==undefined){hasCpuData=true;} 8781if(row.numAlerts){hasAlerts=true;}});const ownerDocument=this.ownerDocument;const columns=[];columns.push({title:'Name',value(row){if(row.title==='Totals')return'Totals';const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(row.events);},row.title);return linkEl;},width:'350px',cmp(rowA,rowB){return rowA.title.localeCompare(rowB.title);}});if(this.eventsHaveDuration_){columns.push({title:'Wall Duration',value(row){return tr.v.ui.createScalarSpan(row.duration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.duration-rowB.duration;}});} 8782if(this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Duration',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuDuration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuDuration-rowB.cpuDuration;}});} 8783if(this.eventsHaveSubRows_&&this.eventsHaveDuration_){columns.push({title:'Self time',value(row){return tr.v.ui.createScalarSpan(row.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.selfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.selfTime-rowB.selfTime;}});} 8784if(this.eventsHaveSubRows_&&this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Self Time',value(row){return tr.v.ui.createScalarSpan(row.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuSelfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuSelfTime-rowB.cpuSelfTime;}});} 8785if(this.eventsHaveDuration_){columns.push({title:'Average '+(hasCpuData?'CPU':'Wall')+' Duration',value(row){const totalDuration=hasCpuData?row.cpuDuration:row.duration;return tr.v.ui.createScalarSpan(totalDuration/row.numEvents,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){if(hasCpuData){return rowA.cpuDuration/rowA.numEvents- 8786rowB.cpuDuration/rowB.numEvents;} 8787return rowA.duration/rowA.numEvents- 8788rowB.duration/rowB.numEvents;}});} 8789columns.push({title:'Occurrences',value(row){return row.numEvents;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numEvents-rowB.numEvents;}});let alertsColumnIndex;if(hasAlerts){columns.push({title:'Num Alerts',value(row){return row.numAlerts;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numAlerts-rowB.numAlerts;}});alertsColumnIndex=columns.length-1;} 8790let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';} 8791for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;} 8792this.$.table.tableColumns=columns;if(hasAlerts){this.$.table.sortColumnIndex=alertsColumnIndex;this.$.table.sortDescending=true;}},configure(config){if(config.eventsByTitle===undefined){throw new Error('Required: eventsByTitle');} 8793if(config.showTotals!==undefined){this.showTotals_=config.showTotals;}else{this.showTotals_=true;} 8794if(config.eventsHaveDuration!==undefined){this.eventsHaveDuration_=config.eventsHaveDuration;}else{this.eventsHaveDuration_=true;} 8795if(config.eventsHaveSubRows!==undefined){this.eventsHaveSubRows_=config.eventsHaveSubRows;}else{this.eventsHaveSubRows_=true;} 8796this.eventsByTitle_=config.eventsByTitle;this.updateContents_();},get showTotals(){return this.showTotals_;},set showTotals(showTotals){this.showTotals_=showTotals;this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;this.updateContents_();},get eventsByTitle(){return this.eventsByTitle_;},set eventsByTitle(eventsByTitle){this.eventsByTitle_=eventsByTitle;this.updateContents_();},get selectionBounds(){return this.selectionBounds_;},set selectionBounds(selectionBounds){this.selectionBounds_=selectionBounds;this.updateContents_();},updateContents_(){let eventsByTitle;if(this.eventsByTitle_!==undefined){eventsByTitle=this.eventsByTitle_;}else{eventsByTitle=[];} 8797const allEvents=new tr.model.EventSet();const rows=[];for(const[title,eventsOfSingleTitle]of Object.entries(eventsByTitle)){for(const event of eventsOfSingleTitle)allEvents.push(event);const row=new tr.ui.analysis.MultiEventSummary(title,eventsOfSingleTitle);rows.push(row);} 8798this.updateTableColumns_(rows);this.$.table.tableRows=rows;const maxValues={duration:undefined,selfTime:undefined,cpuSelfTime:undefined,cpuDuration:undefined};if(this.eventsHaveDuration){for(const column in maxValues){maxValues[column]=tr.b.math.Statistics.max(rows,function(event){return event[column];});}} 8799const footerRows=[];if(this.showTotals_){const multiEventSummary=new tr.ui.analysis.MultiEventSummary('Totals',allEvents);footerRows.push(multiEventSummary);} 8800this.updateTableColumns_(rows,maxValues);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-selection-summary-table',created(){this.selection_=new tr.b.math.Range();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{title:'Name',value(row){return row.title;},width:'350px'},{title:'Value',width:'100%',value(row){return row.value;}}];},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},updateContents_(){const selection=this.selection_;const rows=[];let hasRange;if(this.selection_&&(!selection.bounds.isEmpty)){hasRange=true;}else{hasRange=false;} 8801rows.push({title:'Selection start',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.min,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}):'<empty>'});rows.push({title:'Selection extent',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.range,{unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument}):'<empty>'});this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-b-radio-picker',created(){this.needsInit_=true;this.settingsKey_=undefined;this.isReady_=false;this.radioButtons_=undefined;this.selectedKey_=undefined;},ready(){this.isReady_=true;this.maybeInit_();this.maybeRenderRadioButtons_();},get vertical(){return this.getAttribute('vertical');},set vertical(vertical){if(vertical){this.setAttribute('vertical',true);}else{this.removeAttribute('vertical');}},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){if(!this.needsInit_){throw new Error('Already initialized.');} 8802this.settingsKey_=settingsKey;this.maybeInit_();},maybeInit_(){if(!this.needsInit_)return;if(this.settingsKey_===undefined)return;this.needsInit_=false;this.select(tr.b.Settings.get(this.settingsKey_));},set items(items){this.radioButtons_={};items.forEach(function(e){if(e.key in this.radioButtons_){throw new Error(e.key+' already exists');} 8803const radioButton=document.createElement('div');const input=document.createElement('input');const label=document.createElement('label');input.type='radio';input.id=e.label;input.addEventListener('click',function(){this.select(e.key);}.bind(this));Polymer.dom(label).innerHTML=e.label;label.htmlFor=e.label;label.style.display='inline';Polymer.dom(radioButton).appendChild(input);Polymer.dom(radioButton).appendChild(label);this.radioButtons_[e.key]=input;}.bind(this));this.maybeInit_();this.maybeRenderRadioButtons_();},maybeRenderRadioButtons_(){if(!this.isReady_)return;if(this.radioButtons_===undefined)return;for(const key in this.radioButtons_){Polymer.dom(this.$.container).appendChild(this.radioButtons_[key].parentElement);} 8804if(this.selectedKey_!==undefined){this.select(this.selectedKey_);}},select(key){if(key===undefined||key===this.selectedKey_){return;} 8805if(this.radioButtons_===undefined){this.selectedKey_=key;return;} 8806if(!(key in this.radioButtons_)){throw new Error(key+' does not exists');} 8807if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=false;} 8808this.selectedKey_=key;tr.b.Settings.set(this.settingsKey_,this.selectedKey_);if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=true;} 8809this.dispatchEvent(new tr.b.Event('change',false));},get selectedKey(){return this.selectedKey_;},});'use strict';tr.exportTo('tr.ui.b',function(){const ColumnChart=tr.ui.b.define('column-chart',tr.ui.b.ChartBase2DBrushX);ColumnChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,decorate(){super.decorate();this.xCushion_=1;this.isStacked_=false;this.enableHoverBox=true;},set isStacked(stacked){this.isStacked_=true;this.updateContents_();},get isStacked(){return this.isStacked_;},get defaultGraphHeight(){return 100;},get defaultGraphWidth(){return 10*this.data_.length;},updateScales_(){if(this.data_.length===0)return;let xDifferences=0;let currentX=undefined;let previousX=undefined;this.data_.forEach(function(datum,index){previousX=currentX;currentX=this.getXForDatum_(datum,index);if(previousX!==undefined){xDifferences+=currentX-previousX;}},this);this.xScale_.range([0,this.graphWidth]);const domain=d3.extent(this.data_,this.getXForDatum_.bind(this));if(this.data_.length>1){this.xCushion_=xDifferences/(this.data_.length-1);} 8810this.xScale_.domain([domain[0],domain[1]+this.xCushion_]);this.yScale_.range([this.graphHeight,0]);this.yScale_.domain(this.getYScaleDomain_(this.dataRange.min,this.dataRange.max));},updateDataRange_(){if(!this.isStacked){super.updateDataRange_();return;} 8811this.autoDataRange_.reset();this.autoDataRange_.addValue(0);for(const datum of this.data_){let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined){continue;} 8812sum+=datum[key];} 8813this.autoDataRange_.addValue(sum);}},getStackedRectsForDatum_(datum,index){const stacks=[];let bottom=this.yScale_.range()[0];let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;} 8814sum+=this.dataRange.clamp(datum[key]);const heightPx=bottom-this.yScale_(sum);bottom-=heightPx;stacks.push({key,value:datum[key],color:this.getDataSeries(key).color,heightPx,topPx:bottom,underflow:sum<this.dataRange.min,overflow:sum>this.dataRange.max,});} 8815return stacks;},getRectsForDatum_(datum,index){if(this.isStacked){return this.getStackedRectsForDatum_(datum,index);} 8816const stacks=[];for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;} 8817const clampedValue=this.dataRange.clamp(datum[key]);const topPx=this.yScale_(Math.max(clampedValue,this.getYScaleMin_()));stacks.push({key,value:datum[key],topPx,heightPx:this.yScale_.range()[0]-topPx,color:this.getDataSeries(key).color,underflow:datum[key]<this.dataRange.min,overflow:datum[key]>this.dataRange.max,});} 8818stacks.sort(function(a,b){return b.topPx-a.topPx;});return stacks;},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width+5;keyHeightPx=16;} 8819const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width+5;const valueHeightPx=16;const hoverLeftPx=rect.leftPx+(rect.widthPx/2);chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',rect.topPx).attr('width',Math.max(keyWidthPx,valueWidthPx)).attr('height',keyHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx-3).text(rect.key);} 8820chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx+valueHeightPx-3).text(rect.value);},clearHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseleave');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);d3.select(this.chartAreaElement).selectAll('.hover').remove();},drawRect_(rect,sel){sel=sel.data([rect]);sel.enter().append('rect').attr('fill',rect.color).attr('x',rect.leftPx).attr('y',rect.topPx).attr('width',rect.widthPx).attr('height',rect.heightPx).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawUnderflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',this.graphHeight).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',0);sel.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const chartAreaSel=d3.select(this.chartAreaElement);const seriesKeys=[...this.seriesByKey_.keys()];const rectsSel=dataSel.selectAll('path');this.data_.forEach(function(datum,index){const currentX=this.getXForDatum_(datum,index);let width=undefined;if(index<(this.data_.length-1)){const nextX=this.getXForDatum_(this.data_[index+1],index+1);width=nextX-currentX;}else{width=this.xCushion_;} 8821for(const rect of this.getRectsForDatum_(datum,index)){rect.datum=datum;rect.index=index;rect.leftPx=this.xScale_(currentX);rect.rightPx=this.xScale_(currentX+width);rect.widthPx=rect.rightPx-rect.leftPx;this.drawRect_(rect,rectsSel);if(rect.underflow){this.drawUnderflow_(rect,rectsSel);} 8822if(rect.overflow){this.drawOverflow_(rect,rectsSel);}}},this);}};return{ColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const MIN_GUIDELINE_HEIGHT_PX=3;const CHECKBOX_WIDTH_PX=18;const NameColumnChart=tr.ui.b.define('name-column-chart',tr.ui.b.ColumnChart);NameColumnChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},updateMargins_(){super.updateMargins_();let xAxisTickOverhangPx=0;for(let i=0;i<this.data_.length;++i){const datum=this.data_[i];xAxisTickOverhangPx=Math.max(xAxisTickOverhangPx,this.xScale_(i)+tr.ui.b.getSVGTextSize(this,datum.x).width- 8823this.graphWidth);} 8824this.margin.right=Math.max(this.margin.right,xAxisTickOverhangPx);},getXForDatum_(datum,index){return index;},get xAxisTickOffset(){return 0.5;},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;const nameTexts=xAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('transform',(d,index)=>'translate(0, '+ 8825this.textHeightPx_*(this.data_.length-index)+')').attr('x',(d,index)=>this.xScale_(index)).attr('y',d=>this.graphHeight).text(d=>d.x);nameTexts.exit().remove();const guideLines=xAxis.selectAll('line.guide').data(this.data_);guideLines.enter().append('line').attr('x1',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('x2',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('y1',()=>this.graphHeight).attr('y2',(d,index)=>this.graphHeight+Math.max(MIN_GUIDELINE_HEIGHT_PX,(this.textHeightPx_*(this.data_.length-index-1))));}};return{NameColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.LineChart;const NameLineChart=tr.ui.b.define('name-line-chart',LineChart);NameLineChart.prototype={__proto__:LineChart.prototype,getXForDatum_(datum,index){return index;},get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},get xAxisTickOffset(){return 0;},updateMargins_(){tr.ui.b.NameColumnChart.prototype.updateMargins_.call(this);},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length-1)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();}};return{NameLineChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BoxChart=tr.ui.b.define('box-chart',tr.ui.b.NameLineChart);BoxChart.prototype={__proto__:tr.ui.b.NameLineChart.prototype,get hideLegend(){return true;},updateDataRange_(){if(this.overrideDataRange_!==undefined){return;} 8826this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateScales_(){super.updateScales_();this.xScale_.domain([0,this.data_.length]);},get xAxisTickOffset(){return 0.5;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const boxesSel=dataSel.selectAll('path');for(let index=0;index<this.data_.length;++index){const datum=this.data_[index];const color=datum.color||'black';let sel=boxesSel.data([datum]);sel.enter().append('rect').attr('fill',color).attr('x',this.xScale_(index+0.2)).attr('width',this.xScale_(index+0.8)-this.xScale_(index+0.2)).attr('y',this.yScale_(datum.percentile_75)).attr('height',this.yScale_(datum.percentile_25)- 8827this.yScale_(datum.percentile_75));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index)).attr('x2',this.xScale_(index+1)).attr('y1',this.yScale_(datum.percentile_50)).attr('y2',this.yScale_(datum.percentile_50));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_0)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_100));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.5)).attr('x2',this.xScale_(index+0.5)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();}}};return{BoxChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BarChart=tr.ui.b.define('bar-chart',tr.ui.b.ColumnChart);BarChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,decorate(){super.decorate();this.verticalScale_=undefined;this.horizontalScale_=undefined;},updateScales_(){super.updateScales_();this.yScale_.range([this.graphWidth,0]);this.xScale_.range([0,this.graphHeight]);this.verticalScale_=this.isYLogScale_?d3.scale.log(10):d3.scale.linear();this.verticalScale_.domain(this.xScale_.domain());this.verticalScale_.range([this.graphHeight,0]);this.horizontalScale_=d3.scale.linear();this.horizontalScale_.domain(this.yScale_.domain());this.horizontalScale_.range([0,this.graphWidth]);},get defaultGraphHeight(){return Math.max(20,10*this.data_.length);},get defaultGraphWidth(){return 100;},get barHeight(){return this.graphHeight/this.data.length;},drawBrush_(brushRectsSel){brushRectsSel.attr('x',0).attr('width',this.graphWidth).attr('y',d=>this.verticalScale_(d.max)).attr('height',d=>this.verticalScale_(d.min)-this.verticalScale_(d.max));},getDataPointAtChartPoint_(chartPoint){const flippedPoint={x:this.graphHeight-chartPoint.y,y:this.graphWidth-chartPoint.x};return super.getDataPointAtChartPoint_(flippedPoint);},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.horizontalScale_).orient('bottom'));},get yAxisWidth(){return this.computeScaleTickWidth_(this.verticalScale_);},drawYAxis_(yAxis){const axisModifier=d3.svg.axis().scale(this.verticalScale_).orient('left');yAxis.call(axisModifier);},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;let xWidthPx=0;let xHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width;keyHeightPx=this.textHeightPx_;} 8828if(this.data.length>1){xWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,''+rect.datum.x).width;xHeightPx=this.textHeightPx_;} 8829const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width;const valueHeightPx=this.textHeightPx_;const hoverWidthPx=Math.min(Math.max(keyWidthPx,xWidthPx,valueWidthPx)+5,Math.max(50,rect.widthPx));const hoverTopPx=rect.topPx+(rect.heightPx/2);const hoverLeftPx=rect.leftPx+rect.widthPx-hoverWidthPx;chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',hoverTopPx).attr('width',hoverWidthPx).attr('height',keyHeightPx+xHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx-3).text(rect.key);} 8830if(this.data.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx+valueHeightPx-3).text(''+rect.datum.x);} 8831chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+xHeightPx+keyHeightPx+valueHeightPx-3).text(rect.value);},flipRect_(rect){return{datum:rect.datum,index:rect.index,key:rect.key,value:rect.value,color:rect.color,topPx:this.graphHeight-rect.leftPx-rect.widthPx,leftPx:this.graphWidth-rect.topPx-rect.heightPx,widthPx:rect.heightPx,heightPx:rect.widthPx,underflow:rect.underflow,overflow:rect.overflow,};},drawRect_(rect,sel){super.drawRect_(this.flipRect_(rect),sel);},drawUnderflow_(rect,rectsSel){let sel=rectsSel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',0).attr('y',this.graphHeight-rect.leftPx+ 88323+(rect.widthPx/2));sel.exit().remove();sel=rectsSel.data([rect]);sel.enter().append('rect').attr('fill','rgba(0, 0, 0, 0)').attr('x',0).attr('y',this.graphHeight-rect.leftPx-rect.widthPx).attr('width',10).attr('height',rect.widthPx).on('mouseenter',()=>this.drawHoverValueBox_(this.flipRect_(rect))).on('mouseleave',()=>this.clearHoverValueBox_(rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',this.graphWidth).attr('y',this.graphHeight-rect.leftPx+ 88333+(rect.widthPx/2));sel.exit().remove();}};return{BarChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const NameBarChart=tr.ui.b.define('name-bar-chart',tr.ui.b.BarChart);const Y_AXIS_PADDING=2;NameBarChart.prototype={__proto__:tr.ui.b.BarChart.prototype,getDataPointAtChartPoint_(chartPoint){return{x:tr.ui.b.BarChart.prototype.getDataPointAtChartPoint_.call(this,chartPoint).x,y:parseInt(Math.floor((this.graphHeight-chartPoint.y)/this.barHeight))};},getXForDatum_(datum,index){return index;},get yAxisWidth(){if(this.data.length===0)return 0;return Y_AXIS_PADDING+tr.b.math.Statistics.max(this.data_,d=>tr.ui.b.getSVGTextSize(this,d.x).width);},get defaultGraphHeight(){return(3+this.textHeightPx_)*this.data.length;},updateYAxis_(yAxis){if(tr.ui.b.getSVGTextSize(this,'test').width===0){tr.b.requestAnimationFrame(()=>this.updateYAxis_(yAxis));return;} 8834yAxis.selectAll('*').remove();const nameTexts=yAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('x',d=>-(tr.ui.b.getSVGTextSize(this,d.x).width+Y_AXIS_PADDING)).attr('y',(d,index)=>this.verticalScale_(index)).text(d=>d.x);nameTexts.exit().remove();let previousTop=undefined;for(const text of nameTexts[0]){const bbox=text.getBBox();if((previousTop===undefined)||(previousTop>(bbox.y+bbox.height))){previousTop=bbox.y;}else{text.style.opacity=0;}}}};return{NameBarChart,};});'use strict';const DEFAULT_COLOR_SCHEME=new tr.b.SinebowColorGenerator();class BreakdownTableSummaryRow{constructor(displayElement,histogramNames){this.displayElement_=displayElement;this.histogramNames_=histogramNames;this.keySpan_=undefined;} 8835get numberValue(){return undefined;} 8836get keySpan(){if(this.keySpan_===undefined){if(this.histogramNames_.length){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent(this.histogramNames_,'Select All');}else{this.keySpan_='Sum';}} 8837return this.keySpan_;} 8838get displayElement(){return this.displayElement_;} 8839get stringPercent(){return'100%';}} 8840class BreakdownTableRow{constructor(name,value,color){this.name_=name;this.value=value;if(!this.isHistogram&&typeof value!=='number'){throw new Error('unsupported value '+value);} 8841this.tableSum_=undefined;this.keySpan_=undefined;this.color_=color;const hsl=this.color.toHSL();hsl.l*=0.85;this.highlightedColor_=tr.b.Color.fromHSL(hsl);} 8842get isHistogram(){return this.value instanceof tr.v.Histogram;} 8843get name(){return this.name_;} 8844get color(){return this.color_;} 8845get highlightedColor(){return this.highlightedColor_;} 8846get keySpan(){if(this.keySpan_===undefined){if(this.isHistogram){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent([this.value.name],this.name);this.keySpan_.color=this.color;this.keySpan_.title=this.value.name;}else{this.keySpan_=document.createElement('span');this.keySpan_.innerText=this.name;this.keySpan_.style.color=this.color;}} 8847return this.keySpan_;} 8848get numberValue(){if(this.isHistogram)return this.value.sum;if(!isNaN(this.value)&&(this.value!==Infinity)&&(this.value!==-Infinity)&&(this.value>0))return this.value;return undefined;} 8849get stringValue(){if(this.numberValue===undefined)return this.value.toString();return this.numberValue.toString();} 8850set tableSum(s){this.tableSum_=s;} 8851get stringPercent(){if(this.tableSum_===undefined)return'';const num=this.numberValue;if(num===undefined)return'';return Math.floor(num*100.0/this.tableSum_)+'%';} 8852get displayElement(){if(this.numberValue===undefined)return this.value.toString();if(this.isHistogram){return tr.v.ui.createScalarSpan(this.numberValue,{unit:this.value.unit,});} 8853return this.numberValue;} 8854compare(other){if(this.numberValue===undefined){if(other.numberValue===undefined){return this.name.localeCompare(other.name);} 8855return 1;} 8856if(other.numberValue===undefined){return-1;} 8857if(this.numberValue===other.numberValue){return this.name.localeCompare(other.name);} 8858return other.numberValue-this.numberValue;}} 8859Polymer({is:'tr-v-ui-breakdown-span',created(){this.diagnostic_=undefined;this.chart_=new tr.ui.b.ColumnChart();this.chart_.graphHeight=130;this.chart_.isStacked=true;this.chart_.hideXAxis=true;this.chart_.hideLegend=true;this.chart_.enableHoverBox=false;this.chart_.addEventListener('rect-mouseenter',event=>this.onRectMouseEnter_(event));this.chart_.addEventListener('rect-mouseleave',event=>this.onRectMouseLeave_(event));},onRectMouseEnter_(event){for(const row of this.$.table.tableRows){if(row.name===event.rect.key){row.keySpan.parentNode.nextSibling.style.background=event.rect.color;row.keySpan.scrollIntoViewIfNeeded();}else{row.keySpan.parentNode.nextSibling.style.background='';}}},onRectMouseLeave_(event){for(const row of this.$.table.tableRows){row.keySpan.parentNode.nextSibling.style.background='';}},ready(){Polymer.dom(this.$.container).appendChild(this.chart_);this.$.table.zebra=true;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row.keySpan,},{value:row=>row.displayElement,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},{value:row=>row.stringPercent,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},];},attached(){if(this.diagnostic_)this.updateContents_();},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;if(this.isAttached)this.updateContents_();},updateContents_(){this.$.container.style.display='none';this.$.table.style.display='none';this.$.empty.style.display='block';if(!this.diagnostic_){this.chart_.data=[];return;} 8860let colorScheme=undefined;if(this.diagnostic.colorScheme===tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER){colorScheme=(name)=>{let cat=name.split(' ');cat=cat[cat.length-1];return tr.e.chrome.ChromeUserFriendlyCategoryDriver.getColor(cat);};}else if(this.diagnostic.colorScheme!==undefined){colorScheme=(name)=>tr.b.FixedColorSchemeRegistry.lookUp(this.diagnostic.colorScheme).getColor(name);}else{colorScheme=(name)=>DEFAULT_COLOR_SCHEME.colorForKey(name);} 8861const tableRows=[];let tableSum=0;const histogramNames=[];let unit=undefined;for(const[name,value]of this.diagnostic){const row=new BreakdownTableRow(name,value,colorScheme(name));tableRows.push(row);if(row.numberValue!==undefined)tableSum+=row.numberValue;if(row.isHistogram){histogramNames.push(value.name);if(unit===undefined)unit=value.unit;}} 8862tableRows.sort((x,y)=>x.compare(y));if(tableSum>0){let summaryDisplayElement=tableSum;if(unit!==undefined){summaryDisplayElement=unit.format(tableSum);} 8863tableRows.unshift(new BreakdownTableSummaryRow(summaryDisplayElement,histogramNames));} 8864const chartData={x:0};for(const row of tableRows){if(row.numberValue===undefined)continue;row.tableSum=tableSum;chartData[row.name]=row.numberValue;const dataSeries=this.chart_.getDataSeries(row.name);dataSeries.color=row.color;dataSeries.highlightedColor=row.highlightedColor;} 8865if(tableRows.length>0){this.$.table.style.display='block';this.$.empty.style.display='none';this.$.table.tableRows=tableRows;this.$.table.rebuild();} 8866if(Object.keys(chartData).length>1){this.$.container.style.display='block';this.$.empty.style.display='none';this.chart_.data=[chartData];}}});'use strict';Polymer({is:'tr-v-ui-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8867const rows=[];if(this.diagnostic.displayMasterName){rows.push(['primary',this.diagnostic.displayMasterName]);} 8868if(this.diagnostic.buildbotMasterName){rows.push(['primary',this.diagnostic.buildbotMasterName]);} 8869if(this.diagnostic.displayBotName){rows.push(['bot',this.diagnostic.displayBotName]);} 8870if(this.diagnostic.buildbotName){rows.push(['bot',this.diagnostic.buildbotName]);} 8871if(this.diagnostic.buildNumber){rows.push(['build number',this.diagnostic.buildNumber]);} 8872if(this.diagnostic.logUri){const anchor=document.createElement('a');anchor.href=this.diagnostic.logUri;anchor.innerText=this.diagnostic.logUri;rows.push(['log',anchor]);} 8873this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-collected-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const[canonicalUrl,events]of this.diagnostic){const link=document.createElement('a');if(events.length===1){const event=tr.b.getOnlyElement(events);link.textContent=event.title+' '+ 8874tr.b.Unit.byName.timeDurationInMs.format(event.duration);}else{link.textContent=events.length+' events';} 8875link.href=canonicalUrl;Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';Polymer({is:'tr-v-ui-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row[0];},},{value(row){return row[1];}}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8876const rows=[];if(this.diagnostic.chromeVersion){rows.push(['chrome version',this.diagnostic.chromeVersion]);} 8877if(this.diagnostic.osName){rows.push(['OS name',this.diagnostic.osName]);} 8878if(this.diagnostic.osVersion){rows.push(['OS version',this.diagnostic.osVersion]);} 8879if(this.diagnostic.gpuInfo){rows.push(['GPU',JSON.stringify(this.diagnostic.gpuInfo)]);} 8880if(this.diagnostic.arch){rows.push(['arch',this.diagnostic.arch]);} 8881if(this.diagnostic.ram){rows.push(['ram',tr.b.Unit.byName.sizeInBytes.format(this.diagnostic.ram)]);} 8882this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-generic-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.generic.object=undefined;return;} 8883this.$.generic.object=this.diagnostic.value;}});'use strict';Polymer({is:'tr-v-ui-merged-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8884const rows=[];if(this.diagnostic.displayMasterNames.size){rows.push(['primarys',Array.from(this.diagnostic.displayMasterNames).join(', ')]);} 8885if(this.diagnostic.displayBotNames.size){rows.push(['bots',Array.from(this.diagnostic.displayBotNames).join(', ')]);} 8886if(this.diagnostic.buildNumbers.size){rows.push(['builds',Array.from(this.diagnostic.buildNumbers).join(', ')]);} 8887for(const logUri of this.diagnostic.logUris){const anchor=document.createElement('a');anchor.href=logUri;anchor.innerText=logUri;rows.push(['log',anchor]);} 8888this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8889const rows=[];if(this.diagnostic.chromeVersions.size){rows.push(['chrome versions',Array.from(this.diagnostic.chromeVersions).join(', ')]);} 8890if(this.diagnostic.osNames.size){rows.push(['os names',Array.from(this.diagnostic.osNames).join(', ')]);} 8891if(this.diagnostic.osVersions.size){rows.push(['os versions',Array.from(this.diagnostic.osVersions).join(', ')]);} 8892this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const valueSpan=document.createElement('span');for(const revs of revisions){const anchor=document.createElement('a');anchor.innerText=revs[0];if(revs.length===1){anchor.href=host+'+/'+revs[0];}else{anchor.innerText+='..'+revs[1];anchor.href=host+'+log/'+revs[0]+'..'+revs[1];} 8893anchor.addEventListener('click',event=>{event.stopPropagation();});valueSpan.appendChild(anchor);valueSpan.appendChild(document.createTextNode(' '));} 8894rows.push([label,valueSpan]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8895const rows=[];if(this.diagnostic.chromiumCommitPosition){const positions=Array.from(this.diagnostic.chromiumCommitPositions);positions.sort((x,y)=>x-y);rows.push(['chromiumCommitPositions',positions.join(', ')]);} 8896if(this.diagnostic.v8CommitPosition){const positions=Array.from(this.diagnostic.v8CommitPositions);rows.push(['v8CommitPositions',positions.join(', ')]);} 8897this.buildRow_(rows,'chromium',this.diagnostic.chromium,tr.v.ui.CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,tr.v.ui.V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,tr.v.ui.CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,tr.v.ui.ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,tr.v.ui.SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,tr.v.ui.WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},onShow_(){this.$.show.style.display='none';this.$.hide.style.display='block';this.$.table.style.display='table';},onHide_(){this.$.show.style.display='block';this.$.hide.style.display='none';this.$.table.style.display='none';},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8898const rows=[];if(this.diagnostic.benchmarkNames.size){rows.push(['benchmark names',Array.from(this.diagnostic.benchmarkNames).join(', ')]);} 8899if(this.diagnostic.benchmarkStarts.length){rows.push(['benchmark starts',this.diagnostic.benchmarkStartStrings.join(', ')]);} 8900if(this.diagnostic.storyDisplayNames.size){rows.push(['stories',Array.from(this.diagnostic.storyDisplayNames).join(', ')]);} 8901if(this.diagnostic.storysetRepeatCounters.size){rows.push(['storyset repeats',Array.from(this.diagnostic.storysetRepeatCounters).join(', ')]);} 8902if(this.diagnostic.labels.size){rows.push(['label',Array.from(this.diagnostic.labels).join(', ')]);} 8903if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=Array.from(value);} 8904gov.object=obj;rows.push(['grouping keys',gov]);} 8905this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const events=new tr.model.EventSet([...this.diagnostic]);const link=document.createElement('tr-ui-a-analysis-link');let label=events.length+' events';if(events.length===1){const event=tr.b.getOnlyElement(events);label=event.title+' ';label+=tr.b.Unit.byName.timeDurationInMs.format(event.duration);} 8906link.setSelectionAndContent(events,label);Polymer.dom(this).appendChild(link);}});'use strict';Polymer({is:'tr-v-ui-related-histogram-map-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const rows=[];const histogramNames=new Set();for(const[name,hist]of this.diagnostic){histogramNames.add(hist.name);} 8907if(histogramNames.size>1){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(Array.from(histogramNames),'Select All');rows.push([link,'']);} 8908for(const[name,hist]of this.diagnostic){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent([hist.name],name);const scalarSpan=tr.v.ui.createScalarSpan(hist);rows.push([link,scalarSpan]);} 8909this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-related-histogram-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},addLink_(selection,content){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(selection,content);Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));},updateContents_(){Polymer.dom(this).textContent='';const histogramNames=new Set();for(const hist of this.diagnostic){histogramNames.add(hist.name);} 8910if(histogramNames.size>1){this.addLink_(Array.from(histogramNames),'Select All');} 8911for(const hist of this.diagnostic){this.addLink_([hist.name],hist.name);}}});'use strict';tr.exportTo('tr.v.ui',function(){const CHROMIUM_REVISION_HOST='https://chromium.googlesource.com/chromium/src/';const V8_REVISION_HOST='https://chromium.googlesource.com/v8/v8.git/';const CATAPULT_REVISION_HOST='https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/';const ANGLE_REVISION_HOST='https://chromium.googlesource.com/angle/angle/';const SKIA_REVISION_HOST='https://chromium.googlesource.com/skia/';const WEBRTC_REVISION_HOST='https://chromium.googlesource.com/external/webrtc/';Polymer({is:'tr-v-ui-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const anchor=document.createElement('a');anchor.innerText=revisions[0];if(revisions.length===1){anchor.href=host+'+/'+revisions[0];}else{anchor.innerText+='..'+revisions[1];anchor.href=host+'+log/'+revisions[0]+'..'+revisions[1];} 8912anchor.addEventListener('click',event=>{event.stopPropagation();});rows.push([label,anchor]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8913const rows=[];if(this.diagnostic.chromiumCommitPosition){rows.push(['chromiumCommitPosition',this.diagnostic.chromiumCommitPosition]);} 8914if(this.diagnostic.v8CommitPosition){rows.push(['v8CommitPosition',this.diagnostic.v8CommitPosition]);} 8915this.buildRow_(rows,'chromium',this.diagnostic.chromium,CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});return{CHROMIUM_REVISION_HOST,V8_REVISION_HOST,CATAPULT_REVISION_HOST,ANGLE_REVISION_HOST,SKIA_REVISION_HOST,WEBRTC_REVISION_HOST,};});'use strict';Polymer({is:'tr-v-ui-scalar-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){this.$.scalar.setValueAndUnit(this.diagnostic.value.value,this.diagnostic.value.unit);}});'use strict';Polymer({is:'tr-v-ui-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8916const rows=[];if(this.diagnostic.benchmarkName){rows.push(['benchmark name',this.diagnostic.benchmarkName]);} 8917if(this.diagnostic.benchmarkStart){rows.push(['benchmark start',this.diagnostic.benchmarkStartString]);} 8918if(this.diagnostic.storyDisplayName){rows.push(['story',this.diagnostic.storyDisplayName]);} 8919if(this.diagnostic.storysetRepeatCounter!==undefined){rows.push(['storyset repeat',this.diagnostic.storysetRepeatCounter]);} 8920if(this.diagnostic.label){rows.push(['label',this.diagnostic.label]);} 8921if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=value;} 8922gov.object=obj;rows.push(['grouping keys',gov]);} 8923this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-unmergeable-diagnostic-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const diagnostic of this.diagnostic){Polymer.dom(this).appendChild(tr.v.ui.createDiagnosticSpan(diagnostic));Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';tr.exportTo('tr.v.ui',function(){function findElementNameForDiagnostic(diagnostic){let typeInfo=undefined;let curProto=diagnostic.constructor.prototype;while(curProto){typeInfo=tr.v.d.Diagnostic.findTypeInfo(curProto.constructor);if(typeInfo&&typeInfo.metadata.elementName)break;typeInfo=undefined;curProto=curProto.__proto__;} 8924if(typeInfo===undefined){throw new Error(diagnostic.constructor.name+' or a base class must have a registered elementName');} 8925const tagName=typeInfo.metadata.elementName;if(tr.ui.b.isUnknownElementName(tagName)){throw new Error('Element not registered: '+tagName);} 8926return tagName;} 8927function createDiagnosticSpan(diagnostic){const tagName=findElementNameForDiagnostic(diagnostic);const span=document.createElement(tagName);span.diagnostic=diagnostic;return span;} 8928return{createDiagnosticSpan,};});'use strict';Polymer({is:'tr-v-ui-diagnostic-map-table',created(){this.diagnosticMaps_=undefined;},set diagnosticMaps(maps){this.diagnosticMaps_=maps;this.updateContents_();},updateContents_(){if(this.diagnosticMaps_===undefined||this.diagnosticMaps_.length===0){this.$.table.tableRows=[];this.$.table.tableColumns=[];return;} 8929const columnTitles=new Set();for(const map of this.diagnosticMaps_){for(const[name,diagnostic]of map){if(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)continue;if(diagnostic instanceof tr.v.d.CollectedRelatedEventSet)continue;if(diagnostic instanceof tr.v.d.GroupingPath)continue;columnTitles.add(name);}} 8930const columns=[];function makeColumn(title){return{title,value(map){const diagnostic=map.get(title);if(!diagnostic)return'';return tr.v.ui.createDiagnosticSpan(diagnostic);}};} 8931for(const title of columnTitles){columns.push(makeColumn(title));} 8932this.$.table.tableColumns=columns;this.$.table.tableRows=this.diagnosticMaps_;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.b',function(){class Serializable{constructor(){Object.defineProperty(this,'properties_',{configurable:false,enumerable:false,value:new Map(),});} 8933define(name,initialValue){if(this[name]!==undefined){throw new Error(`"${name}" is already defined.`);} 8934if(name[name.length-1]==='_'){throw new Error(`"${name}" cannot end with an underscore.`);} 8935this.properties_.set(name,initialValue);Object.defineProperty(this,name,{configurable:false,enumerable:true,get:()=>this.properties_.get(name),set:value=>this.setProperty_(name,value),});} 8936setProperty_(name,value){this.properties_.set(name,value);} 8937clone(){return Serializable.fromDict(this.asDict());} 8938asDict(){function visit(obj){if(obj instanceof Serializable)return obj.asDict();if(obj instanceof Set)return Array.from(obj);if(obj instanceof Array)return obj.map(visit);if(!(obj instanceof Map))return obj;const result={};for(const[name,value]of obj){result[name]=visit(value);} 8939return result;} 8940const dict={type:this.constructor.name};for(const[name,value]of this.properties_){dict[name.replace(/_$/,'')]=visit(value);} 8941return dict;} 8942static fromDict(dict){function visit(d){if(d instanceof Array)return d.map(visit);if(!(d instanceof Object))return d;if(typeof d.type==='string')return Serializable.fromDict(d);const result=new Map();for(const[name,value]of Object.entries(d)){result.set(name,visit(value));} 8943return result;} 8944const typeInfo=Serializable.findTypeInfoWithName(dict.type);const result=new typeInfo.constructor();for(const[name,value]of Object.entries(dict)){result[name]=visit(value);} 8945return result;}} 8946const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Serializable;tr.b.decorateExtensionRegistry(Serializable,options);return{Serializable,};});'use strict';tr.exportTo('tr.b',function(){class ViewState extends tr.b.Serializable{constructor(){super();tr.b.EventTarget.decorate(this);} 8947setProperty_(name,value){this.update(new Map([[name,value]]));} 8948async updateFromViewState(other){await this.update(other.properties_);} 8949async update(delta){if(!(delta instanceof Map))delta=new Map(Object.entries(delta));const actualDelta={};for(const[name,current]of delta){const previous=this[name];if(previous===current)continue;actualDelta[name]={previous,current};tr.b.Serializable.prototype.setProperty_.call(this,name,current);} 8950if(Object.keys(actualDelta).length===0)return;await tr.b.dispatchSimpleEventAsync(this,this.updateEventName_,{delta:actualDelta});} 8951get updateEventName_(){return this.constructor.name+'.update';} 8952addUpdateListener(listener){this.addEventListener(this.updateEventName_,listener);} 8953removeUpdateListener(listener){this.removeEventListener(this.updateEventName_,listener);}} 8954return{ViewState,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetViewState extends tr.b.ViewState{constructor(){super();this.define('searchQuery','');this.define('referenceDisplayLabel','');this.define('displayStatisticName','');this.define('showAll',false);this.define('groupings',[]);this.define('sortColumnIndex',0);this.define('sortDescending',false);this.define('constrainNameColumn',true);this.define('tableRowStates',new Map());}} 8955tr.b.ViewState.register(HistogramSetViewState);class HistogramSetTableRowState extends tr.b.ViewState{constructor(){super();this.define('isExpanded',false);this.define('isOverviewed',false);this.define('cells',new Map());this.define('subRows',new Map());} 8956asCompactDict(){const result={};if(this.isExpanded)result.e='1';if(this.isOverviewed)result.o='1';const cells={};for(const[name,cell]of this.cells){const cellDict=cell.asCompactDict();if(cellDict===undefined)continue;cells[name]=cellDict;} 8957if(Object.keys(cells).length>0)result.c=cells;const subRows={};for(const[name,row]of this.subRows){const rowDict=row.asCompactDict();if(rowDict===undefined)continue;subRows[name]=rowDict;} 8958if(Object.keys(subRows).length>0)result.r=subRows;if(Object.keys(result).length===0)return undefined;return result;} 8959async updateFromCompactDict(dict){await this.update({isExpanded:dict.e==='1',isOverviewed:dict.o==='1',});for(const[name,cellDict]of Object.entries(dict.c||{})){const cell=this.cells.get(name);if(cell===undefined)continue;await cell.updateFromCompactDict(cellDict);} 8960for(const[name,subRowDict]of Object.entries(dict.r||{})){const subRow=this.subRows.get(name);if(subRow===undefined)continue;await subRow.updateFromCompactDict(subRowDict);}}*walk(){yield this;for(const row of this.subRows.values())yield*row.walk();} 8961static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}} 8962tr.b.ViewState.register(HistogramSetTableRowState);class HistogramSetTableCellState extends tr.b.ViewState{constructor(){super();this.define('isOpen',false);this.define('brushedBinRange',new tr.b.math.Range());this.define('mergeSampleDiagnostics',true);} 8963asCompactDict(){const result={};if(this.isOpen)result.o='1';if(!this.mergeSampleDiagnostics)result.m='0';if(!this.brushedBinRange.isEmpty){result.b=this.brushedBinRange.min+'_'+this.brushedBinRange.max;} 8964if(Object.keys(result).length===0)return undefined;return result;} 8965async updateFromCompactDict(dict){let binRange=this.brushedBinRange;if(dict.b){let[bMin,bMax]=dict.b.split('_');bMin=parseInt(bMin);bMax=parseInt(bMax);if(bMin!==binRange.min||bMax!==binRange.max){binRange=tr.b.math.Range.fromExplicitRange(bMin,bMax);}} 8966await this.update({isOpen:dict.o==='1',brushedBinRange:binRange,mergeSampleDiagnostics:dict.m!=='0',});}} 8967tr.b.ViewState.register(HistogramSetTableCellState);return{HistogramSetTableCellState,HistogramSetTableRowState,HistogramSetViewState,};});'use strict';Polymer({is:'tr-v-ui-scalar-map-table',created(){this.scalarMap_=new Map();this.significance_=new Map();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row.name;}},{value(row){const span=tr.v.ui.createScalarSpan(row.value);if(row.significance!==undefined){span.significance=row.significance;}else if(row.anyRowsHaveSignificance){span.style.marginRight='18px';} 8968span.style.whiteSpace='nowrap';return span;}}];},get scalarMap(){return this.scalarMap_;},set scalarMap(map){this.scalarMap_=map;this.updateContents_();},setSignificanceForKey(key,significance){this.significance_.set(key,significance);this.updateContents_();},updateContents_(){const rows=[];for(const[key,scalar]of this.scalarMap){rows.push({name:key,value:scalar,significance:this.significance_.get(key),anyRowsHaveSignificance:(this.significance_.size>0)});} 8969this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.v.ui',function(){const DEFAULT_BAR_HEIGHT_PX=5;const TRUNCATE_BIN_MARGIN=0.15;const IGNORE_DELTA_STATISTICS_NAMES=[`${tr.v.DELTA}min`,`%${tr.v.DELTA}min`,`${tr.v.DELTA}max`,`%${tr.v.DELTA}max`,`${tr.v.DELTA}sum`,`%${tr.v.DELTA}sum`,`${tr.v.DELTA}count`,`%${tr.v.DELTA}count`,];Polymer({is:'tr-v-ui-histogram-span',created(){this.viewStateListener_=this.onViewStateUpdate_.bind(this);this.viewState=new tr.v.ui.HistogramSetTableCellState();this.histogram_=undefined;this.referenceHistogram_=undefined;this.graphWidth_=undefined;this.graphHeight_=undefined;this.mouseDownBin_=undefined;this.prevBrushedBinRange_=new tr.b.math.Range();this.canMergeSampleDiagnostics_=true;},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState){this.viewState.removeUpdateListener(this.viewStateListener_);} 8970this.viewState_=vs;this.viewState.addUpdateListener(this.viewStateListener_);if(this.isAttached)this.updateContents_();},onViewStateUpdate_(event){if(event.delta.brushedBinRange){this.brushedBinRange=this.viewState.brushedBinRange;} 8971if(event.delta.mergeSampleDiagnostics){this.mergeSampleDiagnostics=this.canMergeSampleDiagnostics&&this.viewState.mergeSampleDiagnostics;}},ready(){this.$.drag_handle.target=this.$.container;this.$.drag_handle.addEventListener('drag-handle-resize',this.onResize_.bind(this));},attached(){if(this.histogram_!==undefined)this.updateContents_();},get canMergeSampleDiagnostics(){return this.canMergeSampleDiagnostics_;},set canMergeSampleDiagnostics(merge){this.canMergeSampleDiagnostics_=merge;this.$.merge_sample_diagnostics_container.style.display=(merge?'':'none');},onResize_(event){event.stopPropagation();let heightPx=parseInt(this.$.container.style.height);if(heightPx<this.defaultGraphHeight){heightPx=this.defaultGraphHeight;this.$.container.style.height=this.defaultGraphHeight+'px';} 8972this.chart_.graphHeight=heightPx-(this.chart_.margin.top+ 8973this.chart_.margin.bottom);},get graphWidth(){return this.graphWidth_||this.defaultGraphWidth;},set graphWidth(width){this.graphWidth_=width;},get graphHeight(){return this.graphHeight_||this.defaultGraphHeight;},set graphHeight(height){this.graphHeight_=height;},get barHeight(){return this.chart_.barHeight;},set barHeight(px){this.graphHeight=this.computeChartHeight_(px);},computeChartHeight_(barHeightPx){return(this.chart_.margin.top+ 8974this.chart_.margin.bottom+ 8975(barHeightPx*this.histogram.allBins.length));},get defaultGraphHeight(){if(this.histogram&&this.histogram.allBins.length===1){return 150;} 8976return this.computeChartHeight_(DEFAULT_BAR_HEIGHT_PX);},get defaultGraphWidth(){if(this.histogram.allBins.length===1){return 100;} 8977return 300;},get brushedBins(){const bins=[];if(this.histogram&&!this.brushedBinRange.isEmpty){for(let i=this.brushedBinRange.min;i<this.brushedBinRange.max;++i){bins.push(this.histogram.allBins[i]);}} 8978return bins;},get brushedBinRange(){return this.viewState.brushedBinRange;},set brushedBinRange(r){if(this.chart_===undefined)return;const current=this.brushedBinRange;if(r.min===current.min&&r.max===current.max)return;this.chart_.brushedRange=r;this.viewState.brushedBinRange=r;this.updateDiagnostics_();},get mergeSampleDiagnostics(){return this.canMergeSampleDiagnostics&&this.$.merge_sample_diagnostics.checked;},set mergeSampleDiagnostics(m){this.$.merge_sample_diagnostics.checked=m;},updateBrushedRange_(binIndex){const brushedBinRange=new tr.b.math.Range();brushedBinRange.addValue(tr.b.math.clamp(this.mouseDownBinIndex_,0,this.histogram.allBins.length-1));brushedBinRange.addValue(tr.b.math.clamp(binIndex,0,this.histogram.allBins.length-1));brushedBinRange.max+=1;this.brushedBinRange=brushedBinRange;},onMouseDown_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;} 8979this.prevBrushedBinRange_=this.brushedBinRange;this.mouseDownBinIndex_=chartEvent.y;this.updateBrushedRange_(chartEvent.y);},onMouseMove_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;} 8980this.updateBrushedRange_(chartEvent.y);},onMouseUp_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;} 8981this.updateBrushedRange_(chartEvent.y);if(this.prevBrushedBinRange_.range===1&&this.brushedBinRange.range===1&&this.prevBrushedBinRange_.min===this.brushedBinRange.min){tr.b.Timing.instant('histogram-span','clearBrushedBins');this.brushedBinRange=new tr.b.math.Range();}else{tr.b.Timing.instant('histogram-span','brushBins');} 8982this.mouseDownBinIndex_=undefined;},updateDiagnostics_(){let maps=[];for(const bin of this.brushedBins){for(const map of bin.diagnosticMaps){maps.push(map);}} 8983if(maps.length===0){this.$.sample_diagnostics_container.style.display='none';return;} 8984if(this.mergeSampleDiagnostics!==this.viewState.mergeSampleDiagnostics){tr.b.Timing.instant('histogram-span',(this.mergeSampleDiagnostics?'merge':'split')+'SampleDiagnostics');this.viewState.mergeSampleDiagnostics=this.mergeSampleDiagnostics;} 8985if(this.mergeSampleDiagnostics){const merged=new tr.v.d.DiagnosticMap();for(const map of maps){merged.addDiagnostics(map);} 8986maps=[merged];} 8987this.$.sample_diagnostics_container.style.display='block';this.$.sample_diagnostics.diagnosticMaps=maps;},get histogram(){return this.histogram_;},set histogram(histogram){if(histogram===this.histogram_)return;this.histogram_=histogram;if(this.isAttached)this.updateContents_();},get referenceHistogram(){return this.referenceHistogram_;},set referenceHistogram(histogram){if(histogram===this.referenceHistogram_){return;} 8988this.referenceHistogram_=histogram;if(this.histogram)this.updateContents_();},getDeltaScalars_(statNames,scalarMap){if(!this.histogram.canCompare(this.referenceHistogram))return;const mwu=tr.b.math.Statistics.mwu(this.histogram.sampleValues,this.referenceHistogram.sampleValues);for(const deltaStatName of tr.v.Histogram.getDeltaStatisticsNames(statNames)){if(IGNORE_DELTA_STATISTICS_NAMES.includes(deltaStatName))continue;const scalar=this.histogram.getStatisticScalar(deltaStatName,this.referenceHistogram,mwu);if(scalar===undefined)continue;scalarMap.set(deltaStatName,scalar);} 8989if(this.histogram.unit.improvementDirection!==tr.b.ImprovementDirection.DONT_CARE){this.$.stats.setSignificanceForKey(`${tr.v.DELTA}avg`,mwu.significance);}},set isYLogScale(logScale){this.chart_.isYLogScale=logScale;},updateContents_(){this.$.chart.style.display='none';this.$.drag_handle.style.display='none';this.$.sample_diagnostics_container.style.display='none';this.$.container.style.justifyContent='';this.brushedBinRange=new tr.b.math.Range();while(Polymer.dom(this.$.chart).lastChild){Polymer.dom(this.$.chart).removeChild(Polymer.dom(this.$.chart).lastChild);} 8990if(!this.histogram)return;this.$.container.style.display='';const scalarMap=new Map();this.getDeltaScalars_(this.histogram.statisticsNames,scalarMap);for(const[name,scalar]of this.histogram.statisticsScalars){scalarMap.set(name,scalar);} 8991this.$.stats.scalarMap=scalarMap;if(this.histogram.diagnostics.size>0){const diagnosticMap=new tr.v.d.DiagnosticMap();for(const[key,diagnostic]of this.histogram.diagnostics){if(key!==tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY&&key!==tr.v.d.MERGED_TO_DIAGNOSTIC_KEY){diagnosticMap.set(key,diagnostic);}} 8992this.$.histogram_diagnostics.diagnosticMaps=[diagnosticMap];this.$.histogram_diagnostics.style.display='block';}else{this.$.histogram_diagnostics.style.display='none';} 8993if(this.histogram.numValues<=1){this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();this.$.container.style.justifyContent='flex-end';return;} 8994this.$.chart.style.display='block';this.$.drag_handle.style.display='block';if(this.histogram.allBins.length===1){if(this.histogram.min!==this.histogram.max){this.chart_=new tr.ui.b.BoxChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.hideXAxis=true;this.chart_.data=[{x:'',color:'blue',percentile_0:this.histogram.running.min,percentile_25:this.histogram.getApproximatePercentile(0.25),percentile_50:this.histogram.getApproximatePercentile(0.5),percentile_75:this.histogram.getApproximatePercentile(0.75),percentile_100:this.histogram.running.max,}];} 8995this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();return;} 8996this.chart_=new tr.ui.b.NameBarChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.addEventListener('item-mousedown',this.onMouseDown_.bind(this));this.chart_.addEventListener('item-mousemove',this.onMouseMove_.bind(this));this.chart_.addEventListener('item-mouseup',this.onMouseUp_.bind(this));this.chart_.hideLegend=true;this.chart_.getDataSeries('y').color='blue';this.chart_.xAxisLabel='#';this.chart_.brushedRange=this.brushedBinRange;this.updateDiagnostics_();const chartData=[];const binCounts=[];for(const bin of this.histogram.allBins){let x=bin.range.min;if(x===-Number.MAX_VALUE){x='<'+new tr.b.Scalar(this.histogram.unit,bin.range.max).toString();}else{x=new tr.b.Scalar(this.histogram.unit,x).toString();} 8997chartData.push({x,y:bin.count});binCounts.push(bin.count);} 8998binCounts.sort((x,y)=>y-x);const dataRange=tr.b.math.Range.fromExplicitRange(0,binCounts[0]);if(binCounts[1]>0&&binCounts[0]>(binCounts[1]*2)){dataRange.max=binCounts[1]*(1+TRUNCATE_BIN_MARGIN);} 8999if(binCounts[2]>0&&binCounts[1]>(binCounts[2]*2)){dataRange.max=binCounts[2]*(1+TRUNCATE_BIN_MARGIN);} 9000this.chart_.overrideDataRange=dataRange;this.chart_.data=chartData;}});});'use strict';tr.exportTo('tr.ui.analysis',function(){const EVENT_FIELD=[{key:'start',label:'Start'},{key:'cpuDuration',label:'CPU Duration'},{key:'duration',label:'Duration'},{key:'cpuSelfTime',label:'CPU Self Time'},{key:'selfTime',label:'Self Time'}];function buildDiagnostics_(slice){const diagnostics={};for(const item of EVENT_FIELD){const fieldName=item.key;if(slice[fieldName]===undefined)continue;diagnostics[fieldName]=new tr.v.d.Scalar(new tr.b.Scalar(tr.b.Unit.byName.timeDurationInMs,slice[fieldName]));} 9001diagnostics.args=new tr.v.d.Generic(slice.args);diagnostics.event=new tr.v.d.RelatedEventSet(slice);return diagnostics;} 9002Polymer({is:'tr-ui-a-multi-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;},ready(){this.$.radioPicker.style.display='none';this.$.radioPicker.items=EVENT_FIELD;this.$.radioPicker.select('cpuSelfTime');this.$.radioPicker.addEventListener('change',()=>{if(this.isAttached)this.updateContents_();});this.$.histogramSpan.graphWidth=400;this.$.histogramSpan.canMergeSampleDiagnostics=false;this.$.histogramContainer.style.display='none';},attached(){if(this.currentSelection_!==undefined)this.updateContents_();},set selection(selection){if(selection.length<=1){throw new Error('Only supports multiple items');} 9003this.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;if(this.isAttached)this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;if(this.isAttached)this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;if(this.isAttached)this.updateContents_();},buildHistogram_(selectedKey){let leftBoundary=Number.MAX_VALUE;let rightBoundary=tr.b.math.Statistics.percentile(this.currentSelection_,0.95,function(value){leftBoundary=Math.min(leftBoundary,value[selectedKey]);return value[selectedKey];});if(leftBoundary===rightBoundary)rightBoundary+=1;const histogram=new tr.v.Histogram('',tr.b.Unit.byName.timeDurationInMs,tr.v.HistogramBinBoundaries.createLinear(leftBoundary,rightBoundary,Math.ceil(Math.sqrt(this.currentSelection_.length))));histogram.customizeSummaryOptions({sum:false});for(const slice of this.currentSelection_){histogram.addSample(slice[selectedKey],buildDiagnostics_(slice));} 9004return histogram;},updateContents_(){const selection=this.currentSelection_;if(!selection)return;const eventsByTitle=selection.getEventsOrganizedByTitle();const numTitles=Object.keys(eventsByTitle).length;this.$.eventSummaryTable.configure({showTotals:numTitles>1,eventsByTitle,eventsHaveDuration:this.eventsHaveDuration_,eventsHaveSubRows:this.eventsHaveSubRows_});this.$.selectionSummaryTable.selection=this.currentSelection_;if(numTitles===1){this.$.radioPicker.style.display='block';this.$.histogramContainer.style.display='flex';this.$.histogramSpan.histogram=this.buildHistogram_(this.$.radioPicker.selectedKey);if(this.$.histogramSpan.histogram.numValues===0){this.$.histogramContainer.style.display='none';}}else{this.$.radioPicker.style.display='none';this.$.histogramContainer.style.display='none';}}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const FLOW_IN=0x1;const FLOW_OUT=0x2;const FLOW_IN_OUT=FLOW_IN|FLOW_OUT;function FlowClassifier(){this.numEvents_=0;this.eventsByGUID_={};} 9005FlowClassifier.prototype={getFS_(event){let fs=this.eventsByGUID_[event.guid];if(fs===undefined){this.numEvents_++;fs={state:0,event};this.eventsByGUID_[event.guid]=fs;} 9006return fs;},addInFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_IN;return event;},addOutFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_OUT;return event;},hasEvents(){return this.numEvents_>0;},get inFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN){selection.push(fs.event);}} 9007return selection;},get outFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_OUT){selection.push(fs.event);}} 9008return selection;},get internalFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN_OUT){selection.push(fs.event);}} 9009return selection;}};return{FlowClassifier,};});'use strict';function*getEventInFlowEvents(event){if(!event.inFlowEvents)return;yield*event.inFlowEvents;} 9010function*getEventOutFlowEvents(event){if(!event.outFlowEvents)return;yield*event.outFlowEvents;} 9011function*getEventAncestors(event){if(!event.enumerateAllAncestors)return;yield*event.enumerateAllAncestors();} 9012function*getEventDescendents(event){if(!event.enumerateAllDescendents)return;yield*event.enumerateAllDescendents();} 9013Polymer({is:'tr-ui-a-related-events',ready(){this.eventGroups_=[];this.cancelFunctions_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;} 9014return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;} 9015return linkEl;}}];},hasRelatedEvents(){return(this.eventGroups_&&this.eventGroups_.length>0);},setRelatedEvents(eventSet){this.cancelAllTasks_();this.eventGroups_=[];this.addRuntimeCallStats_(eventSet);this.addOverlappingV8ICStats_(eventSet);this.addV8GCObjectStats_(eventSet);this.addV8Slices_(eventSet);this.addConnectedFlows_(eventSet);this.addConnectedEvents_(eventSet);this.addOverlappingSamples_(eventSet);this.updateContents_();},addConnectedFlows_(eventSet){const classifier=new tr.ui.analysis.FlowClassifier();eventSet.forEach(function(slice){if(slice.inFlowEvents){slice.inFlowEvents.forEach(function(flow){classifier.addInFlow(flow);});} 9016if(slice.outFlowEvents){slice.outFlowEvents.forEach(function(flow){classifier.addOutFlow(flow);});}});if(!classifier.hasEvents())return;const addToEventGroups=function(type,flowEvent){this.eventGroups_.push({type,selection:new tr.model.EventSet(flowEvent),name:flowEvent.title});};classifier.inFlowEvents.forEach(addToEventGroups.bind(this,'Incoming flow'));classifier.outFlowEvents.forEach(addToEventGroups.bind(this,'Outgoing flow'));classifier.internalFlowEvents.forEach(addToEventGroups.bind(this,'Internal flow'));},cancelAllTasks_(){this.cancelFunctions_.forEach(function(cancelFunction){cancelFunction();});this.cancelFunctions_=[];},addConnectedEvents_(eventSet){this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Preceding events','Add all events that have led to the selected one(s), connected by '+'flow arrows or by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventAncestors(event);if(event.startSlice){yield event.startSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Following events','Add all events that have been caused by the selected one(s), '+'connected by flow arrows or by call stack.',eventSet,function*(event){yield*getEventOutFlowEvents(event);yield*getEventDescendents(event);if(event.endSlice){yield event.endSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('All connected events','Add all events connected to the selected one(s) by flow arrows or '+'by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventOutFlowEvents(event);yield*getEventAncestors(event);yield*getEventDescendents(event);if(event.startSlice){yield event.startSlice;} 9017if(event.endSlice){yield event.endSlice;}}.bind(this)));},createEventsLinkIfNeeded_(title,tooltip,events,connectedFn){events=new tr.model.EventSet(events);const eventsToProcess=new Set(events);let wasChanged=false;let task;let isCanceled=false;function addEventsUntilTimeout(){if(isCanceled)return;const timeout=window.performance.now()+8;while(eventsToProcess.size>0&&window.performance.now()<=timeout){const nextEvent=tr.b.getFirstElement(eventsToProcess);eventsToProcess.delete(nextEvent);for(const eventToAdd of connectedFn(nextEvent)){if(!events.contains(eventToAdd)){events.push(eventToAdd);eventsToProcess.add(eventToAdd);wasChanged=true;}}} 9018if(eventsToProcess.size>0){const newTask=new tr.b.Task(addEventsUntilTimeout.bind(this),this);task.after(newTask);task=newTask;return;} 9019if(!wasChanged)return;this.eventGroups_.push({type:title,tooltip,selection:events});this.updateContents_();} 9020function cancelTask(){isCanceled=true;} 9021task=new tr.b.Task(addEventsUntilTimeout.bind(this),this);tr.b.Task.RunWhenIdle(task);return cancelTask;},addOverlappingSamples_(eventSet){const samples=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.samples){continue;} 9022const candidates=slice.parentContainer.samples;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSamples=range.filterArray(candidates,function(value){return value.start;});for(const sample of filteredSamples){samples.push(sample);}} 9023if(samples.length>0){this.eventGroups_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected slice(s).',selection:samples});}},addV8Slices_(eventSet){const v8Slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'){v8Slices.push(slice);}} 9024if(v8Slices.length>0){this.eventGroups_.push({type:'V8 Slices',tooltip:'All V8 slices in the selected slice(s).',selection:v8Slices});}},addRuntimeCallStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'&&slice.runtimeCallStats){slices.push(slice);}} 9025if(slices.length>0){this.eventGroups_.push({type:'Runtime call stats table',tooltip:'All V8 slices containing runtime call stats table in the selected slice(s).',selection:slices});}},addV8GCObjectStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.title==='V8.GC_Objects_Stats'){slices.push(slice);}} 9026if(slices.length>0){this.eventGroups_.push({type:'V8 GC stats table',tooltip:'All V8 GC statistics slices in the selected set.',selection:slices});}},addOverlappingV8ICStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.sliceGroup){continue;} 9027const sliceGroup=slice.parentContainer.sliceGroup.slices;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSlices=range.filterArray(sliceGroup,value=>value.start);const icSlices=filteredSlices.filter(x=>x.title==='V8.ICStats');for(const icSlice of icSlices){slices.push(icSlice);}} 9028if(slices.length>0){this.eventGroups_.push({type:'Overlapping V8 IC stats',tooltip:'All V8 IC statistics overlapping the selected set.',selection:slices});}},updateContents_(){const table=this.$.table;if(this.eventGroups_===undefined){table.tableRows=[];}else{table.tableRows=this.eventGroups_.slice();} 9029table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},get relatedEventsToHighlight(){if(!this.$.content.selection)return undefined;const selection=new tr.model.EventSet();this.$.content.selection.forEach(function(asyncEvent){if(!asyncEvent.associatedEvents)return;asyncEvent.associatedEvents.forEach(function(event){selection.push(event);});});if(selection.length)return selection;return undefined;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-async-slice-sub-view',tr.model.AsyncSlice,{multi:true,title:'Async Slices',});'use strict';Polymer({is:'tr-ui-a-multi-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-cpu-slice-sub-view',tr.model.CpuSlice,{multi:true,title:'CPU Slices',});'use strict';Polymer({is:'tr-ui-a-multi-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveDuration=false;this.$.content.eventsHaveSubRows=false;},set selection(selection){this.$.content.selection=selection;},get selection(){return this.$.content.selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-flow-event-sub-view',tr.model.FlowEvent,{multi:true,title:'Flow Events',});'use strict';Polymer({is:'tr-ui-a-multi-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(frameEvent){frameEvent.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-frame-sub-view',tr.model.Frame,{multi:true,title:'Frames',});'use strict';Polymer({is:'tr-ui-a-multi-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this.$.content).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});'use strict';Polymer({is:'tr-ui-a-multi-object-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;const objectEvents=tr.b.asArray(selection).sort(tr.b.math.Range.compareByMinTimes);const timeSpanConfig={unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument};const table=this.$.content;table.tableColumns=[{title:'First',value(event){if(event instanceof tr.model.ObjectSnapshot){return tr.v.ui.createScalarSpan(event.ts,timeSpanConfig);} 9030const spanEl=document.createElement('span');Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.creationTs,timeSpanConfig));Polymer.dom(spanEl).appendChild(tr.ui.b.createSpan({textContent:'-',marginLeft:'4px',marginRight:'4px'}));if(event.deletionTs!==Number.MAX_VALUE){Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.deletionTs,timeSpanConfig));} 9031return spanEl;},width:'200px'},{title:'Second',value(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(event);},event.userFriendlyName);return linkEl;},width:'100%'}];table.tableRows=objectEvents;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectInstance,{multi:true,title:'Object Instances',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectSnapshot,{multi:true,title:'Object Snapshots',});'use strict';const EventSet=tr.model.EventSet;const CHART_TITLE='Power (W) by ms since vertical sync';Polymer({is:'tr-ui-a-frame-power-usage-chart',ready(){this.chart_=undefined;this.samples_=new EventSet();this.vSyncTimestamps_=[];},attached(){if(this.samples_)this.updateContents_();},get chart(){return this.chart_;},get samples(){return this.samples_;},get vSyncTimestamps(){return this.vSyncTimestamps_;},setData(samples,vSyncTimestamps){this.samples_=(samples===undefined)?new EventSet():samples;this.vSyncTimestamps_=(vSyncTimestamps===undefined)?[]:vSyncTimestamps;if(this.isAttached)this.updateContents_();},updateContents_(){this.clearChart_();const data=this.getDataForLineChart_();if(data.length===0)return;this.chart_=new tr.ui.b.LineChart();Polymer.dom(this.$.content).appendChild(this.chart_);this.chart_.chartTitle=CHART_TITLE;this.chart_.data=data;},clearChart_(){const content=this.$.content;while(Polymer.dom(content).firstChild){Polymer.dom(content).removeChild(Polymer.dom(content).firstChild);} 9032this.chart_=undefined;},getDataForLineChart_(){const sortedSamples=this.sortSamplesByTimestampAscending_(this.samples);const vSyncTimestamps=this.vSyncTimestamps.slice();let lastVSyncTimestamp=undefined;const points=[];let frameNumber=0;sortedSamples.forEach(function(sample){while(vSyncTimestamps.length>0&&vSyncTimestamps[0]<=sample.start){lastVSyncTimestamp=vSyncTimestamps.shift();frameNumber++;} 9033if(lastVSyncTimestamp===undefined)return;const point={x:sample.start-lastVSyncTimestamp};point['f'+frameNumber]=sample.powerInW;points.push(point);});return points;},sortSamplesByTimestampAscending_(samples){return samples.toArray().sort(function(smpl1,smpl2){return smpl1.start-smpl2.start;});}});'use strict';Polymer({is:'tr-ui-a-power-sample-summary-table',ready(){this.$.table.tableColumns=[{title:'Min power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.min);}},{title:'Max power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.max);}},{title:'Time-weighted average',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.timeWeightedAverageInW);}},{title:'Energy consumed',width:'100px',value(row){return tr.b.Unit.byName.energyInJoules.format(row.energyConsumedInJ);}},{title:'Sample count',width:'100%',value(row){return row.sampleCount;}}];this.samples=new tr.model.EventSet();},get samples(){return this.samples_;},set samples(samples){if(samples===this.samples)return;this.samples_=(samples===undefined)?new tr.model.EventSet():samples;this.updateContents_();},updateContents_(){if(this.samples.length===0){this.$.table.tableRows=[];}else{this.$.table.tableRows=[{min:this.getMin(),max:this.getMax(),timeWeightedAverageInW:this.getTimeWeightedAverageInW(),energyConsumedInJ:this.getEnergyConsumedInJ(),sampleCount:this.samples.length}];} 9034this.$.table.rebuild();},getMin(){return Math.min.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getMax(){return Math.max.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getTimeWeightedAverageInW(){const energyConsumedInJ=this.getEnergyConsumedInJ();if(energyConsumedInJ==='N/A')return'N/A';const durationInS=tr.b.convertUnit(this.samples.bounds.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return energyConsumedInJ/durationInS;},getEnergyConsumedInJ(){if(this.samples.length<2)return'N/A';const bounds=this.samples.bounds;const series=tr.b.getFirstElement(this.samples).series;return series.getEnergyConsumedInJ(bounds.min,bounds.max);}});'use strict';Polymer({is:'tr-ui-a-multi-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){const samples=this.selection;const vSyncTimestamps=(!samples?[]:tr.b.getFirstElement(samples).series.device.vSyncTimestamps);this.$.summaryTable.samples=samples;this.$.chart.setData(this.selection,vSyncTimestamps);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-power-sample-sub-view',tr.model.PowerSample,{multi:true,title:'Power Samples',});'use strict';(function(){const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;Polymer({is:'tr-ui-a-multi-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.viewOption_=undefined;this.selection_=undefined;},ready(){const viewSelector=tr.ui.b.createSelector(this,'viewOption','tracing.ui.analysis.multi_sample_sub_view',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]);Polymer.dom(this.$.control).appendChild(viewSelector);this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},get viewOption(){return this.viewOption_;},set viewOption(viewOption){this.viewOption_=viewOption;this.updateContents_();},createSamplingSummary_(selection,viewOption){const builder=new MultiDimensionalViewBuilder(1,1);const samples=selection.filter(event=>event instanceof tr.model.Sample);samples.forEach(function(sample){builder.addPath([sample.userFriendlyStack.reverse()],[1],MultiDimensionalViewBuilder.ValueKind.SELF);});return builder.buildView(viewOption);},processSampleRows_(rows){for(const row of rows){let title=row.title[0];let results=/(.*) (Deoptimized reason: .*)/.exec(title);if(results!==null){row.deoptReason=results[2];title=results[1];} 9035results=/(.*) url: (.*)/.exec(title);if(results!==null){row.functionName=results[1];row.url=results[2];if(row.functionName===''){row.functionName='(anonymous function)';} 9036if(row.url===''){row.url='unknown';}}else{row.functionName=title;row.url='unknown';} 9037this.processSampleRows_(row.subRows);}},updateContents_(){if(this.selection===undefined){this.$.table.tableColumns=[];this.$.table.tableRows=[];this.$.table.rebuild();return;} 9038const samplingData=this.createSamplingSummary_(this.selection,this.viewOption);const total=samplingData.values[0].total;const columns=[this.createPercentColumn_('Total',total),this.createSamplesColumn_('Total'),this.createPercentColumn_('Self',total),this.createSamplesColumn_('Self'),{title:'Function Name',value(row){if(row.deoptReason!==undefined){const spanEl=tr.ui.b.createSpan({italic:true,color:'#F44336',tooltip:row.deoptReason});spanEl.innerText=row.functionName;return spanEl;} 9039return row.functionName;},width:'150px',cmp:(a,b)=>a.functionName.localeCompare(b.functionName),showExpandButtons:true},{title:'Location',value(row){return row.url;},width:'250px',cmp:(a,b)=>a.url.localeCompare(b.url),}];this.processSampleRows_(samplingData.subRows);this.$.table.tableColumns=columns;this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;this.$.table.tableRows=samplingData.subRows;this.$.table.rebuild();},createPercentColumn_(title,samplingDataTotal){const field=title.toLowerCase();return{title:title+' percent',value(row){return tr.v.ui.createScalarSpan(row.values[0][field]/samplingDataTotal,{customContextRange:tr.b.math.Range.PERCENT_RANGE,unit:tr.b.Unit.byName.normalizedPercentage,context:{minimumFractionDigits:2,maximumFractionDigits:2},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};},createSamplesColumn_(title){const field=title.toLowerCase();return{title:title+' samples',value(row){return tr.v.ui.createScalarSpan(row.values[0][field],{unit:tr.b.Unit.byName.unitlessNumber,context:{maximumFractionDigits:0},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-sample-sub-view',tr.model.Sample,{multi:true,title:'Samples',});})();'use strict';Polymer({is:'tr-ui-a-multi-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.selection_=undefined;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;if(tr.isExported('tr.ui.e.chrome.cc.RasterTaskSelection')){if(tr.ui.e.chrome.cc.RasterTaskSelection.supports(selection)){const ltvSelection=new tr.ui.e.chrome.cc.RasterTaskSelection(selection);const ltv=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();ltv.objectSnapshot=ltvSelection.containingSnapshot;ltv.selection=ltvSelection;ltv.extraHighlightsByLayerId=ltvSelection.extraHighlightsByLayerId;Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).appendChild(ltv);this.requiresTallView_=true;return;}} 9040Polymer.dom(this.$.content).textContent='';const mesv=document.createElement('tr-ui-a-multi-event-sub-view');mesv.selection=selection;Polymer.dom(this.$.content).appendChild(mesv);const relatedEvents=document.createElement('tr-ui-a-related-events');relatedEvents.setRelatedEvents(selection);if(relatedEvents.hasRelatedEvents()){Polymer.dom(this.$.content).appendChild(relatedEvents);}},get requiresTallView(){if(this.$.content.children.length===0)return false;const childTagName=this.$.content.children[0].tagName;if(childTagName==='TR-UI-A-MULTI-EVENT-SUB-VIEW'){return false;} 9041return true;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-slice-sub-view',tr.model.ThreadSlice,{multi:true,title:'Slices',});'use strict';Polymer({is:'tr-ui-a-multi-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:true,title:'Thread Timeslices',});'use strict';Polymer({is:'tr-ui-a-user-expectation-related-samples-table',ready(){this.samples_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;} 9042return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;} 9043return linkEl;}}];},hasRelatedSamples(){return(this.samples_&&this.samples_.length>0);},set selection(eventSet){this.samples_=[];const samples=new tr.model.EventSet;eventSet.forEach(function(ue){samples.addEventSet(ue.associatedSamples);}.bind(this));if(samples.length>0){this.samples_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected user expectation(s).',selection:samples});} 9044this.updateContents_();},updateContents_(){const table=this.$.table;if(this.samples_&&this.samples_.length>0){table.tableRows=this.samples_.slice();}else{table.tableRows=[];} 9045table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-interaction-record-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(ir){ir.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:true,title:'User Expectations',});'use strict';Polymer({is:'tr-ui-a-single-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');} 9046this.$.content.setSelectionWithoutErrorChecks(selection);this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},getEventRows_(event){const rows=this.__proto__.__proto__.getEventRows_(event);rows.splice(0,0,{name:'ID',value:event.id});return rows;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-async-slice-sub-view',tr.model.AsyncSlice,{multi:false,title:'Async Slice',});'use strict';Polymer({is:'tr-ui-a-single-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const cpuSlice=tr.b.getOnlyElement(selection);if(!(cpuSlice instanceof tr.model.CpuSlice)){throw new Error('Only supports thread time slices');} 9047this.currentSelection_=selection;const thread=cpuSlice.threadThatWasRunning;const root=Polymer.dom(this.root);if(thread){Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;}else{root.querySelector('#process-name').parentElement.style.display='none';Polymer.dom(root.querySelector('#thread-name')).textContent=cpuSlice.title;} 9048root.querySelector('#start').setValueAndUnit(cpuSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(cpuSlice.duration,tr.b.Unit.byName.timeDurationInMs);const runningThreadEl=root.querySelector('#running-thread');const timeSlice=cpuSlice.getAssociatedTimeslice();if(!timeSlice){runningThreadEl.parentElement.style.display='none';}else{const threadLink=document.createElement('tr-ui-a-analysis-link');threadLink.selection=new tr.model.EventSet(timeSlice);Polymer.dom(threadLink).textContent='Click to select';runningThreadEl.parentElement.style.display='';Polymer.dom(runningThreadEl).textContent='';Polymer.dom(runningThreadEl).appendChild(threadLink);} 9049root.querySelector('#args').object=cpuSlice.args;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-cpu-slice-sub-view',tr.model.CpuSlice,{multi:false,title:'CPU Slice',});'use strict';function createAnalysisLinkTo(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.userFriendlyName);return linkEl;} 9050Polymer({is:'tr-ui-a-single-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],listeners:{'singleEventSubView.customize-rows':'onCustomizeRows_'},set selection(selection){this.currentSelection_=selection;this.$.singleEventSubView.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},onCustomizeRows_(e){const event=tr.b.getOnlyElement(this.currentSelection_);const rows=e.rows;rows.unshift({name:'ID',value:event.id});rows.push({name:'From',value:createAnalysisLinkTo(event.startSlice)});rows.push({name:'To',value:createAnalysisLinkTo(event.endSlice)});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-flow-event-sub-view',tr.model.FlowEvent,{multi:false,title:'Flow Event',});'use strict';Polymer({is:'tr-ui-a-single-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.$.asv.selection=tr.b.getOnlyElement(selection).associatedAlerts;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-frame-sub-view',tr.model.Frame,{multi:false,title:'Frame',});'use strict';Polymer({is:'tr-ui-a-single-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-single-event-sub-view');realView.setSelectionWithoutErrorChecks(selection);Polymer.dom(this.$.content).appendChild(realView);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-instant-event-sub-view',tr.model.InstantEvent,{multi:false,title:'Instant Event',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-instant-event-sub-view',tr.model.InstantEvent,{multi:true,title:'Instant Events',});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectInstanceView=tr.ui.b.define('object-instance-view');ObjectInstanceView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectInstance_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectInstance=obj;},get modelEvent(){return this.objectInstance;},get objectInstance(){return this.objectInstance_;},set objectInstance(i){this.objectInstance_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectInstanceView;options.defaultMetadata={showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectInstanceView,options);return{ObjectInstanceView,};});'use strict';Polymer({is:'tr-ui-a-single-object-instance-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.$.content.children.length===0){return false;} 9051if(this.$.content.children[0]instanceof 9052tr.ui.analysis.ObjectInstanceView){return this.$.content.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const instance=tr.b.getOnlyElement(selection);if(!(instance instanceof tr.model.ObjectInstance)){throw new Error('Only supports object instances');} 9053Polymer.dom(this.$.content).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectInstanceView.getTypeInfo(instance.category,instance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this.$.content).appendChild(customView);customView.modelEvent=instance;}else{this.appendGenericAnalysis_(instance);}},appendGenericAnalysis_(instance){let html='';html+='<div class="title">'+ 9054instance.typeName+' '+ 9055instance.id+'</div>\n';html+='<table>';html+='<tr>';html+='<tr><td>creationTs:</td><td>'+ 9056instance.creationTs+'</td></tr>\n';if(instance.deletionTs!==Number.MAX_VALUE){html+='<tr><td>deletionTs:</td><td>'+ 9057instance.deletionTs+'</td></tr>\n';}else{html+='<tr><td>deletionTs:</td><td>not deleted</td></tr>\n';} 9058html+='<tr><td>snapshots:</td><td id="snapshots"></td></tr>\n';html+='</table>';Polymer.dom(this.$.content).innerHTML=html;const snapshotsEl=Polymer.dom(this.$.content).querySelector('#snapshots');instance.snapshots.forEach(function(snapshot){const snapshotLink=document.createElement('tr-ui-a-analysis-link');snapshotLink.selection=new tr.model.EventSet(snapshot);Polymer.dom(snapshotsEl).appendChild(snapshotLink);});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-instance-sub-view',tr.model.ObjectInstance,{multi:false,title:'Object Instance',});'use strict';Polymer({is:'tr-ui-a-single-object-snapshot-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.children.length===0){return false;} 9059if(this.children[0]instanceof tr.ui.analysis.ObjectSnapshotView){return this.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const snapshot=tr.b.getOnlyElement(selection);if(!(snapshot instanceof tr.model.ObjectSnapshot)){throw new Error('Only supports object instances');} 9060Polymer.dom(this).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectSnapshotView.getTypeInfo(snapshot.objectInstance.category,snapshot.objectInstance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this).appendChild(customView);customView.modelEvent=snapshot;}else{this.appendGenericAnalysis_(snapshot);}},appendGenericAnalysis_(snapshot){const instance=snapshot.objectInstance;Polymer.dom(this).textContent='';const titleEl=document.createElement('div');Polymer.dom(titleEl).classList.add('title');Polymer.dom(titleEl).appendChild(document.createTextNode('Snapshot of '));Polymer.dom(this).appendChild(titleEl);const instanceLinkEl=document.createElement('tr-ui-a-analysis-link');instanceLinkEl.selection=new tr.model.EventSet(instance);Polymer.dom(titleEl).appendChild(instanceLinkEl);Polymer.dom(titleEl).appendChild(document.createTextNode(' @ '));Polymer.dom(titleEl).appendChild(tr.v.ui.createScalarSpan(snapshot.ts,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument,inline:true,}));const tableEl=document.createElement('table');Polymer.dom(this).appendChild(tableEl);const rowEl=document.createElement('tr');Polymer.dom(tableEl).appendChild(rowEl);const labelEl=document.createElement('td');Polymer.dom(labelEl).textContent='args:';Polymer.dom(rowEl).appendChild(labelEl);const argsEl=document.createElement('td');argsEl.id='args';Polymer.dom(rowEl).appendChild(argsEl);const objectViewEl=document.createElement('tr-ui-a-generic-object-view');objectViewEl.object=snapshot.args;Polymer.dom(argsEl).appendChild(objectViewEl);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-snapshot-sub-view',tr.model.ObjectSnapshot,{multi:false,title:'Object Snapshot',});'use strict';Polymer({is:'tr-ui-a-power-sample-table',ready(){this.$.table.tableColumns=[{title:'Time',width:'100px',value(row){return tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs});}},{title:'Power',width:'100%',value(row){return tr.v.ui.createScalarSpan(row.powerInW,{unit:tr.b.Unit.byName.powerInWatts});}}];this.sample=undefined;},get sample(){return this.sample_;},set sample(sample){this.sample_=sample;this.updateContents_();},updateContents_(){if(this.sample===undefined){this.$.table.tableRows=[];}else{this.$.table.tableRows=[this.sample];} 9061this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-single-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){if(this.selection.length!==1){throw new Error('Cannot pass multiple samples to sample table.');} 9062this.$.samplesTable.sample=tr.b.getOnlyElement(this.selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-power-sample-sub-view',tr.model.PowerSample,{multi:false,title:'Power Sample',});'use strict';Polymer({is:'tr-ui-a-single-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.tableColumns=[{title:'',value:row=>row.title,width:'100px'},{title:'',value:row=>row.value,width:'100%'}];this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;if(this.currentSelection_===undefined){this.$.content.tableRows=[];return;} 9063const sample=tr.b.getOnlyElement(this.currentSelection_);const table=this.$.content;const rows=[];rows.push({title:'Title',value:sample.title});rows.push({title:'Sample time',value:tr.v.ui.createScalarSpan(sample.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument})});const callStackTableEl=document.createElement('tr-ui-b-table');callStackTableEl.tableRows=sample.getNodesAsArray().reverse();callStackTableEl.tableColumns=[{title:'function name',value:row=>row.functionName||'(anonymous function)'},{title:'location',value:row=>row.url}];callStackTableEl.rebuild();rows.push({title:'Call stack',value:callStackTableEl});table.tableRows=rows;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-sample-sub-view',tr.model.Sample,{multi:false,title:'Sample',});'use strict';Polymer({is:'tr-ui-a-single-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-slice-sub-view',tr.model.ThreadSlice,{multi:false,title:'Slice',});'use strict';Polymer({is:'tr-ui-a-single-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const timeSlice=tr.b.getOnlyElement(selection);if(!(timeSlice instanceof tr.model.ThreadTimeSlice)){throw new Error('Only supports thread time slices');} 9064this.currentSelection_=selection;const thread=timeSlice.thread;const root=Polymer.dom(this.root);Polymer.dom(root.querySelector('#state')).textContent=timeSlice.title;const stateColor=tr.b.ColorScheme.colorsAsStrings[timeSlice.colorId];root.querySelector('#state').style.backgroundColor=stateColor;Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;root.querySelector('#start').setValueAndUnit(timeSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(timeSlice.duration,tr.b.Unit.byName.timeDurationInMs);const onCpuEl=root.querySelector('#on-cpu');Polymer.dom(onCpuEl).textContent='';const runningInsteadEl=root.querySelector('#running-instead');if(timeSlice.cpuOnWhichThreadWasRunning){Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(timeSlice.getAssociatedCpuSlice());Polymer.dom(cpuLink).textContent=timeSlice.cpuOnWhichThreadWasRunning.userFriendlyName;Polymer.dom(onCpuEl).appendChild(cpuLink);}else{Polymer.dom(onCpuEl.parentElement).removeChild(onCpuEl);const cpuSliceThatTookCpu=timeSlice.getCpuSliceThatTookCpu();if(cpuSliceThatTookCpu){const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(cpuSliceThatTookCpu);if(cpuSliceThatTookCpu.thread){Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.thread.userFriendlyName;}else{Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.title;} 9065Polymer.dom(runningInsteadEl).appendChild(cpuLink);}else{Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);}} 9066const argsEl=root.querySelector('#args');if(Object.keys(timeSlice.args).length>0){const argsView=document.createElement('tr-ui-a-generic-object-view');argsView.object=timeSlice.args;argsEl.parentElement.style.display='';Polymer.dom(argsEl).textContent='';Polymer.dom(argsEl).appendChild(argsView);}else{argsEl.parentElement.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:false,title:'Thread Timeslice',});'use strict';Polymer({is:'tr-ui-a-single-user-expectation-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.$.realView.addEventListener('customize-rows',this.onCustomizeRows_.bind(this));this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;},onCustomizeRows_(event){const ue=tr.b.getOnlyElement(this.selection);if(ue.rawCpuMs){event.rows.push({name:'Total CPU',value:tr.v.ui.createScalarSpan(ue.totalCpuMs,{unit:tr.b.Unit.byName.timeDurationInMs})});}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:false,title:'User Expectation',});'use strict';(function(){const EventRegistry=tr.model.EventRegistry;function getTabStripLabel(numEvents){if(numEvents===0){return'Nothing selected. Tap stuff.';}else if(numEvents===1){return'1 item selected.';} 9067return numEvents+' items selected.';} 9068function createSubView(subViewTypeInfo,selection){let tagName;if(selection.length===1){tagName=subViewTypeInfo.singleTagName;}else{tagName=subViewTypeInfo.multiTagName;} 9069if(tagName===undefined){throw new Error('No view registered for '+ 9070subViewTypeInfo.eventConstructor.name);} 9071const subView=document.createElement(tagName);let title;if(selection.length===1){title=subViewTypeInfo.singleTitle;}else{title=subViewTypeInfo.multiTitle;} 9072title+=' ('+selection.length+')';subView.tabLabel=title;subView.selection=selection;return subView;} 9073Polymer({is:'tr-ui-a-analysis-view',ready(){this.brushingStateController_=undefined;this.lastSelection_=undefined;this.tabView_=document.createElement('tr-ui-b-tab-view');this.tabView_.addEventListener('selected-tab-change',this.onSelectedSubViewChanged_.bind(this));Polymer.dom(this).appendChild(this.tabView_);},set tallMode(value){Polymer.dom(this).classList.toggle('tall-mode',value);},get tallMode(){return Polymer.dom(this).classList.contains('tall-mode');},get tabView(){return this.tabView_;},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_.bind(this));} 9074this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_.bind(this));} 9075this.onSelectionChanged_();},get selection(){return this.brushingStateController_.selection;},onSelectionChanged_(e){if(this.lastSelection_&&this.selection.equals(this.lastSelection_)){return;} 9076this.lastSelection_=this.selection;this.tallMode=false;this.tabView_.label=getTabStripLabel(this.selection.length);const eventsByBaseTypeName=this.selection.getEventsOrganizedByBaseType(true);const ASV=tr.ui.analysis.AnalysisSubView;const eventsByTagName=ASV.getEventsOrganizedByTypeInfo(this.selection);const newSubViews=[];eventsByTagName.forEach(function(events,typeInfo){newSubViews.push(createSubView(typeInfo,events));});this.tabView_.resetSubViews(newSubViews);},onSelectedSubViewChanged_(){const selectedSubView=this.tabView_.selectedSubView;if(!selectedSubView){this.tallMode=false;this.maybeChangeRelatedEvents_(undefined);return;} 9077this.tallMode=selectedSubView.requiresTallView;this.maybeChangeRelatedEvents_(selectedSubView.relatedEventsToHighlight);},maybeChangeRelatedEvents_(events){if(this.brushingStateController){this.brushingStateController.changeAnalysisViewRelatedEvents(events);}}});})();'use strict';Polymer({is:'tr-ui-b-dropdown',ready(){this.$.outer.tabIndex=0;},get iconElement(){return this.$.icon;},onOuterKeyDown_(e){if(e.keyCode===' '.charCodeAt(0)){this.toggle_();e.preventDefault();e.stopPropagation();}},onOuterClick_(e){const or=this.$.outer.getBoundingClientRect();let inside=true;inside&=e.clientX>=or.left;inside&=e.clientX<or.right;inside&=e.clientY>=or.top;inside&=e.clientY<or.bottom;if(!inside)return;e.preventDefault();this.toggle_();},toggle_(){if(!this.isOpen){this.show();}else{this.close();}},show(){if(this.isOpen)return;Polymer.dom(this.$.outer).classList.add('open');const ddr=this.$.outer.getBoundingClientRect();const rW=Math.max(ddr.width,150);this.$.dialog.style.minWidth=rW+'px';this.$.dialog.showModal();const ddw=this.$.outer.getBoundingClientRect().width;const w=this.$.dialog.getBoundingClientRect().width;this.$.dialog.style.top=ddr.bottom-1+'px';this.$.dialog.style.left=ddr.left+'px';},onDialogClick_(e){if(!this.isOpen)return;if(e.srcElement!==this.$.dialog)return;e.preventDefault();this.close();},onDialogCancel_(e){e.preventDefault();this.close();},close(){if(!this.isOpen)return;this.$.dialog.close();Polymer.dom(this.$.outer).classList.remove('open');this.$.outer.focus();},get isOpen(){return this.$.dialog.hasAttribute('open');}});'use strict';tr.exportTo('tr.ui.b',function(){const FaviconsByHue={blue:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAlrklEQVR4Ae2dCXwdVb3H5265yc3SpEk3ukEXCqVUBLT4Wm19oFKtaN0fKijy9CMguPBarIJsIiA8qsjTh7SllAoFeVBaEARkLV1ooXtL0yRdkqZp9u3uy/v/5uY/OZm75y659+acdnLOnP385zv/+58zZ2YMinTplIAhzsoDceaT2RKUQLwHIMFqh0V2ll0kn4XA6byv9/Vw834kX19e7keRQCzhRyk6bJJYRvD1YTXuhRdeqDj77LPPtNls400mU7HRaCzFFggEVJ/iSqhsicFgKIXUKL6bvB6fz9fj9/u7Kb4bPjaK67Xb7Q0HDhw49IUvfKEd2XUb7WpxHIYvXRgJ8AELkzRso1gmKrwkBfjG7373u5Zly5ZNKS8vn2G1Ws80m83YphPI0wnQUemQFp0IzQR9tdfrxXbI5XId6ujo+PCuu+6qXbNmjYfa9NMmngDoBmt+hIe944M53AUhwqwCvXTp0qJrr732opKSkk8XFhZ+imC+gIAryAZB0QnlJuB3OJ3Ot3p6el5/6KGHttxzzz0O6pse+GEP+3AGnKE2EhgG0tAFt99++4WkoT9tsVgW0DaH4guzAeg4+uD0eDxbaXuDNPzrt9xyy3bS8G4qB8BF6OOoKr+yDDfAB0B91VVXFf72t7+9lLT05QUFBZfQoYWtnA+ux+12v0ra/W+/+tWvXlq5cqWTBjUsYR8OgDPU8KGtjR9++OHHx4wZ8+2ioqKv0X4lbfnsWh0Ox9+bmprWzpgxYxsNFBpd1Op5bcbkM+AMtgr11q1bTz/zzDP/gy4Qv02zGtPzmehIY6MZmmq6UF176NChJ+bMmXOkD3QR9khFczY+HwEXwTbV1NTMI229FCYIXSTm43gTho8uUgMwYUir3zN16tR3qAIfbXkJej4dcIxF1dbkm44ePfqZqqqqpTT7MZf2pYsgAZqN2dTS0nLP5MmTX6EsDDrDHqFU7kTnA+Aa2BMmTDBv2bLliyNHjlxCZsgFuXMYhr6nZL7saGtru/eiiy7aUF9f76UeAfKcBz2XAUffVbgJbAuB/Y3KysoldONl5tDjkrs9oBtL+1tbWwH6UwS6/mZSzg0sVwHXTJG9e/deOGXKlOWksS/MOelncYdJo2+vra396axZs7ZTN0XTJYt7Hdq1XANc1dg0DNOqVatGLl68+DZa/3E1XTwCeOn6JLCly6ncU9+mNLnBZRLOYPAHHI5H2l5/8TdHbl3SRjUx6DkztZgrgKOfDLf5xIkT36moqLiLzJG0rAFJAomsKDp1W51S74IZnSIX8DcrXV3LlK/Oe5xqZPsckGc96LkAOPpowrZ79+5ZNK31BzkzQtKI4qxvV0dJTSLJ592kHKu7QfnPxXupFmhzbFkNeTb/tGsae/bs2Va6wr/lrLPO2izhTgLQZIuaaMp1yvTNyvNbb1HomFB1ZtrAUNYqymztGMNt2rhx44T58+evohs1n0r2+AyX8mnT4KIAvZ63lA82f1/55TX1FJ21tnk2As4zJObq6urP0BTgCmlri2TFDmcEcHQDtnlz4w+Uyz+Hm0Rsm2PuPGtcNpkomtZesGBBYXNz8210d+05CXfWsBLaEQNd5I+e8JyyYettCh0zyoBrpawyWbJFg2twv/jiixPnzZu3mhZFzQ2VqIyJRwIZ0+BiZzyeTcqebVcqS350nKKzxmTJBsDRB3WWZN++fXPpps060tpVouxkODEJDAng6GIg0KI0Hv+mcsXnN9FeVsyyDLWJwnCbadXfomnTpm2UcCcGc1blNhiqlNMmblT+9soi6hdmWKC4hlSJDiXgaBsCsNDKvysnTpz4JIWLaJMupyVgKFLGjHtSefrNK2kYFtpwjIeMs6FqWIOb7kr+Yty4cX+m2+0446XLBwkESHuPrPqz8uymX9BwhhTyoQBchZseQiigdcj30grAO+SDCPlAtW4MeLikdMQdyvqt9yp0rCl1SDR5pgFX4V64cGERvdhmRWlp6XU6scjdfJNAcfF1ysqNK5Q5C2F+ZhzyTF4AqHCPGjXKSjdwHqUHfr+ab8cyW8YzZLMo0QTgcj2jfO/S7ynNzS7KxtOI0UqkJC1TGlyFm3pccPDgwfsk3Ck5drlVidX6VWXFxvvAAG0Z0+SZAJzhtjQ2Ni6ld5D8KLeOjOxtyiRgK/6R8uy7S6m+jF14phtwmEBow3L8+PGr6FnJm1MmLFlRbkqgtOxm5am3rgITtIGNtJrJ6QQcHcdPkYUuKL9MsybLKSydlICijKxcrjz+0pdJFKzJ0wZ5ugBnuM27du2aT7ffV9JUIGCXTkqAJEAsjJ2wQlm1fj7tpPWOZzoAB9yo1/zSSy/NoLdJraMwFsdLJyUgSqBQGX/GOuX+FTMoEpCDmZRr8nQBbqIHgovnzp27mtaWlImjkmEpAU0CYGPmR1crF19cTHH4hU854KmuECcMOmo9derUAyNGjLiawtJlWAJZOQ8eTQb27keUyz7xM8qS8jnyVGpwNk0s+/fv/4qEO9oRlWkDJGArvVpZ89JXKC7lMyupApzhNm/YsGH6GWec8eCAAcgdKYFYEhhz2oPK3X+ZTtlSao+nEnDzxWRL0eNmj0q7O9bRlOkhEoA9ft6cR5WPq/Y4IE+J+ZyKSjS7m56jvK+srEzeqQw5epmNyDkbXBRPT8//Kl++6EaKSok9nqwG10yTHTt2fJpWB0q4xYMlw4lLoJhu5z/y3KepYEpMlWQBV7U3mSXFNN99H71YPfEByRJSAqIEwND4yfcpFyzgqcOkGE2mMGtvy2OPPXY9vZjnTLGfMiwlMGgJWCxnKktv/QmVT3pWZbCAM9zmxx9//IzRo0fj0STppARSJ4HykTcqN//3GVRhUqZKMoCrC6no6Zy7yTSxpW5ksiYpAZKA0WhTPj73dxRKakHWYABn7W3Zs2cPvjH5eXlApATSIoGi4i8oK56/tA9ysAr2EnKDARxlzJdddlkJ3dC5N6HWZGYpgUQlMH7SvbRWpYSKsamSUA2JAs7a2/ynP/3pOvrc9eSEWpOZpQQSlYDZPFn54a/xcDoDnpAWTxRw5DfRJ7DL6HUPP060rzK/lMCgJFA+8sfKZd/CqlRc9yXEbCKZWXtbli1b9gN6EX3loDorC0kJJCoBk6lS+ebVP6BiCU8bJgI48ppxU2fs2LHXJNpHmV9KICkJVFZdo3zsY7j5w6ZKXNXFCzhrb/PDDz/8HbK9x8ZVu8wkJZAqCZjNY5Wf3vkdqo4Bj8sWjxdw5DPRt3KKTjvtNNxhkk5KIPMSqBz1E2Xq7ITekBUP4Ky9LevWrfsGae9JmR+ZbFFKgCRgLpik3HL3NygUty0eD+Cq9h4/fnwBbTdIQUsJDKkERo+9QSkr47ubMfmNlQHaG5v56aef/ndaUDVtSAcnG5cSMFumKXc/fDGYpI35jCiXeADH3KOZ7lp+Sy6HjShHmZApCWA57dgJ3wKTtIFNQB7RxQIc6abLL7+cniEesTBiLTJBSiCTEiguWah8/isjqEkAHpXhaIk4M5BuXrp06ZfoOUtcvUonJTD0EjCaipSvff9L1JGYU4bRAEeaCjh9P+fr0jwZ+uMqe9AnAZgpo0Z/nfYY8IgcR0qA9sZmeuCBBybZbLZ/66taelIC2SEBKzF5zTJMWbMdDl5DXDTAVe29aNGib5D2jpQvpEIZISWQEQkYicm5C0QtnjDg6uwJPY72tYx0WDYiJZCoBMorGXDW4iE1hNPMOBMQb1qzZs0MmvueHlJKRmS1BCZYYZoOA2exTFd+dT/eTsuzKSFaPJwkNMDPO++8+fLiMvdA+Z8JJcqPN+9RGnocoZ0PBELjFF2cbjdYIEykvq4wWehd4APb05dBari4gaWCe/p8AT+uFOdT4j7aoJTB7oAGowFurqqqmicBV5QPmgLKX3b7lVbHANmRLLPVVSjnGT6hzFRa44dHHEqIHhQThXC8+YQiqQ66K9rnvakoD1O9DPiAJvSAo8vYjMXFxWZ6U9VFA3IP052fv+5VGntzBW4+SCYl4KtQ/L3tpCBJ0+WpC/hKLgKrvb29DDj41Q4WIvUOcaZHH310lslkGqlPHI77uQd38CgZTBbSVBVKXk+CGYwjS758/ywwS1sIz/oI1uCmmTNnflKaJ7l/OmuQG3migQ9xnvg0W2gaN/2TfYDzoLQDFw5wVYOT/T1XAq7JKacDKuS2csVg1B/unB6W2nkwaiiumEs7rMEBueZEG5zpN9Gt+QKyv+douWQg5yXAkPvtHYO78MxiCZisJXNsVRML7C3HndRN5li1w/WnNPaNDz744Ll0ZpRm8Zhk1wYhAYacjPJBlM7eIgHFUFryxZvPpR6q/Io9DavBJ0yYcJY0T0Qx5U84CDnNrtjb82dQZHqZysefRQPaRltEDc4JRlr7PS1/Ri9HopeAwWRWjLYKQiF/NLnBWgpmocGZY3XYoomCBOybaPXgNKnBVfnk7R8V8qLyvIAcrBoLiqaCXdoYcvXYMeB8KmPfSIBPUVPln7yWQD/kjEEOD7fABsBVfvtGoTIdYoOPHDnSXFhYODmHhyq7noAEgpCPUPyOTiql3QBMoIbsyGo0F04uInYdbW3RTZRbb711AnXZmh3dlr3IhAQYcpooz0RzaWmDTk1r0YLrwS4GwRaJuoMGmXrjOeecI5fHQiLDzKmQF9ILXFXIGYfc8q2jZ4JdBlyFnE9ZHolx1KhR8gJzmMHNw9Ugz8U7nrijWToyZCZFtMEBu7GoqGgiD1j6w08CKuTWUsXv6s65O56GApVdlWM+cnoNbqB3D+JzEdINYwkw5DlnkxvNYJetEdVEETU4Ioy0RLZEzoEPY7r7hh6EvIQ0eQ/FZP/sCpilPgNwKG0VbgyFdzTqCXC8ZFw6KQEAoxgLS3NoPbkR7GosIyxqcBxSgwQcYpCOJWDAOnIrKUbS5AH9M5GcKUt8OiEZcK1HbIMjQiVfAq7JRgb6JADIDQR5tpuuAaMGuGaisAbXIiTgkutwEujX5L2UnJ02uSEIOHdfZVpqcBaH9GNKIKjJQ6yAmOUylYHsa+6cprBZg3MfpA3OkpB+WAkENXmxEnDbs2+e3KABrvU9RINTih56LbMMSAlAAqomL7BRQFOU2SGYgMouOqV1jGHWIrxer50+8iofV8uOQ5a1vVA1OUEecOPtWdlhkxsUH/2saE5lmufBtVifz4erCOmkBGJKIKjJ8V0ETT/GLJPODAG/X8+uOg+O0087BaHB09kJWXd+SSCoyYuUgIceaB/qeXL/AA2uci3a4JB8QGrw/AIwE6NRNbmlcMht8oBftT40ZY2xsw2OsJogAYcopEtUAqomt5Am9w6dJg8ENPNagzysBs/2W7KJCl/mz4wE8OYsg3loNLnKbNAG1+DGqFmDI1LdpA2eGRjytRX19XAEecDr6kMqcyM1BNTrR41ltCxqcAYc6yOlkxIYtASCmhyP9WZ2doVmUXhtL1hWHWtw3lccDkcb1H22L6zROiwDWSmBoCa39mnyDHSRmPV7nG36lliDs1r3t7e31+kzyX0pgcFIQNPkGbrj6be3gV287Z95Vk0U7MCpkdXV1bXyIjMoEPk3eQmokJsKglOIAD1tm6J4Wo7UMsd9PQ+wBse+CvgzzzwjAe+TjvRSIwGGnB4qS02F4WohE8W58zk94CGzKP6XX3652+VyNdN6lFHh6pFxUgKDkQAgDygWxeDzDKZ47DJeV3PvvtfpVQChJgoKs80C+8Xf09NzRJopEIt0qZQAIFfou0GpXoUIVv0uxxHqq8ov+cxzyDShmsFut9elcmCyLikBloAKuZEm71Jsi/vdKrMi4GqTbIMz8cjgw0yK1OB8SKSfagkMgDwVlZMGDzg6oJR9tIFh5lmzwdEMR/pPnjxZiwjppATSJQHVJg/QRaffm3wT9Gvg624GswPgRsXhNLh//fr1u2nRFYCXTkogbRJQbybCXEl2diXgCzh2bthNFQHwAZAz4BgEgEaijz4C29zZ2VkjzRSIRbp0SiAIOT7MgCnExDeyThS/s7uma+vaZqpANFHUbusBZ8i9ra2tWyXgqozknzRLQIMcF56JOiLc19O6lYrB1hmgvVGVCDj2VQ1Ovq+mpmaLBBwikS4TElAhx7vJE55dIWhb6rZQH6G9WYNrXRYBh/ZmDe5buXLlVj85LacMSAmkWQIa5Im0Q4x2bXkUGpzhZo7VWsIBrp4JGzZsaCc7/KDU4olIW+ZNVgL9kMe2x4P2d+dB+86X8NFP1uARAUffWIPDnvHSdOE2CTjEIl0mJRCEPA57nAj3dzXj468qr+SzDa51V9TgiGTAcTZ4yQ7fLAHXZCUDGZSABnlUm5wgba3dDFZpE00Uraf6Bx5YveNM8C5fvnzbJZdc4iwuLqYH7Yavq+ytURq70rRIKIvEGlmZAYswDjZCRBchLUJ0ULeGqYzaQL8AfEj/PA5nz8u/Zw3O2ntAC+EAR0bVnnn33Xe7Gxsb35gyZcqlxhR9mGj/oU7liWfrlPZOd5jRZGfUbK9bmUnPGIYIeEB3B8i1PyUKBHTo+vPFEYrcfpR6orYfR6NZmiUQ8Cs9XU1vbDiyEysI2f5myLVe6wFHAqSlanDyPTt37nz+9NNPTxngv/3DHqW5lV4tkGPO67ErPi+9pgw/mYAGfjyO8zJo+vL6dH2dmc6vb1/fP31/9Pn1+7HK69P15fXt9eUP+LxKR/OB5yk7flrFOfABNehtcCSKgHuvu+66t2n5bGtk7TGgvpg7uQg3BmW22BSTGa8pIwehx+s4L3wxzOXFOM4j+sjHecSwmEcMi3nEsJhHDIt5ENY75IXjMhxWI+P4E6u8Pp3bYV/fHsWDRb/f1Vq3b9XblBzxAhNFowEOte+hlYWO+vr6f6QKcDSaq06F3FQYdeUEow9fDGfLmMU+ieFI/RPziOFU5Y9UT/T4gOJ2tP/D7e7Bmz+hwcNeYKKOcIAjHiaKZqa8+uqr6+l9KYgf9g6QG/sgxwHXbxAQgyCG9fmGal/skxiO1B8xjxhOVf5I9USLV8j+7mjd/Rz1RzRPwGuIiwQ4zBScFaDas3Tp0r0dHR2HpRYPyo8hD+7Jv5mUABj0eeyHjx58Yh+1y4CDVTAb4qIBzpCjEjfNiW+Qd+775dcPeTRdI9NCf+OSlQl98M3RvAFM0sbmCVhNCHAcSah8TYuvXr16PT2MjAql65OAapPjXXzRnP4iCnk5Llw5ToMvhsPlzYU4cQxiOFLfxTxiuC+/3+/xNB9/cz3tito7rHmCIpE0ONJwRrAd7l61alXjkSNHXpBaHKLpd5hZMfELJ3FA9Buy8oESw/p8vC/mEcOcnmu+OAYxHGkcYh4xTPlx38DtaHnhZP3rjZQEDR5xehBF4eIFXDVT1q5d+whp8YhnS7DK4fdXhdyEd/FJl04J+ANef3PDpkeoDTZPkgIcfR2gxe+7776aY8eO/VNq8dDD2A95sjamLE8/eSTggRsuLj2Otn821D5fQ4lxaW8cpWgaHOnQ1pqZQmHXU0899VePxxPWoEeB4ewYchwadhzmw4V4jhPDnJ6oL9YhhuOtRywjhuMtr88n1iGGOZ8YJ4Y5PZKv+H2BthOb/0pl8F5mEfCoFkUswNEHVICLTdVMufPOOw+QFn9TanGIJtTBHjeSucIHCjkQZsfhSOmcL14/2fqSLa/vZ6z6YqXr68M+1p24nK1vHq3++wHaZfMETEaFG2XjARzaWgOcwq4XX3zxYdLiKC9dGAkw5Pqf2czso0OMkRhGXG5u9N5vpb3p/YdpAKy9AR+YjGlJxAs4a3GcPa4lS5bsOnHixGapxUkaEVwQcnqrasYdw80wowMcl/HOJN0gtLfb1bH5yMHHd1FlDDhr75QAjk6yFsdVKyB3bty48UE5owLRRHYa5JgSY8dhniZDPMeJYU5P1BfrEMOR6hHzIBzLcV8j1aePR31cRgxzPjFODPel+xWvv6N5x4OUhCWoYA8MxqW9KV9cJgryAXBocQbcdeONN+6kd4k/J9eoQDyRnQq5se+Fk3yg2UcxDvcdULUmjotcbeQULhtvffr8XC6Sj5a5TORe9KdwXq5PXz5KOn0WUHH2nnyudt/qnVSMtXfMqcH+xuMHHGVYi6sXm2jwpptuWk4PJrfLNSqiSEPDGuShSTImggTUNSdee/uxA2uXUxaGO27bm6uNxwbnvKzF8fOABp2vvfZa89atW/8oLzhZRJF9zVyJnEWmCBKgb14qPZ01f2xv3o03VsE8AXNx295cVSKAo4yoxVXIFy9e/Aw91rZLXnCySCP7Jpo+NNLnPMQvHXAYfjz/UDuXEcNcVowTw5yeal9sQwxHakfMI4bF/HhiyuPq2LV/293PUB6GO2HtjfoHA7g4o4LGnWvWrLnL6XT6pKkCkUZ3gNxAL4HnA4rcCMfrOG+k8rHS420n3nyJthcrPxgK+D2+5oa37qI+qHyRj4vLhLU3xpAo4CjDgOOMUrX4HXfcse/AgQPr6I20SJcuhgQYcvVijS++pN938RpQHD0n1h378Cms99Zrb7CXkBsM4GiAIVenDGnfccMNNzzU0tLSKE2V+OSvmiuYXZFOkwDmvD2e7saa/X99iCLxOBoAF7W3ljfewGABZ1ucpw2d7733XusTTzxxE33+xCNNlfjED3vcqELON2WGr0+WCS03cXtaTmy6qbutppUkyHAnNO+tl/xgAUc9DLmmxWnacAeB/hDdANK3I/cjSCAIebi3d0QokKfRZHcrvZ01D9XtW72DhqjX3mBtUC5ZwGGqaFqcws5LL7109dGjR9+WN4DiPx7DHXLc0HE5Wt7es/m21WCob4PiTOimTjiJJwM46gPg2PiCE2ee/Wc/+9lvyB5vkvY4SSNO12+uxFkgT7LB7vZ6uptq9678DQ3JThsYggkAppgvCg7OJQs4WkUnMH2CMw6dc9ANoJNPPvnkL8ke90p7nCQSpzPS9CFscryHbzhsEEvA7/a2NLzzy46WXSdpV+WH/KQuLFEvu1QAzrY4mypqJ+lVE9u3bdv2Z9jjEnIWd2wfkBsM+W+T9813093K6j/X7l+9nSQjwp3UhaUo5VQAjvoY8gGmysKFC1fSgqxX3G6ckNLFKwEVcu3rY/k5swK729Hb9Mqed29fSXLRmyawCAZ9YSnKOVWAo06GHDTjQgGdti9atOjXdNH5noScpJGAU00VI74+ln+OXv2gOJ0t7x3cduevaXQqJ+TztGDK4IbkUg24aI+rkNNXIrquuOKKG+kBiYNyURZEHr/LR8j99OFXt6v94KH377/R4WjtImkAcBFuMJQS7Q1Jp0NFoHNiBw0Eube2tnbT/PnzFzz3UtMIA76mJV1cEjAYcIhInLgTkuMOZonH3XW8dvdff9zZur+JhtNLGwMO8zal2hviSgfgqBduAOhki7u6u7u3NHWO+yxNidkk5EEhxfM3CHmfSHN0zQq98Fjxunta6w+v+9GphneO0Wj0cKdUc7Nc0wW4qG608AcffNBrMlvfLx0x5XMGo7lAQs6HIbbfLytNnLELZUkOrO2mF2b2nDz64rX1hzccpG7p4YbmBuApd+kCHB3lI8G+2vnOlr0dBYVV+4tKxl1MswWW/gOX8rHlXYUsq+C8ChaeZv8/vOqYvo5hb2l48+d1+9fiNrwId8rmuyMd7HQCLrYJyDXQ20/tOGUxF+6wlU1aYDQWFPGBEwvIcHgJ9MtKE2f4jFkQq9rcnu72xrp//OTIgccx181wY8477XBDBJkGXAO9o2VPm+JzbioZMXWewVRQ2n/g0C3poklgoKyyc57cTxeUXnfHCVrXfU1D7fr9NJ4e2gA4w530OpNoMuK0TAGO9ljlaJB3tVd3u1yNb5ZVzPy40Wyt7L+Y4u5JP5IE+iFnsUbKmfl4zHN7nG3VdXtWXNvU8GYd9QBgZxxujDyTgKM9OAZc9e1dDY6ejoOvl1fNnm0yFY1TaApR/QhoMK/8G0UCGuQGEmUWKHK83jhA89z0gvoPDu1cfn1b864T1H29WZIRzc1iyzTgA+CmTqj7Lkeru6156xsVoy+cQk+fn44DJyHnQxTd1yBXRRk9bzpTsSrQ7/MoLvvJN/a/d9uSno5jLdQew40bOVghmFG4Md5MA4424UJA97rtvub6f71VPupcq9lSNttgNBLj8oZQUFzR/w6UU+ZVOeD2eV2B3u7ax/a9e/PvXI7OTuqxCDcuKDMON6Q2VICjbYacJ/jpHYte/8mjr35gtVUdLCwaPYfmyunDlFKbQ1ixXBByiDRzTl0RGPBiPXd7S8Pbyw68d+/TdAz5YlK8QzkkcEMSQwk42mfI4Wugt53c3uB0nHyttHz6THo4dywOnjRZIK7ojiHPxOw4lg4EYJI4mnfW7V95ff3h9bupd9DarLlhkohTgZk9+/pElS2AA27eVOjt3fW9p4699kr5qFkmc0HZR6TJ0nfEYngDzZUYmQeZrN6ZhEnSeXj1nk2/vr2nsw5vn4LGZrj1i6cG2VLyxYYacIyAz2zW4hro9HPnO3nstZ2FhZX7Cm1j5tCDAEWkyqU2j3HctV+7FJvjWE+CWRKvt6utpeGtX+7f/vv/6zNJGG7McfPFZNpuv8cY/oDkbAAcHRIhF0FXw21N2084HfWv2UonjaHPhEwJaikJ+oAjqdvRINfFD2ZXfSILF5I+Fz2kUP/akT0rlhyv2bCX6mKNDcD1N3CgqIbc4RzPJof+YOoEJx7eioNPl+FDlHSxqdgQnj77h5+oGPeJXxQUlE3Cg7qZ+EmmdnPWYYYjGRec/nMrbnfnsbaT2+6v2f3wZqoPJghDzVOAvNwVDbLCSqbplJTNNsAxKP5hBeR4OBGfSQDkDHpRYWFFyYzzf/Gd4oqpV5JGt+IZxlRqLGorr1zwmdjEmOMZEp/X4erpqFld/f4Djzud7ZghgabGBrDZ1sYsCa/lTqwhKphOly0min6MLCT42KAV2Kbzeb1Ob9Pxf+32utteLSqZOJ4++jRJmi16Efbv95/8rDsi++pzFX3mCM1kvXPkw7X/Vbd31eskc3H6D9pbhBvHJ7mfiv7upjSUjRpcHCD6xyYLa3PW6DBbVM0+4/yffKq88iPXmq0jJuOdf/J2vyjC/nBQk/fviyHRzva6u462N+96qHrng29RHtbUrLUx9cc3bljpsEISq8yKcLYDzkIC5Aw6bHNAzva5CrnZbC6c/pHrLykbefYVZmv5NAk6iy66PwBsV8fhrrYDj1Xv+uOr9GYyBpt9ntcWbe2s1NriiHMFcPSZtTlAhzZn0AE4ww7fOuP86z45ovLcKyzWkecEL0RN0kYnwYguaGP78MJLetl8277O1j2Pffj+n96mPAAZG8BmHxobYPMdSYCdtVqb+qa5XAKcO40+49qBQYc2Z42uAk77qj919tUfqxh1wZXWosrz6cEKslxQbPhOLwZNFKz4I7D9broL2fp+e/OO1TW7H3mPBMNgi75ojgBqvpCkYG64XAQckkW/sYlmCzQ6Ty2KoBeccc53Z5eP/uiXrIWjFpjNRTaD+no0FM1/2DWo6cIRb3D1eh12l7P5jY5TH6yv27cGt9cBsQg1wtDWvIl2dk5obeq75nIVcB4AQ86gs+nCoLNmV7V8YcnY4ikzvr3ANuKMz1mLqi4k0E3q+7nVu6OoIn+cOv9NUyJ4+ACfBKG3t263d9a9XPvh2jecPSdxg4a1M4BmyBlqnvaD1s4ZcyTc0ct1wHlMetBhi7CNziYM+6qmrzrtwtHjJi/6rK1k/OfoiblpAJ1hz0XNzpoai6AANTafu/uwvafh5cajG//ZcmL7KZIJA8xwiz7SoK1ZY+c02DQO1eUL4OJ4grZH0E6HRmetDsAZetE3T5q6eHr5mPPmWQurzjcXls8i0K20VFcx4iWYeA9JFpoyA4CmJatYI0JQu7zOjr0uZ8v7HU073zlW82w1dR7aGPAC5nA+0llj8z2HnDNFaAxhXb4BzoMMUtlvo0Ojs1bXA69qdEqHby4sLLeOm7p4Vln5tAsshRXnFxSMOJseirbgAhXPjAZvmrDYgn7/jRRuPjV+EGLUxbzRBSKWqdJ7RnChGKBPftAt9AMeZ/v7XR2HdzTWPLvX6eyAycFQA2jeGHBOY23NGhuNcEMUzA/HRyo/RhM6ChF0aHbRVhe1O0POceybiovH28ZNW/SR4pJJ55oLiieZzLZJJottPFY2BoHHWnWAT1Wr0owkUn18JJYoHv9xUQiQNd/roJfnNPi89mNed++x3p5jexoPb9zV29uAu4qAlDUx+ww2fI6Dz0CL9nWkzlD23HZ6qef2aKL3HmNl84VBZ83OQEfyOR98lDWOnjB3dFnFOZOttjGTLIWlk81m20RaMlBpUEw2Ay2QoRPARg1SffQXF7F9vtpFaOEgxbSrhuhDAV57gBZ+BBSf3e9ztXq99uMeZ/dRl73pWFf7vqOn6jfBhmYoRe0rwhsuLOZlu5p9tTv5/Gc4Ac7HEWMWN4ZW9AE6Q83Q8z6fHKKvQq+r10DmjrmoZEKx1Ta6yGItK7aYy7AiUvF4u+weV1evy37K4eip7yWzAmBCi4obwwyfta7oI8xAM8TYF/NwWbHevNXWNPYQNxwBF4Uggo4wg8q+CL0IuAg350Ec18H1oi0xjH3RMXiI4zBrVwZcDyxDy1DzPudnn+tjX2x32IQhfOmCEmBZMJDwGXQxLMYBbqSxz5AjDg4+b7wPH9DBMXz6fUCKOEAs+gwv+0gTw9jHBsd+cG+Y/uUDMUyHH3XYLBsGNJIvQq3PgwbEesQGGUDRR1i/Mez6eHEf9WJfOp0EWPi6aLkbQQIsLwYZ2aLFiekRqhwAJkPK8KJMtLhIdcr4PgnwwZECSU4Cejnq91G7Po7BFVvWx+n3xbwyHIcE/h9VLWRYHWXC/QAAAABJRU5ErkJggg==',green:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAltklEQVR4Ae2dCXQcxZnHR3NoNDp8SD7kU7bxFXCchBhMYoLNmhCcOBBykGw2gYTkPV6AhGXD2sTZJQcJG3jsgw3hscuCsTEsOAQW1sbY+MAHxpYtHzI+5EOy5UMStnWPZkZzab9/j75WTWt6NKO5Z6r82lVdXV1d9e/ffPq6uro7zyBDIhXIi7DyngjLyWJRKhDpCYiy2pwoztrpxSwCb+d1bayFm9f1Yu3+cj2MAgOJH2bXnNnEGiHWppW8d999d/inPvWp6YWFheNMJlOR0WgswdLT06PElFdM+xbn5eWVQDXK76TI7vP57H6/v5PyOxFjobwuh8Nx4dixYye+9rWvtaK4ZqFVNY/TiGUIoQCfsBCbcjaLNVHgJRUQG3/4wx9ali1bNmXYsGEzrFbrdLPZjGUagTyNAB2ZCLXoh3CJoD/p9XqxnOju7j7R1tZ2/LHHHqtbtWqVh47pp0X8AaAZbPmRzvnAJzPXhRBhVoBeunSp7b777ruuuLj4xoKCghsI5s8TcPnpIBT9oNwE/D6Xy7Xdbrd/8Oyzz+5+/PHHndQ2LfA5D3suA85QGwmMPLLQ+b///e/nkIW+0WKxLKBlLuUXpAPQEbTB5fF4KmnZShb+g0ceeaSKLLyb9gPgIvQRVJVdRXIN8CCo77777oI//vGPt5CV/n5+fv5NdGrhK2dDsLvd7k1k3f/n17/+9frly5e7qFM5CXsuAM5QI4a1Nh4/fvza0aNH/4PNZvs2rZfRks2h2el0/u2TTz55dcaMGXuoo7DoolXPajcmmwFnsBWoKysrJ02fPv3v6QLxH2hUY1o2E63XNxqhOUkXqq+eOHHitblz557pBV2EXW/XjM3PRsBFsE21tbXXk7VeCheELhKzsb9Rw0cXqT1wYciqP37FFVd8SBX4aMlK0LPphKMvirWm2FRfX//lESNGLKXRj3m0LoOOAjQas/Py5cuPV1RUbKQiDDrDrrNX5mRnA+Aq2OPHjzfv3r3766WlpUvIDfl85pyG1LeU3Jd9LS0tT1x33XVrzp8/76UWAfKMBz2TAUfbFbgJbAuBfUdZWdkSuvFyZepxydwW0I2lo83NzQD9rwS69mZSxnUsUwFXXZHDhw/PmTJlytNksedknPpp3GCy6FV1dXX/OGvWrCpqpui6pHGr+zct0wBXLDZ1w/TSSy+V3n777b+j+R8/pYtHAC9DrwIO9xHD5c5XDF5fS0ya0MWo3+nwvrBx47nfLLlvKypj0DNmaDFTAEc7GW5zQ0PDD4YPH/4YuSMJmQMSExVpsPPxhjsMHt/FuLWkp8dwqb3dt2zhnD2vUKXsnwPytAc9EwBHG01YDh06NIuGtf5DjoyQGmHC4XMLwmwd/Caft2fnmXr3A3d8Zf9hqgXWHEtaQ57Of9pViz179mwrXeE/MnPmzF0S7sEDGuueJnPevCuusO76sPq6R2bPHm2l+sy0gKG0NZTp2jCG27R27drx8+fPf4lu1NwQ6wnKlf0TZcFF/bwe//Z9uxw/vvfuj89Tftr65ukIOI+QmE+ePPllGgJ8UfraIloDp5MBOFoB37zxQvdPvr5gP24SsW+OsfO0CenkoqhWe8GCBQWXLl36Hd1de1vCnTas9GtIXp5h5LgJ1re3H7z2dwsWjMTUYlwrpZXLki4WXIV73bp1E66//vqVNClK3mLvh1RkGcmy4GJr3B7/zkOVXXfd86PD5yg/bVyWdAAcbVBGSY4cOTKPbtqsJqs9QhRPpqNTIBWAo4U0l+1yw1nXd29duH8nrabFKEuqXRSG20yz/hZPnTp1rYQ7OpjTqTRNUhwxtsK69t3tcxZTuzDCAsOVUiOaSsBxbAhgoZl/d02YMOF1SttokSGDFSCabeVj819/v3LOXdQNCy04xynjLFUHVuGmu5K/HDNmzHN0ux2/eBmyQoEe84gRluc2V13zS+pOSiFPBeAK3PQQQj7NQ36CZgA+Kh9EyAqqgzpBQ4h5w4aZH6URlidwrmljSix5sgFX4F60aJGNXmzzYklJyf1BqsiVrFOgqNh0/5ubJr24aFEp3M+kQ57MCwAF7pEjR1rpBs4KeuD3W1l3NtOkQ6kaRQnXfZfL/+Y3bqz7Ed3f6KZyPIwYbpe4bEuWBVfgphbn19TUPCnhjsu5y6hKCgqM33pr4+QnwQAtSbPkyQCc4bY0NjYupXeQ3JNRZ0Y2Nm4KFBab7tlSdc1SqjBpF56JBhwuEI5hOXfu3N30rOS/xk0tWVFGKjB0mPlfN1bOuRtM0AI2EuomJxJwNBx/iix0QfkNupJ+mtIySAUMpSPyn16z5fPfICnYkicM8kQBznCbq6ur59Pt9+U0FAjYZZAK4J6+aczE/BffWn/1fJIjoXc8EwE44Ea95vXr18+gt0mtpjQmx8sgFVAVIEgKJkzJX/2fq66aQZmAHMzE3ZInCnATPRBcNG/evJU0t2SI2iuZkAoIChiNeUM+O6d45cLbxxVRNv7Cxx3weFeIHwwaar148eJTQ4cO/SmlZUiyAuk4Dh5Ogs5O3wsLPrfnQSoT9zHyeFpw/FhQn+Xo0aPflHCHO6Vym6hASYnpp29v+dw3wQ4tYChuhjdegDPc5jVr1kybPHnyM2IHZFoqMJAC48Zbn/nzi1dNo3Jx9cfjCbh54cKFRfS42Qrpdw90OuV2rQLwx6/9QvGKhQsVfxyQx8WKx6MS/EgUv5vmGTw5ZMgQeadSe/aSvJ5pPrgoj73D91/zr97zEOXFxR+P1YKrrsm+fftupNmBEm7xbMl01AoUlRjvWb1u9o20Y1xclVgBV6w3uSVFNN79JL3LLuoOyR2kAqICYKhisu3JBQvG8tBhTIzGsjNbb8vLL7/8C3oxz3SxoTItFRisAhaLcfqyP435Oe0f86jKYAFnuM2vvPLK5FGjRuHRJBmkAnFToLTM8tCfnpk5mSqMyVWJBXBcWFro6Zw/0Z+Vwrj1TFYkFSAFwNQX5w/5N0rGNCFrMICz9bZ8/PHH+MbkV+UZkQokQoGiQtPX/rb+M7f0Qg5WwV5UYTCAYx/zrbfeWkw3dJ6I6miysFQgSgXGV9ieWHjrqGLajV2VqGqIFnC23ua//OUv99PnriuiOposLBWIUgGLJa9iya8q8HA6Ax6VFY8WcJQ30Sewh9DrHn4WZVtlcanAoBQYXmr62fe+NwGzUnHdFxWz0RRm621ZtmzZT+hF9GWDaq3cSSoQpQImU17ZnfeO+gntFvWwYTSAo6wZN3XKy8vvjbKNsrhUICYFykZa7r1mwUjc/GFXJaL6IgWcrbf5+eef/wH53uUR1S4LSQXipIDZklf+m99N/AFVx4BH5ItHCjjKmehbObaxY8fiDpMMUoGkK0BW/OezZxdH9YasSABn621ZvXr1HWS9Jya9Z/KAUgFSID8/b+KjT02/g5IR++KRAK5Y73HjxuXT8oBUWiqQSgVGlVseoCnZfHdzQH4HKgDrjcX8xhtv/B1NqJqays7JY0sFLPl5U59bVbEQTNLCfOoKEwngGHs0013L78npsLo6yg1JUgAMjhlb8D0wSQvYBOS6YSDAsd30/e9/n54hHrpItxa5QSqQRAWKh5gWffWbY4bSIQF4WIbDbcQvA9vNS5cuvY2es8TVqwxSgZQrYDQabHffU34bNWTAIcNwgGObAjh9P+c70j1J+XmVDehVACyOLs//Dq0y4Loc621g59301FNPTSwsLPyiVFcqkE4K2ArzvvjPv52GIWv2w0P64uEAV6z34sWL76BfjF65dOqzbEsOKQAm5/9diWjFowZcGT2hx9G+nUO6ya5mkAL0WBsDzla8X+tDWWa+uDStWrVqBo19T+u3l8xIawUsplFp3b54NY7mik/703/MxNtpeTSlnxWHk64NKuCf/exn58uLS6086b8+3Pqg4WDNHw0O5yf9Gkuf9+sX6N3twXmaVWwMkUWv+Q7eLVShHk1mv310Kg9Vrt/h/PStQoN/PlVxhBYYa7AbVCwc4PQxzxHXS8ANhkZ7jaGq8W8Gh6ed9MuM4C2ebrD7Jhp6CIJsDr481/UGw4nnqY8MeFB3tYDjF6BY8KKiIjO9qeq6oNI5urL+1L8bOt2XM673PrPf4OjwZDXk/p6e68BqV1cXAx5kxUP54MgzrVixYpbJZCrNuLOagAZnItyQwWQ2GgppXlKeEec8OwON75V+/YErZlHv2A8P6qieBTddeeWVX5LuSZBWGbnCkDs7PQa/PyO7EL7RZI5HTCj+EhXaTwt7IKpfprXgintCBU3kf8+TgIfXNlO2AnJbicVAt7izLoBR2xDLPOoYW/CgP1eiBWf6TXRrPp/877lZp0YOd4ghhyUPNUKRydJYbaa5IyYU5l8+53BRP5hjxYprf9NYNz7zzDOfpl9GSSZ3Wra9vwIMORm9rArUn5Kbfzzt09QphV+xcyEt+Pjx42dK90SUKXvSDDksedYEwnrYyIKZ1J89tOhacN5gpLnfU7Om87Ij/RRgyLPJiFlsZjALC84cK/1GBgdswLqJZg9OzabOcwdl3KcAIC8oNuMtrn2ZGZpCHyxW0xXU/H4Xmgw49xLrRgJ8Sob2VTY7CgVUyLNgnLwXcIXfXgkUpvv54KWlpeaCgoKKKHSSRTNYAQXyIrPB1eXVzOLIrE5ZrcaK0lKbuaXFCbDZYCsuCfcEmcbf/va34ym2cqaMs18BhjyTZ/3TmKB17ncngV1Y8X6AM/XGq65SPsaZ/WdV9jBIAUBuLSSfnPFgIjIoHj2pCFO7xR6oFpy7YRw5cqS8wAw69bmz0gc5cMiwQE0uKrH0G0kRfXDFQbfZbBMyrGuyuXFUQIGc3p/Q7fSRT65O6YjjERJXVX6hCewqHPNRsILAFjyP3j2Iz0XIkMMKBCA3ZdwQosloBLsqyziFogXHBiNNkS3OhrFRdE6GwSsAyPPJkrvJkmeCHVeYNeUBcPbBlc7ziko9AY6XjMsgFVDmkysXnqAjAwIN54NdlWWkRQuOLuRJwCGDDKyA0ZRnsNrM5JOn/zi5yZzHgHPz1VEUZCjkS8BVbWSiVwGGXCEkjVUxGlXA1b85bMHVDAl4Gp/BFDaNIXe7vGk7uEL+iOheK0zzKAqkkxY8hQBlwqEBeX4BJmilZ2uNRuX6UeGYW8gWnNelD85KyDikAgy5uzv9xslNRvUiU217PwtOW7TQq4VlQioABRTIrTQzNc1MeU9eD9gNacHVPzper9dBH3mVj6tJlsMqwJB7yJKnyzg5vTXAITRaYZrHwdV8n8/Xpa7IhFQgjAKAnOZhp83gSo/foGVXGQfHD1D9EcKCh+mT3CQVCFKAIfe6yZKrFAUVSdqK39cjsqtwLfrgaEiPtOBJOx9ZcyBAbs7H3JUUd8mnWPCgn5l4QalskICn+CRl6OEVyMld8brp9VkpMuU9fj+7KCrkIS14v9fpZqjostnJVYDuJJIlJ6RSYMrBrK9HAVyFG71nC45MZZE+eHKhyLajMeQ+jz/phtzvy4MPrrIMbUULzoDbs0102Z/kKgDITRZj0g253+8Huwy40mm24KoCTqezBeZezglXJZGJQSgAyA0EOSx5MgLcfp+7p0V7LLbgTL2/tbX1tLaQXJcKDEYBtuSD2Xcw+zg6u8EuflHMs+KiYAVByTx58mSdvMgMCCL/j12BpEFO9Laed9Yxx70t72ELjnUF8DfffFMC3quOjOKjAEOeyMEVfOyqevtFLeD9RlH8GzZs6Ozu7r5E81FGxqd7shapAI1mwCen5zz93sT45H5Pz6UTey52ktb9XBTor1jv3o1+u91+RropkEWGeCoAyI0EebyHV8Bqt8t7htoKuEMCjn4AcqWAw+E4jQwZpALxVkCBnG7tK5DDZ4nT4nb5wawIuNJ09sFFC+7DSIq04PE+tbI+VoAhj5dPjiHCbrsXgNNTGMEWXBwHVyFvamqq48bIWCqQCAUAeQ8ZcJoBGHP1+KF0NHvALCw4c6zUG8qC+995551DNOkq9iPH3HRZQTYrgJuJmKQVa6CvOffUfNhwiOoRXRSFXwYcx0AGCvjoI7CX2tvba6WbAllkSKQCsUKuXGB2eWsr37twidopuihKs7WAM+Te5ubmSgl4Ik+trJsVYMgHMz0E/ndXm6eS6qI3E+m7KHwsxYLTiq+2tna3BJxlkXGiFQDceDe5EiMd6UIPzLU0OneD2d4FDKtBz4L7li9fXkmzs4IKq3vJhFQgAQow5NFUTYT696w5DwsuuieK/416QgGu/BLWrFnTSn54jbTi0cgty8aqgAo5rj0HWHB7vtvhqTnyUVMrlWYLDrhDAo62YQOsNvwZLw0X7pGAkxIyJFWBgHsy8CHhf9tb3Pj4q8IrxWBXhRs1iBYc6ww4fg1e8sN3ScAhiwzJVoAhJ1dc/2YnNaq5oWsXRQBcdFHU5oo3epAJwBly79NPP73npptuchUVFRWoe+RgwnXRZmh3YBQqu4OuMQuyiX0a6GQHCuhs1D1GX7VBKVhp7APgtfvSS4dcm1bUsQVn6x105FCAo6Diz3z00UedjY2NW6dMmXKL0ag19kHtiHil9nyj4b2dVYaOLvEVFhHvnpKCXs9XDUa3m44dpF1QW7TiB23UWdHdR+cw8DlDBlCgE/S30A5h9tOpLubsaG/r6JWnJ+gNrtbmrRdO7sYMQva/GXK1nVrAsQGaoCDMvufgwYP/N2nSpLgB/sJb6w0tHWhTZgV3t4teidBNjYbkkEhPem2/uCyjpt1fu127f7LLa4+vbZ+2Pdry2vWB9tdu1+6vPV6gvN/vMzTUHv8/Ku2hBaz2gxs1hTLLqIEB995///07aPpss661QS1RhEyEG93LtxbQKxH4+7gQPdLAZRGLad5fzOMyYoxyXEZMi2XEtFhGTItlxLRYBmltQFkE3ofTSmYE/w20v3Y7H4dj7fECrorP42mu2rZhB23VvcDEnuEAh9n30MxC5/nz59+LF+A4aKaGAOT5wbxpO6M9X9jOedqyqVjntujxo21Tostrjxfheldnx3tuu91JxWHBQ15goqpQgCMfFpytuGfTpk3v0PtSkJ/zAZBbLL2QMyRiDIUYCjEtlkllWmyTmNZrk1hGTMervF49YfL99JbNpvrat6k5onsCXvsFPcDhpuBXofjhS5cuPdzW1nZKWvGAfhaGvJ+cMiPRCoBBj8t16tCOTUfoWAw4WAWz/UKoi0wUQmGGHJW4aUx8TVlZ2YP0DR9sz/kAyBG8HsgjQ7IUAOD2jvY1dDwMa0F8hjsk4HoWHO2FyVet+MqVK9+hh5Hl2YQyvQGQm/PJXQkXcKcCge9YcFrJDPFftOVDVJFWWdH2Z4Dy9PpjT92R/e9QH8EiPAwwGtI9oXxdHxzb8ItgP9z90ksvNZ45c+ZdOf8K0vQFC42sKJAzwNoYRfmkiWltOV4Xy4hp3p5psdgHMa3XD7GMmKbyALKrs/3dMx8faKQkLDgAB6MhrTflRww4fi3uV1999QWy4rq/FlSYi0GB3GLJxa4ntc9+r9d/5tjHL9BB2T2JCXA0PsiKP/nkk7Vnz559X1rx/ueVIQ9z8a+OJMsygYGmaHTAXVdnZ+f7x/bsqO0FfEC4cZbC+eDYDmutuimU7v7rX//63x6PR/dPAnbK1QDITcoQYq/fDSHwp5hjMR3I7b9d70+3Xj7XPdj6Yt1f266B6htou7a+3nW6c9lTf/Lwf9PuuJ0suidhPYqBAEdzUAEcecVN+cMf/nCMrPg2acUhTf9goYtOk5ncFT5RKII0B07rbedykcax1hfr/tp2DlTfQNu19dE6Rk4c9o5th3d+cIxW2T0Je3HJ1UQCOKy1Cjilu9etW/c8WXGuQ8YaBVTINflydXAK+H007+TUyedpb7begA9MDuhJRAo4W3H8erqXLFlS3dDQsEtacVJDJ0jIdYSJMhvW29nVuevAtvXVtCsDztY7LoCjSWzF4dgDctfatWufkSMqkEY/AHIzja5gLjMHTgcm9AfyOQ9lOM3bo43FOsS0Xj1iGaQHCtG2D/XxPmKa2yPmiWne3uP3+Zvqjj9D21y0gD0wGJH1pnIDXmSiDAIAD7rYfOihhw7Su8TflnNUFH10/zPTRafJbFZOMp9ojrETp/mEinm6lYbZEG192vLcDr042vZp69fuH247psR2tDS/XbVl/UHaj613RKMnLFEkLgqXZSuuXGzigA8//PDT9GByK/6MyKCvAEOuX0Ju0SoAprzd3a3VO9Y/TdsY7oh9b64vWsDZF8cBXZs3b75UWVn5Z3nByXLqxwHI5c0gfYWCt8B6Nzde+HPj6dN4VhDuCZiL2Pfm2qIBHPuIVlyB/Pbbb3+THmurlhecLKl+DH9cHULkYuyfI45kwX68j5jmfcU8Mc3b4x2LxxDTescRy4hpoTwezXN1dVVvfeuVN6kIwx219Ub1gwGcrbhysYkGrFq16jGXy+WTrgokDR8UyE00iZNPKIojHWngsnr7D7Q90uNEWi7a4w1QHgz5vF5f3ZEDj1ETADdfXEZtvdGFaAHHPgw4flGKFX/00UePHDt2bDW9kRbbZRhAAYYcWMslWAMDPcxgb768mm7qYL631nqDvajCYADHARhytuLOBx544NnLly83SlclMv0BuZFGV2ToU6CH4HY7nI37Nr/3LOXicTSt9e4rHGFqsICzL66Oi+/du7f5tddee5g+f+KRrkpk6pvplr4CObsbORwDKBpy9pyuqX74YkN9M60y3FGNe2uVHyzgqIchV604DRvuI9CfpRtA2uPIdR0FFMjlU1L0pQcvjZo0PHvggw37SCqt9QZrgwqxAg5XRbXilHbdcsstK+vr63fIG0CRnw+GPFf9cbpbaejqaNuxZfXylWCod+G7lmAsJYDjDOLgWPiCE788x4MPPvgb8sc/kf44qRFhCECeez45/O5up/OTqo3v/oakwuvOwBBcADDFfFFycCEWC85HRCMwfIJfHBrnpBtATa+//vqvyB/3Sn+cFIkw4Ja+URxCzHKfHGaZ/tJ76SmdX9FrIJpoVeGHYrDEw4KUHHyIB+BoJxrDrorSSHrVRNWePXuegz8uIY/8BCmQG7P/zQVgAn735aYLz+3fsq6KFBLhjunCUlQ7HoCjPoY8yFVZtGjRcpqQtdGtvLhSPKxMh1MgYMkBefZ65TRJ0NDZ1rpxy2vLl1NHta4JDCaYijnEC3A0hCHnURU02rF48eJ/oYvOvRLy6M6ViVwVoymepye64yeytI8sd1dH+94tb6z4FzDSu/CwYNzgRh/iqSAAF/1xNNhBX4nouPPOOx+iByRq5KQsSB55YMizyRXHiEm3vbNm99o3HnJ2dHSQGgBchBsMxcV6Q+lEOHtonNjAPILcW1dXt3P+/PkLPth/eGgePqclQ0QK4L3synvBs2BKMmYIuhz2c/s2rf1ZY33tJyRAFy0MONzbuFpvCJwIwFEvQhDo5It3d3Z27naYCm6mGXWFPNE9UFT+H04B/vhAgPHM9Mv9fvpglNPZfGjnpntOHzl0lvqrhTuulpv1TBTgogVX0wcOHOiix7j2Dx899is0HJYvIefTMHCc1/uFjUwckcL9EHphpv34gY/uq9nzUU0IuGG5AXjcQ6IAR0MZbI6VxjfV17UVlQw5OqR0xEKah2GRkEd+TlXIIW2GGHK86tjtcjnqjx74pwNb38dteNFyx228W0/FRAIuHhOQq6BfqD1+0WIp2Dds1KgFNCRmkz65KFX4tAp5Bvjk8LndDkfriQN7fn5g6waMdTPcGPNOONxQMtmAq6DTnasWn8e1s7R8wvVkyEv4xKFRMoRXQDUIiiGnz16n4b8eGud2d9kbqnd+cC+9bu0o9chOCwBnuHEzJyF+N9WrhmQBjgOyBVchv9xwobOro3XbqPGTrjVZLGV8MaW2TiZ0FQhATlKyqrolk78B49z0HsGT+zatua/uyMHT1AKAnXS40fNkAo7jITDgStx++aKz+cLZD8onTZ1NryEeA59c+uUBoQb6X4UcBdPAJ8dwJt5CRTMDD+xY88YvGs+caqCWad2SpFhu1i7ZgAfBTY1Q1umdz+7zp45uHXfFjCn0AstJeUYJOZ+ggWLVXUmxKcesQHqWkm6/t2zd+saKJW0Xmy5T2xlu3MjBDMGkwg3tkg04jonQD3S60vbVVh/cPmbyFGu+rXA2+eRkyGGWZBhIAdYpYMST75H30Bg3fcqlp62p4eWNry7/N3rVWju1WYQbF5RJhxu6pQpwHJsh5wsN+nit13+quupA4ZChNSVDh881mkw0wiKtOcQaKEAnCJrMoMwIpJESj6Orlaa8Ltv2v6++QeeQLybFO5QpgRtapBJwHJ8hR6yCfuFUzQX6U7d5RPn4K8kvL5cuC6QaOKiQJ8EfJ2/bgItJR3vbwb1b1v3iaOX2Q9RCWG223HBJxKHAZP/+FMHSBXDAzYsCPV18dp06eGBjecVkk7Ww6DPSZVHO14D/sbsyYMEYCuDOpNfj7mlpOL9yw6oXf996sQFvn4LFZri1k6diOFpsu6YacLSef9lsxVXQ6c+d79ShqoN05/NI0TByWYxwWWjAQPrmYc96nz7xNeWBhxRofNvpbDl7rPpX2/73f97qdUkYboxx88Vkwm6/h+28ZmM6AI4miZCLoCvp86eON9ibWzYPHVk+mlyWKXBZMC7WdyI1vZKrvdqwrLEJArAxSoJvgna0XNpctXntkqOVHx6mWtliA3DtDRwYqpQHkJJOAe3BXFr88PCmSist+OKqjZZCpK+55bYvVEy78pcFRcUT8eRL3zAZbZWhnwIAM5bAw3/dXfaz9SeO/vve99fsovrggjDUPATI011xwPj8smJpeO++6QY4mhUwzwHI8Zg5vrQKyBl0W0FJSfENt/39D0pHj73LYrVayXWR1pwE0guBGYjRMaeOkNBDtc1NDSs/XLP6FVdnJ0ZIYKmxAGz2tTFKwnO5ozsQ7ZjIkC4uiraPLBJiLLAK7NP5vG63t/bQvkMOR8emoWWjx9Fr0CZKt0UrYd96nyvHtkM/xhwudkfsra0fHtz6/j/v2/zuB6S5OPwH6y3CjfMT25+KvubGNZWOFlzsINrHLgtbc7bocFsUyz7vq9+6oXzK9PsKCgsraE6L4rb0nVSxutxOByx5aA3Yz/aRn+1yOOobT598dte6N7dTabbUbLUx9Mc3btjosEEKXXkKc9MdcJYGkDPo8M0BOfvnCuRms7lg7uJv31Q+ruJOa1HxVLzcEv65BJ0lDB0z2LiAJD/7VNOF+pcr1/5tE72uhMHmmMe1RV87La222NNMARxtZmsO0GHNGXQAzrAjtn5x0Te/VD556p0FxSVX4Y1RmIorQSdlhKCAjfFsL1lse+eRptOnXv7ovbd2UBGAjAVgcwyLDbD5jiTATlurTW1TQyYBzo1Gm3HtwKDDmrNFVwCndSW+5uavXzNu8oy7CocMuRpfVgi8hiF3hxcDLgpm/GFilMfg6OjYf+H08ZU0MrKXNGOwxVh0RwA1X0hSMjNCJgIOZdFuLKLbAovOQ4si6PlXz7959tipM28rKhm2wGzNL8TrGHLlopShxoQo3Fr3drsdXZ1tWxtO1byzf9v7uL0OiEWokYa15kX0szPCalPb1ZCpgHMHGHIGnV0XBp0tu2Lli4eNKPrc/C8vKC0v/0phybA5NI5uogldivuSbePpGAkB3JifjU+CODrbqlqamjYc2LZxq73tMm7QsHUG0Aw5Q83DfrDaGeOOMBRinOmAc1+0oPONInZfxFix9BOmXjVq+py5Nw8rG/kVmp47lV+XFvDVM8+NUS11H9R0S91xqq350oYTVZXvnzt15CKJxQAz3GKMbbDWbLEzGmwRDE5nQ8ygIwbksOhs1QE54NbG5qu+cMO0cZOmXW8bMvTqgsLiWQS7FW95hc+ersAHA+1XXmRJlrqbXqxz2NnRvv/CmZMfHtm1/ST1F9YY8ALmUDG2s8WGC5IVYFM/lJAtFpz7wzH6xbADdF4AuBZ4xaJTvrKtoLjYOuvaL80qGzPx8wVDSq622Yo/ZTSbLLhbqjwzqsxPp9JKCMiXqBGaAMQ4UMD1xU0Y8jsMmM2HJ9ZpLprH6bQfc3V07m9uPLvv8J4dh112O1wOhhpA88KA8za21myxldqpfFaFbAWcT5IIOvx00VcXrTtDznkcm4aWlRXOuGbeZ4aXjfm0xVYwMT/fOtFsLRhnwsMYyvCjUQG/76KVD62NtVIHoNWWUiAmoHFRCJAVX5pi+oKdk+zzBbe7+6zH6Trb2tz48fG9O6vbm5txVxGQsiXmmMFGzHmIGWjRvw7dGCqc6UGreqb3J1z70VcAzjFbddGVYbC1sVhW+aFUzPzMqNETJ1YUDyubaLUVVeRbrRNMFnOZyWguzAvAj9fToZ6AmwPLjxUKCk1EMltoir30OJOjhyD2+b0On8fb7O7uPtft7Kq3tzWf/eTs2fr6mmr40AylaH1FeEOlxbLsfnCstCeb/2PNs7mP2r6hz+ICeNmycwwwGWqGnde5jBgjjUWsN4/cHfPQ0lFF9PidzVpUWFRgK8KMSIPL2eXo7qLRuvZWZ3vLxS5yKwAmuwgcM8yI2eqKMdIMNEOMdbEM78t1ckzFciPkIuDimQ0CkjYwqByL8IuAY7u4jcujPqS5XkoGpbEuBhE4TrN1ZcC1wDK0DDWvc3mOuT6OxePmTDrXARdPNGvBcCLWgsvrDDEgRzmOOT9UXTgW5wM6BIZPuw5IkQeIxZjh5RjbxDTWsSBwHFjL0f9Z8BztfthuszaIwy0i1NpyOIBYj3hABlCMkdYuDLs2X1xHvViXQaMAi6/Jlqs6CrBeDDKKhcsTt+tUGQQmQ8rwYp9weXp1yvxeBfjkSEFiU0Cro3YdtWvzGFzxyNo87bpYVqYjUOD/AZrbm7Ts1rpFAAAAAElFTkSuQmCC',red:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAk/0lEQVR4Ae2dCZxUxZ3Hq8/pnhkGmOEQuQS5VCTxWHEDBlyNkciakMMkxujGuOvHO24IKCae0UQlKwmyroocoqtozGpA4oFiVAQU5IaRcchwDsPczNF39/5/b+bfVL/p7ume6bur+DyqXt31r2//5//q1XvPIJRLpgQMMVYeiDGfyhanBGKdgDirzYvsLLtIPguB0/lc7+vh5vNIvr68Oo8ige6EH6Vo3iSxjODrw1rcm2++2f+MM84YV1hYONRkMhUZjcY+OAKBgOZTXDGVLTYYDH0gNYpvIa/V5/O1+v3+FopvgY+D4tra29uP7N27d98VV1zRiOy6g06DcRyGr1wYCfCEhUnK2yiWiQYvSQG+8ac//all3rx5o/v16ze+oKBgnNlsxjGWQB5LgA5MhrToh1BL0Fd4vV4c+1wu176mpqYvHnnkkf0rVqzwUJt+OuQfALrBmh/hvHc8mfkuCBlmDei5c+fab7nllguLi4svttlsXyeYzyPgrJkgKPpBuQn4LU6n88PW1tZ1ixYt2vjoo486qG964PMe9nwGnKE2EhgG0tDWBx988HzS0BdbLJbpdEymeFsmAB1DH5wej2cTHR+Qhl937733biYN76ZyAFyGPoaqcitLvgEeAvX1119ve/jhhy8nLX211Wq9lKYWtnIuuFa3272WtPv/3nPPPW8tWbLESYPKS9jzAXCGGj60tfGLL764YPDgwT+x2+3fp/MyOnLZ1Tscjj/X1NS8OH78+E9poNDoslbPaTMmlwFnsDWoN23adNq4ceN+TBeIP6FVjbG5THSksdEKTQVdqL64b9++lyZPnlzVCboMe6SiWRufi4DLYJsqKyunkraeCxOELhJzcbxxw0cXqQGYMKTVHz399NM/pgp8dOQk6Lk04RiLpq3JNx04cOAbAwYMmEurH1PoXLkIEqDVmPV1dXWPjhw58l3KwqAz7BFKZU90LgAeBHvYsGHmjRs3/mtpaekcMkPOy55pSH9PyXzZ0tDQ8NiFF1646vDhw17qESDPetCzGXD0XYObwLYQ2FeVlZXNoRsvZ6Yfl+ztAd1Y2lNfXw/QXyHQ9TeTsm5g2Qp40BTZtWvX+aNHj15AGvv8rJN+BneYNPrm/fv3/2LixImbqZuy6ZLBve7atWwDXNPYNAzT0qVLS2fNmvUA7f+4gS4eAbxynRIwHN8ozDseFQZHTW9l4m/3BBa/8nnDfT97vKqBKmPQs2ZpMVsARz8ZbvPRo0ev6d+//yNkjiRlD0hvqUh3ecsrpwtD2+GEdcMfELUNbWLewNniBaqU7XNAnvGgZwPg6KMJx44dOybSstYf1coISSOKsy4tiJLa8ySPX6wvrxN3TLpX7KJaoM1xZDTkmfynPaixJ02aVEBX+PdOmDBhg4K754D2tqTFKKacPVhsOPEnce+kSQK/IjMdYChjFWWmdozhNq1evXrYtGnTltKNmq/3doLypXyyNLgsP49XfPhOpfjZzCcEbKGMtc0zEXBeITFXVFR8g5YAn1O2toxW9+FUAI5ewDY/UC9+PvrXAjeJ2DbH2nnGuEwyUYJae/r06bba2toH6O7a6wrujGGlS0eMBjFw1ADxetMT4oHpZ2lbi3GtlFEmS6Zo8CDca9asGT516tTltClK3WLvglRsEanS4HJvXF6x/v0vxHXfWigOUXzGmCyZADj6oK2S7N69ewrdtFlJWnuALDwVjk8C6QAcPSSTpa6iTvxwwm/EejrNiFWWdJsoDLeZdv3NHDNmzGoFd3wwZ1JuMlkGjBsoVlf9TsykfmGFBYorrUo0nYCjbQjAQjv/rhs+fPjLFLbToVwWS4Boto/sL14++ri4joZhoQNznDbO0tVwEG66K/nLIUOGPEW32/GLVy43JGAeUiKeqvsv8UsaTlohTwfgGtz0EIKV9iE/RjsAH1IPIuQG1SGjCAhDWaF4qHmBeGzwYIG3EaRFk6cacA3uGTNm2OnFNs/16dPn1hChqJOck0CJTdxaeY94bsZkzfxMOeSpvADQ4B44cGAB3cBZRg/8fi/nZjNDBpSuVZRow3d4xGsjHxT/VlsrXJSPlxGjFUlIWqo0uAY39dhaXl4+X8GdkLnLqkrsFvE90uTzwQAdKdPkqQCc4bZUV1fPpXeQ3JhVM6M6mzAJ9LGJG+v/IOZShSm78Ew24DCB0Ibl0KFD19Ozkr9JmLRURVkpgdIi8Zvqx8X1YIIOsJFUMzmZgKPj+FNkoQvK79CqyQIKK6ckIE4pEQsqHxbfIVGwJk8a5MkCnOE2b9++fRrdfl9CS4GAXTklATwiYRpVJp7bfb+YRuJI6h3PZAAOuFGv+a233hpPb5NaSeHkPGJCFSuXnRIgSGwTBomVb/2nGE8jAORgJuGaPFmAm+iB4KIpU6Ysp70lJdk5BarXyZaA0ShKLh4tls+6QBRRW/gLn3DAE10hfjDoaMHx48ef6Nu37w0UVi7FEsjEdfBoImh2iMX97hR3Up6Er5EnUoPjx4L6LHv27PmugjvalKo0WQJ97eKGLx8U3wU7dIChhCneRAHOcJtXrVo1dtSoUQvlAaiwkkB3EqAngxauuk2MpXwJtccTCbj5kksuKaLHzZYpu7u76VTpegnAHr9svFh2yQTNHgfkCdHiiagEPxLN7qbnKOeXlJSoO5X62UvxebbZ4LJ4yB5/muzx2RSXEHu8txo8aJps2bLlYtodqOCWZ0uF45YA7T68cfu94mIqmBBTpbeAa9qbzJIiWu+eTy9Wj3tAqoCSgCwBIETr4/OnjwsuHfaK0d4UZu1tef7552+nF/OMkzuqwkoCPZWA1SzGvXS9uI3K93pVpaeAM9zmF154YdSgQYPwaJJySgIJk8DgvmL2C/8hRlGFvTJVegM4Liwt9HTO78k0KUzYyFRFSgIkATJVCq88S/yOgr3akNUTwFl7W3bu3IlvTH5LzYiSQDIk0KdAXEEbsi7vhBysgr24XE8ARxnzlVdeWUw3dB6LqzWVWUkgTgmMHSgeu3Ky9oFeNlXiqiFewFl7m5988slb6XPXI+NqTWVWEohTAhaTGPnMLIGH0xnwuLR4vIAjv4k+gV1Cr3u4Kc6+quxKAj2SwIA+4qbrpwjsSsV1X1zMxpOZtbdl3rx5P6cX0Zf1qLeqkJJAnBIwmUTZ/TPFz6lY3MuG8QCOvGbc1DnllFNujrOPKruSQK8kQG/Kuple0Yx942yqxFRfrICz9jY/88wz15DtfUpMtatMSgIJkoDZJE5Z9mNxDVXHgMdki8cKOPKZ6Fs59lNPPRV3mJRTEki5BIb0FbdNOj2+N2TFAjhrb8vKlSuvIu09IuUjUw0qCZAErBYx4i/XiasoGLMtHgvgmvYeOnSolY47lKSVBNIpgWH9xR0lJcG7m93y210GaG8c5ldfffVfaEPVmHQOTrWtJEAbsca8f7O4BEzSwXxGFEwsgGPt0Ux3LX+ktsNGlKNKSJEEsJ121CDxIzBJB9gE5BFdd4Aj3XT11VfTM8R9Z0SsRSUoCaRQAn0LxIyrvyb6UpMAPCrD0RLxy0C6ee7cud+m5yzV50VIGMqlXwL0/Kb9nsvEt6kn3S4ZRgMcaRrg9P2cHyjzJP0Tq3rQIQGYKSP6iR/QGQMekeNICdDeOExPPPHEiMLCwq91VK3+VxLIDAkUWcXXnrhaYMma7XDw2sVFA1zT3jNnzryKtHekfF0qVBFKAqmQABFpnDUxRIvHDbi2ekKPo30/FR1WbSgJxCuBwcVBwFmLd6kinGbGLwHxphUrVoynte+xXUqpiIyWQKBoWEb3L1GdozXxsS/9u/Z2Wl5N6aLFYaTrXRDwr371q9PUxaVePJl/3nzef4uaN28S7hNHunQ2EOgSRa/r1rkuEXild1enr6unecJVHktd9OlwaOJp1LPddEApg92QotEANw8YMGCqApwktmen8K9cIURTI8kv810BdXGI72JR73LR9+ND5jvzOx9nD80u11QhVj1DxRjwkBr0gOMXoGnwoqIiM72p6sKQ3Hl64nv0fhGoPZ5Vo8ff7P5+v2jw+Eil5S7kfQKBC8FqW1sbAx6ixRGpd4gzLVu2bKLJZCrVJ+bjebbBzXNkoTsipfRQo0HTWRybWz7BWvqHkYMn0qjYDg8ZoB5w1uCmM8888yJlnoTIKitPGHIj3R3hyc0lHwCPLbRdRB4A56EF5yoc4Igzkf09RQEelFNWBwB5f3okJhfnE2MqNZumgFk6wC4gDzoZcKbfRLfmrWR/Tw7mUoGsl0Ao5DzVueEXmUyThxcW8heUeVDanMmAIwLnxoULF55Nv4w+Wg71X85IgCE3AoEccjScPr8ZderZNCSNX3lo8ioKk28aNmzYhFz8cyYPPF/DHZAbRKPXmzNrK6B6qM0ygbxP6WCOtaUjWYNzgpH2fo/JVwDyYdxmUuH9zWZN3eXKePuYjGAWPDPH2tD0GhwZTLR7cIzS4Jp8cvY/QN6PIG/KAU0OVouMxtPBLh0MuTZ3rMFBPRzOjQT4aO1M/ZfTEmDIc8Emt5s0wDV+OydNY5oBR5ym2ktLS802m21kTs+sGlxQAoC8r4nMFZp9DQAGIct8m9EwstRuh0XCw9DGqAfceP/992MrGrYzKJcnEjgJOdjIUhcQBbcPHQx2wXRwIGyDM/XGs846S22PzdI57k23AXkJmbAnfNm5dwUAn1mkbe3+ohNwRAVYgwcBHzhwoLrA7A0pWVxWg5xe5Wo8qQCzZjQAuNRs7rKSwhocAwHsRrvdPhwnyuWnBAB5H9LkLZomzy4ZFJmNYFfjmHuu1+AGevdgMScqPz8loEGuafLsGr/ZYAC7bI3A1x6751EgwkhbZIvVGjiLJH99QF5Mmrw1SzQ5mKVFcAAOpa3BjdnjkyD1BDheMq6ckoDQNDntQsQSYjY4ghzsBllGWLbBMQaDAhxiUI4lYCLNWEzmiqbJM/zBIKvByIBz9zUNzica+QpwFofyWQIMObGe0c4kAgx4sKeswYMRCvCMnsO0dY4hb/P5M/YZT7NJ0+AsI41pXkVBJCKUicLiUX4XCQDyIhNWyYP6sEuedEZE0+DcLwU4S0L5YSXAkLdrmjxslrRFGmOxwal3bLakraOq4cyWACAv1DR5ZvWTVlHArmaJcM/YRAn+zfF6ve2cqHwlgUgSYMi7rDNTASYs1b7PH5DZ1Zjm/gXH4fP52oInKqAkEEUCgJz2YWeMRU6Xv3p2NZWO1c3gCqfS4FFmVCV1kQBD7qS3aKX7LXE+v1/W4BrXbKJwxwNKg7MolB+rBAC5jd69Ql5anS8goMGDyhqdkS8otQQFeFrnKGsb1zQ5Qa5p8jSNwm8ImihByMNq8EC6/9akSUCq2d5JAK+H0zR576rpUWkwSyuXETW4Zq9QzQFlg/dIvqpQpwQYche9vDvVb7X1BgRs8CDL6JKswbUEAry1s6/KUxLokQQAeQFtQUz1HU96FzrYZcC1vss2uBbhcDgaoO7VnvAeza0q1CmBDsiFcPlTIxJQ7aTXoetbYw3O1PsbGxv/oc+kzpUEeiKBk5q8J6XjL9Pk9YBd/KSYZ81EwQmcFllRUbFfXWR2CET933sJAHKrZq4k9w4nelrldOwnLwg3wqzBka4lvPbaawpwSEO5hEkgCHkS18kB72v1zXrAg+vgTL3/7bffbnG5XLVms3lgwkaoKsp7CQByC0nBo+nRxIvD7ffXrjve1EI1dzFR0FoQcGRobW2tUmYKxKJcIiWgQU6gJ1qRg9U2X6CK+gq4wwKOcQByLUN7e/s/EKGckkCiJQDI6fUOCd9x2O7zgVkZcK3rbIPLGtyHlRSlwRM9tao+loAMOcf1xge8TT4vAPfREaLB5XXwIOTHjh3b35sGVVklge4kAMhhqngTsC0E9dR6fGA2BG70IZwG97/xxhs7aNMVgFdOSSBpEsDNxA5zpXdWuY/MjVW1zTuoowA8BHIGHIMA0Ej00Udga5ubmyuVmQKxKJdMCQByE/ENfd6Tf6C2xR+ofPFITS31UzZRtG7rAWfIvfX19ZsU4MmcWlU3SyAIeQ8UOYCt93g3keelI0R7o34ZcJxrGpx8X2Vl5UYFOESiXCokAMgBI3lxHTDkqxyujVQU2ps1eLDLMuD4MbAG9y1ZsmSTn1wwpwooCSRZAgx5PM3Qg3L+JTX10OAMN3OsVRMOcO2XsGrVqkayw8uVFo9H3CpvbyXAkMNa6e7AQ6DNXl/5W8fqGyk7a/CIgKNvrMFhz3hpufBTBTjEolwqJQDIAXd3DrDWuj34+KvGK/lsgweLyhockQw4fg1essM3KMCDslKBFEqAIY+mxdGdynbPBvIAuGyiIElz8o0eRLB6xy/Bu2DBgk8vvfRSZ1FRkU3Lnaf/VRaVCM/xmpwffSRlBijCuUjxyBsxLUJCpMfbkB39AvD6/jn8fufjh46wBmftHdJCOMCRUbNnPvnkk5bq6uoPRo8efbmRnphOhGvbWiGO/c9fhaeuORHVpaQOt+8rwlmCb7uHyC6k7UgpUctEKBStTEijnSf6iZfzRGhCyxJvO3K96Q7T42mi2nnig21N5dhByPY3Qx7snh5wJEAmmgYn37Nt27a/nnbaaQkDfP+dTwp3dT3aySrn9HtEu9+r2YYQUCw2IgbIeRk0lOO4cOmIk12q88ttI8x9jdR/fX79eXfl9en68pHG7w34xW5nzV8pv4cOeQ08pIpwahltMuDeW2+99SPaPlsfTUuE1NjNSTbCjSEVGS2i0NihD2KFG+U4L3w5jDQ4OY7zyL6cRw7LeeSwnEcOy3nksJwHYb1DXjguw2EtMob/uiuvT+d22Ne3h3iw6Az46he37PyITiNeYKJsNMCh9j20s9Bx+PDhvyUKcDSarQ6Q2wnyaNf4nMa3nTFWjsuEcXNfYu1fsvP3RCbQwLU+598a3W4HBaHBw15gou5wgCMeGpy1uGft2rVv0OskEJ/3DpDbjCYNWoZE9iEghkIOy3nSGZb7JIcj9UnOI4cTlT9SPdHiAeZ2Z93r5MnmCaK7uEiA40eCXwWo9sydO3dXU1PTl0qLd8iPIe84U/+nUgJgsC3g+XJJ8+7d1C4DDlbBbBcX7iITmZCZIUclbloTX1VWVnYnfcMH6XnvADmcKwDZKpcqCUBN13jbVpHnpoPNE+a1SzciaXBkRF1BLb58+fI36GFkVKhcpwQ0Td7lS4xKPMmUgFv4PG+3HXmD2pC1d1jzBP2IBjh+FSgIM8W9dOnS6qqqqjfV/iuShuSwsmJTkEsSSV4Qa9+1Pseb77ZWVVMr0OBgE4yC1bAuVsA1M+XFF19cTFo84q8lbAt5EKkgT80kuwMB/7q2I4upNTZPegU4eh2ixefPn1958ODBd5QW7zqhDHm0q3+V1nMJkPIW9f72d149UVHZCXi3cGOWomlwpENbB80UCrteeeWVZz0eT8Q/CSiUr64DciwhnnQcjnbjArk5PV6fy3KL+va6q6+35fX1d1dfd+n6+vjcL/yBjx3Vz1J5Fx2yeRLVougOcPQHFeBiUzNTfvvb3+4lLf53pcUhmq4ON4IKDB2QY3Lg2JfDPHFyHMLxOq67p/X1try+v93V1126vj6cd9jezr+vaCrfS6dsnoDJqHCjbCyAQ1sHAaewa82aNc+QFkd55cJIQA85w5cKH91hiORwKtpOVhs+4nij89gzNB7W3oAPTHZrScQKOGtx/Hpcc+bM2X706NENSouTNCI4QG4lTZ5qx3AzbGif41Ldl0S0B+1d73dtWNy4ezvVx4Cz9k4I4Ogna3EY9oDcuXr16oVqRQWiiexOavKTiOEyC44vtzisRXbGcxznicfnsrHWp8/P5SL5+v531zd9/fry3aV7aOVkk+P4QsrnpAPsgcGYtDfli8lEQT4ADi3OgLtmz569jd4l/rraowLxRHY2TZPjY6kd/5CTJ1kOR0qPXHP4FK471vr0+blcJF/uc/gehMbq69eXj5buoy2xR31trz/duGMblWPtHdPqCfciFhOF87IW1y420eBdd921gB5MblR7VFhE4X2GPHyqig0ngY49J97GxU27FlA6wx2z7c11xgs42+Jo0Pnee+/Vbtq06U/qgpPFGdkH5FhdUS42CeD5qb2exj997qzFG6tgnoC5mG1vbiUewFFG1uIa5LNmzXqNHmvbri44WaSR/QLaZstLiJyLrXP4sRwox2XkMJeV4+Qwpyfal9uQw5HakfPIYTk/tHej37X9vuMbX6M8DHfc2hv19wRw1uLaxSY6sGLFikecTifegYg6lYsiAUCO1RWeUGRFOFbHeSOV7y491nZizRdve93lB0Nu+qD8O22HH6E+AG6+uIxbe2MM8QKOMgw4flGaFn/ooYd27927dyW9kRbpynUjgSDkeP+HOkJkEKBfwCF/68oXmvdgv7dee4O9uFxPAEcDDDlrcccdd9yxqK6urlqZKrHJH5BbeqRfYqs/G3NhzftEwF39ZNPORdR/PI6m195xD6ungLMtzsuGzs8++6z+pZdeuos+f0JLl8pUiWUmGHL82c73A69hcwm/5/3WQ3eVOxrw2gWGO651b73cewo46mHIg1qclg23EOiL6AaQvh11HkECgNysNDltdPKLfe6GRU837d5CotJr7x5rzN4CDlMlqMUp7Lz88suXHzhw4CN1AygC0WGi8x1y3NCp8To++lXN+uVgqPPgu5ZgLC2AY6rQOA6+4MQvr/3OO++8j+zxGmWPkzRidJq5YuiNvomxoQzLBru72e+pWdS46z7qWjsdYAgmAJhivijYM5cIiaITWD7BLw6dc9ANoGMvv/zy3WSP0zeGevzjo6ryy2H50EKQR7pNnmvx0MvugN/7vuPw3Vucx47RbGv8kA+WeFmwVxAkAnAQjM6wqaJ1kl41sfnTTz99Cva4gjz2OQLk+DBTrjswAbt7r6fhqacbdm6m8cpw9+rCUpZdIgBHfQx5iKkyY8aMJbQh6123Gz9I5WKVwElNnrurK16C+4i39d05NeuXkFz0pgkUZkL+9CcKcMwdQw6acaGATrfPnDnz13TR+ZmCnKQRh4OpYs5Rm9yjXVS2f3ZX3YZfk0g0TsjnZcGEwQ1xJxpw2R7XIKevRJy49tprZ9MDEuVqUxZEHrtjyHNpjRwrJvU+R/nDjZtn13scJ0gaAFyGGwwlRHtD0snY3obOyR00EOTe/fv3r582bdr0pmXv9MVXbpWLTQImklWHQGWRxlY203IB7kaf69CC5p037XDU4osCbXQw4DBvE6q9Mf5kAI564UJAJ1vc1dLSsnFUZctltKOuUEHeIaRY/gfkcBBotq6k+KnzJwKe+mUnym9c13roIA1FD3dCNTfkBZcswGV1Ewxv3bq1rcBk+Xycpd836c+vVUHeMQmx/M+yCgozlkIZkoe2mYrWgKf19ROVt/y55cty6pYebmhuAJ5wlyzA0VGeC/a1zm9z1jaVme17hluKL6HVAgtPXMJHloMVsqxCBJrh4+yA292+tv3Ifz7btAu34WW4E7beHUkMyQRcbhNzEpyXTY5jx+kJly2jrSXTSZPbeeLkAiocXgIsq6Aww2fLiFjY3Cf8nsbX2/bf9mzjLqx1M9xY80463BBCqgEPgr7VWdvQbvCuH28tnUo2eR+eOHRKuegSCMqKTHOY55l44F0mDQHn0eXNX9z8yomKPTSiVjoAOMONmzlJsbup3qBLFeBokJVOEPJyV2PLUW/738+2DbjAZjCV8cVUsHcqEFECgDwoyIi50pOAde46n6NiYePuW9a2HfgH9QJgpxxujD6VgKM9OJ4XzT/gOeHY7W5Yd65t0CS70TRE24nRuWrQkV39H0kCDHmmrK1gZnH7/ZjXsfWRhs23b3HUHKW+682SlGhullmqAQ+Bmzqhndd6He5PHDUfTC48ZXShwXyagpynp3ufzRUIMp0OuwLpWUq6/d72wd21G+fsdzfVUX8YbtzIwQ7BlMINeaQacLQJ1wX0Fr/b9zfnwQ/PKxhUUGKyTjIJo4Enr6OI+j+SBGQ5YcU81Qfgdga8gQpP0/O/qP/4d41eB77yK8ONC8qUww15pQtwtM2Q84VGwEsbyN9srdo60FRYPsRin2wxmOzYS4AHc5WLLoGT5kr0fIlMxY5AvL+k2e9ufK/98Lz7aje9SnPIF5PyHcq0wI2xphNwtM+Qww+CvsFRfaTa2/beuILSM+0G0ynKZIGounephJxNkhpf+7aFjTtvp5WSHdRDaG3W3DBJ5KVAzHHKXaYADrj50KCv8rS0rXFUvXtOwSBTX5P1K8pkiY0NNleSSRNu3sAkKfc0L7+j9sMH97ua8fYpaGyGW795KrbOJyFXugHHkHgu4DPkmjanP3e+Na1V2waa7buHmAsn0/ZRu7YXQ5ksUVE4adIlducKcU0mCW7euBvWOo7c/UDtxr90miQMN9a4+WIyabffow5el5gJgKNLMuQy6Fp4g+PY0cNksoyylgymz4SM7nioS9nmurkMOT0JeUh0j05ga/toiuj78OKQr/W9RY3b57x64stdVBlrbACuv4EDJZV2l2lXb+gPrivxw8OXVgvosNFhp6MQ4TvKzvnni+yn/rLUaB2BJ1/4TzKlKRdGArCVe+PY1m70uw9+7Kz+wx/rt26g+mCCMNS8BMjbXbW/vr1pM5FlMw1wjA19wgHI8SVmKx2AnEG39zfbiu8vu+CasdZ+19HHWAvM2ESqzBYSUXgHDRwv5rxC0ub3uCrI1n6w/tMXGr1OrJBAU+MA2GxrY5WE93LH2xQVTZ7LFBNFP0IWEnwc0Aps0/mcfq/3rbYDO+r9zrUjLMVDaePWCGW26EV48px//Kw5ovl4wxSbI/Ty+Y+fa97zq0WNO9aRzOXlP2hvGW7MT0aYJCdH3RHCWDPZoX9ssrA2Z40Os0XT7HMGnP/1C2yDbulrtI7E64nx7lae1EweXKr7Bq0cybGd7SI7m9a1D3zmqln0WN3nH1J+1tSstbH0xzduWOlErjhSgymKz3TAWQyAnEGHbQ7I2T7XIDebzba7+p1z6STbgGv7GwvGKNBZdNF9GWx6J/eXO5x1z/++aetaejMZg80+r2vLtnZGam15xNkCOPrM2hygQ5sz6ACcYYdf8Kuy8y86zz7g2jKj7SwFOkkkjJPBJlNv9xZH3fOP12/+iLICZBwAm31obIDNdyQBdsZqbepb0GUT4Nxp9BnXDgw6tDlrdA1wOtf828rO+afJtkHXDTLZz7XiNQxUBIXz1XwB1KASa9n0Rilx3Of4fJPz+PKF9Vs/o2gGW/ZlcwRQ84UkBbPDZSPgkKzGKfmy2QKNzkuLMujWG0rPmnRhwZBvDzbbp9sN5kLAni8XpQy1n9AG1I6At51edPnBRlf1G4sbduP2OiCWoUYY2poP2c7OCq1NfQ+6bAWcB4D+A3IGnU0XBp01u6blh5qLi27od8b0Mdb+3xxosp9PoJvwch3Anmvr6Vi/BtRegprA9tX6HJu/dDe+vbhp7wf0RincoGHtDKAZcoaal/2gtbPGHKG+dnHZDjgPSA86TBi20dmEYV/T9FMKTx00q3j0ZSOsfb5ZYrCO0UyYLNbssqbuhBpfS/jyoLvl7f9r3f/O+vajx0kmDDDDLftIg7ZmjZ3VYNM4NJcrgMvjgTbHuAA5NDprdQDO0Mu++Yf9xo2dXDB4Kmn1c/uZCibShWkBPi+CR+gy1ZSRgcbmJzxJQ0t8riafaxdp6883uWo+Xtm0r4LGDG0MeAFzOB/prLFhguQE2DQOzeUa4PK4WKsDdD4Ath54TaNTvJbWz2wr+FHfsRMnWErPG2iyndvfVHAGwW7BBSqA7/jX0QwLL1kXrYAYjg1f+LhMBNC4UCSoPfSmqL21Pufn5Z6GLS83V+xq8jphcjDUAJoPBpzTWFuzxu6ongrkkuM5yqUxyWPB+Bh0va0ua3eGnOPYNw21FRX+oHDcV06zlpxdQvtfCg2mEYVGy1CrMNpZw7Mvwy93AmG9oBlafT6GGPYzQGbfLfyOdr/nSHvAd5B28x2scp/Y+Wr7vu1HnG24qwhIWROzz2DD5zj4DLRsX0fqDmXPbqeXe3aPJnrvGXT2WavLpgyDrfflvNoP5eLiYYMmWctGDjEVj+hrtowsMliG01cayugppEK6k2qnbWCFlNGMxhh81vRsXkAbgywizUuvWWinW+QOT8DX7vL76tsCnkPNXs+Bal/rwR3u+gPrWg/DhmYoZe0rwxsuLOdl84P96BLLgdR8Apynq4O5DqWKMOAFtLIPwBlqhp3P9Xk14DvrCKmbzB3zSGtx0RBjob2fuaCoj8GKHZGiJeBub/K62qr97Y4D7tY2MisAZofyPukzzPBZ68o+wgw0Q4xzOQ+X1ddN2fLD5SPg8syGAEkJMqx6kGXA9WlcDvUhzPWiLTmMc9kxeIjjMGtXBlwPLEPLUPM552ef62NfbjdvwhC+ch0SYFkwkPD14PI5QwzokY99jg9XF1rheEAHx/DpzwEp4gCx7DO87CNNDuMcBxz7HWd5+j8LPE+HH3XYLBv40Q4Zan0+NCDXIzfIAMo+wvqDYdfHy+eoF+fK6STAwtdFq9MIEmB5McjIFi1OTo9QZQiYDCnDizLR4iLVqeI7JcCTowTSOwno5ag/R+36OAZXblkfpz+X86pwDBL4fwN/IZwMBwH5AAAAAElFTkSuQmCC',yellow:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAC4CAYAAAChOH1KAAAlaElEQVR4Ae2dCZhUxbXHTy+zL8ywDDsSVhEVJQoCkoSIIr4kvohLxO2ZfC8an0mQrCQm+uJ7qHkv5hE/xSQaNokBogkxigaUuLDIpsiOMA4MOwyz7zPd7/yLOZfqnu7p7umeXut83+2qW7du3apTv3v63Lr31rWRkUhowOZViPc6Nutpbq/8WPVO8173sYtJ6kgDusI7yme2nYdTdIZQj0NH1vrgwYNtc+bMyb344otzCgsL87KysnLT0tKym5ub6+rr62vKy8urd+7cWfv444/XlJSUAGSB2VfoKw3HM9KBBqQzOsiSspsEXgmhCMTtDGT2TTfdNDwvL28kQzvC6XSOcDgcQ2w2Wzfenme323M5nuN2uwPql/O5OF+dy+Wq4X2rOV7Z2tpa3NLSsp9Pgv3V1dX7XnnllU/4RKnj7S5edNARl4WjRnQNBFS+njnJ4wKxHtp37NgxpG/fvlPY6l7CAI/kZTgv/YMBN1L64hPAzcAf5eUTXvax9d9x/PjxtZdcckkxH0OAF8gljNThE7acVIdbQLZzDyJuX7du3YChQ4dOycnJ+QJb5M+zFR4Qr73L1v4IW/h3amtr/3nw4MG1kyZNOsJ1FdglBOwpKakItwfQTz31VN4dd9wxnd2LL7J1/hzDPCxRSWDYD7BVf5fdmbeXLl26avbs2dXcFsCdkqCnCtwCNEL7gAEDnBs2bPh8QUHBnenp6TdyWi4vySY1TU1NKysqKl6cMGHCO0eOHGnhBuqQJ71FT3a4FczcqQgdu3btGtWvX787MzMzv8YWun+y0eyvPWzRjzY0NPzp2LFjL44ePXoP52vlRbfo/nZN6PRkhdvyoX/7299245GNe9iHvoMvBC9P6N6KQOX5gvRD9tGX8gjMovvuu6+SixRrjjCpJJngRluwAGz78uXLu0+dOvXbDPW3eL2QFyOeGihnyOevWbPm6VtvvfUsbwLcAnpSuCzJALcH1KtXr+4zduzYWbm5uf/OnZWMvrQnouGv1bD8ftu2bf937bXXnmgDPCkgT3S4lZXmDrGvX79+0EUXXTSbRz3u5fXM8Ps85Upo4FGWBbt3735q4sSJh7n1YskRJqQkKtyoN8B2vPzyyz2uueaaX2RnZ9/NN1bSE7IX4qjSfMOoqa6ubvFbb7318xkzZpRx1XDxKZY8jmoauCqJBjfqi8WB4bzNmzf/W/fu3R/j9R6Bm5o6OWyuErK1fMiKwuhfJ8VNZWUVtT/77MTHFrYNI8oIS8L444kEt7ggju3bt182bNiweXwHcXwnuy5pdwPYzrofMdiR8SaaW9wffFLc+N3RE/7xEStNrHhkCu/iXkgEuFFHBfb8+fMLb7vttkf4YvGb7II4u1g3CVm8vXEpORtfiGzdbbaWmpqW3724ou4/v/WDj8u5cMAd965KvMMt1tp56NCh24qKip7gmy99IttzyVWao3ERYekKcbnpxKmy5h/3HbVpGZcvdzzj1ooDnngUnHQOLI8++mhBZWXlC3369FlowI5tV9lt1KdPz7SFdaUTXnj00REF0kccxqWRjMdKWWBv2rTpUn7YfwnfWRwZ225NnKN3peXWtdDion0799TedfkXPvqY0+GLywWnni2m8Xiz3KgPLLbz6NGj3xgzZsw7BuyY8uH34E47jRxzUc47J/eN/wb6ixf0W1zxFC+VEWvtnDt3biE/ybagZ8+ez7CysngxEqcasNkoq6i785m6w1ctmDt3GB5xEMjjwiOIh0qgDjjJMG49hp9ae5Gt9fA47c+4r1a03BJvRbS43J/s3FN3R5ubIhebMR0Tj7XlFoudtm/fvmsuvfTSNQZsb2wSY91ptw0fMzrnrYObr7iGa5zGC9yUmBrPWMItYGOY7xZ+W/wvrIw8XowkqAa4Q/M+MzjjL0d2jL+FmxBzFyVWcOO4OLPT+AH6b/ELuAs5bp4LYSUkujDg6f37Ohee3ncVHjUWCx4TzmJxUAE7/eTJk4/06NHjKb7bGIt6JDpH8Vt/N9l7dnc8dfaTcY9wJWG0YjKSEm2oFNh80ZhRVlb2NL/D+KP47SFTs3A1UFiQ9qOakglPjx7dKyMWgEcTbgX2+PHjs3j6hCX8fMjXw1We2T/+NZCTY//65jeGLRk/vjuGdaNqwaN1NavA5salnz179jl+9evO+O+WxKxhrIYCA2mrtq71xdwLNt7P+Zp4kacLA+0W1vZoWG4BO4197McM2GH1V8LunJPtuLP84FWPcQOidpHZ1XCjfCxppaWl32Ef+6GE7R1T8bA1UJDveOjUnvHfAQ+8CBthl+uvgK6EGy6PAru4uPj23r17z/VXCZOeOhro1cs5t3T7uNu5xQJ4l7nGXQU3KqzGsfmF0+v79+8/P5oTR6YOKgnYUjfZ+vdLm7/vg7HXtwEOTroE8K6AWyy2kx9ZHTdkyJAlbY1IwJ4wVe4KDTAgacMHZy3Z9vbl47h83MkEhxEHvCvgRpnOefPmFfF49lLMU83rRowGPDRgs1POpRdlLZ33xJAi3iCAe+QJdyXSZ4sCmyuVwY+truA5RKaFW0Gzf2gaiNehQH+tqKt3vZkzaAOeRWnkRZ4m9Jc9pPRIWm6cKMrPPnz48HcN2CH1Q8pmzs6yTzux+8rvsgJkiDBiBjdScAvY8LOv4hd58UyBEaOBoDRQ1DPtEfa/r+LMEX2SMFJwoxzHE0880Yv97AXsZ6OSRowGgtIAeLl0VNaCJx4d0ot3wL9/RLiMxF8AKgKY4WcvY3dkOseNxEgDieZz62qqq29dlTNo422cFhH/O9wzBCeHgptfOHjAgK13lYmHqoHsLMf0ozvHPcD7yehJWMY3HLgtsBcvXnwB34F8ONTGmPxGA94a6FuU9vDiZy6+gNPDBjxcuNXoyA033PA4+01mLmzvnjLrIWuA36jP/dcb8h7nHcMePeks3JbV3rp167X8sVF8NMmI0UBENJCXa7/xo3fGXsuFhWW9Ows39nNed911uRdeeOEvI9IiU4jRgKaBi0Zk/vK663rDGxDAta3BRTsDt2W1n3/++Vk8jfDQ4A5lchkNBK+BNKdt6OJfD5rFewjcIV9chgq3BTZ/UGkY36wxz2cH318mZ4ga4Js7Dy1fMHpYZwHvDNzqIpI/1fEkX0Sab8+E2GEme/AasNltmdO/kP8k79Gpi8tQ4Las9rvvvjuBXxe7LvhqmpxGA53TQE6O7bp1r4+RW/PgNWj3JFS4ldXmW+zfY6vdudqavYwGQtAAOONb89/nXUK23sHCbVnt119//TKelmFqCPUzWY0GwtJAbq596j9eueQyLiSki8tQ4IbVdl555ZWzOTRmO6zuMjuHpgGbbfxlOeAOcIPDoPgLBm7LavM3H0fl5+d/KbSKmdxGA+FrID/P/qWXXxw1iksK2noHC7ey2pMnT8bQXzD7hN8aU4LRgIcGbPYpV3UDf0Fb70CgitV2LFq0aAhb7RkexzMrRgNR1ADPezJj0fyLhvAhYWzBbofuSbBwO6dOnfogX7miUCNGAzHRAA+cOP5lSt6DfPCgXJNg4HawO5LDs0XdFJMWmYMaDWgaKChw3DR5ck/MqBDwwrIjuMUlwTQN0/lzHvjuoBGjgZhqwG6ngmfnDsTbXgGtd0dwY5u6kBwwYMCt5qZNTPvUHLxNA+BwYP/0W3lVLiz9MuxvA6w2FsecOXN68fPaX2wr2wRGAzHXQF6O44tzZlsvEwur7erVEdzY5rz77rtv5s9S49anEaOBuNCA3W5L+/rt3W/mynTomnQEt3JJ+JvrmA3IiNFAXGmgX1FawC+m+YJbzLxjyZIlI/mNdtzTN2I0EFcayMqyXfbS7y4cyZWSURNw6yH+4MYOjokTJ95iLiQ99BX3K271Tx331Qy7guBy0vg8WG/FKoft4IbP4i3IpPztwsLCz3tvNOvxrYEW23iqKPs9VxKfnUlc4fncPSrvtUpYb2lygU+/frc33JZLcs899xSwS3KpxxFSdMVWv4dsle+Qzd0c9xqAGevm/AJVVBSTy+ViCDwhQQN8JLVLc1P7/bz39VXOuTye+/rK5zvNcz+U1ZG4XO5Lb5teWbBs1QHMUCXsWoV4w42yYLUd99133yQ2/dBVSoutbhc5997MmkscS4hOK2hxU1mlb7h9daj3f7r3uq99Yp3GJ67jnqktk5atopVcF3Dr0UnecKNNCu5+/fpNNv42m4PyN8jWdDTW/Rjy8TF22yPLTWeriFyWLQu5mLjeAbD26eaezMHfeQG3SLJaiwRdsK7g5icAJ+kbUjVuc+OziYkpPD0Cdc/nDk0EM9xJFedn2ybyrvizEnatknS4oQIsjlmzZvXMzs6+0MplIgmrAQHcwT0tHZxMYXaGe9QDX03vCW55kaap/vIFt33mzJlXt2VUmcxPYmsAgBfmsWkD4Nz9SbbYvnq1G7yC5Q7hRgYH35W82vjbiQ20d+11wL23JfI6OO1TSIBbXBMArsTbciu4eU4Sc1dSNJREoQKcZ9+DBY+U4F8AIv8GEleJUfrJyiTw2g5uGS0R2hXcPL79mSjVyxwmyhpwwkXJdVNFTeRGUQRwNEXiEkajedkZBF4FblUN/nHr5zDi9p/85Cd92NSzh2YkWTUAwAtgwcWkJXhD+UTKm3VLWh9uhmJYmiNwo5lY7Pw8yXDZaMLk1YAArkZRuOdhaRN5mXSxDdyCZ2FZrUgPKrj55s1QczEpKknuEIB347cRYcGFiEQMUf++3V1DubcEbtVx7Sw3v3UzLLm71LRO14AADqudyJKbaQO3ArdqjQ434naeB3CIsdyJ3M2h110Aj+QoSui16Pwe4DUnm4ZwCYphDhXcGC2Rcxahg0dKkMlIimkAgOdnu6mqzvdTg/Gujqx0G7jFiInFM0iHIME+atSo9MzMzAEqxfyknAbOAc4gMBWJdnGZke4eMOozmengmBcFuA63bdq0aYV4jDDletU02NIAAM/LOge3lZgYEceUMa2FXFWAbcEtKzaen4RHP42kugYE8M6Mg8uFqVh+6FLSfOlVtnU2v+yHcFCRG/xaPOt3KG29evUyN2989UAKpgHwXH4evKZee0A6SD0IsMgucQl9FaFvk7iEgfLr27vnucGvwK38E9lu42FAY7lFGyYkZcGz2YkFLgkg+TkOsdyqtjJaomjnZ7gN3AnQidGsosOhWXDrHZdo1iC4YwHgzEzfbglKsBm4g1NkquUSwGsb4neYEG5MTjp5WG6P0RIeBswxN3BSDd3g2gvAc/irox35wsGV1DW5UK/0DDemNlZeCI5ijQkikT91jY1GjAZ8asAX4AI7Qj3us4BOJOpl6nFfRaU77AI3Ntv00RK+gDBw+1KaSTuvgXOAu6mOZwqRuUcEOuSSuITn9+x8TC9L4hLqpTqdynIjCdbbc+6t1tbWFiQaMRroSAMAnF/MpXoA3lHGKG9rddk8+BWfG9WwNTU11fqaoSjKdTSHSwANAPCsjDYTGQf1xb9IYzPVclWU1UaVdLipoaEBG40YDQSlAR1wuYrzDlGQRZuPUmWb937+1r3L0/fnuQM9+NXhdhu4fWjfJHWoAQtwocwrtyQHC6vX7u1WvctDBkmrb7YBbstTErhVQl1dHb82asRoIDQNAHA8j+frIi+0ksLLzRe5wq/iGaMlQrq7oqLCw6yHdyizdypp4JwFd1MDzz4noyjRbD9OrMpaD8vtlqFAAO4uLy8X8qNZL3OsJNEAf6uGLfg5wKPdJMBdXuMCv4plHF/cElWX06dPV5vREqUK89NJDZwDPPouCv4tTpVTtV5tgVvRvnv37hoDt64eE++MBgB4Bs+hDGvqvaA8pIlIXPIhXdIkjx7KNskvIa4q9xyyA24Py40ViHvlypXVPNbNMzobMRoITwMW4F7FeMOJzZKmxwVa71DPg7hIczNVvba+SdwSJFszTgntbh4xKTHWW1RmwnA0AMDTYcG5kK5ccAXLIyUlfBiLY9Rb3BLEscFVW1tbghUjRgOR0IAFuOaKRKJc7zJqG2wlnObiRTwRBbfQjg0uHg781Fhu1oSRiGkAgKfxuJy3ixGpdVS0qtb9KQeKYQ4V02K5BXA3j5gUI7MRo4FIakAAj2SZelmnKuggr1scYxvg1hNaecTkoLHcUI2RSGtAAI+UxZZyUM89h1wwyviamcWzWG5sVyZ94cKFn/L3CxE3YjQQcQ0AcCfPjAMwIyVMq2vhasenXJ5iWMoVuIV2165duxp4xOSYZDCh0UCkNaADLtY3nLC+yXZs14EmfsPTuqAEz9ZoiQU3p7XW1NQY1wTaMdJlGsC7urDg4Qpc6JoGN/xtuCSw3MKyB9xi0l0nTpzYbPzucNVu9g+kAQE8lDFwlOnh0TDKJ8tsmznZ4pfjHpYb+yABGVq3bNmywbjdUImRrtYAAHeE4IML2HJC4OvIW/e3buB66pZbVbudz41MP/3pT3fziwvmNnxX96wpX2kAgHd2ZtnGFqr68QuO3eCWF59uCQ5iWe7q6uqms2fPbjWuCdRiJBoaEMBDORb4LKugLYwrvmGuw62KEcuNFQtujrccO3bsAwO30pH5iZIGBPBgR05QrWNltk0c4K33gHADcGRq2bBhw3rjd7MmjERVAwAccAcj8LfX7Wxdz3kFbvCLRYleDOIYnOEX9tWca93OnDmznmd+7aFypuiP48jjhMVIdDUQjNdQVecuK7iheSLXrJIXPO7KM6ko46wAl9fMOE0Rj0Q1YsJhC8O9mT+Vfb09Ub8EhFaFKc2taVReYRmDMEszu4eigY4Ad7HZPnyKMAQoVtvjYhLH0eHGusCNHVr27du3euDAgRGF21axm2zH1pLN3Yzjxb3YG89Qel02PzIM3bUXf9jjtSdf4i8def3s4veFW39l+StHHaODjaGW5zd/R8fw08pQy2ppddOuva2rGVPFKrdN4EYzlehuCRKwDuB5Pk/KGzlyZM/169e/z5/vi8gXFwC28x9fZrDh1ieOVNW7cBcscSqcAjWtbXRXf/l/K6/ed6rpDDcXr5fh9jtAtzrKl+XGRtDXzJa77siRI6tHjBhxUyRcE9vhV8lWe4SLTizJR3XZLtRiwMlIzDWAx/qOn6HV+04Rf1iQ4AKAV3Brgc1x6/Y74iIw71hwFjTxqMlKniBTtoUV2lyJS0c+f+GLJzc3EgcaYI+EthyilVwVAAVOhVmP2unj3LJBLLfyZe6///5NVVVVRzty7mXHZA8BeC6PJcF3M0tsdADbzF94OPq9P5OMb4NTsdweCPqDWwCHyW8uKSl5zcB9Tm95fDWSg8FSIzHRAC48SyvoNT64YpNDARvMeogvuJEBZh474axo5ikf/trM784bOacBATzYO2kmH1t5/quLxNLCCK/aSX8Fl7yI1Qav7cQf3DgLLL/7ySefLC4rK9turPd5/QHwbOODn1dIFGKw2uW1tP3/3qZiPpzub7ez2qhOMHDj7GjasWPHSy1qSBG7GYEGlAVnwI3/HR0dtLK53XWCXmLVC9hgE0Y4JLg5v9oBO8L8N82cOfM1nvah1FhvqOa85BoLfl4ZXRiD1a6sp9L7lil/G3CDS79goyr+LDe24Wyw/G5+9axh+/btf4jUsCAOkCwigEfCpzRl+PbN8ZDUzhP0h5oadbNG97d9Wm2wFQhuAVxZ729+85t/raysPGmsd/vTEoBn8dRhRiKvAWW1G+jk7OXqQlKstt9REqlBR3AjD8w+CgHcjUePHq3duXPnImO9WRs+xFhw31Y33H8jWO29J2jR0Qr1QSc8+QcewSX49CuB4IblRgHqopLDxm9/+9sr+E2dMmO9fesUY+DGgvvWTWdSYbVrmqjsxytpBfjjRS4mO/S3caxAcCOPWG8FOD9vUrVnz54XjfWGanyLAG5GUcIfRcFzJPtP0ov7jhPe6RWwA1pt9EwwcIv1Vn4379M4Z86cl9h6VxrrDRX6FgW4GQf3rZwgU2G1qxup8ud/V8N/YrXBYUCrjUMEAzfyifVWvvfGjRvLN2/e/LS5awnV+Bfc5MnCOHiE7s6lWjktTN22Unp6awmVs5aD9rWlR4KF29t6N8yYMWMFT96z07xnKar0HQLwTDOK4ls5HaTCHTlVTTvvWqR8bTyrLaMkQVltFB0s3MjrYb358yL1y5Ytm8vzm7iMewL1+BcB3PjgwfnguMPC85G4Xt5Gc3nShnrWbMhWG70RCtztrPfDDz/88f79+/9sLi79gy1bBHBZN6F/DeA2+4Ez9OdfvE4fc65OWW2UHgrcyC/WG38ROJsavv/97/+Gb8ufNdYb6ulY4H/DRUk13zmU9kKDlY109sd/pd9wFGDLhWRQIyTYXyRUuGG9cRAMC+Kg9e+9914ZX2D+mt0UXjUSSAMAPMP75b5AO6XQ9iama0sJ/XrjQSrjZotLAt7AHfgLWkKFGwUL4GrkhNfr+eJyJd+93Gbck+D0LoCHYtFSIS/uRJ6oom23v6BeIROwwVnIYKMnOgs33BPrriXHG+bNm/cIv45WY0ZPoNbAIoAHznk+By5IIXJhKnGV2JYuaXpe2R4o1PfR4/720/PocX/5O0rH6EhlA9U88096hPPp7gg4A28hWW0cqzNwYz/xvS3r/dxzzx1cvXr1L3j0hOfZCLkeKDPlBP43XBSAEcwCBQlEelz21dP0uGwPFOr76HF/++l59Li//P7S20ZHaO0++sXv31cfbvK22uAtZOks3DgQDijWG2da/V133fXm3r17l5ubO1BPcALA01PcB29mp4OnaVj+jcX0JmsNYMsIiVjt4JTplSscuGGeAbhYb1So7pZbbvnV8ePH9xr/20vTHaxaFpxNWyr41nob4WefrKG9dy6kX4EfXsQlAVfgq9NuQAS+SsKHPy829rt5gquWDydMmPCVjIyMdMzaKWI/8S5hMdJeA+r7MNyN6GwR0Zy/v/NIp+O4ckw9LsfR0/S4bA81xAx1VQ1U+8s19K1/7qVjXGYtL7Dc8oCUpg0cMTQJx3LjSDi4t3tSN3/+fPjfjxn/O7TOyGAXJQ2f0ODdsEAkPLfWtb9yLH/HD7Q9lNrhsqyBnY639tJjv39X+dlitQXssKw26hIu3ChDABf3BGdeHfvfq/jR2BVm/BsqCl4E8OD3SMycGM/ec4JW3LuYVnELADa4wb2TsN0RLkNJJOBGQTjLMBbpAfj06dOfLC4uft8ADhUFLwAcF5m6b5pMcVxAlpyl9298jp5krXiDDY7AU9gSKbhREVhwffSkjt+3rLn55pt/WFpa+rEZQQmtrwA3XJRkE4B9pJw+/trz9MPKOjVhvLc7Ao4iIpGGW/xv/L2o0ZMDBw5U8HyDD/HjscUteEDXSNAaEMCTxWrjgaiT1VT84Ev00IFTVMGKELDBiwz7RQzurrYNqqKHDh1q4tvzGyZfmHVNbsUHufz5byNBasDRZn7kvpiuOokj9LXgEJJHj/vKK/kk7Ex+7KOLlIUQdyBP19CJOa/Q/W/soSOchJERwB1RP5vLs6Qr4PZ55vHFZb2r1b1lXNHRa/muXKYB3OqDgBFfgOvg+CtAz6PHuyo/jqEvOA7WYbF5GrSKX71NDyzaQAc4SYb88O+O67SI+dlcliVdATcKB+CyyMFsH+w6WsnTAO+8pD9dx4CnGcBFNYFDAVwfBw+8V+xzAGyeKar+D+vpu798k7ZzjWCtxR3Rh/0iXtmugluvqECO0MbPD5zpmUs7RvamKQx4Rgp/S0rXUVBxAVwpkk1ivPviAPtsPVUv2Uizfvaq+jgToBarDbBhsdGcLpFowo0GqIas3kOnud0fjBlAk/nWc450Wpe0MMkKFV3BB9ddgHiLtzC27GOfmvcWPTj3DfqIuwFQY4ErolvshIab22KdnWiIasyGYqrkZwreu/ICmsivYBVIpyGzkY41IP92cpHZce7ob23icY/jVXToZ3+jB55fR59wDfCNSN1iR3xkxFcro2G55bhyhlqAf3yEanccp7WfG05j+XszRQAcf7VGAmsgHgHHyQawedqzXQ8up/949WNrVEQHO2J3IANpKZpwS10EbhV+eoYaV++lt68dRaPyM2mAAVzUFDgUwJEz1v436oBb6p+W0cZbX6CHNn1KpzkJUMPP1h+GYo/U+ifnaNdJtOHWwZZGus/UUMufPqS114+mfvkZNNxpLHjQPS6Ax9JFwRh2Hdtjnqzy9WnP0k9Ky9QNmpiCDQVGG27pNB1yxF31jeT63Xu07ooLqLx3N7oy3UFO6TjZyYS+NaAPqUbbgquhvkZq5FGwX13/ND3L/YgPnsLH9jXch76OmsQKbjRQQd0WWrAv30r7bXbaOLIPXZHppG7GTQmOBQ/AeZeuHj1B7/HEOXSikg4/vZZmzV5Ba/mwsNbiX8uoiNygQR9HVWIJtzQUjYaLYrkp6w5QOfvhb04aSn3YDx9m3BRRVcehAN7VFCk3hAfz9p6kN29fQD9Y+REd4poJ2GKx9TuPXV0ln4qJNdxotPeiQD9dTc3sprw39gI60zufxsFNkb9cny0xiUoDMtrUFTTBr1e30huo8e399D/TfkPPcj9V8oF1/1qeFRGLHbOeiTXcaLj0g1hvPXSv2EqfuG20bngRXc43fAod/H8rHRgzrcX5gS39tOlKjEI4IcDGmzPHKql43ts0i7/g+y6rQe44yoiIgC19GFNNwTWLF0FdcLJh4cf1Cd/p5Q9SqyW7ex7lLL2X7vjsILq3WyZ/vIBzWZ3ImYy01wDch3AFUOMZbJ5TpH7rYVrAs64uPVvtYan1N2hgrbGIwQr38GHtHw+WW28AlCKLnP0IW+ubyLX0A9pxqIzWXNib+vLk7oPlYtNArqvwfDwcvYgLUsu2eP9pemfOSvrBwyvpHe4HuCAyGgKwvZ/siwuwoYV4styojwieYsaCGT14dj1lxfl7YZYlz3j2drr6Xy6m2T3zqD+PqpAZNmTt+BGAiiVYgcWHC8L3H46+toOeenAZvc/7wuUAzAI01vVnRCLwP8ElRlDiFW40EXUTwAVyAG4tA3tR3oI76J4xA+mOvHTKgKtiIIfq2kswcANquCDVTdTIj0YsvXcpLSo9rcatYZ31RaDmU8Aa5Wp/0BinxDPcUA3qhwXuEwCHLw5LbgGO+MyraNCDk+nuEb1pOrsr6TyyYiBnxXiLP8ABNW6dswvStP8UrXrmPVr8x410mPfXgUYcUGOID1CLbx3CfwLvFUWJd7hFFagnrLhALq4KLjoF9IyvXkb9Zk+lmSOK6Cv8XfZMfl7cQC4a9BECatyIqW6gBob6b0+toT/+5SM1OQ5cDgEbcd0FAdRwQeIWaq6bkkSBG5VFXQVyWHFxVQC4QK7iU4ZTr4e/RLeN7kdfzcugXAU57xnOBRYfIykE1htv8yioG6lm1zH6y3/9nZat/UQ96CQgA2yJ+3JB4h5sdFYiwS1wCeDe/jjAFosOa57+2c9Q4X9/mW4Z3Zdm8J3OQszJJ3c7Uwl0AI0Fkw80sFPBU5iV7zpOL//0VVqx9VP1pTAALEAjrltq8asTwlpz3S1JRLil8gI5XBUs8MdlfFwgV8AX5lHW4zfSxCsG0vUDu9NEfnY8Xax5Ml+Awu0QK13bRE2lZ2n9llJ6g4f11pdXW4+h6hYacfjUcus8YVwQrnM7SWS40RjUXyAXn1wgB+ACucTTxw2mbj+cRlNH9aZp/QroYobcpmZ3QkFcUiJbdLHQ8Bnw0gC7Hu5jFbRzDz8Dwi/nrtlUom6VwzLLIhYa6zrUsNJiqRPCBeH6tpNEh1sa5AtyfXQFcAN6gVydAHdNoAF3j6PpQ3rQlIIcGoxRFoCubg5x5niHXYcZz3wAaIx6VNRSSXEZrV28iVYt2UBHuCkCrkCNdT0O10OsdMJDzW1Rkixw6+0R0MVd0V0WuQgV0MXKO798CRV9bRxdMbQHje3TjS7n0Za+cF0wdq7DjgPFwroDZIgCmkPAjDHpttGO4/zo6YcHy2jbnzbRlld30CnOAmB1qAVoPR1Ay4IjyMLRxJdkg1vvEbQNroq4KwI7ABeovUNsQz7nzHHU78YxdMWQnjSWn0q8LDuNemIObVyQAnbrwpQzQ3Tg9fi5rYF/BV7klLgijX9wIQiYEeKtcn7r5czJKvqo+AxtW7mdtvxxkxq+E+urwytwSyh5BGgu0XI/AlcywXIkM9zSFWLJBXSEFsQcB+BYF+glriBvS7dPGU6FUy+iwcOKaFBRPg3qlkUD89NpIFv4fmzdnQAez1OLK6POLK91bBPLq0IGFxd8AjHSsN5mlVt4/PlYVROV8qQ2paeq6DDPr3d4zW4q4WE7fAsdYAJWAVbiANk7DpiRJjAjVIflMGkFfZAqgrbqC+AF6Ahl8QU20mS7vo86WXIzyfm1K6jfZQNpQEEm5fP0w1lZaZTNw47Z7L9ns4XPZl8+i61+NsOdwQA3svWtY9+4ni1xHfvJdTw8V1fPS2Mz1Vc0UNVHpXTkT1voWE2DB5AAFFCK1RVgBWR9Xc8j+wjMEnJRyS2pBLfekzrkiCtQOdThFaB9wS0nhYRShne5so5jIy4CwCACmncolhWQCpwIJS7wAmyJ+8rrXS5nTx3RFZ46rfZsqQCohwK7Hgr4HaXpZUgcR9PjWBfo9LikIRSQBWZ93V8a0vUyJI5jpKRA6UY8NSAgeoeAGmmBQu/9UDrSvAXwQQRCPRRQA4X6PhI/V6r59al0oxZPDQisSPUVlzQ9lLx6iLi3AEiIHgqk3qHk886rCjA/7TWADjESugZ0vUncO5RSJV3W9VBAlTRZ9w6xXdIkrwkDaKAjxQfY1WwOoIFQdGvADaDMzmz+f6SMYEX4z7hMAAAAAElFTkSuQmCC'};return{FaviconsByHue,};});'use strict';Polymer({is:'tr-ui-b-info-bar-group',ready(){this.messages_=[];},clearMessages(){this.messages_=[];this.updateContents_();},addMessage(text,opt_buttons){opt_buttons=opt_buttons||[];for(let i=0;i<opt_buttons.length;i++){if(opt_buttons[i].buttonText===undefined){throw new Error('buttonText must be provided');} 9078if(opt_buttons[i].onClick===undefined){throw new Error('onClick must be provided');}} 9079this.messages_.push({text,buttons:opt_buttons||[]});this.updateContents_();},updateContents_(){Polymer.dom(this.$.messages).textContent='';this.messages_.forEach(function(message){const bar=document.createElement('tr-ui-b-info-bar');bar.message=message.text;bar.visible=true;message.buttons.forEach(function(button){bar.addButton(button.buttonText,button.onClick);},this);Polymer.dom(this.$.messages).appendChild(bar);},this);}});'use strict';Polymer({is:'tr-ui-b-toolbar-button'});'use strict';tr.exportTo('tr.ui',function(){const Task=tr.b.Task;function FindController(brushingStateController){this.brushingStateController_=brushingStateController;this.filterHits_=[];this.currentHitIndex_=-1;this.activePromise_=Promise.resolve();this.activeTask_=undefined;} 9080FindController.prototype={__proto__:Object.prototype,get model(){return this.brushingStateController_.model;},get brushingStateController(){return this.brushingStateController_;},enqueueOperation_(operation){let task;if(operation instanceof tr.b.Task){task=operation;}else{task=new tr.b.Task(operation,this);} 9081if(this.activeTask_){this.activeTask_=this.activeTask_.enqueue(task);}else{this.activeTask_=task;this.activePromise_=Task.RunWhenIdle(this.activeTask_);this.activePromise_.then(function(){this.activePromise_=undefined;this.activeTask_=undefined;}.bind(this));}},startFiltering(filterText){const sc=this.brushingStateController_;if(!sc)return;this.enqueueOperation_(function(){this.filterHits_=[];this.currentHitIndex_=-1;}.bind(this));let stateFromString;try{stateFromString=sc.uiStateFromString(filterText);}catch(e){this.enqueueOperation_(function(){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=e.message;overlay.title='UI State Navigation Error';overlay.visible=true;});return this.activePromise_;} 9082if(stateFromString!==undefined){this.enqueueOperation_(sc.navToPosition.bind(this,stateFromString,true));}else{if(filterText.length===0){this.enqueueOperation_(sc.findTextCleared.bind(sc));}else{const filter=new tr.c.FullTextFilter(filterText);const filterHitSet=new tr.model.EventSet();this.enqueueOperation_(sc.addAllEventsMatchingFilterToSelectionAsTask(filter,filterHitSet));this.enqueueOperation_(function(){this.filterHits_=filterHitSet.toArray();sc.findTextChangedTo(filterHitSet);}.bind(this));}} 9083return this.activePromise_;},get filterHits(){return this.filterHits_;},get currentHitIndex(){return this.currentHitIndex_;},find_(dir){const firstHit=this.currentHitIndex_===-1;if(firstHit&&dir<0){this.currentHitIndex_=0;} 9084const N=this.filterHits.length;this.currentHitIndex_=(this.currentHitIndex_+dir+N)%N;if(!this.brushingStateController_)return;this.brushingStateController_.findFocusChangedTo(new tr.model.EventSet(this.filterHits[this.currentHitIndex]));},findNext(){this.find_(1);},findPrevious(){this.find_(-1);}};return{FindController,};});'use strict';tr.exportTo('tr.ui.b',function(){function TimingTool(viewport,targetElement){this.viewport_=viewport;this.onMouseMove_=this.onMouseMove_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.targetElement_=targetElement;this.isMovingLeftEdge_=false;} 9085TimingTool.prototype={onEnterTiming(e){this.targetElement_.addEventListener('mousemove',this.onMouseMove_);this.targetElement_.addEventListener('dblclick',this.onDblClick_);},onBeginTiming(e){if(!this.isTouchPointInsideTrackBounds_(e.clientX,e.clientY)){return;} 9086const pt=this.getSnappedToEventPosition_(e);this.mouseDownAt_(pt.x,pt.y);this.updateSnapIndicators_(pt);},updateSnapIndicators_(pt){if(!pt.snapped)return;const ir=this.viewport_.interestRange;if(ir.min===pt.x){ir.leftSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);} 9087if(ir.max===pt.x){ir.rightSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);}},onUpdateTiming(e){const pt=this.getSnappedToEventPosition_(e);this.mouseMoveAt_(pt.x,pt.y,true);this.updateSnapIndicators_(pt);},onEndTiming(e){this.mouseUp_();},onExitTiming(e){this.targetElement_.removeEventListener('mousemove',this.onMouseMove_);this.targetElement_.removeEventListener('dblclick',this.onDblClick_);},onMouseMove_(e){if(e.button)return;const worldX=this.getWorldXFromEvent_(e);this.mouseMoveAt_(worldX,e.clientY,false);},onDblClick_(e){},isTouchPointInsideTrackBounds_(clientX,clientY){if(!this.viewport_||!this.viewport_.modelTrackContainer||!this.viewport_.modelTrackContainer.canvas){return false;} 9088const canvas=this.viewport_.modelTrackContainer.canvas;const canvasRect=canvas.getBoundingClientRect();if(clientX>=canvasRect.left&&clientX<=canvasRect.right&&clientY>=canvasRect.top&&clientY<=canvasRect.bottom){return true;} 9089return false;},mouseDownAt_(worldX,y){const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(ir.isEmpty){ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;return;} 9090if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.min=worldX;this.isMovingLeftEdge_=true;return;} 9091if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.rightSelected=true;ir.max=worldX;this.isMovingLeftEdge_=false;return;} 9092ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;},mouseMoveAt_(worldX,y,mouseDown){if(mouseDown){this.updateMovingEdge_(worldX);return;} 9093const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.rightSelected=false;return;} 9094if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.leftSelected=false;ir.rightSelected=true;return;} 9095ir.leftSelected=false;ir.rightSelected=false;return;},updateMovingEdge_(newWorldX){const ir=this.viewport_.interestRange;let a=ir.min;let b=ir.max;if(this.isMovingLeftEdge_){a=newWorldX;}else{b=newWorldX;} 9096if(a<=b){ir.setMinAndMax(a,b);}else{ir.setMinAndMax(b,a);} 9097if(ir.min===newWorldX){this.isMovingLeftEdge_=true;ir.leftSelected=true;ir.rightSelected=false;}else{this.isMovingLeftEdge_=false;ir.leftSelected=false;ir.rightSelected=true;}},mouseUp_(){const dt=this.viewport_.currentDisplayTransform;const ir=this.viewport_.interestRange;ir.leftSelected=false;ir.rightSelected=false;const pixelRatio=window.devicePixelRatio||1;const minWidthValue=dt.xViewVectorToWorld(2*pixelRatio);if(ir.range<minWidthValue){ir.reset();}},getWorldXFromEvent_(e){const pixelRatio=window.devicePixelRatio||1;const canvas=this.viewport_.modelTrackContainer.canvas;const worldOffset=canvas.getBoundingClientRect().left;const viewX=(e.clientX-worldOffset)*pixelRatio;return this.viewport_.currentDisplayTransform.xViewToWorld(viewX);},getSnappedToEventPosition_(e){const pixelRatio=window.devicePixelRatio||1;const EVENT_SNAP_RANGE=16*pixelRatio;const modelTrackContainer=this.viewport_.modelTrackContainer;const modelTrackContainerRect=modelTrackContainer.getBoundingClientRect();const viewport=this.viewport_;const dt=viewport.currentDisplayTransform;const worldMaxDist=dt.xViewVectorToWorld(EVENT_SNAP_RANGE);const worldX=this.getWorldXFromEvent_(e);const mouseY=e.clientY;const selection=new tr.model.EventSet();modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,mouseY,mouseY,selection);if(!selection.length){modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,modelTrackContainerRect.top,modelTrackContainerRect.bottom,selection);} 9098let minDistX=worldMaxDist;let minDistY=Infinity;const pixWidth=dt.xViewVectorToWorld(1);const result={x:worldX,y:mouseY-modelTrackContainerRect.top,height:0,snapped:false};const eventBounds=new tr.b.math.Range();for(const event of selection){const track=viewport.trackForEvent(event);const trackRect=track.getBoundingClientRect();eventBounds.reset();event.addBoundsToRange(eventBounds);let eventX;if(Math.abs(eventBounds.min-worldX)<Math.abs(eventBounds.max-worldX)){eventX=eventBounds.min;}else{eventX=eventBounds.max;} 9099const distX=eventX-worldX;const eventY=trackRect.top;const eventHeight=trackRect.height;const distY=Math.abs(eventY+eventHeight/2-mouseY);if((distX<=minDistX||Math.abs(distX-minDistX)<pixWidth)&&distY<minDistY){minDistX=distX;minDistY=distY;result.x=eventX;result.y=eventY+ 9100modelTrackContainer.scrollTop-modelTrackContainerRect.top;result.height=eventHeight;result.snapped=true;}} 9101return result;}};return{TimingTool,};});'use strict';tr.exportTo('tr.ui',function(){const kDefaultPanAnimationDurationMs=100.0;const lerp=tr.b.math.lerp;function TimelineDisplayTransformPanAnimation(deltaX,deltaY,opt_durationMs){this.deltaX=deltaX;this.deltaY=deltaY;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;} 9102this.startPanX=undefined;this.startPanY=undefined;this.startTimeMs=undefined;} 9103TimelineDisplayTransformPanAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.deltaY!==0;},canTakeOverFor(existingAnimation){return existingAnimation instanceof TimelineDisplayTransformPanAnimation;},takeOverFor(existing,timestamp,target){const remainingDeltaXOnExisting=existing.goalPanX-target.panX;const remainingDeltaYOnExisting=existing.goalPanY-target.panY;let remainingTimeOnExisting=timestamp-(existing.startTimeMs+existing.durationMs);remainingTimeOnExisting=Math.max(remainingTimeOnExisting,0);this.deltaX+=remainingDeltaXOnExisting;this.deltaY+=remainingDeltaYOnExisting;this.durationMs+=remainingTimeOnExisting;},start(timestamp,target){this.startTimeMs=timestamp;this.startPanX=target.panX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.panX=lerp(percentDone,this.startPanX,this.goalPanX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalPanY);} 9104return timestamp>=this.startTimeMs+this.durationMs;},get goalPanX(){return this.startPanX+this.deltaX;},get goalPanY(){return this.startPanY+this.deltaY;}};function TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,goalFocalPointY,zoomInRatioX,opt_durationMs){this.goalFocalPointXWorld=goalFocalPointXWorld;this.goalFocalPointXView=goalFocalPointXView;this.goalFocalPointY=goalFocalPointY;this.zoomInRatioX=zoomInRatioX;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;} 9105this.startTimeMs=undefined;this.startScaleX=undefined;this.goalScaleX=undefined;this.startPanY=undefined;} 9106TimelineDisplayTransformZoomToAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.startPanY!==this.goalFocalPointY;},canTakeOverFor(existingAnimation){return false;},takeOverFor(existingAnimation,timestamp,target){this.goalScaleX=target.scaleX*this.zoomInRatioX;},start(timestamp,target){this.startTimeMs=timestamp;this.startScaleX=target.scaleX;this.goalScaleX=this.zoomInRatioX*target.scaleX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.scaleX=lerp(percentDone,this.startScaleX,this.goalScaleX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalFocalPointY);} 9107target.xPanWorldPosToViewPos(this.goalFocalPointXWorld,this.goalFocalPointXView);return timestamp>=this.startTimeMs+this.durationMs;}};return{TimelineDisplayTransformPanAnimation,TimelineDisplayTransformZoomToAnimation,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const DrawType={GENERAL_EVENT:1,INSTANT_EVENT:2,BACKGROUND:3,GRID:4,FLOW_ARROWS:5,MARKERS:6,HIGHLIGHTS:7,ANNOTATIONS:8};const MAX_OVERSIZE_MULTIPLE=3.0;const REDRAW_SLOP=(MAX_OVERSIZE_MULTIPLE-1)/2;const DrawingContainer=tr.ui.b.define('drawing-container',tr.ui.tracks.Track);DrawingContainer.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('drawing-container');this.canvas_=document.createElement('canvas');this.canvas_.className='drawing-container-canvas';this.canvas_.style.left=tr.ui.b.constants.HEADING_WIDTH+'px';Polymer.dom(this).appendChild(this.canvas_);this.ctx_=this.canvas_.getContext('2d');this.offsetY_=0;this.viewportChange_=this.viewportChange_.bind(this);this.viewport.addEventListener('change',this.viewportChange_);window.addEventListener('resize',this.windowResized_.bind(this));this.addEventListener('scroll',this.scrollChanged_.bind(this));},get canvas(){return this.canvas_;},context(){return this.ctx_;},viewportChange_(){this.invalidate();},windowResized_(){this.invalidate();},scrollChanged_(){if(this.updateOffsetY_()){this.invalidate();}},invalidate(){if(this.rafPending_)return;this.rafPending_=true;tr.b.requestPreAnimationFrame(this.preDraw_,this);},preDraw_(){this.rafPending_=false;this.updateCanvasSizeIfNeeded_();tr.b.requestAnimationFrameInThisFrameIfPossible(this.draw_,this);},draw_(){this.ctx_.clearRect(0,0,this.canvas_.width,this.canvas_.height);const typesToDraw=[DrawType.BACKGROUND,DrawType.HIGHLIGHTS,DrawType.GRID,DrawType.INSTANT_EVENT,DrawType.GENERAL_EVENT,DrawType.MARKERS,DrawType.ANNOTATIONS,DrawType.FLOW_ARROWS];for(const idx in typesToDraw){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;} 9108this.children[i].drawTrack(typesToDraw[idx]);}} 9109const pixelRatio=window.devicePixelRatio||1;const bounds=this.canvas_.getBoundingClientRect();const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.viewport.drawGridLines(this.ctx_,viewLWorld,viewRWorld);},updateOffsetY_(){const maxYDelta=window.innerHeight*REDRAW_SLOP;let newOffset=this.scrollTop-maxYDelta;if(Math.abs(newOffset-this.offsetY_)<=maxYDelta)return false;const maxOffset=this.scrollHeight- 9110this.canvas_.getBoundingClientRect().height;newOffset=Math.max(0,Math.min(newOffset,maxOffset));if(newOffset!==this.offsetY_){this.offsetY_=newOffset;return true;} 9111return false;},updateCanvasSizeIfNeeded_(){const visibleChildTracks=tr.b.asArray(this.children).filter(this.visibleFilter_);if(visibleChildTracks.length===0){return;} 9112const thisBounds=this.getBoundingClientRect();const firstChildTrackBounds=visibleChildTracks[0].getBoundingClientRect();const lastChildTrackBounds=visibleChildTracks[visibleChildTracks.length-1].getBoundingClientRect();const innerWidth=firstChildTrackBounds.width- 9113tr.ui.b.constants.HEADING_WIDTH;const innerHeight=Math.min(lastChildTrackBounds.bottom-firstChildTrackBounds.top,Math.floor(window.innerHeight*MAX_OVERSIZE_MULTIPLE));const pixelRatio=window.devicePixelRatio||1;if(this.canvas_.width!==innerWidth*pixelRatio){this.canvas_.width=innerWidth*pixelRatio;this.canvas_.style.width=innerWidth+'px';} 9114if(this.canvas_.height!==innerHeight*pixelRatio){this.canvas_.height=innerHeight*pixelRatio;this.canvas_.style.height=innerHeight+'px';} 9115if(this.canvas_.top!==this.offsetY_){this.canvas_.top=this.offsetY_;this.canvas_.style.top=this.offsetY_+'px';}},visibleFilter_(element){if(!(element instanceof tr.ui.tracks.Track))return false;return window.getComputedStyle(element).display!=='none';},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;} 9116const trackClientRect=this.children[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.children[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}} 9117tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;} 9118this.children[i].addEventsToTrackMap(eventToTrackMap);}}};return{DrawingContainer,DrawType,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;function ProxySelectableItem(modelItem){SelectableItem.call(this,modelItem);} 9119ProxySelectableItem.prototype={__proto__:SelectableItem.prototype,get selectionState(){const modelItem=this.modelItem_;if(modelItem===undefined){return SelectionState.NONE;} 9120return modelItem.selectionState;}};return{ProxySelectableItem,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const LetterDotTrack=tr.ui.b.define('letter-dot-track',tr.ui.tracks.Track);LetterDotTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('letter-dot-track');this.items_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get items(){return this.items_;},set items(items){this.items_=items;this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get dumpRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){if(this.items_===undefined)return;switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const dumpRadiusView=this.dumpRadiusView;const itemRadiusWorld=dt.xViewVectorToWorld(height);const items=this.items_;const loI=tr.b.math.findLowIndexInSortedArray(items,function(item){return item.start;},viewLWorld);const oldFont=ctx.font;ctx.font='400 '+Math.floor(9*pixelRatio)+'px Arial';ctx.strokeStyle='rgb(0,0,0)';ctx.textBaseline='middle';ctx.textAlign='center';const drawItems=function(selected){for(let i=loI;i<items.length;++i){const item=items[i];const x=item.start;if(x-itemRadiusWorld>viewRWorld)break;if(item.selected!==selected)continue;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getSelectableItemColorAsString(item);ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView+0.5,0,twoPi);ctx.fill();if(item.selected){ctx.lineWidth=3;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView,0,twoPi);ctx.lineWidth=1.5;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();} 9121ctx.fillStyle='rgb(255, 255, 255)';ctx.fillText(item.dotLetter,xView,halfHeight);}};drawItems(false);drawItems(true);ctx.lineWidth=1;ctx.font=oldFont;},addEventsToTrackMap(eventToTrackMap){if(this.items_===undefined)return;this.items_.forEach(function(item){item.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){if(this.items_===undefined)return;const itemRadiusWorld=viewPixWidthWorld*this.dumpRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.items_,function(x){return x.start-itemRadiusWorld;},function(x){return 2*itemRadiusWorld;},loWX,hiWX,function(item){item.addToSelection(selection);}.bind(this));},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.items_===undefined)return;const items=this.items_;const index=tr.b.findFirstIndexInArray(items,function(item){return item.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex>=0&&newIndex<items.length){items[newIndex].addToSelection(selection);return true;} 9122return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.items_===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.items_,function(x){return x.start;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};function LetterDot(modelItem,dotLetter,colorId,start){tr.model.ProxySelectableItem.call(this,modelItem);this.dotLetter=dotLetter;this.colorId=colorId;this.start=start;} 9123LetterDot.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{LetterDotTrack,LetterDot,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AlertTrack=tr.ui.b.define('alert-track',tr.ui.tracks.LetterDotTrack);AlertTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Alerts';this.alerts_=undefined;},get alerts(){return this.alerts_;},set alerts(alerts){this.alerts_=alerts;if(alerts===undefined){this.items=undefined;return;} 9124this.items=this.alerts_.map(function(alert){return new tr.ui.tracks.LetterDot(alert,String.fromCharCode(9888),alert.colorId,alert.start);});}};return{AlertTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Task=tr.b.Task;const ContainerTrack=tr.ui.b.define('container-track',tr.ui.tracks.Track);ContainerTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);},detach(){Polymer.dom(this).textContent='';},get tracks_(){const tracks=[];for(let i=0;i<this.children.length;i++){if(this.children[i]instanceof tr.ui.tracks.Track){tracks.push(this.children[i]);}} 9125return tracks;},drawTrack(type){this.tracks_.forEach(function(track){track.drawTrack(type);});},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);}} 9126tr.ui.tracks.Track.prototype.addIntersectingEventsInRangeToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(const track of this.tracks_){track.addEventsToTrackMap(eventToTrackMap);}},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.tracks_.length;i++){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);}},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const task=new Task();for(let i=0;i<this.tracks_.length;i++){task.subTask(function(i){return function(){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);};}(i),this);} 9127return task;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}} 9128tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addContainersToTrackMap(containerToTrackMap){this.tracks_.forEach(function(track){track.addContainersToTrackMap(containerToTrackMap);});},clearTracks_(){this.tracks_.forEach(function(track){Polymer.dom(this).removeChild(track);},this);}};return{ContainerTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartPoint(modelItem,x,y,opt_yBase){tr.model.ProxySelectableItem.call(this,modelItem);this.x=x;this.y=y;this.dotLetter=undefined;this.yBase=opt_yBase;} 9129ChartPoint.prototype={__proto__:tr.model.ProxySelectableItem.prototype,};return{ChartPoint,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const ChartSeriesType={LINE:0,AREA:1};const DEFAULT_RENDERING_CONFIG={chartType:ChartSeriesType.LINE,selectedPointSize:4,unselectedPointSize:3,solidSelectedDots:false,colorId:0,lineWidth:1,skipDistance:1,unselectedPointDensityTransparent:0.10,unselectedPointDensityOpaque:0.05,backgroundOpacity:0.5,stepGraph:true};const LAST_POINT_WIDTH=16;const DOT_LETTER_RADIUS_PX=7;const DOT_LETTER_RADIUS_PADDING_PX=0.5;const DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX=3;const DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX=1.5;const DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX=1;const DOT_LETTER_FONT_WEIGHT=400;const DOT_LETTER_FONT_SIZE_PX=9;const DOT_LETTER_FONT='Arial';const ChartSeriesComponent={BACKGROUND:0,LINE:1,DOTS:2};function ChartSeries(points,seriesYAxis,opt_renderingConfig){this.points=points;this.seriesYAxis=seriesYAxis;this.useRenderingConfig_(opt_renderingConfig);} 9130ChartSeries.prototype={useRenderingConfig_(opt_renderingConfig){const config=opt_renderingConfig||{};for(const[key,defaultValue]of 9131Object.entries(DEFAULT_RENDERING_CONFIG)){let value=config[key];if(value===undefined){value=defaultValue;} 9132this[key+'_']=value;} 9133this.topPadding=this.bottomPadding=Math.max(this.selectedPointSize_,this.unselectedPointSize_)/2;},get range(){const range=new tr.b.math.Range();this.points.forEach(function(point){range.addValue(point.y);},this);return range;},draw(ctx,transform,highDetails){if(this.points===undefined||this.points.length===0){return;} 9134if(this.chartType_===ChartSeriesType.AREA){this.drawComponent_(ctx,transform,ChartSeriesComponent.BACKGROUND,highDetails);} 9135if(this.chartType_===ChartSeriesType.LINE||highDetails){this.drawComponent_(ctx,transform,ChartSeriesComponent.LINE,highDetails);} 9136this.drawComponent_(ctx,transform,ChartSeriesComponent.DOTS,highDetails);},drawComponent_(ctx,transform,component,highDetails){let extraPixels=0;if(component===ChartSeriesComponent.DOTS){extraPixels=Math.max(this.selectedPointSize_,this.unselectedPointSize_);} 9137const pixelRatio=transform.pixelRatio;const leftViewX=transform.leftViewX-extraPixels*pixelRatio;const rightViewX=transform.rightViewX+extraPixels*pixelRatio;const leftTimestamp=transform.leftTimestamp-extraPixels;const rightTimestamp=transform.rightTimestamp+extraPixels;const firstVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},leftTimestamp);let lastVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},rightTimestamp);if(lastVisibleIndex>=this.points.length||this.points[lastVisibleIndex].x>rightTimestamp){lastVisibleIndex--;} 9138const viewSkipDistance=this.skipDistance_*pixelRatio;let selectedCircleRadius;let letterDotRadius;let squareSize;let squareHalfSize;let squareOpacity;let unselectedSeriesColor;let currentStateSeriesColor;ctx.save();ctx.font=DOT_LETTER_FONT_WEIGHT+' '+ 9139Math.floor(DOT_LETTER_FONT_SIZE_PX*pixelRatio)+'px '+ 9140DOT_LETTER_FONT;ctx.textBaseline='middle';ctx.textAlign='center';switch(component){case ChartSeriesComponent.DOTS:{selectedCircleRadius=(this.selectedPointSize_/2)*pixelRatio;letterDotRadius=Math.max(selectedCircleRadius,DOT_LETTER_RADIUS_PX*pixelRatio);squareSize=this.unselectedPointSize_*pixelRatio;squareHalfSize=squareSize/2;unselectedSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);if(!highDetails){squareOpacity=0;break;} 9141const visibleIndexRange=lastVisibleIndex-firstVisibleIndex;if(visibleIndexRange<=0){squareOpacity=1;break;} 9142const visibleViewXRange=transform.worldXToViewX(this.points[lastVisibleIndex].x)- 9143transform.worldXToViewX(this.points[firstVisibleIndex].x);if(visibleViewXRange===0){squareOpacity=1;break;} 9144const density=visibleIndexRange/visibleViewXRange;const clampedDensity=tr.b.math.clamp(density,this.unselectedPointDensityOpaque_,this.unselectedPointDensityTransparent_);const densityRange=this.unselectedPointDensityTransparent_- 9145this.unselectedPointDensityOpaque_;squareOpacity=(this.unselectedPointDensityTransparent_-clampedDensity)/densityRange;break;} 9146case ChartSeriesComponent.LINE:ctx.strokeStyle=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);ctx.lineWidth=this.lineWidth_*pixelRatio;break;case ChartSeriesComponent.BACKGROUND:break;default:throw new Error('Invalid component: '+component);} 9147let previousViewX=undefined;let previousViewY=undefined;let previousViewYBase=undefined;let lastSelectionState=undefined;let baseSteps=undefined;const startIndex=Math.max(firstVisibleIndex-1,0);let currentViewX;for(let i=startIndex;i<this.points.length;i++){const currentPoint=this.points[i];currentViewX=transform.worldXToViewX(currentPoint.x);if(currentViewX>rightViewX){if(previousViewX!==undefined){previousViewX=currentViewX=rightViewX;if(component===ChartSeriesComponent.BACKGROUND||component===ChartSeriesComponent.LINE){ctx.lineTo(currentViewX,previousViewY);}} 9148break;} 9149if(i+1<this.points.length){const nextPoint=this.points[i+1];const nextViewX=transform.worldXToViewX(nextPoint.x);if(previousViewX!==undefined&&nextViewX-previousViewX<=viewSkipDistance&&nextViewX<rightViewX){continue;} 9150if(currentViewX<leftViewX){currentViewX=leftViewX;}} 9151if(previousViewX!==undefined&¤tViewX-previousViewX<viewSkipDistance){currentViewX=previousViewX+viewSkipDistance;} 9152const currentViewY=Math.round(transform.worldYToViewY(currentPoint.y));let currentViewYBase;if(currentPoint.yBase===undefined){currentViewYBase=transform.outerBottomViewY;}else{currentViewYBase=Math.round(transform.worldYToViewY(currentPoint.yBase));} 9153const currentSelectionState=currentPoint.selectionState;if(currentSelectionState!==lastSelectionState){const opacity=currentSelectionState===SelectionState.SELECTED?1:squareOpacity;currentStateSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,opacity);} 9154switch(component){case ChartSeriesComponent.DOTS:if(currentPoint.dotLetter){ctx.fillStyle=unselectedSeriesColor;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius+DOT_LETTER_RADIUS_PADDING_PX,0,2*Math.PI);ctx.fill();if(currentSelectionState===SelectionState.SELECTED){ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('olive');ctx.stroke();ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius,0,2*Math.PI);ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('yellow');ctx.stroke();}else{ctx.lineWidth=DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.stroke();} 9155ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('white');ctx.fillText(currentPoint.dotLetter,currentViewX,currentViewY);}else{ctx.strokeStyle=unselectedSeriesColor;ctx.lineWidth=pixelRatio;if(currentSelectionState===SelectionState.SELECTED){if(this.solidSelectedDots_){ctx.fillStyle=ctx.strokeStyle;}else{ctx.fillStyle=currentStateSeriesColor;} 9156ctx.beginPath();ctx.arc(currentViewX,currentViewY,selectedCircleRadius,0,2*Math.PI);ctx.fill();ctx.stroke();}else if(squareOpacity>0){ctx.fillStyle=currentStateSeriesColor;ctx.fillRect(currentViewX-squareHalfSize,currentViewY-squareHalfSize,squareSize,squareSize);}} 9157break;case ChartSeriesComponent.LINE:if(previousViewX===undefined){ctx.beginPath();ctx.moveTo(currentViewX,currentViewY);}else if(this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);} 9158ctx.lineTo(currentViewX,currentViewY);break;case ChartSeriesComponent.BACKGROUND:if(previousViewX!==undefined&&this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);}else{ctx.lineTo(currentViewX,currentViewY);} 9159if(currentSelectionState!==lastSelectionState){if(previousViewX!==undefined){let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;} 9160ctx.closePath();ctx.fill();} 9161ctx.beginPath();ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,this.backgroundOpacity_);ctx.moveTo(currentViewX,currentViewYBase);baseSteps=[];} 9162if(currentViewYBase!==previousViewYBase||currentSelectionState!==lastSelectionState){baseSteps.push({viewX:currentViewX,viewY:currentViewYBase});} 9163ctx.lineTo(currentViewX,currentViewY);break;default:throw new Error('Not reachable');} 9164previousViewX=currentViewX;previousViewY=currentViewY;previousViewYBase=currentViewYBase;lastSelectionState=currentSelectionState;} 9165if(previousViewX!==undefined){switch(component){case ChartSeriesComponent.DOTS:break;case ChartSeriesComponent.LINE:ctx.stroke();break;case ChartSeriesComponent.BACKGROUND:{let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;} 9166ctx.closePath();ctx.fill();break;} 9167default:throw new Error('Not reachable');}} 9168ctx.restore();},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){const points=this.points;function getPointWidth(point,i){if(i===points.length-1){return LAST_POINT_WIDTH*viewPixWidthWorld;} 9169const nextPoint=points[i+1];return nextPoint.x-point.x;} 9170function selectPoint(point){point.addToSelection(selection);} 9171tr.b.math.iterateOverIntersectingIntervals(this.points,function(point){return point.x;},getPointWidth,loWX,hiWX,selectPoint);},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.points===undefined)return false;const index=tr.b.findFirstIndexInArray(this.points,function(point){return point.modelItem===event;},this);if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.points.length)return false;this.points[newIndex].addToSelection(selection);return true;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.points===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.points,function(point){return point.x;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};return{ChartSeries,ChartSeriesType,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const IDEAL_MAJOR_MARK_HEIGHT_PX=30;const AXIS_LABLE_MARGIN_PX=10;const AXIS_LABLE_FONT_SIZE_PX=9;const AXIS_LABLE_FONT='Arial';function ChartSeriesYAxis(opt_min,opt_max){this.guid_=tr.b.GUID.allocateSimple();this.bounds=new tr.b.math.Range();if(opt_min!==undefined)this.bounds.addValue(opt_min);if(opt_max!==undefined)this.bounds.addValue(opt_max);} 9172ChartSeriesYAxis.prototype={get guid(){return this.guid_;},valueToUnitRange(value){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');} 9173const bounds=this.bounds;if(bounds.range===0)return 0;return(value-bounds.min)/bounds.range;},unitRangeToValue(unitRange){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');} 9174return unitRange*this.bounds.range+this.bounds.min;},autoSetFromSeries(series,opt_config){const range=new tr.b.math.Range();series.forEach(function(s){range.addRange(s.range);},this);this.autoSetFromRange(range,opt_config);},autoSetFromRange(range,opt_config){if(range.isEmpty)return;const bounds=this.bounds;if(bounds.isEmpty){bounds.addRange(range);return;} 9175if(!opt_config)return;const useRangeMin=(opt_config.expandMin&&range.min<bounds.min||opt_config.shrinkMin&&range.min>bounds.min);const useRangeMax=(opt_config.expandMax&&range.max>bounds.max||opt_config.shrinkMax&&range.max<bounds.max);if(!useRangeMin&&!useRangeMax)return;if(useRangeMin&&useRangeMax){bounds.min=range.min;bounds.max=range.max;return;} 9176if(useRangeMin){bounds.min=Math.min(range.min,bounds.max);}else{bounds.max=Math.max(range.max,bounds.min);}},majorMarkHeightWorld_(transform,pixelRatio){const idealMajorMarkHeightPx=IDEAL_MAJOR_MARK_HEIGHT_PX*pixelRatio;const idealMajorMarkHeightWorld=transform.vectorToWorldDistance(idealMajorMarkHeightPx);return tr.b.math.preferredNumberLargerThanMin(idealMajorMarkHeightWorld);},draw(ctx,transform,showYAxisLabels,showYGridLines){if(!showYAxisLabels&&!showYGridLines)return;const pixelRatio=transform.pixelRatio;const viewTop=transform.outerTopViewY;const worldTop=transform.viewYToWorldY(viewTop);const viewBottom=transform.outerBottomViewY;const viewHeight=viewBottom-viewTop;const viewLeft=transform.leftViewX;const viewRight=transform.rightViewX;const labelLeft=transform.leftYLabel;ctx.save();ctx.lineWidth=pixelRatio;ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.textAlign='left';ctx.textBaseline='center';ctx.font=(AXIS_LABLE_FONT_SIZE_PX*pixelRatio)+'px '+AXIS_LABLE_FONT;ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');tr.ui.b.drawLine(ctx,viewLeft,viewTop,viewLeft,viewBottom,viewLeft);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('grey');const majorMarkHeight=this.majorMarkHeightWorld_(transform,pixelRatio);const maxMajorMark=Math.max(transform.viewYToWorldY(viewTop),Math.abs(transform.viewYToWorldY(viewBottom)));for(let curWorldY=0;curWorldY<=maxMajorMark;curWorldY+=majorMarkHeight){const roundedUnitValue=Math.floor(curWorldY*1000000)/1000000;const curViewYPositive=transform.worldYToViewY(curWorldY);if(curViewYPositive>=viewTop){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYPositive-AXIS_LABLE_MARGIN_PX);} 9177if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYPositive,viewRight,curViewYPositive);}} 9178const curViewYNegative=transform.worldYToViewY(-1*curWorldY);if(curViewYNegative<=viewBottom){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYNegative-AXIS_LABLE_MARGIN_PX);} 9179if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYNegative,viewRight,curViewYNegative);}}} 9180ctx.stroke();ctx.restore();}};return{ChartSeriesYAxis,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartTransform(displayTransform,axis,trackWidth,trackHeight,topPadding,bottomPadding,pixelRatio){this.pixelRatio=pixelRatio;this.leftViewX=0;this.rightViewX=trackWidth;this.leftTimestamp=displayTransform.xViewToWorld(this.leftViewX);this.rightTimestamp=displayTransform.xViewToWorld(this.rightViewX);this.displayTransform_=displayTransform;this.outerTopViewY=0;this.innerTopViewY=topPadding;this.innerBottomViewY=trackHeight-bottomPadding;this.outerBottomViewY=trackHeight;this.axis_=axis;this.innerHeight_=this.innerBottomViewY-this.innerTopViewY;} 9181ChartTransform.prototype={worldXToViewX(worldX){return this.displayTransform_.xWorldToView(worldX);},viewXToWorldX(viewX){return this.displayTransform_.xViewToWorld(viewX);},vectorToWorldDistance(viewY){return this.axis_.bounds.range*Math.abs(viewY/this.innerHeight_);},viewYToWorldY(viewY){return this.axis_.unitRangeToValue(1-(viewY-this.innerTopViewY)/this.innerHeight_);},worldYToViewY(worldY){const innerHeightCoefficient=1-this.axis_.valueToUnitRange(worldY);return innerHeightCoefficient*this.innerHeight_+this.innerTopViewY;}};return{ChartTransform,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ChartTrack=tr.ui.b.define('chart-track',tr.ui.tracks.Track);ChartTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('chart-track');this.series_=undefined;this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;this.showYAxisLabels_=undefined;this.showGridLines_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get series(){return this.series_;},set series(series){this.series_=series;this.calculateAxisDataAndPadding_();this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get showYAxisLabels(){return this.showYAxisLabels_;},set showYAxisLabels(showYAxisLabels){this.showYAxisLabels_=showYAxisLabels;this.invalidateDrawingContainer();},get showGridLines(){return this.showGridLines_;},set showGridLines(showGridLines){this.showGridLines_=showGridLines;this.invalidateDrawingContainer();},get hasVisibleContent(){return!!this.series&&this.series.length>0;},calculateAxisDataAndPadding_(){if(!this.series_){this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;return;} 9182const axisGuidToAxisData={};let topPadding=0;let bottomPadding=0;this.series_.forEach(function(series){const seriesYAxis=series.seriesYAxis;const axisGuid=seriesYAxis.guid;if(!(axisGuid in axisGuidToAxisData)){axisGuidToAxisData[axisGuid]={axis:seriesYAxis,series:[]};if(!this.axes_)this.axes_=[];this.axes_.push(seriesYAxis);} 9183axisGuidToAxisData[axisGuid].series.push(series);topPadding=Math.max(topPadding,series.topPadding);bottomPadding=Math.max(bottomPadding,series.bottomPadding);},this);this.axisGuidToAxisData_=axisGuidToAxisData;this.topPadding_=topPadding;this.bottomPadding_=bottomPadding;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawChart_(viewLWorld,viewRWorld);break;}},drawChart_(viewLWorld,viewRWorld){if(!this.series_)return;const ctx=this.context();const displayTransform=this.viewport.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const highDetails=this.viewport.highDetails;const width=bounds.width*pixelRatio;const height=bounds.height*pixelRatio;const topPadding=this.topPadding_*pixelRatio;const bottomPadding=this.bottomPadding_*pixelRatio;ctx.save();ctx.beginPath();ctx.rect(0,0,width,height);ctx.clip();if(this.axes_){if((this.showGridLines_||this.showYAxisLabels_)&&this.axes_.length>1){throw new Error('Only one axis allowed when showing grid lines.');} 9184for(const yAxis of this.axes_){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,yAxis,width,height,topPadding,bottomPadding,pixelRatio);yAxis.draw(ctx,chartTransform,this.showYAxisLabels_,this.showGridLines_);}} 9185for(const series of this.series){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,series.seriesYAxis,width,height,topPadding,bottomPadding,pixelRatio);series.draw(ctx,chartTransform,highDetails);} 9186ctx.restore();},addEventsToTrackMap(eventToTrackMap){this.series_.forEach(function(series){series.points.forEach(function(point){point.addToTrackMap(eventToTrackMap,this);},this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){this.series_.forEach(function(series){series.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},this);},addEventNearToProvidedEventToSelection(event,offset,selection){let foundItem=false;this.series_.forEach(function(series){foundItem=foundItem||series.addEventNearToProvidedEventToSelection(event,offset,selection);},this);return foundItem;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.series_.forEach(function(series){series.addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);},this);},autoSetAllAxes(opt_config){for(const axisData of Object.values(this.axisGuidToAxisData_)){const seriesYAxis=axisData.axis;const series=axisData.series;seriesYAxis.autoSetFromSeries(series,opt_config);}},autoSetAxis(seriesYAxis,opt_config){const series=this.axisGuidToAxisData_[seriesYAxis.guid].series;seriesYAxis.autoSetFromSeries(series,opt_config);}};return{ChartTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const CpuUsageTrack=tr.ui.b.define('cpu-usage-track',ChartTrack);CpuUsageTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);this.classList.add('cpu-usage-track');this.heading='CPU usage';this.cpuUsageSeries_=undefined;},initialize(model){if(model!==undefined){this.cpuUsageSeries_=model.device.cpuUsageSeries;}else{this.cpuUsageSeries_=undefined;} 9187this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return!!this.cpuUsageSeries_&&this.cpuUsageSeries_.samples.length>0;},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.series_,this);},buildChartSeries_(yAxis,color){if(!this.hasVisibleContent)return[];yAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const usageSamples=this.cpuUsageSeries_.samples;const pts=new Array(usageSamples.length+1);for(let i=0;i<usageSamples.length;i++){pts[i]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[i].start,usageSamples[i].usage);} 9188pts[usageSamples.length]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[usageSamples.length-1].start,0);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:color};return[new tr.ui.tracks.ChartSeries(pts,yAxis,renderingConfig)];},};return{CpuUsageTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const PowerSeriesTrack=tr.ui.b.define('power-series-track',ChartTrack);PowerSeriesTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('power-series-track');this.heading='Power';this.powerSeries_=undefined;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return(this.powerSeries_&&this.powerSeries_.samples.length>0);},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.powerSeries_,this);},buildChartSeries_(){if(!this.hasVisibleContent)return[];const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const pts=this.powerSeries_.samples.map(function(smpl){return new tr.ui.tracks.ChartPoint(smpl,smpl.start,smpl.powerInW);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:ColorScheme.getColorIdForGeneralPurposeString(this.heading)};return[new tr.ui.tracks.ChartSeries(pts,seriesYAxis,renderingConfig)];}};return{PowerSeriesTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SpacingTrack=tr.ui.b.define('spacing-track',tr.ui.tracks.Track);SpacingTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('spacing-track');this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},addAllEventsMatchingFilterToSelection(filter,selection){}};return{SpacingTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ContainerTrack=tr.ui.tracks.ContainerTrack;const DeviceTrack=tr.ui.b.define('device-track',ContainerTrack);DeviceTrack.prototype={__proto__:ContainerTrack.prototype,decorate(viewport){ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('device-track');this.device_=undefined;this.powerSeriesTrack_=undefined;},get device(){return this.device_;},set device(device){this.device_=device;this.updateContents_();},get powerSeriesTrack(){return this.powerSeriesTrack_;},get hasVisibleContent(){return(this.powerSeriesTrack_&&this.powerSeriesTrack_.hasVisibleContent);},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.device,this);},addEventsToTrackMap(eventToTrackMap){this.tracks_.forEach(function(track){track.addEventsToTrackMap(eventToTrackMap);});},appendPowerSeriesTrack_(){this.powerSeriesTrack_=new tr.ui.tracks.PowerSeriesTrack(this.viewport);this.powerSeriesTrack_.powerSeries=this.device.powerSeries;if(this.powerSeriesTrack_.hasVisibleContent){Polymer.dom(this).appendChild(this.powerSeriesTrack_);Polymer.dom(this).appendChild(new tr.ui.tracks.SpacingTrack(this.viewport));}},updateContents_(){this.clearTracks_();this.appendPowerSeriesTrack_();}};return{DeviceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;function extractGlobalMemoryDumpUsedSizes(globalMemoryDump,addSize){for(const[pid,pmd]of 9189Object.entries(globalMemoryDump.processMemoryDumps)){const mostRecentVmRegions=pmd.mostRecentVmRegions;if(mostRecentVmRegions===undefined)continue;addSize(pid,mostRecentVmRegions.byteStats.proportionalResident||0,pmd.process.userFriendlyName);}} 9190function extractProcessMemoryDumpAllocatorSizes(processMemoryDump,addSize){const allocatorDumps=processMemoryDump.memoryAllocatorDumps;if(allocatorDumps===undefined)return;allocatorDumps.forEach(function(allocatorDump){if(allocatorDump.fullName==='tracing')return;const allocatorSize=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(allocatorSize===undefined)return;const allocatorSizeValue=allocatorSize.value;if(allocatorSizeValue===undefined)return;addSize(allocatorDump.fullName,allocatorSizeValue);});} 9191function extractGlobalMemoryDumpAllocatorSizes(globalMemoryDump,addSize){for(const pmd of Object.values(globalMemoryDump.processMemoryDumps)){extractProcessMemoryDumpAllocatorSizes(pmd,addSize);}} 9192function buildMemoryChartSeries(memoryDumps,dumpSizeExtractor){const dumpCount=memoryDumps.length;const idToTimestampToPoint={};const idToName={};memoryDumps.forEach(function(dump,index){dumpSizeExtractor(dump,function addSize(id,size,opt_name){let timestampToPoint=idToTimestampToPoint[id];if(timestampToPoint===undefined){idToTimestampToPoint[id]=timestampToPoint=new Array(dumpCount);for(let i=0;i<dumpCount;i++){const modelItem=memoryDumps[i];timestampToPoint[i]=new tr.ui.tracks.ChartPoint(modelItem,modelItem.start,0);}} 9193timestampToPoint[index].y+=size;if(opt_name!==undefined)idToName[id]=opt_name;});});const ids=Object.keys(idToTimestampToPoint);if(ids.length===0)return undefined;ids.sort();for(let i=0;i<dumpCount;i++){let baseSize=0;for(let j=ids.length-1;j>=0;j--){const point=idToTimestampToPoint[ids[j]][i];point.yBase=baseSize;point.y+=baseSize;baseSize=point.y;}} 9194const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0);const series=ids.map(function(id){const colorId=ColorScheme.getColorIdForGeneralPurposeString(idToName[id]||id);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId,backgroundOpacity:0.8};return new tr.ui.tracks.ChartSeries(idToTimestampToPoint[id],seriesYAxis,renderingConfig);});series.reverse();return series;} 9195function buildMemoryLetterDots(memoryDumps){const backgroundMemoryColorId=ColorScheme.getColorIdForReservedName('background_memory_dump');const lightMemoryColorId=ColorScheme.getColorIdForReservedName('light_memory_dump');const detailedMemoryColorId=ColorScheme.getColorIdForReservedName('detailed_memory_dump');return memoryDumps.map(function(memoryDump){let memoryColorId;switch(memoryDump.levelOfDetail){case BACKGROUND:memoryColorId=backgroundMemoryColorId;break;case DETAILED:memoryColorId=detailedMemoryColorId;break;case LIGHT:default:memoryColorId=lightMemoryColorId;} 9196return new tr.ui.tracks.LetterDot(memoryDump,'M',memoryColorId,memoryDump.start);});} 9197function buildGlobalUsedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpUsedSizes);} 9198function buildProcessAllocatedMemoryChartSeries(processMemoryDumps){return buildMemoryChartSeries(processMemoryDumps,extractProcessMemoryDumpAllocatorSizes);} 9199function buildGlobalAllocatedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpAllocatorSizes);} 9200return{buildMemoryLetterDots,buildGlobalUsedMemoryChartSeries,buildProcessAllocatedMemoryChartSeries,buildGlobalAllocatedMemoryChartSeries,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const USED_MEMORY_TRACK_HEIGHT=50;const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const GlobalMemoryDumpTrack=tr.ui.b.define('global-memory-dump-track',tr.ui.tracks.ContainerTrack);GlobalMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendDumpDotsTrack_();this.appendUsedMemoryTrack_();this.appendAllocatedMemoryTrack_();},appendDumpDotsTrack_(){const items=tr.ui.tracks.buildMemoryLetterDots(this.memoryDumps_);if(!items)return;const track=new tr.ui.tracks.LetterDotTrack(this.viewport);track.heading='Memory Dumps';track.items=items;Polymer.dom(this).appendChild(track);},appendUsedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalUsedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per process';track.height=USED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{GlobalMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.b',function(){function FastRectRenderer(ctx,minRectSize,maxMergeDist,pallette){this.ctx_=ctx;this.minRectSize_=minRectSize;this.maxMergeDist_=maxMergeDist;this.pallette_=pallette;} 9201FastRectRenderer.prototype={y_:0,h_:0,merging_:false,mergeStartX_:0,mergeCurRight_:0,mergedColorId_:0,mergedAlpha_:0,setYandH(y,h){if(this.y_===y&&this.h_===h){return;} 9202this.flush();this.y_=y;this.h_=h;},fillRect(x,w,colorId,alpha){const r=x+w;if(w<this.minRectSize_){if(r-this.mergeStartX_>this.maxMergeDist_){this.flush();} 9203if(!this.merging_){this.merging_=true;this.mergeStartX_=x;this.mergeCurRight_=r;this.mergedColorId_=colorId;this.mergedAlpha_=alpha;}else{this.mergeCurRight_=r;if(this.mergedAlpha_<alpha||(this.mergedAlpha_===alpha&&this.mergedColorId_<colorId)){this.mergedAlpha_=alpha;this.mergedColorId_=colorId;}}}else{if(this.merging_){this.flush();} 9204this.ctx_.fillStyle=this.pallette_[colorId];this.ctx_.globalAlpha=alpha;this.ctx_.fillRect(x,this.y_,w,this.h_);}},flush(){if(this.merging_){this.ctx_.fillStyle=this.pallette_[this.mergedColorId_];this.ctx_.globalAlpha=this.mergedAlpha_;this.ctx_.fillRect(this.mergeStartX_,this.y_,this.mergeCurRight_-this.mergeStartX_,this.h_);this.merging_=false;}}};return{FastRectRenderer,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const RectTrack=tr.ui.b.define('rect-track',tr.ui.tracks.Track);RectTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('rect-track');this.asyncStyle_=false;this.rects_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},set selectionGenerator(generator){this.heading_.selectionGenerator=generator;},set expanded(expanded){this.heading_.expanded=!!expanded;},set arrowVisible(arrowVisible){this.heading_.arrowVisible=!!arrowVisible;},get expanded(){return this.heading_.expanded;},get asyncStyle(){return this.asyncStyle_;},set asyncStyle(v){this.asyncStyle_=!!v;},get rects(){return this.rects_;},set rects(rects){this.rects_=rects||[];this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get hasVisibleContent(){return this.rects_.length>0;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawRects_(viewLWorld,viewRWorld);break;}},drawRects_(viewLWorld,viewRWorld){const ctx=this.context();ctx.save();const bounds=this.getBoundingClientRect();tr.ui.b.drawSlices(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.rects_,this.asyncStyle_);ctx.restore();if(bounds.height<=6)return;let fontSize;let yOffset;if(bounds.height<15){fontSize=6;yOffset=1.0;}else{fontSize=10;yOffset=2.5;} 9205tr.ui.b.drawLabels(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,this.rects_,this.asyncStyle_,fontSize,yOffset);},addEventsToTrackMap(eventToTrackMap){if(this.rects_===undefined||this.rects_===null){return;} 9206this.rects_.forEach(function(rect){rect.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onRect(rect){rect.addToSelection(selection);} 9207onRect=onRect.bind(this);const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.rects_,function(x){return x.start;},function(x){return x.duration===0?x.duration+instantEventWidth:x.duration;},loWX,hiWX,onRect);},addEventNearToProvidedEventToSelection(event,offset,selection){const index=tr.b.findFirstIndexInArray(this.rects_,function(rect){return rect.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.rects_.length)return false;this.rects_[newIndex].addToSelection(selection);return true;},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.rects_.length;++i){const modelItem=this.rects_[i].modelItem;if(!modelItem)continue;if(filter.matchSlice(modelItem)){selection.push(modelItem);}}},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const rect=tr.b.math.findClosestIntervalInSortedIntervals(this.rects_,function(x){return x.start;},function(x){return x.end;},worldX,worldMaxDist);if(!rect)return;rect.addToSelection(selection);}};function Rect(modelItem,title,colorId,start,duration){tr.model.ProxySelectableItem.call(this,modelItem);this.title=title;this.colorId=colorId;this.start=start;this.duration=duration;this.end=start+duration;} 9208Rect.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{RectTrack,Rect,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceTrack=tr.ui.b.define('slice-track',tr.ui.tracks.RectTrack);SliceTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get slices(){return this.rects;},set slices(slices){this.rects=slices;}};return{SliceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CpuTrack=tr.ui.b.define('cpu-track',tr.ui.tracks.ContainerTrack);CpuTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('cpu-track');this.detailedMode_=true;},get cpu(){return this.cpu_;},set cpu(cpu){this.cpu_=cpu;this.updateContents_();},get detailedMode(){return this.detailedMode_;},set detailedMode(detailedMode){this.detailedMode_=detailedMode;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(value){this.tooltip_=value;this.updateContents_();},get hasVisibleContent(){if(this.cpu_===undefined)return false;const cpu=this.cpu_;if(cpu.slices.length)return true;if(cpu.samples&&cpu.samples.length)return true;if(Object.keys(cpu.counters).length>0)return true;return false;},updateContents_(){this.detach();if(!this.cpu_)return;const slices=this.cpu_.slices;if(slices.length){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;track.heading=this.cpu_.userFriendlyName+':';Polymer.dom(this).appendChild(track);} 9209if(this.detailedMode_){this.appendSamplesTracks_();for(const counterName in this.cpu_.counters){const counter=this.cpu_.counters[counterName];const track=new tr.ui.tracks.CounterTrack(this.viewport);track.heading=this.cpu_.userFriendlyName+' '+ 9210counter.name+':';track.counter=counter;Polymer.dom(this).appendChild(track);}}},appendSamplesTracks_(){const samples=this.cpu_.samples;if(samples===undefined||samples.length===0){return;} 9211const samplesByTitle={};samples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];} 9212samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SliceTrack(this.viewport);samplesTrack.group=this.cpu_;samplesTrack.slices=samples;samplesTrack.heading=this.cpu_.userFriendlyName+': '+ 9213sampleTitle;samplesTrack.tooltip=this.cpu_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.slices.length;i++){selection.push(samplesTrack.slices[i]);} 9214return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);}};return{CpuTrack,};});'use strict';tr.exportTo('tr.model',function(){const Settings=tr.b.Settings;function ModelSettings(model){this.model=model;this.objectsByKey_=[];this.nonuniqueKeys_=[];this.buildObjectsByKeyMap_();this.removeNonuniqueKeysFromSettings_();this.ephemeralSettingsByGUID_={};} 9215ModelSettings.prototype={buildObjectsByKeyMap_(){const objects=[];this.model.iterateAllPersistableObjects(function(o){objects.push(o);});const objectsByKey={};const NONUNIQUE_KEY='nonuniqueKey';for(let i=0;i<objects.length;i++){const object=objects[i];const objectKey=object.getSettingsKey();if(!objectKey)continue;if(objectsByKey[objectKey]===undefined){objectsByKey[objectKey]=object;continue;} 9216objectsByKey[objectKey]=NONUNIQUE_KEY;} 9217const nonuniqueKeys={};Object.keys(objectsByKey).forEach(function(objectKey){if(objectsByKey[objectKey]!==NONUNIQUE_KEY){return;} 9218delete objectsByKey[objectKey];nonuniqueKeys[objectKey]=true;});this.nonuniqueKeys=nonuniqueKeys;this.objectsByKey_=objectsByKey;},removeNonuniqueKeysFromSettings_(){const settings=Settings.get('trace_model_settings',{});let settingsChanged=false;Object.keys(settings).forEach(function(objectKey){if(!this.nonuniqueKeys[objectKey]){return;} 9219settingsChanged=true;delete settings[objectKey];},this);if(settingsChanged){Settings.set('trace_model_settings',settings);}},hasUniqueSettingKey(object){const objectKey=object.getSettingsKey();if(!objectKey)return false;return this.objectsByKey_[objectKey]!==undefined;},getSettingFor(object,objectLevelKey,defaultValue){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){const settings=this.getEphemeralSettingsFor_(object);const ephemeralValue=settings[objectLevelKey];if(ephemeralValue!==undefined){return ephemeralValue;} 9220return defaultValue;} 9221const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};} 9222const value=settings[objectKey][objectLevelKey];if(value!==undefined){return value;} 9223return defaultValue;},setSettingFor(object,objectLevelKey,value){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){this.getEphemeralSettingsFor_(object)[objectLevelKey]=value;return;} 9224const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};} 9225if(settings[objectKey][objectLevelKey]===value){return;} 9226settings[objectKey][objectLevelKey]=value;Settings.set('trace_model_settings',settings);},getEphemeralSettingsFor_(object){if(object.guid===undefined){throw new Error('Only objects with GUIDs can be persisted');} 9227if(this.ephemeralSettingsByGUID_[object.guid]===undefined){this.ephemeralSettingsByGUID_[object.guid]={};} 9228return this.ephemeralSettingsByGUID_[object.guid];}};return{ModelSettings,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CounterTrack=tr.ui.b.define('counter-track',tr.ui.tracks.ChartTrack);CounterTrack.prototype={__proto__:tr.ui.tracks.ChartTrack.prototype,decorate(viewport){tr.ui.tracks.ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('counter-track');},get counter(){return this.chart;},set counter(counter){this.heading=counter.name+': ';this.series=CounterTrack.buildChartSeriesFromCounter(counter);this.autoSetAllAxes({expandMax:true});},getModelEventFromItem(chartValue){return chartValue;}};CounterTrack.buildChartSeriesFromCounter=function(counter){const numSeries=counter.series.length;const totals=counter.totals;const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const chartSeries=counter.series.map(function(series,seriesIndex){const chartPoints=series.samples.map(function(sample,sampleIndex){const total=totals[sampleIndex*numSeries+seriesIndex];return new tr.ui.tracks.ChartPoint(sample,sample.timestamp,total);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:series.color};return new tr.ui.tracks.ChartSeries(chartPoints,seriesYAxis,renderingConfig);});chartSeries.reverse();return chartSeries;};return{CounterTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const startCompare=function(x,y){return x.start-y.start;};const FrameTrack=tr.ui.b.define('frame-track',tr.ui.tracks.LetterDotTrack);FrameTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Frames';this.frames_=undefined;this.items=undefined;},get frames(){return this.frames_;},set frames(frames){this.frames_=frames;if(frames===undefined)return;this.frames_=this.frames_.slice();this.frames_.sort(startCompare);this.items=this.frames_.map(function(frame){return new FrameDot(frame);});}};function FrameDot(frame){tr.ui.tracks.LetterDot.call(this,frame,'F',frame.colorId,frame.start);} 9229FrameDot.prototype={__proto__:tr.ui.tracks.LetterDot.prototype};return{FrameTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const MultiRowTrack=tr.ui.b.define('multi-row-track',tr.ui.tracks.ContainerTrack);MultiRowTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.tooltip_='';this.heading_='';this.groupingSource_=undefined;this.itemsToGroup_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=1;this.itemsGroupedOnLastUpdateContents_=undefined;this.currentSubRows_=[];this.expanded_=true;},get itemsToGroup(){return this.itemsToGroup_;},setItemsToGroup(itemsToGroup,opt_groupingSource){this.itemsToGroup_=itemsToGroup;this.groupingSource_=opt_groupingSource;this.updateContents_();this.updateExpandedStateFromGroupingSource_();},get heading(){return this.heading_;},set heading(h){this.heading_=h;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(t){this.tooltip_=t;this.updateContents_();},get subRows(){return this.currentSubRows_;},get hasVisibleContent(){return this.children.length>0;},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=expanded;this.expandedStateChanged_();},onHeadingClicked_(e){if(this.subRows.length<=1)return;this.expanded=!this.expanded;if(this.groupingSource_){const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);modelSettings.setSettingFor(this.groupingSource_,'expanded',this.expanded);} 9230e.stopPropagation();},updateExpandedStateFromGroupingSource_(){if(this.groupingSource_){const numSubRows=this.subRows.length;const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);if(numSubRows>1){let defaultExpanded;if(numSubRows>this.defaultToCollapsedWhenSubRowCountMoreThan){defaultExpanded=false;}else{defaultExpanded=true;} 9231this.expanded=modelSettings.getSettingFor(this.groupingSource_,'expanded',defaultExpanded);}else{this.expanded=undefined;}}},expandedStateChanged_(){const minH=Math.max(2,Math.ceil(18/this.children.length));const h=(this.expanded_?18:minH)+'px';for(let i=0;i<this.children.length;i++){this.children[i].height=h;if(i===0){this.children[i].arrowVisible=true;} 9232this.children[i].expanded=this.expanded;} 9233if(this.children.length===1){this.children[0].expanded=true;this.children[0].arrowVisible=false;}},updateContents_(){tr.ui.tracks.ContainerTrack.prototype.updateContents_.call(this);if(!this.itemsToGroup_){this.updateHeadingAndTooltip_();this.currentSubRows_=[];return;} 9234if(this.areArrayContentsSame_(this.itemsGroupedOnLastUpdateContents_,this.itemsToGroup_)){this.updateHeadingAndTooltip_();return;} 9235this.itemsGroupedOnLastUpdateContents_=this.itemsToGroup_;this.detach();if(!this.itemsToGroup_.length){this.currentSubRows_=[];return;} 9236const subRows=this.buildSubRows_(this.itemsToGroup_);this.currentSubRows_=subRows;for(let srI=0;srI<subRows.length;srI++){const subRow=subRows[srI];if(!subRow.length)continue;const track=this.addSubTrack_(subRow);track.addEventListener('heading-clicked',this.onHeadingClicked_.bind(this));} 9237this.updateHeadingAndTooltip_();this.expandedStateChanged_();},updateHeadingAndTooltip_(){if(!Polymer.dom(this).firstChild)return;Polymer.dom(this).firstChild.heading=this.heading_;Polymer.dom(this).firstChild.tooltip=this.tooltip_;},buildSubRows_(itemsToGroup){throw new Error('Not implemented');},addSubTrack_(subRowItems){throw new Error('Not implemented');},areArrayContentsSame_(a,b){if(!a||!b)return false;if(!a.length||!b.length)return false;if(a.length!==b.length)return false;for(let i=0;i<a.length;++i){if(a[i]!==b[i])return false;} 9238return true;}};return{MultiRowTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectInstanceGroupTrack=tr.ui.b.define('object-instance-group-track',tr.ui.tracks.MultiRowTrack);ObjectInstanceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-group-track');this.objectInstances_=undefined;},get objectInstances(){return this.itemsToGroup;},set objectInstances(objectInstances){this.setItemsToGroup(objectInstances);},addSubTrack_(objectInstances){const hasMultipleRows=this.subRows.length>1;const track=new tr.ui.tracks.ObjectInstanceTrack(this.viewport);track.objectInstances=objectInstances;Polymer.dom(this).appendChild(track);return track;},buildSubRows_(objectInstances){objectInstances.sort(function(x,y){return x.creationTs-y.creationTs;});const subRows=[];for(let i=0;i<objectInstances.length;i++){const objectInstance=objectInstances[i];let found=false;for(let j=0;j<subRows.length;j++){const subRow=subRows[j];const lastItemInSubRow=subRow[subRow.length-1];if(objectInstance.creationTs>=lastItemInSubRow.deletionTs){found=true;subRow.push(objectInstance);break;}} 9239if(!found){subRows.push([objectInstance]);}} 9240return subRows;},updateHeadingAndTooltip_(){}};return{ObjectInstanceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AsyncSliceGroupTrack=tr.ui.b.define('async-slice-group-track',tr.ui.tracks.MultiRowTrack);AsyncSliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('async-slice-group-track');this.group_=undefined;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);track.asyncStyle=true;return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices,opt_skipSort){if(!opt_skipSort){slices.sort(function(x,y){return x.start-y.start;});} 9241const findLevel=function(sliceToPut,rows,n){if(n>=rows.length){return true;} 9242const subRow=rows[n];const lastSliceInSubRow=subRow[subRow.length-1];if(sliceToPut.start>=lastSliceInSubRow.end){if(sliceToPut.subSlices===undefined||sliceToPut.subSlices.length===0){return true;} 9243for(const subSlice of sliceToPut.subSlices){if(!findLevel(subSlice,rows,n+1)){return false;}} 9244return true;} 9245return false;};const subRows=[];for(const slice of slices){let found=false;let index=subRows.length;for(let j=0;j<subRows.length;j++){if(findLevel(slice,subRows,j)){found=true;index=j;break;}} 9246if(!found){subRows.push([]);} 9247subRows[index].push(slice);const fitSubSlicesRecursively=function(subSlices,level,rows){if(subSlices===undefined||subSlices.length===0){return;} 9248if(level===rows.length){rows.push([]);} 9249for(const subSlice of subSlices){rows[level].push(subSlice);fitSubSlicesRecursively(subSlice.subSlices,level+1,rows);}};fitSubSlicesRecursively(slice.subSlices,index+1,subRows);} 9250return subRows;}};return{AsyncSliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SampleTrack=tr.ui.b.define('sample-track',tr.ui.tracks.RectTrack);SampleTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get samples(){return this.rects;},set samples(samples){this.rects=samples;}};return{SampleTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceGroupTrack=tr.ui.b.define('slice-group-track',tr.ui.tracks.MultiRowTrack);SliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('slice-group-track');this.group_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=100;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices){const precisionUnit=this.group.model.intrinsicTimeUnit;if(!slices.length)return[];const ops=[];for(let i=0;i<slices.length;i++){if(slices[i].subSlices){slices[i].subSlices.splice(0,slices[i].subSlices.length);} 9251ops.push(i);} 9252ops.sort(function(ix,iy){const x=slices[ix];const y=slices[iy];if(x.start!==y.start)return x.start-y.start;return ix-iy;});const subRows=[[]];this.badSlices_=[];for(let i=0;i<ops.length;i++){const op=ops[i];const slice=slices[op];let inserted=false;for(let j=subRows.length-1;j>=0;j--){if(subRows[j].length===0)continue;const insertedSlice=subRows[j][subRows[j].length-1];if(slice.start<insertedSlice.start){this.badSlices_.push(slice);inserted=true;} 9253if(insertedSlice.bounds(slice,precisionUnit)){while(subRows.length<=j+1){subRows.push([]);} 9254subRows[j+1].push(slice);if(insertedSlice.subSlices){insertedSlice.subSlices.push(slice);} 9255inserted=true;break;}} 9256if(inserted)continue;subRows[0].push(slice);} 9257return subRows;}};return{SliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ThreadTrack=tr.ui.b.define('thread-track',tr.ui.tracks.ContainerTrack);ThreadTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('thread-track');this.heading_=document.createElement('tr-ui-b-heading');},get thread(){return this.thread_;},set thread(thread){this.thread_=thread;this.updateContents_();},get hasVisibleContent(){return this.tracks_.length>0;},get hasSlices(){return this.thread_.asyncSliceGroup.length>0||this.thread_.sliceGroup.length>0;},get hasTimeSlices(){return this.thread_.timeSlices;},get eventContainer(){return this.thread;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.thread,this);},updateContents_(){this.detach();if(!this.thread_)return;this.heading_.heading=this.thread_.userFriendlyName;this.heading_.tooltip=this.thread_.userFriendlyDetails;if(this.thread_.asyncSliceGroup.length){this.appendAsyncSliceTracks_();} 9258this.appendThreadSamplesTracks_();let needsHeading=false;if(this.thread_.timeSlices){const timeSlicesTrack=new tr.ui.tracks.SliceTrack(this.viewport);timeSlicesTrack.heading='';timeSlicesTrack.height=tr.ui.b.THIN_SLICE_HEIGHT+'px';timeSlicesTrack.slices=this.thread_.timeSlices;if(timeSlicesTrack.hasVisibleContent){needsHeading=true;Polymer.dom(this).appendChild(timeSlicesTrack);}} 9259if(this.thread_.sliceGroup.length){const track=new tr.ui.tracks.SliceGroupTrack(this.viewport);track.heading=this.thread_.userFriendlyName;track.tooltip=this.thread_.userFriendlyDetails;track.group=this.thread_.sliceGroup;if(track.hasVisibleContent){needsHeading=false;Polymer.dom(this).appendChild(track);}} 9260if(needsHeading){Polymer.dom(this).appendChild(this.heading_);}},appendAsyncSliceTracks_(){const subGroups=this.thread_.asyncSliceGroup.viewSubGroups;subGroups.forEach(function(subGroup){const asyncTrack=new tr.ui.tracks.AsyncSliceGroupTrack(this.viewport);const title=subGroup.slices[0].viewSubGroupTitle;asyncTrack.group=subGroup;asyncTrack.heading=title;if(asyncTrack.hasVisibleContent){Polymer.dom(this).appendChild(asyncTrack);}},this);},appendThreadSamplesTracks_(){const threadSamples=this.thread_.samples;if(threadSamples===undefined||threadSamples.length===0){return;} 9261const samplesByTitle={};threadSamples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];} 9262samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SampleTrack(this.viewport);samplesTrack.group=this.thread_;samplesTrack.samples=samples;samplesTrack.heading=this.thread_.userFriendlyName+': '+ 9263sampleTitle;samplesTrack.tooltip=this.thread_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.samples.length;i++){selection.push(samplesTrack.samples[i]);} 9264return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);},collapsedDidChange(collapsed){if(collapsed){let h=parseInt(this.tracks[0].height);for(let i=0;i<this.tracks.length;++i){if(h>2){this.tracks[i].height=Math.floor(h)+'px';}else{this.tracks[i].style.display='none';} 9265h=h*0.5;}}else{for(let i=0;i<this.tracks.length;++i){this.tracks[i].height=this.tracks[0].height;this.tracks[i].style.display='';}}}};return{ThreadTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const OtherThreadsTrack=tr.ui.b.define('other-threads-track',tr.ui.tracks.OtherThreadsTrack);const SpacingTrack=tr.ui.tracks.SpacingTrack;OtherThreadsTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.header_=document.createElement('tr-ui-b-heading');this.header_.addEventListener('click',this.onHeaderClick_.bind(this));this.header_.heading='Other Threads';this.header_.tooltip='Threads with only scheduling information';this.header_.arrowVisible=true;this.threads_=[];this.expanded=false;this.collapsible_=true;},set threads(threads){this.threads_=threads;this.updateContents_();},set collapsible(collapsible){this.collapsible_=collapsible;this.updateContents_();},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},get expanded(){return this.header_.expanded;},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;this.header_.expanded=expanded;this.viewport_.dispatchChangeEvent();this.updateContents_();},updateContents_(){this.detach();if(this.collapsible_){Polymer.dom(this).appendChild(this.header_);} 9266if(this.expanded||!this.collapsible_){for(const thread of this.threads_){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}}};return{OtherThreadsTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ProcessSummaryTrack=tr.ui.b.define('process-summary-track',tr.ui.tracks.RectTrack);ProcessSummaryTrack.buildRectsFromProcess=function(process){if(!process)return[];const ops=[];const pushOp=function(isStart,time,slice){ops.push({isStart,time,slice});};for(const tid in process.threads){const sliceGroup=process.threads[tid].sliceGroup;sliceGroup.topLevelSlices.forEach(function(slice){pushOp(true,slice.start,undefined);pushOp(false,slice.end,undefined);});sliceGroup.slices.forEach(function(slice){if(slice.important){pushOp(true,slice.start,slice);pushOp(false,slice.end,slice);}});} 9267ops.sort(function(a,b){return a.time-b.time;});const rects=[];const genericColorId=ColorScheme.getColorIdForReservedName('generic_work');const pushRect=function(start,end,slice){rects.push(new tr.ui.tracks.Rect(slice,slice?slice.title:'',slice?slice.colorId:genericColorId,start,end-start));};let depth=0;let currentSlice=undefined;let lastStart=undefined;ops.forEach(function(op){depth+=op.isStart?1:-1;if(currentSlice){if(!op.isStart&&op.slice===currentSlice){pushRect(lastStart,op.time,currentSlice);lastStart=depth>=1?op.time:undefined;currentSlice=undefined;}}else{if(op.isStart){if(depth===1){lastStart=op.time;currentSlice=op.slice;}else if(op.slice){if(op.time!==lastStart){pushRect(lastStart,op.time,undefined);lastStart=op.time;} 9268currentSlice=op.slice;}}else{if(depth===0){pushRect(lastStart,op.time,undefined);lastStart=undefined;}}}});return rects;};ProcessSummaryTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get process(){return this.process_;},set process(process){this.process_=process;this.rects=ProcessSummaryTrack.buildRectsFromProcess(process);}};return{ProcessSummaryTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectSnapshotView=tr.ui.analysis.ObjectSnapshotView;const ObjectInstanceView=tr.ui.analysis.ObjectInstanceView;const SpacingTrack=tr.ui.tracks.SpacingTrack;const ProcessTrackBase=tr.ui.b.define('process-track-base',tr.ui.tracks.ContainerTrack);ProcessTrackBase.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.processBase_=undefined;Polymer.dom(this).classList.add('process-track-base');Polymer.dom(this).classList.add('expanded');this.processNameEl_=tr.ui.b.createSpan();Polymer.dom(this.processNameEl_).classList.add('process-track-name');this.headerEl_=tr.ui.b.createDiv({className:'process-track-header'});Polymer.dom(this.headerEl_).appendChild(this.processNameEl_);this.headerEl_.addEventListener('click',this.onHeaderClick_.bind(this));Polymer.dom(this).appendChild(this.headerEl_);},get processBase(){return this.processBase_;},set processBase(processBase){this.processBase_=processBase;if(this.processBase_){const modelSettings=new tr.model.ModelSettings(this.processBase_.model);const defaultValue=this.processBase_.important;this.expanded=modelSettings.getSettingFor(this.processBase_,'expanded',defaultValue);} 9269this.updateContents_();},get expanded(){return Polymer.dom(this).classList.contains('expanded');},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;Polymer.dom(this).classList.toggle('expanded');this.viewport_.dispatchChangeEvent();if(!this.processBase_)return;const modelSettings=new tr.model.ModelSettings(this.processBase_.model);modelSettings.setSettingFor(this.processBase_,'expanded',expanded);this.updateContents_();this.viewport.rebuildEventToTrackMap();this.viewport.rebuildContainerToTrackMap();},get hasVisibleContent(){if(this.expanded){return this.children.length>1;} 9270return true;},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},updateContents_(){this.clearTracks_();if(!this.processBase_)return;Polymer.dom(this.processNameEl_).textContent=this.processBase_.userFriendlyName;this.headerEl_.title=this.processBase_.userFriendlyDetails;this.willAppendTracks_();if(this.expanded){this.appendMemoryDumpTrack_();this.appendObjectInstanceTracks_();this.appendCounterTracks_();this.appendFrameTrack_();this.appendThreadTracks_();}else{this.appendSummaryTrack_();} 9271this.didAppendTracks_();},willAppendTracks_(){},didAppendTracks_(){},appendMemoryDumpTrack_(){},appendSummaryTrack_(){const track=new tr.ui.tracks.ProcessSummaryTrack(this.viewport);track.process=this.process;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendFrameTrack_(){const frames=this.process?this.process.frames:undefined;if(!frames||!frames.length)return;const track=new tr.ui.tracks.FrameTrack(this.viewport);track.frames=frames;Polymer.dom(this).appendChild(track);},appendObjectInstanceTracks_(){const instancesByTypeName=this.processBase_.objects.getAllInstancesByTypeName();const instanceTypeNames=Object.keys(instancesByTypeName);instanceTypeNames.sort();let didAppendAtLeastOneTrack=false;instanceTypeNames.forEach(function(typeName){const allInstances=instancesByTypeName[typeName];let instanceViewInfo=ObjectInstanceView.getTypeInfo(undefined,typeName);let snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(instanceViewInfo&&!instanceViewInfo.metadata.showInTrackView){instanceViewInfo=undefined;} 9272if(snapshotViewInfo&&!snapshotViewInfo.metadata.showInTrackView){snapshotViewInfo=undefined;} 9273const hasViewInfo=instanceViewInfo||snapshotViewInfo;const visibleInstances=[];for(let i=0;i<allInstances.length;i++){const instance=allInstances[i];if(instance.snapshots.length===0)continue;if(instance.hasImplicitSnapshots&&!hasViewInfo)continue;visibleInstances.push(instance);} 9274if(visibleInstances.length===0)return;let trackConstructor=tr.ui.tracks.ObjectInstanceTrack.getConstructor(undefined,typeName);if(!trackConstructor){snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(snapshotViewInfo&&snapshotViewInfo.metadata.showInstances){trackConstructor=tr.ui.tracks.ObjectInstanceGroupTrack;}else{trackConstructor=tr.ui.tracks.ObjectInstanceTrack;}} 9275const track=new trackConstructor(this.viewport);track.objectInstances=visibleInstances;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;},this);if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}},appendCounterTracks_(){const counters=Object.values(this.processBase.counters);counters.sort(tr.model.Counter.compare);counters.forEach(function(counter){const track=new tr.ui.tracks.CounterTrack(this.viewport);track.counter=counter;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}.bind(this));},appendThreadTracks_(){const threads=Object.values(this.processBase.threads);threads.sort(tr.model.Thread.compare);const otherThreads=[];let hasVisibleThreads=false;threads.forEach(function(thread){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;if(track.hasSlices){hasVisibleThreads=true;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}else if(track.hasTimeSlices){otherThreads.push(thread);}}.bind(this));if(otherThreads.length>0){const track=new tr.ui.tracks.OtherThreadsTrack(this.viewport);track.threads=otherThreads;track.collapsible=otherThreads.length>1&&hasVisibleThreads;Polymer.dom(this).appendChild(track);}}};return{ProcessTrackBase,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Cpu=tr.model.Cpu;const CpuTrack=tr.ui.tracks.cpu_track;const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const SpacingTrack=tr.ui.tracks.SpacingTrack;const KernelTrack=tr.ui.b.define('kernel-track',ProcessTrackBase);KernelTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){ProcessTrackBase.prototype.decorate.call(this,viewport);},set kernel(kernel){this.processBase=kernel;},get kernel(){return this.processBase;},get eventContainer(){return this.kernel;},get hasVisibleContent(){return this.children.length>1;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.kernel,this);},willAppendTracks_(){const cpus=Object.values(this.kernel.cpus);cpus.sort(tr.model.Cpu.compare);let didAppendAtLeastOneTrack=false;for(let i=0;i<cpus.length;++i){const cpu=cpus[i];const track=new tr.ui.tracks.CpuTrack(this.viewport);track.detailedMode=this.expanded;track.cpu=cpu;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;} 9276if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}};return{KernelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const InteractionTrack=tr.ui.b.define('interaction-track',tr.ui.tracks.MultiRowTrack);InteractionTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);this.heading='Interactions';this.subRows_=[];},set model(model){this.setItemsToGroup(model.userModel.expectations,{guid:tr.b.GUID.allocateSimple(),model,getSettingsKey(){return undefined;}});},buildSubRows_(slices){if(this.subRows_.length){return this.subRows_;} 9277this.subRows_.push.apply(this.subRows_,tr.ui.tracks.AsyncSliceGroupTrack.prototype.buildSubRows_.call({},slices,true));return this.subRows_;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;}};return{InteractionTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const ProcessMemoryDumpTrack=tr.ui.b.define('process-memory-dump-track',tr.ui.tracks.ContainerTrack);ProcessMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendAllocatedMemoryTrack_();},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildProcessAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{ProcessMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const ProcessTrack=tr.ui.b.define('process-track',ProcessTrackBase);ProcessTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){tr.ui.tracks.ProcessTrackBase.prototype.decorate.call(this,viewport);},drawTrack(type){switch(type){case tr.ui.tracks.DrawType.INSTANT_EVENT:{if(!this.processBase.instantEvents||this.processBase.instantEvents.length===0){break;} 9278const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.processBase.instantEvents,2);ctx.restore();break;} 9279case tr.ui.tracks.DrawType.BACKGROUND:this.drawBackground_();return;} 9280tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawBackground_(){const ctx=this.context();const canvasBounds=ctx.canvas.getBoundingClientRect();const pixelRatio=window.devicePixelRatio||1;let draw=false;ctx.fillStyle='#eee';for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)||(this.children[i]instanceof tr.ui.tracks.SpacingTrack)){continue;} 9281draw=!draw;if(!draw)continue;const bounds=this.children[i].getBoundingClientRect();ctx.fillRect(0,pixelRatio*(bounds.top-canvasBounds.top),ctx.canvas.width,pixelRatio*bounds.height);}},set process(process){this.processBase=process;},get process(){return this.processBase;},get eventContainer(){return this.process;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.process,this);},appendMemoryDumpTrack_(){const processMemoryDumps=this.process.memoryDumps;if(processMemoryDumps.length){const pmdt=new tr.ui.tracks.ProcessMemoryDumpTrack(this.viewport_);pmdt.memoryDumps=processMemoryDumps;Polymer.dom(this).appendChild(pmdt);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);} 9282const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.processBase.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.processBase.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ProcessTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const ModelTrack=tr.ui.b.define('model-track',tr.ui.tracks.ContainerTrack);ModelTrack.VSYNC_HIGHLIGHT_ALPHA=0.1;ModelTrack.VSYNC_DENSITY_TRANSPARENT=0.20;ModelTrack.VSYNC_DENSITY_OPAQUE=0.10;ModelTrack.VSYNC_DENSITY_RANGE=ModelTrack.VSYNC_DENSITY_TRANSPARENT-ModelTrack.VSYNC_DENSITY_OPAQUE;ModelTrack.generateStripes_=function(times,minTime,maxTime){if(times.length===0)return[];const lowIndex=tr.b.math.findLowIndexInSortedArray(times,tr.b.identity,minTime);let highIndex=lowIndex-1;while(times[highIndex+1]<=maxTime){highIndex++;} 9283const stripes=[];for(let i=lowIndex-(lowIndex%2);i<=highIndex;i+=2){const left=i<lowIndex?minTime:times[i];const right=i+1>highIndex?maxTime:times[i+1];stripes.push(tr.b.math.Range.fromExplicitRange(left,right));} 9284return stripes;};ModelTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('model-track');this.upperMode_=false;this.annotationViews_=[];this.vSyncTimes_=[];},get upperMode(){return this.upperMode_;},set upperMode(upperMode){this.upperMode_=upperMode;this.updateContents_();},detach(){tr.ui.tracks.ContainerTrack.prototype.detach.call(this);},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();this.model_.addEventListener('annotationChange',this.updateAnnotations_.bind(this));},get hasVisibleContent(){return this.children.length>0;},updateContents_(){Polymer.dom(this).textContent='';if(!this.model_)return;if(this.upperMode_){this.updateContentsForUpperMode_();}else{this.updateContentsForLowerMode_();}},updateContentsForUpperMode_(){},updateContentsForLowerMode_(){if(this.model_.userModel.expectations.length>1){const mrt=new tr.ui.tracks.InteractionTrack(this.viewport_);mrt.model=this.model_;Polymer.dom(this).appendChild(mrt);} 9285if(this.model_.alerts.length){const at=new tr.ui.tracks.AlertTrack(this.viewport_);at.alerts=this.model_.alerts;Polymer.dom(this).appendChild(at);} 9286if(this.model_.globalMemoryDumps.length){const gmdt=new tr.ui.tracks.GlobalMemoryDumpTrack(this.viewport_);gmdt.memoryDumps=this.model_.globalMemoryDumps;Polymer.dom(this).appendChild(gmdt);} 9287this.appendDeviceTrack_();this.appendCpuUsageTrack_();this.appendKernelTrack_();const processes=this.model_.getAllProcesses();processes.sort(tr.model.Process.compare);for(let i=0;i<processes.length;++i){const process=processes[i];const track=new tr.ui.tracks.ProcessTrack(this.viewport);track.process=process;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);} 9288this.viewport_.rebuildEventToTrackMap();this.viewport_.rebuildContainerToTrackMap();this.vSyncTimes_=this.model_.device.vSyncTimestamps;this.updateAnnotations_();},getContentBounds(){return this.model.bounds;},addAnnotation(annotation){this.model.addAnnotation(annotation);},removeAnnotation(annotation){this.model.removeAnnotation(annotation);},updateAnnotations_(){this.annotationViews_=[];const annotations=this.model_.getAllAnnotations();for(let i=0;i<annotations.length;i++){this.annotationViews_.push(annotations[i].getOrCreateView(this.viewport_));} 9289this.invalidateDrawingContainer();},addEventsToTrackMap(eventToTrackMap){if(!this.model_)return;const tracks=this.children;for(let i=0;i<tracks.length;++i){tracks[i].addEventsToTrackMap(eventToTrackMap);} 9290if(this.instantEvents===undefined)return;const vp=this.viewport_;this.instantEvents.forEach(function(ev){eventToTrackMap.addEvent(ev,this);}.bind(this));},appendDeviceTrack_(){const device=this.model.device;const track=new tr.ui.tracks.DeviceTrack(this.viewport);track.device=this.model.device;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendKernelTrack_(){const kernel=this.model.kernel;const track=new tr.ui.tracks.KernelTrack(this.viewport);track.kernel=this.model.kernel;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},drawTrack(type){const ctx=this.context();if(!this.model_)return;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);switch(type){case tr.ui.tracks.DrawType.GRID:this.viewport.drawMajorMarkLines(ctx);ctx.restore();return;case tr.ui.tracks.DrawType.FLOW_ARROWS:if(this.model_.flowIntervalTree.size===0){ctx.restore();return;} 9291this.drawFlowArrows_(viewLWorld,viewRWorld);ctx.restore();return;case tr.ui.tracks.DrawType.INSTANT_EVENT:if(!this.model_.instantEvents||this.model_.instantEvents.length===0){break;} 9292tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.model_.instantEvents,4);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(ctx,viewLWorld,viewRWorld);this.viewport.interestRange.drawIndicators(ctx,viewLWorld,viewRWorld);} 9293ctx.restore();return;case tr.ui.tracks.DrawType.HIGHLIGHTS:this.drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,bounds.height);ctx.restore();return;case tr.ui.tracks.DrawType.ANNOTATIONS:for(let i=0;i<this.annotationViews_.length;i++){this.annotationViews_[i].draw(ctx);} 9294ctx.restore();return;} 9295ctx.restore();tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawFlowArrows_(viewLWorld,viewRWorld){const ctx=this.context();const dt=this.viewport.currentDisplayTransform;dt.applyTransformToCanvas(ctx);const pixWidth=dt.xViewVectorToWorld(1);ctx.strokeStyle='rgba(0, 0, 0, 0.4)';ctx.fillStyle='rgba(0, 0, 0, 0.4)';ctx.lineWidth=pixWidth>1.0?1:pixWidth;const events=this.model_.flowIntervalTree.findIntersection(viewLWorld,viewRWorld);const onlyHighlighted=!this.viewport.showFlowEvents;const canvasBounds=ctx.canvas.getBoundingClientRect();for(let i=0;i<events.length;++i){if(onlyHighlighted&&events[i].selectionState!==SelectionState.SELECTED&&events[i].selectionState!==SelectionState.HIGHLIGHTED){continue;} 9296this.drawFlowArrow_(ctx,events[i],canvasBounds,pixWidth);}},drawFlowArrow_(ctx,flowEvent,canvasBounds,pixWidth){const pixelRatio=window.devicePixelRatio||1;const startTrack=this.viewport.trackForEvent(flowEvent.startSlice);const endTrack=this.viewport.trackForEvent(flowEvent.endSlice);if(startTrack===undefined||endTrack===undefined)return;const startBounds=startTrack.getBoundingClientRect();const endBounds=endTrack.getBoundingClientRect();if(flowEvent.selectionState===SelectionState.SELECTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.HIGHLIGHTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.DIMMED){ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.2)';}else{let hasBoost=false;const startSlice=flowEvent.startSlice;hasBoost|=startSlice.selectionState===SelectionState.SELECTED;hasBoost|=startSlice.selectionState===SelectionState.HIGHLIGHTED;const endSlice=flowEvent.endSlice;hasBoost|=endSlice.selectionState===SelectionState.SELECTED;hasBoost|=endSlice.selectionState===SelectionState.HIGHLIGHTED;if(hasBoost){ctx.shadowBlur=1;ctx.shadowColor='rgba(255, 0, 0, 0.4)';ctx.shadowOffsety=2;ctx.strokeStyle='rgba(255, 0, 0, 0.4)';}else{ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.4)';}} 9297const startSize=startBounds.left+startBounds.top+ 9298startBounds.bottom+startBounds.right;const endSize=endBounds.left+endBounds.top+ 9299endBounds.bottom+endBounds.right;if(startSize===0&&endSize===0)return;const startY=this.calculateTrackY_(startTrack,canvasBounds);const endY=this.calculateTrackY_(endTrack,canvasBounds);const pixelStartY=pixelRatio*startY;const pixelEndY=pixelRatio*endY;const half=(flowEvent.end-flowEvent.start)/2;ctx.beginPath();ctx.moveTo(flowEvent.start,pixelStartY);ctx.bezierCurveTo(flowEvent.start+half,pixelStartY,flowEvent.start+half,pixelEndY,flowEvent.end,pixelEndY);ctx.stroke();const arrowWidth=5*pixWidth*pixelRatio;const distance=flowEvent.end-flowEvent.start;if(distance<=(2*arrowWidth))return;const tipX=flowEvent.end;const tipY=pixelEndY;const arrowHeight=(endBounds.height/4)*pixelRatio;tr.ui.b.drawTriangle(ctx,tipX,tipY,tipX-arrowWidth,tipY-arrowHeight,tipX-arrowWidth,tipY+arrowHeight);ctx.fill();},drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,viewHeight){if(!this.viewport_.highlightVSync){return;} 9300const stripes=ModelTrack.generateStripes_(this.vSyncTimes_,viewLWorld,viewRWorld);if(stripes.length===0){return;} 9301const vSyncHighlightColor=new tr.b.Color(ColorScheme.getColorForReservedNameAsString('vsync_highlight_color'));const stripeRange=stripes[stripes.length-1].max-stripes[0].min;const stripeDensity=stripeRange?stripes.length/(dt.scaleX*stripeRange):0;const clampedStripeDensity=tr.b.math.clamp(stripeDensity,ModelTrack.VSYNC_DENSITY_OPAQUE,ModelTrack.VSYNC_DENSITY_TRANSPARENT);const opacity=(ModelTrack.VSYNC_DENSITY_TRANSPARENT-clampedStripeDensity)/ModelTrack.VSYNC_DENSITY_RANGE;if(opacity===0){return;} 9302const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;ctx.fillStyle=vSyncHighlightColor.toStringWithAlphaOverride(ModelTrack.VSYNC_HIGHLIGHT_ALPHA*opacity);for(let i=0;i<stripes.length;i++){const xLeftView=dt.xWorldToView(stripes[i].min);const xRightView=dt.xWorldToView(stripes[i].max);ctx.fillRect(xLeftView,0,xRightView-xLeftView,height);}},calculateTrackY_(track,canvasBounds){const bounds=track.getBoundingClientRect();const size=bounds.left+bounds.top+bounds.bottom+bounds.right;if(size===0){return this.calculateTrackY_(Polymer.dom(track).parentNode,canvasBounds);} 9303return bounds.top-canvasBounds.top+(bounds.height/2);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);} 9304const instantEventWidth=3*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.model_.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.model_.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ModelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const XAxisTrack=tr.ui.b.define('x-axis-track',tr.ui.tracks.Track);XAxisTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('x-axis-track');this.strings_secs_=[];this.strings_msecs_=[];this.strings_usecs_=[];this.strings_nsecs_=[];this.viewportChange_=this.viewportChange_.bind(this);viewport.addEventListener('change',this.viewportChange_);const heading=document.createElement('tr-ui-b-heading');heading.arrowVisible=false;Polymer.dom(this).appendChild(heading);},detach(){tr.ui.tracks.Track.prototype.detach.call(this);this.viewport.removeEventListener('change',this.viewportChange_);},viewportChange_(){if(this.viewport.interestRange.isEmpty){Polymer.dom(this).classList.remove('tall-mode');}else{Polymer.dom(this).classList.add('tall-mode');}},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GRID:this.drawGrid_(viewLWorld,viewRWorld);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(this.context(),viewLWorld,viewRWorld);} 9305break;}},drawGrid_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const canvasBounds=ctx.canvas.getBoundingClientRect();const trackBounds=this.getBoundingClientRect();const width=canvasBounds.width*pixelRatio;const height=trackBounds.height*pixelRatio;const hasInterestRange=!this.viewport.interestRange.isEmpty;const xAxisHeightPx=hasInterestRange?(height*2)/5:height;const vp=this.viewport;const dt=vp.currentDisplayTransform;vp.updateMajorMarkData(viewLWorld,viewRWorld);const majorMarkDistanceWorld=vp.majorMarkWorldPositions.length>1?vp.majorMarkWorldPositions[1]-vp.majorMarkWorldPositions[0]:0;const numTicksPerMajor=5;const minorMarkDistanceWorld=majorMarkDistanceWorld/numTicksPerMajor;const minorMarkDistancePx=dt.xWorldVectorToView(minorMarkDistanceWorld);const minorTickHeight=Math.floor(xAxisHeightPx*0.25);ctx.save();ctx.lineWidth=Math.round(pixelRatio);const crispLineCorrection=(ctx.lineWidth%2)/2;ctx.translate(crispLineCorrection,-crispLineCorrection);ctx.fillStyle='rgb(0, 0, 0)';ctx.strokeStyle='rgb(0, 0, 0)';ctx.textAlign='left';ctx.textBaseline='top';ctx.font=(9*pixelRatio)+'px sans-serif';const tickLabels=[];ctx.beginPath();for(let i=0;i<vp.majorMarkWorldPositions.length;i++){const curXWorld=vp.majorMarkWorldPositions[i];const curXView=dt.xWorldToView(curXWorld);const displayText=vp.majorMarkUnit.format(curXWorld,{deltaValue:majorMarkDistanceWorld});ctx.fillText(displayText,curXView+(2*pixelRatio),0);tr.ui.b.drawLine(ctx,curXView,0,curXView,xAxisHeightPx);if(minorMarkDistancePx){for(let j=1;j<numTicksPerMajor;++j){const xView=Math.floor(curXView+minorMarkDistancePx*j);tr.ui.b.drawLine(ctx,xView,xAxisHeightPx-minorTickHeight,xView,xAxisHeightPx);}}} 9306ctx.strokeStyle='rgb(0, 0, 0)';tr.ui.b.drawLine(ctx,0,height,width,height);ctx.stroke();if(!hasInterestRange)return;tr.ui.b.drawLine(ctx,0,xAxisHeightPx,width,xAxisHeightPx);ctx.stroke();let displayDistance;const displayTextColor='rgb(0,0,0)';const arrowSpacing=10*pixelRatio;const arrowColor='rgb(128,121,121)';const arrowPosY=xAxisHeightPx*1.75;const arrowWidthView=3*pixelRatio;const arrowLengthView=10*pixelRatio;const spaceForArrowsView=2*(arrowWidthView+arrowSpacing);ctx.textBaseline='middle';ctx.font=(14*pixelRatio)+'px sans-serif';const textPosY=arrowPosY;const interestRange=vp.interestRange;if(interestRange.range===0){const markerWorld=interestRange.min;const markerView=dt.xWorldToView(markerWorld);const textToDraw=vp.majorMarkUnit.format(markerWorld);let textLeftView=markerView+4*pixelRatio;const textWidthView=ctx.measureText(textToDraw).width;if(textLeftView+textWidthView>width){textLeftView=markerView-4*pixelRatio-textWidthView;} 9307ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);return;} 9308const leftMarker=interestRange.min;const rightMarker=interestRange.max;const leftMarkerView=dt.xWorldToView(leftMarker);const rightMarkerView=dt.xWorldToView(rightMarker);const distanceBetweenMarkers=interestRange.range;const distanceBetweenMarkersView=dt.xWorldVectorToView(distanceBetweenMarkers);const positionInMiddleOfMarkersView=leftMarkerView+(distanceBetweenMarkersView/2);const textToDraw=vp.majorMarkUnit.format(distanceBetweenMarkers);const textWidthView=ctx.measureText(textToDraw).width;const spaceForArrowsAndTextView=textWidthView+spaceForArrowsView+arrowSpacing;let textLeftView=positionInMiddleOfMarkersView-textWidthView/2;const textRightView=textLeftView+textWidthView;if(spaceForArrowsAndTextView>distanceBetweenMarkersView){textLeftView=rightMarkerView+2*arrowSpacing;if(textLeftView+textWidthView>width){textLeftView=leftMarkerView-2*arrowSpacing-textWidthView;} 9309ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);ctx.strokeStyle=arrowColor;ctx.beginPath();tr.ui.b.drawLine(ctx,leftMarkerView,arrowPosY,rightMarkerView,arrowPosY);ctx.stroke();ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftMarkerView-1.5*arrowSpacing,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightMarkerView+1.5*arrowSpacing,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}else if(spaceForArrowsView<=distanceBetweenMarkersView){let leftArrowStart;let rightArrowStart;if(spaceForArrowsAndTextView<=distanceBetweenMarkersView){ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);leftArrowStart=textLeftView-arrowSpacing;rightArrowStart=textRightView+arrowSpacing;}else{leftArrowStart=positionInMiddleOfMarkersView;rightArrowStart=positionInMiddleOfMarkersView;} 9310ctx.strokeStyle=arrowColor;ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftArrowStart,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightArrowStart,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);} 9311ctx.restore();},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){},addAllEventsMatchingFilterToSelection(filter,selection){}};return{XAxisTrack,};});'use strict';Polymer({is:'tr-ui-timeline-track-view',ready(){this.displayTransform_=new tr.ui.TimelineDisplayTransform();this.model_=undefined;this.timelineView_=undefined;this.pollIfViewportAttachedInterval_=undefined;this.viewport_=new tr.ui.TimelineViewport(this);this.viewportDisplayTransformAtMouseDown_=undefined;this.brushingStateController_=undefined;this.rulerTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.rulerTrackContainer_);this.rulerTrackContainer_.invalidate();this.rulerTrack_=new tr.ui.tracks.XAxisTrack(this.viewport_);Polymer.dom(this.rulerTrackContainer_).appendChild(this.rulerTrack_);this.upperModelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);this.upperModelTrack_.upperMode=true;Polymer.dom(this.rulerTrackContainer_).appendChild(this.upperModelTrack_);this.modelTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.modelTrackContainer_);this.modelTrackContainer_.style.display='block';this.modelTrackContainer_.invalidate();this.viewport_.modelTrackContainer=this.modelTrackContainer_;this.modelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);Polymer.dom(this.modelTrackContainer_).appendChild(this.modelTrack_);this.timingTool_=new tr.ui.b.TimingTool(this.viewport_,this);this.initMouseModeSelector();this.hideDragBox_();this.initHintText_();this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.addEventListener('dblclick',this.onDblClick_);this.onMouseWheel_=this.onMouseWheel_.bind(this);this.addEventListener('mousewheel',this.onMouseWheel_);this.onMouseDown_=this.onMouseDown_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.onMouseMove_=this.onMouseMove_.bind(this);this.addEventListener('mousemove',this.onMouseMove_);this.onTouchStart_=this.onTouchStart_.bind(this);this.addEventListener('touchstart',this.onTouchStart_);this.onTouchMove_=this.onTouchMove_.bind(this);this.addEventListener('touchmove',this.onTouchMove_);this.onTouchEnd_=this.onTouchEnd_.bind(this);this.addEventListener('touchend',this.onTouchEnd_);this.addHotKeys_();this.mouseViewPosAtMouseDown_={x:0,y:0};this.lastMouseViewPos_={x:0,y:0};this.lastTouchViewPositions_=[];this.alert_=undefined;this.isPanningAndScanning_=false;this.isZooming_=false;},initMouseModeSelector(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this;Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.addEventListener('beginpan',this.onBeginPanScan_.bind(this));this.mouseModeSelector_.addEventListener('updatepan',this.onUpdatePanScan_.bind(this));this.mouseModeSelector_.addEventListener('endpan',this.onEndPanScan_.bind(this));this.mouseModeSelector_.addEventListener('beginselection',this.onBeginSelection_.bind(this));this.mouseModeSelector_.addEventListener('updateselection',this.onUpdateSelection_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onEndSelection_.bind(this));this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));this.mouseModeSelector_.addEventListener('entertiming',this.timingTool_.onEnterTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('begintiming',this.timingTool_.onBeginTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('updatetiming',this.timingTool_.onUpdateTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('endtiming',this.timingTool_.onEndTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('exittiming',this.timingTool_.onExitTiming.bind(this.timingTool_));const m=tr.ui.b.MOUSE_SELECTOR_MODE;this.mouseModeSelector_.supportedModeMask=m.SELECTION|m.PANSCAN|m.ZOOM|m.TIMING;this.mouseModeSelector_.settingsKey='timelineTrackView.mouseModeSelector';this.mouseModeSelector_.setKeyCodeForMode(m.PANSCAN,'2'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.SELECTION,'1'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.ZOOM,'3'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.TIMING,'4'.charCodeAt(0));this.mouseModeSelector_.setModifierForAlternateMode(m.SELECTION,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(m.PANSCAN,tr.ui.b.MODIFIER.SPACE);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);} 9312this.brushingStateController_=brushingStateController;if(this.brushingStateController_){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);}},set timelineView(view){this.timelineView_=view;},onSelectionChanged_(){this.showHintText_('Press \'m\' to mark current selection');this.viewport_.dispatchChangeEvent();},set selection(selection){throw new Error('DO NOT CALL THIS');},set highlight(highlight){throw new Error('DO NOT CALL THIS');},detach(){this.modelTrack_.detach();this.upperModelTrack_.detach();if(this.pollIfViewportAttachedInterval_){window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;} 9313this.viewport_.detach();},get viewport(){return this.viewport_;},get model(){return this.model_;},set model(model){if(!model){throw new Error('Model cannot be undefined');} 9314const modelInstanceChanged=this.model_!==model;this.model_=model;this.modelTrack_.model=model;this.upperModelTrack_.model=model;if(modelInstanceChanged){this.pollIfViewportAttachedInterval_=window.setInterval(this.pollIfViewportAttached_.bind(this),250);}},get hasVisibleContent(){return this.modelTrack_.hasVisibleContent||this.upperModelTrack_.hasVisibleContent;},pollIfViewportAttached_(){if(!this.viewport_.isAttachedToDocumentOrInTestMode||this.viewport_.clientWidth===0){return;} 9315window.addEventListener('resize',this.viewport_.dispatchChangeEvent);window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;this.setInitialViewport_();},setInitialViewport_(){this.modelTrackContainer_.updateCanvasSizeIfNeeded_();const w=this.modelTrackContainer_.canvas.width;let min;let range;if(this.model_.bounds.isEmpty){min=0;range=1000;}else if(this.model_.bounds.range===0){min=this.model_.bounds.min;range=1000;}else{min=this.model_.bounds.min;range=this.model_.bounds.range;} 9316const boost=range*0.15;this.displayTransform_.set(this.viewport_.currentDisplayTransform);this.displayTransform_.xSetWorldBounds(min-boost,min+range+boost,w);this.viewport_.setDisplayTransformImmediately(this.displayTransform_);},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const modelTrack=this.modelTrack_;const firstT=modelTrack.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);const lastT=firstT.after(function(){this.upperModelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);},this);return firstT;},onMouseMove_(e){if(this.isZooming_)return;this.storeLastMousePos_(e);},onTouchStart_(e){this.storeLastTouchPositions_(e);this.focusElements_();},onTouchMove_(e){e.preventDefault();this.onUpdateTransformForTouch_(e);},onTouchEnd_(e){this.storeLastTouchPositions_(e);this.focusElements_();},addHotKeys_(){this.addKeyDownHotKeys_();this.addKeyPressHotKeys_();},addKeyPressHotKey(dict){dict.eventType='keypress';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);},addKeyPressHotKeys_(){this.addKeyPressHotKey({keyCodes:['w'.charCodeAt(0),','.charCodeAt(0)],callback(e){this.zoomBy_(1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['s'.charCodeAt(0),'o'.charCodeAt(0)],callback(e){this.zoomBy_(1/1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'g'.charCodeAt(0),callback(e){this.onGridToggle_(true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'G'.charCodeAt(0),callback(e){this.onGridToggle_(false);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['W'.charCodeAt(0),'<'.charCodeAt(0)],callback(e){this.zoomBy_(10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['S'.charCodeAt(0),'O'.charCodeAt(0)],callback(e){this.zoomBy_(1/10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'a'.charCodeAt(0),callback(e){this.queueSmoothPan_(this.viewWidth_*0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['d'.charCodeAt(0),'e'.charCodeAt(0)],callback(e){this.queueSmoothPan_(this.viewWidth_*-0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'A'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'D'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*-0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'0'.charCodeAt(0),callback(e){this.setInitialViewport_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'f'.charCodeAt(0),callback(e){this.zoomToSelection();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'m'.charCodeAt(0),callback(e){this.setCurrentSelectionAsInterestRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'p'.charCodeAt(0),callback(e){this.selectPowerSamplesInCurrentTimeRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'h'.charCodeAt(0),callback(e){this.toggleHighDetails_();e.stopPropagation();}});},get viewWidth_(){return this.modelTrackContainer_.canvas.clientWidth;},addKeyDownHotKeys_(){const addBinding=function(dict){dict.eventType='keydown';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);}.bind(this);addBinding({keyCode:37,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,-1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(this.viewWidth_*0.3,0);} 9317e.preventDefault();e.stopPropagation();}});addBinding({keyCode:39,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(-this.viewWidth_*0.3,0);} 9318e.preventDefault();e.stopPropagation();}});},onDblClick_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;} 9319const curSelection=this.brushingStateController_.selection;if(!curSelection.length||!tr.b.getOnlyElement(curSelection).title){return;} 9320const selection=new tr.model.EventSet();const filter=new tr.c.ExactTitleFilter(tr.b.getOnlyElement(curSelection).title);this.modelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);this.brushingStateController.changeSelectionFromTimeline(selection);},onMouseWheel_(e){if(!e.altKey)return;const delta=e.wheelDelta/120;const zoomScale=Math.pow(1.5,delta);this.zoomBy_(zoomScale);e.preventDefault();},onMouseDown_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;} 9321if(e.target!==this.rulerTrack_)return;this.dragBeginEvent_=undefined;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;} 9322const dt=this.viewport_.currentDisplayTransform;tr.ui.b.trackMouseMovesUntilMouseUp(function(e){if(e.target===this.rulerTrack_)return;const relativePosition=this.extractRelativeMousePosition_(e);const loc=tr.model.Location.fromViewCoordinates(this.viewport_,relativePosition.x,relativePosition.y);if(!loc)return;if(this.guideLineAnnotation_===undefined){this.guideLineAnnotation_=new tr.model.XMarkerAnnotation(loc.xWorld);this.model.addAnnotation(this.guideLineAnnotation_);}else{this.guideLineAnnotation_.timestamp=loc.xWorld;this.modelTrackContainer_.invalidate();} 9323const state=new tr.ui.b.UIState(loc,this.viewport_.currentDisplayTransform.scaleX);this.timelineView_.setFindCtlText(state.toUserFriendlyString(this.viewport_));}.bind(this),undefined,function onKeyUpDuringDrag(){if(this.dragBeginEvent_){this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);}}.bind(this));},queueSmoothPan_(viewDeltaX,deltaY){const deltaX=this.viewport_.currentDisplayTransform.xViewVectorToWorld(viewDeltaX);const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,deltaY);this.viewport_.queueDisplayTransformAnimation(animation);},zoomBy_(scale,smooth){if(scale<=0){return;} 9324smooth=!!smooth;const vp=this.viewport_;const pixelRatio=window.devicePixelRatio||1;const goalFocalPointXView=this.lastMouseViewPos_.x*pixelRatio;const goalFocalPointXWorld=vp.currentDisplayTransform.xViewToWorld(goalFocalPointXView);if(smooth){const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,vp.currentDisplayTransform.panY,scale);vp.queueDisplayTransformAnimation(animation);}else{this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=scale;this.displayTransform_.xPanWorldPosToViewPos(goalFocalPointXWorld,goalFocalPointXView,this.viewWidth_);vp.setDisplayTransformImmediately(this.displayTransform_);}},zoomToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;if(!bounds.range)return;const worldCenter=bounds.center;const viewCenter=this.modelTrackContainer_.canvas.width/2;const adjustedWorldRange=bounds.range*1.25;const newScale=this.modelTrackContainer_.canvas.width/adjustedWorldRange;const zoomInRatio=newScale/this.viewport_.currentDisplayTransform.scaleX;const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);},panToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;const worldCenter=bounds.center;const viewWidth=this.viewWidth_;const dt=this.viewport_.currentDisplayTransform;if(false&&!bounds.range){if(dt.xWorldToView(bounds.center)<0||dt.xWorldToView(bounds.center)>viewWidth){this.displayTransform_.set(dt);this.displayTransform_.xPanWorldPosToViewPos(worldCenter,'center',viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);} 9325return;} 9326this.displayTransform_.set(dt);this.displayTransform_.xPanWorldBoundsIntoView(bounds.min,bounds.max,viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);},navToPosition(uiState,showNavLine){const location=uiState.location;const scaleX=uiState.scaleX;const track=location.getContainingTrack(this.viewport_);const worldCenter=location.xWorld;const viewCenter=this.modelTrackContainer_.canvas.width/5;const zoomInRatio=scaleX/this.viewport_.currentDisplayTransform.scaleX;track.scrollIntoViewIfNeeded();const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);if(!showNavLine)return;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);} 9327this.xNavStringMarker_=new tr.model.XMarkerAnnotation(worldCenter);this.model.addAnnotation(this.xNavStringMarker_);},selectPowerSamplesInCurrentTimeRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(this.model.device.powerSeries&&!selectionBounds.empty){const events=this.model.device.powerSeries.getSamplesWithinRange(selectionBounds.min,selectionBounds.max);const selection=new tr.model.EventSet(events);this.brushingStateController_.changeSelectionFromTimeline(selection);}},setCurrentSelectionAsInterestRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(selectionBounds.empty){this.viewport_.interestRange.reset();return;} 9328if(this.viewport_.interestRange.min===selectionBounds.min&&this.viewport_.interestRange.max===selectionBounds.max){this.viewport_.interestRange.reset();}else{this.viewport_.interestRange.set(selectionBounds);}},toggleHighDetails_(){this.viewport_.highDetails=!this.viewport_.highDetails;},hideDragBox_(){this.$.drag_box.style.left='-1000px';this.$.drag_box.style.top='-1000px';this.$.drag_box.style.width=0;this.$.drag_box.style.height=0;},setDragBoxPosition_(xStart,yStart,xEnd,yEnd){const loY=Math.min(yStart,yEnd);const hiY=Math.max(yStart,yEnd);const loX=Math.min(xStart,xEnd);const hiX=Math.max(xStart,xEnd);const modelTrackRect=this.modelTrack_.getBoundingClientRect();const dragRect={left:loX,top:loY,width:hiX-loX,height:hiY-loY};dragRect.right=dragRect.left+dragRect.width;dragRect.bottom=dragRect.top+dragRect.height;const modelTrackContainerRect=this.modelTrackContainer_.getBoundingClientRect();const clipRect={left:modelTrackContainerRect.left,top:modelTrackContainerRect.top,right:modelTrackContainerRect.right,bottom:modelTrackContainerRect.bottom};const headingWidth=window.getComputedStyle(Polymer.dom(this).querySelector('tr-ui-b-heading')).width;const trackTitleWidth=parseInt(headingWidth);clipRect.left=clipRect.left+trackTitleWidth;const intersectRect_=function(r1,r2){if(r2.left>r1.right||r2.right<r1.left||r2.top>r1.bottom||r2.bottom<r1.top){return false;} 9329const results={};results.left=Math.max(r1.left,r2.left);results.top=Math.max(r1.top,r2.top);results.right=Math.min(r1.right,r2.right);results.bottom=Math.min(r1.bottom,r2.bottom);results.width=results.right-results.left;results.height=results.bottom-results.top;return results;};const finalDragBox=intersectRect_(clipRect,dragRect);this.$.drag_box.style.left=finalDragBox.left+'px';this.$.drag_box.style.width=finalDragBox.width+'px';this.$.drag_box.style.top=finalDragBox.top+'px';this.$.drag_box.style.height=finalDragBox.height+'px';this.$.drag_box.style.whiteSpace='nowrap';const pixelRatio=window.devicePixelRatio||1;const canv=this.modelTrackContainer_.canvas;const dt=this.viewport_.currentDisplayTransform;const loWX=dt.xViewToWorld((loX-canv.offsetLeft)*pixelRatio);const hiWX=dt.xViewToWorld((hiX-canv.offsetLeft)*pixelRatio);Polymer.dom(this.$.drag_box).textContent=tr.b.Unit.byName.timeDurationInMs.format(hiWX-loWX);const e=new tr.b.Event('selectionChanging');e.loWX=loWX;e.hiWX=hiWX;this.dispatchEvent(e);},onGridToggle_(left){const selection=this.brushingStateController_.selection;const tb=left?selection.bounds.min:selection.bounds.max;if(this.viewport_.gridEnabled&&this.viewport_.gridSide===left&&this.viewport_.gridInitialTimebase===tb){this.viewport_.gridside=undefined;this.viewport_.gridEnabled=false;this.viewport_.gridInitialTimebase=undefined;return;} 9330const numIntervalsSinceStart=Math.ceil((tb-this.model_.bounds.min)/this.viewport_.gridStep_);this.viewport_.gridEnabled=true;this.viewport_.gridSide=left;this.viewport_.gridInitialTimebase=tb;this.viewport_.gridTimebase=tb- 9331(numIntervalsSinceStart+1)*this.viewport_.gridStep_;},storeLastMousePos_(e){this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);},storeLastTouchPositions_(e){this.lastTouchViewPositions_=this.extractRelativeTouchPositions_(e);},extractRelativeMousePosition_(e){const canv=this.modelTrackContainer_.canvas;return{x:e.clientX-canv.offsetLeft,y:e.clientY-canv.offsetTop};},extractRelativeTouchPositions_(e){const canv=this.modelTrackContainer_.canvas;const touches=[];for(let i=0;i<e.touches.length;++i){touches.push({x:e.touches[i].clientX-canv.offsetLeft,y:e.touches[i].clientY-canv.offsetTop});} 9332return touches;},storeInitialMouseDownPos_(e){const position=this.extractRelativeMousePosition_(e);this.mouseViewPosAtMouseDown_.x=position.x;this.mouseViewPosAtMouseDown_.y=position.y;},focusElements_(){this.$.hotkey_controller.childRequestsGeneralFocus(this);},storeInitialInteractionPositionsAndFocus_(e){this.storeInitialMouseDownPos_(e);this.storeLastMousePos_(e);this.focusElements_();},onBeginPanScan_(e){const vp=this.viewport_;this.viewportDisplayTransformAtMouseDown_=vp.currentDisplayTransform.clone();this.isPanningAndScanning_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdatePanScan_(e){if(!this.isPanningAndScanning_)return;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDeltaView=pixelRatio*(this.lastMouseViewPos_.x- 9333this.mouseViewPosAtMouseDown_.x);const yDelta=this.lastMouseViewPos_.y- 9334this.mouseViewPosAtMouseDown_.y;this.displayTransform_.set(this.viewportDisplayTransformAtMouseDown_);this.displayTransform_.incrementPanXInViewUnits(xDeltaView);this.displayTransform_.panY-=yDelta;this.viewport_.setDisplayTransformImmediately(this.displayTransform_);e.preventDefault();e.stopPropagation();this.storeLastMousePos_(e);},onEndPanScan_(e){this.isPanningAndScanning_=false;this.storeLastMousePos_(e);if(!e.isClick){e.preventDefault();}},onBeginSelection_(e){const canv=this.modelTrackContainer_.canvas;const rect=this.modelTrack_.getBoundingClientRect();const canvRect=canv.getBoundingClientRect();const inside=rect&&e.clientX>=rect.left&&e.clientX<rect.right&&e.clientY>=rect.top&&e.clientY<rect.bottom&&e.clientX>=canvRect.left&&e.clientX<canvRect.right;if(!inside)return;this.dragBeginEvent_=e;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateSelection_(e){if(!this.dragBeginEvent_)return;this.dragBoxXStart_=this.dragBeginEvent_.clientX;this.dragBoxXEnd_=e.clientX;this.dragBoxYStart_=this.dragBeginEvent_.clientY;this.dragBoxYEnd_=e.clientY;this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);},onEndSelection_(e){e.preventDefault();if(!this.dragBeginEvent_)return;this.hideDragBox_();const eDown=this.dragBeginEvent_;this.dragBeginEvent_=undefined;const loY=Math.min(eDown.clientY,e.clientY);const hiY=Math.max(eDown.clientY,e.clientY);const loX=Math.min(eDown.clientX,e.clientX);const hiX=Math.max(eDown.clientX,e.clientX);const canv=this.modelTrackContainer_.canvas;const worldOffset=canv.getBoundingClientRect().left;const loVX=loX-worldOffset;const hiVX=hiX-worldOffset;const selection=new tr.model.EventSet();if(eDown.appendSelection){const previousSelection=this.brushingStateController_.selection;if(previousSelection!==undefined){selection.addEventSet(previousSelection);}} 9335this.modelTrack_.addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);this.brushingStateController_.changeSelectionFromTimeline(selection);},onBeginZoom_(e){this.isZooming_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const newPosition=this.extractRelativeMousePosition_(e);const zoomScaleValue=1+(this.lastMouseViewPos_.y- 9336newPosition.y)*0.01;this.zoomBy_(zoomScaleValue,false);this.storeLastMousePos_(e);},onEndZoom_(e){this.isZooming_=false;if(!e.isClick){e.preventDefault();}},computeTouchCenter_(positions){let xSum=0;let ySum=0;for(let i=0;i<positions.length;++i){xSum+=positions[i].x;ySum+=positions[i].y;} 9337return{x:xSum/positions.length,y:ySum/positions.length};},computeTouchSpan_(positions){let xMin=Number.MAX_VALUE;let yMin=Number.MAX_VALUE;let xMax=Number.MIN_VALUE;let yMax=Number.MIN_VALUE;for(let i=0;i<positions.length;++i){xMin=Math.min(xMin,positions[i].x);yMin=Math.min(yMin,positions[i].y);xMax=Math.max(xMax,positions[i].x);yMax=Math.max(yMax,positions[i].y);} 9338return Math.sqrt((xMin-xMax)*(xMin-xMax)+ 9339(yMin-yMax)*(yMin-yMax));},onUpdateTransformForTouch_(e){const newPositions=this.extractRelativeTouchPositions_(e);const currentPositions=this.lastTouchViewPositions_;const newCenter=this.computeTouchCenter_(newPositions);const currentCenter=this.computeTouchCenter_(currentPositions);const newSpan=this.computeTouchSpan_(newPositions);const currentSpan=this.computeTouchSpan_(currentPositions);const vp=this.viewport_;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDelta=pixelRatio*(newCenter.x-currentCenter.x);const yDelta=newCenter.y-currentCenter.y;const zoomScaleValue=currentSpan>10?newSpan/currentSpan:1;const viewFocus=pixelRatio*newCenter.x;const worldFocus=vp.currentDisplayTransform.xViewToWorld(viewFocus);this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=zoomScaleValue;this.displayTransform_.xPanWorldPosToViewPos(worldFocus,viewFocus,viewWidth);this.displayTransform_.incrementPanXInViewUnits(xDelta);this.displayTransform_.panY-=yDelta;vp.setDisplayTransformImmediately(this.displayTransform_);this.storeLastTouchPositions_(e);},initHintText_(){this.$.hint_text.style.display='none';this.pendingHintTextClearTimeout_=undefined;},showHintText_(text){if(this.pendingHintTextClearTimeout_){window.clearTimeout(this.pendingHintTextClearTimeout_);this.pendingHintTextClearTimeout_=undefined;} 9340this.pendingHintTextClearTimeout_=setTimeout(this.hideHintText_.bind(this),1000);Polymer.dom(this.$.hint_text).textContent=text;this.$.hint_text.style.display='';},hideHintText_(){this.pendingHintTextClearTimeout_=undefined;this.$.hint_text.style.display='none';}});'use strict';Polymer({is:'tr-ui-find-control',filterKeyDown(e){if(e.keyCode===27){const hkc=tr.b.getHotkeyControllerForElement(this);if(hkc){hkc.childRequestsBlur(this);}else{this.blur();} 9341e.preventDefault();e.stopPropagation();return;}else if(e.keyCode===13){if(e.shiftKey){this.findPrevious();}else{this.findNext();}}},filterBlur(e){this.updateHitCountEl();},filterFocus(e){this.$.filter.select();},filterMouseUp(e){e.preventDefault();},get controller(){return this.controller_;},set controller(c){this.controller_=c;this.updateHitCountEl();},focus(){this.$.filter.focus();},get hasFocus(){return this===document.activeElement;},filterTextChanged(){Polymer.dom(this.$.hitCount).textContent='';this.$.spinner.style.visibility='visible';this.$.spinner.style.animation='spin 1s linear infinite';this.controller.startFiltering(this.$.filter.value).then(function(){this.$.spinner.style.visibility='hidden';this.$.spinner.style.animation='';this.updateHitCountEl();}.bind(this));},findNext(){if(this.controller){this.controller.findNext();} 9342this.updateHitCountEl();},findPrevious(){if(this.controller){this.controller.findPrevious();} 9343this.updateHitCountEl();},updateHitCountEl(){if(!this.controller||this.$.filter.value.length===0){Polymer.dom(this.$.hitCount).textContent='';return;} 9344const n=this.controller.filterHits.length;const i=n===0?-1:this.controller.currentHitIndex;Polymer.dom(this.$.hitCount).textContent=(i+1)+' of '+n;},setText(string){this.$.filter.value=string;}});'use strict';tr.exportTo('tr.e.tquery',function(){function Context(){this.event=undefined;this.ancestors=[];} 9345Context.prototype={push(event){const ctx=new Context();ctx.ancestors=this.ancestors.slice();ctx.ancestors.push(event);return ctx;},pop(event){const ctx=new Context();ctx.event=this.ancestors[this.ancestors.length-1];ctx.ancestors=this.ancestors.slice(0,this.ancestors.length-1);return ctx;}};return{Context,};});'use strict';tr.exportTo('tr.e.tquery',function(){function Filter(){tr.c.ScriptingObject.call(this);} 9346Filter.normalizeFilterExpression=function(filterExpression){if(filterExpression instanceof String||typeof(filterExpression)==='string'||filterExpression instanceof RegExp){const filter=new tr.e.tquery.FilterHasTitle(filterExpression);return filter;} 9347return filterExpression;};Filter.prototype={__proto__:tr.c.ScriptingObject.prototype,evaluate(context){throw new Error('Not implemented');},matchValue_(value,expected){if(expected instanceof RegExp){return expected.test(value);}else if(expected instanceof Function){return expected(value);} 9348return value===expected;}};return{Filter,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAllOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];} 9349FilterAllOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(!this.subExpressions[i].evaluate(context)){return false;}} 9350return true;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=[];for(let i=0;i<arguments.length;i++){exprs.push(arguments[i]);} 9351return new FilterAllOf(exprs);},{name:'allOf'});return{FilterAllOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterNot(subExpression){tr.e.tquery.Filter.call(this);this.subExpression=subExpression;} 9352FilterNot.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){return!this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);if(exprs.length!==1){throw new Error('not() must have exactly one subexpression');} 9353return new FilterNot(exprs[0]);},{name:'not'});return{FilterNot,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAnyOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];} 9354FilterAnyOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(this.subExpressions[i].evaluate(context))return true;} 9355return false;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new FilterAnyOf(exprs);},{name:'anyOf'});tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new tr.e.tquery.FilterNot(new FilterAnyOf(exprs));},{name:'noneOf'});return{FilterAnyOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasAncestor(opt_subExpression){this.subExpression=opt_subExpression;} 9356FilterHasAncestor.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(!this.subExpression){return context.ancestors.length>0;} 9357while(context.ancestors.length){context=context.pop();if(this.subExpression.evaluate(context))return true;} 9358return false;}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterHasAncestor(subExpression);},{name:'hasAncestor'});return{FilterHasAncestor,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasDuration(minValueOrExpected,opt_maxValue){if(minValueOrExpected!==undefined&&opt_maxValue!==undefined){this.minValue=minValueOrExpected;this.maxValue=opt_maxValue;}else{this.expected=minValueOrExpected;}} 9359FilterHasDuration.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){if(context.event.duration===undefined)return false;if(this.minValue!==undefined&&this.maxValue!==undefined){return context.event.duration>=this.minValue&&context.event.duration<=this.maxValue;} 9360return this.matchValue_(context.event.duration,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(minValueOrExpected,opt_maxValue){return new FilterHasDuration(minValueOrExpected,opt_maxValue);},{name:'hasDuration'});return{FilterHasDuration,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasTitle(expected){tr.e.tquery.Filter.call(this);this.expected=expected;} 9361FilterHasTitle.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){return this.matchValue_(context.event.title,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(expected){const filter=new tr.e.tquery.FilterHasTitle(expected);return filter;},{name:'hasTitle'});return{FilterHasTitle,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterIsTopLevel(opt_subExpression){this.subExpression=opt_subExpression;} 9362FilterIsTopLevel.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(context.ancestors.length>0)return false;if(!this.subExpression)return true;return this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterIsTopLevel(subExpression);},{name:'isTopLevel'});return{FilterIsTopLevel,};});'use strict';tr.exportTo('tr.e.tquery',function(){function addEventTreeToSelection(selection,event){selection.push(event);if(!event.subSlices)return;event.subSlices.forEach(addEventTreeToSelection.bind(undefined,selection));} 9363function TQuery(model){tr.c.ScriptingObject.call(this);this.model_=model;this.parent_=undefined;this.filterExpression_=undefined;this.selection_=undefined;} 9364TQuery.prototype={__proto__:tr.c.ScriptingObject.prototype,onModelChanged(model){this.model_=model;this.selection_=undefined;},get brushingStateController(){return this.brushingStateController_;},filter(filterExpression){const result=new TQuery(this.model_);result.parent_=this;result.filterExpression_=tr.e.tquery.Filter.normalizeFilterExpression(filterExpression);return result;},createFilterTaskGraph_(){const nodes=[this];while(nodes[nodes.length-1].parent_){nodes.push(nodes[nodes.length-1].parent_);} 9365const rootTask=new tr.b.Task();let lastTask=rootTask;let node;for(let i=nodes.length-1;i>=0;i--){node=nodes[i];if(node.selection_!==undefined)continue;node.selection_=new tr.model.EventSet();if(node.parent_===undefined){lastTask=lastTask.after(this.selectEverythingAsTask_(node.selection_));}else{const prevNode=nodes[i+1];lastTask=this.createFilterTaskForNode_(lastTask,node,prevNode);}} 9366return{rootTask,lastTask,lastNode:node};},createFilterTaskForNode_(lastTask,node,prevNode){return lastTask.after(function(){node.evaluateFilterExpression_(prevNode.selection_,node.selection_);},this);},evaluateFilterExpression_(inputSelection,outputSelection){const seenEvents={};inputSelection.forEach(function(event){const context=new tr.e.tquery.Context();context.event=event;this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}.bind(this));},evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents){const event=context.event;if(inputSelection.contains(event)&&!seenEvents[event.guid]){seenEvents[event.guid]=true;if(!this.filterExpression_||this.filterExpression_.evaluate(context)){outputSelection.push(event);}} 9367if(!event.subSlices)return;context=context.push(event);for(let i=0;i<event.subSlices.length;i++){context.event=event.subSlices[i];this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}},selectEverythingAsTask_(selection){const filterTask=new tr.b.Task();for(const container of this.model_.getDescendantEventContainers()){filterTask.subTask(()=>{for(const event of container.childEvents()){addEventTreeToSelection(selection,event);}},this);} 9368return filterTask;},ready(){return new Promise(function(resolve,reject){const graph=this.createFilterTaskGraph_();graph.lastTask=graph.lastTask.after(function(){resolve(this.selection_);},this);tr.b.Task.RunWhenIdle(graph.rootTask);}.bind(this));},get selection(){if(this.selection_===undefined){const graph=this.createFilterTaskGraph_();tr.b.Task.RunSynchronously(graph.rootTask);} 9369return this.selection_;}};tr.c.ScriptingObjectRegistry.register(new TQuery(),{name:'$t'});return{TQuery,};});'use strict';Polymer({is:'tr-ui-scripting-control',isEnterKey_(event){return event.keyCode!==229&&(event.key==='Enter'||event.keyIdentifier==='Enter');},setFocus_(focused){const promptEl=this.$.prompt;if(focused){promptEl.focus();Polymer.dom(this.$.root).classList.add('focused');if(promptEl.value.length>0){const sel=window.getSelection();sel.collapse(Polymer.dom(promptEl).firstChild,promptEl.value.length);}}else{promptEl.blur();Polymer.dom(this.$.root).classList.remove('focused');const parent=promptEl.parentElement;const nextEl=Polymer.dom(promptEl).nextSibling;promptEl.remove();Polymer.dom(parent).insertBefore(promptEl,nextEl);}},onConsoleFocus(e){e.stopPropagation();this.setFocus_(true);},onConsoleBlur(e){e.stopPropagation();this.setFocus_(false);},promptKeyDown(e){e.stopPropagation();if(!this.isEnterKey_(e))return;e.preventDefault();const promptEl=this.$.prompt;const command=promptEl.value;if(command.length===0)return;promptEl.value='';this.addLine_(String.fromCharCode(187)+' '+command);let result;try{result=this.controller_.executeCommand(command);}catch(e){result=e.stack||e.stackTrace;} 9370if(result instanceof tr.e.tquery.TQuery){result.ready().then(function(selection){this.addLine_(selection.length+' matches');this.controller_.brushingStateController.showScriptControlSelection(selection);}.bind(this));}else{this.addLine_(result);} 9371promptEl.scrollIntoView();},addLine_(line){const historyEl=this.$.history;if(historyEl.innerText.length!==0){historyEl.innerText+='\n';} 9372historyEl.innerText+=line;},promptKeyPress(e){e.stopPropagation();},toggleVisibility(){const root=this.$.root;if(!this.visible){Polymer.dom(root).classList.remove('hidden');this.setFocus_(true);}else{Polymer.dom(root).classList.add('hidden');this.setFocus_(false);}},get hasFocus(){return this===document.activeElement;},get visible(){const root=this.$.root;return!Polymer.dom(root).classList.contains('hidden');},get controller(){return this.controller_;},set controller(c){this.controller_=c;}});'use strict';Polymer({is:'tr-ui-side-panel-container',ready(){this.activePanelContainer_=this.$.active_panel_container;this.tabStrip_=this.$.tab_strip;this.dragHandle_=this.$.side_panel_drag_handle;this.dragHandle_.horizontal=false;this.dragHandle_.target=this.activePanelContainer_;this.rangeOfInterest_=new tr.b.math.Range();this.brushingStateController_=undefined;this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onModelChanged_=this.onModelChanged_.bind(this);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);this.brushingStateController_.removeEventListener('model-changed',this.onModelChanged_);} 9373this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);this.brushingStateController_.addEventListener('model-changed',this.onModelChanged_);}},onSelectionChanged_(){if(this.activePanel){this.activePanel.selection=this.selection;}},get model(){return this.brushingStateController_.model;},onModelChanged_(){this.activePanelType_=undefined;this.updateContents_();},get expanded(){this.hasAttribute('expanded');},get activePanel(){return this.activePanelContainer_.children[0];},get activePanelType(){return this.activePanelType_;},set activePanelType(panelType){if(this.model===undefined){throw new Error('Cannot activate panel without a model');} 9374let panel=undefined;if(panelType){panel=document.createElement(panelType);} 9375if(panel!==undefined&&!panel.supportsModel(this.model)){throw new Error('Cannot activate panel: does not support this model');} 9376if(this.activePanelType){Polymer.dom(this.getLabelElementForPanelType_(this.activePanelType)).removeAttribute('selected');} 9377if(this.activePanelType){this.getLabelElementForPanelType_(this.activePanelType).removeAttribute('selected');} 9378if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);} 9379if(panelType===undefined){Polymer.dom(this).removeAttribute('expanded');this.activePanelType_=undefined;return;} 9380Polymer.dom(this.getLabelElementForPanelType_(panelType)).setAttribute('selected',true);Polymer.dom(this).setAttribute('expanded',true);Polymer.dom(this.activePanelContainer_).appendChild(panel);panel.rangeOfInterest=this.rangeOfInterest_;panel.selection=this.selection_;panel.model=this.model;this.activePanelType_=panelType;},getPanelTypeForConstructor_(constructor){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType.constructor===constructor){return this.tabStrip_.children[i].panelType;}}},getLabelElementForPanelType_(panelType){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType===panelType){return this.tabStrip_.children[i];}} 9381return undefined;},updateContents_(){const previouslyActivePanelType=this.activePanelType;Polymer.dom(this.tabStrip_).textContent='';const supportedPanelTypes=[];for(const panelTypeInfo of 9382tr.ui.side_panel.SidePanelRegistry.getAllRegisteredTypeInfos()){const labelEl=document.createElement('tab-strip-label');const panel=panelTypeInfo.constructor();const panelType=panel.tagName;Polymer.dom(labelEl).textContent=panel.textLabel;labelEl.panelType=panelType;const supported=panel.supportsModel(this.model);if(this.model&&supported.supported){supportedPanelTypes.push(panelType);Polymer.dom(labelEl).setAttribute('enabled',true);labelEl.addEventListener('click',function(panelType){this.activePanelType=this.activePanelType===panelType?undefined:panelType;}.bind(this,panelType));}else{if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);} 9383this.removeAttribute('expanded');} 9384Polymer.dom(this.tabStrip_).appendChild(labelEl);} 9385if(previouslyActivePanelType&&supportedPanelTypes.includes(previouslyActivePanelType)){this.activePanelType=previouslyActivePanelType;Polymer.dom(this).setAttribute('expanded',true);}else{if(this.activePanel){Polymer.dom(this.activePanelContainer_).removeChild(this.activePanel);} 9386Polymer.dom(this).removeAttribute('expanded');}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){if(range===undefined){throw new Error('Must not be undefined');} 9387this.rangeOfInterest_=range;if(this.activePanel){this.activePanel.rangeOfInterest=range;}}});'use strict';Polymer({is:'tr-ui-timeline-view-help-overlay',ready(){const mod=tr.isMac?'cmd ':'ctrl';const spans=Polymer.dom(this.root).querySelectorAll('span.mod');for(let i=0;i<spans.length;i++){Polymer.dom(spans[i]).textContent=mod;}}});'use strict';Polymer({is:'tr-ui-timeline-view-metadata-overlay',created(){this.metadata_=undefined;},ready(){this.$.table.tableColumns=[{title:'name',value:d=>d.name,},{title:'value',value:d=>{const gov=document.createElement('tr-ui-a-generic-object-view');gov.object=d.value;return gov;},}];},get metadata(){return this.metadata_;},set metadata(metadata){this.metadata_=metadata;this.$.table.tableRows=this.metadata_;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-preferred-display-unit',ready(){this.preferredTimeDisplayMode_=undefined;},attached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},detached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},get preferredTimeDisplayMode(){return this.preferredTimeDisplayMode_;},set preferredTimeDisplayMode(v){if(this.preferredTimeDisplayMode_===v)return;this.preferredTimeDisplayMode_=v;tr.b.Unit.didPreferredTimeDisplayUnitChange();}});'use strict';Polymer({is:'tr-ui-timeline-view',attached(){this.async(function(){this.trackViewContainer_=Polymer.dom(this).querySelector('#track_view_container');if(!this.trackViewContainer_){throw new Error('missing trackviewContainer');}});},ready(){this.tabIndex=0;this.titleEl_=this.$.title;this.leftControlsEl_=this.$.left_controls;this.rightControlsEl_=this.$.right_controls;this.collapsingControlsEl_=this.$.collapsing_controls;this.sidePanelContainer_=this.$.side_panel_container;this.brushingStateController_=new tr.c.BrushingStateController(this);this.findCtl_=this.$.view_find_control;this.findCtl_.controller=new tr.ui.FindController(this.brushingStateController_);this.scriptingCtl_=document.createElement('tr-ui-scripting-control');this.scriptingCtl_.controller=new tr.c.ScriptingController(this.brushingStateController_);this.sidePanelContainer_.brushingStateController=this.brushingStateController_;if(window.tr.metrics&&window.tr.metrics.sh&&window.tr.metrics.sh.SystemHealthMetric){this.railScoreSpan_=document.createElement('tr-metrics-ui-sh-system-health-span');Polymer.dom(this.rightControls).appendChild(this.railScoreSpan_);}else{this.railScoreSpan_=undefined;} 9388this.optionsDropdown_=this.$.view_options_dropdown;Polymer.dom(this.optionsDropdown_.iconElement).textContent='View Options';this.showFlowEvents_=false;Polymer.dom(this.optionsDropdown_).appendChild(tr.ui.b.createCheckBox(this,'showFlowEvents','tr.ui.TimelineView.showFlowEvents',false,'Flow events'));this.highlightVSync_=false;this.highlightVSyncCheckbox_=tr.ui.b.createCheckBox(this,'highlightVSync','tr.ui.TimelineView.highlightVSync',false,'Highlight VSync');Polymer.dom(this.optionsDropdown_).appendChild(this.highlightVSyncCheckbox_);this.initMetadataButton_();this.initConsoleButton_();this.initHelpButton_();Polymer.dom(this.collapsingControls).appendChild(this.scriptingCtl_);this.dragEl_=this.$.drag_handle;this.analysisEl_=this.$.analysis;this.analysisEl_.brushingStateController=this.brushingStateController_;this.addEventListener('requestSelectionChange',function(e){const sc=this.brushingStateController_;sc.changeSelectionFromRequestSelectionChangeEvent(e.selection);}.bind(this));this.onViewportChanged_=this.onViewportChanged_.bind(this);this.bindKeyListeners_();this.dragEl_.target=this.analysisEl_;},get globalMode(){return this.hotkeyController.globalMode;},set globalMode(globalMode){globalMode=!!globalMode;this.brushingStateController_.historyEnabled=globalMode;this.hotkeyController.globalMode=globalMode;},get hotkeyController(){return this.$.hkc;},updateDocumentFavicon(){let hue;if(!this.model){hue='blue';}else{hue=this.model.faviconHue;} 9389let faviconData=tr.ui.b.FaviconsByHue[hue];if(faviconData===undefined){faviconData=tr.ui.b.FaviconsByHue.blue;} 9390let link=Polymer.dom(document.head).querySelector('link[rel="shortcut icon"]');if(!link){link=document.createElement('link');link.rel='shortcut icon';Polymer.dom(document.head).appendChild(link);} 9391link.href=faviconData;},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;if(!this.trackView_)return;this.trackView_.viewport.showFlowEvents=showFlowEvents;},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;if(!this.trackView_)return;this.trackView_.viewport.highlightVSync=highlightVSync;},initHelpButton_(){const helpButtonEl=this.$.view_help_button;const dlg=new tr.ui.b.Overlay();dlg.title='Chrome Tracing Help';dlg.visible=false;dlg.appendChild(document.createElement('tr-ui-timeline-view-help-overlay'));function onClick(e){dlg.visible=!dlg.visible;e.stopPropagation();} 9392helpButtonEl.addEventListener('click',onClick.bind(this));},initConsoleButton_(){const toggleEl=this.$.view_console_button;function onClick(e){this.scriptingCtl_.toggleVisibility();e.stopPropagation();return false;} 9393toggleEl.addEventListener('click',onClick.bind(this));},initMetadataButton_(){const showEl=this.$.view_metadata_button;function onClick(e){const dlg=new tr.ui.b.Overlay();dlg.title='Metadata for trace';const metadataOverlay=document.createElement('tr-ui-timeline-view-metadata-overlay');metadataOverlay.metadata=this.model.metadata;Polymer.dom(dlg).appendChild(metadataOverlay);dlg.visible=true;e.stopPropagation();return false;} 9394showEl.addEventListener('click',onClick.bind(this));this.updateMetadataButtonVisibility_();},updateMetadataButtonVisibility_(){const showEl=this.$.view_metadata_button;showEl.style.display=(this.model&&this.model.metadata.length)?'':'none';},get leftControls(){return this.leftControlsEl_;},get rightControls(){return this.rightControlsEl_;},get collapsingControls(){return this.collapsingControlsEl_;},get viewTitle(){return Polymer.dom(this.titleEl_).textContent.substring(Polymer.dom(this.titleEl_).textContent.length-2);},set viewTitle(text){if(text===undefined){Polymer.dom(this.titleEl_).textContent='';this.titleEl_.hidden=true;return;} 9395this.titleEl_.hidden=false;Polymer.dom(this.titleEl_).textContent=text;},get model(){if(this.trackView_){return this.trackView_.model;} 9396return undefined;},set model(model){const modelInstanceChanged=model!==this.model;const modelValid=model&&!model.bounds.isEmpty;const importWarningsEl=Polymer.dom(this.root).querySelector('#import-warnings');Polymer.dom(importWarningsEl).textContent='';if(modelInstanceChanged){if(this.railScoreSpan_){this.railScoreSpan_.model=undefined;} 9397Polymer.dom(this.trackViewContainer_).textContent='';if(this.trackView_){this.trackView_.viewport.removeEventListener('change',this.onViewportChanged_);this.trackView_.brushingStateController=undefined;this.trackView_.detach();this.trackView_=undefined;} 9398this.brushingStateController_.modelWillChange();} 9399if(modelValid&&!this.trackView_){this.trackView_=document.createElement('tr-ui-timeline-track-view');this.trackView_.timelineView=this;this.trackView.brushingStateController=this.brushingStateController_;Polymer.dom(this.trackViewContainer_).appendChild(this.trackView_);this.trackView_.viewport.addEventListener('change',this.onViewportChanged_);} 9400if(modelValid){this.trackView_.model=model;this.trackView_.viewport.showFlowEvents=this.showFlowEvents;this.trackView_.viewport.highlightVSync=this.highlightVSync;if(this.railScoreSpan_){this.railScoreSpan_.model=model;} 9401this.$.display_unit.preferredTimeDisplayMode=model.intrinsicTimeUnit;} 9402if(model){model.importWarningsThatShouldBeShownToUser.forEach(function(importWarning){importWarningsEl.addMessage('Import Warning: '+importWarning.type+': '+ 9403importWarning.message);},this);} 9404if(modelInstanceChanged){this.updateMetadataButtonVisibility_();this.brushingStateController_.modelDidChange();this.onViewportChanged_();}},get brushingStateController(){return this.brushingStateController_;},get trackView(){return this.trackView_;},get settings(){if(!this.settings_){this.settings_=new tr.b.Settings();} 9405return this.settings_;},set focusElement(value){throw new Error('This is deprecated. Please set globalMode to true.');},bindKeyListeners_(){const hkc=this.hotkeyController;hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'`'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){this.scriptingCtl_.toggleVisibility();if(!this.scriptingCtl_.hasFocus){this.focus();} 9406e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'/'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){if(this.scriptingCtl_.hasFocus)return;if(this.findCtl_.hasFocus){this.focus();}else{this.findCtl_.focus();} 9407e.preventDefault();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'?'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.$.view_help_button.click();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'v'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.toggleHighlightVSync_();e.stopPropagation();}}));},onViewportChanged_(e){const spc=this.sidePanelContainer_;if(!this.trackView_){spc.rangeOfInterest.reset();return;} 9408const vr=this.trackView_.viewport.interestRange.asRangeObject();if(!spc.rangeOfInterest.equals(vr)){spc.rangeOfInterest=vr;} 9409if(this.railScoreSpan_&&this.model){this.railScoreSpan_.model=this.model;}},toggleHighlightVSync_(){this.highlightVSyncCheckbox_.checked=!this.highlightVSyncCheckbox_.checked;},setFindCtlText(string){this.findCtl_.setText(string);}});'use strict';tr.exportTo('tr.ui.b',function(){function Row(title,data,groupingKeyFuncs,rowStatsConstructor){this.title=title;this.data_=data;if(groupingKeyFuncs===undefined){groupingKeyFuncs=[];} 9410this.groupingKeyFuncs_=groupingKeyFuncs;this.rowStatsConstructor_=rowStatsConstructor;this.subRowsBuilt_=false;this.subRows_=undefined;this.rowStats_=undefined;} 9411Row.prototype={getCurrentGroupingKeyFunc_(){if(this.groupingKeyFuncs_.length===0)return undefined;return this.groupingKeyFuncs_[0];},get data(){return this.data_;},get rowStats(){if(this.rowStats_===undefined){this.rowStats_=new this.rowStatsConstructor_(this);} 9412return this.rowStats_;},rebuildSubRowsIfNeeded_(){if(this.subRowsBuilt_)return;this.subRowsBuilt_=true;const groupingKeyFunc=this.getCurrentGroupingKeyFunc_();if(groupingKeyFunc===undefined){this.subRows_=undefined;return;} 9413const dataByKey={};let hasValues=false;this.data_.forEach(function(datum){const key=groupingKeyFunc(datum);hasValues=hasValues||(key!==undefined);if(dataByKey[key]===undefined){dataByKey[key]=[];} 9414dataByKey[key].push(datum);});if(!hasValues){this.subRows_=undefined;return;} 9415this.subRows_=[];for(const key in dataByKey){const row=new Row(key,dataByKey[key],this.groupingKeyFuncs_.slice(1),this.rowStatsConstructor_);this.subRows_.push(row);}},get isExpanded(){return(this.subRows&&(this.subRows.length>0)&&(this.subRows.length<5));},get subRows(){this.rebuildSubRowsIfNeeded_();return this.subRows_;}};Polymer({is:'tr-ui-b-grouping-table',created(){this.dataToGroup_=undefined;this.groupBy_=undefined;this.rowStatsConstructor_=undefined;},get tableColumns(){return this.$.table.tableColumns;},set tableColumns(tableColumns){this.$.table.tableColumns=tableColumns;},get tableRows(){return this.$.table.tableRows;},get sortColumnIndex(){return this.$.table.sortColumnIndex;},set sortColumnIndex(sortColumnIndex){this.$.table.sortColumnIndex=sortColumnIndex;},get sortDescending(){return this.$.table.sortDescending;},set sortDescending(sortDescending){this.$.table.sortDescending=sortDescending;},get selectionMode(){return this.$.table.selectionMode;},set selectionMode(selectionMode){this.$.table.selectionMode=selectionMode;},get rowHighlightStyle(){return this.$.table.rowHighlightStyle;},set rowHighlightStyle(rowHighlightStyle){this.$.table.rowHighlightStyle=rowHighlightStyle;},get cellHighlightStyle(){return this.$.table.cellHighlightStyle;},set cellHighlightStyle(cellHighlightStyle){this.$.table.cellHighlightStyle=cellHighlightStyle;},get selectedColumnIndex(){return this.$.table.selectedColumnIndex;},set selectedColumnIndex(selectedColumnIndex){this.$.table.selectedColumnIndex=selectedColumnIndex;},get selectedTableRow(){return this.$.table.selectedTableRow;},set selectedTableRow(selectedTableRow){this.$.table.selectedTableRow=selectedTableRow;},get groupBy(){return this.groupBy_;},set groupBy(groupBy){this.groupBy_=groupBy;this.updateContents_();},get dataToGroup(){return this.dataToGroup_;},set dataToGroup(dataToGroup){this.dataToGroup_=dataToGroup;this.updateContents_();},get rowStatsConstructor(){return this.rowStatsConstructor_;},set rowStatsConstructor(rowStatsConstructor){this.rowStatsConstructor_=rowStatsConstructor;this.updateContents_();},rebuild(){this.$.table.rebuild();},updateContents_(){const groupBy=this.groupBy_||[];const dataToGroup=this.dataToGroup_||[];const rowStatsConstructor=this.rowStatsConstructor_||function(){};const superRow=new Row('',dataToGroup,groupBy,rowStatsConstructor);this.$.table.tableRows=superRow.subRows||[];}});return{};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;Polymer({is:'tr-ui-b-grouping-table-groupby-picker-group',created(){this.picker_=undefined;this.group_=undefined;},get picker(){return this.picker_;},set picker(picker){this.picker_=picker;},get group(){return this.group_;},set group(g){this.group_=g;this.$.label.textContent=g.label;},get enabled(){return this.$.enabled.checked;},set enabled(enabled){this.$.enabled.checked=enabled;if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';}},set isFirst(isFirst){this.$.left.style.display=(!this.enabled||isFirst)?'none':'inline';},set isLast(isLast){this.$.right.style.display=(!this.enabled||isLast)?'none':'inline';},moveLeft_(){this.picker.moveLeft_(this);},moveRight_(){this.picker.moveRight_(this);},onEnableChanged_(){if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';} 9416this.picker.onEnableChanged_(this);}});Polymer({is:'tr-ui-b-grouping-table-groupby-picker',created(){this.settingsKey_=undefined;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(this.$.container.children.length){this.restoreSetting_();}},restoreSetting_(){if(this.settingsKey_===undefined)return;this.currentGroupKeys=tr.b.Settings.get(this.settingsKey_,this.currentGroupKeys);},get possibleGroups(){return[...this.$.container.children].map(groupEl=>groupEl.group);},set possibleGroups(possibleGroups){Polymer.dom(this.$.container).textContent='';for(let i=0;i<possibleGroups.length;++i){const groupEl=document.createElement('tr-ui-b-grouping-table-groupby-picker-group');groupEl.picker=this;groupEl.group=possibleGroups[i];Polymer.dom(this.$.container).appendChild(groupEl);} 9417this.restoreSetting_();this.updateFirstLast_();},updateFirstLast_(){const groupEls=this.$.container.children;const enabledGroupEls=[...groupEls].filter(el=>el.enabled);for(let i=0;i<enabledGroupEls.length;++i){enabledGroupEls[i].isFirst=i===0;enabledGroupEls[i].isLast=i===enabledGroupEls.length-1;}},get currentGroupKeys(){return this.currentGroups.map(group=>group.key);},get currentGroups(){const groups=[];for(const groupEl of this.$.container.children){if(groupEl.enabled){groups.push(groupEl.group);}} 9418return groups;},set currentGroupKeys(newKeys){if(!tr.b.compareArrays(this.currentGroupKeys,newKeys,(x,y)=>x.localeCompare(y))){return;} 9419const possibleGroups=new Map();for(const group of this.possibleGroups){possibleGroups.set(group.key,group);} 9420const groupEls=this.$.container.children;let i=0;for(i=0;i<newKeys.length;++i){const group=possibleGroups.get(newKeys[i]);if(group===undefined){newKeys.splice(i,1);--i;continue;} 9421groupEls[i].group=group;groupEls[i].enabled=true;possibleGroups.delete(newKeys[i]);} 9422for(const group of possibleGroups.values()){groupEls[i].group=group;groupEls[i].enabled=false;++i;} 9423this.updateFirstLast_();this.onCurrentGroupsChanged_();},moveLeft_(groupEl){const reference=groupEl.previousSibling;Polymer.dom(this.$.container).removeChild(groupEl);Polymer.dom(this.$.container).insertBefore(groupEl,reference);this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},moveRight_(groupEl){const reference=groupEl.nextSibling.nextSibling;Polymer.dom(this.$.container).removeChild(groupEl);if(reference){Polymer.dom(this.$.container).insertBefore(groupEl,reference);}else{Polymer.dom(this.$.container).appendChild(groupEl);} 9424this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},onCurrentGroupsChanged_(){this.dispatchEvent(new tr.b.Event('current-groups-changed'));tr.b.Settings.set(this.settingsKey_,this.currentGroupKeys);},onEnableChanged_(groupEl){this.updateFirstLast_();this.onCurrentGroupsChanged_();}});return{};});'use strict';(function(){Polymer({is:'tr-ui-sp-file-size-stats-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.selection_=new tr.model.EventSet();this.$.picker.settingsKey='tr-ui-sp-file-size-stats-side-panel-picker';this.$.picker.possibleGroups=[{key:'phase',label:'Event Type',dataFn(eventStat){return eventStat.phase;}},{key:'category',label:'Category',dataFn(eventStat){return eventStat.category;}},{key:'title',label:'Title',dataFn(eventStat){return eventStat.title;}}];if(this.$.picker.currentGroupKeys.length===0){this.$.picker.currentGroupKeys=['phase','title'];} 9425this.$.picker.addEventListener('current-groups-changed',this.updateContents_.bind(this));},get textLabel(){return'File Size Stats';},supportsModel(m){if(!m){return{supported:false,reason:'No stats were collected for this file.'};} 9426if(m.stats.allTraceEventStats.length===0){return{supported:false,reason:'No stats were collected for this file.'};} 9427return{supported:true};},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;},createColumns_(stats){const columns=[{title:'Title',value(row){const titleEl=document.createElement('span');Polymer.dom(titleEl).textContent=row.title;titleEl.style.textOverflow='ellipsis';return titleEl;},cmp(a,b){return a.title.localeCompare(b.title);},width:'400px'},{title:'Num Events',align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,value(row){return row.rowStats.numEvents;},cmp(a,b){return a.rowStats.numEvents-b.rowStats.numEvents;},width:'80px'}];if(stats&&stats.hasEventSizesinBytes){columns.push({title:'Bytes',value(row){const value=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes,row.rowStats.totalEventSizeinBytes);const spanEl=tr.v.ui.createScalarSpan(value);return spanEl;},cmp(a,b){return a.rowStats.totalEventSizeinBytes- 9428b.rowStats.totalEventSizeinBytes;},width:'80px'});} 9429return columns;},updateContents_(){const table=this.$.table;const columns=this.createColumns_(this.model.stats);table.rowStatsConstructor=function ModelStatsRowStats(row){const sum=tr.b.math.Statistics.sum(row.data,function(x){return x.numEvents;});const totalEventSizeinBytes=tr.b.math.Statistics.sum(row.data,x=>x.totalEventSizeinBytes);return{numEvents:sum,totalEventSizeinBytes};};table.tableColumns=columns;table.sortColumnIndex=1;table.sortDescending=true;table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.groupBy=this.$.picker.currentGroups.map(function(group){return group.dataFn;});if(!this.model){table.dataToGroup=[];}else{table.dataToGroup=this.model.stats.allTraceEventStats;} 9430this.$.table.rebuild();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-file-size-stats-side-panel');});})();'use strict';tr.exportTo('tr.mre',function(){const FunctionRegistry={allFunctions_:[],allFunctionsByName_:{},get allFunctions(){return this.allFunctions_;},get allFunctionsByName(){return this.allFunctionsByName_;}};FunctionRegistry.getFunction=function(name){return this.allFunctionsByName_[name];};FunctionRegistry.register=function(func){if(func.name===''){throw new Error('Registered functions must not be anonymous');} 9431if(this.allFunctionsByName[func.name]!==undefined){throw new Error('Function named '+func.name+'is already registered.');} 9432this.allFunctionsByName[func.name]=func;this.allFunctions.push(func);};function ModuleToLoad(href,filename){if((href!==undefined)?(filename!==undefined):(filename===undefined)){throw new Error('ModuleToLoad must specify exactly one of href or '+'filename');} 9433this.href=href;this.filename=filename;} 9434ModuleToLoad.prototype={asDict(){if(this.href!==undefined){return{'href':this.href};} 9435return{'filename':this.filename};},toString(){if(this.href!==undefined){return'ModuleToLoad(href="'+this.href+'")';} 9436return'ModuleToLoad(filename="'+this.filename+'")';}};ModuleToLoad.fromDict=function(moduleDict){return new ModuleToLoad(moduleDict.href,moduleDict.filename);};function FunctionHandle(modulesToLoad,functionName,opt_options){if(!(modulesToLoad instanceof Array)){throw new Error('modulesToLoad in FunctionHandle must be an array');} 9437if(typeof(functionName)!=='string'){throw new Error('functionName in FunctionHandle must be a string');} 9438this.modulesToLoad=modulesToLoad;this.functionName=functionName;this.options_=opt_options;} 9439FunctionHandle.prototype={get options(){return this.options_;},asDict(){return{'modules_to_load':this.modulesToLoad.map(function(m){return m.asDict();}),'function_name':this.functionName,'options':this.options_};},asUserFriendlyString(){const parts=this.modulesToLoad.map(mtl=>mtl.filename);parts.push(this.functionName);parts.push(JSON.stringify(this.options_));return parts.join(',');},hasHrefs(){for(const module in this.modulesToLoad){if(this.modulesToLoad[module].href!==undefined){return true;}} 9440return false;},load(){if(this.hasHrefs()){const err=new Error('FunctionHandle named '+this.functionName+' specifies hrefs, which cannot be loaded.');err.name='FunctionLoadingError';throw err;} 9441for(const module in this.modulesToLoad){const filename=this.modulesToLoad[module].filename;try{HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;}} 9442const func=FunctionRegistry.getFunction(this.functionName);if(func===undefined){const err=new Error('No registered function named '+this.functionName);err.name='FunctionNotDefinedError';throw err;} 9443return func;},toString(){const modulesToLoadStr=this.modulesToLoad.map(function(module){return module.toString();});return'FunctionHandle(modulesToLoad=['+modulesToLoadStr+'], '+'functionName="'+this.functionName+'", options="'+ 9444JSON.stringify(this.options_)+'")';}};FunctionHandle.loadFromFilename_=function(filename){try{const numFunctionsBefore=FunctionRegistry.allFunctions.length;HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;} 9445const numFunctionsNow=FunctionRegistry.allFunctions.length;if(numFunctionsNow!==(numFunctionsBefore+1)){const err=new Error(filename+' didn\'t call FunctionRegistry.register');err.name='FunctionNotDefinedError';throw err;} 9446return FunctionRegistry.allFunctions[numFunctionsNow-1];};FunctionHandle.fromDict=function(handleDict){const options=handleDict.options;let modulesToLoad;if(handleDict.modules_to_load!==undefined){modulesToLoad=handleDict.modules_to_load.map(function(module){return ModuleToLoad.fromDict(module);});} 9447return new FunctionHandle(modulesToLoad,handleDict.function_name,options);};return{FunctionHandle,ModuleToLoad,FunctionRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function runMetrics(model,options){if(options===undefined){throw new Error('Options are required.');} 9448const metricNames=options.metrics;if(!metricNames){throw new Error('Metric names should be specified.');} 9449const histograms=new tr.v.HistogramSet();for(const metricName of metricNames){const metric=tr.metrics.MetricRegistry.findTypeInfoWithName(metricName);if(metric===undefined){throw new Error('"'+metricName+'" is not a registered metric.');} 9450metric.constructor(histograms,model,options);} 9451return histograms;} 9452function addTelemetryInfo(histograms,model){const telemetry=new tr.v.d.TelemetryInfo();for(const metadata of model.metadata){if(!metadata.value)continue;if(metadata.value.telemetry){telemetry.addInfo(metadata.value.telemetry);}} 9453histograms.addSharedDiagnostic(tr.v.d.TelemetryInfo.NAME,telemetry);} 9454function metricMapFunction(result,model,options){const histograms=runMetrics(model,options);addTelemetryInfo(histograms,model);result.addPair('histograms',histograms.asDicts());const scalarDicts=[];for(const value of histograms){for(const[statName,scalar]of value.statisticsScalars){scalarDicts.push({name:value.name+'_'+statName,numeric:scalar.asDict(),description:value.description,});}} 9455result.addPair('scalars',scalarDicts);} 9456tr.mre.FunctionRegistry.register(metricMapFunction);return{metricMapFunction,runMetrics,};});'use strict';tr.exportTo('tr.mre',function(){function Failure(job,functionHandleString,traceCanonicalUrl,failureTypeName,description,stack){this.job=job;this.functionHandleString=functionHandleString;this.traceCanonicalUrl=traceCanonicalUrl;this.failureTypeName=failureTypeName;this.description=description;this.stack=stack;} 9457Failure.prototype={asDict(){return{function_handle_string:this.functionHandleString,trace_canonical_url:this.traceCanonicalUrl,type:this.failureTypeName,description:this.description,stack:this.stack};}};Failure.fromDict=function(failureDict){return new Failure(undefined,failureDict.function_handle_string,failureDict.trace_canonical_url,failureDict.type,failureDict.description,failureDict.stack);};return{Failure,};});'use strict';tr.exportTo('tr.mre',function(){class MreResult{constructor(failures,pairs){if(failures===undefined){failures=[];} 9458if(pairs===undefined){pairs={};} 9459this.failures=failures;this.pairs=pairs;} 9460addFailure(failure){this.failures.push(failure);} 9461addPair(key,value){if(key in this.pairs){throw new Error('Key '+key+' already exists in result.');} 9462this.pairs[key]=value;} 9463asDict(){const d={pairs:this.pairs};if(this.failures){d.failures=this.failures.map(function(f){return f.asDict();});} 9464return d;} 9465hadFailures(){return this.failures.length>0;} 9466static fromDict(resultDict){const failures=(resultDict.failures!==undefined)?resultDict.failures.map(tr.mre.Failure.fromDict):undefined;const pairs=resultDict.pairs;return new MreResult(failures,pairs);}} 9467return{MreResult,};});'use strict';tr.exportTo('tr.ui',function(){class NullBrushingStateController extends tr.c.BrushingStateController{constructor(){super(undefined);this.parentController=undefined;} 9468dispatchChangeEvent_(){if(this.parentController)this.parentController.dispatchChangeEvent_();} 9469get model(){if(!this.parentController)return undefined;return this.parentController.model;} 9470get trackView(){if(!this.parentController)return undefined;return this.parentController.trackView;} 9471get viewport(){if(!this.parentController)return undefined;return this.parentController.viewport;} 9472get historyEnabled(){if(!this.parentController)return undefined;return this.parentController.historyEnabled;} 9473set historyEnabled(historyEnabled){if(this.parentController){this.parentController.historyEnabled=historyEnabled;}} 9474modelWillChange(){if(this.parentController)this.parentController.modelWillChange();} 9475modelDidChange(){if(this.parentController)this.parentController.modelDidChange();} 9476onUserInitiatedSelectionChange_(){if(this.parentController){this.parentController.onUserInitiatedSelectionChange_();}} 9477onPopState_(e){if(this.parentController)this.parentController.onPopState_(e);} 9478get selection(){if(!this.parentController)return undefined;return this.parentController.selection;} 9479get findMatches(){if(!this.parentController)return undefined;return this.parentController.findMatches;} 9480get selectionOfInterest(){if(!this.parentController)return undefined;return this.parentController.selectionOfInterest;} 9481get currentBrushingState(){if(!this.parentController)return undefined;return this.parentController.currentBrushingState;} 9482set currentBrushingState(newBrushingState){if(this.parentController){this.parentController.currentBrushingState=newBrushingState;}} 9483addAllEventsMatchingFilterToSelectionAsTask(filter,selection){if(this.parentController){this.parentController.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);}} 9484findTextChangedTo(allPossibleMatches){if(this.parentController){this.parentController.findTextChangedTo(allPossibleMatches);}} 9485findFocusChangedTo(currentFocus){if(this.parentController){this.parentController.findFocusChangedTo(currentFocus);}} 9486findTextCleared(){if(this.parentController){this.parentController.findTextCleared();}} 9487uiStateFromString(string){if(this.parentController){this.parentController.uiStateFromString(string);}} 9488navToPosition(uiState,showNavLine){if(this.parentController){this.parentController.navToPosition(uiState,showNavLine);}} 9489changeSelectionFromTimeline(selection){if(this.parentController){this.parentController.changeSelectionFromTimeline(selection);}} 9490showScriptControlSelection(selection){if(this.parentController){this.parentController.showScriptControlSelection(selection);}} 9491changeSelectionFromRequestSelectionChangeEvent(selection){if(this.parentController){this.parentController.changeSelectionFromRequestSelectionChangeEvent(selection);}} 9492changeAnalysisViewRelatedEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisViewRelatedEvents(eventSet);}} 9493changeAnalysisLinkHoveredEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisLinkHoveredEvents(eventSet);}} 9494getViewSpecificBrushingState(viewId){if(this.parentController){this.parentController.getViewSpecificBrushingState(viewId);}} 9495changeViewSpecificBrushingState(viewId,newState){if(this.parentController){this.parentController.changeViewSpecificBrushingState(viewId,newState);}}} 9496return{NullBrushingStateController,};});'use strict';tr.exportTo('tr.v',function(){const CSV_ITERATION_INFO_NAMES=['benchmarkName','benchmarkStartString','label','osVersion','productVersion','storyDisplayName','storysetRepeatCounter',];class CSVBuilder{constructor(histograms){this.histograms_=histograms;this.table_=[];this.statisticsNames_=new Set();this.iterationInfoNames_=new Set();this.storyGroupingKeys_=new Set();} 9497build(){this.prepare_();this.buildHeader_();for(const hist of this.histograms_){const row=[hist.name,hist.unit.unitString];this.table_.push(row);const stats=hist.statisticsScalars;for(const name of this.statisticsNames_){row.push(stats.has(name)?stats.get(name).value:'');} 9498const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);for(const name of this.iterationInfoNames_){if(iteration===undefined||iteration[name]===undefined){row.push('');}else{row.push(iteration[name]);}} 9499for(const key of this.storyGroupingKeys_){if(iteration===undefined||iteration.storyGroupingKeys.get(key)===undefined){row.push('');}else{row.push(iteration.storyGroupingKeys.get(key));}}}} 9500prepare_(){for(const hist of this.histograms_){for(const name of hist.statisticsNames){this.statisticsNames_.add(name);} 9501const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(iteration===undefined)continue;for(const name of CSV_ITERATION_INFO_NAMES){if(iteration[name]){this.iterationInfoNames_.add(name);}} 9502for(const[key,value]of iteration.storyGroupingKeys){this.storyGroupingKeys_.add(key);}}} 9503buildHeader_(){const header=['name','unit'];for(const name of this.statisticsNames_){header.push(name);} 9504for(const name of this.iterationInfoNames_){header.push(name);} 9505for(const key of this.storyGroupingKeys_){header.push(key);} 9506this.table_.push(header);} 9507toString(){let str='';for(const row of this.table_){for(let i=0;i<row.length;++i){if(i>0){str+=',';} 9508let cell=''+row[i];if(cell.indexOf(',')>=0||cell.indexOf('"')>=0){cell='"'+cell.replace(/"/g,'""')+'"';} 9509str+=cell;} 9510str+='\n';} 9511return str;}} 9512return{CSVBuilder,};});'use strict';tr.exportTo('tr.v',function(){const getDisplayLabel=tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.callback;const DEFAULT_POSSIBLE_GROUPS=[];DEFAULT_POSSIBLE_GROUPS.push(new tr.v.HistogramGrouping(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key,h=>h.shortName||h.name));for(const group of Object.values(tr.v.HistogramSet.GROUPINGS)){if(group!==tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL&&group!==tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME){DEFAULT_POSSIBLE_GROUPS.push(group);}} 9513class HistogramParameterCollector{constructor(){this.statisticNames_=new Set(['avg']);this.labelsToStartTimes_=new Map();this.keysToGroupings_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,g]));this.keysToValues_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,new Set()]));this.keysToValues_.delete(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key);} 9514process(histograms){for(const hist of histograms){for(const statName of hist.statisticsNames){this.statisticNames_.add(statName);} 9515const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);let startTime=0;if(telemetry&&telemetry.benchmarkStart){startTime=telemetry.benchmarkStart.getTime();} 9516const displayLabel=getDisplayLabel(hist);if(this.labelsToStartTimes_.has(displayLabel)){startTime=Math.min(startTime,this.labelsToStartTimes_.get(displayLabel));} 9517this.labelsToStartTimes_.set(displayLabel,startTime);if(!telemetry)continue;for(const[groupingKey,values]of this.keysToValues_){const grouping=this.keysToGroupings_.get(groupingKey);const value=grouping.callback(hist);if(!value)continue;values.add(value);if(values.size>1){this.keysToValues_.delete(groupingKey);}} 9518for(const[key,value]of telemetry.storyGroupingKeys){const groupingKey='storyGroupingKey_'+key;if(this.keysToGroupings_.has(groupingKey))continue;this.keysToGroupings_.set(groupingKey,new tr.v.HistogramGrouping(groupingKey,tr.v.d.TelemetryInfo.makeStoryGroupingKeyLabelGetter(key)));this.keysToValues_.set(groupingKey,new Set([value]));}}} 9519get statisticNames(){return Array.from(this.statisticNames_);} 9520get labels(){const displayLabels=Array.from(this.labelsToStartTimes_.keys());displayLabels.sort((x,y)=>this.labelsToStartTimes_.get(x)-this.labelsToStartTimes_.get(y));return displayLabels;} 9521get possibleGroupings(){for(const[key,values]of this.keysToValues_){if(values.size>=2)continue;this.keysToGroupings_.delete(key);} 9522return Array.from(this.keysToGroupings_.values());}} 9523return{HistogramParameterCollector,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-controls',properties:{searchQuery:{type:String,value:'',observer:'onUserChange_',},showAll:{type:Boolean,value:false,observer:'onUserChange_',},referenceDisplayLabel:{type:String,value:'',observer:'onUserChange_',},displayStatisticName:{type:String,value:'',observer:'onUserChange_',},},created(){this.viewState_=undefined;this.rowListener_=this.onRowViewStateUpdate_.bind(this);this.baseStatisticNames_=[];this.isInOnViewStateUpdate_=false;},ready(){this.$.picker.addEventListener('current-groups-changed',this.onGroupsChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');} 9524this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},async onUserChange_(){if(!this.viewState)return;if(this.isInOnViewStateUpdate_)return;const marks=[];if(this.searchQuery!==this.viewState.searchQuery){marks.push(tr.b.Timing.mark('histogram-set-controls','search'));} 9525if(this.showAll!==this.viewState.showAll){marks.push(tr.b.Timing.mark('histogram-set-controls','showAll'));} 9526if(this.referenceDisplayLabel!==this.viewState.referenceDisplayLabel){marks.push(tr.b.Timing.mark('histogram-set-controls','referenceColumn'));} 9527if(this.displayStatisticName!==this.viewState.displayStatisticName){marks.push(tr.b.Timing.mark('histogram-set-controls','statistic'));} 9528let displayStatisticName=this.displayStatisticName;if(this.viewState.referenceDisplayLabel===''&&this.referenceDisplayLabel!==''&&this.baseStatisticNames.length){displayStatisticName=`${tr.v.DELTA}${this.displayStatisticName}`;} 9529if(this.referenceDisplayLabel===''&&this.viewState.referenceDisplayLabel!==''&&this.baseStatisticNames.length){const deltaIndex=displayStatisticName.indexOf(tr.v.DELTA);if(deltaIndex>=0){displayStatisticName=displayStatisticName.slice(deltaIndex+1);}else if(!this.baseStatisticNames.includes(displayStatisticName)){displayStatisticName='avg';}} 9530await this.viewState.update({searchQuery:this.searchQuery,showAll:this.showAll,referenceDisplayLabel:this.referenceDisplayLabel,displayStatisticName,});if(this.referenceDisplayLabel&&this.statisticNames.length===this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames.concat(tr.v.Histogram.getDeltaStatisticsNames(this.baseStatisticNames));}else if(!this.referenceDisplayLabel&&this.statisticNames.length>this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames;} 9531for(const mark of marks)mark.end();},onViewStateUpdate_(event){this.isInOnViewStateUpdate_=true;if(event.delta.searchQuery){this.searchQuery=this.viewState.searchQuery;} 9532if(event.delta.showAll)this.showAll=this.viewState.showAll;if(event.delta.displayStatisticName){this.displayStatisticName=this.viewState.displayStatisticName;} 9533if(event.delta.referenceDisplayLabel){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;} 9534if(event.delta.groupings){this.$.picker.currentGroupKeys=this.viewState.groupings.map(g=>g.key);} 9535if(event.delta.tableRowStates){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){row.addUpdateListener(this.rowListener_);} 9536const anyShowing=this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';} 9537this.isInOnViewStateUpdate_=false;this.onUserChange_();},onRowViewStateUpdate_(event){if(event.delta.isOverviewed){const anyShowing=event.delta.isOverviewed.current||this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';} 9538if(event.delta.subRows){for(const subRow of event.delta.subRows.previous){subRow.removeUpdateListener(this.rowListener_);} 9539for(const subRow of event.delta.subRows.current){subRow.addUpdateListener(this.rowListener_);}}},onGroupsChanged_(){if(this.$.picker.currentGroups.length===0&&this.$.picker.possibleGroups.length>0){this.$.picker.currentGroupKeys=[this.$.picker.possibleGroups[0].key];} 9540this.viewState.groupings=this.$.picker.currentGroups;},set showAllEnabled(enable){if(!enable)this.$.show_all.checked=true;this.$.show_all.disabled=!enable;},set possibleGroupings(groupings){this.$.picker.possibleGroups=groupings;this.$.picker.style.display=(groupings.length<2)?'none':'block';this.onGroupsChanged_();},set displayLabels(labels){this.$.reference_display_label.style.display=(labels.length<2)?'none':'inline';while(this.$.reference_display_label.children.length>1){this.$.reference_display_label.removeChild(this.$.reference_display_label.lastChild);} 9541for(const displayLabel of labels){const option=document.createElement('option');option.textContent=displayLabel;this.$.reference_display_label.appendChild(option);} 9542if(labels.includes(this.viewState.referenceDisplayLabel)){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;}else{this.viewState.referenceDisplayLabel='';}},get baseStatisticNames(){return this.baseStatisticNames_;},set baseStatisticNames(names){this.baseStatisticNames_=names;this.statisticNames=names;},get statisticNames(){return Array.from(this.$.statistic.options).map(o=>o.value);},set statisticNames(names){this.$.statistic.style.display=(names.length<2)?'none':'inline';while(this.$.statistic.children.length){this.$.statistic.removeChild(this.$.statistic.lastChild);} 9543for(const name of names){const option=document.createElement('option');option.textContent=name;this.$.statistic.appendChild(option);} 9544if(names.includes(this.viewState.displayStatisticName)){this.displayStatisticName=this.viewState.displayStatisticName;this.$.statistic.value=this.displayStatisticName;}else{this.viewState.displayStatisticName=names[0]||'';}},get anyOverviewCharts_(){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){if(row.isOverviewed)return true;} 9545return false;},async toggleOverviewLineCharts_(){const showOverviews=!this.anyOverviewCharts_;const mark=tr.b.Timing.mark('histogram-set-controls',(showOverviews?'show':'hide')+'OverviewCharts');for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){await row.update({isOverviewed:showOverviews});} 9546this.$.hide_overview.style.display=showOverviews?'inline':'none';this.$.show_overview.style.display=showOverviews?'none':'inline';await tr.b.animationFrame();mark.end();},set helpHref(href){this.$.help.href=href;this.$.help.style.display='inline';},set feedbackHref(href){this.$.feedback.href=href;this.$.feedback.style.display='inline';},downloadCSV_(event){this.dispatchEvent(new tr.b.Event('download-csv'));}});return{};});'use strict';tr.exportTo('tr.v',function(){class HistogramSetHierarchy{constructor(name){this.name=name;this.description='';this.depth=0;this.subRows=[];this.columns=new Map();this.overviewDataRange_=undefined;this.mergeRelationshipsForColumn_=new Map();}*walk(){yield this;for(const row of this.subRows)yield*row.walk();} 9547static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();} 9548static build(histogramArrayMap){const rootRows=[];HistogramSetHierarchy.buildInternal_(histogramArrayMap,[],rootRows);const histograms=new tr.v.HistogramSet();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}} 9549histograms.deduplicateDiagnostics();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const[name,hist]of row.columns){if(!(hist instanceof tr.v.Histogram))continue;if(!row.mergeRelationshipsForColumn_.get(name))continue;hist.diagnostics.mergeRelationships(hist);}} 9550for(const row of HistogramSetHierarchy.walkAll(rootRows)){if(row.subRows.length)continue;for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;const mergedFrom=hist.diagnostics.get(tr.v.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const other of mergedFrom){other.diagnostics.delete(tr.v.MERGED_TO_DIAGNOSTIC_KEY);}}}} 9551for(const row of HistogramSetHierarchy.walkAll(rootRows)){row.maybeRebin_();} 9552return rootRows;} 9553maybeRebin_(){const dataRange=new tr.b.math.Range();for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;if(hist.allBins.length>1)return;if(hist.numValues===0)continue;dataRange.addValue(hist.min);dataRange.addValue(hist.max);} 9554dataRange.addValue(tr.b.math.lesserWholeNumber(dataRange.min));dataRange.addValue(tr.b.math.greaterWholeNumber(dataRange.max));if(dataRange.min===dataRange.max)return;const boundaries=tr.v.HistogramBinBoundaries.createLinear(dataRange.min,dataRange.max,tr.v.DEFAULT_REBINNED_COUNT);for(const[name,hist]of this.columns){if(!(hist instanceof tr.v.Histogram))continue;this.columns.set(name,hist.rebin(boundaries));}} 9555static mergeHistogramDownHierarchy_(histogram,hierarchy,columnName){let groupingPath=undefined;for(const row of hierarchy){if(groupingPath!==undefined){groupingPath.push(row.name);}else if(row.name===histogram.name){groupingPath=[];} 9556if(!row.description){row.description=histogram.description;} 9557const existing=row.columns.get(columnName);if(existing===undefined){const clone=histogram.clone();if(groupingPath!==undefined){new tr.v.d.GroupingPath(groupingPath).addToHistogram(clone);} 9558row.columns.set(columnName,clone);row.mergeRelationshipsForColumn_.set(columnName,true);continue;} 9559if(existing instanceof tr.v.HistogramSet){existing.addHistogram(histogram);continue;} 9560if(!existing.canAddHistogram(histogram)){const unmergeableHistograms=new tr.v.HistogramSet([histogram]);const mergedFrom=existing.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){unmergeableHistograms.addHistogram(origHist);}} 9561row.columns.set(columnName,unmergeableHistograms);continue;} 9562if(existing.name!==histogram.name){row.mergeRelationshipsForColumn_.set(name,false);} 9563existing.addHistogram(histogram);}} 9564static buildInternal_(histogramArrayMap,hierarchy,rootRows){for(const[name,histograms]of histogramArrayMap){if(histograms instanceof Array){for(const histogram of histograms){HistogramSetHierarchy.mergeHistogramDownHierarchy_(histogram,hierarchy,name);}}else if(histograms instanceof Map){const row=new HistogramSetHierarchy(name);row.depth=hierarchy.length;hierarchy.push(row);HistogramSetHierarchy.buildInternal_(histograms,hierarchy,rootRows);hierarchy.pop();if(hierarchy.length===0){rootRows.push(row);}else{const parentRow=hierarchy[hierarchy.length-1];parentRow.subRows.push(row);}}}} 9565static filter(rows,histograms){const results=[];for(const row of rows){let filteredSubRows=[];if(row.subRows.length>0){filteredSubRows=HistogramSetHierarchy.filter(row.subRows,histograms);if(filteredSubRows.length===0)continue;}else{let found=false;for(const testHist of row.columns.values()){if(testHist instanceof tr.v.HistogramSet){for(const origHist of testHist){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}} 9566if(found)break;continue;} 9567if(!(testHist instanceof tr.v.Histogram)){throw new Error('Cells can only contain Histogram or HistogramSet');} 9568if(histograms.lookupHistogram(testHist.guid)!==undefined){found=true;break;} 9569const mergedFrom=testHist.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}}} 9570if(found)break;} 9571if(!found)continue;} 9572const clone=new HistogramSetHierarchy(row.name);clone.description=row.description;clone.depth=row.depth;clone.subRows=filteredSubRows;clone.columns=row.columns;clone.overviewDataRange_=row.overviewDataRange_;results.push(clone);} 9573return results;} 9574get overviewDataRange(){if(this.overviewDataRange_===undefined){this.overviewDataRange_=new tr.b.math.Range();for(const[displayLabel,hist]of this.columns){if(hist instanceof tr.v.Histogram&&hist.average!==undefined){this.overviewDataRange_.addValue(hist.average);} 9575for(const subRow of this.subRows){const subHist=subRow.columns.get(displayLabel);if(!(subHist instanceof tr.v.Histogram))continue;if(subHist.average===undefined)continue;this.overviewDataRange_.addValue(subHist.average);}}} 9576return this.overviewDataRange_;}} 9577return{HistogramSetHierarchy,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-table-cell',created(){this.viewState_=undefined;this.rootListener_=this.onRootStateUpdate_.bind(this);this.row_=undefined;this.displayLabel_='';this.histogram_=undefined;this.histogramSpan_=undefined;this.overviewChart_=undefined;},ready(){this.addEventListener('click',this.onClick_.bind(this));},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},build(row,displayLabel,viewState){this.row_=row;this.displayLabel_=displayLabel;this.viewState_=viewState;this.histogram_=this.row.columns.get(displayLabel);if(this.viewState){this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));} 9578this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);} 9579this.updateContents_();},get viewState(){return this.viewState_;},get row(){return this.row_;},get histogram(){return this.histogram_;},get referenceHistogram(){const referenceDisplayLabel=this.row.rootViewState.referenceDisplayLabel;if(!referenceDisplayLabel)return undefined;if(referenceDisplayLabel===this.displayLabel_)return undefined;return this.row.columns.get(referenceDisplayLabel);},get isHistogramOpen(){return(this.histogramSpan_!==undefined)&&(this.$.histogram.style.display==='block');},get brushedBinRange(){if(!this.isHistogramOpen)return new tr.b.math.Range();return this.histogramSpan_.brushedBinRange;},set brushedBinRange(r){if(this.histogramSpan_===undefined)return;this.histogramSpan_.brushedBinRange=r;},get mergeSampleDiagnostics(){if(!this.isHistogramOpen)return false;return this.histogramSpan_.mergeSampleDiagnostics;},set mergeSampleDiagnostics(m){if(this.histogramSpan_===undefined)return;this.histogramSpan_.mergeSampleDiagnostics=m;},set isHistogramOpen(open){if(!(this.histogram instanceof tr.v.Histogram)||(this.histogram.numValues===0)){return;} 9580this.$.scalar.style.display=open?'none':'flex';this.$.open_histogram.style.display=open?'none':'block';this.$.close_histogram.style.display=open?'block':'none';this.$.histogram.style.display=open?'block':'none';if(open&&this.histogramSpan_===undefined){this.histogramSpan_=document.createElement('tr-v-ui-histogram-span');this.$.histogram.appendChild(this.histogramSpan_);this.histogramSpan_.viewState=this.viewState;this.histogramSpan_.referenceHistogram=this.referenceHistogram;this.histogramSpan_.histogram=this.histogram;} 9581this.viewState.isOpen=open;},onViewStateUpdate_(event){if(event.delta.isOpen){this.isHistogramOpen=this.viewState.isOpen;}},onRowStateUpdate_(event){if(event.delta.isOverviewed===undefined)return;if(this.row.viewState.isOverviewed){this.showOverview();}else{this.hideOverview();}},onRootStateUpdate_(event){if(event.delta.displayStatisticName||event.delta.referenceDisplayLabel){this.updateContents_();}},onClick_(event){event.stopPropagation();},openHistogram_(){this.isHistogramOpen=true;tr.b.Timing.instant('histogram-set-table-cell','open');},closeHistogram_(){this.isHistogramOpen=false;tr.b.Timing.instant('histogram-set-table-cell','close');},updateContents_(){const isOpen=this.isHistogramOpen;this.$.empty.style.display='none';this.$.unmergeable.style.display='none';this.$.scalar.style.display='none';this.$.histogram.style.display='none';this.$.close_histogram.style.display='none';this.$.open_histogram.style.visibility='hidden';if(!this.histogram){this.$.missing.style.display='block';return;} 9582this.$.missing.style.display='none';if(this.histogram instanceof tr.v.HistogramSet){this.$.unmergeable.style.display='block';return;} 9583if(!(this.histogram instanceof tr.v.Histogram)){throw new Error('Invalid Histogram: '+this.histogram);} 9584if(this.histogram.numValues===0){this.$.empty.style.display='block';return;} 9585this.$.open_histogram.style.display='block';this.$.open_histogram.style.visibility='visible';this.$.scalar.style.display='flex';const referenceHistogram=this.referenceHistogram;if(this.histogramSpan_){this.histogramSpan_.referenceHistogram=referenceHistogram;} 9586if((referenceHistogram instanceof tr.v.Histogram)&&(this.histogram.unit===referenceHistogram.unit)&&(referenceHistogram.numValues>0)){this.$.scalar.significance=this.histogram.getDifferenceSignificance(referenceHistogram);} 9587const statName=this.histogram.getAvailableStatisticName(this.row.rootViewState.displayStatisticName,referenceHistogram);const statisticScalar=this.histogram.getStatisticScalar(statName,referenceHistogram);this.$.scalar.setValueAndUnit(statisticScalar.value,statisticScalar.unit);this.isHistogramOpen=isOpen;},showOverview(){this.$.overview_container.style.display='block';if(this.overviewChart_!==undefined)return;const data=[];let unitString;for(const subRow of this.row.subRows){const subHist=subRow.columns.get(this.displayLabel_);if(!(subHist instanceof tr.v.Histogram))continue;data.push({x:subRow.name,y:subHist.average});unitString=subHist.unit.unitString;} 9588if(data.length<2)return;this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;},hideOverview(){this.$.overview_container.style.display='none';}});return{};});'use strict';tr.exportTo('tr.v.ui',function(){const NAME_COLUMN_WIDTH_PX=300;Polymer({is:'tr-v-ui-histogram-set-table-name-cell',created(){this.row_=undefined;this.overviewChart_=undefined;this.cellListener_=this.onCellStateUpdate_.bind(this);this.rootListener_=this.onRootStateUpdate_.bind(this);},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},get row(){return this.row_;},build(row){if(this.row_!==undefined){throw new Error('row must be set exactly once.');} 9589this.row_=row;this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));this.constrainWidth=this.row.rootViewState.constrainNameColumn;if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);} 9590for(const cellState of this.row.viewState.cells.values()){cellState.addUpdateListener(this.cellListener_);} 9591Polymer.dom(this.$.name).textContent=this.row.name;this.title=this.row.name;if(this.row.description){this.title+='\n'+this.row.description;} 9592if(this.row.overviewDataRange.isEmpty||this.row.overviewDataRange.min===this.row.overviewDataRange.max){this.$.show_overview.style.display='none';} 9593let histogramCount=0;for(const cell of this.row.columns.values()){if(cell instanceof tr.v.Histogram&&cell.numValues>0){++histogramCount;}} 9594if(histogramCount<=1){this.$.open_histograms.style.display='none';}},set constrainWidth(constrain){this.$.name.style.maxWidth=constrain?(this.nameWidthPx+'px'):'none';},get nameWidthPx(){return NAME_COLUMN_WIDTH_PX-(16*this.row.depth);},get isOverflowing(){return this.$.name.style.maxWidth!=='none'&&this.$.name.getBoundingClientRect().width===this.nameWidthPx;},get isOverviewed(){return this.$.overview_container.style.display==='block';},set isOverviewed(isOverviewed){if(isOverviewed===this.isOverviewed)return;if(isOverviewed){this.showOverview_();}else{this.hideOverview_();}},hideOverview_(opt_event){this.$.overview_container.style.display='none';this.$.hide_overview.style.display='none';this.$.show_overview.style.display='block';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','hideOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},showOverview_(opt_event){this.$.overview_container.style.display='block';if(this.overviewChart_===undefined){const data=[];let unitString=undefined;for(const[displayLabel,hist]of this.row.columns){data.push({x:displayLabel,y:hist.average});unitString=hist.unit.unitString;} 9595if(data.length<2){return;} 9596this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;} 9597this.$.hide_overview.style.display='block';this.$.show_overview.style.display='none';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','showOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},openHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','openHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=true;} 9598this.$.close_histograms.style.display='block';this.$.open_histograms.style.display='none';},closeHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','closeHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=false;} 9599this.$.open_histograms.style.display='block';this.$.close_histograms.style.display='none';},onRootStateUpdate_(event){if(event.delta.constrainNameColumn){this.constrainWidth=this.row.rootViewState.constrainNameColumn;}},onRowStateUpdate_(event){if(event.delta.isOverviewed){this.isOverviewed=this.row.viewState.isOverviewed;}},onCellStateUpdate_(event){if(!event.delta.isOpen)return;let cellCount=0;let openCellCount=0;for(const cell of this.row.cells.values()){if(!(cell.histogram instanceof tr.v.Histogram)||(cell.histogram.numValues===0)){continue;} 9600++cellCount;if(cell.isHistogramOpen)++openCellCount;} 9601if(cellCount<=1)return;const mostlyOpen=openCellCount>(cellCount/2);this.$.open_histograms.style.display=mostlyOpen?'none':'block';this.$.close_histograms.style.display=mostlyOpen?'block':'none';}});return{NAME_COLUMN_WIDTH_PX,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetTableRow{constructor(hierarchy,baseTable,rootViewState){this.hierarchy_=hierarchy;this.baseTable_=baseTable;this.rootViewState_=rootViewState;this.viewState_=new tr.v.ui.HistogramSetTableRowState();this.viewState_.addUpdateListener(this.onViewStateUpdate_.bind(this));this.nameCell_=undefined;this.cells_=new Map();this.subRows_=[];for(const subHierarchy of hierarchy.subRows){const subRow=new HistogramSetTableRow(subHierarchy,baseTable,rootViewState);this.subRows_.push(subRow);this.viewState.subRows.set(subRow.name,subRow.viewState);} 9602for(const columnName of this.columns.keys()){this.viewState.cells.set(columnName,new tr.v.ui.HistogramSetTableCellState());}} 9603get name(){return this.hierarchy_.name;} 9604get depth(){return this.hierarchy_.depth;} 9605get description(){return this.hierarchy_.description;} 9606get columns(){return this.hierarchy_.columns;} 9607get overviewDataRange(){return this.hierarchy_.overviewDataRange;} 9608get rootViewState(){return this.rootViewState_;} 9609get cells(){return this.cells_;} 9610get subRows(){return this.subRows_;} 9611get viewState(){return this.viewState_;}*walk(){yield this;for(const row of this.subRows)yield*row.walk();} 9612static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();} 9613get nameCell(){if(this.nameCell_===undefined){this.nameCell_=document.createElement('tr-v-ui-histogram-set-table-name-cell');this.nameCell_.build(this);} 9614return this.nameCell_;} 9615getCell(columnName){if(this.cells.has(columnName))return this.cells.get(columnName);const cell=document.createElement('tr-v-ui-histogram-set-table-cell');cell.build(this,columnName,this.viewState.cells.get(columnName));this.cells.set(columnName,cell);return cell;} 9616compareNames(other){return this.name.localeCompare(other.name);} 9617compareCells(other,displayLabel,referenceDisplayLabel){const cellA=this.columns.get(displayLabel);const cellB=other.columns.get(displayLabel);if(!(cellA instanceof tr.v.Histogram)||!(cellB instanceof tr.v.Histogram)){return undefined;} 9618let referenceCellA;let referenceCellB;if(referenceDisplayLabel&&referenceDisplayLabel!==displayLabel){referenceCellA=this.columns.get(referenceDisplayLabel);referenceCellB=other.columns.get(referenceDisplayLabel);} 9619const statisticA=cellA.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellA);const statisticB=cellB.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellB);const valueA=cellA.getStatisticScalar(statisticA,referenceCellA).value;const valueB=cellB.getStatisticScalar(statisticB,referenceCellB).value;return valueA-valueB;} 9620onViewStateUpdate_(event){if(event.delta.isExpanded){this.baseTable_.setExpandedForTableRow(this,this.viewState.isExpanded);} 9621if(event.delta.subRows){throw new Error('HistogramSetTableRow.subRows must not be reassigned.');} 9622if(event.delta.cells){for(const[displayLabel,cell]of this.cells){if(cell.viewState!==this.viewState.cells.get(displayLabel)){throw new Error('Only HistogramSetTableRow may update cells');}}}} 9623async restoreState(vs){await this.viewState.update({isExpanded:vs.isExpanded,isOverviewed:vs.isOverviewed,});for(const[displayLabel,cell]of this.cells){const previousState=vs.cells.get(displayLabel);if(!previousState)continue;await cell.viewState.updateFromViewState(previousState);} 9624for(const row of this.subRows){const previousState=vs.subRows.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}}} 9625return{HistogramSetTableRow,};});'use strict';tr.exportTo('tr.v.ui',function(){const MIDLINE_HORIZONTAL_ELLIPSIS=String.fromCharCode(0x22ef);function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,'\\$&');} 9626Polymer({is:'tr-v-ui-histogram-set-table',created(){this.viewState_=undefined;this.progress_=()=>Promise.resolve();this.nameColumnTitle_=undefined;this.displayLabels_=[];this.histograms_=undefined;this.sourceHistograms_=undefined;this.groupedHistograms_=undefined;this.hierarchies_=undefined;this.tableRows_=undefined;},ready(){this.$.table.zebra=true;this.addEventListener('sort-column-changed',this.onSortColumnChanged_.bind(this));this.addEventListener('requestSelectionChange',this.onRequestSelectionChange_.bind(this));this.addEventListener('row-expanded-changed',this.onRowExpandedChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');} 9627this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},get histograms(){return this.histograms_;},async build(histograms,sourceHistograms,displayLabels,opt_progress){this.histograms_=histograms;this.sourceHistograms_=sourceHistograms;this.groupedHistograms_=undefined;this.displayLabels_=displayLabels;if(opt_progress!==undefined)this.progress_=opt_progress;if(histograms.length===0){throw new Error('histogram-set-table requires non-empty HistogramSet.');} 9628await this.progress_('Building columns...');this.$.table.tableColumns=[{title:this.buildNameColumnTitle_(),value:row=>row.nameCell,cmp:(a,b)=>a.compareNames(b),}].concat(displayLabels.map(l=>this.buildColumn_(l)));tr.b.Timing.instant('histogram-set-table','columnCount',this.$.table.tableColumns.length);await this.updateContents_();this.fire('display-ready');this.progress_=()=>Promise.resolve();this.checkNameColumnOverflow_(tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows));},buildNameColumnTitle_(){this.nameColumnTitle_=document.createElement('span');this.nameColumnTitle_.style.display='inline-flex';const nameEl=document.createElement('span');nameEl.textContent='Name';this.nameColumnTitle_.appendChild(nameEl);const toggleWidthEl=document.createElement('span');toggleWidthEl.style.fontWeight='bold';toggleWidthEl.style.background='#bbb';toggleWidthEl.style.color='#333';toggleWidthEl.style.padding='0px 3px';toggleWidthEl.style.marginRight='8px';toggleWidthEl.style.display='none';toggleWidthEl.textContent=MIDLINE_HORIZONTAL_ELLIPSIS;toggleWidthEl.addEventListener('click',this.toggleNameColumnWidth_.bind(this));this.nameColumnTitle_.appendChild(toggleWidthEl);return this.nameColumnTitle_;},toggleNameColumnWidth_(opt_event){this.viewState.update({constrainNameColumn:!this.viewState.constrainNameColumn,});if(opt_event!==undefined){opt_event.stopPropagation();opt_event.preventDefault();tr.b.Timing.instant('histogram-set-table','nameColumn'+ 9629(this.viewState.constrainNameColumn?'Constrained':'Unconstrained'));}},buildColumn_(displayLabel){const title=document.createElement('span');title.textContent=displayLabel;title.style.whiteSpace='pre';return{title,value:row=>row.getCell(displayLabel),cmp:(rowA,rowB)=>rowA.compareCells(rowB,displayLabel),};},async updateContents_(){if(this.groupedHistograms_===undefined){await this.progress_('Grouping Histograms...');this.groupHistograms_();} 9630if(this.hierarchies_===undefined){await this.progress_('Merging Histograms...');this.hierarchies_=tr.v.HistogramSetHierarchy.build(this.groupedHistograms_);this.tableRows_=undefined;} 9631const tableRowsDirty=this.tableRows_===undefined;const previousRowStates=this.viewState.tableRowStates;if(tableRowsDirty){await this.progress_('Filtering rows...');let filteredHistograms=this.viewState.showAll?this.histograms:this.sourceHistograms_;if(this.viewState.searchQuery){let query=undefined;try{query=new RegExp(this.viewState.searchQuery);}catch(e){} 9632if(query!==undefined){filteredHistograms=new tr.v.HistogramSet([...filteredHistograms].filter(hist=>hist.name.match(query)));}} 9633const filteredHierarchies=tr.v.HistogramSetHierarchy.filter(this.hierarchies_,filteredHistograms);this.tableRows_=filteredHierarchies.map(hierarchy=>new tr.v.ui.HistogramSetTableRow(hierarchy,this.$.table,this.viewState));tr.b.Timing.instant('histogram-set-table','rootRowCount',this.tableRows_.length);const namesToRowStates=new Map();for(const row of this.tableRows_){namesToRowStates.set(row.name,row.viewState);} 9634await this.viewState.update({tableRowStates:namesToRowStates});} 9635await this.progress_('Configuring table...');this.nameColumnTitle_.children[1].style.filter=this.viewState.constrainNameColumn?'invert(100%)':'';const referenceDisplayLabelIndex=this.displayLabels_.indexOf(this.viewState.referenceDisplayLabel);this.$.table.selectedTableColumnIndex=(referenceDisplayLabelIndex<0)?undefined:(1+referenceDisplayLabelIndex);this.$.table.sortColumnIndex=this.viewState.sortColumnIndex;this.$.table.sortDescending=this.viewState.sortDescending;if(tableRowsDirty){await this.progress_('Building DOM...');this.$.table.tableRows=this.tableRows_;for(const row of this.tableRows_){const previousState=previousRowStates.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}} 9636this.$.table.rebuild();},async onRowExpandedChanged_(event){event.row.viewState.isExpanded=this.$.table.getExpandedForTableRow(event.row);tr.b.Timing.instant('histogram-set-table','row'+(event.row.viewState.isExpanded?'Expanded':'Collapsed'));if(this.nameColumnTitle_.children[1].style.display==='block')return;await tr.b.animationFrame();this.checkNameColumnOverflow_(event.row.subRows);},checkNameColumnOverflow_(rows){for(const row of rows){if(!row.nameCell.isOverflowing)continue;const[nameSpan,dots]=this.nameColumnTitle_.children;dots.style.display='block';const labelWidthPx=tr.v.ui.NAME_COLUMN_WIDTH_PX- 9637dots.getBoundingClientRect().width;nameSpan.style.width=labelWidthPx+'px';return;}},groupHistograms_(){const groupings=this.viewState.groupings.slice();groupings.push(tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL);function canSkipGrouping(grouping,groupedHistograms){if(groupedHistograms.size>1)return false;if(grouping.key===groupings[0].key)return false;if(grouping.key===tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.key){return false;} 9638return true;} 9639this.groupedHistograms_=this.histograms.groupHistogramsRecursively(groupings,canSkipGrouping);this.hierarchies_=undefined;},async onViewStateUpdate_(event){if(this.histograms_===undefined)return;if(event.delta.groupings!==undefined){this.groupedHistograms_=undefined;} 9640if(event.delta.searchQuery!==undefined||event.delta.showAll!==undefined){this.tableRows_=undefined;} 9641if(event.delta.displayStatistic!==undefined&&this.$.table.sortColumnIndex>0){this.$.table.sortColumnIndex=undefined;} 9642if(event.delta.referenceDisplayLabel!==undefined||event.delta.displayStatisticName!==undefined){this.$.table.tableRows=this.$.table.tableRows;} 9643if(event.delta.tableRowStates){if(this.tableRows_.length!==this.viewState.tableRowStates.size){throw new Error('Only histogram-set-table may update tableRowStates');} 9644for(const row of this.tableRows_){if(this.viewState.tableRowStates.get(row.name)!==row.viewState){throw new Error('Only histogram-set-table may update tableRowStates');}}} 9645await this.updateContents_();},onSortColumnChanged_(event){tr.b.Timing.instant('histogram-set-table','sortColumn');this.viewState.update({sortColumnIndex:event.sortColumnIndex,sortDescending:event.sortDescending,});},onRequestSelectionChange_(event){if(event.selection instanceof tr.model.EventSet)return;event.stopPropagation();tr.b.Timing.instant('histogram-set-table','selectHistogramNames');let histogramNames=event.selection;histogramNames.sort();histogramNames=histogramNames.map(escapeRegExp).join('|');this.viewState.update({showAll:true,searchQuery:`^(${histogramNames})$`,});},get leafHistograms(){const histograms=new tr.v.HistogramSet();for(const row of 9646tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows)){if(row.subRows.length)continue;for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}} 9647return histograms;}});return{MIDLINE_HORIZONTAL_ELLIPSIS,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-view',created(){this.brushingStateController_=new tr.ui.NullBrushingStateController();this.viewState_=new tr.v.ui.HistogramSetViewState();},ready(){this.$.table.viewState=this.viewState;this.$.controls.viewState=this.viewState;this.$.controls.addEventListener('download-csv',this.downloadCSV_.bind(this));},attached(){this.brushingStateController.parentController=tr.c.BrushingStateController.getControllerForElement(this.parentNode);},get brushingStateController(){return this.brushingStateController_;},get viewState(){return this.viewState_;},set helpHref(href){this.$.controls.helpHref=href;},set feedbackHref(href){this.$.controls.feedbackHref=href;},get histograms(){return this.$.table.histograms;},async build(histograms,opt_progress){const progress=opt_progress||(()=>Promise.resolve());if(histograms===undefined||histograms.length===0){this.$.container.style.display='none';this.$.zero.style.display='block';this.style.display='block';return;} 9648this.$.zero.style.display='none';this.$.container.style.display='block';this.$.container.style.maxHeight=(window.innerHeight-16)+'px';const buildMark=tr.b.Timing.mark('histogram-set-view','build');await progress('Finding important Histograms...');const sourceHistogramsMark=tr.b.Timing.mark('histogram-set-view','sourceHistograms');const sourceHistograms=histograms.sourceHistograms;sourceHistogramsMark.end();this.$.controls.showAllEnabled=(sourceHistograms.length!==histograms.length);await progress('Collecting parameters...');const collectParametersMark=tr.b.Timing.mark('histogram-set-view','collectParameters');const parameterCollector=new tr.v.HistogramParameterCollector();parameterCollector.process(histograms);this.$.controls.baseStatisticNames=parameterCollector.statisticNames;this.$.controls.possibleGroupings=parameterCollector.possibleGroupings;const displayLabels=parameterCollector.labels;this.$.controls.displayLabels=displayLabels;collectParametersMark.end();await this.$.table.build(histograms,sourceHistograms,displayLabels,progress);buildMark.end();},downloadCSV_(){const downloadCSVMark=tr.b.Timing.mark('histogram-set-view','downloadCSV');const anchor=document.createElement('a');const path=window.location.pathname.split('/');const basename=path[path.length-1].split('.')[0]||'histograms';anchor.download=basename+'.csv';const csv=new tr.v.CSVBuilder(this.$.table.leafHistograms);csv.build();const blob=new window.Blob([csv.toString()],{type:'text/csv'});anchor.href=window.URL.createObjectURL(blob);anchor.click();downloadCSVMark.end();}});return{};});'use strict';tr.exportTo('tr.ui',function(){Polymer({is:'tr-ui-sp-metrics-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=undefined;this.metricLatenciesMs_=[];this.metrics_=[];tr.metrics.MetricRegistry.getAllRegisteredTypeInfos().forEach(function(m){if(m.constructor.name==='sampleMetric')return;this.metrics_.push({label:m.constructor.name,value:m.constructor.name});},this);this.settingsKey_='metrics-side-panel-metric-name';this.currentMetricName_='responsivenessMetric';const metricSelector=tr.ui.b.createSelector(this,'currentMetricName_',this.settingsKey_,this.currentMetricName_,this.metrics_);Polymer.dom(this.$.top_left_controls).appendChild(metricSelector);metricSelector.addEventListener('change',this.onMetricChange_.bind(this));this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.recomputeButton_=tr.ui.b.createButton('Recompute',this.onRecompute_,this);Polymer.dom(this.$.top_left_controls).appendChild(this.recomputeButton_);this.$.results.addEventListener('display-ready',()=>{this.$.results.style.display='';});},async build(model){this.model_=model;await this.updateContents_();},get metricLatencyMs(){return tr.b.math.Statistics.mean(this.metricLatenciesMs_);},onMetricChange_(){this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.metricLatenciesMs_=[];this.updateContents_();},onRecompute_(){this.updateContents_();},get textLabel(){return'Metrics';},supportsModel(m){if(!m){return{supported:false,reason:'No model available'};} 9649return{supported:true};},get model(){return this.model_;},set model(model){this.build(model);},get selection(){},set selection(_){},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){this.rangeOfInterest_=range;if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest){if((this.metricLatencyMs===undefined)||(this.metricLatencyMs<100)){this.updateContents_();}else{this.recomputeButton_.style.background='red';}}},async updateContents_(){Polymer.dom(this.$.error).textContent='';this.$.results.style.display='none';if(!this.model_){Polymer.dom(this.$.error).textContent='Missing model';return;} 9650const options={metrics:[this.currentMetricName_]};if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest&&this.rangeOfInterest&&!this.rangeOfInterest.isEmpty){options.rangeOfInterest=this.rangeOfInterest;} 9651const startDate=new Date();let histograms;try{histograms=tr.metrics.runMetrics(this.model_,options);}catch(err){Polymer.dom(this.$.error).textContent=err.message;return;} 9652this.metricLatenciesMs_.push(new Date()-startDate);while(this.metricLatenciesMs_.length>20){this.metricLatenciesMs_.shift();} 9653this.recomputeButton_.style.background='';await this.$.results.build(histograms);}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-metrics-side-panel');});return{};});'use strict';Polymer({is:'tr-ui-e-s-alerts-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.selection_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},set selection(selection){},set rangeOfInterest(rangeOfInterest){},selectAlertsOfType(alertTypeString){const alertsOfType=this.model_.alerts.filter(function(alert){return alert.title===alertTypeString;});const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(alertsOfType);this.dispatchEvent(event);},alertsByType_(alerts){const alertsByType={};alerts.forEach(function(alert){if(!alertsByType[alert.title]){alertsByType[alert.title]=[];} 9654alertsByType[alert.title].push(alert);});return alertsByType;},alertsTableRows_(alertsByType){return Object.keys(alertsByType).map(function(key){return{alertType:key,count:alertsByType[key].length};});},alertsTableColumns_(){return[{title:'Alert type',value(row){return row.alertType;},width:'180px'},{title:'Count',width:'100%',value(row){return row.count;}}];},createAlertsTable_(alerts){const alertsByType=this.alertsByType_(alerts);const table=document.createElement('tr-ui-b-table');table.tableColumns=this.alertsTableColumns_();table.tableRows=this.alertsTableRows_(alertsByType);table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.addEventListener('selection-changed',function(e){const row=table.selectedTableRow;if(row){this.selectAlertsOfType(row.alertType);}}.bind(this));return table;},updateContents_(){Polymer.dom(this.$.result_area).textContent='';if(this.model_===undefined)return;const panel=this.createAlertsTable_(this.model_.alerts);Polymer.dom(this.$.result_area).appendChild(panel);},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};}else if(m.alerts.length===0){return{supported:false,reason:'No alerts in tracing model'};} 9655return{supported:true};},get textLabel(){return'Alerts';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-alerts-side-panel');}); 9656</script> 9657<!--CATAPULT_REV=NO_AUTO_UPDATE--> 9658</head> 9659<body> 9660 <tr-ui-timeline-view> 9661 <track-view-container id='track_view_container'></track-view-container> 9662 </tr-ui-timeline-view> 9663 9664 <script> 9665 'use strict'; 9666 var timelineViewEl; 9667 9668 function onLoad() { 9669 timelineViewEl = document.querySelector('tr-ui-timeline-view'); 9670 timelineViewEl.globalMode = true; 9671 9672 var traceDataEls = document.body.querySelectorAll('.trace-data'); 9673 var traces = []; 9674 for (var i = 0; i < traceDataEls.length; i++) { 9675 var traceText = traceDataEls[i].textContent; 9676 // Remove the leading newline. 9677 traceText = traceText.substring(1); 9678 traces.push(traceText); 9679 } 9680 9681 var m = new tr.Model(); 9682 var i = new tr.importer.Import(m); 9683 var p = i.importTracesWithProgressDialog(traces); 9684 p.then( 9685 function() { 9686 timelineViewEl.model = m; 9687 timelineViewEl.updateDocumentFavicon(); 9688 timelineViewEl.globalMode = true; 9689 timelineViewEl.viewTitle = 'Android System Trace'; 9690 }, 9691 function(err) { 9692 var overlay = new tr.ui.b.Overlay(); 9693 overlay.textContent = tr.b.normalizeException(err).message; 9694 overlay.title = 'Import error'; 9695 overlay.visible = true; 9696 }); 9697 } 9698 window.addEventListener('load', onLoad); 9699 </script> 9700<!-- BEGIN TRACE --> 9701 <script class="trace-data" type="application/text"> 9702PROCESS DUMP 9703USER PID PPID VSZ RSS WCHAN PC S NAME COMM 9704root 1 0 13628 1896 SyS_epoll_wait 4fea4c S init init 9705root 2 0 0 0 kthreadd 0 S [kthreadd] 2 9706root 3 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/0] 3 9707root 5 2 0 0 worker_thread 0 S [kworker/0:0H] 5 9708root 7 2 0 0 rcu_gp_kthread 0 S [rcu_preempt] 7 9709root 8 2 0 0 rcu_gp_kthread 0 S [rcu_sched] 8 9710root 9 2 0 0 rcu_gp_kthread 0 S [rcu_bh] 9 9711root 10 2 0 0 rcu_nocb_kthread 0 S [rcuop/0] 1 9712root 11 2 0 0 rcu_nocb_kthread 0 S [rcuos/0] 1 9713root 12 2 0 0 rcu_nocb_kthread 0 S [rcuob/0] 1 9714root 13 2 0 0 smpboot_thread_fn 0 S [migration/0] 1 9715root 14 2 0 0 smpboot_thread_fn 0 S [watchdog/0] 1 9716root 15 2 0 0 smpboot_thread_fn 0 S [watchdog/1] 1 9717root 16 2 0 0 smpboot_thread_fn 0 S [migration/1] 1 9718root 17 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/1] 1 9719root 19 2 0 0 worker_thread 0 S [kworker/1:0H] 1 9720root 20 2 0 0 rcu_nocb_kthread 0 S [rcuop/1] 2 9721root 21 2 0 0 rcu_nocb_kthread 0 S [rcuos/1] 2 9722root 22 2 0 0 rcu_nocb_kthread 0 S [rcuob/1] 2 9723root 23 2 0 0 smpboot_thread_fn 0 S [watchdog/2] 2 9724root 24 2 0 0 smpboot_thread_fn 0 S [migration/2] 2 9725root 25 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/2] 2 9726root 27 2 0 0 worker_thread 0 S [kworker/2:0H] 2 9727root 28 2 0 0 rcu_nocb_kthread 0 S [rcuop/2] 2 9728root 29 2 0 0 rcu_nocb_kthread 0 S [rcuos/2] 2 9729root 30 2 0 0 rcu_nocb_kthread 0 S [rcuob/2] 3 9730root 31 2 0 0 smpboot_thread_fn 0 S [watchdog/3] 3 9731root 32 2 0 0 smpboot_thread_fn 0 S [migration/3] 3 9732root 33 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/3] 3 9733root 35 2 0 0 worker_thread 0 S [kworker/3:0H] 3 9734root 36 2 0 0 rcu_nocb_kthread 0 S [rcuop/3] 3 9735root 37 2 0 0 rcu_nocb_kthread 0 S [rcuos/3] 3 9736root 38 2 0 0 rcu_nocb_kthread 0 S [rcuob/3] 3 9737root 39 2 0 0 smpboot_thread_fn 0 S [watchdog/4] 3 9738root 40 2 0 0 smpboot_thread_fn 0 S [migration/4] 4 9739root 41 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/4] 4 9740root 43 2 0 0 worker_thread 0 S [kworker/4:0H] 4 9741root 44 2 0 0 rcu_nocb_kthread 0 S [rcuop/4] 4 9742root 45 2 0 0 rcu_nocb_kthread 0 S [rcuos/4] 4 9743root 46 2 0 0 rcu_nocb_kthread 0 S [rcuob/4] 4 9744root 47 2 0 0 smpboot_thread_fn 0 S [watchdog/5] 4 9745root 48 2 0 0 smpboot_thread_fn 0 S [migration/5] 4 9746root 49 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/5] 4 9747root 51 2 0 0 worker_thread 0 S [kworker/5:0H] 5 9748root 52 2 0 0 rcu_nocb_kthread 0 S [rcuop/5] 5 9749root 53 2 0 0 rcu_nocb_kthread 0 S [rcuos/5] 5 9750root 54 2 0 0 rcu_nocb_kthread 0 S [rcuob/5] 5 9751root 55 2 0 0 smpboot_thread_fn 0 S [watchdog/6] 5 9752root 56 2 0 0 smpboot_thread_fn 0 S [migration/6] 5 9753root 57 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/6] 5 9754root 59 2 0 0 worker_thread 0 S [kworker/6:0H] 5 9755root 60 2 0 0 rcu_nocb_kthread 0 S [rcuop/6] 6 9756root 61 2 0 0 rcu_nocb_kthread 0 S [rcuos/6] 6 9757root 62 2 0 0 rcu_nocb_kthread 0 S [rcuob/6] 6 9758root 63 2 0 0 smpboot_thread_fn 0 S [watchdog/7] 6 9759root 64 2 0 0 smpboot_thread_fn 0 S [migration/7] 6 9760root 65 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/7] 6 9761root 67 2 0 0 worker_thread 0 S [kworker/7:0H] 6 9762root 68 2 0 0 rcu_nocb_kthread 0 S [rcuop/7] 6 9763root 69 2 0 0 rcu_nocb_kthread 0 S [rcuos/7] 6 9764root 70 2 0 0 rcu_nocb_kthread 0 S [rcuob/7] 7 9765root 71 2 0 0 rescuer_thread 0 S [netns] 7 9766root 72 2 0 0 rescuer_thread 0 S [perf] 7 9767root 73 2 0 0 rescuer_thread 0 S [smd_channel_clo] 7 9768root 74 2 0 0 kthread_worker_fn 0 S [dsps_smd_trans_] 7 9769root 75 2 0 0 kthread_worker_fn 0 S [lpass_smd_trans] 7 9770root 76 2 0 0 kthread_worker_fn 0 S [mpss_smd_trans_] 7 9771root 77 2 0 0 kthread_worker_fn 0 S [wcnss_smd_trans] 7 9772root 78 2 0 0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7 9773root 79 2 0 0 rescuer_thread 0 S [ipa_usb_wq] 7 9774root 81 2 0 0 kthread_worker_fn 0 S [smem_native_mps] 8 9775root 82 2 0 0 kthread_worker_fn 0 S [mpss_smem_glink] 8 9776root 83 2 0 0 kthread_worker_fn 0 S [smem_native_lpa] 8 9777root 84 2 0 0 kthread_worker_fn 0 S [lpass_smem_glin] 8 9778root 85 2 0 0 kthread_worker_fn 0 S [smem_native_dsp] 8 9779root 86 2 0 0 kthread_worker_fn 0 S [dsps_smem_glink] 8 9780root 87 2 0 0 kthread_worker_fn 0 S [smem_native_rpm] 8 9781root 88 2 0 0 kthread_worker_fn 0 S [rpm_smem_glink_] 8 9782root 89 2 0 0 kthread_worker_fn 0 S [smem_native_sps] 8 9783root 90 2 0 0 kthread_worker_fn 0 S [spss_mailbox_gl] 9 9784root 91 2 0 0 watchdog_kthread 0 S [msm_watchdog] 9 9785root 92 2 0 0 rescuer_thread 0 S [deferwq] 9 9786root 93 2 0 0 msm_mpm_work_fn 0 D [kworker/u16:1] 9 9787root 94 2 0 0 irq_thread 0 S [irq/126-cpr3] 9 9788root 95 2 0 0 rescuer_thread 0 S [mpm] 9 9789root 97 2 0 0 watchdog 0 S [khungtaskd] 9 9790root 98 2 0 0 rescuer_thread 0 S [writeback] 9 9791root 99 2 0 0 kcompactd 0 S [kcompactd0] 9 9792root 100 2 0 0 rescuer_thread 0 S [crypto] 1 9793root 101 2 0 0 rescuer_thread 0 S [bioset] 1 9794root 102 2 0 0 rescuer_thread 0 S [kblockd] 1 9795root 103 2 0 0 rescuer_thread 0 S [md] 1 9796root 104 2 0 0 rescuer_thread 0 S [edac-poller] 1 9797root 105 2 0 0 ion_heap_deferred_free 0 S [system] 1 9798root 106 2 0 0 ion_heap_deferred_free 0 S [easel_mem] 1 9799root 107 2 0 0 rescuer_thread 0 S [devfreq_wq] 1 9800root 108 2 0 0 rescuer_thread 0 S [governor_msm_ad] 1 9801root 110 2 0 0 rescuer_thread 0 S [cfg80211] 1 9802root 111 2 0 0 irq_thread 0 S [irq/134-arm-smm] 1 9803root 112 2 0 0 rescuer_thread 0 S [ipa_power_mgmt] 1 9804root 113 2 0 0 rescuer_thread 0 S [transport_power] 1 9805root 114 2 0 0 rescuer_thread 0 S [ipa_rm_wq] 1 9806root 115 2 0 0 rescuer_thread 0 S [ipa_interrupt_w] 1 9807root 116 2 0 0 irq_thread 0 S [irq/135-arm-smm] 1 9808root 117 2 0 0 irq_thread 0 S [irq/136-arm-smm] 1 9809root 118 2 0 0 irq_thread 0 S [irq/61-bcl_vbat] 1 9810root 119 2 0 0 irq_thread 0 S [irq/60-bcl_ibat] 1 9811root 145 2 0 0 rescuer_thread 0 S [power_off_alarm] 1 9812root 146 2 0 0 kswapd 0 S [kswapd0] 1 9813root 147 2 0 0 rescuer_thread 0 S [vmstat] 1 9814root 148 2 0 0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1 9815root 180 2 0 0 rescuer_thread 0 S [ad_calc_wq] 1 9816root 181 2 0 0 dsi_event_thread 0 D [mdss_dsi_event] 1 9817root 182 2 0 0 rescuer_thread 0 S [mdss_dsi_dba] 1 9818root 183 2 0 0 rescuer_thread 0 S [cwb_wq] 1 9819root 184 2 0 0 kthread_worker_fn 0 S [vsync_retire_wo] 1 9820root 185 2 0 0 rescuer_thread 0 S [cwb_wq] 1 9821root 187 2 0 0 rescuer_thread 0 S [glink_ssr_wq] 1 9822root 188 2 0 0 rescuer_thread 0 S [glink_lbsrv] 1 9823root 189 2 0 0 kthread_worker_fn 0 S [spi_wdsp] 1 9824root 190 2 0 0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1 9825root 191 2 0 0 rescuer_thread 0 S [glink_xprt_wq] 1 9826root 192 2 0 0 rescuer_thread 0 S [IPCRTR_mpss_sme] 1 9827root 193 2 0 0 rescuer_thread 0 S [IPCRTR_lpass_sm] 1 9828root 194 2 0 0 rescuer_thread 0 S [IPCRTR_dsps_sme] 1 9829root 195 2 0 0 rescuer_thread 0 S [apr_driver] 1 9830root 196 2 0 0 rescuer_thread 0 S [glink_pkt_wq] 1 9831root 198 2 0 0 rescuer_thread 0 S [mem_share_svc] 1 9832root 199 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 9833root 200 2 0 0 rescuer_thread 0 S [msm_ipc_router] 2 9834root 201 2 0 0 irq_thread 0 S [irq/137-arm-smm] 2 9835root 202 2 0 0 rescuer_thread 0 S [qmi_svc_event_w] 2 9836root 203 2 0 0 rescuer_thread 0 S [servloc_wq] 2 9837root 204 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9838root 205 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9839root 206 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9840root 207 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9841root 208 2 0 0 rescuer_thread 0 S [k_hsuart] 2 9842root 209 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 9843root 210 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 9844root 211 2 0 0 add_hwgenerator_randomness 0 S [hwrng] 2 9845root 213 2 0 0 rescuer_thread 0 S [diag_real_time_] 2 9846root 214 2 0 0 rescuer_thread 0 S [diag_wq] 2 9847root 215 2 0 0 rescuer_thread 0 S [DIAG_USB_diag] 2 9848root 216 2 0 0 rescuer_thread 0 S [diag_cntl_wq] 2 9849root 217 2 0 0 rescuer_thread 0 S [diag_dci_wq] 2 9850root 218 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9851root 219 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9852root 220 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9853root 221 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9854root 222 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9855root 223 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9856root 224 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9857root 225 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9858root 226 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9859root 227 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9860root 228 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9861root 229 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9862root 230 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9863root 231 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9864root 232 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9865root 233 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9866root 234 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9867root 235 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9868root 236 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9869root 237 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9870root 238 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 9871root 239 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 9872root 240 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 9873root 241 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 9874root 242 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 9875root 243 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 9876root 244 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 9877root 245 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 9878root 246 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 9879root 247 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 9880root 248 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9881root 249 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9882root 250 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9883root 251 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9884root 252 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9885root 253 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9886root 254 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9887root 255 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9888root 256 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9889root 257 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9890root 258 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9891root 259 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9892root 260 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9893root 261 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9894root 262 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9895root 263 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9896root 264 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9897root 265 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9898root 266 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9899root 267 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9900root 268 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 9901root 269 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 9902root 270 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 9903root 271 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 9904root 272 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 9905root 273 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 9906root 274 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 9907root 275 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 9908root 276 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 9909root 277 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 9910root 278 2 0 0 rescuer_thread 0 S [DIAG_CNTL_SOCKE] 2 9911root 279 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9912root 280 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9913root 281 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9914root 282 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9915root 283 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9916root 284 2 0 0 rescuer_thread 0 S [kgsl-workqueue] 2 9917root 285 2 0 0 rescuer_thread 0 S [kgsl-mementry] 2 9918root 286 2 0 0 kthread_worker_fn 0 S [kgsl_worker_thr] 2 9919root 287 2 0 0 rescuer_thread 0 S [kgsl-events] 2 9920root 288 2 0 0 rescuer_thread 0 S [kgsl_devfreq_wq] 2 9921root 289 2 0 0 rescuer_thread 0 S [bioset] 2 9922root 290 2 0 0 rescuer_thread 0 S [bioset] 2 9923root 291 2 0 0 rescuer_thread 0 S [bioset] 2 9924root 292 2 0 0 rescuer_thread 0 S [bioset] 2 9925root 293 2 0 0 rescuer_thread 0 S [bioset] 2 9926root 294 2 0 0 rescuer_thread 0 S [bioset] 2 9927root 295 2 0 0 rescuer_thread 0 S [bioset] 2 9928root 296 2 0 0 rescuer_thread 0 S [bioset] 2 9929root 297 2 0 0 rescuer_thread 0 S [bioset] 2 9930root 298 2 0 0 rescuer_thread 0 S [bioset] 2 9931root 299 2 0 0 rescuer_thread 0 S [bioset] 2 9932root 300 2 0 0 rescuer_thread 0 S [bioset] 3 9933root 301 2 0 0 rescuer_thread 0 S [bioset] 3 9934root 302 2 0 0 rescuer_thread 0 S [bioset] 3 9935root 304 2 0 0 rescuer_thread 0 S [bioset] 3 9936root 305 2 0 0 rescuer_thread 0 S [bioset] 3 9937root 306 2 0 0 rescuer_thread 0 S [bioset] 3 9938root 307 2 0 0 rescuer_thread 0 S [bioset] 3 9939root 308 2 0 0 rescuer_thread 0 S [bioset] 3 9940root 309 2 0 0 rescuer_thread 0 S [bioset] 3 9941root 310 2 0 0 rescuer_thread 0 S [bioset] 3 9942root 311 2 0 0 rescuer_thread 0 S [bioset] 3 9943root 312 2 0 0 rescuer_thread 0 S [bioset] 3 9944root 313 2 0 0 rescuer_thread 0 S [bioset] 3 9945root 314 2 0 0 rescuer_thread 0 S [bioset] 3 9946root 315 2 0 0 irq_thread 0 S [irq/286-soc:fp_] 3 9947root 316 2 0 0 rescuer_thread 0 S [memory_wq] 3 9948root 317 2 0 0 rescuer_thread 0 S [qcrypto_seq_res] 3 9949root 318 2 0 0 scsi_error_handler 0 S [scsi_eh_0] 3 9950root 319 2 0 0 rescuer_thread 0 S [scsi_tmf_0] 3 9951root 320 2 0 0 rescuer_thread 0 S [ufs_pm_qos_0] 3 9952root 321 2 0 0 rescuer_thread 0 S [ufs_clk_ungatin] 3 9953root 322 2 0 0 rescuer_thread 0 S [ufs_clkscaling_] 3 9954root 323 2 0 0 kthread_worker_fn 0 S [spi1] 3 9955root 325 2 0 0 kthread_worker_fn 0 S [spi2] 3 9956root 326 2 0 0 kthread_worker_fn 0 S [spi10] 3 9957root 327 2 0 0 rescuer_thread 0 S [bond0] 3 9958root 329 2 0 0 rescuer_thread 0 S [sharedmem_qmi_w] 3 9959root 330 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 3 9960root 331 2 0 0 diag_socket_read 0 S [kworker/u16:3] 3 9961root 335 2 0 0 rescuer_thread 0 S [uether] 3 9962root 336 2 0 0 rescuer_thread 0 S [k_ipa_usb] 3 9963root 340 2 0 0 worker_thread 0 S [kworker/u17:0] 3 9964root 341 2 0 0 irq_thread 0 S [irq/262-vl53l0_] 3 9965root 342 2 0 0 rescuer_thread 0 S [bioset] 3 9966root 343 2 0 0 rescuer_thread 0 S [bioset] 3 9967root 344 2 0 0 rescuer_thread 0 S [bioset] 3 9968root 345 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 9969root 346 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 9970root 347 2 0 0 rescuer_thread 0 S [bioset] 3 9971root 348 2 0 0 rescuer_thread 0 S [bioset] 3 9972root 349 2 0 0 rescuer_thread 0 S [bioset] 3 9973root 350 2 0 0 rescuer_thread 0 S [bioset] 3 9974root 351 2 0 0 rescuer_thread 0 S [bioset] 3 9975root 352 2 0 0 rescuer_thread 0 S [bioset] 3 9976root 354 2 0 0 rescuer_thread 0 S [msm_cpp_workque] 3 9977root 357 2 0 0 rescuer_thread 0 S [msm_vidc_worker] 3 9978root 358 2 0 0 rescuer_thread 0 S [pm_workerq_venu] 3 9979root 359 2 0 0 irq_thread 0 S [irq/158-arm-smm] 3 9980root 360 2 0 0 irq_thread 0 S [irq/159-arm-smm] 3 9981root 361 2 0 0 irq_thread 0 S [irq/160-arm-smm] 3 9982root 362 2 0 0 irq_thread 0 S [irq/161-arm-smm] 3 9983root 363 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_0] 3 9984root 364 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_1] 3 9985root 365 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_0] 3 9986root 366 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_1] 3 9987root 368 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 3 9988root 369 2 0 0 irq_thread 0 S [irq/500-chg-err] 3 9989root 370 2 0 0 irq_thread 0 S [irq/501-chg-sta] 3 9990root 371 2 0 0 irq_thread 0 S [irq/502-step-ch] 3 9991root 372 2 0 0 irq_thread 0 S [irq/503-step-ch] 3 9992root 373 2 0 0 irq_thread 0 S [irq/504-step-ch] 3 9993root 374 2 0 0 irq_thread 0 S [irq/505-otg-fai] 3 9994root 375 2 0 0 irq_thread 0 S [irq/506-otg-ove] 3 9995root 376 2 0 0 irq_thread 0 S [irq/507-otg-oc-] 3 9996root 377 2 0 0 irq_thread 0 S [irq/508-testmod] 3 9997root 378 2 0 0 irq_thread 0 S [irq/509-bat-tem] 3 9998root 379 2 0 0 irq_thread 0 S [irq/510-bat-ocp] 3 9999root 380 2 0 0 irq_thread 0 S [irq/511-bat-ov] 3 10000root 381 2 0 0 irq_thread 0 S [irq/512-bat-low] 3 10001root 382 2 0 0 irq_thread 0 S [irq/513-bat-the] 3 10002root 383 2 0 0 irq_thread 0 S [irq/514-bat-ter] 3 10003root 384 2 0 0 irq_thread 0 S [irq/515-usbin-c] 3 10004root 385 2 0 0 irq_thread 0 S [irq/516-usbin-l] 3 10005root 386 2 0 0 irq_thread 0 S [irq/517-usbin-u] 3 10006root 387 2 0 0 irq_thread 0 S [irq/518-usbin-o] 3 10007root 388 2 0 0 irq_thread 0 S [irq/519-usbin-p] 3 10008root 389 2 0 0 irq_thread 0 S [irq/520-usbin-s] 3 10009root 390 2 0 0 irq_thread 0 S [irq/521-usbin-i] 3 10010root 391 2 0 0 irq_thread 0 S [irq/522-type-c-] 3 10011root 392 2 0 0 irq_thread 0 S [irq/523-dcin-co] 3 10012root 393 2 0 0 irq_thread 0 S [irq/524-dcin-lt] 3 10013root 394 2 0 0 irq_thread 0 S [irq/525-dcin-uv] 3 10014root 395 2 0 0 irq_thread 0 S [irq/526-dcin-ov] 3 10015root 396 2 0 0 irq_thread 0 S [irq/527-dcin-pl] 3 10016root 397 2 0 0 irq_thread 0 S [irq/528-div2-en] 3 10017root 398 2 0 0 irq_thread 0 S [irq/529-dcin-ic] 3 10018root 399 2 0 0 irq_thread 0 S [irq/532-aicl-fa] 3 10019root 400 2 0 0 irq_thread 0 S [irq/533-aicl-do] 4 10020root 401 2 0 0 irq_thread 0 S [irq/534-high-du] 4 10021root 402 2 0 0 irq_thread 0 S [irq/535-input-c] 4 10022root 403 2 0 0 irq_thread 0 S [irq/536-tempera] 4 10023root 404 2 0 0 irq_thread 0 S [irq/537-switche] 4 10024root 405 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10025root 406 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10026root 408 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10027root 409 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10028root 410 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10029root 411 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10030root 412 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10031root 413 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10032root 414 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10033root 415 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10034root 416 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10035root 417 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10036root 418 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10037root 419 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10038root 420 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10039root 421 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10040root 422 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10041root 423 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10042root 424 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10043root 425 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10044root 426 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10045root 427 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10046root 428 2 0 0 irq_thread 0 S [irq/59-tsens_in] 4 10047root 429 2 0 0 irq_thread 0 S [irq/62-tsens_cr] 4 10048root 430 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10049root 431 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10050root 432 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10051root 433 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10052root 434 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10053root 435 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10054root 436 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10055root 437 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10056root 438 2 0 0 irq_thread 0 S [irq/63-tsens_in] 4 10057root 439 2 0 0 irq_thread 0 S [irq/64-tsens_cr] 4 10058root 440 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10059root 441 2 0 0 irq_thread 0 S [irq/366-limits_] 4 10060root 442 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10061root 443 2 0 0 irq_thread 0 S [irq/367-limits_] 4 10062root 444 2 0 0 rescuer_thread 0 S [dm_bufio_cache] 4 10063root 445 2 0 0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4 10064root 446 2 0 0 irq_thread 0 S [irq/291-bcm1560] 4 10065root 447 2 0 0 irq_thread 0 S [irq/226-bcm1560] 4 10066root 449 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10067root 450 2 0 0 irq_thread 0 S [irq/197-spdm_bw] 4 10068root 451 2 0 0 rescuer_thread 0 S [binder] 4 10069root 452 2 0 0 irq_thread 0 S [irq/144-arm-smm] 4 10070root 453 2 0 0 rescuer_thread 0 S [uaudio_svc] 4 10071root 454 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 4 10072root 455 2 0 0 rescuer_thread 0 S [ipv6_addrconf] 4 10073root 457 2 0 0 irq_thread 0 S [irq/574-adsp] 4 10074root 458 2 0 0 rescuer_thread 0 S [sysmon_wq] 4 10075root 459 2 0 0 irq_thread 0 S [irq/606-slpi] 4 10076root 460 2 0 0 irq_thread 0 S [irq/542-modem] 4 10077root 464 2 0 0 rescuer_thread 0 S [usb_bam_wq] 4 10078root 465 2 0 0 irq_thread 0 S [irq/19-sig-tx] 4 10079root 466 2 0 0 irq_thread 0 S [irq/20-sig-rx] 4 10080root 467 2 0 0 irq_thread 0 S [irq/22-msg-rx] 4 10081root 468 2 0 0 rescuer_thread 0 S [usbpd0] 4 10082root 469 2 0 0 rescuer_thread 0 S [usbpd0] 4 10083root 474 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10084root 475 2 0 0 irq_thread 0 S [irq/734-soc-upd] 4 10085root 476 2 0 0 irq_thread 0 S [irq/735-soc-rea] 4 10086root 477 2 0 0 irq_thread 0 S [irq/736-bsoc-de] 4 10087root 478 2 0 0 irq_thread 0 S [irq/737-msoc-de] 4 10088root 479 2 0 0 irq_thread 0 S [irq/738-msoc-lo] 4 10089root 480 2 0 0 irq_thread 0 S [irq/739-msoc-em] 4 10090root 481 2 0 0 irq_thread 0 S [irq/740-msoc-hi] 4 10091root 482 2 0 0 irq_thread 0 S [irq/741-msoc-fu] 4 10092root 483 2 0 0 irq_thread 0 S [irq/742-vbatt-p] 4 10093root 484 2 0 0 irq_thread 0 S [irq/743-vbatt-l] 4 10094root 485 2 0 0 irq_thread 0 S [irq/744-esr-del] 4 10095root 486 2 0 0 irq_thread 0 S [irq/745-batt-mi] 4 10096root 487 2 0 0 irq_thread 0 S [irq/746-batt-te] 4 10097root 488 2 0 0 irq_thread 0 S [irq/747-ima-rdy] 4 10098root 489 2 0 0 irq_thread 0 S [irq/748-mem-xcp] 4 10099root 490 2 0 0 irq_thread 0 S [irq/749-dma-gra] 4 10100root 492 2 0 0 irq_thread 0 S [irq/54-hs_phy_i] 4 10101root 493 2 0 0 irq_thread 0 S [irq/55-ss_phy_i] 4 10102root 494 2 0 0 irq_thread 0 S [irq/56-msm_dwc3] 4 10103root 496 2 0 0 irq_thread 0 S [irq/36-ARM64 pr] 4 10104root 497 2 0 0 irq_thread 0 S [irq/37-ARM64 se] 4 10105root 498 2 0 0 irq_thread 0 S [irq/39-ARM64 pr] 4 10106root 499 2 0 0 irq_thread 0 S [irq/40-ARM64 se] 4 10107root 500 2 0 0 rescuer_thread 0 S [rq_stats] 5 10108root 501 2 0 0 irq_thread 0 S [irq/145-arm-smm] 5 10109root 502 2 0 0 irq_thread 0 S [irq/146-arm-smm] 5 10110root 503 2 0 0 irq_thread 0 S [irq/147-arm-smm] 5 10111root 504 2 0 0 irq_thread 0 S [irq/148-arm-smm] 5 10112root 505 2 0 0 irq_thread 0 S [irq/149-arm-smm] 5 10113root 506 2 0 0 irq_thread 0 S [irq/150-arm-smm] 5 10114root 507 2 0 0 irq_thread 0 S [irq/151-arm-smm] 5 10115root 508 2 0 0 irq_thread 0 S [irq/152-arm-smm] 5 10116root 509 2 0 0 kthread_worker_fn 0 S [set_state_work] 5 10117root 510 2 0 0 irq_thread 0 S [irq/227-mnh-rea] 5 10118root 512 2 0 0 irq_thread 0 S [irq/751-mnh_pci] 5 10119root 513 2 0 0 irq_thread 0 S [irq/752-mnh_pci] 5 10120root 514 2 0 0 irq_thread 0 S [irq/753-mnh_pci] 5 10121root 515 2 0 0 irq_thread 0 S [irq/754-mnh_pci] 5 10122root 516 2 0 0 irq_thread 0 S [irq/755-mnh_pci] 5 10123root 517 2 0 0 irq_thread 0 S [irq/758-mnh_pci] 5 10124root 518 2 0 0 irq_thread 0 S [irq/759-mnh_pci] 5 10125root 519 2 0 0 irq_thread 0 S [irq/128-arm-smm] 5 10126root 520 2 0 0 rescuer_thread 0 S [sb-1] 5 10127root 521 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5 10128root 522 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl1] 5 10129root 523 2 0 0 rescuer_thread 0 S [sb-3] 5 10130root 524 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5 10131root 525 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl3] 5 10132root 526 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 10133root 527 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 10134root 528 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 10135root 529 2 0 0 irq_thread 0 S [irq/66-lmh-inte] 5 10136root 530 2 0 0 irq_thread 0 S [irq/28-qpnp_fla] 5 10137root 531 2 0 0 irq_thread 0 S [irq/27-qpnp_fla] 5 10138root 532 2 0 0 irq_thread 0 S [irq/26-qpnp_fla] 5 10139root 534 2 0 0 rescuer_thread 0 S [kdmflush] 5 10140root 535 2 0 0 rescuer_thread 0 S [bioset] 5 10141root 536 2 0 0 rescuer_thread 0 S [kverityd] 5 10142root 537 2 0 0 rescuer_thread 0 S [bioset] 5 10143root 538 2 0 0 rescuer_thread 0 S [bioset] 5 10144root 539 2 0 0 rescuer_thread 0 S [bioset] 5 10145root 540 2 0 0 worker_thread 0 S [kworker/6:1H] 5 10146root 541 2 0 0 worker_thread 0 S [kworker/5:1H] 5 10147root 542 2 0 0 worker_thread 0 S [kworker/7:1H] 5 10148root 543 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 10149root 544 2 0 0 worker_thread 0 S [kworker/0:1H] 5 10150root 546 2 0 0 rescuer_thread 0 S [kdmflush] 5 10151root 547 2 0 0 rescuer_thread 0 S [bioset] 5 10152root 548 2 0 0 rescuer_thread 0 S [kverityd] 5 10153root 549 2 0 0 rescuer_thread 0 S [bioset] 5 10154root 550 2 0 0 rescuer_thread 0 S [bioset] 5 10155root 551 2 0 0 rescuer_thread 0 S [bioset] 5 10156root 552 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 10157root 553 2 0 0 kjournald2 0 S [jbd2/sdd3-8] 5 10158root 554 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 10159root 555 2 0 0 worker_thread 0 S [kworker/4:1H] 5 10160root 556 1 6076 1104 do_sys_poll 4ebb24 S ueventd init 10161root 558 2 0 0 worker_thread 0 S [kworker/1:1H] 5 10162root 562 2 0 0 irq_thread 0 S [irq/760-synapti] 5 10163root 563 2 0 0 rescuer_thread 0 S [dsx_rebuild_wor] 5 10164root 564 2 0 0 rescuer_thread 0 S [dsx_exp_workque] 5 10165root 569 2 0 0 rescuer_thread 0 S [batt_timer] 5 10166system 580 1 18208 3880 do_wait 76433335ac S qseecomd qseecomd 10167root 581 2 0 0 kthread_worker_fn 0 S [sugov:0] 5 10168root 582 2 0 0 kthread_worker_fn 0 S [sugov:4] 5 10169system 584 1 14444 3576 SyS_epoll_wait 7da535046c S hwservicemanager hwservicemanager 10170logd 585 1 28332 12264 SyS_rt_sigsuspend 7cb57f2634 S logd logd 10171system 586 1 10460 1876 binder_ioctl_write_read 764d1c655c S servicemanager servicemanager 10172system 587 1 11192 1912 binder_ioctl_write_read 7054fb855c S vndservicemanager vndservicemanager 10173root 588 2 0 0 diag_socket_read 0 S [kworker/u16:8] 5 10174root 594 2 0 0 kauditd_thread 0 S [kauditd] 5 10175system 597 580 28240 928 SyS_rt_sigsuspend 7643332634 S qseecomd qseecomd 10176root 606 1 13352 2320 binder_ioctl_write_read 78b565355c S android.hardware.boot@1.0-service android.hardware.boot@1.0-service 10177system 607 1 14464 2432 binder_ioctl_write_read 70106ed55c S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti 10178system 608 1 14640 2972 binder_ioctl_write_read 79bd92a55c S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti 10179system 610 1 72936 20336 SyS_epoll_wait 796c90946c S surfaceflinger surfaceflinger 10180system 612 1 39400 7656 binder_ioctl_write_read 7cbc3fc55c S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service 10181system 613 1 17476 2436 binder_ioctl_write_read 7f5b86a55c S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service 10182system 614 1 20296 3036 binder_ioctl_write_read 74c594755c S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service 10183root 631 2 0 0 __mdss_fb_display_thread 0 D [mdss_fb0] 6 10184root 632 2 0 0 kjournald2 0 S [jbd2/sda45-8] 6 10185root 633 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 6 10186system 637 1 22364 1916 futex_wait_queue_me 7dcac734b0 S time_daemon time_daemon 10187root 638 1 21416 3408 SyS_rt_sigsuspend 732bdba634 S vold vold 10188root 645 2 0 0 irq_thread 0 S [irq/177-arm-smm] 6 10189root 646 2 0 0 irq_thread 0 S [irq/178-arm-smm] 6 10190root 657 2 0 0 rescuer_thread 0 S [fwu_workqueue] 6 10191root 658 2 0 0 rescuer_thread 0 S [dsps_IPCRTR] 6 10192root 660 2 0 0 rescuer_thread 0 S [lpass_IPCRTR] 6 10193root 688 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10194root 689 1 37212 4548 binder_ioctl_write_read 78c2f7455c S netd netd 10195root 690 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10196root 691 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 10197root 692 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 10198root 693 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10199root 694 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10200root 717 1 4200712 66796 do_sys_poll 70d91f358c S zygote64 app_process64 10201root 719 1 1543884 62228 do_sys_poll e5d62024 S zygote app_process32 10202root 720 2 0 0 rescuer_thread 0 S [cds_recovery_wo] 7 10203system 732 1 12100 2476 binder_ioctl_write_read 7e7cef455c S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service 10204system 733 1 20152 3336 binder_ioctl_write_read 77d30d355c S vr_hwc vr_hwc 10205audioserver 734 1 30784 10664 binder_ioctl_write_read f16a2f8c S android.hardware.audio@2.0-service android.hardware.audio@2.0-service 10206bluetooth 735 1 13272 2688 binder_ioctl_write_read 75f1cf455c S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service 10207cameraserver 736 1 145776 47652 binder_ioctl_write_read ec5d4f8c S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service 10208media 737 1 9672 2988 binder_ioctl_write_read eed09f8c S android.hardware.cas@1.0-service android.hardware.cas@1.0-service 10209system 738 1 16452 3112 binder_ioctl_write_read 7b4e9ff55c S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service 10210media 739 1 12676 3760 binder_ioctl_write_read ea599f8c S android.hardware.drm@1.0-service android.hardware.drm@1.0-service 10211media 740 1 15696 5020 binder_ioctl_write_read ea5e6f8c S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine 10212system 741 1 13168 2704 binder_ioctl_write_read 79193c255c S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo 10213gps 742 1 36240 6512 binder_ioctl_write_read 7c70a8355c S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti 10214system 743 1 13184 2964 binder_ioctl_write_read 7ea308955c S android.hardware.light@2.0-service android.hardware.light@2.0-service 10215root 744 2 0 0 diag_socket_read 0 S [kworker/u16:11] 7 10216system 745 1 13180 2924 binder_ioctl_write_read 758882b55c S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service 10217nfc 746 1 15692 3128 binder_ioctl_write_read 744f77d55c S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service 10218system 747 1 13196 2860 binder_ioctl_write_read 750442e55c S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service 10219root 750 1 10756 1940 __skb_recv_datagram 73a9d3440c S oemlock-bridge oemlock-bridge 10220system 754 1 15712 3524 binder_ioctl_write_read 76f04fd55c S android.hardware.power@1.1-service.wahoo android.hardware.power@1.1-service.wahoo 10221system 755 1 64300 4196 futex_wait_queue_me 728bbb14b0 S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service 10222root 756 1 16600 3048 binder_ioctl_write_read 7e0cdf655c S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo 10223system 757 1 13324 3036 binder_ioctl_write_read 75f676f55c S android.hardware.vibrator@1.1-service.wahoo android.hardware.vibrator@1.1-service.wahoo 10224system 758 1 13096 2788 binder_ioctl_write_read 7a530f155c S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo 10225wifi 759 1 16408 2856 binder_ioctl_write_read 792988b55c S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service 10226wifi 760 1 58948 44696 binder_ioctl_write_read 793bffa55c S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service 10227root 762 2 0 0 irq_thread 0 S [irq/254-wcd9xxx] 7 10228ese 763 1 13284 2840 binder_ioctl_write_read 7e4437655c S esed esed 10229root 764 1 13472 2836 SyS_epoll_wait 7629f0846c S healthd healthd 10230root 765 2 0 0 irq_thread 0 S [irq/153-arm-smm] 7 10231root 767 1 10984 2308 do_sys_poll 6fd372a58c S msm_irqbalance msm_irqbalance 10232system 768 1 25016 2716 do_sigtimedwait 7d10dc264c S pm-service pm-service 10233system 770 1 26864 2928 futex_wait_queue_me 7b997ee4b0 S sensors.qcom sensors.qcom 10234nobody 773 1 50092 2348 do_select 709ac2d5a4 S rmt_storage rmt_storage 10235system 774 1 13300 2292 do_sys_poll 7dd1bc958c S tftp_server tftp_server 10236system 775 1 15932 2496 hrtimer_nanosleep 740b039e74 S pd-mapper pd-mapper 10237system 776 1 13636 3588 SyS_epoll_wait 7b8efc046c S bufferhubd bufferhubd 10238root 777 1 9196 1980 SyS_epoll_wait 7ef210e46c S lmkd lmkd 10239system 778 1 10632 2352 SyS_epoll_wait 7d2100546c S performanced performanced 10240root 779 1 18084 3032 binder_ioctl_write_read 77297b655c S thermalserviced thermalserviced 10241system 780 1 14848 2136 binder_ioctl_write_read 7871b8655c S virtual_touchpad virtual_touchpad 10242root 782 2 0 0 rescuer_thread 0 S [at_usb0] 7 10243root 783 2 0 0 rescuer_thread 0 S [at_usb1] 7 10244root 784 2 0 0 rescuer_thread 0 S [qdss] 7 10245root 798 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 7 10246root 800 2 0 0 rescuer_thread 0 S [modem] 8 10247system 808 1 17804 2476 hrtimer_nanosleep 7011dabe74 S pm-proxy pm-proxy 10248root 810 1 11000 2108 do_sys_poll 7f919fb58c S subsystem_ramdump subsystem_ramdump 10249root 814 1 94820 4656 SyS_rt_sigsuspend 7bdf73b634 S thermal-engine thermal-engine 10250media 815 1 14228 1992 do_sys_poll 7e497ed58c S adsprpcd adsprpcd 10251system 816 1 15960 2500 do_select 73405495a4 S imsqmidaemon imsqmidaemon 10252system 817 1 25056 4568 SyS_epoll_wait 75ab20a46c S cnd cnd 10253radio 818 1 110972 7344 __skb_recv_datagram 7ac974f40c S netmgrd netmgrd 10254radio 819 1 14076 2180 futex_wait_queue_me 757cab44b0 S port-bridge port-bridge 10255root 820 2 0 0 worker_thread 0 S [kworker/2:1H] 8 10256radio 822 1 21748 3836 futex_wait_queue_me 79fbf344b0 S ipacm ipacm 10257radio 827 1 20848 2836 do_select 7431b535a4 S qti qti 10258audioserver 828 1 46132 9144 binder_ioctl_write_read f3de5f8c S audioserver audioserver 10259cameraserver 829 1 37240 10200 binder_ioctl_write_read ed44af8c S cameraserver cameraserver 10260drm 830 1 19008 6528 binder_ioctl_write_read ee1a5f8c S drmserver drmserver 10261root 832 1 30204 4496 binder_ioctl_write_read 7f9102a55c S installd installd 10262keystore 833 1 19544 4544 binder_ioctl_write_read 72bd6d255c S keystore keystore 10263media 834 1 14668 3784 binder_ioctl_write_read ef748f8c S mediadrmserver mediadrmserver 10264mediaex 835 1 2164880 11344 binder_ioctl_write_read 78df58a55c S media.extractor mediaextractor 10265media 836 1 2128364 7092 binder_ioctl_write_read 7272b8055c S media.metrics mediametrics 10266media 837 1 50284 9444 binder_ioctl_write_read eb454f8c S mediaserver mediaserver 10267root 838 1 16020 2916 binder_ioctl_write_read 764357d55c S storaged storaged 10268wifi 839 1 15360 3884 SyS_epoll_wait 79b6e4e46c S wificond wificond 10269mediacodec 843 1 114240 22588 binder_ioctl_write_read f0fcff8c S media.codec android.hardware.media.omx@1.0-service 10270radio 844 1 99412 16632 binder_ioctl_write_read 702e44655c S rild rild 10271root 845 2 0 0 worker_thread 0 S [kworker/1:2] 8 10272system 848 1 2147244 12356 SyS_epoll_wait 7aa58b346c S folio_daemon folio_daemon 10273system 850 1 26152 3676 do_sys_poll 75ce30558c S cnss-daemon cnss-daemon 10274gps 851 1 14216 2512 SyS_rt_sigsuspend 7983a6a634 S loc_launcher loc_launcher 10275system 852 1 19456 2596 do_sys_poll 7d7b9ae58c S chre chre 10276system 854 1 15568 3580 binder_ioctl_write_read 791cc4355c S gatekeeperd gatekeeperd 10277tombstoned 856 1 9044 1544 SyS_epoll_wait 6ff06fa46c S tombstoned tombstoned 10278root 857 1 18412 4708 SyS_epoll_wait 71def5146c S update_engine update_engine 10279system 859 1 18548 2852 binder_ioctl_write_read 7adf17855c S android.hardware.biometrics.fingerprint@2.1-service.wahoo android.hardware.biometrics.fingerprint@2.1-service.wahoo 10280system 860 1 18928 7732 do_sys_poll 7aac38f58c S cnss_diag cnss_diag 10281system 875 1 26376 4360 do_select 78f35c75a4 S imsdatadaemon imsdatadaemon 10282root 880 2 0 0 rescuer_thread 0 S [ipawq15] 8 10283root 916 2 0 0 rescuer_thread 0 S [iparepwq15] 9 10284root 965 2 0 0 rescuer_thread 0 S [ipawq48] 9 10285root 969 2 0 0 do_freq_mitigation 0 S [msm_thermal:fre] 9 10286root 971 2 0 0 do_thermal_monitor 0 S [msm_thermal:the] 9 10287root 973 2 0 0 rescuer_thread 0 S [iparepwq48] 9 10288root 974 2 0 0 worker_thread 0 R [kworker/u17:1] 9 10289root 979 2 0 0 rescuer_thread 0 S [ipawq13] 9 10290root 984 2 0 0 rescuer_thread 0 S [iparepwq13] 9 10291root 997 2 0 0 rescuer_thread 0 S [ipa_A7_svc] 9 10292root 1002 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10293root 1004 2 0 0 rescuer_thread 0 S [clnt_req] 1 10294root 1007 2 0 0 rescuer_thread 0 S [clnt_resp] 1 10295root 1012 2 0 0 rescuer_thread 0 S [clnt_req] 1 10296root 1094 2 0 0 irq_thread 0 S [irq/157-arm-smm] 1 10297root 1095 2 0 0 irq_thread 0 S [irq/162-arm-smm] 1 10298root 1118 2 0 0 rescuer_thread 0 S [wdsp_glink_wq] 1 10299system 1136 717 4614136 323592 SyS_epoll_wait 70d91f346c S system_server app_process64 10300root 1209 2 0 0 rescuer_thread 0 S [mpss_IPCRTR] 1 10301root 1210 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10302root 1211 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10303root 1243 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10304u0_a39 1341 717 4424380 117564 SyS_epoll_wait 70d91f346c S com.android.systemui app_process64 10305root 1357 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10306radio 1362 717 4277484 37616 SyS_epoll_wait 70d91f346c S com.google.modemservice app_process64 10307radio 1438 717 4279272 37692 SyS_epoll_wait 70d91f346c S com.qualcomm.qcrilmsgtunnel app_process64 10308u0_a99 1467 717 4399596 116384 SyS_epoll_wait 70d91f346c S com.breel.wallpapers app_process64 10309gps 1546 851 24252 3864 futex_wait_queue_me 725dff04b0 S lowi-server lowi-server 10310system 1556 717 4286264 42220 SyS_epoll_wait 70d91f346c S .dataservices app_process64 10311gps 1562 851 25096 5932 __skb_recv_datagram 761088140c S xtra-daemon xtra-daemon 10312gps 1563 851 0 0 do_exit 0 Z [loc_launcher] 1 10313gps 1564 851 0 0 do_exit 0 Z [loc_launcher] 1 10314gps 1565 851 0 0 do_exit 0 Z [loc_launcher] 1 10315radio 1576 717 4277872 37728 SyS_epoll_wait 70d91f346c S com.qualcomm.qti.telephonyservice app_process64 10316radio 1585 717 4329964 68656 SyS_epoll_wait 70d91f346c S com.android.phone app_process64 10317root 1644 2 0 0 rescuer_thread 0 S [ipawq14] 1 10318root 1651 2 0 0 rescuer_thread 0 S [iparepwq14] 1 10319root 1659 2 0 0 rescuer_thread 0 S [ipawq49] 1 10320root 1665 2 0 0 rescuer_thread 0 S [iparepwq49] 1 10321root 2193 2 0 0 irq_thread 0 S [irq/35-1008000.] 2 10322root 2203 2 0 0 worker_thread 0 S [kworker/3:1H] 2 10323root 2207 2 0 0 wlan_logging_thread 0 S [wlan_logging_th] 2 10324root 2208 1 20008 2488 futex_wait_queue_me 7a4f0454b0 S perfd perfd 10325root 2219 2 0 0 cds_mc_thread 0 S [cds_mc_thread] 2 10326root 2220 2 0 0 cds_ol_rx_thread 0 S [cds_ol_rx_threa] 2 10327root 2221 2 0 0 rescuer_thread 0 S [wmi_rx_event_wo] 2 10328nfc 2315 717 4300904 54056 SyS_epoll_wait 70d91f346c S com.android.nfc app_process64 10329radio 2330 717 4278968 40624 SyS_epoll_wait 70d91f346c S com.android.ims.rcsservice app_process64 10330system 2337 717 4277764 33900 SyS_epoll_wait 70d91f346c S com.google.SSRestartDetector app_process64 10331u0_a47 2438 717 4390060 100792 SyS_epoll_wait 70d91f346c S com.google.android.apps.nexuslauncher app_process64 10332u0_a29 2452 717 4291516 47104 SyS_epoll_wait 70d91f346c S com.google.intelligence.sense app_process64 10333u0_a32 3721 717 4284276 45452 SyS_epoll_wait 70d91f346c S com.google.android.apps.turbo:aab app_process64 10334root 3724 689 9468 2016 pipe_read 70df7f9f94 S iptables-restore iptables 10335root 3737 689 9484 2092 pipe_read 79ce20ef94 S ip6tables-restore ip6tables 10336root 4292 2 0 0 worker_thread 0 S [kworker/5:0] 4 10337root 4337 2 0 0 worker_thread 0 S [kworker/4:0] 4 10338system 4764 717 4279604 34412 SyS_epoll_wait 70d91f346c S com.qualcomm.telephony app_process64 10339u0_a44 4845 717 4302492 63420 SyS_epoll_wait 70d91f346c S com.verizon.mips.services app_process64 10340u0_a712 4896 717 4424460 145348 SyS_epoll_wait 70d91f346c S com.google.wireless.qa.mobileharness.tool.android.daemon app_process64 10341root 4937 2 0 0 worker_thread 0 S [kworker/2:1] 4 10342root 5027 1 16032 1300 do_sys_poll 4c3aec S adbd adbd 10343u0_a27 5340 717 4275052 35952 SyS_epoll_wait 70d91f346c S com.android.defcontainer app_process64 10344u0_a26 7090 717 4409460 104996 SyS_epoll_wait 70d91f346c S com.google.android.gms.persistent app_process64 10345u0_a26 7098 717 4555440 107540 SyS_epoll_wait 70d91f346c S com.google.android.gms app_process64 10346root 7580 2 0 0 worker_thread 0 S [kworker/7:2] 7 10347root 7655 2 0 0 worker_thread 0 S [kworker/0:1] 7 10348root 7755 2 0 0 worker_thread 0 S [kworker/2:0] 7 10349u0_a16 8921 717 4283100 44060 SyS_epoll_wait 70d91f346c S com.android.documentsui app_process64 10350u0_a38 8947 717 4279080 43124 SyS_epoll_wait 70d91f346c S android.process.media app_process64 10351root 10171 2 0 0 worker_thread 0 S [kworker/0:2] 1 10352root 10578 2 0 0 worker_thread 0 S [kworker/u16:6] 1 10353root 10822 2 0 0 worker_thread 0 S [kworker/u16:0] 1 10354root 11013 2 0 0 worker_thread 0 S [kworker/7:0] 1 10355root 11093 2 0 0 worker_thread 0 S [kworker/u16:5] 1 10356root 11198 2 0 0 worker_thread 0 S [kworker/1:1] 1 10357root 11204 2 0 0 worker_thread 0 S [kworker/3:0] 1 10358root 11314 2 0 0 worker_thread 0 S [kworker/5:1] 1 10359root 11385 2 0 0 worker_thread 0 S [kworker/6:1] 1 10360root 11468 2 0 0 worker_thread 0 S [kworker/u16:2] 1 10361root 11477 2 0 0 worker_thread 0 S [kworker/4:2] 1 10362root 11483 2 0 0 worker_thread 0 S [kworker/2:4] 1 10363root 11493 2 0 0 worker_thread 0 S [kworker/1:3] 1 10364root 11635 2 0 0 worker_thread 0 S [kworker/6:0] 1 10365root 11710 2 0 0 worker_thread 0 S [kworker/0:3] 1 10366root 11723 2 0 0 worker_thread 0 S [kworker/3:1] 1 10367root 11733 2 0 0 worker_thread 0 S [kworker/2:2] 1 10368root 11737 2 0 0 worker_thread 0 S [kworker/4:1] 1 10369root 11740 2 0 0 worker_thread 0 S [kworker/1:0] 1 10370root 11743 2 0 0 worker_thread 0 S [kworker/1:4] 1 10371root 11801 2 0 0 worker_thread 0 S [kworker/7:1] 1 10372root 11894 2 0 0 worker_thread 0 S [kworker/6:2] 1 10373root 11895 2 0 0 worker_thread 0 S [kworker/u16:4] 1 10374root 11896 2 0 0 worker_thread 0 S [kworker/2:3] 1 10375root 11961 2 0 0 worker_thread 0 S [kworker/0:0] 1 10376root 11963 2 0 0 worker_thread 0 S [kworker/4:3] 1 10377root 11972 2 0 0 worker_thread 0 S [kworker/3:2] 1 10378root 12010 2 0 0 worker_thread 0 S [kworker/7:3] 1 10379system 12047 717 4274036 34892 SyS_epoll_wait 70d91f346c S com.android.keychain app_process64 10380root 12136 2 0 0 worker_thread 0 S [kworker/3:3] 1 10381root 12172 2 0 0 worker_thread 0 S [kworker/u16:7] 1 10382root 12173 2 0 0 worker_thread 0 S [kworker/u16:9] 1 10383root 12174 2 0 0 worker_thread 0 S [kworker/u16:10] 1 10384root 12175 2 0 0 worker_thread 0 S [kworker/u16:12] 1 10385root 12176 2 0 0 worker_thread 0 S [kworker/u16:13] 1 10386root 12177 2 0 0 worker_thread 0 S [kworker/u16:14] 1 10387root 12178 2 0 0 worker_thread 0 S [kworker/u16:15] 1 10388u0_a26 12188 717 4281664 39812 SyS_epoll_wait 70d91f346c S com.google.process.gapps app_process64 10389u0_a26 12204 717 4284380 40916 SyS_epoll_wait 70d91f346c S com.google.process.gservices app_process64 10390u0_a15 12324 717 4285320 36420 SyS_epoll_wait 70d91f346c S com.android.connectivity.metrics app_process64 10391u0_a22 12381 717 4275684 36192 SyS_epoll_wait 70d91f346c S com.google.android.partnersetup app_process64 10392webview_zygote 12409 1 1334320 30380 do_sys_poll eb625024 S webview_zygote32 webview_zygote32 10393radio 12413 717 4274568 34180 SyS_epoll_wait 70d91f346c S com.google.telephonymonitor app_process64 10394u0_a93 12475 717 4277268 34432 SyS_epoll_wait 70d91f346c S com.android.printspooler app_process64 10395u0_a25 12601 717 4284384 43100 SyS_epoll_wait 70d91f346c S com.google.android.apps.gcs app_process64 10396u0_a11 12638 717 4287328 47720 SyS_epoll_wait 70d91f346c S android.process.acore app_process64 10397root 12674 2 0 0 worker_thread 0 S [kworker/5:2] 1 10398u0_a26 12730 717 4366304 66652 SyS_epoll_wait 70d91f346c S com.google.android.gms.unstable app_process64 10399u0_a26 12850 717 4335364 54552 SyS_epoll_wait 70d91f346c S com.google.android.gms.ui app_process64 10400u0_a84 12984 717 4280852 36608 SyS_epoll_wait 70d91f346c S com.google.android.apps.enterprise.dmagent app_process64 10401u0_a115 13067 717 4323516 49820 SyS_epoll_wait 70d91f346c S com.google.android.calendar app_process64 10402u0_a13 13092 717 4274684 36920 SyS_epoll_wait 70d91f346c S com.android.providers.calendar app_process64 10403root 13214 5027 8948 1800 SyS_rt_sigsuspend 6ff9a31634 S sh sh 10404root 13216 13214 8948 656 SyS_rt_sigsuspend 6ff9a31634 S sh sh 10405root 13217 13216 10524 1980 0 7a21451f94 R ps toybox 10406root 13218 5027 55632 9220 0 78b0a16ed0 R app_process app_process64 10407u0_a53 22412 717 4284840 43064 SyS_epoll_wait 70d91f346c S com.google.android.volta app_process64 10408u0_a42 30672 717 4318596 58480 SyS_epoll_wait 70d91f346c S com.google.android.ims app_process64 10409USER PID TID CMD 10410root 1 1 init 10411root 2 2 kthreadd 10412root 3 3 ksoftirqd/0 10413root 5 5 kworker/0:0H 10414root 7 7 rcu_preempt 10415root 8 8 rcu_sched 10416root 9 9 rcu_bh 10417root 10 10 rcuop/0 10418root 11 11 rcuos/0 10419root 12 12 rcuob/0 10420root 13 13 migration/0 10421root 14 14 watchdog/0 10422root 15 15 watchdog/1 10423root 16 16 migration/1 10424root 17 17 ksoftirqd/1 10425root 19 19 kworker/1:0H 10426root 20 20 rcuop/1 10427root 21 21 rcuos/1 10428root 22 22 rcuob/1 10429root 23 23 watchdog/2 10430root 24 24 migration/2 10431root 25 25 ksoftirqd/2 10432root 27 27 kworker/2:0H 10433root 28 28 rcuop/2 10434root 29 29 rcuos/2 10435root 30 30 rcuob/2 10436root 31 31 watchdog/3 10437root 32 32 migration/3 10438root 33 33 ksoftirqd/3 10439root 35 35 kworker/3:0H 10440root 36 36 rcuop/3 10441root 37 37 rcuos/3 10442root 38 38 rcuob/3 10443root 39 39 watchdog/4 10444root 40 40 migration/4 10445root 41 41 ksoftirqd/4 10446root 43 43 kworker/4:0H 10447root 44 44 rcuop/4 10448root 45 45 rcuos/4 10449root 46 46 rcuob/4 10450root 47 47 watchdog/5 10451root 48 48 migration/5 10452root 49 49 ksoftirqd/5 10453root 51 51 kworker/5:0H 10454root 52 52 rcuop/5 10455root 53 53 rcuos/5 10456root 54 54 rcuob/5 10457root 55 55 watchdog/6 10458root 56 56 migration/6 10459root 57 57 ksoftirqd/6 10460root 59 59 kworker/6:0H 10461root 60 60 rcuop/6 10462root 61 61 rcuos/6 10463root 62 62 rcuob/6 10464root 63 63 watchdog/7 10465root 64 64 migration/7 10466root 65 65 ksoftirqd/7 10467root 67 67 kworker/7:0H 10468root 68 68 rcuop/7 10469root 69 69 rcuos/7 10470root 70 70 rcuob/7 10471root 71 71 netns 10472root 72 72 perf 10473root 73 73 smd_channel_clo 10474root 74 74 dsps_smd_trans_ 10475root 75 75 lpass_smd_trans 10476root 76 76 mpss_smd_trans_ 10477root 77 77 wcnss_smd_trans 10478root 78 78 rpm_smd_trans_g 10479root 79 79 ipa_usb_wq 10480root 81 81 smem_native_mps 10481root 82 82 mpss_smem_glink 10482root 83 83 smem_native_lpa 10483root 84 84 lpass_smem_glin 10484root 85 85 smem_native_dsp 10485root 86 86 dsps_smem_glink 10486root 87 87 smem_native_rpm 10487root 88 88 rpm_smem_glink_ 10488root 89 89 smem_native_sps 10489root 90 90 spss_mailbox_gl 10490root 91 91 msm_watchdog 10491root 92 92 deferwq 10492root 93 93 kworker/u16:1 10493root 94 94 irq/126-cpr3 10494root 95 95 mpm 10495root 97 97 khungtaskd 10496root 98 98 writeback 10497root 99 99 kcompactd0 10498root 100 100 crypto 10499root 101 101 bioset 10500root 102 102 kblockd 10501root 103 103 md 10502root 104 104 edac-poller 10503root 105 105 system 10504root 106 106 easel_mem 10505root 107 107 devfreq_wq 10506root 108 108 governor_msm_ad 10507root 110 110 cfg80211 10508root 111 111 irq/134-arm-smm 10509root 112 112 ipa_power_mgmt 10510root 113 113 transport_power 10511root 114 114 ipa_rm_wq 10512root 115 115 ipa_interrupt_w 10513root 116 116 irq/135-arm-smm 10514root 117 117 irq/136-arm-smm 10515root 118 118 irq/61-bcl_vbat 10516root 119 119 irq/60-bcl_ibat 10517root 145 145 power_off_alarm 10518root 146 146 kswapd0 10519root 147 147 vmstat 10520root 148 148 fsnotify_mark 10521root 180 180 ad_calc_wq 10522root 181 181 mdss_dsi_event 10523root 182 182 mdss_dsi_dba 10524root 183 183 cwb_wq 10525root 184 184 vsync_retire_wo 10526root 185 185 cwb_wq 10527root 187 187 glink_ssr_wq 10528root 188 188 glink_lbsrv 10529root 189 189 spi_wdsp 10530root 190 190 wdsp_spi_glink_ 10531root 191 191 glink_xprt_wq 10532root 192 192 IPCRTR_mpss_sme 10533root 193 193 IPCRTR_lpass_sm 10534root 194 194 IPCRTR_dsps_sme 10535root 195 195 apr_driver 10536root 196 196 glink_pkt_wq 10537root 198 198 mem_share_svc 10538root 199 199 qmi_hndl0000000 10539root 200 200 msm_ipc_router 10540root 201 201 irq/137-arm-smm 10541root 202 202 qmi_svc_event_w 10542root 203 203 servloc_wq 10543root 204 204 tty_worker_thre 10544root 205 205 tty_worker_thre 10545root 206 206 tty_worker_thre 10546root 207 207 tty_worker_thre 10547root 208 208 k_hsuart 10548root 209 209 msm_serial_hs_0 10549root 210 210 msm_serial_hs_0 10550root 211 211 hwrng 10551root 213 213 diag_real_time_ 10552root 214 214 diag_wq 10553root 215 215 DIAG_USB_diag 10554root 216 216 diag_cntl_wq 10555root 217 217 diag_dci_wq 10556root 218 218 DIAG_SMD_MODEM_ 10557root 219 219 DIAG_SMD_MODEM_ 10558root 220 220 DIAG_SMD_MODEM_ 10559root 221 221 DIAG_SMD_MODEM_ 10560root 222 222 DIAG_SMD_MODEM_ 10561root 223 223 DIAG_SMD_LPASS_ 10562root 224 224 DIAG_SMD_LPASS_ 10563root 225 225 DIAG_SMD_LPASS_ 10564root 226 226 DIAG_SMD_LPASS_ 10565root 227 227 DIAG_SMD_LPASS_ 10566root 228 228 DIAG_SMD_WCNSS_ 10567root 229 229 DIAG_SMD_WCNSS_ 10568root 230 230 DIAG_SMD_WCNSS_ 10569root 231 231 DIAG_SMD_WCNSS_ 10570root 232 232 DIAG_SMD_WCNSS_ 10571root 233 233 DIAG_SMD_SENSOR 10572root 234 234 DIAG_SMD_SENSOR 10573root 235 235 DIAG_SMD_SENSOR 10574root 236 236 DIAG_SMD_SENSOR 10575root 237 237 DIAG_SMD_SENSOR 10576root 238 238 DIAG_SMD_DIAG_C 10577root 239 239 DIAG_SMD_DIAG_D 10578root 240 240 DIAG_SMD_DIAG_C 10579root 241 241 DIAG_SMD_DIAG_D 10580root 242 242 DIAG_SMD_DIAG_D 10581root 243 243 DIAG_SMD_CDSP_C 10582root 244 244 DIAG_SMD_CDSP_D 10583root 245 245 DIAG_SMD_CDSP_C 10584root 246 246 DIAG_SMD_CDSP_D 10585root 247 247 DIAG_SMD_CDSP_D 10586root 248 248 DIAG_SOCKMODEM_ 10587root 249 249 DIAG_SOCKMODEM_ 10588root 250 250 DIAG_SOCKMODEM_ 10589root 251 251 DIAG_SOCKMODEM_ 10590root 252 252 DIAG_SOCKMODEM_ 10591root 253 253 DIAG_SOCKLPASS_ 10592root 254 254 DIAG_SOCKLPASS_ 10593root 255 255 DIAG_SOCKLPASS_ 10594root 256 256 DIAG_SOCKLPASS_ 10595root 257 257 DIAG_SOCKLPASS_ 10596root 258 258 DIAG_SOCKWCNSS_ 10597root 259 259 DIAG_SOCKWCNSS_ 10598root 260 260 DIAG_SOCKWCNSS_ 10599root 261 261 DIAG_SOCKWCNSS_ 10600root 262 262 DIAG_SOCKWCNSS_ 10601root 263 263 DIAG_SOCKSENSOR 10602root 264 264 DIAG_SOCKSENSOR 10603root 265 265 DIAG_SOCKSENSOR 10604root 266 266 DIAG_SOCKSENSOR 10605root 267 267 DIAG_SOCKSENSOR 10606root 268 268 DIAG_SOCKDIAG_C 10607root 269 269 DIAG_SOCKDIAG_D 10608root 270 270 DIAG_SOCKDIAG_C 10609root 271 271 DIAG_SOCKDIAG_D 10610root 272 272 DIAG_SOCKDIAG_D 10611root 273 273 DIAG_SOCKCDSP_C 10612root 274 274 DIAG_SOCKCDSP_D 10613root 275 275 DIAG_SOCKCDSP_C 10614root 276 276 DIAG_SOCKCDSP_D 10615root 277 277 DIAG_SOCKCDSP_D 10616root 278 278 DIAG_CNTL_SOCKE 10617root 279 279 DIAG_GLINK_DIAG 10618root 280 280 DIAG_GLINK_DIAG 10619root 281 281 DIAG_GLINK_DIAG 10620root 282 282 DIAG_GLINK_DIAG 10621root 283 283 DIAG_GLINK_DIAG 10622root 284 284 kgsl-workqueue 10623root 285 285 kgsl-mementry 10624root 286 286 kgsl_worker_thr 10625root 287 287 kgsl-events 10626root 288 288 kgsl_devfreq_wq 10627root 289 289 bioset 10628root 290 290 bioset 10629root 291 291 bioset 10630root 292 292 bioset 10631root 293 293 bioset 10632root 294 294 bioset 10633root 295 295 bioset 10634root 296 296 bioset 10635root 297 297 bioset 10636root 298 298 bioset 10637root 299 299 bioset 10638root 300 300 bioset 10639root 301 301 bioset 10640root 302 302 bioset 10641root 304 304 bioset 10642root 305 305 bioset 10643root 306 306 bioset 10644root 307 307 bioset 10645root 308 308 bioset 10646root 309 309 bioset 10647root 310 310 bioset 10648root 311 311 bioset 10649root 312 312 bioset 10650root 313 313 bioset 10651root 314 314 bioset 10652root 315 315 irq/286-soc:fp_ 10653root 316 316 memory_wq 10654root 317 317 qcrypto_seq_res 10655root 318 318 scsi_eh_0 10656root 319 319 scsi_tmf_0 10657root 320 320 ufs_pm_qos_0 10658root 321 321 ufs_clk_ungatin 10659root 322 322 ufs_clkscaling_ 10660root 323 323 spi1 10661root 325 325 spi2 10662root 326 326 spi10 10663root 327 327 bond0 10664root 329 329 sharedmem_qmi_w 10665root 330 330 qmi_hndl0000000 10666root 331 331 kworker/u16:3 10667root 335 335 uether 10668root 336 336 k_ipa_usb 10669root 340 340 kworker/u17:0 10670root 341 341 irq/262-vl53l0_ 10671root 342 342 bioset 10672root 343 343 bioset 10673root 344 344 bioset 10674root 345 345 msm_cci_wq 10675root 346 346 msm_cci_wq 10676root 347 347 bioset 10677root 348 348 bioset 10678root 349 349 bioset 10679root 350 350 bioset 10680root 351 351 bioset 10681root 352 352 bioset 10682root 354 354 msm_cpp_workque 10683root 357 357 msm_vidc_worker 10684root 358 358 pm_workerq_venu 10685root 359 359 irq/158-arm-smm 10686root 360 360 irq/159-arm-smm 10687root 361 361 irq/160-arm-smm 10688root 362 362 irq/161-arm-smm 10689root 363 363 rot_commitq_0_0 10690root 364 364 rot_commitq_0_1 10691root 365 365 rot_doneq_0_0 10692root 366 366 rot_doneq_0_1 10693root 368 368 therm_core:noti 10694root 369 369 irq/500-chg-err 10695root 370 370 irq/501-chg-sta 10696root 371 371 irq/502-step-ch 10697root 372 372 irq/503-step-ch 10698root 373 373 irq/504-step-ch 10699root 374 374 irq/505-otg-fai 10700root 375 375 irq/506-otg-ove 10701root 376 376 irq/507-otg-oc- 10702root 377 377 irq/508-testmod 10703root 378 378 irq/509-bat-tem 10704root 379 379 irq/510-bat-ocp 10705root 380 380 irq/511-bat-ov 10706root 381 381 irq/512-bat-low 10707root 382 382 irq/513-bat-the 10708root 383 383 irq/514-bat-ter 10709root 384 384 irq/515-usbin-c 10710root 385 385 irq/516-usbin-l 10711root 386 386 irq/517-usbin-u 10712root 387 387 irq/518-usbin-o 10713root 388 388 irq/519-usbin-p 10714root 389 389 irq/520-usbin-s 10715root 390 390 irq/521-usbin-i 10716root 391 391 irq/522-type-c- 10717root 392 392 irq/523-dcin-co 10718root 393 393 irq/524-dcin-lt 10719root 394 394 irq/525-dcin-uv 10720root 395 395 irq/526-dcin-ov 10721root 396 396 irq/527-dcin-pl 10722root 397 397 irq/528-div2-en 10723root 398 398 irq/529-dcin-ic 10724root 399 399 irq/532-aicl-fa 10725root 400 400 irq/533-aicl-do 10726root 401 401 irq/534-high-du 10727root 402 402 irq/535-input-c 10728root 403 403 irq/536-tempera 10729root 404 404 irq/537-switche 10730root 405 405 therm_core:noti 10731root 406 406 therm_core:noti 10732root 408 408 therm_core:noti 10733root 409 409 therm_core:noti 10734root 410 410 therm_core:noti 10735root 411 411 therm_core:noti 10736root 412 412 therm_core:noti 10737root 413 413 therm_core:noti 10738root 414 414 therm_core:noti 10739root 415 415 therm_core:noti 10740root 416 416 therm_core:noti 10741root 417 417 therm_core:noti 10742root 418 418 therm_core:noti 10743root 419 419 therm_core:noti 10744root 420 420 therm_core:noti 10745root 421 421 therm_core:noti 10746root 422 422 therm_core:noti 10747root 423 423 therm_core:noti 10748root 424 424 therm_core:noti 10749root 425 425 therm_core:noti 10750root 426 426 therm_core:noti 10751root 427 427 therm_core:noti 10752root 428 428 irq/59-tsens_in 10753root 429 429 irq/62-tsens_cr 10754root 430 430 therm_core:noti 10755root 431 431 therm_core:noti 10756root 432 432 therm_core:noti 10757root 433 433 therm_core:noti 10758root 434 434 therm_core:noti 10759root 435 435 therm_core:noti 10760root 436 436 therm_core:noti 10761root 437 437 therm_core:noti 10762root 438 438 irq/63-tsens_in 10763root 439 439 irq/64-tsens_cr 10764root 440 440 therm_core:noti 10765root 441 441 irq/366-limits_ 10766root 442 442 therm_core:noti 10767root 443 443 irq/367-limits_ 10768root 444 444 dm_bufio_cache 10769root 445 445 cfinteractive 10770root 446 446 irq/291-bcm1560 10771root 447 447 irq/226-bcm1560 10772root 449 449 therm_core:noti 10773root 450 450 irq/197-spdm_bw 10774root 451 451 binder 10775root 452 452 irq/144-arm-smm 10776root 453 453 uaudio_svc 10777root 454 454 qmi_hndl0000000 10778root 455 455 ipv6_addrconf 10779root 457 457 irq/574-adsp 10780root 458 458 sysmon_wq 10781root 459 459 irq/606-slpi 10782root 460 460 irq/542-modem 10783root 464 464 usb_bam_wq 10784root 465 465 irq/19-sig-tx 10785root 466 466 irq/20-sig-rx 10786root 467 467 irq/22-msg-rx 10787root 468 468 usbpd0 10788root 469 469 usbpd0 10789root 474 474 therm_core:noti 10790root 475 475 irq/734-soc-upd 10791root 476 476 irq/735-soc-rea 10792root 477 477 irq/736-bsoc-de 10793root 478 478 irq/737-msoc-de 10794root 479 479 irq/738-msoc-lo 10795root 480 480 irq/739-msoc-em 10796root 481 481 irq/740-msoc-hi 10797root 482 482 irq/741-msoc-fu 10798root 483 483 irq/742-vbatt-p 10799root 484 484 irq/743-vbatt-l 10800root 485 485 irq/744-esr-del 10801root 486 486 irq/745-batt-mi 10802root 487 487 irq/746-batt-te 10803root 488 488 irq/747-ima-rdy 10804root 489 489 irq/748-mem-xcp 10805root 490 490 irq/749-dma-gra 10806root 492 492 irq/54-hs_phy_i 10807root 493 493 irq/55-ss_phy_i 10808root 494 494 irq/56-msm_dwc3 10809root 496 496 irq/36-ARM64 pr 10810root 497 497 irq/37-ARM64 se 10811root 498 498 irq/39-ARM64 pr 10812root 499 499 irq/40-ARM64 se 10813root 500 500 rq_stats 10814root 501 501 irq/145-arm-smm 10815root 502 502 irq/146-arm-smm 10816root 503 503 irq/147-arm-smm 10817root 504 504 irq/148-arm-smm 10818root 505 505 irq/149-arm-smm 10819root 506 506 irq/150-arm-smm 10820root 507 507 irq/151-arm-smm 10821root 508 508 irq/152-arm-smm 10822root 509 509 set_state_work 10823root 510 510 irq/227-mnh-rea 10824root 512 512 irq/751-mnh_pci 10825root 513 513 irq/752-mnh_pci 10826root 514 514 irq/753-mnh_pci 10827root 515 515 irq/754-mnh_pci 10828root 516 516 irq/755-mnh_pci 10829root 517 517 irq/758-mnh_pci 10830root 518 518 irq/759-mnh_pci 10831root 519 519 irq/128-arm-smm 10832root 520 520 sb-1 10833root 521 521 ngd_rx_thread1 10834root 522 522 ngd_notify_sl1 10835root 523 523 sb-3 10836root 524 524 ngd_rx_thread3 10837root 525 525 ngd_notify_sl3 10838root 526 526 therm_core:noti 10839root 527 527 therm_core:noti 10840root 528 528 therm_core:noti 10841root 529 529 irq/66-lmh-inte 10842root 530 530 irq/28-qpnp_fla 10843root 531 531 irq/27-qpnp_fla 10844root 532 532 irq/26-qpnp_fla 10845root 534 534 kdmflush 10846root 535 535 bioset 10847root 536 536 kverityd 10848root 537 537 bioset 10849root 538 538 bioset 10850root 539 539 bioset 10851root 540 540 kworker/6:1H 10852root 541 541 kworker/5:1H 10853root 542 542 kworker/7:1H 10854root 543 543 ext4-rsv-conver 10855root 544 544 kworker/0:1H 10856root 546 546 kdmflush 10857root 547 547 bioset 10858root 548 548 kverityd 10859root 549 549 bioset 10860root 550 550 bioset 10861root 551 551 bioset 10862root 552 552 ext4-rsv-conver 10863root 553 553 jbd2/sdd3-8 10864root 554 554 ext4-rsv-conver 10865root 555 555 kworker/4:1H 10866root 556 556 ueventd 10867root 558 558 kworker/1:1H 10868root 562 562 irq/760-synapti 10869root 563 563 dsx_rebuild_wor 10870root 564 564 dsx_exp_workque 10871root 569 569 batt_timer 10872system 580 580 qseecomd 10873root 581 581 sugov:0 10874root 582 582 sugov:4 10875system 584 584 hwservicemanage 10876logd 585 585 logd 10877logd 585 590 logd.daemon 10878logd 585 591 logd.reader 10879logd 585 592 logd.writer 10880logd 585 593 logd.control 10881logd 585 595 logd.klogd 10882logd 585 596 logd.auditd 10883system 586 586 servicemanager 10884system 587 587 vndservicemanag 10885root 588 588 kworker/u16:8 10886root 594 594 kauditd 10887system 597 597 qseecomd 10888system 597 598 qseecomd 10889system 597 599 qseecomd 10890system 597 600 qseecomd 10891system 597 601 qseecomd 10892system 597 602 qseecomd 10893system 597 603 qseecomd 10894system 597 604 qseecomd 10895root 606 606 boot@1.0-servic 10896system 607 607 gatekeeper@1.0- 10897system 608 608 keyprimary@3.0-s 10898system 610 610 surfaceflinger 10899system 610 626 HwBinder:610_1 10900system 610 627 Binder:610_1 10901system 610 628 Binder:610_2 10902system 610 629 DispSync 10903system 610 661 POSIX timer 0 10904system 610 662 EventThread 10905system 610 663 POSIX timer 1 10906system 610 664 EventThread 10907system 610 679 VrEvent 10908system 610 680 VrHwcPost 10909system 610 681 VrDispatch 10910system 610 682 EventControl 10911system 610 978 Binder:610_3 10912system 610 981 Binder:610_1 10913system 610 1720 Binder:610_4 10914system 610 2158 Binder:610_5 10915system 612 612 composer@2.1-se 10916system 612 622 Binder:612_1 10917system 612 623 Binder:612_2 10918system 612 643 SDM_EventThread 10919system 612 665 android.hardwar 10920system 612 666 HWC_UeventThrea 10921system 612 676 HwBinder:612_1 10922system 612 677 HwBinder:612_2 10923system 612 678 composer@2.1-se 10924system 612 11297 HwBinder:612_3 10925system 613 613 configstore@1.0 10926system 613 625 HwBinder:613_1 10927system 613 2680 HwBinder:613_2 10928system 614 614 allocator@2.0-s 10929system 614 982 HwBinder:614_1 10930system 614 983 HwBinder:614_2 10931system 614 20587 HwBinder:614_3 10932root 631 631 mdss_fb0 10933root 632 632 jbd2/sda45-8 10934root 633 633 ext4-rsv-conver 10935system 637 637 time_daemon 10936system 637 649 time_daemon 10937system 637 650 time_daemon 10938system 637 651 time_daemon 10939system 637 652 time_daemon 10940system 637 653 time_daemon 10941system 637 1271 time_daemon 10942root 638 638 vold 10943root 638 654 vold 10944root 638 655 vold 10945root 638 656 vold 10946root 645 645 irq/177-arm-smm 10947root 646 646 irq/178-arm-smm 10948root 657 657 fwu_workqueue 10949root 658 658 dsps_IPCRTR 10950root 660 660 lpass_IPCRTR 10951root 688 688 qmi_hndl0000000 10952root 689 689 Binder:689_2 10953root 689 707 netd 10954root 689 708 netd 10955root 689 709 netd 10956root 689 710 netd 10957root 689 711 netd 10958root 689 712 netd 10959root 689 713 netd 10960root 689 714 netd 10961root 689 715 Binder:689_1 10962root 689 716 Binder:689_2 10963root 689 718 HwBinder:689_1 10964root 689 15067 Binder:689_3 10965root 689 2971 Binder:689_4 10966root 689 3118 Binder:689_5 10967root 690 690 qmi_hndl0000000 10968root 691 691 msm_slim_qmi_cl 10969root 692 692 msm_slim_qmi_cl 10970root 693 693 qmi_hndl0000000 10971root 694 694 qmi_hndl0000000 10972root 717 717 main 10973root 717 13093 ReferenceQueueD 10974root 717 13094 FinalizerDaemon 10975root 717 13095 FinalizerWatchd 10976root 717 13096 HeapTaskDaemon 10977root 719 719 main 10978root 719 8873 ReferenceQueueD 10979root 719 8874 FinalizerDaemon 10980root 719 8875 FinalizerWatchd 10981root 719 8876 HeapTaskDaemon 10982root 720 720 cds_recovery_wo 10983system 732 732 allocator@1.0-s 10984system 733 733 vr_hwc 10985system 733 751 Binder:733_1 10986system 733 752 HwBinder:733_1 10987system 733 753 Binder:733_2 10988audioserver 734 734 audio@2.0-servi 10989audioserver 734 1117 audio@2.0-servi 10990audioserver 734 1119 audio@2.0-servi 10991audioserver 734 1120 HwBinder:734_1 10992audioserver 734 1169 HwBinder:734_1 10993audioserver 734 1170 HwBinder:734_2 10994audioserver 734 1817 HwBinder:734_3 10995audioserver 734 1818 HwBinder:734_4 10996bluetooth 735 735 bluetooth@1.0-s 10997cameraserver 736 736 provider@2.4-se 10998cameraserver 736 1962 CAM_imgTh 10999cameraserver 736 1963 CAM_imgTh 11000cameraserver 736 1964 CAM_imgTh 11001cameraserver 736 1965 CAM_imgTh 11002cameraserver 736 1966 CAM_imgTh 11003cameraserver 736 1967 CAM_imgTh 11004cameraserver 736 1968 CAM_imgTh 11005cameraserver 736 1969 CAM_imgTh 11006cameraserver 736 1970 CAM_imgTh 11007cameraserver 736 1971 CAM_imgTh 11008cameraserver 736 1972 CAM_imgTh 11009cameraserver 736 1973 CAM_imgTh 11010cameraserver 736 1974 CAM_imgTh 11011cameraserver 736 1975 CAM_imgTh 11012cameraserver 736 1976 CAM_imgTh 11013cameraserver 736 1977 CAM_imgTh 11014cameraserver 736 1978 CAM_imgTh 11015cameraserver 736 1979 CAM_imgTh 11016cameraserver 736 1980 CAM_imgTh 11017cameraserver 736 1981 CAM_imgTh 11018cameraserver 736 2001 android.hardwar 11019cameraserver 736 2023 CAM_gyro_sens 11020cameraserver 736 2105 HwBinder:736_1 11021cameraserver 736 2106 HwBinder:736_2 11022cameraserver 736 1735 HwBinder:736_1 11023cameraserver 736 1809 HwBinder:736_3 11024media 737 737 cas@1.0-service 11025system 738 738 contexthub@1.0- 11026system 738 761 android.hardwar 11027media 739 739 drm@1.0-service 11028media 739 3562 HwBinder:739_1 11029media 740 740 drm@1.0-service 11030media 740 3563 HwBinder:740_1 11031media 740 12908 HwBinder:740_2 11032system 741 741 dumpstate@1.0-s 11033gps 742 742 gnss@1.0-servic 11034gps 742 1500 Loc_hal 11035gps 742 1515 Loc_hal 11036gps 742 1516 Loc_hal 11037gps 742 1517 Loc_hal 11038gps 742 1521 Loc_hal 11039gps 742 1542 Loc_hal 11040gps 742 1543 Loc_hal 11041gps 742 1544 Loc_hal 11042gps 742 1554 Loc_hal 11043system 743 743 light@2.0-servi 11044root 744 744 kworker/u16:11 11045system 745 745 memtrack@1.0-se 11046nfc 746 746 nfc@1.0-service 11047system 747 747 oemlock@1.0-ser 11048root 750 750 oemlock-bridge 11049system 754 754 power@1.1-servi 11050system 754 781 android.hardwar 11051system 755 755 sensors@1.0-ser 11052system 755 792 android.hardwar 11053system 755 793 android.hardwar 11054system 755 797 android.hardwar 11055system 755 947 android.hardwar 11056system 755 949 android.hardwar 11057system 755 950 android.hardwar 11058system 755 963 android.hardwar 11059system 755 987 android.hardwar 11060system 755 988 android.hardwar 11061system 755 991 android.hardwar 11062system 755 992 android.hardwar 11063system 755 995 android.hardwar 11064system 755 996 android.hardwar 11065system 755 1000 android.hardwar 11066system 755 1001 android.hardwar 11067system 755 1006 android.hardwar 11068system 755 1008 android.hardwar 11069system 755 1013 android.hardwar 11070system 755 1014 android.hardwar 11071system 755 1015 android.hardwar 11072system 755 1016 android.hardwar 11073system 755 1018 android.hardwar 11074system 755 1019 android.hardwar 11075system 755 1024 android.hardwar 11076system 755 1025 android.hardwar 11077system 755 1027 android.hardwar 11078system 755 1028 android.hardwar 11079system 755 1030 android.hardwar 11080system 755 1031 android.hardwar 11081system 755 1032 android.hardwar 11082system 755 1033 android.hardwar 11083system 755 1034 android.hardwar 11084system 755 1035 android.hardwar 11085system 755 1039 android.hardwar 11086system 755 1040 android.hardwar 11087system 755 1041 android.hardwar 11088system 755 1042 android.hardwar 11089system 755 1047 android.hardwar 11090system 755 1048 android.hardwar 11091system 755 1050 android.hardwar 11092system 755 1247 HwBinder:755_1 11093system 755 1276 HwBinder:755_1 11094system 755 1277 HwBinder:755_1 11095system 755 1278 HwBinder:755_1 11096root 756 756 usb@1.1-service 11097root 756 1301 usb@1.1-service 11098system 757 757 vibrator@1.1-se 11099system 758 758 vr@1.0-service. 11100wifi 759 759 offload@1.0-ser 11101wifi 759 769 android.hardwar 11102wifi 760 760 android.hardwar 11103root 762 762 irq/254-wcd9xxx 11104ese 763 763 esed 11105root 764 764 healthd 11106root 765 765 irq/153-arm-smm 11107root 767 767 msm_irqbalance 11108system 768 768 pm-service 11109system 768 787 POSIX timer 0 11110system 768 788 POSIX timer 1 11111system 768 789 POSIX timer 2 11112system 768 794 pm-service 11113system 768 795 Binder:768_1 11114system 768 799 Binder:768_2 11115system 768 946 Binder:768_3 11116system 768 958 Binder:768_4 11117system 770 770 sensors.qcom 11118system 770 786 sensors.qcom 11119system 770 790 sensors.qcom 11120system 770 791 sensors.qcom 11121system 770 801 sensors.qcom 11122system 770 802 sensors.qcom 11123system 770 803 sensors.qcom 11124system 770 804 sensors.qcom 11125system 770 812 sensors.qcom 11126system 770 813 sensors.qcom 11127system 770 951 sensors.qcom 11128system 770 952 sensors.qcom 11129nobody 773 773 rmt_storage 11130nobody 773 1212 rmt_storage 11131nobody 773 1213 rmt_storage 11132nobody 773 1214 rmt_storage 11133nobody 773 1215 rmt_storage 11134system 774 774 tftp_server 11135system 775 775 pd-mapper 11136system 775 796 pd-mapper 11137system 776 776 bufferhubd 11138root 777 777 lmkd 11139system 778 778 performanced 11140root 779 779 thermalserviced 11141root 779 806 HwBinder:779_1 11142root 779 809 HwBinder:779_2 11143system 780 780 Binder:780_2 11144system 780 785 Binder:780_1 11145root 782 782 at_usb0 11146root 783 783 at_usb1 11147root 784 784 qdss 11148root 798 798 qmi_hndl0000000 11149root 800 800 modem 11150system 808 808 pm-proxy 11151system 808 821 Binder:808_1 11152system 808 823 Binder:808_2 11153system 808 824 Binder:808_3 11154root 810 810 subsystem_ramdu 11155root 814 814 thermal-engine 11156root 814 879 HwBinder:814_1 11157root 814 883 thermal-engine 11158root 814 885 thermal-engine 11159root 814 886 thermal-engine 11160root 814 888 thermal-engine 11161root 814 889 thermal-engine 11162root 814 890 thermal-engine 11163root 814 891 thermal-engine 11164root 814 892 thermal-engine 11165root 814 893 thermal-engine 11166root 814 894 thermal-engine 11167root 814 895 thermal-engine 11168root 814 896 thermal-engine 11169root 814 897 thermal-engine 11170root 814 898 thermal-engine 11171root 814 899 thermal-engine 11172root 814 900 thermal-engine 11173root 814 901 thermal-engine 11174root 814 902 thermal-engine 11175root 814 903 thermal-engine 11176root 814 904 thermal-engine 11177root 814 905 thermal-engine 11178root 814 906 thermal-engine 11179root 814 908 thermal-engine 11180root 814 909 thermal-engine 11181root 814 911 thermal-engine 11182root 814 912 thermal-engine 11183root 814 913 thermal-engine 11184root 814 914 thermal-engine 11185root 814 915 thermal-engine 11186root 814 919 thermal-engine 11187root 814 920 thermal-engine 11188root 814 921 thermal-engine 11189root 814 922 thermal-engine 11190root 814 923 thermal-engine 11191root 814 924 thermal-engine 11192root 814 925 thermal-engine 11193root 814 927 thermal-engine 11194root 814 928 thermal-engine 11195root 814 929 thermal-engine 11196root 814 930 thermal-engine 11197root 814 931 thermal-engine 11198root 814 932 thermal-engine 11199root 814 933 thermal-engine 11200root 814 934 thermal-engine 11201root 814 935 thermal-engine 11202root 814 936 thermal-engine 11203root 814 937 thermal-engine 11204root 814 938 thermal-engine 11205root 814 939 thermal-engine 11206root 814 940 thermal-engine 11207root 814 941 thermal-engine 11208root 814 942 thermal-engine 11209root 814 943 thermal-engine 11210root 814 944 thermal-engine 11211root 814 953 thermal-engine 11212root 814 954 thermal-engine 11213root 814 955 thermal-engine 11214root 814 956 thermal-engine 11215root 814 957 thermal-engine 11216root 814 960 thermal-engine 11217root 814 961 thermal-engine 11218root 814 966 thermal-engine 11219root 814 1241 thermal-engine 11220root 814 1242 thermal-engine 11221media 815 815 adsprpcd 11222media 815 849 adsprpcd 11223media 815 855 adsprpcd 11224system 816 816 imsqmidaemon 11225system 816 840 imsqmidaemon 11226system 817 817 cnd 11227system 817 874 cnd 11228system 817 877 HwBinder:817_1 11229system 817 878 cnd 11230system 817 1305 cnd 11231system 817 1323 cnd 11232radio 818 818 netmgrd 11233root 818 869 netmgrd 11234radio 818 876 netmgrd 11235radio 818 907 HwBinder:818_1 11236radio 818 1020 netmgrd 11237radio 818 1021 netmgrd 11238radio 818 1022 netmgrd 11239radio 818 1114 netmgrd 11240radio 818 1115 netmgrd 11241radio 818 1307 netmgrd 11242radio 818 1635 netmgrd 11243radio 818 1637 netmgrd 11244radio 818 1638 netmgrd 11245radio 818 1640 netmgrd 11246radio 818 1770 netmgrd 11247radio 818 1836 netmgrd 11248radio 818 1841 netmgrd 11249radio 818 1844 netmgrd 11250radio 818 1909 netmgrd 11251radio 818 1910 netmgrd 11252radio 818 1911 netmgrd 11253radio 818 1916 netmgrd 11254radio 818 1952 netmgrd 11255radio 818 1953 netmgrd 11256radio 818 1955 netmgrd 11257radio 818 1956 netmgrd 11258radio 818 1957 netmgrd 11259radio 818 1994 netmgrd 11260radio 818 1995 netmgrd 11261radio 818 1996 netmgrd 11262radio 818 1997 netmgrd 11263radio 818 2038 netmgrd 11264radio 818 2039 netmgrd 11265radio 818 2040 netmgrd 11266radio 818 2044 netmgrd 11267radio 818 2058 netmgrd 11268radio 818 2059 netmgrd 11269radio 818 2060 netmgrd 11270radio 818 2061 netmgrd 11271radio 818 2063 netmgrd 11272radio 818 2064 netmgrd 11273radio 818 2065 netmgrd 11274radio 818 2066 netmgrd 11275radio 818 2082 netmgrd 11276radio 818 2088 netmgrd 11277radio 818 2089 netmgrd 11278radio 818 2096 netmgrd 11279radio 818 2107 netmgrd 11280radio 818 2108 netmgrd 11281radio 818 2109 netmgrd 11282radio 818 2110 netmgrd 11283radio 818 2114 netmgrd 11284radio 818 2115 netmgrd 11285radio 818 2116 netmgrd 11286radio 818 2117 netmgrd 11287radio 818 2119 netmgrd 11288radio 818 2120 netmgrd 11289radio 818 2121 netmgrd 11290radio 818 2122 netmgrd 11291radio 818 2124 netmgrd 11292radio 818 2125 netmgrd 11293radio 818 2126 netmgrd 11294radio 818 2127 netmgrd 11295radio 818 2129 netmgrd 11296radio 818 2130 netmgrd 11297radio 818 2131 netmgrd 11298radio 818 2132 netmgrd 11299radio 818 2136 netmgrd 11300radio 818 2137 netmgrd 11301radio 818 2138 netmgrd 11302radio 818 2139 netmgrd 11303radio 818 2143 netmgrd 11304radio 818 2144 netmgrd 11305radio 818 2146 netmgrd 11306radio 818 2147 netmgrd 11307radio 818 2151 netmgrd 11308radio 818 2152 netmgrd 11309radio 818 2153 netmgrd 11310radio 818 2154 netmgrd 11311radio 819 819 port-bridge 11312radio 819 841 port-bridge 11313radio 819 842 port-bridge 11314root 820 820 kworker/2:1H 11315radio 822 822 ipacm 11316radio 822 870 HwBinder:822_1 11317radio 822 871 ipacm 11318radio 822 872 netlink socket 11319radio 822 873 ipa driver ntfy 11320radio 827 827 qti 11321radio 827 861 qti 11322radio 827 2952 qti 11323radio 827 2953 qti 11324radio 827 2954 qti 11325audioserver 828 828 audioserver 11326audioserver 828 1121 HwBinder:828_1 11327audioserver 828 1123 ApmTone 11328audioserver 828 1124 ApmAudio 11329audioserver 828 1125 ApmOutput 11330audioserver 828 1126 Binder:828_1 11331audioserver 828 1127 Binder:828_2 11332audioserver 828 1171 FastMixer 11333audioserver 828 1172 AudioOut_D 11334audioserver 828 1173 FastMixer 11335audioserver 828 1174 AudioOut_15 11336audioserver 828 1175 AudioOut_1D 11337audioserver 828 1176 FastMixer 11338audioserver 828 1177 AudioOut_25 11339audioserver 828 1178 AudioOut_2D 11340audioserver 828 1188 soundTrigger cb 11341audioserver 828 31001 Binder:828_3 11342cameraserver 829 829 cameraserver 11343cameraserver 829 1037 HwBinder:829_1 11344cameraserver 829 1038 HwBinder:829_2 11345cameraserver 829 2104 HwBinder:829_3 11346cameraserver 829 2111 Binder:829_1 11347cameraserver 829 2112 Binder:829_2 11348cameraserver 829 1734 C3Dev-0-ReqQueu 11349cameraserver 829 9343 Binder:829_3 11350cameraserver 829 9344 Binder:829_4 11351cameraserver 829 9586 Binder:829_5 11352cameraserver 829 9587 Binder:829_6 11353drm 830 830 drmserver 11354drm 830 972 Binder:830_1 11355drm 830 15750 Binder:830_2 11356root 832 832 Binder:832_2 11357root 832 858 Binder:832_1 11358root 832 1223 Binder:832_3 11359root 832 1253 Binder:832_4 11360root 832 1257 Binder:832_5 11361root 832 2201 Binder:832_6 11362root 832 2202 Binder:832_7 11363root 832 2205 Binder:832_8 11364root 832 2206 Binder:832_9 11365root 832 2210 Binder:832_A 11366root 832 2211 Binder:832_B 11367root 832 2212 Binder:832_C 11368root 832 2213 Binder:832_D 11369root 832 2227 Binder:832_E 11370root 832 2228 Binder:832_F 11371keystore 833 833 keystore 11372keystore 833 881 HwBinder:833_1 11373media 834 834 mediadrmserver 11374media 834 917 Binder:834_1 11375media 834 3564 Binder:834_2 11376media 834 3565 HwBinder:834_1 11377mediaex 835 835 mediaextractor 11378mediaex 835 999 Binder:835_1 11379mediaex 835 1930 Binder:835_2 11380mediaex 835 3402 Binder:835_3 11381media 836 836 mediametrics 11382media 836 967 Binder:836_1 11383media 836 3641 Binder:836_2 11384media 837 837 mediaserver 11385media 837 1044 Binder:837_1 11386media 837 1378 HwBinder:837_1 11387media 837 1548 Binder:837_2 11388media 837 1550 Binder:837_3 11389root 838 838 storaged 11390root 838 975 storaged 11391root 838 976 Binder:838_1 11392wifi 839 839 wificond 11393mediacodec 843 843 omx@1.0-service 11394mediacodec 843 985 HwBinder:843_1 11395mediacodec 843 989 HwBinder:843_2 11396mediacodec 843 1003 Binder:843_1 11397mediacodec 843 1381 HwBinder:843_3 11398mediacodec 843 1712 HwBinder:843_4 11399mediacodec 843 1789 HwBinder:843_1 11400mediacodec 843 1790 HwBinder:843_1 11401mediacodec 843 10200 HwBinder:843_4 11402mediacodec 843 10499 HwBinder:843_5 11403mediacodec 843 15742 HwBinder:843_6 11404mediacodec 843 15743 HwBinder:843_7 11405mediacodec 843 6330 HwBinder:843_8 11406mediacodec 843 12451 HwBinder:843_9 11407mediacodec 843 21839 HwBinder:843_A 11408mediacodec 843 21842 HwBinder:843_B 11409mediacodec 843 21865 HwBinder:843_C 11410mediacodec 843 21895 HwBinder:843_D 11411mediacodec 843 16373 HwBinder:843_E 11412mediacodec 843 16374 HwBinder:843_F 11413radio 844 844 rild 11414radio 844 1026 rild 11415radio 844 1043 rild 11416radio 844 1217 Binder:844_1 11417radio 844 1219 rild 11418radio 844 1220 Binder:844_2 11419radio 844 1228 rild 11420radio 844 1229 rild 11421radio 844 1230 HwBinder:844_1 11422radio 844 1232 rild 11423radio 844 1233 rild 11424radio 844 1234 rild 11425radio 844 1236 rild 11426radio 844 1237 rild 11427radio 844 1238 rild 11428radio 844 1239 rild 11429radio 844 1457 rild 11430radio 844 1458 rild 11431radio 844 1459 rild 11432radio 844 1460 rild 11433radio 844 1461 rild 11434radio 844 1462 rild 11435radio 844 1464 rild 11436radio 844 1465 rild 11437radio 844 1466 rild 11438radio 844 1474 rild 11439radio 844 1475 rild 11440radio 844 1518 rild 11441radio 844 1520 rild 11442radio 844 1584 rild 11443radio 844 1599 rild 11444radio 844 1605 rild 11445radio 844 1606 rild 11446radio 844 1607 rild 11447radio 844 1616 rild 11448radio 844 1622 rild 11449radio 844 1624 rild 11450radio 844 1626 rild 11451radio 844 1627 rild 11452radio 844 1629 rild 11453radio 844 1631 rild 11454radio 844 1632 rild 11455root 845 845 kworker/1:2 11456system 848 848 folio_daemon 11457system 850 850 cnss-daemon 11458system 850 959 cnss-daemon 11459system 850 962 cnss-daemon 11460system 850 1216 Binder:850_1 11461system 850 1221 cnss-daemon 11462system 850 1222 Binder:850_2 11463system 850 1360 cnss-daemon 11464system 850 2231 cnss-daemon 11465gps 851 851 loc_launcher 11466gps 851 864 loc_launcher 11467system 852 852 chre 11468system 852 863 chre 11469system 852 867 chre 11470system 852 868 chre 11471system 852 1131 chre 11472system 852 1132 chre 11473system 854 854 gatekeeperd 11474tombstoned 856 856 tombstoned 11475root 857 857 update_engine 11476system 859 859 fingerprint@2.1 11477system 859 1101 android.hardwar 11478system 859 1102 android.hardwar 11479system 859 1104 HwBinder:859_1 11480system 860 860 cnss_diag 11481system 860 926 cnss_diag 11482system 875 875 imsdatadaemon 11483system 875 986 imsdatadaemon 11484system 875 1009 imsdatadaemon 11485system 875 1010 imsdatadaemon 11486system 875 1011 imsdatadaemon 11487system 875 1306 imsdatadaemon 11488system 875 1321 imsdatadaemon 11489root 880 880 ipawq15 11490root 916 916 iparepwq15 11491root 965 965 ipawq48 11492root 969 969 msm_thermal:fre 11493root 971 971 msm_thermal:the 11494root 973 973 iparepwq48 11495root 974 974 kworker/u17:1 11496root 979 979 ipawq13 11497root 984 984 iparepwq13 11498root 997 997 ipa_A7_svc 11499root 1002 1002 qmi_hndl0000000 11500root 1004 1004 clnt_req 11501root 1007 1007 clnt_resp 11502root 1012 1012 clnt_req 11503root 1094 1094 irq/157-arm-smm 11504root 1095 1095 irq/162-arm-smm 11505root 1118 1118 wdsp_glink_wq 11506system 1136 1136 system_server 11507system 1136 1141 Signal Catcher 11508system 1136 1142 JDWP 11509system 1136 1143 ReferenceQueueD 11510system 1136 1144 FinalizerDaemon 11511system 1136 1145 FinalizerWatchd 11512system 1136 1146 HeapTaskDaemon 11513system 1136 1152 Binder:1136_1 11514system 1136 1153 Binder:1136_2 11515system 1136 1155 android.bg 11516system 1136 1156 ActivityManager 11517system 1136 1157 android.ui 11518system 1136 1158 ActivityManager 11519system 1136 1159 batterystats-wo 11520system 1136 1160 FileObserver 11521system 1136 1161 android.fg 11522system 1136 1162 android.io 11523system 1136 1163 android.display 11524system 1136 1164 CpuTracker 11525system 1136 1165 PowerManagerSer 11526system 1136 1166 system_server 11527system 1136 1167 BatteryStats_wa 11528system 1136 1168 PackageManager 11529system 1136 1240 PackageInstalle 11530system 1136 1244 android.anim 11531system 1136 1248 SensorEventAckR 11532system 1136 1249 SensorService 11533system 1136 1250 AccountManagerS 11534system 1136 1252 SettingsProvide 11535system 1136 1258 AlarmManager 11536system 1136 1259 UEventObserver 11537system 1136 1266 HwBinder:1136_1 11538system 1136 1267 HwBinder:1136_2 11539system 1136 1269 InputDispatcher 11540system 1136 1270 InputReader 11541system 1136 1272 StorageManagerS 11542system 1136 1273 VoldConnector 11543system 1136 1274 CryptdConnector 11544system 1136 1279 NetdConnector 11545system 1136 1280 NetworkStats 11546system 1136 1281 NetworkPolicy 11547system 1136 1282 tworkPolicy.uid 11548system 1136 1284 WifiService 11549system 1136 1285 WifiStateMachin 11550system 1136 1286 IpManager.wlan0 11551system 1136 1287 WifiScanningSer 11552system 1136 1288 WifiRttService 11553system 1136 1289 WifiP2pService 11554system 1136 1290 ConnectivitySer 11555system 1136 1291 roid.pacmanager 11556system 1136 1292 NsdService 11557system 1136 1293 mDnsConnector 11558system 1136 1294 notification-sq 11559system 1136 1295 ranker 11560system 1136 1296 onProviders.ECP 11561system 1136 1297 DeviceStorageMo 11562system 1136 1298 AudioService 11563system 1136 1300 HwBinder:1136_3 11564system 1136 1302 ConnectivityThr 11565system 1136 1303 GraphicsStats-d 11566system 1136 1304 CameraService_p 11567system 1136 1313 SyncHandler-0 11568system 1136 1314 wifiAwareServic 11569system 1136 1315 EthernetService 11570system 1136 1316 TaskSnapshotPer 11571system 1136 1317 PhotonicModulat 11572system 1136 1318 LazyTaskWriterT 11573system 1136 1332 UsbService host 11574system 1136 1338 Thread-2 11575system 1136 1347 Binder:1136_3 11576system 1136 1353 SoundPool 11577system 1136 1356 SoundPoolThread 11578system 1136 1387 NetworkStatsObs 11579system 1136 1432 watchdog 11580system 1136 1490 EmergencyAfford 11581system 1136 1504 Binder:1136_4 11582system 1136 1509 Binder:1136_5 11583system 1136 1531 NetworkTimeUpda 11584system 1136 1609 Binder:1136_6 11585system 1136 1615 Binder:1136_7 11586system 1136 1630 Binder:1136_8 11587system 1136 1633 Binder:1136_9 11588system 1136 1634 Binder:1136_A 11589system 1136 1742 BluetoothRouteM 11590system 1136 1746 uteStateMachine 11591system 1136 1747 CallAudioModeSt 11592system 1136 1807 queued-work-loo 11593system 1136 2026 hidl_ssvc_poll 11594system 1136 2173 UsbDebuggingMan 11595system 1136 2249 backup 11596system 1136 2329 Binder:1136_B 11597system 1136 2335 Binder:1136_C 11598system 1136 2391 Binder:1136_D 11599system 1136 2434 SyncHandler-1 11600system 1136 2437 Binder:1136_E 11601system 1136 2915 AsyncQueryWorke 11602system 1136 3268 HwBinder:1136_4 11603system 1136 4183 Binder:1136_F 11604system 1136 4278 Binder:1136_10 11605system 1136 4300 Binder:1136_11 11606system 1136 4801 Okio Watchdog 11607system 1136 4939 android.anim 11608system 1136 4959 RenderThread 11609system 1136 7074 Binder:1136_12 11610system 1136 13711 HwBinder:1136_5 11611system 1136 11882 OkHttp Connecti 11612system 1136 12228 AsyncTask #110 11613system 1136 12237 AsyncTask #111 11614system 1136 12240 AsyncTask #112 11615system 1136 12241 AsyncTask #113 11616system 1136 12286 pool-2-thread-3 11617system 1136 12885 Error dump: sys 11618system 1136 13011 Error dump: sys 11619root 1209 1209 mpss_IPCRTR 11620root 1210 1210 qmi_hndl0000000 11621root 1211 1211 qmi_hndl0000000 11622root 1243 1243 qmi_hndl0000000 11623u0_a39 1341 1341 ndroid.systemui 11624u0_a39 1341 1348 Jit thread pool 11625u0_a39 1341 1349 Signal Catcher 11626u0_a39 1341 1350 JDWP 11627u0_a39 1341 1351 ReferenceQueueD 11628u0_a39 1341 1352 FinalizerDaemon 11629u0_a39 1341 1354 FinalizerWatchd 11630u0_a39 1341 1355 HeapTaskDaemon 11631u0_a39 1341 1358 Binder:1341_1 11632u0_a39 1341 1361 Binder:1341_2 11633u0_a39 1341 1375 Binder:1341_3 11634u0_a39 1341 1522 pool-1-thread-1 11635u0_a39 1341 1523 SoundPool 11636u0_a39 1341 1524 SoundPoolThread 11637u0_a39 1341 1532 Recents-HighRes 11638u0_a39 1341 1533 Recents-TaskRes 11639u0_a39 1341 1540 recents.fg 11640u0_a39 1341 1566 async_sensor 11641u0_a39 1341 1686 VolumeDialogCon 11642u0_a39 1341 1694 SysUiBg 11643u0_a39 1341 1757 queued-work-loo 11644u0_a39 1341 1768 RenderThread 11645u0_a39 1341 1781 ConnectivityThr 11646u0_a39 1341 1797 TimeTick 11647u0_a39 1341 1892 Keyboard 11648u0_a39 1341 1915 pool-2-thread-1 11649u0_a39 1341 1926 HwBinder:1341_1 11650u0_a39 1341 2012 RenderThread 11651u0_a39 1341 2013 hwuiTask1 11652u0_a39 1341 2027 hwuiTask2 11653u0_a39 1341 2035 Thread-2 11654u0_a39 1341 10541 Binder:1341_4 11655u0_a39 1341 10803 FlashlightContr 11656u0_a39 1341 21891 Binder:1341_5 11657root 1357 1357 qmi_hndl0000000 11658radio 1362 1362 le.modemservice 11659radio 1362 1367 Jit thread pool 11660radio 1362 1368 Signal Catcher 11661radio 1362 1369 JDWP 11662radio 1362 1370 ReferenceQueueD 11663radio 1362 1371 FinalizerDaemon 11664radio 1362 1372 FinalizerWatchd 11665radio 1362 1373 HeapTaskDaemon 11666radio 1362 1374 Binder:1362_1 11667radio 1362 1376 Binder:1362_2 11668radio 1362 1430 Profile Saver 11669radio 1362 1434 ModemService 11670radio 1362 1452 queued-work-loo 11671radio 1362 23042 Binder:1362_3 11672radio 1438 1438 .qcrilmsgtunnel 11673radio 1438 1443 Jit thread pool 11674radio 1438 1444 Signal Catcher 11675radio 1438 1445 JDWP 11676radio 1438 1446 ReferenceQueueD 11677radio 1438 1447 FinalizerDaemon 11678radio 1438 1448 FinalizerWatchd 11679radio 1438 1449 HeapTaskDaemon 11680radio 1438 1453 Binder:1438_1 11681radio 1438 1454 Binder:1438_2 11682radio 1438 1456 Binder:1438_3 11683radio 1438 1492 Profile Saver 11684radio 1438 1503 HwBinder:1438_1 11685radio 1438 1505 queued-work-loo 11686u0_a99 1467 1467 reel.wallpapers 11687u0_a99 1467 1476 Jit thread pool 11688u0_a99 1467 1477 Signal Catcher 11689u0_a99 1467 1479 JDWP 11690u0_a99 1467 1480 ReferenceQueueD 11691u0_a99 1467 1481 FinalizerDaemon 11692u0_a99 1467 1487 FinalizerWatchd 11693u0_a99 1467 1489 HeapTaskDaemon 11694u0_a99 1467 1491 Binder:1467_1 11695u0_a99 1467 1493 Binder:1467_2 11696u0_a99 1467 1494 Binder:1467_3 11697u0_a99 1467 1506 Profile Saver 11698u0_a99 1467 1793 GLThread 43 11699u0_a99 1467 1795 SoundPool 11700u0_a99 1467 1796 SoundPoolThread 11701u0_a99 1467 1798 AsynchExecutor- 11702u0_a99 1467 1990 GLThread 43 11703gps 1546 1546 lowi-server 11704gps 1546 1596 lowi-server 11705gps 1546 1597 lowi-server 11706gps 1546 1600 lowi-server 11707gps 1546 1601 lowi-server 11708gps 1546 2268 lowi-server 11709gps 1546 2269 lowi-server 11710gps 1546 2271 lowi-server 11711gps 1546 12179 lowi-server 11712system 1556 1556 .dataservices 11713system 1556 1567 Jit thread pool 11714system 1556 1568 Signal Catcher 11715system 1556 1569 JDWP 11716system 1556 1571 ReferenceQueueD 11717system 1556 1572 FinalizerDaemon 11718system 1556 1573 FinalizerWatchd 11719system 1556 1574 HeapTaskDaemon 11720system 1556 1575 Binder:1556_1 11721system 1556 1577 Binder:1556_2 11722system 1556 1677 Profile Saver 11723system 1556 1685 cneservice_thre 11724system 1556 1691 CNEReceiver 11725system 1556 1698 ConnectivityThr 11726system 1556 1701 MainEventThread 11727system 1556 1702 HwBinder:1556_1 11728system 1556 4828 queued-work-loo 11729system 1556 10575 Binder:1556_3 11730system 1556 32603 Binder:1556_4 11731gps 1562 1562 xtra-daemon 11732gps 1562 1589 pcid-lo 11733gps 1562 1603 pcid-lo 11734gps 1562 1604 pcid-lo 11735gps 1562 1608 pcid-lo 11736gps 1562 1610 LocTime 11737gps 1562 1611 LocTime 11738gps 1563 1563 loc_launcher 11739gps 1564 1564 loc_launcher 11740gps 1565 1565 loc_launcher 11741radio 1576 1576 elephonyservice 11742radio 1576 1582 Jit thread pool 11743radio 1576 1583 Signal Catcher 11744radio 1576 1586 JDWP 11745radio 1576 1592 ReferenceQueueD 11746radio 1576 1593 FinalizerDaemon 11747radio 1576 1594 FinalizerWatchd 11748radio 1576 1595 HeapTaskDaemon 11749radio 1576 1598 Binder:1576_1 11750radio 1576 1602 Binder:1576_2 11751radio 1576 1695 Profile Saver 11752radio 1576 2778 HwBinder:1576_1 11753radio 1576 2785 queued-work-loo 11754radio 1585 1585 m.android.phone 11755radio 1585 1612 Jit thread pool 11756radio 1585 1613 Signal Catcher 11757radio 1585 1614 JDWP 11758radio 1585 1617 ReferenceQueueD 11759radio 1585 1618 FinalizerDaemon 11760radio 1585 1619 FinalizerWatchd 11761radio 1585 1620 HeapTaskDaemon 11762radio 1585 1623 Binder:1585_1 11763radio 1585 1625 Binder:1585_2 11764radio 1585 1683 Profile Saver 11765radio 1585 1721 EuiccConnector 11766radio 1585 1724 android.bg 11767radio 1585 1732 HwBinder:1585_1 11768radio 1585 1749 GsmCellBroadcas 11769radio 1585 1755 GsmInboundSmsHa 11770radio 1585 1756 CellBroadcastHa 11771radio 1585 1759 CdmaInboundSmsH 11772radio 1585 1761 CdmaServiceCate 11773radio 1585 1780 DcHandlerThread 11774radio 1585 1784 Binder:1585_3 11775radio 1585 1811 Binder:1585_4 11776radio 1585 1822 ImsServiceContr 11777radio 1585 1829 queued-work-loo 11778radio 1585 1832 org.codeaurora. 11779radio 1585 1833 ImsConfigImplHa 11780radio 1585 1902 Binder:1585_5 11781radio 1585 2916 ervice.Executor 11782radio 1585 2917 ConnectivityThr 11783radio 1585 30697 AudioTrack 11784radio 1585 9825 Binder:1585_6 11785root 1644 1644 ipawq14 11786root 1651 1651 iparepwq14 11787root 1659 1659 ipawq49 11788root 1665 1665 iparepwq49 11789root 2193 2193 irq/35-1008000. 11790root 2203 2203 kworker/3:1H 11791root 2207 2207 wlan_logging_th 11792root 2208 2208 perfd 11793root 2208 2215 perfd 11794root 2208 2218 POSIX timer 0 11795root 2208 21805 POSIX timer 71 11796root 2219 2219 cds_mc_thread 11797root 2220 2220 cds_ol_rx_threa 11798root 2221 2221 wmi_rx_event_wo 11799nfc 2315 2315 com.android.nfc 11800nfc 2315 2320 Jit thread pool 11801nfc 2315 2321 Signal Catcher 11802nfc 2315 2322 JDWP 11803nfc 2315 2323 ReferenceQueueD 11804nfc 2315 2324 FinalizerDaemon 11805nfc 2315 2325 FinalizerWatchd 11806nfc 2315 2326 HeapTaskDaemon 11807nfc 2315 2327 Binder:2315_1 11808nfc 2315 2328 Binder:2315_2 11809nfc 2315 2414 Profile Saver 11810nfc 2315 2576 HwBinder:2315_1 11811nfc 2315 5876 queued-work-loo 11812nfc 2315 17107 Binder:2315_3 11813nfc 2315 12019 AsyncTask #52 11814nfc 2315 12307 AsyncTask #53 11815radio 2330 2330 .ims.rcsservice 11816radio 2330 2336 Jit thread pool 11817radio 2330 2342 Signal Catcher 11818radio 2330 2343 JDWP 11819radio 2330 2344 ReferenceQueueD 11820radio 2330 2345 FinalizerDaemon 11821radio 2330 2346 FinalizerWatchd 11822radio 2330 2347 HeapTaskDaemon 11823radio 2330 2352 Binder:2330_1 11824radio 2330 2356 Binder:2330_2 11825radio 2330 2357 Binder:2330_3 11826radio 2330 2375 Profile Saver 11827radio 2330 2471 Listener 11828radio 2330 2482 queued-work-loo 11829radio 2330 2888 EABServiceHandl 11830system 2337 2337 RestartDetector 11831system 2337 2348 Jit thread pool 11832system 2337 2349 Signal Catcher 11833system 2337 2350 JDWP 11834system 2337 2351 ReferenceQueueD 11835system 2337 2353 FinalizerDaemon 11836system 2337 2354 FinalizerWatchd 11837system 2337 2355 HeapTaskDaemon 11838system 2337 2358 Binder:2337_1 11839system 2337 2359 Binder:2337_2 11840system 2337 2430 Profile Saver 11841system 2337 3132 FileObserver 11842system 2337 3133 queued-work-loo 11843u0_a47 2438 2438 s.nexuslauncher 11844u0_a47 2438 2443 Jit thread pool 11845u0_a47 2438 2444 Signal Catcher 11846u0_a47 2438 2445 JDWP 11847u0_a47 2438 2446 ReferenceQueueD 11848u0_a47 2438 2447 FinalizerDaemon 11849u0_a47 2438 2448 FinalizerWatchd 11850u0_a47 2438 2449 HeapTaskDaemon 11851u0_a47 2438 2450 Binder:2438_1 11852u0_a47 2438 2451 Binder:2438_2 11853u0_a47 2438 2470 Profile Saver 11854u0_a47 2438 2477 launcher-loader 11855u0_a47 2438 2483 GAC_Executor[0] 11856u0_a47 2438 2484 GoogleApiHandle 11857u0_a47 2438 2542 pool-1-thread-1 11858u0_a47 2438 2545 qsb-experiments 11859u0_a47 2438 2561 smartspace-load 11860u0_a47 2438 2569 reflection-thre 11861u0_a47 2438 2584 RenderThread 11862u0_a47 2438 2585 GAC_Executor[1] 11863u0_a47 2438 2600 RenderThread 11864u0_a47 2438 2604 hwuiTask1 11865u0_a47 2438 2605 hwuiTask2 11866u0_a47 2438 2613 RenderThread 11867u0_a47 2438 2614 RenderThread 11868u0_a47 2438 2615 RenderThread 11869u0_a47 2438 2616 RenderThread 11870u0_a47 2438 2617 RenderThread 11871u0_a47 2438 2618 RenderThread 11872u0_a47 2438 2619 RenderThread 11873u0_a47 2438 2620 RenderThread 11874u0_a47 2438 2632 Binder:2438_3 11875u0_a47 2438 2721 queued-work-loo 11876u0_a29 2452 2452 elligence.sense 11877u0_a29 2452 2457 Jit thread pool 11878u0_a29 2452 2458 Signal Catcher 11879u0_a29 2452 2462 JDWP 11880u0_a29 2452 2463 ReferenceQueueD 11881u0_a29 2452 2464 FinalizerDaemon 11882u0_a29 2452 2465 FinalizerWatchd 11883u0_a29 2452 2466 HeapTaskDaemon 11884u0_a29 2452 2467 Binder:2452_1 11885u0_a29 2452 2469 Binder:2452_2 11886u0_a29 2452 2481 Profile Saver 11887u0_a29 2452 2553 GoogleApiHandle 11888u0_a29 2452 2580 superpacks-cont 11889u0_a29 2452 2595 Background #0 11890u0_a29 2452 2597 Background #1 11891u0_a29 2452 4747 queued-work-loo 11892u0_a29 2452 5882 Binder:2452_3 11893u0_a29 2452 5884 Primes-1 11894u0_a29 2452 6961 Primes-2 11895u0_a32 3721 3721 .apps.turbo:aab 11896u0_a32 3721 3726 Jit thread pool 11897u0_a32 3721 3727 Signal Catcher 11898u0_a32 3721 3728 JDWP 11899u0_a32 3721 3729 ReferenceQueueD 11900u0_a32 3721 3730 FinalizerDaemon 11901u0_a32 3721 3731 FinalizerWatchd 11902u0_a32 3721 3732 HeapTaskDaemon 11903u0_a32 3721 3733 Binder:3721_1 11904u0_a32 3721 3734 Binder:3721_2 11905u0_a32 3721 3735 Binder:3721_3 11906u0_a32 3721 3736 Profile Saver 11907u0_a32 3721 3741 queued-work-loo 11908u0_a32 3721 3742 GoogleApiHandle 11909u0_a32 3721 5885 Primes-1 11910u0_a32 3721 6962 Primes-2 11911root 3724 3724 iptables-restor 11912root 3737 3737 ip6tables-resto 11913root 4292 4292 kworker/5:0 11914root 4337 4337 kworker/4:0 11915system 4764 4764 lcomm.telephony 11916system 4764 4769 Jit thread pool 11917system 4764 4770 Signal Catcher 11918system 4764 4771 JDWP 11919system 4764 4772 ReferenceQueueD 11920system 4764 4773 FinalizerDaemon 11921system 4764 4774 FinalizerWatchd 11922system 4764 4775 HeapTaskDaemon 11923system 4764 4776 Binder:4764_1 11924system 4764 4777 Binder:4764_2 11925system 4764 4778 Profile Saver 11926system 4764 4779 Thread-2 11927system 4764 4780 CTSA Inject Thr 11928system 4764 4781 HwBinder:4764_1 11929system 4764 4782 queued-work-loo 11930u0_a44 4845 4845 n.mips.services 11931u0_a44 4845 4850 Jit thread pool 11932u0_a44 4845 4851 Signal Catcher 11933u0_a44 4845 4852 JDWP 11934u0_a44 4845 4853 ReferenceQueueD 11935u0_a44 4845 4854 FinalizerDaemon 11936u0_a44 4845 4855 FinalizerWatchd 11937u0_a44 4845 4856 HeapTaskDaemon 11938u0_a44 4845 4857 Binder:4845_1 11939u0_a44 4845 4858 Binder:4845_2 11940u0_a44 4845 4873 Binder:4845_3 11941u0_a44 4845 4875 Profile Saver 11942u0_a44 4845 4881 queued-work-loo 11943u0_a44 4845 5255 ConnectivityThr 11944u0_a44 4845 5830 Okio Watchdog 11945u0_a712 4896 4896 .android.daemon 11946u0_a712 4896 4902 Jit thread pool 11947u0_a712 4896 4903 Signal Catcher 11948u0_a712 4896 4904 JDWP 11949u0_a712 4896 4905 ReferenceQueueD 11950u0_a712 4896 4906 FinalizerDaemon 11951u0_a712 4896 4907 FinalizerWatchd 11952u0_a712 4896 4908 HeapTaskDaemon 11953u0_a712 4896 4909 Binder:4896_1 11954u0_a712 4896 4910 Binder:4896_2 11955u0_a712 4896 4914 Profile Saver 11956u0_a712 4896 4935 queued-work-loo 11957u0_a712 4896 4947 ConnectivityThr 11958u0_a712 4896 4957 RenderThread 11959u0_a712 4896 4962 RenderThread 11960u0_a712 4896 4965 hwuiTask1 11961u0_a712 4896 9617 Binder:4896_3 11962root 4937 4937 kworker/2:1 11963root 5027 5027 adbd 11964root 5027 5028 usb ffs open 11965root 5027 5079 ->transport 11966root 5027 5080 <-transport 11967root 5027 13215 shell svc 13214 11968root 5027 13219 shell svc 13218 11969u0_a27 5340 5340 id.defcontainer 11970u0_a27 5340 5345 Jit thread pool 11971u0_a27 5340 5346 Signal Catcher 11972u0_a27 5340 5347 JDWP 11973u0_a27 5340 5349 ReferenceQueueD 11974u0_a27 5340 5350 FinalizerDaemon 11975u0_a27 5340 5351 FinalizerWatchd 11976u0_a27 5340 5352 HeapTaskDaemon 11977u0_a27 5340 5354 Binder:5340_1 11978u0_a27 5340 5355 Binder:5340_2 11979u0_a27 5340 5387 Profile Saver 11980u0_a27 5340 5390 queued-work-loo 11981u0_a26 7090 7090 .gms.persistent 11982u0_a26 7090 7095 Jit thread pool 11983u0_a26 7090 7096 Signal Catcher 11984u0_a26 7090 7097 JDWP 11985u0_a26 7090 7103 ReferenceQueueD 11986u0_a26 7090 7104 FinalizerDaemon 11987u0_a26 7090 7105 FinalizerWatchd 11988u0_a26 7090 7106 HeapTaskDaemon 11989u0_a26 7090 7107 Binder:7090_1 11990u0_a26 7090 7110 Binder:7090_2 11991u0_a26 7090 7121 Profile Saver 11992u0_a26 7090 7125 FileObserver 11993u0_a26 7090 7130 GlobalScheduler 11994u0_a26 7090 7139 GlobalDispatchi 11995u0_a26 7090 7143 GoogleApiHandle 11996u0_a26 7090 7157 queued-work-loo 11997u0_a26 7090 7162 Binder:7090_3 11998u0_a26 7090 7174 GeofencerStateM 11999u0_a26 7090 7176 RealContextHub 12000u0_a26 7090 7177 GAC_Executor[0] 12001u0_a26 7090 7178 ConnectivityThr 12002u0_a26 7090 7179 FlpThread 12003u0_a26 7090 7191 highpool[0] 12004u0_a26 7090 7192 highpool[1] 12005u0_a26 7090 7193 Binder:7090_4 12006u0_a26 7090 7194 highpool[2] 12007u0_a26 7090 7195 highpool[3] 12008u0_a26 7090 7196 GAC_Executor[1] 12009u0_a26 7090 7204 GoogleLocationS 12010u0_a26 7090 7207 lowpool[0] 12011u0_a26 7090 7209 MSMuxTR-0 12012u0_a26 7090 7234 lowpool[2] 12013u0_a26 7090 7235 lowpool[3] 12014u0_a26 7090 7421 Binder:7090_5 12015u0_a26 7090 7962 Thread-7 12016u0_a26 7090 7963 Thread-8 12017u0_a26 7090 7964 Thread-9 12018u0_a26 7090 7965 Thread-10 12019u0_a26 7090 7966 Thread-11 12020u0_a26 7090 7967 DG 12021u0_a26 7090 10905 Binder:7090_6 12022u0_a26 7090 8433 lowpool[4] 12023u0_a26 7090 12072 peration loader 12024u0_a26 7090 12073 raService] idle 12025u0_a26 7090 12371 netscheduler-qu 12026u0_a26 7090 12374 raService] idle 12027u0_a26 7090 12375 raService] idle 12028u0_a26 7090 12379 raService] idle 12029u0_a26 7090 12412 lowpool[5] 12030u0_a26 7090 12724 lowpool[6] 12031u0_a26 7090 12773 NearbyMessages 12032u0_a26 7090 12782 NearbyDirectMai 12033u0_a26 7090 12836 lowpool[7] 12034u0_a26 7090 12956 lowpool[8] 12035u0_a26 7098 7098 gle.android.gms 12036u0_a26 7098 7109 Jit thread pool 12037u0_a26 7098 7112 Signal Catcher 12038u0_a26 7098 7113 JDWP 12039u0_a26 7098 7115 ReferenceQueueD 12040u0_a26 7098 7116 FinalizerDaemon 12041u0_a26 7098 7117 FinalizerWatchd 12042u0_a26 7098 7118 HeapTaskDaemon 12043u0_a26 7098 7119 Binder:7098_1 12044u0_a26 7098 7120 Binder:7098_2 12045u0_a26 7098 7122 Binder:7098_3 12046u0_a26 7098 7123 Profile Saver 12047u0_a26 7098 7131 GlobalDispatchi 12048u0_a26 7098 7144 GoogleApiHandle 12049u0_a26 7098 7145 FileObserver 12050u0_a26 7098 7158 queued-work-loo 12051u0_a26 7098 7776 lowpool[0] 12052u0_a26 7098 7953 GAC_Executor[0] 12053u0_a26 7098 7956 GAC_Executor[1] 12054u0_a26 7098 8122 GlobalScheduler 12055u0_a26 7098 8594 Binder:7098_4 12056u0_a26 7098 8913 lowpool[1] 12057u0_a26 7098 9406 lowpool[2] 12058u0_a26 7098 10593 lowpool[3] 12059u0_a26 7098 11037 Binder:7098_5 12060u0_a26 7098 17202 Binder:7098_6 12061u0_a26 7098 21793 Binder:7098_7 12062u0_a26 7098 29707 Binder:7098_8 12063u0_a26 7098 10450 Thread-446 12064u0_a26 7098 10451 Thread-447 12065u0_a26 7098 10452 Thread-448 12066u0_a26 7098 10453 Thread-449 12067u0_a26 7098 10454 Thread-450 12068u0_a26 7098 25963 Binder:7098_9 12069u0_a26 7098 15761 highpool[0] 12070u0_a26 7098 12069 peration loader 12071u0_a26 7098 12070 raService] idle 12072u0_a26 7098 12075 raService] idle 12073u0_a26 7098 12513 raService] idle 12074u0_a26 7098 12528 raService] idle 12075u0_a26 7098 12529 raService] idle 12076u0_a26 7098 12542 highpool[1] 12077u0_a26 7098 12547 AdWorker(Defaul 12078u0_a26 7098 12578 highpool[2] 12079u0_a26 7098 12580 lowpool[4] 12080u0_a26 7098 12581 raService] idle 12081u0_a26 7098 12582 raService] idle 12082u0_a26 7098 12584 raService] idle 12083u0_a26 7098 12585 raService] idle 12084u0_a26 7098 12588 lowpool[5] 12085u0_a26 7098 12589 highpool[3] 12086u0_a26 7098 12655 highpool[4] 12087u0_a26 7098 12695 raService] idle 12088u0_a26 7098 12701 ConnectivityThr 12089u0_a26 7098 12726 Measurement Wor 12090u0_a26 7098 12729 DG 12091u0_a26 7098 12839 AsyncTask #1 12092u0_a26 7098 12862 AsyncTask #2 12093u0_a26 7098 13002 grpc-timer-0 12094u0_a26 7098 13003 grpc-default-ex 12095u0_a26 7098 13005 grpc-default-ex 12096u0_a26 7098 13051 lowpool[6] 12097u0_a26 7098 13193 measurement-1 12098root 7580 7580 kworker/7:2 12099root 7655 7655 kworker/0:1 12100root 7755 7755 kworker/2:0 12101u0_a16 8921 8921 oid.documentsui 12102u0_a16 8921 8926 Jit thread pool 12103u0_a16 8921 8927 Signal Catcher 12104u0_a16 8921 8928 JDWP 12105u0_a16 8921 8929 ReferenceQueueD 12106u0_a16 8921 8930 FinalizerDaemon 12107u0_a16 8921 8931 FinalizerWatchd 12108u0_a16 8921 8932 HeapTaskDaemon 12109u0_a16 8921 8933 Binder:8921_1 12110u0_a16 8921 8935 Binder:8921_2 12111u0_a16 8921 8936 Profile Saver 12112u0_a16 8921 12046 AsyncTask #6 12113u0_a16 8921 12082 AsyncTask #7 12114u0_a16 8921 12093 AsyncTask #8 12115u0_a16 8921 12104 AsyncTask #9 12116u0_a38 8947 8947 d.process.media 12117u0_a38 8947 8952 Jit thread pool 12118u0_a38 8947 8953 Signal Catcher 12119u0_a38 8947 8954 JDWP 12120u0_a38 8947 8955 ReferenceQueueD 12121u0_a38 8947 8956 FinalizerDaemon 12122u0_a38 8947 8957 FinalizerWatchd 12123u0_a38 8947 8958 HeapTaskDaemon 12124u0_a38 8947 8959 Binder:8947_1 12125u0_a38 8947 8960 Binder:8947_2 12126u0_a38 8947 8961 Profile Saver 12127u0_a38 8947 8963 thumbs thread 12128u0_a38 8947 8964 sAsyncHandlerTh 12129u0_a38 8947 9852 queued-work-loo 12130root 10171 10171 kworker/0:2 12131root 10578 10578 kworker/u16:6 12132root 10822 10822 kworker/u16:0 12133root 11013 11013 kworker/7:0 12134root 11093 11093 kworker/u16:5 12135root 11198 11198 kworker/1:1 12136root 11204 11204 kworker/3:0 12137root 11314 11314 kworker/5:1 12138root 11385 11385 kworker/6:1 12139root 11468 11468 kworker/u16:2 12140root 11477 11477 kworker/4:2 12141root 11483 11483 kworker/2:4 12142root 11493 11493 kworker/1:3 12143root 11635 11635 kworker/6:0 12144root 11710 11710 kworker/0:3 12145root 11723 11723 kworker/3:1 12146root 11733 11733 kworker/2:2 12147root 11737 11737 kworker/4:1 12148root 11740 11740 kworker/1:0 12149root 11743 11743 kworker/1:4 12150root 11801 11801 kworker/7:1 12151root 11894 11894 kworker/6:2 12152root 11895 11895 kworker/u16:4 12153root 11896 11896 kworker/2:3 12154root 11961 11961 kworker/0:0 12155root 11963 11963 kworker/4:3 12156root 11972 11972 kworker/3:2 12157root 12010 12010 kworker/7:3 12158system 12047 12047 ndroid.keychain 12159system 12047 12054 Jit thread pool 12160system 12047 12055 Signal Catcher 12161system 12047 12056 JDWP 12162system 12047 12058 ReferenceQueueD 12163system 12047 12059 FinalizerDaemon 12164system 12047 12060 FinalizerWatchd 12165system 12047 12061 HeapTaskDaemon 12166system 12047 12062 Binder:12047_1 12167system 12047 12063 Binder:12047_2 12168system 12047 12068 queued-work-loo 12169root 12136 12136 kworker/3:3 12170root 12172 12172 kworker/u16:7 12171root 12173 12173 kworker/u16:9 12172root 12174 12174 kworker/u16:10 12173root 12175 12175 kworker/u16:12 12174root 12176 12176 kworker/u16:13 12175root 12177 12177 kworker/u16:14 12176root 12178 12178 kworker/u16:15 12177u0_a26 12188 12188 e.process.gapps 12178u0_a26 12188 12193 Jit thread pool 12179u0_a26 12188 12194 Signal Catcher 12180u0_a26 12188 12195 JDWP 12181u0_a26 12188 12196 ReferenceQueueD 12182u0_a26 12188 12197 FinalizerDaemon 12183u0_a26 12188 12198 FinalizerWatchd 12184u0_a26 12188 12199 HeapTaskDaemon 12185u0_a26 12188 12200 Binder:12188_1 12186u0_a26 12188 12201 Binder:12188_2 12187u0_a26 12188 12202 Binder:12188_3 12188u0_a26 12188 12203 Profile Saver 12189u0_a26 12188 12219 RefQueueWorker@ 12190u0_a26 12188 12406 Binder:12188_4 12191u0_a26 12188 12411 Binder:12188_5 12192u0_a26 12204 12204 ocess.gservices 12193u0_a26 12204 12209 Jit thread pool 12194u0_a26 12204 12210 Signal Catcher 12195u0_a26 12204 12211 JDWP 12196u0_a26 12204 12212 ReferenceQueueD 12197u0_a26 12204 12213 FinalizerDaemon 12198u0_a26 12204 12214 FinalizerWatchd 12199u0_a26 12204 12215 HeapTaskDaemon 12200u0_a26 12204 12216 Binder:12204_1 12201u0_a26 12204 12217 Binder:12204_2 12202u0_a26 12204 12218 Profile Saver 12203u0_a26 12204 12315 Binder:12204_3 12204u0_a26 12204 12316 Binder:12204_4 12205u0_a26 12204 12318 Binder:12204_5 12206u0_a26 12204 12320 Binder:12204_6 12207u0_a26 12204 13185 Binder:12204_7 12208u0_a15 12324 12324 ctivity.metrics 12209u0_a15 12324 12329 Jit thread pool 12210u0_a15 12324 12330 Signal Catcher 12211u0_a15 12324 12331 JDWP 12212u0_a15 12324 12332 ReferenceQueueD 12213u0_a15 12324 12333 FinalizerDaemon 12214u0_a15 12324 12334 FinalizerWatchd 12215u0_a15 12324 12335 HeapTaskDaemon 12216u0_a15 12324 12336 Binder:12324_1 12217u0_a15 12324 12339 Binder:12324_2 12218u0_a15 12324 12342 Profile Saver 12219u0_a15 12324 12343 AsyncTask #1 12220u0_a15 12324 12345 GAC_Executor[0] 12221u0_a15 12324 12364 GAC_Executor[1] 12222u0_a15 12324 13186 AsyncTask #2 12223u0_a22 12381 12381 id.partnersetup 12224u0_a22 12381 12386 Jit thread pool 12225u0_a22 12381 12387 Signal Catcher 12226u0_a22 12381 12388 JDWP 12227u0_a22 12381 12389 ReferenceQueueD 12228u0_a22 12381 12390 FinalizerDaemon 12229u0_a22 12381 12391 FinalizerWatchd 12230u0_a22 12381 12392 HeapTaskDaemon 12231u0_a22 12381 12393 Binder:12381_1 12232u0_a22 12381 12394 Binder:12381_2 12233u0_a22 12381 12395 Profile Saver 12234webview_zygote 12409 12409 main 12235webview_zygote 12409 12458 ReferenceQueueD 12236webview_zygote 12409 12459 FinalizerDaemon 12237webview_zygote 12409 12460 FinalizerWatchd 12238webview_zygote 12409 12461 HeapTaskDaemon 12239radio 12413 12413 elephonymonitor 12240radio 12413 12418 Jit thread pool 12241radio 12413 12419 Signal Catcher 12242radio 12413 12420 JDWP 12243radio 12413 12421 ReferenceQueueD 12244radio 12413 12422 FinalizerDaemon 12245radio 12413 12423 FinalizerWatchd 12246radio 12413 12424 HeapTaskDaemon 12247radio 12413 12425 Binder:12413_1 12248radio 12413 12426 Binder:12413_2 12249radio 12413 12427 Profile Saver 12250u0_a93 12475 12475 id.printspooler 12251u0_a93 12475 12480 Jit thread pool 12252u0_a93 12475 12481 Signal Catcher 12253u0_a93 12475 12482 JDWP 12254u0_a93 12475 12483 ReferenceQueueD 12255u0_a93 12475 12484 FinalizerDaemon 12256u0_a93 12475 12485 FinalizerWatchd 12257u0_a93 12475 12486 HeapTaskDaemon 12258u0_a93 12475 12487 Binder:12475_1 12259u0_a93 12475 12488 Binder:12475_2 12260u0_a93 12475 12489 Profile Saver 12261u0_a93 12475 13065 AsyncTask #1 12262u0_a93 12475 13072 queued-work-loo 12263u0_a25 12601 12601 ndroid.apps.gcs 12264u0_a25 12601 12606 Jit thread pool 12265u0_a25 12601 12607 Signal Catcher 12266u0_a25 12601 12608 JDWP 12267u0_a25 12601 12609 ReferenceQueueD 12268u0_a25 12601 12610 FinalizerDaemon 12269u0_a25 12601 12611 FinalizerWatchd 12270u0_a25 12601 12612 HeapTaskDaemon 12271u0_a25 12601 12613 Binder:12601_1 12272u0_a25 12601 12614 Binder:12601_2 12273u0_a25 12601 12616 Profile Saver 12274u0_a25 12601 12624 queued-work-loo 12275u0_a25 12601 12629 measurement-1 12276u0_a25 12601 12634 GAC_Executor[0] 12277u0_a25 12601 12635 GAC_Executor[1] 12278u0_a25 12601 12636 GoogleApiHandle 12279u0_a25 12601 13183 AsyncTask #1 12280u0_a25 12601 13184 Primes-1 12281u0_a11 12638 12638 d.process.acore 12282u0_a11 12638 12642 Jit thread pool 12283u0_a11 12638 12643 Signal Catcher 12284u0_a11 12638 12644 JDWP 12285u0_a11 12638 12646 ReferenceQueueD 12286u0_a11 12638 12647 FinalizerDaemon 12287u0_a11 12638 12648 FinalizerWatchd 12288u0_a11 12638 12649 HeapTaskDaemon 12289u0_a11 12638 12650 Binder:12638_1 12290u0_a11 12638 12651 Binder:12638_2 12291u0_a11 12638 12653 Binder:12638_3 12292u0_a11 12638 12654 Profile Saver 12293u0_a11 12638 12664 Worker-1 12294u0_a11 12638 12668 Worker-1 12295u0_a11 12638 12669 Worker-1 12296u0_a11 12638 12670 Worker-1 12297u0_a11 12638 12693 Worker-1 12298root 12674 12674 kworker/5:2 12299u0_a26 12730 12730 id.gms.unstable 12300u0_a26 12730 12735 Jit thread pool 12301u0_a26 12730 12736 Signal Catcher 12302u0_a26 12730 12737 JDWP 12303u0_a26 12730 12738 ReferenceQueueD 12304u0_a26 12730 12739 FinalizerDaemon 12305u0_a26 12730 12740 FinalizerWatchd 12306u0_a26 12730 12741 HeapTaskDaemon 12307u0_a26 12730 12742 Binder:12730_1 12308u0_a26 12730 12743 Binder:12730_2 12309u0_a26 12730 12745 Profile Saver 12310u0_a26 12730 12766 GlobalDispatchi 12311u0_a26 12730 12772 GoogleApiHandle 12312u0_a26 12730 12774 FileObserver 12313u0_a26 12730 12777 IntentService[D 12314u0_a26 12730 12784 lowpool[0] 12315u0_a26 12730 12785 highpool[0] 12316u0_a26 12730 12804 Binder:12730_3 12317u0_a26 12730 12830 Binder:12730_4 12318u0_a26 12850 12850 .android.gms.ui 12319u0_a26 12850 12855 Jit thread pool 12320u0_a26 12850 12856 Signal Catcher 12321u0_a26 12850 12857 JDWP 12322u0_a26 12850 12858 ReferenceQueueD 12323u0_a26 12850 12859 FinalizerDaemon 12324u0_a26 12850 12860 FinalizerWatchd 12325u0_a26 12850 12865 HeapTaskDaemon 12326u0_a26 12850 12866 Binder:12850_1 12327u0_a26 12850 12867 Binder:12850_2 12328u0_a26 12850 12870 Profile Saver 12329u0_a26 12850 12890 GlobalDispatchi 12330u0_a26 12850 12906 GoogleApiHandle 12331u0_a26 12850 12912 FileObserver 12332u0_a26 12850 12921 peration loader 12333u0_a26 12850 12922 queued-work-loo 12334u0_a26 12850 12926 raService] idle 12335u0_a84 12984 12984 erprise.dmagent 12336u0_a84 12984 12989 Jit thread pool 12337u0_a84 12984 12990 Signal Catcher 12338u0_a84 12984 12991 JDWP 12339u0_a84 12984 12992 ReferenceQueueD 12340u0_a84 12984 12993 FinalizerDaemon 12341u0_a84 12984 12994 FinalizerWatchd 12342u0_a84 12984 12995 HeapTaskDaemon 12343u0_a84 12984 12996 Binder:12984_1 12344u0_a84 12984 12997 Binder:12984_2 12345u0_a84 12984 12998 Profile Saver 12346u0_a115 13067 13067 ndroid.calendar 12347u0_a115 13067 13073 Jit thread pool 12348u0_a115 13067 13074 Signal Catcher 12349u0_a115 13067 13075 JDWP 12350u0_a115 13067 13076 ReferenceQueueD 12351u0_a115 13067 13077 FinalizerDaemon 12352u0_a115 13067 13078 FinalizerWatchd 12353u0_a115 13067 13079 HeapTaskDaemon 12354u0_a115 13067 13080 Binder:13067_1 12355u0_a115 13067 13081 Binder:13067_2 12356u0_a115 13067 13084 Profile Saver 12357u0_a115 13067 13086 GAThread 12358u0_a115 13067 13087 GoogleApiHandle 12359u0_a115 13067 13091 AsyncQueryWorke 12360u0_a115 13067 13106 GAC_Executor[0] 12361u0_a115 13067 13108 DISK_0 12362u0_a115 13067 13113 process reaper 12363u0_a115 13067 13115 Thread-3 12364u0_a115 13067 13116 Thread-4 12365u0_a115 13067 13117 Thread-5 12366u0_a115 13067 13118 Thread-6 12367u0_a115 13067 13119 Thread-7 12368u0_a115 13067 13120 queued-work-loo 12369u0_a115 13067 13122 NET_0 12370u0_a115 13067 13123 DISK_1 12371u0_a115 13067 13124 Thread-10 12372u0_a115 13067 13126 NET_1 12373u0_a115 13067 13127 GAC_Executor[1] 12374u0_a115 13067 13135 gms-bg-executor 12375u0_a115 13067 13139 thKitJobService 12376u0_a115 13067 13140 pool-2-thread-1 12377u0_a115 13067 13144 NET_2 12378u0_a115 13067 13145 NET_3 12379u0_a115 13067 13146 NET_4 12380u0_a115 13067 13188 gms-bg-executor 12381u0_a115 13067 13190 FirebaseService 12382u0_a115 13067 13191 BACKGROUND_0 12383u0_a115 13067 13196 BACKGROUND_1 12384u0_a13 13092 13092 viders.calendar 12385u0_a13 13092 13097 Jit thread pool 12386u0_a13 13092 13098 Signal Catcher 12387u0_a13 13092 13099 JDWP 12388u0_a13 13092 13100 ReferenceQueueD 12389u0_a13 13092 13101 FinalizerDaemon 12390u0_a13 13092 13102 FinalizerWatchd 12391u0_a13 13092 13103 HeapTaskDaemon 12392u0_a13 13092 13104 Binder:13092_1 12393u0_a13 13092 13105 Binder:13092_2 12394u0_a13 13092 13107 Profile Saver 12395root 13214 13214 sh 12396root 13216 13216 sh 12397root 13218 13218 app_process 12398root 13220 13220 ps 12399u0_a53 22412 22412 e.android.volta 12400u0_a53 22412 22417 Jit thread pool 12401u0_a53 22412 22418 Signal Catcher 12402u0_a53 22412 22419 JDWP 12403u0_a53 22412 22420 ReferenceQueueD 12404u0_a53 22412 22421 FinalizerDaemon 12405u0_a53 22412 22422 FinalizerWatchd 12406u0_a53 22412 22423 HeapTaskDaemon 12407u0_a53 22412 22424 Binder:22412_1 12408u0_a53 22412 22425 Binder:22412_2 12409u0_a53 22412 22426 Profile Saver 12410u0_a53 22412 22431 queued-work-loo 12411u0_a53 22412 23027 Binder:22412_3 12412u0_a42 30672 30672 gle.android.ims 12413u0_a42 30672 30677 Jit thread pool 12414u0_a42 30672 30678 Signal Catcher 12415u0_a42 30672 30679 JDWP 12416u0_a42 30672 30680 ReferenceQueueD 12417u0_a42 30672 30681 FinalizerDaemon 12418u0_a42 30672 30682 FinalizerWatchd 12419u0_a42 30672 30683 HeapTaskDaemon 12420u0_a42 30672 30684 Binder:30672_1 12421u0_a42 30672 30685 Binder:30672_2 12422u0_a42 30672 30688 Profile Saver 12423u0_a42 30672 30700 GoogleApiHandle 12424u0_a42 30672 30704 ConnectivityThr 12425u0_a42 30672 30707 queued-work-loo 12426u0_a42 30672 30710 Timer-0 12427u0_a42 30672 30723 GAC_Executor[0] 12428u0_a42 30672 30724 Primes-1 12429u0_a42 30672 30730 webrtc-thread 12430u0_a42 30672 30731 Timer-1 12431u0_a42 30672 30732 ImsConnectionHa 12432u0_a42 30672 30748 network_thread 12433u0_a42 30672 30749 Thread-4 12434u0_a42 30672 30750 signaling_threa 12435u0_a42 30672 30752 GAC_Executor[1] 12436u0_a42 30672 30785 rtc-low-prio 12437u0_a42 30672 30786 AudioDeviceBuff 12438u0_a42 30672 30790 WebRtcVolumeLev 12439u0_a42 30672 31980 Binder:30672_3 12440u0_a42 30672 2836 Primes-2 12441u0_a42 30672 17359 Binder:30672_4 12442u0_a42 30672 12312 AsyncTask #5 12443u0_a42 30672 12322 AsyncTask #6 12444u0_a42 30672 12323 AsyncTask #7 12445u0_a42 30672 12340 AsyncTask #8 12446USER PID PPID VSZ RSS WCHAN PC S NAME COMM 12447root 1 0 13628 1840 SyS_epoll_wait 4fea4c S init init 12448root 2 0 0 0 kthreadd 0 S [kthreadd] 2 12449root 3 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/0] 3 12450root 5 2 0 0 worker_thread 0 S [kworker/0:0H] 5 12451root 7 2 0 0 rcu_gp_kthread 0 S [rcu_preempt] 7 12452root 8 2 0 0 rcu_gp_kthread 0 S [rcu_sched] 8 12453root 9 2 0 0 rcu_gp_kthread 0 S [rcu_bh] 9 12454root 10 2 0 0 rcu_nocb_kthread 0 S [rcuop/0] 1 12455root 11 2 0 0 rcu_nocb_kthread 0 S [rcuos/0] 1 12456root 12 2 0 0 rcu_nocb_kthread 0 S [rcuob/0] 1 12457root 13 2 0 0 smpboot_thread_fn 0 S [migration/0] 1 12458root 14 2 0 0 smpboot_thread_fn 0 S [watchdog/0] 1 12459root 15 2 0 0 smpboot_thread_fn 0 S [watchdog/1] 1 12460root 16 2 0 0 smpboot_thread_fn 0 S [migration/1] 1 12461root 17 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/1] 1 12462root 19 2 0 0 worker_thread 0 S [kworker/1:0H] 1 12463root 20 2 0 0 rcu_nocb_kthread 0 S [rcuop/1] 2 12464root 21 2 0 0 rcu_nocb_kthread 0 S [rcuos/1] 2 12465root 22 2 0 0 rcu_nocb_kthread 0 S [rcuob/1] 2 12466root 23 2 0 0 smpboot_thread_fn 0 S [watchdog/2] 2 12467root 24 2 0 0 smpboot_thread_fn 0 S [migration/2] 2 12468root 25 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/2] 2 12469root 27 2 0 0 worker_thread 0 S [kworker/2:0H] 2 12470root 28 2 0 0 rcu_nocb_kthread 0 S [rcuop/2] 2 12471root 29 2 0 0 rcu_nocb_kthread 0 S [rcuos/2] 2 12472root 30 2 0 0 rcu_nocb_kthread 0 S [rcuob/2] 3 12473root 31 2 0 0 smpboot_thread_fn 0 S [watchdog/3] 3 12474root 32 2 0 0 smpboot_thread_fn 0 S [migration/3] 3 12475root 33 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/3] 3 12476root 35 2 0 0 worker_thread 0 S [kworker/3:0H] 3 12477root 36 2 0 0 rcu_nocb_kthread 0 S [rcuop/3] 3 12478root 37 2 0 0 rcu_nocb_kthread 0 S [rcuos/3] 3 12479root 38 2 0 0 rcu_nocb_kthread 0 S [rcuob/3] 3 12480root 39 2 0 0 smpboot_thread_fn 0 S [watchdog/4] 3 12481root 40 2 0 0 smpboot_thread_fn 0 S [migration/4] 4 12482root 41 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/4] 4 12483root 43 2 0 0 worker_thread 0 S [kworker/4:0H] 4 12484root 44 2 0 0 rcu_nocb_kthread 0 S [rcuop/4] 4 12485root 45 2 0 0 rcu_nocb_kthread 0 S [rcuos/4] 4 12486root 46 2 0 0 rcu_nocb_kthread 0 S [rcuob/4] 4 12487root 47 2 0 0 smpboot_thread_fn 0 S [watchdog/5] 4 12488root 48 2 0 0 smpboot_thread_fn 0 S [migration/5] 4 12489root 49 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/5] 4 12490root 51 2 0 0 worker_thread 0 S [kworker/5:0H] 5 12491root 52 2 0 0 rcu_nocb_kthread 0 S [rcuop/5] 5 12492root 53 2 0 0 rcu_nocb_kthread 0 S [rcuos/5] 5 12493root 54 2 0 0 rcu_nocb_kthread 0 S [rcuob/5] 5 12494root 55 2 0 0 smpboot_thread_fn 0 S [watchdog/6] 5 12495root 56 2 0 0 smpboot_thread_fn 0 S [migration/6] 5 12496root 57 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/6] 5 12497root 59 2 0 0 worker_thread 0 S [kworker/6:0H] 5 12498root 60 2 0 0 rcu_nocb_kthread 0 S [rcuop/6] 6 12499root 61 2 0 0 rcu_nocb_kthread 0 S [rcuos/6] 6 12500root 62 2 0 0 rcu_nocb_kthread 0 S [rcuob/6] 6 12501root 63 2 0 0 smpboot_thread_fn 0 S [watchdog/7] 6 12502root 64 2 0 0 smpboot_thread_fn 0 S [migration/7] 6 12503root 65 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/7] 6 12504root 67 2 0 0 worker_thread 0 S [kworker/7:0H] 6 12505root 68 2 0 0 rcu_nocb_kthread 0 S [rcuop/7] 6 12506root 69 2 0 0 rcu_nocb_kthread 0 S [rcuos/7] 6 12507root 70 2 0 0 rcu_nocb_kthread 0 S [rcuob/7] 7 12508root 71 2 0 0 rescuer_thread 0 S [netns] 7 12509root 72 2 0 0 rescuer_thread 0 S [perf] 7 12510root 73 2 0 0 rescuer_thread 0 S [smd_channel_clo] 7 12511root 74 2 0 0 kthread_worker_fn 0 S [dsps_smd_trans_] 7 12512root 75 2 0 0 kthread_worker_fn 0 S [lpass_smd_trans] 7 12513root 76 2 0 0 kthread_worker_fn 0 S [mpss_smd_trans_] 7 12514root 77 2 0 0 kthread_worker_fn 0 S [wcnss_smd_trans] 7 12515root 78 2 0 0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7 12516root 79 2 0 0 rescuer_thread 0 S [ipa_usb_wq] 7 12517root 81 2 0 0 kthread_worker_fn 0 S [smem_native_mps] 8 12518root 82 2 0 0 kthread_worker_fn 0 S [mpss_smem_glink] 8 12519root 83 2 0 0 kthread_worker_fn 0 S [smem_native_lpa] 8 12520root 84 2 0 0 kthread_worker_fn 0 S [lpass_smem_glin] 8 12521root 85 2 0 0 kthread_worker_fn 0 S [smem_native_dsp] 8 12522root 86 2 0 0 kthread_worker_fn 0 S [dsps_smem_glink] 8 12523root 87 2 0 0 kthread_worker_fn 0 S [smem_native_rpm] 8 12524root 88 2 0 0 kthread_worker_fn 0 S [rpm_smem_glink_] 8 12525root 89 2 0 0 kthread_worker_fn 0 S [smem_native_sps] 8 12526root 90 2 0 0 kthread_worker_fn 0 S [spss_mailbox_gl] 9 12527root 91 2 0 0 watchdog_kthread 0 S [msm_watchdog] 9 12528root 92 2 0 0 rescuer_thread 0 S [deferwq] 9 12529root 93 2 0 0 msm_mpm_work_fn 0 D [kworker/u16:1] 9 12530root 94 2 0 0 irq_thread 0 S [irq/126-cpr3] 9 12531root 95 2 0 0 rescuer_thread 0 S [mpm] 9 12532root 97 2 0 0 watchdog 0 S [khungtaskd] 9 12533root 98 2 0 0 rescuer_thread 0 S [writeback] 9 12534root 99 2 0 0 kcompactd 0 S [kcompactd0] 9 12535root 100 2 0 0 rescuer_thread 0 S [crypto] 1 12536root 101 2 0 0 rescuer_thread 0 S [bioset] 1 12537root 102 2 0 0 rescuer_thread 0 S [kblockd] 1 12538root 103 2 0 0 rescuer_thread 0 S [md] 1 12539root 104 2 0 0 rescuer_thread 0 S [edac-poller] 1 12540root 105 2 0 0 ion_heap_deferred_free 0 S [system] 1 12541root 106 2 0 0 ion_heap_deferred_free 0 S [easel_mem] 1 12542root 107 2 0 0 rescuer_thread 0 S [devfreq_wq] 1 12543root 108 2 0 0 rescuer_thread 0 S [governor_msm_ad] 1 12544root 110 2 0 0 rescuer_thread 0 S [cfg80211] 1 12545root 111 2 0 0 irq_thread 0 S [irq/134-arm-smm] 1 12546root 112 2 0 0 rescuer_thread 0 S [ipa_power_mgmt] 1 12547root 113 2 0 0 rescuer_thread 0 S [transport_power] 1 12548root 114 2 0 0 rescuer_thread 0 S [ipa_rm_wq] 1 12549root 115 2 0 0 rescuer_thread 0 S [ipa_interrupt_w] 1 12550root 116 2 0 0 irq_thread 0 S [irq/135-arm-smm] 1 12551root 117 2 0 0 irq_thread 0 S [irq/136-arm-smm] 1 12552root 118 2 0 0 irq_thread 0 S [irq/61-bcl_vbat] 1 12553root 119 2 0 0 irq_thread 0 S [irq/60-bcl_ibat] 1 12554root 145 2 0 0 rescuer_thread 0 S [power_off_alarm] 1 12555root 146 2 0 0 kswapd 0 S [kswapd0] 1 12556root 147 2 0 0 rescuer_thread 0 S [vmstat] 1 12557root 148 2 0 0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1 12558root 180 2 0 0 rescuer_thread 0 S [ad_calc_wq] 1 12559root 181 2 0 0 dsi_event_thread 0 D [mdss_dsi_event] 1 12560root 182 2 0 0 rescuer_thread 0 S [mdss_dsi_dba] 1 12561root 183 2 0 0 rescuer_thread 0 S [cwb_wq] 1 12562root 184 2 0 0 kthread_worker_fn 0 S [vsync_retire_wo] 1 12563root 185 2 0 0 rescuer_thread 0 S [cwb_wq] 1 12564root 187 2 0 0 rescuer_thread 0 S [glink_ssr_wq] 1 12565root 188 2 0 0 rescuer_thread 0 S [glink_lbsrv] 1 12566root 189 2 0 0 kthread_worker_fn 0 S [spi_wdsp] 1 12567root 190 2 0 0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1 12568root 191 2 0 0 rescuer_thread 0 S [glink_xprt_wq] 1 12569root 192 2 0 0 rescuer_thread 0 S [IPCRTR_mpss_sme] 1 12570root 193 2 0 0 rescuer_thread 0 S [IPCRTR_lpass_sm] 1 12571root 194 2 0 0 rescuer_thread 0 S [IPCRTR_dsps_sme] 1 12572root 195 2 0 0 rescuer_thread 0 S [apr_driver] 1 12573root 196 2 0 0 rescuer_thread 0 S [glink_pkt_wq] 1 12574root 198 2 0 0 rescuer_thread 0 S [mem_share_svc] 1 12575root 199 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 12576root 200 2 0 0 rescuer_thread 0 S [msm_ipc_router] 2 12577root 201 2 0 0 irq_thread 0 S [irq/137-arm-smm] 2 12578root 202 2 0 0 rescuer_thread 0 S [qmi_svc_event_w] 2 12579root 203 2 0 0 rescuer_thread 0 S [servloc_wq] 2 12580root 204 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12581root 205 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12582root 206 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12583root 207 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12584root 208 2 0 0 rescuer_thread 0 S [k_hsuart] 2 12585root 209 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 12586root 210 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 12587root 211 2 0 0 add_hwgenerator_randomness 0 S [hwrng] 2 12588root 213 2 0 0 rescuer_thread 0 S [diag_real_time_] 2 12589root 214 2 0 0 rescuer_thread 0 S [diag_wq] 2 12590root 215 2 0 0 rescuer_thread 0 S [DIAG_USB_diag] 2 12591root 216 2 0 0 rescuer_thread 0 S [diag_cntl_wq] 2 12592root 217 2 0 0 rescuer_thread 0 S [diag_dci_wq] 2 12593root 218 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12594root 219 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12595root 220 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12596root 221 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12597root 222 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12598root 223 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12599root 224 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12600root 225 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12601root 226 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12602root 227 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12603root 228 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12604root 229 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12605root 230 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12606root 231 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12607root 232 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12608root 233 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12609root 234 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12610root 235 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12611root 236 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12612root 237 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12613root 238 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 12614root 239 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 12615root 240 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 12616root 241 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 12617root 242 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 12618root 243 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 12619root 244 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 12620root 245 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 12621root 246 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 12622root 247 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 12623root 248 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12624root 249 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12625root 250 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12626root 251 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12627root 252 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12628root 253 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12629root 254 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12630root 255 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12631root 256 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12632root 257 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12633root 258 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12634root 259 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12635root 260 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12636root 261 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12637root 262 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12638root 263 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12639root 264 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12640root 265 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12641root 266 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12642root 267 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12643root 268 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 12644root 269 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 12645root 270 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 12646root 271 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 12647root 272 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 12648root 273 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 12649root 274 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 12650root 275 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 12651root 276 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 12652root 277 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 12653root 278 2 0 0 rescuer_thread 0 S [DIAG_CNTL_SOCKE] 2 12654root 279 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12655root 280 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12656root 281 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12657root 282 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12658root 283 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12659root 284 2 0 0 rescuer_thread 0 S [kgsl-workqueue] 2 12660root 285 2 0 0 rescuer_thread 0 S [kgsl-mementry] 2 12661root 286 2 0 0 kthread_worker_fn 0 S [kgsl_worker_thr] 2 12662root 287 2 0 0 rescuer_thread 0 S [kgsl-events] 2 12663root 288 2 0 0 rescuer_thread 0 S [kgsl_devfreq_wq] 2 12664root 289 2 0 0 rescuer_thread 0 S [bioset] 2 12665root 290 2 0 0 rescuer_thread 0 S [bioset] 2 12666root 291 2 0 0 rescuer_thread 0 S [bioset] 2 12667root 292 2 0 0 rescuer_thread 0 S [bioset] 2 12668root 293 2 0 0 rescuer_thread 0 S [bioset] 2 12669root 294 2 0 0 rescuer_thread 0 S [bioset] 2 12670root 295 2 0 0 rescuer_thread 0 S [bioset] 2 12671root 296 2 0 0 rescuer_thread 0 S [bioset] 2 12672root 297 2 0 0 rescuer_thread 0 S [bioset] 2 12673root 298 2 0 0 rescuer_thread 0 S [bioset] 2 12674root 299 2 0 0 rescuer_thread 0 S [bioset] 2 12675root 300 2 0 0 rescuer_thread 0 S [bioset] 3 12676root 301 2 0 0 rescuer_thread 0 S [bioset] 3 12677root 302 2 0 0 rescuer_thread 0 S [bioset] 3 12678root 304 2 0 0 rescuer_thread 0 S [bioset] 3 12679root 305 2 0 0 rescuer_thread 0 S [bioset] 3 12680root 306 2 0 0 rescuer_thread 0 S [bioset] 3 12681root 307 2 0 0 rescuer_thread 0 S [bioset] 3 12682root 308 2 0 0 rescuer_thread 0 S [bioset] 3 12683root 309 2 0 0 rescuer_thread 0 S [bioset] 3 12684root 310 2 0 0 rescuer_thread 0 S [bioset] 3 12685root 311 2 0 0 rescuer_thread 0 S [bioset] 3 12686root 312 2 0 0 rescuer_thread 0 S [bioset] 3 12687root 313 2 0 0 rescuer_thread 0 S [bioset] 3 12688root 314 2 0 0 rescuer_thread 0 S [bioset] 3 12689root 315 2 0 0 irq_thread 0 S [irq/286-soc:fp_] 3 12690root 316 2 0 0 rescuer_thread 0 S [memory_wq] 3 12691root 317 2 0 0 rescuer_thread 0 S [qcrypto_seq_res] 3 12692root 318 2 0 0 scsi_error_handler 0 S [scsi_eh_0] 3 12693root 319 2 0 0 rescuer_thread 0 S [scsi_tmf_0] 3 12694root 320 2 0 0 rescuer_thread 0 S [ufs_pm_qos_0] 3 12695root 321 2 0 0 rescuer_thread 0 S [ufs_clk_ungatin] 3 12696root 322 2 0 0 rescuer_thread 0 S [ufs_clkscaling_] 3 12697root 323 2 0 0 kthread_worker_fn 0 S [spi1] 3 12698root 325 2 0 0 kthread_worker_fn 0 S [spi2] 3 12699root 326 2 0 0 kthread_worker_fn 0 S [spi10] 3 12700root 327 2 0 0 rescuer_thread 0 S [bond0] 3 12701root 329 2 0 0 rescuer_thread 0 S [sharedmem_qmi_w] 3 12702root 330 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 3 12703root 331 2 0 0 diag_socket_read 0 S [kworker/u16:3] 3 12704root 335 2 0 0 rescuer_thread 0 S [uether] 3 12705root 336 2 0 0 rescuer_thread 0 S [k_ipa_usb] 3 12706root 340 2 0 0 worker_thread 0 R [kworker/u17:0] 3 12707root 341 2 0 0 irq_thread 0 S [irq/262-vl53l0_] 3 12708root 342 2 0 0 rescuer_thread 0 S [bioset] 3 12709root 343 2 0 0 rescuer_thread 0 S [bioset] 3 12710root 344 2 0 0 rescuer_thread 0 S [bioset] 3 12711root 345 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 12712root 346 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 12713root 347 2 0 0 rescuer_thread 0 S [bioset] 3 12714root 348 2 0 0 rescuer_thread 0 S [bioset] 3 12715root 349 2 0 0 rescuer_thread 0 S [bioset] 3 12716root 350 2 0 0 rescuer_thread 0 S [bioset] 3 12717root 351 2 0 0 rescuer_thread 0 S [bioset] 3 12718root 352 2 0 0 rescuer_thread 0 S [bioset] 3 12719root 354 2 0 0 rescuer_thread 0 S [msm_cpp_workque] 3 12720root 357 2 0 0 rescuer_thread 0 S [msm_vidc_worker] 3 12721root 358 2 0 0 rescuer_thread 0 S [pm_workerq_venu] 3 12722root 359 2 0 0 irq_thread 0 S [irq/158-arm-smm] 3 12723root 360 2 0 0 irq_thread 0 S [irq/159-arm-smm] 3 12724root 361 2 0 0 irq_thread 0 S [irq/160-arm-smm] 3 12725root 362 2 0 0 irq_thread 0 S [irq/161-arm-smm] 3 12726root 363 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_0] 3 12727root 364 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_1] 3 12728root 365 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_0] 3 12729root 366 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_1] 3 12730root 368 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 3 12731root 369 2 0 0 irq_thread 0 S [irq/500-chg-err] 3 12732root 370 2 0 0 irq_thread 0 S [irq/501-chg-sta] 3 12733root 371 2 0 0 irq_thread 0 S [irq/502-step-ch] 3 12734root 372 2 0 0 irq_thread 0 S [irq/503-step-ch] 3 12735root 373 2 0 0 irq_thread 0 S [irq/504-step-ch] 3 12736root 374 2 0 0 irq_thread 0 S [irq/505-otg-fai] 3 12737root 375 2 0 0 irq_thread 0 S [irq/506-otg-ove] 3 12738root 376 2 0 0 irq_thread 0 S [irq/507-otg-oc-] 3 12739root 377 2 0 0 irq_thread 0 S [irq/508-testmod] 3 12740root 378 2 0 0 irq_thread 0 S [irq/509-bat-tem] 3 12741root 379 2 0 0 irq_thread 0 S [irq/510-bat-ocp] 3 12742root 380 2 0 0 irq_thread 0 S [irq/511-bat-ov] 3 12743root 381 2 0 0 irq_thread 0 S [irq/512-bat-low] 3 12744root 382 2 0 0 irq_thread 0 S [irq/513-bat-the] 3 12745root 383 2 0 0 irq_thread 0 S [irq/514-bat-ter] 3 12746root 384 2 0 0 irq_thread 0 S [irq/515-usbin-c] 3 12747root 385 2 0 0 irq_thread 0 S [irq/516-usbin-l] 3 12748root 386 2 0 0 irq_thread 0 S [irq/517-usbin-u] 3 12749root 387 2 0 0 irq_thread 0 S [irq/518-usbin-o] 3 12750root 388 2 0 0 irq_thread 0 S [irq/519-usbin-p] 3 12751root 389 2 0 0 irq_thread 0 S [irq/520-usbin-s] 3 12752root 390 2 0 0 irq_thread 0 S [irq/521-usbin-i] 3 12753root 391 2 0 0 irq_thread 0 S [irq/522-type-c-] 3 12754root 392 2 0 0 irq_thread 0 S [irq/523-dcin-co] 3 12755root 393 2 0 0 irq_thread 0 S [irq/524-dcin-lt] 3 12756root 394 2 0 0 irq_thread 0 S [irq/525-dcin-uv] 3 12757root 395 2 0 0 irq_thread 0 S [irq/526-dcin-ov] 3 12758root 396 2 0 0 irq_thread 0 S [irq/527-dcin-pl] 3 12759root 397 2 0 0 irq_thread 0 S [irq/528-div2-en] 3 12760root 398 2 0 0 irq_thread 0 S [irq/529-dcin-ic] 3 12761root 399 2 0 0 irq_thread 0 S [irq/532-aicl-fa] 3 12762root 400 2 0 0 irq_thread 0 S [irq/533-aicl-do] 4 12763root 401 2 0 0 irq_thread 0 S [irq/534-high-du] 4 12764root 402 2 0 0 irq_thread 0 S [irq/535-input-c] 4 12765root 403 2 0 0 irq_thread 0 S [irq/536-tempera] 4 12766root 404 2 0 0 irq_thread 0 S [irq/537-switche] 4 12767root 405 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12768root 406 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12769root 408 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12770root 409 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12771root 410 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12772root 411 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12773root 412 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12774root 413 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12775root 414 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12776root 415 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12777root 416 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12778root 417 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12779root 418 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12780root 419 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12781root 420 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12782root 421 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12783root 422 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12784root 423 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12785root 424 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12786root 425 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12787root 426 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12788root 427 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12789root 428 2 0 0 irq_thread 0 S [irq/59-tsens_in] 4 12790root 429 2 0 0 irq_thread 0 S [irq/62-tsens_cr] 4 12791root 430 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12792root 431 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12793root 432 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12794root 433 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12795root 434 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12796root 435 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12797root 436 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12798root 437 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12799root 438 2 0 0 irq_thread 0 S [irq/63-tsens_in] 4 12800root 439 2 0 0 irq_thread 0 S [irq/64-tsens_cr] 4 12801root 440 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12802root 441 2 0 0 irq_thread 0 S [irq/366-limits_] 4 12803root 442 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12804root 443 2 0 0 irq_thread 0 S [irq/367-limits_] 4 12805root 444 2 0 0 rescuer_thread 0 S [dm_bufio_cache] 4 12806root 445 2 0 0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4 12807root 446 2 0 0 irq_thread 0 S [irq/291-bcm1560] 4 12808root 447 2 0 0 irq_thread 0 S [irq/226-bcm1560] 4 12809root 449 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12810root 450 2 0 0 irq_thread 0 S [irq/197-spdm_bw] 4 12811root 451 2 0 0 rescuer_thread 0 S [binder] 4 12812root 452 2 0 0 irq_thread 0 S [irq/144-arm-smm] 4 12813root 453 2 0 0 rescuer_thread 0 S [uaudio_svc] 4 12814root 454 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 4 12815root 455 2 0 0 rescuer_thread 0 S [ipv6_addrconf] 4 12816root 457 2 0 0 irq_thread 0 S [irq/574-adsp] 4 12817root 458 2 0 0 rescuer_thread 0 S [sysmon_wq] 4 12818root 459 2 0 0 irq_thread 0 S [irq/606-slpi] 4 12819root 460 2 0 0 irq_thread 0 S [irq/542-modem] 4 12820root 464 2 0 0 rescuer_thread 0 S [usb_bam_wq] 4 12821root 465 2 0 0 irq_thread 0 S [irq/19-sig-tx] 4 12822root 466 2 0 0 irq_thread 0 S [irq/20-sig-rx] 4 12823root 467 2 0 0 irq_thread 0 S [irq/22-msg-rx] 4 12824root 468 2 0 0 rescuer_thread 0 S [usbpd0] 4 12825root 469 2 0 0 rescuer_thread 0 S [usbpd0] 4 12826root 474 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12827root 475 2 0 0 irq_thread 0 S [irq/734-soc-upd] 4 12828root 476 2 0 0 irq_thread 0 S [irq/735-soc-rea] 4 12829root 477 2 0 0 irq_thread 0 S [irq/736-bsoc-de] 4 12830root 478 2 0 0 irq_thread 0 S [irq/737-msoc-de] 4 12831root 479 2 0 0 irq_thread 0 S [irq/738-msoc-lo] 4 12832root 480 2 0 0 irq_thread 0 S [irq/739-msoc-em] 4 12833root 481 2 0 0 irq_thread 0 S [irq/740-msoc-hi] 4 12834root 482 2 0 0 irq_thread 0 S [irq/741-msoc-fu] 4 12835root 483 2 0 0 irq_thread 0 S [irq/742-vbatt-p] 4 12836root 484 2 0 0 irq_thread 0 S [irq/743-vbatt-l] 4 12837root 485 2 0 0 irq_thread 0 S [irq/744-esr-del] 4 12838root 486 2 0 0 irq_thread 0 S [irq/745-batt-mi] 4 12839root 487 2 0 0 irq_thread 0 S [irq/746-batt-te] 4 12840root 488 2 0 0 irq_thread 0 S [irq/747-ima-rdy] 4 12841root 489 2 0 0 irq_thread 0 S [irq/748-mem-xcp] 4 12842root 490 2 0 0 irq_thread 0 S [irq/749-dma-gra] 4 12843root 492 2 0 0 irq_thread 0 S [irq/54-hs_phy_i] 4 12844root 493 2 0 0 irq_thread 0 S [irq/55-ss_phy_i] 4 12845root 494 2 0 0 irq_thread 0 S [irq/56-msm_dwc3] 4 12846root 496 2 0 0 irq_thread 0 S [irq/36-ARM64 pr] 4 12847root 497 2 0 0 irq_thread 0 S [irq/37-ARM64 se] 4 12848root 498 2 0 0 irq_thread 0 S [irq/39-ARM64 pr] 4 12849root 499 2 0 0 irq_thread 0 S [irq/40-ARM64 se] 4 12850root 500 2 0 0 rescuer_thread 0 S [rq_stats] 5 12851root 501 2 0 0 irq_thread 0 S [irq/145-arm-smm] 5 12852root 502 2 0 0 irq_thread 0 S [irq/146-arm-smm] 5 12853root 503 2 0 0 irq_thread 0 S [irq/147-arm-smm] 5 12854root 504 2 0 0 irq_thread 0 S [irq/148-arm-smm] 5 12855root 505 2 0 0 irq_thread 0 S [irq/149-arm-smm] 5 12856root 506 2 0 0 irq_thread 0 S [irq/150-arm-smm] 5 12857root 507 2 0 0 irq_thread 0 S [irq/151-arm-smm] 5 12858root 508 2 0 0 irq_thread 0 S [irq/152-arm-smm] 5 12859root 509 2 0 0 kthread_worker_fn 0 S [set_state_work] 5 12860root 510 2 0 0 irq_thread 0 S [irq/227-mnh-rea] 5 12861root 512 2 0 0 irq_thread 0 S [irq/751-mnh_pci] 5 12862root 513 2 0 0 irq_thread 0 S [irq/752-mnh_pci] 5 12863root 514 2 0 0 irq_thread 0 S [irq/753-mnh_pci] 5 12864root 515 2 0 0 irq_thread 0 S [irq/754-mnh_pci] 5 12865root 516 2 0 0 irq_thread 0 S [irq/755-mnh_pci] 5 12866root 517 2 0 0 irq_thread 0 S [irq/758-mnh_pci] 5 12867root 518 2 0 0 irq_thread 0 S [irq/759-mnh_pci] 5 12868root 519 2 0 0 irq_thread 0 S [irq/128-arm-smm] 5 12869root 520 2 0 0 rescuer_thread 0 S [sb-1] 5 12870root 521 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5 12871root 522 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl1] 5 12872root 523 2 0 0 rescuer_thread 0 S [sb-3] 5 12873root 524 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5 12874root 525 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl3] 5 12875root 526 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 12876root 527 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 12877root 528 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 12878root 529 2 0 0 irq_thread 0 S [irq/66-lmh-inte] 5 12879root 530 2 0 0 irq_thread 0 S [irq/28-qpnp_fla] 5 12880root 531 2 0 0 irq_thread 0 S [irq/27-qpnp_fla] 5 12881root 532 2 0 0 irq_thread 0 S [irq/26-qpnp_fla] 5 12882root 534 2 0 0 rescuer_thread 0 S [kdmflush] 5 12883root 535 2 0 0 rescuer_thread 0 S [bioset] 5 12884root 536 2 0 0 rescuer_thread 0 S [kverityd] 5 12885root 537 2 0 0 rescuer_thread 0 S [bioset] 5 12886root 538 2 0 0 rescuer_thread 0 S [bioset] 5 12887root 539 2 0 0 rescuer_thread 0 S [bioset] 5 12888root 540 2 0 0 worker_thread 0 S [kworker/6:1H] 5 12889root 541 2 0 0 worker_thread 0 S [kworker/5:1H] 5 12890root 542 2 0 0 worker_thread 0 S [kworker/7:1H] 5 12891root 543 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 12892root 544 2 0 0 worker_thread 0 S [kworker/0:1H] 5 12893root 546 2 0 0 rescuer_thread 0 S [kdmflush] 5 12894root 547 2 0 0 rescuer_thread 0 S [bioset] 5 12895root 548 2 0 0 rescuer_thread 0 S [kverityd] 5 12896root 549 2 0 0 rescuer_thread 0 S [bioset] 5 12897root 550 2 0 0 rescuer_thread 0 S [bioset] 5 12898root 551 2 0 0 rescuer_thread 0 S [bioset] 5 12899root 552 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 12900root 553 2 0 0 kjournald2 0 S [jbd2/sdd3-8] 5 12901root 554 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 12902root 555 2 0 0 worker_thread 0 S [kworker/4:1H] 5 12903root 556 1 6076 1100 do_sys_poll 4ebb24 S ueventd init 12904root 558 2 0 0 worker_thread 0 S [kworker/1:1H] 5 12905root 562 2 0 0 irq_thread 0 S [irq/760-synapti] 5 12906root 563 2 0 0 rescuer_thread 0 S [dsx_rebuild_wor] 5 12907root 564 2 0 0 rescuer_thread 0 S [dsx_exp_workque] 5 12908root 569 2 0 0 rescuer_thread 0 S [batt_timer] 5 12909system 580 1 18208 3880 do_wait 76433335ac S qseecomd qseecomd 12910root 581 2 0 0 kthread_worker_fn 0 S [sugov:0] 5 12911root 582 2 0 0 kthread_worker_fn 0 S [sugov:4] 5 12912system 584 1 16492 4336 SyS_epoll_wait 7da535046c S hwservicemanager hwservicemanager 12913logd 585 1 28332 12292 SyS_rt_sigsuspend 7cb57f2634 S logd logd 12914system 586 1 10460 1888 binder_ioctl_write_read 764d1c655c S servicemanager servicemanager 12915system 587 1 11192 1912 binder_ioctl_write_read 7054fb855c S vndservicemanager vndservicemanager 12916root 588 2 0 0 diag_socket_read 0 S [kworker/u16:8] 5 12917root 594 2 0 0 kauditd_thread 0 S [kauditd] 5 12918system 597 580 28240 928 SyS_rt_sigsuspend 7643332634 S qseecomd qseecomd 12919root 606 1 13352 2732 binder_ioctl_write_read 78b565355c S android.hardware.boot@1.0-service android.hardware.boot@1.0-service 12920system 607 1 14464 2828 binder_ioctl_write_read 70106ed55c S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti 12921system 608 1 14640 3244 binder_ioctl_write_read 79bd92a55c S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti 12922system 610 1 72936 20132 SyS_epoll_wait 796c90946c S surfaceflinger surfaceflinger 12923system 612 1 39400 7148 binder_ioctl_write_read 7cbc3fc55c S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service 12924system 614 1 20296 3156 binder_ioctl_write_read 74c594755c S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service 12925root 631 2 0 0 __mdss_fb_display_thread 0 D [mdss_fb0] 6 12926root 632 2 0 0 kjournald2 0 S [jbd2/sda45-8] 6 12927root 633 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 6 12928system 637 1 22364 1916 futex_wait_queue_me 7dcac734b0 S time_daemon time_daemon 12929root 638 1 21416 3408 SyS_rt_sigsuspend 732bdba634 S vold vold 12930root 645 2 0 0 irq_thread 0 S [irq/177-arm-smm] 6 12931root 646 2 0 0 irq_thread 0 S [irq/178-arm-smm] 6 12932root 657 2 0 0 rescuer_thread 0 S [fwu_workqueue] 6 12933root 658 2 0 0 rescuer_thread 0 S [dsps_IPCRTR] 6 12934root 660 2 0 0 rescuer_thread 0 S [lpass_IPCRTR] 6 12935root 688 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12936root 689 1 39260 5096 binder_ioctl_write_read 78c2f7455c S netd netd 12937root 690 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12938root 691 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 12939root 692 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 12940root 693 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12941root 694 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12942root 717 1 4200712 63048 do_sys_poll 70d91f358c S zygote64 app_process64 12943root 719 1 1543884 55940 do_sys_poll e5d62024 S zygote app_process32 12944root 720 2 0 0 rescuer_thread 0 S [cds_recovery_wo] 7 12945system 732 1 14152 2892 binder_ioctl_write_read 7e7cef455c S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service 12946system 733 1 22200 3660 binder_ioctl_write_read 77d30d355c S vr_hwc vr_hwc 12947audioserver 734 1 30784 10336 binder_ioctl_write_read f16a2f8c S android.hardware.audio@2.0-service android.hardware.audio@2.0-service 12948bluetooth 735 1 16372 2692 binder_ioctl_write_read 75f1cf455c S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service 12949cameraserver 736 1 145776 47336 binder_ioctl_write_read ec5d4f8c S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service 12950media 737 1 12288 2776 binder_ioctl_write_read eed09f8c S android.hardware.cas@1.0-service android.hardware.cas@1.0-service 12951system 738 1 16452 2776 binder_ioctl_write_read 7b4e9ff55c S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service 12952media 739 1 12676 3496 binder_ioctl_write_read ea599f8c S android.hardware.drm@1.0-service android.hardware.drm@1.0-service 12953media 740 1 15696 4868 binder_ioctl_write_read ea5e6f8c S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine 12954system 741 1 13168 2564 binder_ioctl_write_read 79193c255c S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo 12955gps 742 1 36240 6200 binder_ioctl_write_read 7c70a8355c S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti 12956system 743 1 13184 2708 binder_ioctl_write_read 7ea308955c S android.hardware.light@2.0-service android.hardware.light@2.0-service 12957root 744 2 0 0 diag_socket_read 0 S [kworker/u16:11] 7 12958system 745 1 13180 2712 binder_ioctl_write_read 758882b55c S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service 12959nfc 746 1 15692 2912 binder_ioctl_write_read 744f77d55c S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service 12960system 747 1 13196 2612 binder_ioctl_write_read 750442e55c S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service 12961root 750 1 10756 1708 __skb_recv_datagram 73a9d3440c S oemlock-bridge oemlock-bridge 12962system 754 1 15712 3316 binder_ioctl_write_read 76f04fd55c S android.hardware.power@1.1-service.wahoo android.hardware.power@1.1-service.wahoo 12963system 755 1 64300 3860 binder_ioctl_write_read 728bbfe55c S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service 12964root 756 1 16600 2900 binder_ioctl_write_read 7e0cdf655c S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo 12965system 757 1 13324 2784 binder_ioctl_write_read 75f676f55c S android.hardware.vibrator@1.1-service.wahoo android.hardware.vibrator@1.1-service.wahoo 12966system 758 1 13096 2456 binder_ioctl_write_read 7a530f155c S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo 12967wifi 759 1 16408 2628 binder_ioctl_write_read 792988b55c S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service 12968wifi 760 1 58948 44448 binder_ioctl_write_read 793bffa55c S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service 12969root 762 2 0 0 irq_thread 0 S [irq/254-wcd9xxx] 7 12970ese 763 1 13284 2588 binder_ioctl_write_read 7e4437655c S esed esed 12971root 764 1 15524 3108 SyS_epoll_wait 7629f0846c S healthd healthd 12972root 765 2 0 0 irq_thread 0 S [irq/153-arm-smm] 7 12973root 767 1 10984 1960 do_sys_poll 6fd372a58c S msm_irqbalance msm_irqbalance 12974system 768 1 25016 2044 do_sigtimedwait 7d10dc264c S pm-service pm-service 12975system 770 1 26864 2528 futex_wait_queue_me 7b997ee4b0 S sensors.qcom sensors.qcom 12976nobody 773 1 50092 1936 do_select 709ac2d5a4 S rmt_storage rmt_storage 12977system 774 1 13300 1864 do_sys_poll 7dd1bc958c S tftp_server tftp_server 12978system 775 1 15932 1896 hrtimer_nanosleep 740b039e74 S pd-mapper pd-mapper 12979system 776 1 13636 2800 SyS_epoll_wait 7b8efc046c S bufferhubd bufferhubd 12980root 777 1 9196 1544 SyS_epoll_wait 7ef210e46c S lmkd lmkd 12981system 778 1 10632 1852 SyS_epoll_wait 7d2100546c S performanced performanced 12982root 779 1 20132 3400 binder_ioctl_write_read 77297b655c S thermalserviced thermalserviced 12983system 780 1 16900 2380 binder_ioctl_write_read 7871b8655c S virtual_touchpad virtual_touchpad 12984root 782 2 0 0 rescuer_thread 0 S [at_usb0] 7 12985root 783 2 0 0 rescuer_thread 0 S [at_usb1] 7 12986root 784 2 0 0 rescuer_thread 0 S [qdss] 7 12987root 798 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 7 12988root 800 2 0 0 rescuer_thread 0 S [modem] 8 12989system 808 1 17804 2112 hrtimer_nanosleep 7011dabe74 S pm-proxy pm-proxy 12990root 810 1 11000 1968 do_sys_poll 7f919fb58c S subsystem_ramdump subsystem_ramdump 12991root 814 1 94820 4500 SyS_rt_sigsuspend 7bdf73b634 S thermal-engine thermal-engine 12992media 815 1 14228 1628 do_sys_poll 7e497ed58c S adsprpcd adsprpcd 12993system 816 1 15960 2288 do_select 73405495a4 S imsqmidaemon imsqmidaemon 12994system 817 1 25056 4564 SyS_epoll_wait 75ab20a46c S cnd cnd 12995radio 818 1 110972 7244 __skb_recv_datagram 7ac974f40c S netmgrd netmgrd 12996radio 819 1 14076 1928 futex_wait_queue_me 757cab44b0 S port-bridge port-bridge 12997root 820 2 0 0 worker_thread 0 S [kworker/2:1H] 8 12998radio 822 1 21748 3864 futex_wait_queue_me 79fbf344b0 S ipacm ipacm 12999radio 827 1 20848 2604 do_select 7431b535a4 S qti qti 13000audioserver 828 1 47508 9556 binder_ioctl_write_read f3de5f8c S audioserver audioserver 13001cameraserver 829 1 37240 10160 binder_ioctl_write_read ed44af8c S cameraserver cameraserver 13002drm 830 1 20384 6868 binder_ioctl_write_read ee1a5f8c S drmserver drmserver 13003root 832 1 32256 5000 binder_ioctl_write_read 7f9102a55c S installd installd 13004keystore 833 1 21596 4984 binder_ioctl_write_read 72bd6d255c S keystore keystore 13005media 834 1 16044 4228 binder_ioctl_write_read ef748f8c S mediadrmserver mediadrmserver 13006mediaex 835 1 2164880 11072 binder_ioctl_write_read 78df58a55c S media.extractor mediaextractor 13007media 836 1 2130412 7648 binder_ioctl_write_read 7272b8055c S media.metrics mediametrics 13008media 837 1 51660 9776 binder_ioctl_write_read eb454f8c S mediaserver mediaserver 13009root 838 1 18072 3376 binder_ioctl_write_read 764357d55c S storaged storaged 13010wifi 839 1 17408 4360 SyS_epoll_wait 79b6e4e46c S wificond wificond 13011mediacodec 843 1 114240 22576 binder_ioctl_write_read f0fcff8c S media.codec android.hardware.media.omx@1.0-service 13012radio 844 1 99412 16860 binder_ioctl_write_read 702e44655c S rild rild 13013root 845 2 0 0 worker_thread 0 S [kworker/1:2] 8 13014system 848 1 2147244 12180 SyS_epoll_wait 7aa58b346c S folio_daemon folio_daemon 13015system 850 1 25140 3636 do_sys_poll 75ce30558c S cnss-daemon cnss-daemon 13016gps 851 1 14216 2300 SyS_rt_sigsuspend 7983a6a634 S loc_launcher loc_launcher 13017system 852 1 19456 2596 do_sys_poll 7d7b9ae58c S chre chre 13018system 854 1 17616 4048 binder_ioctl_write_read 791cc4355c S gatekeeperd gatekeeperd 13019tombstoned 856 1 9044 1544 SyS_epoll_wait 6ff06fa46c S tombstoned tombstoned 13020root 857 1 20460 5376 SyS_epoll_wait 71def5146c S update_engine update_engine 13021system 859 1 18548 2936 binder_ioctl_write_read 7adf17855c S android.hardware.biometrics.fingerprint@2.1-service.wahoo android.hardware.biometrics.fingerprint@2.1-service.wahoo 13022system 860 1 18928 7732 do_sys_poll 7aac38f58c S cnss_diag cnss_diag 13023system 875 1 26376 4360 do_select 78f35c75a4 S imsdatadaemon imsdatadaemon 13024root 880 2 0 0 rescuer_thread 0 S [ipawq15] 8 13025root 916 2 0 0 rescuer_thread 0 S [iparepwq15] 9 13026root 965 2 0 0 rescuer_thread 0 S [ipawq48] 9 13027root 969 2 0 0 do_freq_mitigation 0 S [msm_thermal:fre] 9 13028root 971 2 0 0 do_thermal_monitor 0 S [msm_thermal:the] 9 13029root 973 2 0 0 rescuer_thread 0 S [iparepwq48] 9 13030root 974 2 0 0 worker_thread 0 S [kworker/u17:1] 9 13031root 979 2 0 0 rescuer_thread 0 S [ipawq13] 9 13032root 984 2 0 0 rescuer_thread 0 S [iparepwq13] 9 13033root 997 2 0 0 rescuer_thread 0 S [ipa_A7_svc] 9 13034root 1002 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13035root 1004 2 0 0 rescuer_thread 0 S [clnt_req] 1 13036root 1007 2 0 0 rescuer_thread 0 S [clnt_resp] 1 13037root 1012 2 0 0 rescuer_thread 0 S [clnt_req] 1 13038root 1094 2 0 0 irq_thread 0 S [irq/157-arm-smm] 1 13039root 1095 2 0 0 irq_thread 0 S [irq/162-arm-smm] 1 13040root 1118 2 0 0 rescuer_thread 0 S [wdsp_glink_wq] 1 13041system 1136 717 4660232 351520 SyS_epoll_wait 70d91f346c S system_server app_process64 13042root 1209 2 0 0 rescuer_thread 0 S [mpss_IPCRTR] 1 13043root 1210 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13044root 1211 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13045root 1243 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13046u0_a39 1341 717 4428576 112696 SyS_epoll_wait 70d91f346c S com.android.systemui app_process64 13047root 1357 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13048radio 1362 717 4277484 37176 SyS_epoll_wait 70d91f346c S com.google.modemservice app_process64 13049radio 1438 717 4279272 37180 SyS_epoll_wait 70d91f346c S com.qualcomm.qcrilmsgtunnel app_process64 13050u0_a99 1467 717 4399596 113672 SyS_epoll_wait 70d91f346c S com.breel.wallpapers app_process64 13051gps 1546 851 24252 3864 futex_wait_queue_me 725dff04b0 S lowi-server lowi-server 13052system 1556 717 4286264 41764 SyS_epoll_wait 70d91f346c S .dataservices app_process64 13053gps 1562 851 25096 5932 __skb_recv_datagram 761088140c S xtra-daemon xtra-daemon 13054gps 1563 851 0 0 do_exit 0 Z [loc_launcher] 1 13055gps 1564 851 0 0 do_exit 0 Z [loc_launcher] 1 13056gps 1565 851 0 0 do_exit 0 Z [loc_launcher] 1 13057radio 1576 717 4277872 37248 SyS_epoll_wait 70d91f346c S com.qualcomm.qti.telephonyservice app_process64 13058radio 1585 717 4329964 66532 SyS_epoll_wait 70d91f346c S com.android.phone app_process64 13059root 1644 2 0 0 rescuer_thread 0 S [ipawq14] 1 13060root 1651 2 0 0 rescuer_thread 0 S [iparepwq14] 1 13061root 1659 2 0 0 rescuer_thread 0 S [ipawq49] 1 13062root 1665 2 0 0 rescuer_thread 0 S [iparepwq49] 1 13063root 2193 2 0 0 irq_thread 0 S [irq/35-1008000.] 2 13064root 2203 2 0 0 worker_thread 0 S [kworker/3:1H] 2 13065root 2207 2 0 0 wlan_logging_thread 0 S [wlan_logging_th] 2 13066root 2208 1 20008 2668 futex_wait_queue_me 7a4f0454b0 S perfd perfd 13067root 2219 2 0 0 cds_mc_thread 0 S [cds_mc_thread] 2 13068root 2220 2 0 0 cds_ol_rx_thread 0 S [cds_ol_rx_threa] 2 13069nfc 2315 717 4298720 53568 SyS_epoll_wait 70d91f346c S com.android.nfc app_process64 13070radio 2330 717 4278968 40012 SyS_epoll_wait 70d91f346c S com.android.ims.rcsservice app_process64 13071system 2337 717 4277764 33104 SyS_epoll_wait 70d91f346c S com.google.SSRestartDetector app_process64 13072u0_a47 2438 717 4390068 99708 SyS_epoll_wait 70d91f346c S com.google.android.apps.nexuslauncher app_process64 13073u0_a29 2452 717 4291516 45632 SyS_epoll_wait 70d91f346c S com.google.intelligence.sense app_process64 13074u0_a32 3721 717 4284276 45200 SyS_epoll_wait 70d91f346c S com.google.android.apps.turbo:aab app_process64 13075root 3724 689 9468 2016 pipe_read 70df7f9f94 S iptables-restore iptables 13076root 3737 689 9484 2092 pipe_read 79ce20ef94 S ip6tables-restore ip6tables 13077root 4292 2 0 0 worker_thread 0 S [kworker/5:0] 4 13078root 4337 2 0 0 worker_thread 0 S [kworker/4:0] 4 13079system 4764 717 4279604 33956 SyS_epoll_wait 70d91f346c S com.qualcomm.telephony app_process64 13080u0_a44 4845 717 4302492 62900 SyS_epoll_wait 70d91f346c S com.verizon.mips.services app_process64 13081u0_a712 4896 717 4424460 145308 SyS_epoll_wait 70d91f346c S com.google.wireless.qa.mobileharness.tool.android.daemon app_process64 13082root 4937 2 0 0 worker_thread 0 S [kworker/2:1] 4 13083root 5027 1 14980 1240 do_sys_poll 4c3aec S adbd adbd 13084u0_a26 7090 717 4400528 105352 SyS_epoll_wait 70d91f346c S com.google.android.gms.persistent app_process64 13085u0_a26 7098 717 4540460 110152 SyS_epoll_wait 70d91f346c S com.google.android.gms app_process64 13086root 7580 2 0 0 worker_thread 0 S [kworker/7:2] 7 13087root 7655 2 0 0 worker_thread 0 S [kworker/0:1] 7 13088root 7755 2 0 0 worker_thread 0 S [kworker/2:0] 7 13089u0_a38 8947 717 4279080 42508 SyS_epoll_wait 70d91f346c S android.process.media app_process64 13090root 10171 2 0 0 worker_thread 0 S [kworker/0:2] 1 13091root 10578 2 0 0 worker_thread 0 S [kworker/u16:6] 1 13092root 10822 2 0 0 worker_thread 0 S [kworker/u16:0] 1 13093root 11013 2 0 0 worker_thread 0 S [kworker/7:0] 1 13094root 11093 2 0 0 worker_thread 0 S [kworker/u16:5] 1 13095root 11198 2 0 0 worker_thread 0 S [kworker/1:1] 1 13096root 11204 2 0 0 worker_thread 0 S [kworker/3:0] 1 13097root 11314 2 0 0 worker_thread 0 S [kworker/5:1] 1 13098root 11385 2 0 0 worker_thread 0 S [kworker/6:1] 1 13099root 11468 2 0 0 worker_thread 0 S [kworker/u16:2] 1 13100root 11477 2 0 0 worker_thread 0 S [kworker/4:2] 1 13101root 11483 2 0 0 worker_thread 0 S [kworker/2:4] 1 13102root 11635 2 0 0 worker_thread 0 S [kworker/6:0] 1 13103root 11710 2 0 0 worker_thread 0 S [kworker/0:3] 1 13104root 11723 2 0 0 worker_thread 0 S [kworker/3:1] 1 13105root 11733 2 0 0 worker_thread 0 S [kworker/2:2] 1 13106root 11737 2 0 0 worker_thread 0 S [kworker/4:1] 1 13107root 11740 2 0 0 worker_thread 0 S [kworker/1:0] 1 13108root 11801 2 0 0 worker_thread 0 S [kworker/7:1] 1 13109root 11894 2 0 0 worker_thread 0 S [kworker/6:2] 1 13110root 11895 2 0 0 worker_thread 0 S [kworker/u16:4] 1 13111root 11896 2 0 0 worker_thread 0 S [kworker/2:3] 1 13112root 11961 2 0 0 worker_thread 0 S [kworker/0:0] 1 13113root 11963 2 0 0 worker_thread 0 S [kworker/4:3] 1 13114root 11972 2 0 0 worker_thread 0 S [kworker/3:2] 1 13115root 12010 2 0 0 worker_thread 0 S [kworker/7:3] 1 13116root 12136 2 0 0 worker_thread 0 S [kworker/3:3] 1 13117root 12172 2 0 0 worker_thread 0 S [kworker/u16:7] 1 13118root 12173 2 0 0 worker_thread 0 S [kworker/u16:9] 1 13119root 12174 2 0 0 worker_thread 0 S [kworker/u16:10] 1 13120root 12175 2 0 0 worker_thread 0 S [kworker/u16:12] 1 13121root 12176 2 0 0 worker_thread 0 S [kworker/u16:13] 1 13122root 12177 2 0 0 worker_thread 0 S [kworker/u16:14] 1 13123root 12178 2 0 0 worker_thread 0 S [kworker/u16:15] 1 13124u0_a26 12188 717 4281664 39180 SyS_epoll_wait 70d91f346c S com.google.process.gapps app_process64 13125u0_a26 12204 717 4284380 40244 SyS_epoll_wait 70d91f346c S com.google.process.gservices app_process64 13126u0_a15 12324 717 4283136 36156 SyS_epoll_wait 70d91f346c S com.android.connectivity.metrics app_process64 13127u0_a22 12381 717 4275684 35736 SyS_epoll_wait 70d91f346c S com.google.android.partnersetup app_process64 13128webview_zygote 12409 1 1334320 30380 do_sys_poll eb625024 S webview_zygote32 webview_zygote32 13129radio 12413 717 4274568 33784 SyS_epoll_wait 70d91f346c S com.google.telephonymonitor app_process64 13130u0_a93 12475 717 4276176 34220 SyS_epoll_wait 70d91f346c S com.android.printspooler app_process64 13131u0_a25 12601 717 4283292 42808 SyS_epoll_wait 70d91f346c S com.google.android.apps.gcs app_process64 13132u0_a11 12638 717 4287328 46320 SyS_epoll_wait 70d91f346c S android.process.acore app_process64 13133root 12674 2 0 0 worker_thread 0 S [kworker/5:2] 1 13134u0_a26 12730 717 4366688 64800 SyS_epoll_wait 70d91f346c S com.google.android.gms.unstable app_process64 13135u0_a26 12850 717 4333436 53388 SyS_epoll_wait 70d91f346c S com.google.android.gms.ui app_process64 13136u0_a84 12984 717 4280980 36220 SyS_epoll_wait 70d91f346c S com.google.android.apps.enterprise.dmagent app_process64 13137u0_a115 13067 717 4324864 49272 SyS_epoll_wait 70d91f346c S com.google.android.calendar app_process64 13138u0_a13 13092 717 4274940 36536 SyS_epoll_wait 70d91f346c S com.android.providers.calendar app_process64 13139system 13242 1 16424 2936 binder_ioctl_write_read 77aeebe55c S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service 13140u0_a27 13282 717 4275052 34272 SyS_epoll_wait 70d91f346c S com.android.defcontainer app_process64 13141u0_a3245 13558 717 4276544 33796 SyS_epoll_wait 70d91f346c S com.google.android.apps.common.testing.services app_process64 13142root 13727 5027 8948 1804 SyS_rt_sigsuspend 749fa6d634 S sh sh 13143root 13729 13727 8948 660 SyS_rt_sigsuspend 749fa6d634 S sh sh 13144root 13730 13729 10524 1980 0 7380b4ef94 R ps toybox 13145u0_a53 22412 717 4284840 42772 SyS_epoll_wait 70d91f346c S com.google.android.volta app_process64 13146u0_a42 30672 717 4314228 58000 SyS_epoll_wait 70d91f346c S com.google.android.ims app_process64 13147USER PID TID CMD 13148root 1 1 init 13149root 2 2 kthreadd 13150root 3 3 ksoftirqd/0 13151root 5 5 kworker/0:0H 13152root 7 7 rcu_preempt 13153root 8 8 rcu_sched 13154root 9 9 rcu_bh 13155root 10 10 rcuop/0 13156root 11 11 rcuos/0 13157root 12 12 rcuob/0 13158root 13 13 migration/0 13159root 14 14 watchdog/0 13160root 15 15 watchdog/1 13161root 16 16 migration/1 13162root 17 17 ksoftirqd/1 13163root 19 19 kworker/1:0H 13164root 20 20 rcuop/1 13165root 21 21 rcuos/1 13166root 22 22 rcuob/1 13167root 23 23 watchdog/2 13168root 24 24 migration/2 13169root 25 25 ksoftirqd/2 13170root 27 27 kworker/2:0H 13171root 28 28 rcuop/2 13172root 29 29 rcuos/2 13173root 30 30 rcuob/2 13174root 31 31 watchdog/3 13175root 32 32 migration/3 13176root 33 33 ksoftirqd/3 13177root 35 35 kworker/3:0H 13178root 36 36 rcuop/3 13179root 37 37 rcuos/3 13180root 38 38 rcuob/3 13181root 39 39 watchdog/4 13182root 40 40 migration/4 13183root 41 41 ksoftirqd/4 13184root 43 43 kworker/4:0H 13185root 44 44 rcuop/4 13186root 45 45 rcuos/4 13187root 46 46 rcuob/4 13188root 47 47 watchdog/5 13189root 48 48 migration/5 13190root 49 49 ksoftirqd/5 13191root 51 51 kworker/5:0H 13192root 52 52 rcuop/5 13193root 53 53 rcuos/5 13194root 54 54 rcuob/5 13195root 55 55 watchdog/6 13196root 56 56 migration/6 13197root 57 57 ksoftirqd/6 13198root 59 59 kworker/6:0H 13199root 60 60 rcuop/6 13200root 61 61 rcuos/6 13201root 62 62 rcuob/6 13202root 63 63 watchdog/7 13203root 64 64 migration/7 13204root 65 65 ksoftirqd/7 13205root 67 67 kworker/7:0H 13206root 68 68 rcuop/7 13207root 69 69 rcuos/7 13208root 70 70 rcuob/7 13209root 71 71 netns 13210root 72 72 perf 13211root 73 73 smd_channel_clo 13212root 74 74 dsps_smd_trans_ 13213root 75 75 lpass_smd_trans 13214root 76 76 mpss_smd_trans_ 13215root 77 77 wcnss_smd_trans 13216root 78 78 rpm_smd_trans_g 13217root 79 79 ipa_usb_wq 13218root 81 81 smem_native_mps 13219root 82 82 mpss_smem_glink 13220root 83 83 smem_native_lpa 13221root 84 84 lpass_smem_glin 13222root 85 85 smem_native_dsp 13223root 86 86 dsps_smem_glink 13224root 87 87 smem_native_rpm 13225root 88 88 rpm_smem_glink_ 13226root 89 89 smem_native_sps 13227root 90 90 spss_mailbox_gl 13228root 91 91 msm_watchdog 13229root 92 92 deferwq 13230root 93 93 kworker/u16:1 13231root 94 94 irq/126-cpr3 13232root 95 95 mpm 13233root 97 97 khungtaskd 13234root 98 98 writeback 13235root 99 99 kcompactd0 13236root 100 100 crypto 13237root 101 101 bioset 13238root 102 102 kblockd 13239root 103 103 md 13240root 104 104 edac-poller 13241root 105 105 system 13242root 106 106 easel_mem 13243root 107 107 devfreq_wq 13244root 108 108 governor_msm_ad 13245root 110 110 cfg80211 13246root 111 111 irq/134-arm-smm 13247root 112 112 ipa_power_mgmt 13248root 113 113 transport_power 13249root 114 114 ipa_rm_wq 13250root 115 115 ipa_interrupt_w 13251root 116 116 irq/135-arm-smm 13252root 117 117 irq/136-arm-smm 13253root 118 118 irq/61-bcl_vbat 13254root 119 119 irq/60-bcl_ibat 13255root 145 145 power_off_alarm 13256root 146 146 kswapd0 13257root 147 147 vmstat 13258root 148 148 fsnotify_mark 13259root 180 180 ad_calc_wq 13260root 181 181 mdss_dsi_event 13261root 182 182 mdss_dsi_dba 13262root 183 183 cwb_wq 13263root 184 184 vsync_retire_wo 13264root 185 185 cwb_wq 13265root 187 187 glink_ssr_wq 13266root 188 188 glink_lbsrv 13267root 189 189 spi_wdsp 13268root 190 190 wdsp_spi_glink_ 13269root 191 191 glink_xprt_wq 13270root 192 192 IPCRTR_mpss_sme 13271root 193 193 IPCRTR_lpass_sm 13272root 194 194 IPCRTR_dsps_sme 13273root 195 195 apr_driver 13274root 196 196 glink_pkt_wq 13275root 198 198 mem_share_svc 13276root 199 199 qmi_hndl0000000 13277root 200 200 msm_ipc_router 13278root 201 201 irq/137-arm-smm 13279root 202 202 qmi_svc_event_w 13280root 203 203 servloc_wq 13281root 204 204 tty_worker_thre 13282root 205 205 tty_worker_thre 13283root 206 206 tty_worker_thre 13284root 207 207 tty_worker_thre 13285root 208 208 k_hsuart 13286root 209 209 msm_serial_hs_0 13287root 210 210 msm_serial_hs_0 13288root 211 211 hwrng 13289root 213 213 diag_real_time_ 13290root 214 214 diag_wq 13291root 215 215 DIAG_USB_diag 13292root 216 216 diag_cntl_wq 13293root 217 217 diag_dci_wq 13294root 218 218 DIAG_SMD_MODEM_ 13295root 219 219 DIAG_SMD_MODEM_ 13296root 220 220 DIAG_SMD_MODEM_ 13297root 221 221 DIAG_SMD_MODEM_ 13298root 222 222 DIAG_SMD_MODEM_ 13299root 223 223 DIAG_SMD_LPASS_ 13300root 224 224 DIAG_SMD_LPASS_ 13301root 225 225 DIAG_SMD_LPASS_ 13302root 226 226 DIAG_SMD_LPASS_ 13303root 227 227 DIAG_SMD_LPASS_ 13304root 228 228 DIAG_SMD_WCNSS_ 13305root 229 229 DIAG_SMD_WCNSS_ 13306root 230 230 DIAG_SMD_WCNSS_ 13307root 231 231 DIAG_SMD_WCNSS_ 13308root 232 232 DIAG_SMD_WCNSS_ 13309root 233 233 DIAG_SMD_SENSOR 13310root 234 234 DIAG_SMD_SENSOR 13311root 235 235 DIAG_SMD_SENSOR 13312root 236 236 DIAG_SMD_SENSOR 13313root 237 237 DIAG_SMD_SENSOR 13314root 238 238 DIAG_SMD_DIAG_C 13315root 239 239 DIAG_SMD_DIAG_D 13316root 240 240 DIAG_SMD_DIAG_C 13317root 241 241 DIAG_SMD_DIAG_D 13318root 242 242 DIAG_SMD_DIAG_D 13319root 243 243 DIAG_SMD_CDSP_C 13320root 244 244 DIAG_SMD_CDSP_D 13321root 245 245 DIAG_SMD_CDSP_C 13322root 246 246 DIAG_SMD_CDSP_D 13323root 247 247 DIAG_SMD_CDSP_D 13324root 248 248 DIAG_SOCKMODEM_ 13325root 249 249 DIAG_SOCKMODEM_ 13326root 250 250 DIAG_SOCKMODEM_ 13327root 251 251 DIAG_SOCKMODEM_ 13328root 252 252 DIAG_SOCKMODEM_ 13329root 253 253 DIAG_SOCKLPASS_ 13330root 254 254 DIAG_SOCKLPASS_ 13331root 255 255 DIAG_SOCKLPASS_ 13332root 256 256 DIAG_SOCKLPASS_ 13333root 257 257 DIAG_SOCKLPASS_ 13334root 258 258 DIAG_SOCKWCNSS_ 13335root 259 259 DIAG_SOCKWCNSS_ 13336root 260 260 DIAG_SOCKWCNSS_ 13337root 261 261 DIAG_SOCKWCNSS_ 13338root 262 262 DIAG_SOCKWCNSS_ 13339root 263 263 DIAG_SOCKSENSOR 13340root 264 264 DIAG_SOCKSENSOR 13341root 265 265 DIAG_SOCKSENSOR 13342root 266 266 DIAG_SOCKSENSOR 13343root 267 267 DIAG_SOCKSENSOR 13344root 268 268 DIAG_SOCKDIAG_C 13345root 269 269 DIAG_SOCKDIAG_D 13346root 270 270 DIAG_SOCKDIAG_C 13347root 271 271 DIAG_SOCKDIAG_D 13348root 272 272 DIAG_SOCKDIAG_D 13349root 273 273 DIAG_SOCKCDSP_C 13350root 274 274 DIAG_SOCKCDSP_D 13351root 275 275 DIAG_SOCKCDSP_C 13352root 276 276 DIAG_SOCKCDSP_D 13353root 277 277 DIAG_SOCKCDSP_D 13354root 278 278 DIAG_CNTL_SOCKE 13355root 279 279 DIAG_GLINK_DIAG 13356root 280 280 DIAG_GLINK_DIAG 13357root 281 281 DIAG_GLINK_DIAG 13358root 282 282 DIAG_GLINK_DIAG 13359root 283 283 DIAG_GLINK_DIAG 13360root 284 284 kgsl-workqueue 13361root 285 285 kgsl-mementry 13362root 286 286 kgsl_worker_thr 13363root 287 287 kgsl-events 13364root 288 288 kgsl_devfreq_wq 13365root 289 289 bioset 13366root 290 290 bioset 13367root 291 291 bioset 13368root 292 292 bioset 13369root 293 293 bioset 13370root 294 294 bioset 13371root 295 295 bioset 13372root 296 296 bioset 13373root 297 297 bioset 13374root 298 298 bioset 13375root 299 299 bioset 13376root 300 300 bioset 13377root 301 301 bioset 13378root 302 302 bioset 13379root 304 304 bioset 13380root 305 305 bioset 13381root 306 306 bioset 13382root 307 307 bioset 13383root 308 308 bioset 13384root 309 309 bioset 13385root 310 310 bioset 13386root 311 311 bioset 13387root 312 312 bioset 13388root 313 313 bioset 13389root 314 314 bioset 13390root 315 315 irq/286-soc:fp_ 13391root 316 316 memory_wq 13392root 317 317 qcrypto_seq_res 13393root 318 318 scsi_eh_0 13394root 319 319 scsi_tmf_0 13395root 320 320 ufs_pm_qos_0 13396root 321 321 ufs_clk_ungatin 13397root 322 322 ufs_clkscaling_ 13398root 323 323 spi1 13399root 325 325 spi2 13400root 326 326 spi10 13401root 327 327 bond0 13402root 329 329 sharedmem_qmi_w 13403root 330 330 qmi_hndl0000000 13404root 331 331 kworker/u16:3 13405root 335 335 uether 13406root 336 336 k_ipa_usb 13407root 340 340 kworker/u17:0 13408root 341 341 irq/262-vl53l0_ 13409root 342 342 bioset 13410root 343 343 bioset 13411root 344 344 bioset 13412root 345 345 msm_cci_wq 13413root 346 346 msm_cci_wq 13414root 347 347 bioset 13415root 348 348 bioset 13416root 349 349 bioset 13417root 350 350 bioset 13418root 351 351 bioset 13419root 352 352 bioset 13420root 354 354 msm_cpp_workque 13421root 357 357 msm_vidc_worker 13422root 358 358 pm_workerq_venu 13423root 359 359 irq/158-arm-smm 13424root 360 360 irq/159-arm-smm 13425root 361 361 irq/160-arm-smm 13426root 362 362 irq/161-arm-smm 13427root 363 363 rot_commitq_0_0 13428root 364 364 rot_commitq_0_1 13429root 365 365 rot_doneq_0_0 13430root 366 366 rot_doneq_0_1 13431root 368 368 therm_core:noti 13432root 369 369 irq/500-chg-err 13433root 370 370 irq/501-chg-sta 13434root 371 371 irq/502-step-ch 13435root 372 372 irq/503-step-ch 13436root 373 373 irq/504-step-ch 13437root 374 374 irq/505-otg-fai 13438root 375 375 irq/506-otg-ove 13439root 376 376 irq/507-otg-oc- 13440root 377 377 irq/508-testmod 13441root 378 378 irq/509-bat-tem 13442root 379 379 irq/510-bat-ocp 13443root 380 380 irq/511-bat-ov 13444root 381 381 irq/512-bat-low 13445root 382 382 irq/513-bat-the 13446root 383 383 irq/514-bat-ter 13447root 384 384 irq/515-usbin-c 13448root 385 385 irq/516-usbin-l 13449root 386 386 irq/517-usbin-u 13450root 387 387 irq/518-usbin-o 13451root 388 388 irq/519-usbin-p 13452root 389 389 irq/520-usbin-s 13453root 390 390 irq/521-usbin-i 13454root 391 391 irq/522-type-c- 13455root 392 392 irq/523-dcin-co 13456root 393 393 irq/524-dcin-lt 13457root 394 394 irq/525-dcin-uv 13458root 395 395 irq/526-dcin-ov 13459root 396 396 irq/527-dcin-pl 13460root 397 397 irq/528-div2-en 13461root 398 398 irq/529-dcin-ic 13462root 399 399 irq/532-aicl-fa 13463root 400 400 irq/533-aicl-do 13464root 401 401 irq/534-high-du 13465root 402 402 irq/535-input-c 13466root 403 403 irq/536-tempera 13467root 404 404 irq/537-switche 13468root 405 405 therm_core:noti 13469root 406 406 therm_core:noti 13470root 408 408 therm_core:noti 13471root 409 409 therm_core:noti 13472root 410 410 therm_core:noti 13473root 411 411 therm_core:noti 13474root 412 412 therm_core:noti 13475root 413 413 therm_core:noti 13476root 414 414 therm_core:noti 13477root 415 415 therm_core:noti 13478root 416 416 therm_core:noti 13479root 417 417 therm_core:noti 13480root 418 418 therm_core:noti 13481root 419 419 therm_core:noti 13482root 420 420 therm_core:noti 13483root 421 421 therm_core:noti 13484root 422 422 therm_core:noti 13485root 423 423 therm_core:noti 13486root 424 424 therm_core:noti 13487root 425 425 therm_core:noti 13488root 426 426 therm_core:noti 13489root 427 427 therm_core:noti 13490root 428 428 irq/59-tsens_in 13491root 429 429 irq/62-tsens_cr 13492root 430 430 therm_core:noti 13493root 431 431 therm_core:noti 13494root 432 432 therm_core:noti 13495root 433 433 therm_core:noti 13496root 434 434 therm_core:noti 13497root 435 435 therm_core:noti 13498root 436 436 therm_core:noti 13499root 437 437 therm_core:noti 13500root 438 438 irq/63-tsens_in 13501root 439 439 irq/64-tsens_cr 13502root 440 440 therm_core:noti 13503root 441 441 irq/366-limits_ 13504root 442 442 therm_core:noti 13505root 443 443 irq/367-limits_ 13506root 444 444 dm_bufio_cache 13507root 445 445 cfinteractive 13508root 446 446 irq/291-bcm1560 13509root 447 447 irq/226-bcm1560 13510root 449 449 therm_core:noti 13511root 450 450 irq/197-spdm_bw 13512root 451 451 binder 13513root 452 452 irq/144-arm-smm 13514root 453 453 uaudio_svc 13515root 454 454 qmi_hndl0000000 13516root 455 455 ipv6_addrconf 13517root 457 457 irq/574-adsp 13518root 458 458 sysmon_wq 13519root 459 459 irq/606-slpi 13520root 460 460 irq/542-modem 13521root 464 464 usb_bam_wq 13522root 465 465 irq/19-sig-tx 13523root 466 466 irq/20-sig-rx 13524root 467 467 irq/22-msg-rx 13525root 468 468 usbpd0 13526root 469 469 usbpd0 13527root 474 474 therm_core:noti 13528root 475 475 irq/734-soc-upd 13529root 476 476 irq/735-soc-rea 13530root 477 477 irq/736-bsoc-de 13531root 478 478 irq/737-msoc-de 13532root 479 479 irq/738-msoc-lo 13533root 480 480 irq/739-msoc-em 13534root 481 481 irq/740-msoc-hi 13535root 482 482 irq/741-msoc-fu 13536root 483 483 irq/742-vbatt-p 13537root 484 484 irq/743-vbatt-l 13538root 485 485 irq/744-esr-del 13539root 486 486 irq/745-batt-mi 13540root 487 487 irq/746-batt-te 13541root 488 488 irq/747-ima-rdy 13542root 489 489 irq/748-mem-xcp 13543root 490 490 irq/749-dma-gra 13544root 492 492 irq/54-hs_phy_i 13545root 493 493 irq/55-ss_phy_i 13546root 494 494 irq/56-msm_dwc3 13547root 496 496 irq/36-ARM64 pr 13548root 497 497 irq/37-ARM64 se 13549root 498 498 irq/39-ARM64 pr 13550root 499 499 irq/40-ARM64 se 13551root 500 500 rq_stats 13552root 501 501 irq/145-arm-smm 13553root 502 502 irq/146-arm-smm 13554root 503 503 irq/147-arm-smm 13555root 504 504 irq/148-arm-smm 13556root 505 505 irq/149-arm-smm 13557root 506 506 irq/150-arm-smm 13558root 507 507 irq/151-arm-smm 13559root 508 508 irq/152-arm-smm 13560root 509 509 set_state_work 13561root 510 510 irq/227-mnh-rea 13562root 512 512 irq/751-mnh_pci 13563root 513 513 irq/752-mnh_pci 13564root 514 514 irq/753-mnh_pci 13565root 515 515 irq/754-mnh_pci 13566root 516 516 irq/755-mnh_pci 13567root 517 517 irq/758-mnh_pci 13568root 518 518 irq/759-mnh_pci 13569root 519 519 irq/128-arm-smm 13570root 520 520 sb-1 13571root 521 521 ngd_rx_thread1 13572root 522 522 ngd_notify_sl1 13573root 523 523 sb-3 13574root 524 524 ngd_rx_thread3 13575root 525 525 ngd_notify_sl3 13576root 526 526 therm_core:noti 13577root 527 527 therm_core:noti 13578root 528 528 therm_core:noti 13579root 529 529 irq/66-lmh-inte 13580root 530 530 irq/28-qpnp_fla 13581root 531 531 irq/27-qpnp_fla 13582root 532 532 irq/26-qpnp_fla 13583root 534 534 kdmflush 13584root 535 535 bioset 13585root 536 536 kverityd 13586root 537 537 bioset 13587root 538 538 bioset 13588root 539 539 bioset 13589root 540 540 kworker/6:1H 13590root 541 541 kworker/5:1H 13591root 542 542 kworker/7:1H 13592root 543 543 ext4-rsv-conver 13593root 544 544 kworker/0:1H 13594root 546 546 kdmflush 13595root 547 547 bioset 13596root 548 548 kverityd 13597root 549 549 bioset 13598root 550 550 bioset 13599root 551 551 bioset 13600root 552 552 ext4-rsv-conver 13601root 553 553 jbd2/sdd3-8 13602root 554 554 ext4-rsv-conver 13603root 555 555 kworker/4:1H 13604root 556 556 ueventd 13605root 558 558 kworker/1:1H 13606root 562 562 irq/760-synapti 13607root 563 563 dsx_rebuild_wor 13608root 564 564 dsx_exp_workque 13609root 569 569 batt_timer 13610system 580 580 qseecomd 13611root 581 581 sugov:0 13612root 582 582 sugov:4 13613system 584 584 hwservicemanage 13614logd 585 585 logd 13615logd 585 590 logd.daemon 13616logd 585 591 logd.reader 13617logd 585 592 logd.writer 13618logd 585 593 logd.control 13619logd 585 595 logd.klogd 13620logd 585 596 logd.auditd 13621system 586 586 servicemanager 13622system 587 587 vndservicemanag 13623root 588 588 kworker/u16:8 13624root 594 594 kauditd 13625system 597 597 qseecomd 13626system 597 598 qseecomd 13627system 597 599 qseecomd 13628system 597 600 qseecomd 13629system 597 601 qseecomd 13630system 597 602 qseecomd 13631system 597 603 qseecomd 13632system 597 604 qseecomd 13633root 606 606 boot@1.0-servic 13634system 607 607 gatekeeper@1.0- 13635system 608 608 keyprimary@3.0-s 13636system 610 610 surfaceflinger 13637system 610 626 HwBinder:610_1 13638system 610 627 Binder:610_1 13639system 610 628 Binder:610_2 13640system 610 629 DispSync 13641system 610 661 POSIX timer 0 13642system 610 662 EventThread 13643system 610 663 POSIX timer 1 13644system 610 664 EventThread 13645system 610 679 VrEvent 13646system 610 680 VrHwcPost 13647system 610 681 VrDispatch 13648system 610 682 EventControl 13649system 610 978 Binder:610_3 13650system 610 981 Binder:610_1 13651system 610 1720 Binder:610_4 13652system 610 2158 Binder:610_5 13653system 612 612 composer@2.1-se 13654system 612 622 Binder:612_1 13655system 612 623 Binder:612_2 13656system 612 643 SDM_EventThread 13657system 612 665 android.hardwar 13658system 612 666 HWC_UeventThrea 13659system 612 676 HwBinder:612_1 13660system 612 677 HwBinder:612_2 13661system 612 678 composer@2.1-se 13662system 612 11297 HwBinder:612_3 13663system 614 614 allocator@2.0-s 13664system 614 982 HwBinder:614_1 13665system 614 983 HwBinder:614_2 13666system 614 20587 HwBinder:614_3 13667root 631 631 mdss_fb0 13668root 632 632 jbd2/sda45-8 13669root 633 633 ext4-rsv-conver 13670system 637 637 time_daemon 13671system 637 649 time_daemon 13672system 637 650 time_daemon 13673system 637 651 time_daemon 13674system 637 652 time_daemon 13675system 637 653 time_daemon 13676system 637 1271 time_daemon 13677root 638 638 vold 13678root 638 654 vold 13679root 638 655 vold 13680root 638 656 vold 13681root 645 645 irq/177-arm-smm 13682root 646 646 irq/178-arm-smm 13683root 657 657 fwu_workqueue 13684root 658 658 dsps_IPCRTR 13685root 660 660 lpass_IPCRTR 13686root 688 688 qmi_hndl0000000 13687root 689 689 Binder:689_2 13688root 689 707 netd 13689root 689 708 netd 13690root 689 709 netd 13691root 689 710 netd 13692root 689 711 netd 13693root 689 712 netd 13694root 689 713 netd 13695root 689 714 netd 13696root 689 715 Binder:689_1 13697root 689 716 Binder:689_2 13698root 689 718 HwBinder:689_1 13699root 689 15067 Binder:689_3 13700root 689 2971 Binder:689_4 13701root 689 3118 Binder:689_5 13702root 690 690 qmi_hndl0000000 13703root 691 691 msm_slim_qmi_cl 13704root 692 692 msm_slim_qmi_cl 13705root 693 693 qmi_hndl0000000 13706root 694 694 qmi_hndl0000000 13707root 717 717 main 13708root 717 13559 ReferenceQueueD 13709root 717 13560 FinalizerDaemon 13710root 717 13561 FinalizerWatchd 13711root 717 13562 HeapTaskDaemon 13712root 719 719 main 13713root 719 8873 ReferenceQueueD 13714root 719 8874 FinalizerDaemon 13715root 719 8875 FinalizerWatchd 13716root 719 8876 HeapTaskDaemon 13717root 720 720 cds_recovery_wo 13718system 732 732 allocator@1.0-s 13719system 733 733 vr_hwc 13720system 733 751 Binder:733_1 13721system 733 752 HwBinder:733_1 13722system 733 753 Binder:733_2 13723audioserver 734 734 audio@2.0-servi 13724audioserver 734 1117 audio@2.0-servi 13725audioserver 734 1119 audio@2.0-servi 13726audioserver 734 1120 HwBinder:734_1 13727audioserver 734 1169 HwBinder:734_1 13728audioserver 734 1170 HwBinder:734_2 13729audioserver 734 1817 HwBinder:734_3 13730audioserver 734 1818 HwBinder:734_4 13731bluetooth 735 735 bluetooth@1.0-s 13732bluetooth 735 13239 HwBinder:735_1 13733cameraserver 736 736 provider@2.4-se 13734cameraserver 736 1962 CAM_imgTh 13735cameraserver 736 1963 CAM_imgTh 13736cameraserver 736 1964 CAM_imgTh 13737cameraserver 736 1965 CAM_imgTh 13738cameraserver 736 1966 CAM_imgTh 13739cameraserver 736 1967 CAM_imgTh 13740cameraserver 736 1968 CAM_imgTh 13741cameraserver 736 1969 CAM_imgTh 13742cameraserver 736 1970 CAM_imgTh 13743cameraserver 736 1971 CAM_imgTh 13744cameraserver 736 1972 CAM_imgTh 13745cameraserver 736 1973 CAM_imgTh 13746cameraserver 736 1974 CAM_imgTh 13747cameraserver 736 1975 CAM_imgTh 13748cameraserver 736 1976 CAM_imgTh 13749cameraserver 736 1977 CAM_imgTh 13750cameraserver 736 1978 CAM_imgTh 13751cameraserver 736 1979 CAM_imgTh 13752cameraserver 736 1980 CAM_imgTh 13753cameraserver 736 1981 CAM_imgTh 13754cameraserver 736 2001 android.hardwar 13755cameraserver 736 2023 CAM_gyro_sens 13756cameraserver 736 2105 HwBinder:736_1 13757cameraserver 736 2106 HwBinder:736_2 13758cameraserver 736 1735 HwBinder:736_1 13759cameraserver 736 1809 HwBinder:736_3 13760media 737 737 cas@1.0-service 13761media 737 13240 HwBinder:737_1 13762media 737 13241 HwBinder:737_2 13763system 738 738 contexthub@1.0- 13764system 738 761 android.hardwar 13765media 739 739 drm@1.0-service 13766media 739 3562 HwBinder:739_1 13767media 740 740 drm@1.0-service 13768media 740 3563 HwBinder:740_1 13769media 740 12908 HwBinder:740_2 13770system 741 741 dumpstate@1.0-s 13771gps 742 742 gnss@1.0-servic 13772gps 742 1500 Loc_hal 13773gps 742 1515 Loc_hal 13774gps 742 1516 Loc_hal 13775gps 742 1517 Loc_hal 13776gps 742 1521 Loc_hal 13777gps 742 1542 Loc_hal 13778gps 742 1543 Loc_hal 13779gps 742 1544 Loc_hal 13780gps 742 1554 Loc_hal 13781system 743 743 light@2.0-servi 13782root 744 744 kworker/u16:11 13783system 745 745 memtrack@1.0-se 13784nfc 746 746 nfc@1.0-service 13785system 747 747 oemlock@1.0-ser 13786root 750 750 oemlock-bridge 13787system 754 754 power@1.1-servi 13788system 754 781 android.hardwar 13789system 755 755 sensors@1.0-ser 13790system 755 792 android.hardwar 13791system 755 793 android.hardwar 13792system 755 797 android.hardwar 13793system 755 947 android.hardwar 13794system 755 949 android.hardwar 13795system 755 950 android.hardwar 13796system 755 963 android.hardwar 13797system 755 987 android.hardwar 13798system 755 988 android.hardwar 13799system 755 991 android.hardwar 13800system 755 992 android.hardwar 13801system 755 995 android.hardwar 13802system 755 996 android.hardwar 13803system 755 1000 android.hardwar 13804system 755 1001 android.hardwar 13805system 755 1006 android.hardwar 13806system 755 1008 android.hardwar 13807system 755 1013 android.hardwar 13808system 755 1014 android.hardwar 13809system 755 1015 android.hardwar 13810system 755 1016 android.hardwar 13811system 755 1018 android.hardwar 13812system 755 1019 android.hardwar 13813system 755 1024 android.hardwar 13814system 755 1025 android.hardwar 13815system 755 1027 android.hardwar 13816system 755 1028 android.hardwar 13817system 755 1030 android.hardwar 13818system 755 1031 android.hardwar 13819system 755 1032 android.hardwar 13820system 755 1033 android.hardwar 13821system 755 1034 android.hardwar 13822system 755 1035 android.hardwar 13823system 755 1039 android.hardwar 13824system 755 1040 android.hardwar 13825system 755 1041 android.hardwar 13826system 755 1042 android.hardwar 13827system 755 1047 android.hardwar 13828system 755 1048 android.hardwar 13829system 755 1050 android.hardwar 13830system 755 1247 HwBinder:755_1 13831system 755 1276 HwBinder:755_1 13832system 755 1277 HwBinder:755_1 13833system 755 1278 HwBinder:755_1 13834root 756 756 usb@1.1-service 13835root 756 1301 usb@1.1-service 13836system 757 757 vibrator@1.1-se 13837system 758 758 vr@1.0-service. 13838wifi 759 759 offload@1.0-ser 13839wifi 759 769 android.hardwar 13840wifi 760 760 android.hardwar 13841root 762 762 irq/254-wcd9xxx 13842ese 763 763 esed 13843root 764 764 healthd 13844root 765 765 irq/153-arm-smm 13845root 767 767 msm_irqbalance 13846system 768 768 pm-service 13847system 768 787 POSIX timer 0 13848system 768 788 POSIX timer 1 13849system 768 789 POSIX timer 2 13850system 768 794 pm-service 13851system 768 795 Binder:768_1 13852system 768 799 Binder:768_2 13853system 768 946 Binder:768_3 13854system 768 958 Binder:768_4 13855system 770 770 sensors.qcom 13856system 770 786 sensors.qcom 13857system 770 790 sensors.qcom 13858system 770 791 sensors.qcom 13859system 770 801 sensors.qcom 13860system 770 802 sensors.qcom 13861system 770 803 sensors.qcom 13862system 770 804 sensors.qcom 13863system 770 812 sensors.qcom 13864system 770 813 sensors.qcom 13865system 770 951 sensors.qcom 13866system 770 952 sensors.qcom 13867nobody 773 773 rmt_storage 13868nobody 773 1212 rmt_storage 13869nobody 773 1213 rmt_storage 13870nobody 773 1214 rmt_storage 13871nobody 773 1215 rmt_storage 13872system 774 774 tftp_server 13873system 775 775 pd-mapper 13874system 775 796 pd-mapper 13875system 776 776 bufferhubd 13876root 777 777 lmkd 13877system 778 778 performanced 13878root 779 779 thermalserviced 13879root 779 806 HwBinder:779_1 13880root 779 809 HwBinder:779_2 13881system 780 780 Binder:780_2 13882system 780 785 Binder:780_1 13883root 782 782 at_usb0 13884root 783 783 at_usb1 13885root 784 784 qdss 13886root 798 798 qmi_hndl0000000 13887root 800 800 modem 13888system 808 808 pm-proxy 13889system 808 821 Binder:808_1 13890system 808 823 Binder:808_2 13891system 808 824 Binder:808_3 13892root 810 810 subsystem_ramdu 13893root 814 814 thermal-engine 13894root 814 879 HwBinder:814_1 13895root 814 883 thermal-engine 13896root 814 885 thermal-engine 13897root 814 886 thermal-engine 13898root 814 888 thermal-engine 13899root 814 889 thermal-engine 13900root 814 890 thermal-engine 13901root 814 891 thermal-engine 13902root 814 892 thermal-engine 13903root 814 893 thermal-engine 13904root 814 894 thermal-engine 13905root 814 895 thermal-engine 13906root 814 896 thermal-engine 13907root 814 897 thermal-engine 13908root 814 898 thermal-engine 13909root 814 899 thermal-engine 13910root 814 900 thermal-engine 13911root 814 901 thermal-engine 13912root 814 902 thermal-engine 13913root 814 903 thermal-engine 13914root 814 904 thermal-engine 13915root 814 905 thermal-engine 13916root 814 906 thermal-engine 13917root 814 908 thermal-engine 13918root 814 909 thermal-engine 13919root 814 911 thermal-engine 13920root 814 912 thermal-engine 13921root 814 913 thermal-engine 13922root 814 914 thermal-engine 13923root 814 915 thermal-engine 13924root 814 919 thermal-engine 13925root 814 920 thermal-engine 13926root 814 921 thermal-engine 13927root 814 922 thermal-engine 13928root 814 923 thermal-engine 13929root 814 924 thermal-engine 13930root 814 925 thermal-engine 13931root 814 927 thermal-engine 13932root 814 928 thermal-engine 13933root 814 929 thermal-engine 13934root 814 930 thermal-engine 13935root 814 931 thermal-engine 13936root 814 932 thermal-engine 13937root 814 933 thermal-engine 13938root 814 934 thermal-engine 13939root 814 935 thermal-engine 13940root 814 936 thermal-engine 13941root 814 937 thermal-engine 13942root 814 938 thermal-engine 13943root 814 939 thermal-engine 13944root 814 940 thermal-engine 13945root 814 941 thermal-engine 13946root 814 942 thermal-engine 13947root 814 943 thermal-engine 13948root 814 944 thermal-engine 13949root 814 953 thermal-engine 13950root 814 954 thermal-engine 13951root 814 955 thermal-engine 13952root 814 956 thermal-engine 13953root 814 957 thermal-engine 13954root 814 960 thermal-engine 13955root 814 961 thermal-engine 13956root 814 966 thermal-engine 13957root 814 1241 thermal-engine 13958root 814 1242 thermal-engine 13959media 815 815 adsprpcd 13960media 815 849 adsprpcd 13961media 815 855 adsprpcd 13962system 816 816 imsqmidaemon 13963system 816 840 imsqmidaemon 13964system 817 817 cnd 13965system 817 874 cnd 13966system 817 877 HwBinder:817_1 13967system 817 878 cnd 13968system 817 1305 cnd 13969system 817 1323 cnd 13970radio 818 818 netmgrd 13971root 818 869 netmgrd 13972radio 818 876 netmgrd 13973radio 818 907 HwBinder:818_1 13974radio 818 1020 netmgrd 13975radio 818 1021 netmgrd 13976radio 818 1022 netmgrd 13977radio 818 1114 netmgrd 13978radio 818 1115 netmgrd 13979radio 818 1307 netmgrd 13980radio 818 1635 netmgrd 13981radio 818 1637 netmgrd 13982radio 818 1638 netmgrd 13983radio 818 1640 netmgrd 13984radio 818 1770 netmgrd 13985radio 818 1836 netmgrd 13986radio 818 1841 netmgrd 13987radio 818 1844 netmgrd 13988radio 818 1909 netmgrd 13989radio 818 1910 netmgrd 13990radio 818 1911 netmgrd 13991radio 818 1916 netmgrd 13992radio 818 1952 netmgrd 13993radio 818 1953 netmgrd 13994radio 818 1955 netmgrd 13995radio 818 1956 netmgrd 13996radio 818 1957 netmgrd 13997radio 818 1994 netmgrd 13998radio 818 1995 netmgrd 13999radio 818 1996 netmgrd 14000radio 818 1997 netmgrd 14001radio 818 2038 netmgrd 14002radio 818 2039 netmgrd 14003radio 818 2040 netmgrd 14004radio 818 2044 netmgrd 14005radio 818 2058 netmgrd 14006radio 818 2059 netmgrd 14007radio 818 2060 netmgrd 14008radio 818 2061 netmgrd 14009radio 818 2063 netmgrd 14010radio 818 2064 netmgrd 14011radio 818 2065 netmgrd 14012radio 818 2066 netmgrd 14013radio 818 2082 netmgrd 14014radio 818 2088 netmgrd 14015radio 818 2089 netmgrd 14016radio 818 2096 netmgrd 14017radio 818 2107 netmgrd 14018radio 818 2108 netmgrd 14019radio 818 2109 netmgrd 14020radio 818 2110 netmgrd 14021radio 818 2114 netmgrd 14022radio 818 2115 netmgrd 14023radio 818 2116 netmgrd 14024radio 818 2117 netmgrd 14025radio 818 2119 netmgrd 14026radio 818 2120 netmgrd 14027radio 818 2121 netmgrd 14028radio 818 2122 netmgrd 14029radio 818 2124 netmgrd 14030radio 818 2125 netmgrd 14031radio 818 2126 netmgrd 14032radio 818 2127 netmgrd 14033radio 818 2129 netmgrd 14034radio 818 2130 netmgrd 14035radio 818 2131 netmgrd 14036radio 818 2132 netmgrd 14037radio 818 2136 netmgrd 14038radio 818 2137 netmgrd 14039radio 818 2138 netmgrd 14040radio 818 2139 netmgrd 14041radio 818 2143 netmgrd 14042radio 818 2144 netmgrd 14043radio 818 2146 netmgrd 14044radio 818 2147 netmgrd 14045radio 818 2151 netmgrd 14046radio 818 2152 netmgrd 14047radio 818 2153 netmgrd 14048radio 818 2154 netmgrd 14049radio 819 819 port-bridge 14050radio 819 841 port-bridge 14051radio 819 842 port-bridge 14052root 820 820 kworker/2:1H 14053radio 822 822 ipacm 14054radio 822 870 HwBinder:822_1 14055radio 822 871 ipacm 14056radio 822 872 netlink socket 14057radio 822 873 ipa driver ntfy 14058radio 827 827 qti 14059radio 827 861 qti 14060radio 827 2952 qti 14061radio 827 2953 qti 14062radio 827 2954 qti 14063audioserver 828 828 audioserver 14064audioserver 828 1121 HwBinder:828_1 14065audioserver 828 1123 ApmTone 14066audioserver 828 1124 ApmAudio 14067audioserver 828 1125 ApmOutput 14068audioserver 828 1126 Binder:828_1 14069audioserver 828 1127 Binder:828_2 14070audioserver 828 1171 FastMixer 14071audioserver 828 1172 AudioOut_D 14072audioserver 828 1173 FastMixer 14073audioserver 828 1174 AudioOut_15 14074audioserver 828 1175 AudioOut_1D 14075audioserver 828 1176 FastMixer 14076audioserver 828 1177 AudioOut_25 14077audioserver 828 1178 AudioOut_2D 14078audioserver 828 1188 soundTrigger cb 14079audioserver 828 31001 Binder:828_3 14080cameraserver 829 829 cameraserver 14081cameraserver 829 1037 HwBinder:829_1 14082cameraserver 829 1038 HwBinder:829_2 14083cameraserver 829 2104 HwBinder:829_3 14084cameraserver 829 2111 Binder:829_1 14085cameraserver 829 2112 Binder:829_2 14086cameraserver 829 1734 C3Dev-0-ReqQueu 14087cameraserver 829 9343 Binder:829_3 14088cameraserver 829 9344 Binder:829_4 14089cameraserver 829 9586 Binder:829_5 14090cameraserver 829 9587 Binder:829_6 14091drm 830 830 drmserver 14092drm 830 972 Binder:830_1 14093drm 830 15750 Binder:830_2 14094root 832 832 Binder:832_2 14095root 832 858 Binder:832_1 14096root 832 1223 Binder:832_3 14097root 832 1253 Binder:832_4 14098root 832 1257 Binder:832_5 14099root 832 2201 Binder:832_6 14100root 832 2202 Binder:832_7 14101root 832 2205 Binder:832_8 14102root 832 2206 Binder:832_9 14103root 832 2210 Binder:832_A 14104root 832 2211 Binder:832_B 14105root 832 2212 Binder:832_C 14106root 832 2213 Binder:832_D 14107root 832 2227 Binder:832_E 14108root 832 2228 Binder:832_F 14109keystore 833 833 keystore 14110keystore 833 881 HwBinder:833_1 14111media 834 834 mediadrmserver 14112media 834 917 Binder:834_1 14113media 834 3564 Binder:834_2 14114media 834 3565 HwBinder:834_1 14115mediaex 835 835 mediaextractor 14116mediaex 835 999 Binder:835_1 14117mediaex 835 1930 Binder:835_2 14118mediaex 835 3402 Binder:835_3 14119media 836 836 mediametrics 14120media 836 967 Binder:836_1 14121media 836 3641 Binder:836_2 14122media 837 837 mediaserver 14123media 837 1044 Binder:837_1 14124media 837 1378 HwBinder:837_1 14125media 837 1548 Binder:837_2 14126media 837 1550 Binder:837_3 14127root 838 838 storaged 14128root 838 975 storaged 14129root 838 976 Binder:838_1 14130wifi 839 839 wificond 14131mediacodec 843 843 omx@1.0-service 14132mediacodec 843 985 HwBinder:843_1 14133mediacodec 843 989 HwBinder:843_2 14134mediacodec 843 1003 Binder:843_1 14135mediacodec 843 1381 HwBinder:843_3 14136mediacodec 843 1712 HwBinder:843_4 14137mediacodec 843 1789 HwBinder:843_1 14138mediacodec 843 1790 HwBinder:843_1 14139mediacodec 843 10200 HwBinder:843_4 14140mediacodec 843 10499 HwBinder:843_5 14141mediacodec 843 15742 HwBinder:843_6 14142mediacodec 843 15743 HwBinder:843_7 14143mediacodec 843 6330 HwBinder:843_8 14144mediacodec 843 12451 HwBinder:843_9 14145mediacodec 843 21839 HwBinder:843_A 14146mediacodec 843 21842 HwBinder:843_B 14147mediacodec 843 21865 HwBinder:843_C 14148mediacodec 843 21895 HwBinder:843_D 14149mediacodec 843 16373 HwBinder:843_E 14150mediacodec 843 16374 HwBinder:843_F 14151radio 844 844 rild 14152radio 844 1026 rild 14153radio 844 1043 rild 14154radio 844 1217 Binder:844_1 14155radio 844 1219 rild 14156radio 844 1220 Binder:844_2 14157radio 844 1228 rild 14158radio 844 1229 rild 14159radio 844 1230 HwBinder:844_1 14160radio 844 1232 rild 14161radio 844 1233 rild 14162radio 844 1234 rild 14163radio 844 1236 rild 14164radio 844 1237 rild 14165radio 844 1238 rild 14166radio 844 1239 rild 14167radio 844 1457 rild 14168radio 844 1458 rild 14169radio 844 1459 rild 14170radio 844 1460 rild 14171radio 844 1461 rild 14172radio 844 1462 rild 14173radio 844 1464 rild 14174radio 844 1465 rild 14175radio 844 1466 rild 14176radio 844 1474 rild 14177radio 844 1475 rild 14178radio 844 1518 rild 14179radio 844 1520 rild 14180radio 844 1584 rild 14181radio 844 1599 rild 14182radio 844 1605 rild 14183radio 844 1606 rild 14184radio 844 1607 rild 14185radio 844 1616 rild 14186radio 844 1622 rild 14187radio 844 1624 rild 14188radio 844 1626 rild 14189radio 844 1627 rild 14190radio 844 1629 rild 14191radio 844 1631 rild 14192radio 844 1632 rild 14193root 845 845 kworker/1:2 14194system 848 848 folio_daemon 14195system 850 850 cnss-daemon 14196system 850 959 cnss-daemon 14197system 850 962 cnss-daemon 14198system 850 1216 Binder:850_1 14199system 850 1221 cnss-daemon 14200system 850 1222 Binder:850_2 14201system 850 1360 cnss-daemon 14202system 850 13277 cnss-daemon 14203gps 851 851 loc_launcher 14204gps 851 864 loc_launcher 14205system 852 852 chre 14206system 852 863 chre 14207system 852 867 chre 14208system 852 868 chre 14209system 852 1131 chre 14210system 852 1132 chre 14211system 854 854 gatekeeperd 14212tombstoned 856 856 tombstoned 14213root 857 857 update_engine 14214system 859 859 fingerprint@2.1 14215system 859 1101 android.hardwar 14216system 859 1102 android.hardwar 14217system 859 1104 HwBinder:859_1 14218system 860 860 cnss_diag 14219system 860 926 cnss_diag 14220system 875 875 imsdatadaemon 14221system 875 986 imsdatadaemon 14222system 875 1009 imsdatadaemon 14223system 875 1010 imsdatadaemon 14224system 875 1011 imsdatadaemon 14225system 875 1306 imsdatadaemon 14226system 875 1321 imsdatadaemon 14227root 880 880 ipawq15 14228root 916 916 iparepwq15 14229root 965 965 ipawq48 14230root 969 969 msm_thermal:fre 14231root 971 971 msm_thermal:the 14232root 973 973 iparepwq48 14233root 974 974 kworker/u17:1 14234root 979 979 ipawq13 14235root 984 984 iparepwq13 14236root 997 997 ipa_A7_svc 14237root 1002 1002 qmi_hndl0000000 14238root 1004 1004 clnt_req 14239root 1007 1007 clnt_resp 14240root 1012 1012 clnt_req 14241root 1094 1094 irq/157-arm-smm 14242root 1095 1095 irq/162-arm-smm 14243root 1118 1118 wdsp_glink_wq 14244system 1136 1136 system_server 14245system 1136 1141 Signal Catcher 14246system 1136 1142 JDWP 14247system 1136 1143 ReferenceQueueD 14248system 1136 1144 FinalizerDaemon 14249system 1136 1145 FinalizerWatchd 14250system 1136 1146 HeapTaskDaemon 14251system 1136 1152 Binder:1136_1 14252system 1136 1153 Binder:1136_2 14253system 1136 1155 android.bg 14254system 1136 1156 ActivityManager 14255system 1136 1157 android.ui 14256system 1136 1158 ActivityManager 14257system 1136 1159 batterystats-wo 14258system 1136 1160 FileObserver 14259system 1136 1161 android.fg 14260system 1136 1162 android.io 14261system 1136 1163 android.display 14262system 1136 1164 CpuTracker 14263system 1136 1165 PowerManagerSer 14264system 1136 1166 system_server 14265system 1136 1167 BatteryStats_wa 14266system 1136 1168 PackageManager 14267system 1136 1240 PackageInstalle 14268system 1136 1244 android.anim 14269system 1136 1248 SensorEventAckR 14270system 1136 1249 SensorService 14271system 1136 1250 AccountManagerS 14272system 1136 1252 SettingsProvide 14273system 1136 1258 AlarmManager 14274system 1136 1259 UEventObserver 14275system 1136 1266 HwBinder:1136_1 14276system 1136 1267 HwBinder:1136_2 14277system 1136 1269 InputDispatcher 14278system 1136 1270 InputReader 14279system 1136 1272 StorageManagerS 14280system 1136 1273 VoldConnector 14281system 1136 1274 CryptdConnector 14282system 1136 1279 NetdConnector 14283system 1136 1280 NetworkStats 14284system 1136 1281 NetworkPolicy 14285system 1136 1282 tworkPolicy.uid 14286system 1136 1284 WifiService 14287system 1136 1285 WifiStateMachin 14288system 1136 1286 IpManager.wlan0 14289system 1136 1287 WifiScanningSer 14290system 1136 1288 WifiRttService 14291system 1136 1289 WifiP2pService 14292system 1136 1290 ConnectivitySer 14293system 1136 1291 roid.pacmanager 14294system 1136 1292 NsdService 14295system 1136 1293 mDnsConnector 14296system 1136 1294 notification-sq 14297system 1136 1295 ranker 14298system 1136 1296 onProviders.ECP 14299system 1136 1297 DeviceStorageMo 14300system 1136 1298 AudioService 14301system 1136 1300 HwBinder:1136_3 14302system 1136 1302 ConnectivityThr 14303system 1136 1303 GraphicsStats-d 14304system 1136 1304 CameraService_p 14305system 1136 1313 SyncHandler-0 14306system 1136 1314 wifiAwareServic 14307system 1136 1315 EthernetService 14308system 1136 1316 TaskSnapshotPer 14309system 1136 1317 PhotonicModulat 14310system 1136 1318 LazyTaskWriterT 14311system 1136 1332 UsbService host 14312system 1136 1338 Thread-2 14313system 1136 1347 Binder:1136_3 14314system 1136 1353 SoundPool 14315system 1136 1356 SoundPoolThread 14316system 1136 1387 NetworkStatsObs 14317system 1136 1432 watchdog 14318system 1136 1490 EmergencyAfford 14319system 1136 1504 Binder:1136_4 14320system 1136 1509 Binder:1136_5 14321system 1136 1531 NetworkTimeUpda 14322system 1136 1609 Binder:1136_6 14323system 1136 1615 Binder:1136_7 14324system 1136 1630 Binder:1136_8 14325system 1136 1633 Binder:1136_9 14326system 1136 1634 Binder:1136_A 14327system 1136 1742 BluetoothRouteM 14328system 1136 1746 uteStateMachine 14329system 1136 1747 CallAudioModeSt 14330system 1136 1807 queued-work-loo 14331system 1136 2026 hidl_ssvc_poll 14332system 1136 2173 UsbDebuggingMan 14333system 1136 2249 backup 14334system 1136 2329 Binder:1136_B 14335system 1136 2335 Binder:1136_C 14336system 1136 2391 Binder:1136_D 14337system 1136 2434 SyncHandler-1 14338system 1136 2437 Binder:1136_E 14339system 1136 2915 AsyncQueryWorke 14340system 1136 3268 HwBinder:1136_4 14341system 1136 4183 Binder:1136_F 14342system 1136 4278 Binder:1136_10 14343system 1136 4300 Binder:1136_11 14344system 1136 4801 Okio Watchdog 14345system 1136 4939 android.anim 14346system 1136 4959 RenderThread 14347system 1136 7074 Binder:1136_12 14348system 1136 13711 HwBinder:1136_5 14349system 1136 11882 OkHttp Connecti 14350system 1136 12286 pool-2-thread-3 14351system 1136 13719 Instrumentation 14352root 1209 1209 mpss_IPCRTR 14353root 1210 1210 qmi_hndl0000000 14354root 1211 1211 qmi_hndl0000000 14355root 1243 1243 qmi_hndl0000000 14356u0_a39 1341 1341 ndroid.systemui 14357u0_a39 1341 1348 Jit thread pool 14358u0_a39 1341 1349 Signal Catcher 14359u0_a39 1341 1350 JDWP 14360u0_a39 1341 1351 ReferenceQueueD 14361u0_a39 1341 1352 FinalizerDaemon 14362u0_a39 1341 1354 FinalizerWatchd 14363u0_a39 1341 1355 HeapTaskDaemon 14364u0_a39 1341 1358 Binder:1341_1 14365u0_a39 1341 1361 Binder:1341_2 14366u0_a39 1341 1375 Binder:1341_3 14367u0_a39 1341 1522 pool-1-thread-1 14368u0_a39 1341 1523 SoundPool 14369u0_a39 1341 1524 SoundPoolThread 14370u0_a39 1341 1532 Recents-HighRes 14371u0_a39 1341 1533 Recents-TaskRes 14372u0_a39 1341 1540 recents.fg 14373u0_a39 1341 1566 async_sensor 14374u0_a39 1341 1686 VolumeDialogCon 14375u0_a39 1341 1694 SysUiBg 14376u0_a39 1341 1757 queued-work-loo 14377u0_a39 1341 1768 RenderThread 14378u0_a39 1341 1781 ConnectivityThr 14379u0_a39 1341 1797 TimeTick 14380u0_a39 1341 1892 Keyboard 14381u0_a39 1341 1915 pool-2-thread-1 14382u0_a39 1341 1926 HwBinder:1341_1 14383u0_a39 1341 2012 RenderThread 14384u0_a39 1341 2013 hwuiTask1 14385u0_a39 1341 2027 hwuiTask2 14386u0_a39 1341 2035 Thread-2 14387u0_a39 1341 10541 Binder:1341_4 14388u0_a39 1341 10803 FlashlightContr 14389u0_a39 1341 21891 Binder:1341_5 14390u0_a39 1341 13607 AsyncTask #503 14391u0_a39 1341 13608 InflaterThread 14392u0_a39 1341 13609 InflaterThread 14393u0_a39 1341 13610 InflaterThread 14394root 1357 1357 qmi_hndl0000000 14395radio 1362 1362 le.modemservice 14396radio 1362 1367 Jit thread pool 14397radio 1362 1368 Signal Catcher 14398radio 1362 1369 JDWP 14399radio 1362 1370 ReferenceQueueD 14400radio 1362 1371 FinalizerDaemon 14401radio 1362 1372 FinalizerWatchd 14402radio 1362 1373 HeapTaskDaemon 14403radio 1362 1374 Binder:1362_1 14404radio 1362 1376 Binder:1362_2 14405radio 1362 1430 Profile Saver 14406radio 1362 1434 ModemService 14407radio 1362 1452 queued-work-loo 14408radio 1362 23042 Binder:1362_3 14409radio 1438 1438 .qcrilmsgtunnel 14410radio 1438 1443 Jit thread pool 14411radio 1438 1444 Signal Catcher 14412radio 1438 1445 JDWP 14413radio 1438 1446 ReferenceQueueD 14414radio 1438 1447 FinalizerDaemon 14415radio 1438 1448 FinalizerWatchd 14416radio 1438 1449 HeapTaskDaemon 14417radio 1438 1453 Binder:1438_1 14418radio 1438 1454 Binder:1438_2 14419radio 1438 1456 Binder:1438_3 14420radio 1438 1492 Profile Saver 14421radio 1438 1503 HwBinder:1438_1 14422radio 1438 1505 queued-work-loo 14423u0_a99 1467 1467 reel.wallpapers 14424u0_a99 1467 1476 Jit thread pool 14425u0_a99 1467 1477 Signal Catcher 14426u0_a99 1467 1479 JDWP 14427u0_a99 1467 1480 ReferenceQueueD 14428u0_a99 1467 1481 FinalizerDaemon 14429u0_a99 1467 1487 FinalizerWatchd 14430u0_a99 1467 1489 HeapTaskDaemon 14431u0_a99 1467 1491 Binder:1467_1 14432u0_a99 1467 1493 Binder:1467_2 14433u0_a99 1467 1494 Binder:1467_3 14434u0_a99 1467 1506 Profile Saver 14435u0_a99 1467 1793 GLThread 43 14436u0_a99 1467 1795 SoundPool 14437u0_a99 1467 1796 SoundPoolThread 14438u0_a99 1467 1798 AsynchExecutor- 14439u0_a99 1467 1990 GLThread 43 14440gps 1546 1546 lowi-server 14441gps 1546 1596 lowi-server 14442gps 1546 1597 lowi-server 14443gps 1546 1600 lowi-server 14444gps 1546 1601 lowi-server 14445gps 1546 2268 lowi-server 14446gps 1546 2269 lowi-server 14447gps 1546 2271 lowi-server 14448gps 1546 12179 lowi-server 14449system 1556 1556 .dataservices 14450system 1556 1567 Jit thread pool 14451system 1556 1568 Signal Catcher 14452system 1556 1569 JDWP 14453system 1556 1571 ReferenceQueueD 14454system 1556 1572 FinalizerDaemon 14455system 1556 1573 FinalizerWatchd 14456system 1556 1574 HeapTaskDaemon 14457system 1556 1575 Binder:1556_1 14458system 1556 1577 Binder:1556_2 14459system 1556 1677 Profile Saver 14460system 1556 1685 cneservice_thre 14461system 1556 1691 CNEReceiver 14462system 1556 1698 ConnectivityThr 14463system 1556 1701 MainEventThread 14464system 1556 1702 HwBinder:1556_1 14465system 1556 4828 queued-work-loo 14466system 1556 10575 Binder:1556_3 14467system 1556 32603 Binder:1556_4 14468gps 1562 1562 xtra-daemon 14469gps 1562 1589 pcid-lo 14470gps 1562 1603 pcid-lo 14471gps 1562 1604 pcid-lo 14472gps 1562 1608 pcid-lo 14473gps 1562 1610 LocTime 14474gps 1562 1611 LocTime 14475gps 1563 1563 loc_launcher 14476gps 1564 1564 loc_launcher 14477gps 1565 1565 loc_launcher 14478radio 1576 1576 elephonyservice 14479radio 1576 1582 Jit thread pool 14480radio 1576 1583 Signal Catcher 14481radio 1576 1586 JDWP 14482radio 1576 1592 ReferenceQueueD 14483radio 1576 1593 FinalizerDaemon 14484radio 1576 1594 FinalizerWatchd 14485radio 1576 1595 HeapTaskDaemon 14486radio 1576 1598 Binder:1576_1 14487radio 1576 1602 Binder:1576_2 14488radio 1576 1695 Profile Saver 14489radio 1576 2778 HwBinder:1576_1 14490radio 1576 2785 queued-work-loo 14491radio 1585 1585 m.android.phone 14492radio 1585 1612 Jit thread pool 14493radio 1585 1613 Signal Catcher 14494radio 1585 1614 JDWP 14495radio 1585 1617 ReferenceQueueD 14496radio 1585 1618 FinalizerDaemon 14497radio 1585 1619 FinalizerWatchd 14498radio 1585 1620 HeapTaskDaemon 14499radio 1585 1623 Binder:1585_1 14500radio 1585 1625 Binder:1585_2 14501radio 1585 1683 Profile Saver 14502radio 1585 1721 EuiccConnector 14503radio 1585 1724 android.bg 14504radio 1585 1732 HwBinder:1585_1 14505radio 1585 1749 GsmCellBroadcas 14506radio 1585 1755 GsmInboundSmsHa 14507radio 1585 1756 CellBroadcastHa 14508radio 1585 1759 CdmaInboundSmsH 14509radio 1585 1761 CdmaServiceCate 14510radio 1585 1780 DcHandlerThread 14511radio 1585 1784 Binder:1585_3 14512radio 1585 1811 Binder:1585_4 14513radio 1585 1822 ImsServiceContr 14514radio 1585 1829 queued-work-loo 14515radio 1585 1832 org.codeaurora. 14516radio 1585 1833 ImsConfigImplHa 14517radio 1585 1902 Binder:1585_5 14518radio 1585 2916 ervice.Executor 14519radio 1585 2917 ConnectivityThr 14520radio 1585 30697 AudioTrack 14521radio 1585 9825 Binder:1585_6 14522root 1644 1644 ipawq14 14523root 1651 1651 iparepwq14 14524root 1659 1659 ipawq49 14525root 1665 1665 iparepwq49 14526root 2193 2193 irq/35-1008000. 14527root 2203 2203 kworker/3:1H 14528root 2207 2207 wlan_logging_th 14529root 2208 2208 perfd 14530root 2208 2215 perfd 14531root 2208 2218 POSIX timer 0 14532root 2208 21805 POSIX timer 71 14533root 2219 2219 cds_mc_thread 14534root 2220 2220 cds_ol_rx_threa 14535nfc 2315 2315 com.android.nfc 14536nfc 2315 2320 Jit thread pool 14537nfc 2315 2321 Signal Catcher 14538nfc 2315 2322 JDWP 14539nfc 2315 2323 ReferenceQueueD 14540nfc 2315 2324 FinalizerDaemon 14541nfc 2315 2325 FinalizerWatchd 14542nfc 2315 2326 HeapTaskDaemon 14543nfc 2315 2327 Binder:2315_1 14544nfc 2315 2328 Binder:2315_2 14545nfc 2315 2414 Profile Saver 14546nfc 2315 2576 HwBinder:2315_1 14547nfc 2315 5876 queued-work-loo 14548nfc 2315 17107 Binder:2315_3 14549radio 2330 2330 .ims.rcsservice 14550radio 2330 2336 Jit thread pool 14551radio 2330 2342 Signal Catcher 14552radio 2330 2343 JDWP 14553radio 2330 2344 ReferenceQueueD 14554radio 2330 2345 FinalizerDaemon 14555radio 2330 2346 FinalizerWatchd 14556radio 2330 2347 HeapTaskDaemon 14557radio 2330 2352 Binder:2330_1 14558radio 2330 2356 Binder:2330_2 14559radio 2330 2357 Binder:2330_3 14560radio 2330 2375 Profile Saver 14561radio 2330 2471 Listener 14562radio 2330 2482 queued-work-loo 14563radio 2330 2888 EABServiceHandl 14564system 2337 2337 RestartDetector 14565system 2337 2348 Jit thread pool 14566system 2337 2349 Signal Catcher 14567system 2337 2350 JDWP 14568system 2337 2351 ReferenceQueueD 14569system 2337 2353 FinalizerDaemon 14570system 2337 2354 FinalizerWatchd 14571system 2337 2355 HeapTaskDaemon 14572system 2337 2358 Binder:2337_1 14573system 2337 2359 Binder:2337_2 14574system 2337 2430 Profile Saver 14575system 2337 3132 FileObserver 14576system 2337 3133 queued-work-loo 14577u0_a47 2438 2438 s.nexuslauncher 14578u0_a47 2438 2443 Jit thread pool 14579u0_a47 2438 2444 Signal Catcher 14580u0_a47 2438 2445 JDWP 14581u0_a47 2438 2446 ReferenceQueueD 14582u0_a47 2438 2447 FinalizerDaemon 14583u0_a47 2438 2448 FinalizerWatchd 14584u0_a47 2438 2449 HeapTaskDaemon 14585u0_a47 2438 2450 Binder:2438_1 14586u0_a47 2438 2451 Binder:2438_2 14587u0_a47 2438 2470 Profile Saver 14588u0_a47 2438 2477 launcher-loader 14589u0_a47 2438 2483 GAC_Executor[0] 14590u0_a47 2438 2484 GoogleApiHandle 14591u0_a47 2438 2542 pool-1-thread-1 14592u0_a47 2438 2545 qsb-experiments 14593u0_a47 2438 2561 smartspace-load 14594u0_a47 2438 2569 reflection-thre 14595u0_a47 2438 2584 RenderThread 14596u0_a47 2438 2585 GAC_Executor[1] 14597u0_a47 2438 2600 RenderThread 14598u0_a47 2438 2604 hwuiTask1 14599u0_a47 2438 2605 hwuiTask2 14600u0_a47 2438 2613 RenderThread 14601u0_a47 2438 2614 RenderThread 14602u0_a47 2438 2615 RenderThread 14603u0_a47 2438 2616 RenderThread 14604u0_a47 2438 2617 RenderThread 14605u0_a47 2438 2618 RenderThread 14606u0_a47 2438 2619 RenderThread 14607u0_a47 2438 2620 RenderThread 14608u0_a47 2438 2632 Binder:2438_3 14609u0_a47 2438 2721 queued-work-loo 14610u0_a29 2452 2452 elligence.sense 14611u0_a29 2452 2457 Jit thread pool 14612u0_a29 2452 2458 Signal Catcher 14613u0_a29 2452 2462 JDWP 14614u0_a29 2452 2463 ReferenceQueueD 14615u0_a29 2452 2464 FinalizerDaemon 14616u0_a29 2452 2465 FinalizerWatchd 14617u0_a29 2452 2466 HeapTaskDaemon 14618u0_a29 2452 2467 Binder:2452_1 14619u0_a29 2452 2469 Binder:2452_2 14620u0_a29 2452 2481 Profile Saver 14621u0_a29 2452 2553 GoogleApiHandle 14622u0_a29 2452 2580 superpacks-cont 14623u0_a29 2452 2595 Background #0 14624u0_a29 2452 2597 Background #1 14625u0_a29 2452 4747 queued-work-loo 14626u0_a29 2452 5882 Binder:2452_3 14627u0_a29 2452 5884 Primes-1 14628u0_a29 2452 6961 Primes-2 14629u0_a32 3721 3721 .apps.turbo:aab 14630u0_a32 3721 3726 Jit thread pool 14631u0_a32 3721 3727 Signal Catcher 14632u0_a32 3721 3728 JDWP 14633u0_a32 3721 3729 ReferenceQueueD 14634u0_a32 3721 3730 FinalizerDaemon 14635u0_a32 3721 3731 FinalizerWatchd 14636u0_a32 3721 3732 HeapTaskDaemon 14637u0_a32 3721 3733 Binder:3721_1 14638u0_a32 3721 3734 Binder:3721_2 14639u0_a32 3721 3735 Binder:3721_3 14640u0_a32 3721 3736 Profile Saver 14641u0_a32 3721 3741 queued-work-loo 14642u0_a32 3721 3742 GoogleApiHandle 14643u0_a32 3721 5885 Primes-1 14644u0_a32 3721 6962 Primes-2 14645root 3724 3724 iptables-restor 14646root 3737 3737 ip6tables-resto 14647root 4292 4292 kworker/5:0 14648root 4337 4337 kworker/4:0 14649system 4764 4764 lcomm.telephony 14650system 4764 4769 Jit thread pool 14651system 4764 4770 Signal Catcher 14652system 4764 4771 JDWP 14653system 4764 4772 ReferenceQueueD 14654system 4764 4773 FinalizerDaemon 14655system 4764 4774 FinalizerWatchd 14656system 4764 4775 HeapTaskDaemon 14657system 4764 4776 Binder:4764_1 14658system 4764 4777 Binder:4764_2 14659system 4764 4778 Profile Saver 14660system 4764 4779 Thread-2 14661system 4764 4780 CTSA Inject Thr 14662system 4764 4781 HwBinder:4764_1 14663system 4764 4782 queued-work-loo 14664u0_a44 4845 4845 n.mips.services 14665u0_a44 4845 4850 Jit thread pool 14666u0_a44 4845 4851 Signal Catcher 14667u0_a44 4845 4852 JDWP 14668u0_a44 4845 4853 ReferenceQueueD 14669u0_a44 4845 4854 FinalizerDaemon 14670u0_a44 4845 4855 FinalizerWatchd 14671u0_a44 4845 4856 HeapTaskDaemon 14672u0_a44 4845 4857 Binder:4845_1 14673u0_a44 4845 4858 Binder:4845_2 14674u0_a44 4845 4873 Binder:4845_3 14675u0_a44 4845 4875 Profile Saver 14676u0_a44 4845 4881 queued-work-loo 14677u0_a44 4845 5255 ConnectivityThr 14678u0_a44 4845 5830 Okio Watchdog 14679u0_a712 4896 4896 .android.daemon 14680u0_a712 4896 4902 Jit thread pool 14681u0_a712 4896 4903 Signal Catcher 14682u0_a712 4896 4904 JDWP 14683u0_a712 4896 4905 ReferenceQueueD 14684u0_a712 4896 4906 FinalizerDaemon 14685u0_a712 4896 4907 FinalizerWatchd 14686u0_a712 4896 4908 HeapTaskDaemon 14687u0_a712 4896 4909 Binder:4896_1 14688u0_a712 4896 4910 Binder:4896_2 14689u0_a712 4896 4914 Profile Saver 14690u0_a712 4896 4935 queued-work-loo 14691u0_a712 4896 4947 ConnectivityThr 14692u0_a712 4896 4957 RenderThread 14693u0_a712 4896 4962 RenderThread 14694u0_a712 4896 4965 hwuiTask1 14695u0_a712 4896 9617 Binder:4896_3 14696root 4937 4937 kworker/2:1 14697root 5027 5027 adbd 14698root 5027 5028 usb ffs open 14699root 5027 5079 ->transport 14700root 5027 5080 <-transport 14701root 5027 13728 shell svc 13727 14702u0_a26 7090 7090 .gms.persistent 14703u0_a26 7090 7095 Jit thread pool 14704u0_a26 7090 7096 Signal Catcher 14705u0_a26 7090 7097 JDWP 14706u0_a26 7090 7103 ReferenceQueueD 14707u0_a26 7090 7104 FinalizerDaemon 14708u0_a26 7090 7105 FinalizerWatchd 14709u0_a26 7090 7106 HeapTaskDaemon 14710u0_a26 7090 7107 Binder:7090_1 14711u0_a26 7090 7110 Binder:7090_2 14712u0_a26 7090 7121 Profile Saver 14713u0_a26 7090 7125 FileObserver 14714u0_a26 7090 7130 GlobalScheduler 14715u0_a26 7090 7139 GlobalDispatchi 14716u0_a26 7090 7143 GoogleApiHandle 14717u0_a26 7090 7157 queued-work-loo 14718u0_a26 7090 7162 Binder:7090_3 14719u0_a26 7090 7174 GeofencerStateM 14720u0_a26 7090 7176 RealContextHub 14721u0_a26 7090 7177 GAC_Executor[0] 14722u0_a26 7090 7178 ConnectivityThr 14723u0_a26 7090 7179 FlpThread 14724u0_a26 7090 7191 highpool[0] 14725u0_a26 7090 7192 highpool[1] 14726u0_a26 7090 7193 Binder:7090_4 14727u0_a26 7090 7194 highpool[2] 14728u0_a26 7090 7195 highpool[3] 14729u0_a26 7090 7196 GAC_Executor[1] 14730u0_a26 7090 7204 GoogleLocationS 14731u0_a26 7090 7207 lowpool[0] 14732u0_a26 7090 7209 MSMuxTR-0 14733u0_a26 7090 7235 lowpool[3] 14734u0_a26 7090 7421 Binder:7090_5 14735u0_a26 7090 7962 Thread-7 14736u0_a26 7090 7963 Thread-8 14737u0_a26 7090 7964 Thread-9 14738u0_a26 7090 7965 Thread-10 14739u0_a26 7090 7966 Thread-11 14740u0_a26 7090 7967 DG 14741u0_a26 7090 10905 Binder:7090_6 14742u0_a26 7090 8433 lowpool[4] 14743u0_a26 7090 12371 netscheduler-qu 14744u0_a26 7090 12412 lowpool[5] 14745u0_a26 7090 13323 peration loader 14746u0_a26 7090 13397 raService] idle 14747u0_a26 7098 7098 gle.android.gms 14748u0_a26 7098 7109 Jit thread pool 14749u0_a26 7098 7112 Signal Catcher 14750u0_a26 7098 7113 JDWP 14751u0_a26 7098 7115 ReferenceQueueD 14752u0_a26 7098 7116 FinalizerDaemon 14753u0_a26 7098 7117 FinalizerWatchd 14754u0_a26 7098 7118 HeapTaskDaemon 14755u0_a26 7098 7119 Binder:7098_1 14756u0_a26 7098 7120 Binder:7098_2 14757u0_a26 7098 7122 Binder:7098_3 14758u0_a26 7098 7123 Profile Saver 14759u0_a26 7098 7131 GlobalDispatchi 14760u0_a26 7098 7144 GoogleApiHandle 14761u0_a26 7098 7145 FileObserver 14762u0_a26 7098 7158 queued-work-loo 14763u0_a26 7098 7776 lowpool[0] 14764u0_a26 7098 7953 GAC_Executor[0] 14765u0_a26 7098 7956 GAC_Executor[1] 14766u0_a26 7098 8122 GlobalScheduler 14767u0_a26 7098 8594 Binder:7098_4 14768u0_a26 7098 10593 lowpool[3] 14769u0_a26 7098 11037 Binder:7098_5 14770u0_a26 7098 17202 Binder:7098_6 14771u0_a26 7098 21793 Binder:7098_7 14772u0_a26 7098 29707 Binder:7098_8 14773u0_a26 7098 10450 Thread-446 14774u0_a26 7098 10451 Thread-447 14775u0_a26 7098 10452 Thread-448 14776u0_a26 7098 10453 Thread-449 14777u0_a26 7098 10454 Thread-450 14778u0_a26 7098 25963 Binder:7098_9 14779u0_a26 7098 15761 highpool[0] 14780u0_a26 7098 12547 AdWorker(Defaul 14781u0_a26 7098 12578 highpool[2] 14782u0_a26 7098 12588 lowpool[5] 14783u0_a26 7098 12589 highpool[3] 14784u0_a26 7098 12655 highpool[4] 14785u0_a26 7098 12701 ConnectivityThr 14786u0_a26 7098 12729 DG 14787u0_a26 7098 13002 grpc-timer-0 14788u0_a26 7098 13003 grpc-default-ex 14789u0_a26 7098 13005 grpc-default-ex 14790u0_a26 7098 13051 lowpool[6] 14791u0_a26 7098 13193 measurement-1 14792u0_a26 7098 13318 peration loader 14793u0_a26 7098 13337 raService] idle 14794u0_a26 7098 13347 lowpool[7] 14795root 7580 7580 kworker/7:2 14796root 7655 7655 kworker/0:1 14797root 7755 7755 kworker/2:0 14798u0_a38 8947 8947 d.process.media 14799u0_a38 8947 8952 Jit thread pool 14800u0_a38 8947 8953 Signal Catcher 14801u0_a38 8947 8954 JDWP 14802u0_a38 8947 8955 ReferenceQueueD 14803u0_a38 8947 8956 FinalizerDaemon 14804u0_a38 8947 8957 FinalizerWatchd 14805u0_a38 8947 8958 HeapTaskDaemon 14806u0_a38 8947 8959 Binder:8947_1 14807u0_a38 8947 8960 Binder:8947_2 14808u0_a38 8947 8961 Profile Saver 14809u0_a38 8947 8963 thumbs thread 14810u0_a38 8947 8964 sAsyncHandlerTh 14811u0_a38 8947 9852 queued-work-loo 14812root 10171 10171 kworker/0:2 14813root 10578 10578 kworker/u16:6 14814root 10822 10822 kworker/u16:0 14815root 11013 11013 kworker/7:0 14816root 11093 11093 kworker/u16:5 14817root 11198 11198 kworker/1:1 14818root 11204 11204 kworker/3:0 14819root 11314 11314 kworker/5:1 14820root 11385 11385 kworker/6:1 14821root 11468 11468 kworker/u16:2 14822root 11477 11477 kworker/4:2 14823root 11483 11483 kworker/2:4 14824root 11635 11635 kworker/6:0 14825root 11710 11710 kworker/0:3 14826root 11723 11723 kworker/3:1 14827root 11733 11733 kworker/2:2 14828root 11737 11737 kworker/4:1 14829root 11740 11740 kworker/1:0 14830root 11801 11801 kworker/7:1 14831root 11894 11894 kworker/6:2 14832root 11895 11895 kworker/u16:4 14833root 11896 11896 kworker/2:3 14834root 11961 11961 kworker/0:0 14835root 11963 11963 kworker/4:3 14836root 11972 11972 kworker/3:2 14837root 12010 12010 kworker/7:3 14838root 12136 12136 kworker/3:3 14839root 12172 12172 kworker/u16:7 14840root 12173 12173 kworker/u16:9 14841root 12174 12174 kworker/u16:10 14842root 12175 12175 kworker/u16:12 14843root 12176 12176 kworker/u16:13 14844root 12177 12177 kworker/u16:14 14845root 12178 12178 kworker/u16:15 14846u0_a26 12188 12188 e.process.gapps 14847u0_a26 12188 12193 Jit thread pool 14848u0_a26 12188 12194 Signal Catcher 14849u0_a26 12188 12195 JDWP 14850u0_a26 12188 12196 ReferenceQueueD 14851u0_a26 12188 12197 FinalizerDaemon 14852u0_a26 12188 12198 FinalizerWatchd 14853u0_a26 12188 12199 HeapTaskDaemon 14854u0_a26 12188 12200 Binder:12188_1 14855u0_a26 12188 12201 Binder:12188_2 14856u0_a26 12188 12202 Binder:12188_3 14857u0_a26 12188 12203 Profile Saver 14858u0_a26 12188 12219 RefQueueWorker@ 14859u0_a26 12188 12406 Binder:12188_4 14860u0_a26 12188 12411 Binder:12188_5 14861u0_a26 12204 12204 ocess.gservices 14862u0_a26 12204 12209 Jit thread pool 14863u0_a26 12204 12210 Signal Catcher 14864u0_a26 12204 12211 JDWP 14865u0_a26 12204 12212 ReferenceQueueD 14866u0_a26 12204 12213 FinalizerDaemon 14867u0_a26 12204 12214 FinalizerWatchd 14868u0_a26 12204 12215 HeapTaskDaemon 14869u0_a26 12204 12216 Binder:12204_1 14870u0_a26 12204 12217 Binder:12204_2 14871u0_a26 12204 12218 Profile Saver 14872u0_a26 12204 12315 Binder:12204_3 14873u0_a26 12204 12316 Binder:12204_4 14874u0_a26 12204 12318 Binder:12204_5 14875u0_a26 12204 12320 Binder:12204_6 14876u0_a26 12204 13185 Binder:12204_7 14877u0_a15 12324 12324 ctivity.metrics 14878u0_a15 12324 12329 Jit thread pool 14879u0_a15 12324 12330 Signal Catcher 14880u0_a15 12324 12331 JDWP 14881u0_a15 12324 12332 ReferenceQueueD 14882u0_a15 12324 12333 FinalizerDaemon 14883u0_a15 12324 12334 FinalizerWatchd 14884u0_a15 12324 12335 HeapTaskDaemon 14885u0_a15 12324 12336 Binder:12324_1 14886u0_a15 12324 12339 Binder:12324_2 14887u0_a15 12324 12342 Profile Saver 14888u0_a15 12324 12345 GAC_Executor[0] 14889u0_a15 12324 12364 GAC_Executor[1] 14890u0_a22 12381 12381 id.partnersetup 14891u0_a22 12381 12386 Jit thread pool 14892u0_a22 12381 12387 Signal Catcher 14893u0_a22 12381 12388 JDWP 14894u0_a22 12381 12389 ReferenceQueueD 14895u0_a22 12381 12390 FinalizerDaemon 14896u0_a22 12381 12391 FinalizerWatchd 14897u0_a22 12381 12392 HeapTaskDaemon 14898u0_a22 12381 12393 Binder:12381_1 14899u0_a22 12381 12394 Binder:12381_2 14900u0_a22 12381 12395 Profile Saver 14901webview_zygote 12409 12409 main 14902webview_zygote 12409 12458 ReferenceQueueD 14903webview_zygote 12409 12459 FinalizerDaemon 14904webview_zygote 12409 12460 FinalizerWatchd 14905webview_zygote 12409 12461 HeapTaskDaemon 14906radio 12413 12413 elephonymonitor 14907radio 12413 12418 Jit thread pool 14908radio 12413 12419 Signal Catcher 14909radio 12413 12420 JDWP 14910radio 12413 12421 ReferenceQueueD 14911radio 12413 12422 FinalizerDaemon 14912radio 12413 12423 FinalizerWatchd 14913radio 12413 12424 HeapTaskDaemon 14914radio 12413 12425 Binder:12413_1 14915radio 12413 12426 Binder:12413_2 14916radio 12413 12427 Profile Saver 14917u0_a93 12475 12475 id.printspooler 14918u0_a93 12475 12480 Jit thread pool 14919u0_a93 12475 12481 Signal Catcher 14920u0_a93 12475 12482 JDWP 14921u0_a93 12475 12483 ReferenceQueueD 14922u0_a93 12475 12484 FinalizerDaemon 14923u0_a93 12475 12485 FinalizerWatchd 14924u0_a93 12475 12486 HeapTaskDaemon 14925u0_a93 12475 12487 Binder:12475_1 14926u0_a93 12475 12488 Binder:12475_2 14927u0_a93 12475 12489 Profile Saver 14928u0_a93 12475 13072 queued-work-loo 14929u0_a25 12601 12601 ndroid.apps.gcs 14930u0_a25 12601 12606 Jit thread pool 14931u0_a25 12601 12607 Signal Catcher 14932u0_a25 12601 12608 JDWP 14933u0_a25 12601 12609 ReferenceQueueD 14934u0_a25 12601 12610 FinalizerDaemon 14935u0_a25 12601 12611 FinalizerWatchd 14936u0_a25 12601 12612 HeapTaskDaemon 14937u0_a25 12601 12613 Binder:12601_1 14938u0_a25 12601 12614 Binder:12601_2 14939u0_a25 12601 12616 Profile Saver 14940u0_a25 12601 12624 queued-work-loo 14941u0_a25 12601 12629 measurement-1 14942u0_a25 12601 12634 GAC_Executor[0] 14943u0_a25 12601 12635 GAC_Executor[1] 14944u0_a25 12601 12636 GoogleApiHandle 14945u0_a25 12601 13184 Primes-1 14946u0_a11 12638 12638 d.process.acore 14947u0_a11 12638 12642 Jit thread pool 14948u0_a11 12638 12643 Signal Catcher 14949u0_a11 12638 12644 JDWP 14950u0_a11 12638 12646 ReferenceQueueD 14951u0_a11 12638 12647 FinalizerDaemon 14952u0_a11 12638 12648 FinalizerWatchd 14953u0_a11 12638 12649 HeapTaskDaemon 14954u0_a11 12638 12650 Binder:12638_1 14955u0_a11 12638 12651 Binder:12638_2 14956u0_a11 12638 12653 Binder:12638_3 14957u0_a11 12638 12654 Profile Saver 14958u0_a11 12638 12664 Worker-1 14959u0_a11 12638 12668 Worker-1 14960u0_a11 12638 12669 Worker-1 14961u0_a11 12638 12670 Worker-1 14962u0_a11 12638 12693 Worker-1 14963root 12674 12674 kworker/5:2 14964u0_a26 12730 12730 id.gms.unstable 14965u0_a26 12730 12735 Jit thread pool 14966u0_a26 12730 12736 Signal Catcher 14967u0_a26 12730 12737 JDWP 14968u0_a26 12730 12738 ReferenceQueueD 14969u0_a26 12730 12739 FinalizerDaemon 14970u0_a26 12730 12740 FinalizerWatchd 14971u0_a26 12730 12741 HeapTaskDaemon 14972u0_a26 12730 12742 Binder:12730_1 14973u0_a26 12730 12743 Binder:12730_2 14974u0_a26 12730 12745 Profile Saver 14975u0_a26 12730 12766 GlobalDispatchi 14976u0_a26 12730 12772 GoogleApiHandle 14977u0_a26 12730 12774 FileObserver 14978u0_a26 12730 12784 lowpool[0] 14979u0_a26 12730 12785 highpool[0] 14980u0_a26 12730 12804 Binder:12730_3 14981u0_a26 12730 12830 Binder:12730_4 14982u0_a26 12730 13272 queued-work-loo 14983u0_a26 12850 12850 .android.gms.ui 14984u0_a26 12850 12855 Jit thread pool 14985u0_a26 12850 12856 Signal Catcher 14986u0_a26 12850 12857 JDWP 14987u0_a26 12850 12858 ReferenceQueueD 14988u0_a26 12850 12859 FinalizerDaemon 14989u0_a26 12850 12860 FinalizerWatchd 14990u0_a26 12850 12865 HeapTaskDaemon 14991u0_a26 12850 12866 Binder:12850_1 14992u0_a26 12850 12867 Binder:12850_2 14993u0_a26 12850 12870 Profile Saver 14994u0_a26 12850 12890 GlobalDispatchi 14995u0_a26 12850 12906 GoogleApiHandle 14996u0_a26 12850 12912 FileObserver 14997u0_a26 12850 12922 queued-work-loo 14998u0_a84 12984 12984 erprise.dmagent 14999u0_a84 12984 12989 Jit thread pool 15000u0_a84 12984 12990 Signal Catcher 15001u0_a84 12984 12991 JDWP 15002u0_a84 12984 12992 ReferenceQueueD 15003u0_a84 12984 12993 FinalizerDaemon 15004u0_a84 12984 12994 FinalizerWatchd 15005u0_a84 12984 12995 HeapTaskDaemon 15006u0_a84 12984 12996 Binder:12984_1 15007u0_a84 12984 12997 Binder:12984_2 15008u0_a84 12984 12998 Profile Saver 15009u0_a115 13067 13067 ndroid.calendar 15010u0_a115 13067 13073 Jit thread pool 15011u0_a115 13067 13074 Signal Catcher 15012u0_a115 13067 13075 JDWP 15013u0_a115 13067 13076 ReferenceQueueD 15014u0_a115 13067 13077 FinalizerDaemon 15015u0_a115 13067 13078 FinalizerWatchd 15016u0_a115 13067 13079 HeapTaskDaemon 15017u0_a115 13067 13080 Binder:13067_1 15018u0_a115 13067 13081 Binder:13067_2 15019u0_a115 13067 13084 Profile Saver 15020u0_a115 13067 13086 GAThread 15021u0_a115 13067 13087 GoogleApiHandle 15022u0_a115 13067 13091 AsyncQueryWorke 15023u0_a115 13067 13106 GAC_Executor[0] 15024u0_a115 13067 13108 DISK_0 15025u0_a115 13067 13113 process reaper 15026u0_a115 13067 13115 Thread-3 15027u0_a115 13067 13116 Thread-4 15028u0_a115 13067 13117 Thread-5 15029u0_a115 13067 13118 Thread-6 15030u0_a115 13067 13119 Thread-7 15031u0_a115 13067 13120 queued-work-loo 15032u0_a115 13067 13122 NET_0 15033u0_a115 13067 13123 DISK_1 15034u0_a115 13067 13124 Thread-10 15035u0_a115 13067 13126 NET_1 15036u0_a115 13067 13127 GAC_Executor[1] 15037u0_a115 13067 13135 gms-bg-executor 15038u0_a115 13067 13139 thKitJobService 15039u0_a115 13067 13140 pool-2-thread-1 15040u0_a115 13067 13144 NET_2 15041u0_a115 13067 13145 NET_3 15042u0_a115 13067 13146 NET_4 15043u0_a115 13067 13188 gms-bg-executor 15044u0_a115 13067 13190 FirebaseService 15045u0_a115 13067 13191 BACKGROUND_0 15046u0_a115 13067 13196 BACKGROUND_1 15047u0_a115 13067 13276 disconnect chec 15048u0_a13 13092 13092 viders.calendar 15049u0_a13 13092 13097 Jit thread pool 15050u0_a13 13092 13098 Signal Catcher 15051u0_a13 13092 13099 JDWP 15052u0_a13 13092 13100 ReferenceQueueD 15053u0_a13 13092 13101 FinalizerDaemon 15054u0_a13 13092 13102 FinalizerWatchd 15055u0_a13 13092 13103 HeapTaskDaemon 15056u0_a13 13092 13104 Binder:13092_1 15057u0_a13 13092 13105 Binder:13092_2 15058u0_a13 13092 13107 Profile Saver 15059system 13242 13242 configstore@1.0 15060system 13242 13554 HwBinder:13242_ 15061u0_a27 13282 13282 id.defcontainer 15062u0_a27 13282 13287 Jit thread pool 15063u0_a27 13282 13288 Signal Catcher 15064u0_a27 13282 13289 JDWP 15065u0_a27 13282 13290 ReferenceQueueD 15066u0_a27 13282 13291 FinalizerDaemon 15067u0_a27 13282 13292 FinalizerWatchd 15068u0_a27 13282 13293 HeapTaskDaemon 15069u0_a27 13282 13294 Binder:13282_1 15070u0_a27 13282 13295 Binder:13282_2 15071u0_a27 13282 13296 Profile Saver 15072u0_a27 13282 13297 IntentService[D 15073u0_a3245 13558 13558 esting.services 15074u0_a3245 13558 13563 Jit thread pool 15075u0_a3245 13558 13564 Signal Catcher 15076u0_a3245 13558 13565 JDWP 15077u0_a3245 13558 13566 ReferenceQueueD 15078u0_a3245 13558 13567 FinalizerDaemon 15079u0_a3245 13558 13568 FinalizerWatchd 15080u0_a3245 13558 13569 HeapTaskDaemon 15081u0_a3245 13558 13570 Binder:13558_1 15082u0_a3245 13558 13571 Binder:13558_2 15083u0_a3245 13558 13572 Binder:13558_3 15084u0_a3245 13558 13573 Profile Saver 15085u0_a3245 13558 13574 Binder:13558_4 15086root 13727 13727 sh 15087root 13729 13729 sh 15088root 13731 13731 ps 15089u0_a53 22412 22412 e.android.volta 15090u0_a53 22412 22417 Jit thread pool 15091u0_a53 22412 22418 Signal Catcher 15092u0_a53 22412 22419 JDWP 15093u0_a53 22412 22420 ReferenceQueueD 15094u0_a53 22412 22421 FinalizerDaemon 15095u0_a53 22412 22422 FinalizerWatchd 15096u0_a53 22412 22423 HeapTaskDaemon 15097u0_a53 22412 22424 Binder:22412_1 15098u0_a53 22412 22425 Binder:22412_2 15099u0_a53 22412 22426 Profile Saver 15100u0_a53 22412 22431 queued-work-loo 15101u0_a53 22412 23027 Binder:22412_3 15102u0_a42 30672 30672 gle.android.ims 15103u0_a42 30672 30677 Jit thread pool 15104u0_a42 30672 30678 Signal Catcher 15105u0_a42 30672 30679 JDWP 15106u0_a42 30672 30680 ReferenceQueueD 15107u0_a42 30672 30681 FinalizerDaemon 15108u0_a42 30672 30682 FinalizerWatchd 15109u0_a42 30672 30683 HeapTaskDaemon 15110u0_a42 30672 30684 Binder:30672_1 15111u0_a42 30672 30685 Binder:30672_2 15112u0_a42 30672 30688 Profile Saver 15113u0_a42 30672 30700 GoogleApiHandle 15114u0_a42 30672 30704 ConnectivityThr 15115u0_a42 30672 30707 queued-work-loo 15116u0_a42 30672 30710 Timer-0 15117u0_a42 30672 30723 GAC_Executor[0] 15118u0_a42 30672 30724 Primes-1 15119u0_a42 30672 30730 webrtc-thread 15120u0_a42 30672 30731 Timer-1 15121u0_a42 30672 30732 ImsConnectionHa 15122u0_a42 30672 30748 network_thread 15123u0_a42 30672 30749 Thread-4 15124u0_a42 30672 30750 signaling_threa 15125u0_a42 30672 30752 GAC_Executor[1] 15126u0_a42 30672 30785 rtc-low-prio 15127u0_a42 30672 30786 AudioDeviceBuff 15128u0_a42 30672 30790 WebRtcVolumeLev 15129u0_a42 30672 31980 Binder:30672_3 15130u0_a42 30672 2836 Primes-2 15131u0_a42 30672 17359 Binder:30672_4 15132 </script> 15133 <script class="trace-data" type="application/text"> 15134# tracer: nop 15135# 15136# entries-in-buffer/entries-written: 11600/11600 #P:8 15137# 15138# _-----=> irqs-off 15139# / _----=> need-resched 15140# | / _---=> hardirq/softirq 15141# || / _--=> preempt-depth 15142# ||| / delay 15143# TASK-PID TGID CPU# |||| TIMESTAMP FUNCTION 15144# | | | | |||| | | 15145 atrace-13227 (13227) [005] ...1 157985.923038: tracing_mark_write: trace_event_clock_sync: parent_ts=157985.921875 15146 atrace-13227 (13227) [005] ...1 157985.923043: tracing_mark_write: trace_event_clock_sync: realtime_ts=1535702316549 15147 sensors@1.0-se-755 ( 755) [005] ...1 157985.929790: tracing_mark_write: E 15148 SensorService-1249 ( 1136) [001] ...1 157985.930001: tracing_mark_write: E 15149 SensorService-1249 ( 1136) [001] ...1 157985.930288: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15150 sensors@1.0-se-755 ( 755) [005] ...1 157985.931688: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15151 sensors@1.0-se-755 ( 755) [005] ...1 157985.950160: tracing_mark_write: E 15152 SensorService-1249 ( 1136) [001] ...1 157985.950447: tracing_mark_write: E 15153 SensorService-1249 ( 1136) [001] ...1 157985.950567: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15154 sensors@1.0-se-755 ( 755) [005] ...1 157985.950755: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15155 sensors@1.0-se-755 ( 755) [005] ...1 157985.970468: tracing_mark_write: E 15156 SensorService-1249 ( 1136) [001] ...1 157985.970941: tracing_mark_write: E 15157 SensorService-1249 ( 1136) [001] ...1 157985.971207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15158 sensors@1.0-se-755 ( 755) [005] ...1 157985.972530: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15159 sensors@1.0-se-755 ( 755) [005] ...1 157985.990448: tracing_mark_write: E 15160 SensorService-1249 ( 1136) [001] ...1 157985.990962: tracing_mark_write: E 15161 SensorService-1249 ( 1136) [001] ...1 157985.991185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15162 sensors@1.0-se-755 ( 755) [005] ...1 157985.991405: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15163 sensors@1.0-se-755 ( 755) [005] ...1 157986.010253: tracing_mark_write: E 15164 SensorService-1249 ( 1136) [001] ...1 157986.010682: tracing_mark_write: E 15165 SensorService-1249 ( 1136) [001] ...1 157986.010928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15166 sensors@1.0-se-755 ( 755) [005] ...1 157986.012598: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15167 sensors@1.0-se-755 ( 755) [005] ...1 157986.030112: tracing_mark_write: E 15168 SensorService-1249 ( 1136) [001] ...1 157986.030337: tracing_mark_write: E 15169 SensorService-1249 ( 1136) [001] ...1 157986.030512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15170 sensors@1.0-se-755 ( 755) [005] ...1 157986.031424: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15171 sensors@1.0-se-755 ( 755) [005] ...1 157986.050990: tracing_mark_write: E 15172 SensorService-1249 ( 1136) [001] ...1 157986.051224: tracing_mark_write: E 15173 SensorService-1249 ( 1136) [001] ...1 157986.051423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15174 sensors@1.0-se-755 ( 755) [005] ...1 157986.052345: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15175 sensors@1.0-se-755 ( 755) [005] ...1 157986.071024: tracing_mark_write: E 15176 SensorService-1249 ( 1136) [001] ...1 157986.071250: tracing_mark_write: E 15177 SensorService-1249 ( 1136) [001] ...1 157986.071435: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15178 sensors@1.0-se-755 ( 755) [005] ...1 157986.071956: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15179 sensors@1.0-se-755 ( 755) [005] ...1 157986.091115: tracing_mark_write: E 15180 SensorService-1249 ( 1136) [001] ...1 157986.091555: tracing_mark_write: E 15181 SensorService-1249 ( 1136) [001] ...1 157986.091741: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15182 sensors@1.0-se-755 ( 755) [005] ...1 157986.093442: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15183 sensors@1.0-se-755 ( 755) [005] ...1 157986.111118: tracing_mark_write: E 15184 SensorService-1249 ( 1136) [001] ...1 157986.111343: tracing_mark_write: E 15185 SensorService-1249 ( 1136) [001] ...1 157986.111477: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15186 sensors@1.0-se-755 ( 755) [005] ...1 157986.111665: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15187 sensors@1.0-se-755 ( 755) [005] ...1 157986.131084: tracing_mark_write: E 15188 SensorService-1249 ( 1136) [001] ...1 157986.131355: tracing_mark_write: E 15189 SensorService-1249 ( 1136) [001] ...1 157986.131654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15190 sensors@1.0-se-755 ( 755) [005] ...1 157986.132345: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15191 sensors@1.0-se-755 ( 755) [005] ...1 157986.150680: tracing_mark_write: E 15192 SensorService-1249 ( 1136) [001] ...1 157986.151007: tracing_mark_write: E 15193 SensorService-1249 ( 1136) [001] ...1 157986.151238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15194 sensors@1.0-se-755 ( 755) [005] ...1 157986.151850: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15195 sensors@1.0-se-755 ( 755) [005] ...1 157986.170589: tracing_mark_write: E 15196 SensorService-1249 ( 1136) [001] ...1 157986.170786: tracing_mark_write: E 15197 SensorService-1249 ( 1136) [001] ...1 157986.171048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15198 sensors@1.0-se-755 ( 755) [005] ...1 157986.171534: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15199 sensors@1.0-se-755 ( 755) [005] ...1 157986.191375: tracing_mark_write: E 15200 SensorService-1249 ( 1136) [001] ...1 157986.191821: tracing_mark_write: E 15201 SensorService-1249 ( 1136) [001] ...1 157986.192040: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15202 sensors@1.0-se-755 ( 755) [005] ...1 157986.192533: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15203 sensors@1.0-se-755 ( 755) [005] ...1 157986.211469: tracing_mark_write: E 15204 SensorService-1249 ( 1136) [001] ...1 157986.211958: tracing_mark_write: E 15205 SensorService-1249 ( 1136) [001] ...1 157986.212145: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15206 sensors@1.0-se-755 ( 755) [005] ...1 157986.214517: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15207 sensors@1.0-se-755 ( 755) [005] ...1 157986.232754: tracing_mark_write: E 15208 SensorService-1249 ( 1136) [001] ...1 157986.234890: tracing_mark_write: E 15209 SensorService-1249 ( 1136) [001] ...1 157986.235161: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15210 sensors@1.0-se-755 ( 755) [005] ...1 157986.236843: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15211 sensors@1.0-se-755 ( 755) [005] ...1 157986.251785: tracing_mark_write: E 15212 SensorService-1249 ( 1136) [001] ...1 157986.252423: tracing_mark_write: E 15213 SensorService-1249 ( 1136) [001] ...1 157986.252655: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15214 sensors@1.0-se-755 ( 755) [005] ...1 157986.253278: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15215 sensors@1.0-se-755 ( 755) [005] ...1 157986.273068: tracing_mark_write: E 15216 SensorService-1249 ( 1136) [001] ...1 157986.274678: tracing_mark_write: E 15217 SensorService-1249 ( 1136) [001] ...1 157986.275159: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15218 sensors@1.0-se-755 ( 755) [005] ...1 157986.275839: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15219 sensors@1.0-se-755 ( 755) [005] ...1 157986.291397: tracing_mark_write: E 15220 SensorService-1249 ( 1136) [001] ...1 157986.292638: tracing_mark_write: E 15221 SensorService-1249 ( 1136) [001] ...1 157986.293078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15222 sensors@1.0-se-755 ( 755) [005] ...1 157986.293689: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15223 sensors@1.0-se-755 ( 755) [005] ...1 157986.311338: tracing_mark_write: E 15224 SensorService-1249 ( 1136) [001] ...1 157986.311838: tracing_mark_write: E 15225 SensorService-1249 ( 1136) [001] ...1 157986.312061: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15226 sensors@1.0-se-755 ( 755) [005] ...1 157986.312576: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15227 sensors@1.0-se-755 ( 755) [005] ...1 157986.331455: tracing_mark_write: E 15228 SensorService-1249 ( 1136) [001] ...1 157986.331828: tracing_mark_write: E 15229 SensorService-1249 ( 1136) [001] ...1 157986.331893: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15230 sensors@1.0-se-755 ( 755) [005] ...1 157986.332439: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15231 sensors@1.0-se-755 ( 755) [005] ...1 157986.351904: tracing_mark_write: E 15232 SensorService-1249 ( 1136) [001] ...1 157986.352287: tracing_mark_write: E 15233 SensorService-1249 ( 1136) [001] ...1 157986.352521: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15234 sensors@1.0-se-755 ( 755) [005] ...1 157986.354331: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15235 sensors@1.0-se-755 ( 755) [005] ...1 157986.372360: tracing_mark_write: E 15236 SensorService-1249 ( 1136) [001] ...1 157986.373868: tracing_mark_write: E 15237 SensorService-1249 ( 1136) [001] ...1 157986.374136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15238 sensors@1.0-se-755 ( 755) [005] ...1 157986.374924: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15239 sensors@1.0-se-755 ( 755) [005] ...1 157986.390579: tracing_mark_write: E 15240 SensorService-1249 ( 1136) [001] ...1 157986.391065: tracing_mark_write: E 15241 SensorService-1249 ( 1136) [001] ...1 157986.391269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15242 sensors@1.0-se-755 ( 755) [005] ...1 157986.391664: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15243 sensors@1.0-se-755 ( 755) [005] ...1 157986.411683: tracing_mark_write: E 15244 SensorService-1249 ( 1136) [001] ...1 157986.412468: tracing_mark_write: E 15245 SensorService-1249 ( 1136) [001] ...1 157986.412999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15246 sensors@1.0-se-755 ( 755) [005] ...1 157986.413570: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15247 sensors@1.0-se-755 ( 755) [005] ...1 157986.430511: tracing_mark_write: E 15248 SensorService-1249 ( 1136) [001] ...1 157986.431034: tracing_mark_write: E 15249 SensorService-1249 ( 1136) [001] ...1 157986.431283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15250 sensors@1.0-se-755 ( 755) [005] ...1 157986.431716: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15251 sensors@1.0-se-755 ( 755) [005] ...1 157986.450538: tracing_mark_write: E 15252 SensorService-1249 ( 1136) [001] ...1 157986.451129: tracing_mark_write: E 15253 SensorService-1249 ( 1136) [001] ...1 157986.451389: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15254 sensors@1.0-se-755 ( 755) [005] ...1 157986.451713: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15255 sensors@1.0-se-755 ( 755) [004] ...1 157986.470040: tracing_mark_write: E 15256 SensorService-1249 ( 1136) [001] ...1 157986.470228: tracing_mark_write: E 15257 SensorService-1249 ( 1136) [001] ...1 157986.470478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15258 sensors@1.0-se-755 ( 755) [004] ...1 157986.470632: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15259 sensors@1.0-se-755 ( 755) [004] ...1 157986.492773: tracing_mark_write: E 15260 SensorService-1249 ( 1136) [001] ...1 157986.493300: tracing_mark_write: E 15261 SensorService-1249 ( 1136) [001] ...1 157986.493483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15262 sensors@1.0-se-755 ( 755) [004] ...1 157986.494177: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15263 sensors@1.0-se-755 ( 755) [004] ...1 157986.511823: tracing_mark_write: E 15264 SensorService-1249 ( 1136) [001] ...1 157986.512208: tracing_mark_write: E 15265 SensorService-1249 ( 1136) [001] ...1 157986.512356: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15266 sensors@1.0-se-755 ( 755) [004] ...1 157986.512717: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15267 sensors@1.0-se-755 ( 755) [004] ...1 157986.529973: tracing_mark_write: E 15268 SensorService-1249 ( 1136) [001] ...1 157986.530397: tracing_mark_write: E 15269 SensorService-1249 ( 1136) [001] ...1 157986.530595: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15270 sensors@1.0-se-755 ( 755) [004] ...1 157986.531156: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15271 sensors@1.0-se-755 ( 755) [004] ...1 157986.550274: tracing_mark_write: E 15272 SensorService-1249 ( 1136) [001] ...1 157986.550457: tracing_mark_write: E 15273 SensorService-1249 ( 1136) [001] ...1 157986.550627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15274 sensors@1.0-se-755 ( 755) [004] ...1 157986.551220: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15275 sensors@1.0-se-755 ( 755) [004] ...1 157986.570652: tracing_mark_write: E 15276 SensorService-1249 ( 1136) [001] ...1 157986.571250: tracing_mark_write: E 15277 SensorService-1249 ( 1136) [001] ...1 157986.571490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15278 sensors@1.0-se-755 ( 755) [004] ...1 157986.572100: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15279 sensors@1.0-se-755 ( 755) [004] ...1 157986.591316: tracing_mark_write: E 15280 SensorService-1249 ( 1136) [001] ...1 157986.591826: tracing_mark_write: E 15281 SensorService-1249 ( 1136) [001] ...1 157986.592036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15282 sensors@1.0-se-755 ( 755) [004] ...1 157986.592620: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15283 sensors@1.0-se-755 ( 755) [004] ...1 157986.610945: tracing_mark_write: E 15284 SensorService-1249 ( 1136) [001] ...1 157986.611194: tracing_mark_write: E 15285 SensorService-1249 ( 1136) [001] ...1 157986.611410: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15286 sensors@1.0-se-755 ( 755) [004] ...1 157986.612004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15287 sensors@1.0-se-755 ( 755) [004] ...1 157986.629969: tracing_mark_write: E 15288 SensorService-1249 ( 1136) [001] ...1 157986.630147: tracing_mark_write: E 15289 SensorService-1249 ( 1136) [001] ...1 157986.630305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15290 sensors@1.0-se-755 ( 755) [004] ...1 157986.630771: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15291 sensors@1.0-se-755 ( 755) [004] ...1 157986.650239: tracing_mark_write: E 15292 SensorService-1249 ( 1136) [001] ...1 157986.650605: tracing_mark_write: E 15293 SensorService-1249 ( 1136) [001] ...1 157986.650763: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15294 sensors@1.0-se-755 ( 755) [004] ...1 157986.651343: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15295 sensors@1.0-se-755 ( 755) [004] ...1 157986.672337: tracing_mark_write: E 15296 SensorService-1249 ( 1136) [001] ...1 157986.673926: tracing_mark_write: E 15297 SensorService-1249 ( 1136) [001] ...1 157986.674333: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15298 sensors@1.0-se-755 ( 755) [004] ...1 157986.675144: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15299 sensors@1.0-se-755 ( 755) [004] ...1 157986.691316: tracing_mark_write: E 15300 SensorService-1249 ( 1136) [001] ...1 157986.692001: tracing_mark_write: E 15301 SensorService-1249 ( 1136) [001] ...1 157986.692261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15302 sensors@1.0-se-755 ( 755) [004] ...1 157986.692970: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15303 sensors@1.0-se-755 ( 755) [004] ...1 157986.711681: tracing_mark_write: E 15304 SensorService-1249 ( 1136) [001] ...1 157986.711924: tracing_mark_write: E 15305 SensorService-1249 ( 1136) [001] ...1 157986.712100: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15306 HwBinder:755_1-1247 ( 755) [000] ...1 157986.712554: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15307 HwBinder:755_1-1247 ( 755) [001] ...1 157986.730733: tracing_mark_write: E 15308 SensorService-1249 ( 1136) [000] ...1 157986.731015: tracing_mark_write: E 15309 SensorService-1249 ( 1136) [000] ...1 157986.731225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15310 HwBinder:755_1-1247 ( 755) [001] ...1 157986.731501: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15311 HwBinder:755_1-1247 ( 755) [001] ...1 157986.752441: tracing_mark_write: E 15312 SensorService-1249 ( 1136) [000] ...1 157986.752958: tracing_mark_write: E 15313 SensorService-1249 ( 1136) [000] ...1 157986.753207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15314 HwBinder:755_1-1247 ( 755) [001] ...1 157986.753472: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15315 HwBinder:755_1-1247 ( 755) [001] ...1 157986.771392: tracing_mark_write: E 15316 SensorService-1249 ( 1136) [000] ...1 157986.771724: tracing_mark_write: E 15317 SensorService-1249 ( 1136) [000] ...1 157986.772083: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15318 HwBinder:755_1-1247 ( 755) [001] ...1 157986.772748: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15319 HwBinder:755_1-1247 ( 755) [001] ...1 157986.790626: tracing_mark_write: E 15320 SensorService-1249 ( 1136) [000] ...1 157986.790832: tracing_mark_write: E 15321 SensorService-1249 ( 1136) [000] ...1 157986.791099: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15322 HwBinder:755_1-1247 ( 755) [001] ...1 157986.791260: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15323 HwBinder:755_1-1247 ( 755) [001] ...1 157986.810063: tracing_mark_write: E 15324 SensorService-1249 ( 1136) [000] ...1 157986.810273: tracing_mark_write: E 15325 SensorService-1249 ( 1136) [000] ...1 157986.810461: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15326 HwBinder:755_1-1247 ( 755) [001] ...1 157986.810915: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15327 HwBinder:755_1-1247 ( 755) [001] ...1 157986.831653: tracing_mark_write: E 15328 SensorService-1249 ( 1136) [000] ...1 157986.832239: tracing_mark_write: E 15329 SensorService-1249 ( 1136) [000] ...1 157986.832533: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15330 HwBinder:755_1-1247 ( 755) [001] ...1 157986.833000: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15331 HwBinder:755_1-1247 ( 755) [001] ...1 157986.850462: tracing_mark_write: E 15332 SensorService-1249 ( 1136) [000] ...1 157986.850695: tracing_mark_write: E 15333 SensorService-1249 ( 1136) [000] ...1 157986.851009: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15334 HwBinder:755_1-1247 ( 755) [001] ...1 157986.851582: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15335 HwBinder:755_1-1247 ( 755) [001] ...1 157986.872386: tracing_mark_write: E 15336 SensorService-1249 ( 1136) [000] ...1 157986.873102: tracing_mark_write: E 15337 SensorService-1249 ( 1136) [000] ...1 157986.873348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15338 HwBinder:755_1-1247 ( 755) [001] ...1 157986.873743: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15339 HwBinder:755_1-1247 ( 755) [000] ...1 157986.891610: tracing_mark_write: E 15340 SensorService-1249 ( 1136) [002] ...1 157986.892006: tracing_mark_write: E 15341 SensorService-1249 ( 1136) [002] ...1 157986.892353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15342 HwBinder:755_1-1247 ( 755) [000] ...1 157986.892617: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15343 HwBinder:755_1-1247 ( 755) [000] ...1 157986.911588: tracing_mark_write: E 15344 SensorService-1249 ( 1136) [002] ...1 157986.911837: tracing_mark_write: E 15345 SensorService-1249 ( 1136) [002] ...1 157986.912104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15346 HwBinder:755_1-1247 ( 755) [000] ...1 157986.912748: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15347 HwBinder:755_1-1247 ( 755) [001] ...1 157986.930349: tracing_mark_write: E 15348 SensorService-1249 ( 1136) [002] ...1 157986.930783: tracing_mark_write: E 15349 SensorService-1249 ( 1136) [002] ...1 157986.931038: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15350 HwBinder:755_1-1247 ( 755) [001] ...1 157986.931239: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15351 HwBinder:755_1-1247 ( 755) [003] ...1 157986.952603: tracing_mark_write: E 15352 SensorService-1249 ( 1136) [002] ...1 157986.953028: tracing_mark_write: E 15353 SensorService-1249 ( 1136) [002] ...1 157986.953388: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15354 HwBinder:755_1-1247 ( 755) [003] ...1 157986.953604: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15355 HwBinder:755_1-1247 ( 755) [001] ...1 157986.971035: tracing_mark_write: E 15356 SensorService-1249 ( 1136) [002] ...1 157986.971803: tracing_mark_write: E 15357 SensorService-1249 ( 1136) [002] ...1 157986.972032: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15358 HwBinder:755_1-1247 ( 755) [001] ...1 157986.972185: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15359 HwBinder:755_1-1247 ( 755) [001] ...1 157986.991891: tracing_mark_write: E 15360 SensorService-1249 ( 1136) [002] ...1 157986.992265: tracing_mark_write: E 15361 SensorService-1249 ( 1136) [002] ...1 157986.992618: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15362 HwBinder:755_1-1247 ( 755) [001] ...1 157986.993175: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15363 HwBinder:755_1-1247 ( 755) [001] ...1 157987.013567: tracing_mark_write: E 15364 SensorService-1249 ( 1136) [002] ...1 157987.014479: tracing_mark_write: E 15365 SensorService-1249 ( 1136) [002] ...1 157987.014731: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15366 HwBinder:755_1-1247 ( 755) [001] ...1 157987.015115: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15367 HwBinder:755_1-1247 ( 755) [002] ...1 157987.031414: tracing_mark_write: E 15368 SensorService-1249 ( 1136) [000] ...1 157987.031571: tracing_mark_write: E 15369 SensorService-1249 ( 1136) [000] ...1 157987.031713: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15370 HwBinder:755_1-1247 ( 755) [002] ...1 157987.031814: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15371 HwBinder:755_1-1247 ( 755) [002] ...1 157987.052348: tracing_mark_write: E 15372 SensorService-1249 ( 1136) [000] ...1 157987.052554: tracing_mark_write: E 15373 SensorService-1249 ( 1136) [000] ...1 157987.052740: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15374 HwBinder:755_1-1247 ( 755) [002] ...1 157987.053025: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15375 HwBinder:755_1-1247 ( 755) [001] ...1 157987.073647: tracing_mark_write: E 15376 SensorService-1249 ( 1136) [000] ...1 157987.074424: tracing_mark_write: E 15377 SensorService-1249 ( 1136) [000] ...1 157987.074778: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15378 HwBinder:755_1-1247 ( 755) [001] ...1 157987.075348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15379 HwBinder:755_1-1247 ( 755) [001] ...1 157987.092778: tracing_mark_write: E 15380 SensorService-1249 ( 1136) [000] ...1 157987.093125: tracing_mark_write: E 15381 SensorService-1249 ( 1136) [000] ...1 157987.093332: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15382 HwBinder:755_1-1247 ( 755) [001] ...1 157987.093759: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15383 HwBinder:755_1-1247 ( 755) [001] ...1 157987.115092: tracing_mark_write: E 15384 SensorService-1249 ( 1136) [000] ...1 157987.115316: tracing_mark_write: E 15385 SensorService-1249 ( 1136) [000] ...1 157987.115516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15386 HwBinder:755_1-1247 ( 755) [001] ...1 157987.115881: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15387 HwBinder:755_1-1247 ( 755) [001] ...1 157987.132298: tracing_mark_write: E 15388 SensorService-1249 ( 1136) [000] ...1 157987.132506: tracing_mark_write: E 15389 SensorService-1249 ( 1136) [000] ...1 157987.132696: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15390 HwBinder:755_1-1247 ( 755) [001] ...1 157987.133134: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15391 HwBinder:755_1-1247 ( 755) [001] ...1 157987.154508: tracing_mark_write: E 15392 SensorService-1249 ( 1136) [000] ...1 157987.155232: tracing_mark_write: E 15393 SensorService-1249 ( 1136) [000] ...1 157987.155628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15394 HwBinder:755_1-1247 ( 755) [001] ...1 157987.155852: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15395 HwBinder:755_1-1247 ( 755) [001] ...1 157987.172173: tracing_mark_write: E 15396 SensorService-1249 ( 1136) [000] ...1 157987.172379: tracing_mark_write: E 15397 SensorService-1249 ( 1136) [000] ...1 157987.172570: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15398 HwBinder:755_1-1247 ( 755) [001] ...1 157987.173072: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15399 HwBinder:755_1-1247 ( 755) [001] ...1 157987.196306: tracing_mark_write: E 15400 SensorService-1249 ( 1136) [000] ...1 157987.196667: tracing_mark_write: E 15401 SensorService-1249 ( 1136) [000] ...1 157987.197005: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15402 HwBinder:755_1-1247 ( 755) [001] ...1 157987.197683: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15403 HwBinder:755_1-1247 ( 755) [003] ...1 157987.211561: tracing_mark_write: E 15404 SensorService-1249 ( 1136) [000] ...1 157987.211725: tracing_mark_write: E 15405 SensorService-1249 ( 1136) [000] ...1 157987.211902: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15406 HwBinder:755_1-1247 ( 755) [003] ...1 157987.212348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15407 HwBinder:755_1-1247 ( 755) [002] ...1 157987.237740: tracing_mark_write: E 15408 SensorService-1249 ( 1136) [000] ...1 157987.238129: tracing_mark_write: E 15409 SensorService-1249 ( 1136) [000] ...1 157987.238537: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15410 HwBinder:755_1-1247 ( 755) [002] ...1 157987.239079: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15411 HwBinder:755_1-1247 ( 755) [001] ...1 157987.252445: tracing_mark_write: E 15412 SensorService-1249 ( 1136) [000] ...1 157987.252628: tracing_mark_write: E 15413 SensorService-1249 ( 1136) [000] ...1 157987.252803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15414 HwBinder:755_1-1247 ( 755) [001] ...1 157987.252937: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15415 HwBinder:755_1-1247 ( 755) [001] ...1 157987.273186: tracing_mark_write: E 15416 SensorService-1249 ( 1136) [000] ...1 157987.273829: tracing_mark_write: E 15417 SensorService-1249 ( 1136) [000] ...1 157987.274168: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15418 HwBinder:755_1-1247 ( 755) [001] ...1 157987.274497: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15419 HwBinder:755_1-1247 ( 755) [001] ...1 157987.292216: tracing_mark_write: E 15420 SensorService-1249 ( 1136) [000] ...1 157987.292427: tracing_mark_write: E 15421 SensorService-1249 ( 1136) [000] ...1 157987.292634: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15422 HwBinder:755_1-1247 ( 755) [001] ...1 157987.292762: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15423 HwBinder:755_1-1247 ( 755) [001] ...1 157987.313204: tracing_mark_write: E 15424 SensorService-1249 ( 1136) [000] ...1 157987.313561: tracing_mark_write: E 15425 SensorService-1249 ( 1136) [000] ...1 157987.313905: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15426 HwBinder:755_1-1247 ( 755) [001] ...1 157987.314087: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15427 HwBinder:755_1-1247 ( 755) [001] ...1 157987.333685: tracing_mark_write: E 15428 SensorService-1249 ( 1136) [000] ...1 157987.334000: tracing_mark_write: E 15429 SensorService-1249 ( 1136) [000] ...1 157987.334378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15430 HwBinder:755_1-1247 ( 755) [001] ...1 157987.334754: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15431 HwBinder:755_1-1247 ( 755) [001] ...1 157987.353489: tracing_mark_write: E 15432 SensorService-1249 ( 1136) [000] ...1 157987.353848: tracing_mark_write: E 15433 SensorService-1249 ( 1136) [000] ...1 157987.354185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15434 HwBinder:755_1-1247 ( 755) [001] ...1 157987.354548: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15435 HwBinder:755_1-1247 ( 755) [003] ...1 157987.372867: tracing_mark_write: E 15436 SensorService-1249 ( 1136) [000] ...1 157987.373039: tracing_mark_write: E 15437 SensorService-1249 ( 1136) [000] ...1 157987.373221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15438 HwBinder:755_1-1247 ( 755) [003] ...1 157987.373324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15439 HwBinder:755_1-1247 ( 755) [001] ...1 157987.391801: tracing_mark_write: E 15440 SensorService-1249 ( 1136) [000] ...1 157987.392113: tracing_mark_write: E 15441 SensorService-1249 ( 1136) [000] ...1 157987.392268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15442 HwBinder:755_1-1247 ( 755) [001] ...1 157987.392357: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15443 HwBinder:755_1-1247 ( 755) [001] ...1 157987.412613: tracing_mark_write: E 15444 SensorService-1249 ( 1136) [000] ...1 157987.412839: tracing_mark_write: E 15445 SensorService-1249 ( 1136) [000] ...1 157987.413054: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15446 HwBinder:755_1-1247 ( 755) [001] ...1 157987.413443: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15447 HwBinder:755_1-1247 ( 755) [001] ...1 157987.431839: tracing_mark_write: E 15448 SensorService-1249 ( 1136) [000] ...1 157987.432408: tracing_mark_write: E 15449 SensorService-1249 ( 1136) [000] ...1 157987.432623: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15450 HwBinder:755_1-1247 ( 755) [001] ...1 157987.432749: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15451 HwBinder:755_1-1247 ( 755) [002] ...1 157987.452356: tracing_mark_write: E 15452 SensorService-1249 ( 1136) [000] ...1 157987.452632: tracing_mark_write: E 15453 SensorService-1249 ( 1136) [000] ...1 157987.452847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15454 HwBinder:755_1-1247 ( 755) [002] ...1 157987.453637: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15455 HwBinder:755_1-1247 ( 755) [002] ...1 157987.471875: tracing_mark_write: E 15456 SensorService-1249 ( 1136) [000] ...1 157987.472385: tracing_mark_write: E 15457 SensorService-1249 ( 1136) [000] ...1 157987.472629: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15458 HwBinder:755_1-1247 ( 755) [002] ...1 157987.473036: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15459 HwBinder:755_1-1247 ( 755) [001] ...1 157987.490785: tracing_mark_write: E 15460 SensorService-1249 ( 1136) [000] ...1 157987.491039: tracing_mark_write: E 15461 SensorService-1249 ( 1136) [000] ...1 157987.491227: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15462 HwBinder:755_1-1247 ( 755) [001] ...1 157987.491415: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15463 HwBinder:755_1-1247 ( 755) [001] ...1 157987.513233: tracing_mark_write: E 15464 SensorService-1249 ( 1136) [000] ...1 157987.513705: tracing_mark_write: E 15465 SensorService-1249 ( 1136) [000] ...1 157987.513908: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15466 HwBinder:755_1-1247 ( 755) [001] ...1 157987.514006: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15467 HwBinder:755_1-1247 ( 755) [001] ...1 157987.531102: tracing_mark_write: E 15468 SensorService-1249 ( 1136) [000] ...1 157987.531484: tracing_mark_write: E 15469 SensorService-1249 ( 1136) [000] ...1 157987.531820: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15470 HwBinder:755_1-1247 ( 755) [001] ...1 157987.532063: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15471 HwBinder:755_1-1247 ( 755) [002] ...1 157987.550491: tracing_mark_write: E 15472 SensorService-1249 ( 1136) [000] ...1 157987.550654: tracing_mark_write: E 15473 SensorService-1249 ( 1136) [000] ...1 157987.550799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15474 HwBinder:755_1-1247 ( 755) [002] ...1 157987.550955: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15475 HwBinder:755_1-1247 ( 755) [001] ...1 157987.571697: tracing_mark_write: E 15476 SensorService-1249 ( 1136) [000] ...1 157987.571951: tracing_mark_write: E 15477 SensorService-1249 ( 1136) [000] ...1 157987.572138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15478 HwBinder:755_1-1247 ( 755) [001] ...1 157987.572521: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15479 HwBinder:755_1-1247 ( 755) [001] ...1 157987.591410: tracing_mark_write: E 15480 SensorService-1249 ( 1136) [000] ...1 157987.591888: tracing_mark_write: E 15481 SensorService-1249 ( 1136) [000] ...1 157987.592116: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15482 HwBinder:755_1-1247 ( 755) [001] ...1 157987.592226: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15483 HwBinder:755_1-1247 ( 755) [001] ...1 157987.610661: tracing_mark_write: E 15484 SensorService-1249 ( 1136) [000] ...1 157987.610842: tracing_mark_write: E 15485 SensorService-1249 ( 1136) [000] ...1 157987.611051: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15486 sensors@1.0-se-755 ( 755) [004] ...1 157987.611309: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15487 sensors@1.0-se-755 ( 755) [004] ...1 157987.631344: tracing_mark_write: E 15488 SensorService-1249 ( 1136) [000] ...1 157987.631607: tracing_mark_write: E 15489 SensorService-1249 ( 1136) [000] ...1 157987.631814: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15490 sensors@1.0-se-755 ( 755) [004] ...1 157987.632391: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15491 sensors@1.0-se-755 ( 755) [004] ...1 157987.650918: tracing_mark_write: E 15492 SensorService-1249 ( 1136) [000] ...1 157987.651132: tracing_mark_write: E 15493 SensorService-1249 ( 1136) [000] ...1 157987.651306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15494 sensors@1.0-se-755 ( 755) [004] ...1 157987.651818: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15495 sensors@1.0-se-755 ( 755) [004] ...1 157987.672602: tracing_mark_write: E 15496 SensorService-1249 ( 1136) [000] ...1 157987.673148: tracing_mark_write: E 15497 SensorService-1249 ( 1136) [000] ...1 157987.673323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15498 sensors@1.0-se-755 ( 755) [004] ...1 157987.675454: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15499 sensors@1.0-se-755 ( 755) [004] ...1 157987.691534: tracing_mark_write: E 15500 SensorService-1249 ( 1136) [000] ...1 157987.691756: tracing_mark_write: E 15501 SensorService-1249 ( 1136) [000] ...1 157987.691942: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15502 sensors@1.0-se-755 ( 755) [004] ...1 157987.692517: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15503 sensors@1.0-se-755 ( 755) [004] ...1 157987.711604: tracing_mark_write: E 15504 SensorService-1249 ( 1136) [000] ...1 157987.711803: tracing_mark_write: E 15505 SensorService-1249 ( 1136) [000] ...1 157987.711997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15506 sensors@1.0-se-755 ( 755) [004] ...1 157987.712632: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15507 sensors@1.0-se-755 ( 755) [004] ...1 157987.733188: tracing_mark_write: E 15508 SensorService-1249 ( 1136) [000] ...1 157987.733702: tracing_mark_write: E 15509 SensorService-1249 ( 1136) [000] ...1 157987.733939: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15510 sensors@1.0-se-755 ( 755) [004] ...1 157987.734139: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15511 sensors@1.0-se-755 ( 755) [004] ...1 157987.752268: tracing_mark_write: E 15512 SensorService-1249 ( 1136) [000] ...1 157987.752818: tracing_mark_write: E 15513 SensorService-1249 ( 1136) [000] ...1 157987.753019: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15514 sensors@1.0-se-755 ( 755) [004] ...1 157987.753235: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15515 sensors@1.0-se-755 ( 755) [004] ...1 157987.771550: tracing_mark_write: E 15516 SensorService-1249 ( 1136) [000] ...1 157987.771733: tracing_mark_write: E 15517 SensorService-1249 ( 1136) [000] ...1 157987.771916: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15518 sensors@1.0-se-755 ( 755) [004] ...1 157987.772110: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15519 sensors@1.0-se-755 ( 755) [004] ...1 157987.793097: tracing_mark_write: E 15520 SensorService-1249 ( 1136) [000] ...1 157987.793727: tracing_mark_write: E 15521 SensorService-1249 ( 1136) [000] ...1 157987.794109: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15522 sensors@1.0-se-755 ( 755) [004] ...1 157987.796369: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15523 sensors@1.0-se-755 ( 755) [004] ...1 157987.812891: tracing_mark_write: E 15524 SensorService-1249 ( 1136) [000] ...1 157987.813168: tracing_mark_write: E 15525 SensorService-1249 ( 1136) [000] ...1 157987.813386: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15526 sensors@1.0-se-755 ( 755) [004] ...1 157987.814580: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15527 sensors@1.0-se-755 ( 755) [004] ...1 157987.833336: tracing_mark_write: E 15528 SensorService-1249 ( 1136) [000] ...1 157987.833876: tracing_mark_write: E 15529 SensorService-1249 ( 1136) [000] ...1 157987.834067: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15530 sensors@1.0-se-755 ( 755) [004] ...1 157987.836096: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15531 sensors@1.0-se-755 ( 755) [004] ...1 157987.852094: tracing_mark_write: E 15532 SensorService-1249 ( 1136) [000] ...1 157987.852326: tracing_mark_write: E 15533 SensorService-1249 ( 1136) [000] ...1 157987.852516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15534 sensors@1.0-se-755 ( 755) [004] ...1 157987.853398: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15535 sensors@1.0-se-755 ( 755) [004] ...1 157987.872315: tracing_mark_write: E 15536 SensorService-1249 ( 1136) [000] ...1 157987.872573: tracing_mark_write: E 15537 SensorService-1249 ( 1136) [000] ...1 157987.872756: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15538 sensors@1.0-se-755 ( 755) [004] ...1 157987.874118: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15539 sensors@1.0-se-755 ( 755) [004] ...1 157987.893434: tracing_mark_write: E 15540 SensorService-1249 ( 1136) [000] ...1 157987.893990: tracing_mark_write: E 15541 SensorService-1249 ( 1136) [000] ...1 157987.894271: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15542 sensors@1.0-se-755 ( 755) [004] ...1 157987.896230: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15543 sensors@1.0-se-755 ( 755) [004] ...1 157987.913527: tracing_mark_write: E 15544 SensorService-1249 ( 1136) [000] ...1 157987.913789: tracing_mark_write: E 15545 SensorService-1249 ( 1136) [000] ...1 157987.913972: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15546 sensors@1.0-se-755 ( 755) [004] ...1 157987.915237: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15547 sensors@1.0-se-755 ( 755) [004] ...1 157987.933690: tracing_mark_write: E 15548 SensorService-1249 ( 1136) [000] ...1 157987.934092: tracing_mark_write: E 15549 SensorService-1249 ( 1136) [000] ...1 157987.934571: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15550 sensors@1.0-se-755 ( 755) [004] ...1 157987.936774: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15551 sensors@1.0-se-755 ( 755) [004] ...1 157987.953548: tracing_mark_write: E 15552 SensorService-1249 ( 1136) [000] ...1 157987.954122: tracing_mark_write: E 15553 SensorService-1249 ( 1136) [000] ...1 157987.954363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15554 sensors@1.0-se-755 ( 755) [004] ...1 157987.955024: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15555 sensors@1.0-se-755 ( 755) [004] ...1 157987.973029: tracing_mark_write: E 15556 SensorService-1249 ( 1136) [000] ...1 157987.973260: tracing_mark_write: E 15557 SensorService-1249 ( 1136) [000] ...1 157987.973427: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15558 sensors@1.0-se-755 ( 755) [004] ...1 157987.974731: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15559 sensors@1.0-se-755 ( 755) [004] ...1 157987.992569: tracing_mark_write: E 15560 SensorService-1249 ( 1136) [000] ...1 157987.993124: tracing_mark_write: E 15561 SensorService-1249 ( 1136) [000] ...1 157987.993316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15562 sensors@1.0-se-755 ( 755) [004] ...1 157987.994699: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15563 sensors@1.0-se-755 ( 755) [004] ...1 157988.012864: tracing_mark_write: E 15564 SensorService-1249 ( 1136) [000] ...1 157988.013121: tracing_mark_write: E 15565 SensorService-1249 ( 1136) [000] ...1 157988.013301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15566 sensors@1.0-se-755 ( 755) [004] ...1 157988.014002: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15567 sensors@1.0-se-755 ( 755) [004] ...1 157988.032947: tracing_mark_write: E 15568 SensorService-1249 ( 1136) [000] ...1 157988.033490: tracing_mark_write: E 15569 SensorService-1249 ( 1136) [000] ...1 157988.033684: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15570 sensors@1.0-se-755 ( 755) [004] ...1 157988.035763: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15571 sensors@1.0-se-755 ( 755) [004] ...1 157988.052672: tracing_mark_write: E 15572 SensorService-1249 ( 1136) [000] ...1 157988.052902: tracing_mark_write: E 15573 SensorService-1249 ( 1136) [000] ...1 157988.053058: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15574 sensors@1.0-se-755 ( 755) [004] ...1 157988.054086: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15575 sensors@1.0-se-755 ( 755) [004] ...1 157988.073039: tracing_mark_write: E 15576 SensorService-1249 ( 1136) [000] ...1 157988.073559: tracing_mark_write: E 15577 SensorService-1249 ( 1136) [000] ...1 157988.073752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15578 sensors@1.0-se-755 ( 755) [004] ...1 157988.075148: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15579 sensors@1.0-se-755 ( 755) [004] ...1 157988.091349: tracing_mark_write: E 15580 SensorService-1249 ( 1136) [000] ...1 157988.091564: tracing_mark_write: E 15581 SensorService-1249 ( 1136) [000] ...1 157988.091715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15582 sensors@1.0-se-755 ( 755) [004] ...1 157988.092302: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15583 sensors@1.0-se-755 ( 755) [004] ...1 157988.113346: tracing_mark_write: E 15584 SensorService-1249 ( 1136) [000] ...1 157988.113830: tracing_mark_write: E 15585 SensorService-1249 ( 1136) [000] ...1 157988.114013: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15586 sensors@1.0-se-755 ( 755) [004] ...1 157988.114537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15587 sensors@1.0-se-755 ( 755) [004] ...1 157988.131299: tracing_mark_write: E 15588 SensorService-1249 ( 1136) [000] ...1 157988.131487: tracing_mark_write: E 15589 SensorService-1249 ( 1136) [000] ...1 157988.131660: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15590 sensors@1.0-se-755 ( 755) [004] ...1 157988.132261: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15591 sensors@1.0-se-755 ( 755) [004] ...1 157988.152238: tracing_mark_write: E 15592 SensorService-1249 ( 1136) [000] ...1 157988.152454: tracing_mark_write: E 15593 SensorService-1249 ( 1136) [000] ...1 157988.152608: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15594 sensors@1.0-se-755 ( 755) [004] ...1 157988.153555: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15595 sensors@1.0-se-755 ( 755) [004] ...1 157988.173017: tracing_mark_write: E 15596 SensorService-1249 ( 1136) [000] ...1 157988.173792: tracing_mark_write: E 15597 SensorService-1249 ( 1136) [000] ...1 157988.174003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15598 sensors@1.0-se-755 ( 755) [004] ...1 157988.176032: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15599 sensors@1.0-se-755 ( 755) [004] ...1 157988.192914: tracing_mark_write: E 15600 SensorService-1249 ( 1136) [000] ...1 157988.193510: tracing_mark_write: E 15601 SensorService-1249 ( 1136) [000] ...1 157988.193857: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15602 sensors@1.0-se-755 ( 755) [004] ...1 157988.195646: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15603 sensors@1.0-se-755 ( 755) [004] ...1 157988.213133: tracing_mark_write: E 15604 SensorService-1249 ( 1136) [000] ...1 157988.213610: tracing_mark_write: E 15605 SensorService-1249 ( 1136) [000] ...1 157988.213812: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15606 sensors@1.0-se-755 ( 755) [004] ...1 157988.214875: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15607 sensors@1.0-se-755 ( 755) [004] ...1 157988.233797: tracing_mark_write: E 15608 SensorService-1249 ( 1136) [000] ...1 157988.234088: tracing_mark_write: E 15609 SensorService-1249 ( 1136) [000] ...1 157988.234376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15610 sensors@1.0-se-755 ( 755) [004] ...1 157988.235512: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15611 sensors@1.0-se-755 ( 755) [004] ...1 157988.252590: tracing_mark_write: E 15612 SensorService-1249 ( 1136) [000] ...1 157988.252821: tracing_mark_write: E 15613 SensorService-1249 ( 1136) [000] ...1 157988.253004: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15614 sensors@1.0-se-755 ( 755) [004] ...1 157988.253895: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15615 sensors@1.0-se-755 ( 755) [004] ...1 157988.272339: tracing_mark_write: E 15616 SensorService-1249 ( 1136) [000] ...1 157988.272570: tracing_mark_write: E 15617 SensorService-1249 ( 1136) [000] ...1 157988.272726: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15618 sensors@1.0-se-755 ( 755) [004] ...1 157988.273615: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15619 sensors@1.0-se-755 ( 755) [004] ...1 157988.292766: tracing_mark_write: E 15620 SensorService-1249 ( 1136) [000] ...1 157988.293150: tracing_mark_write: E 15621 SensorService-1249 ( 1136) [000] ...1 157988.293281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15622 sensors@1.0-se-755 ( 755) [004] ...1 157988.293980: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15623 sensors@1.0-se-755 ( 755) [004] ...1 157988.311911: tracing_mark_write: E 15624 SensorService-1249 ( 1136) [000] ...1 157988.312339: tracing_mark_write: E 15625 SensorService-1249 ( 1136) [000] ...1 157988.312490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15626 sensors@1.0-se-755 ( 755) [004] ...1 157988.312976: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15627 sensors@1.0-se-755 ( 755) [004] ...1 157988.333892: tracing_mark_write: E 15628 SensorService-1249 ( 1136) [000] ...1 157988.334364: tracing_mark_write: E 15629 SensorService-1249 ( 1136) [000] ...1 157988.334613: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15630 sensors@1.0-se-755 ( 755) [004] ...1 157988.336810: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15631 sensors@1.0-se-755 ( 755) [004] ...1 157988.353202: tracing_mark_write: E 15632 SensorService-1249 ( 1136) [000] ...1 157988.353466: tracing_mark_write: E 15633 SensorService-1249 ( 1136) [000] ...1 157988.353694: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15634 sensors@1.0-se-755 ( 755) [004] ...1 157988.354433: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15635 sensors@1.0-se-755 ( 755) [004] ...1 157988.372752: tracing_mark_write: E 15636 SensorService-1249 ( 1136) [000] ...1 157988.373216: tracing_mark_write: E 15637 SensorService-1249 ( 1136) [000] ...1 157988.373415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15638 sensors@1.0-se-755 ( 755) [004] ...1 157988.374031: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15639 sensors@1.0-se-755 ( 755) [004] ...1 157988.394340: tracing_mark_write: E 15640 SensorService-1249 ( 1136) [000] ...1 157988.394632: tracing_mark_write: E 15641 SensorService-1249 ( 1136) [000] ...1 157988.394895: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15642 sensors@1.0-se-755 ( 755) [004] ...1 157988.395545: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15643 sensors@1.0-se-755 ( 755) [004] ...1 157988.412799: tracing_mark_write: E 15644 SensorService-1249 ( 1136) [000] ...1 157988.413030: tracing_mark_write: E 15645 SensorService-1249 ( 1136) [000] ...1 157988.413267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15646 sensors@1.0-se-755 ( 755) [004] ...1 157988.413931: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15647 sensors@1.0-se-755 ( 755) [004] ...1 157988.433369: tracing_mark_write: E 15648 SensorService-1249 ( 1136) [000] ...1 157988.433605: tracing_mark_write: E 15649 SensorService-1249 ( 1136) [000] ...1 157988.433786: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15650 sensors@1.0-se-755 ( 755) [004] ...1 157988.434567: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15651 sensors@1.0-se-755 ( 755) [006] ...1 157988.460065: tracing_mark_write: E 15652 SensorService-1249 ( 1136) [000] ...1 157988.462118: tracing_mark_write: E 15653 SensorService-1249 ( 1136) [000] ...1 157988.462443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15654 sensors@1.0-se-755 ( 755) [006] ...1 157988.464144: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15655 sensors@1.0-se-755 ( 755) [006] ...1 157988.473451: tracing_mark_write: E 15656 SensorService-1249 ( 1136) [000] ...1 157988.473750: tracing_mark_write: E 15657 SensorService-1249 ( 1136) [000] ...1 157988.473990: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15658 sensors@1.0-se-755 ( 755) [006] ...1 157988.474671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15659 sensors@1.0-se-755 ( 755) [006] ...1 157988.493328: tracing_mark_write: E 15660 SensorService-1249 ( 1136) [000] ...1 157988.493516: tracing_mark_write: E 15661 SensorService-1249 ( 1136) [000] ...1 157988.493713: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15662 sensors@1.0-se-755 ( 755) [006] ...1 157988.494349: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15663 sensors@1.0-se-755 ( 755) [004] ...1 157988.513731: tracing_mark_write: E 15664 SensorService-1249 ( 1136) [000] ...1 157988.514336: tracing_mark_write: E 15665 SensorService-1249 ( 1136) [000] ...1 157988.514521: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15666 sensors@1.0-se-755 ( 755) [004] ...1 157988.516514: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15667 sensors@1.0-se-755 ( 755) [004] ...1 157988.532756: tracing_mark_write: E 15668 SensorService-1249 ( 1136) [000] ...1 157988.533230: tracing_mark_write: E 15669 SensorService-1249 ( 1136) [000] ...1 157988.533397: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15670 sensors@1.0-se-755 ( 755) [004] ...1 157988.535260: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15671 sensors@1.0-se-755 ( 755) [004] ...1 157988.553245: tracing_mark_write: E 15672 SensorService-1249 ( 1136) [000] ...1 157988.553800: tracing_mark_write: E 15673 SensorService-1249 ( 1136) [000] ...1 157988.553989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15674 sensors@1.0-se-755 ( 755) [004] ...1 157988.555747: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15675 sensors@1.0-se-755 ( 755) [004] ...1 157988.573635: tracing_mark_write: E 15676 SensorService-1249 ( 1136) [000] ...1 157988.573876: tracing_mark_write: E 15677 SensorService-1249 ( 1136) [000] ...1 157988.574056: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15678 sensors@1.0-se-755 ( 755) [004] ...1 157988.574966: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15679 sensors@1.0-se-755 ( 755) [004] ...1 157988.592678: tracing_mark_write: E 15680 SensorService-1249 ( 1136) [000] ...1 157988.592907: tracing_mark_write: E 15681 SensorService-1249 ( 1136) [000] ...1 157988.593114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15682 sensors@1.0-se-755 ( 755) [004] ...1 157988.593757: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15683 sensors@1.0-se-755 ( 755) [004] ...1 157988.615733: tracing_mark_write: E 15684 SensorService-1249 ( 1136) [000] ...1 157988.617770: tracing_mark_write: E 15685 SensorService-1249 ( 1136) [000] ...1 157988.618038: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15686 sensors@1.0-se-755 ( 755) [004] ...1 157988.619608: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15687 sensors@1.0-se-755 ( 755) [004] ...1 157988.633293: tracing_mark_write: E 15688 SensorService-1249 ( 1136) [000] ...1 157988.633544: tracing_mark_write: E 15689 SensorService-1249 ( 1136) [000] ...1 157988.633699: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15690 sensors@1.0-se-755 ( 755) [004] ...1 157988.634182: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15691 sensors@1.0-se-755 ( 755) [004] ...1 157988.653182: tracing_mark_write: E 15692 SensorService-1249 ( 1136) [000] ...1 157988.653446: tracing_mark_write: E 15693 SensorService-1249 ( 1136) [000] ...1 157988.653642: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15694 sensors@1.0-se-755 ( 755) [004] ...1 157988.655147: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15695 sensors@1.0-se-755 ( 755) [004] ...1 157988.675534: tracing_mark_write: E 15696 SensorService-1249 ( 1136) [000] ...1 157988.677367: tracing_mark_write: E 15697 SensorService-1249 ( 1136) [000] ...1 157988.677837: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15698 sensors@1.0-se-755 ( 755) [004] ...1 157988.678467: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15699 sensors@1.0-se-755 ( 755) [004] ...1 157988.693203: tracing_mark_write: E 15700 SensorService-1249 ( 1136) [000] ...1 157988.693752: tracing_mark_write: E 15701 SensorService-1249 ( 1136) [000] ...1 157988.693962: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15702 sensors@1.0-se-755 ( 755) [004] ...1 157988.695977: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15703 sensors@1.0-se-755 ( 755) [004] ...1 157988.713256: tracing_mark_write: E 15704 SensorService-1249 ( 1136) [000] ...1 157988.713519: tracing_mark_write: E 15705 SensorService-1249 ( 1136) [000] ...1 157988.713717: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15706 sensors@1.0-se-755 ( 755) [004] ...1 157988.714387: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15707 sensors@1.0-se-755 ( 755) [004] ...1 157988.733873: tracing_mark_write: E 15708 SensorService-1249 ( 1136) [000] ...1 157988.734145: tracing_mark_write: E 15709 SensorService-1249 ( 1136) [000] ...1 157988.734422: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15710 sensors@1.0-se-755 ( 755) [004] ...1 157988.735665: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15711 sensors@1.0-se-755 ( 755) [004] ...1 157988.755298: tracing_mark_write: E 15712 SensorService-1249 ( 1136) [000] ...1 157988.757496: tracing_mark_write: E 15713 SensorService-1249 ( 1136) [000] ...1 157988.758370: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15714 sensors@1.0-se-755 ( 755) [004] ...1 157988.760239: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15715 sensors@1.0-se-755 ( 755) [004] ...1 157988.773516: tracing_mark_write: E 15716 SensorService-1249 ( 1136) [000] ...1 157988.773796: tracing_mark_write: E 15717 SensorService-1249 ( 1136) [000] ...1 157988.773980: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15718 HwBinder:755_1-1247 ( 755) [001] ...1 157988.774509: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15719 HwBinder:755_1-1247 ( 755) [001] ...1 157988.793524: tracing_mark_write: E 15720 SensorService-1249 ( 1136) [000] ...1 157988.794031: tracing_mark_write: E 15721 SensorService-1249 ( 1136) [000] ...1 157988.794340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15722 HwBinder:755_1-1247 ( 755) [001] ...1 157988.794718: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15723 HwBinder:755_1-1247 ( 755) [001] ...1 157988.814366: tracing_mark_write: E 15724 SensorService-1249 ( 1136) [000] ...1 157988.814817: tracing_mark_write: E 15725 SensorService-1249 ( 1136) [000] ...1 157988.815227: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15726 HwBinder:755_1-1247 ( 755) [001] ...1 157988.815876: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15727 HwBinder:755_1-1247 ( 755) [001] ...1 157988.832306: tracing_mark_write: E 15728 SensorService-1249 ( 1136) [000] ...1 157988.832507: tracing_mark_write: E 15729 SensorService-1249 ( 1136) [000] ...1 157988.832711: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15730 HwBinder:755_1-1247 ( 755) [001] ...1 157988.833251: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15731 HwBinder:755_1-1247 ( 755) [000] ...1 157988.854428: tracing_mark_write: E 15732 SensorService-1249 ( 1136) [001] ...1 157988.855194: tracing_mark_write: E 15733 SensorService-1249 ( 1136) [001] ...1 157988.855569: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15734 HwBinder:755_1-1247 ( 755) [000] ...1 157988.856090: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15735 HwBinder:755_1-1247 ( 755) [002] ...1 157988.872070: tracing_mark_write: E 15736 SensorService-1249 ( 1136) [001] ...1 157988.872225: tracing_mark_write: E 15737 SensorService-1249 ( 1136) [001] ...1 157988.872403: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15738 HwBinder:755_1-1247 ( 755) [002] ...1 157988.872751: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15739 HwBinder:755_1-1247 ( 755) [000] ...1 157988.898857: tracing_mark_write: E 15740 SensorService-1249 ( 1136) [001] ...1 157988.899465: tracing_mark_write: E 15741 SensorService-1249 ( 1136) [001] ...1 157988.899679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15742 HwBinder:755_1-1247 ( 755) [000] ...1 157988.899954: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15743 HwBinder:755_1-1247 ( 755) [001] ...1 157988.912382: tracing_mark_write: E 15744 SensorService-1249 ( 1136) [000] ...1 157988.912841: tracing_mark_write: E 15745 SensorService-1249 ( 1136) [000] ...1 157988.913009: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15746 HwBinder:755_1-1247 ( 755) [001] ...1 157988.913340: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15747 HwBinder:755_1-1247 ( 755) [001] ...1 157988.932924: tracing_mark_write: E 15748 SensorService-1249 ( 1136) [002] ...1 157988.933138: tracing_mark_write: E 15749 SensorService-1249 ( 1136) [002] ...1 157988.933308: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15750 HwBinder:755_1-1247 ( 755) [001] ...1 157988.933423: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15751 HwBinder:755_1-1247 ( 755) [001] ...1 157988.952514: tracing_mark_write: E 15752 SensorService-1249 ( 1136) [002] ...1 157988.952852: tracing_mark_write: E 15753 SensorService-1249 ( 1136) [002] ...1 157988.953064: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15754 HwBinder:755_1-1247 ( 755) [001] ...1 157988.953193: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15755 HwBinder:755_1-1247 ( 755) [000] ...1 157988.973284: tracing_mark_write: E 15756 SensorService-1249 ( 1136) [002] ...1 157988.973878: tracing_mark_write: E 15757 SensorService-1249 ( 1136) [002] ...1 157988.974128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15758 HwBinder:755_1-1247 ( 755) [000] ...1 157988.974588: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15759 HwBinder:755_1-1247 ( 755) [001] ...1 157988.992761: tracing_mark_write: E 15760 SensorService-1249 ( 1136) [002] ...1 157988.993051: tracing_mark_write: E 15761 SensorService-1249 ( 1136) [002] ...1 157988.993328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15762 HwBinder:755_1-1247 ( 755) [001] ...1 157988.993483: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15763 HwBinder:755_1-1247 ( 755) [000] ...1 157989.015901: tracing_mark_write: E 15764 SensorService-1249 ( 1136) [002] ...1 157989.016544: tracing_mark_write: E 15765 SensorService-1249 ( 1136) [002] ...1 157989.016865: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15766 HwBinder:755_1-1247 ( 755) [000] ...1 157989.017352: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15767 HwBinder:755_1-1247 ( 755) [001] ...1 157989.033448: tracing_mark_write: E 15768 SensorService-1249 ( 1136) [002] ...1 157989.034002: tracing_mark_write: E 15769 SensorService-1249 ( 1136) [002] ...1 157989.034244: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15770 HwBinder:755_1-1247 ( 755) [001] ...1 157989.034386: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15771 HwBinder:755_1-1247 ( 755) [000] ...1 157989.053718: tracing_mark_write: E 15772 SensorService-1249 ( 1136) [002] ...1 157989.054399: tracing_mark_write: E 15773 SensorService-1249 ( 1136) [002] ...1 157989.054760: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15774 HwBinder:755_1-1247 ( 755) [000] ...1 157989.055268: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15775 HwBinder:755_1-1247 ( 755) [001] ...1 157989.073340: tracing_mark_write: E 15776 SensorService-1249 ( 1136) [002] ...1 157989.073553: tracing_mark_write: E 15777 SensorService-1249 ( 1136) [002] ...1 157989.073757: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15778 HwBinder:755_1-1247 ( 755) [001] ...1 157989.074262: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15779 HwBinder:755_1-1247 ( 755) [001] ...1 157989.093732: tracing_mark_write: E 15780 SensorService-1249 ( 1136) [002] ...1 157989.094345: tracing_mark_write: E 15781 SensorService-1249 ( 1136) [002] ...1 157989.094681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15782 HwBinder:755_1-1247 ( 755) [001] ...1 157989.094894: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15783 HwBinder:755_1-1247 ( 755) [001] ...1 157989.113059: tracing_mark_write: E 15784 SensorService-1249 ( 1136) [002] ...1 157989.113286: tracing_mark_write: E 15785 SensorService-1249 ( 1136) [002] ...1 157989.113483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15786 HwBinder:755_1-1247 ( 755) [001] ...1 157989.113865: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15787 HwBinder:755_1-1247 ( 755) [001] ...1 157989.132601: tracing_mark_write: E 15788 SensorService-1249 ( 1136) [002] ...1 157989.132778: tracing_mark_write: E 15789 SensorService-1249 ( 1136) [002] ...1 157989.132944: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15790 HwBinder:755_1-1247 ( 755) [001] ...1 157989.133050: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15791 HwBinder:755_1-1247 ( 755) [000] ...1 157989.155087: tracing_mark_write: E 15792 SensorService-1249 ( 1136) [002] ...1 157989.155260: tracing_mark_write: E 15793 SensorService-1249 ( 1136) [002] ...1 157989.155410: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15794 HwBinder:755_1-1247 ( 755) [000] ...1 157989.155630: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15795 HwBinder:755_1-1247 ( 755) [000] ...1 157989.172107: tracing_mark_write: E 15796 SensorService-1249 ( 1136) [002] ...1 157989.172228: tracing_mark_write: E 15797 SensorService-1249 ( 1136) [002] ...1 157989.172357: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15798 HwBinder:755_1-1247 ( 755) [000] ...1 157989.172554: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15799 HwBinder:755_1-1247 ( 755) [000] ...1 157989.193685: tracing_mark_write: E 15800 SensorService-1249 ( 1136) [002] ...1 157989.194073: tracing_mark_write: E 15801 SensorService-1249 ( 1136) [002] ...1 157989.194360: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15802 HwBinder:755_1-1247 ( 755) [000] ...1 157989.194734: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15803 HwBinder:755_1-1247 ( 755) [000] ...1 157989.213525: tracing_mark_write: E 15804 SensorService-1249 ( 1136) [002] ...1 157989.214137: tracing_mark_write: E 15805 SensorService-1249 ( 1136) [002] ...1 157989.214464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15806 HwBinder:755_1-1247 ( 755) [000] ...1 157989.214607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15807 HwBinder:755_1-1247 ( 755) [002] ...1 157989.233068: tracing_mark_write: E 15808 SensorService-1249 ( 1136) [000] ...1 157989.233281: tracing_mark_write: E 15809 SensorService-1249 ( 1136) [000] ...1 157989.233484: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15810 HwBinder:755_1-1247 ( 755) [002] ...1 157989.234007: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15811 HwBinder:755_1-1247 ( 755) [000] ...1 157989.256807: tracing_mark_write: E 15812 SensorService-1249 ( 1136) [001] ...1 157989.257387: tracing_mark_write: E 15813 SensorService-1249 ( 1136) [001] ...1 157989.257718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15814 HwBinder:755_1-1247 ( 755) [000] ...1 157989.258234: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15815 HwBinder:755_1-1247 ( 755) [000] ...1 157989.274723: tracing_mark_write: E 15816 SensorService-1249 ( 1136) [001] ...1 157989.275072: tracing_mark_write: E 15817 SensorService-1249 ( 1136) [001] ...1 157989.275270: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15818 HwBinder:755_1-1247 ( 755) [000] ...1 157989.275713: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15819 HwBinder:755_1-1247 ( 755) [000] ...1 157989.299044: tracing_mark_write: E 15820 SensorService-1249 ( 1136) [001] ...1 157989.299288: tracing_mark_write: E 15821 SensorService-1249 ( 1136) [001] ...1 157989.299480: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15822 HwBinder:755_1-1247 ( 755) [000] ...1 157989.299956: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15823 HwBinder:755_1-1247 ( 755) [000] ...1 157989.314850: tracing_mark_write: E 15824 SensorService-1249 ( 1136) [001] ...1 157989.315043: tracing_mark_write: E 15825 SensorService-1249 ( 1136) [001] ...1 157989.315233: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15826 HwBinder:755_1-1247 ( 755) [000] ...1 157989.315626: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15827 HwBinder:755_1-1247 ( 755) [000] ...1 157989.339142: tracing_mark_write: E 15828 SensorService-1249 ( 1136) [001] ...1 157989.339713: tracing_mark_write: E 15829 SensorService-1249 ( 1136) [001] ...1 157989.339956: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15830 HwBinder:755_1-1247 ( 755) [000] ...1 157989.340389: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15831 HwBinder:755_1-1247 ( 755) [001] ...1 157989.354555: tracing_mark_write: E 15832 SensorService-1249 ( 1136) [002] ...1 157989.355152: tracing_mark_write: E 15833 SensorService-1249 ( 1136) [002] ...1 157989.355351: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15834 HwBinder:755_1-1247 ( 755) [001] ...1 157989.355642: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15835 HwBinder:755_1-1247 ( 755) [001] ...1 157989.379625: tracing_mark_write: E 15836 SensorService-1249 ( 1136) [002] ...1 157989.380258: tracing_mark_write: E 15837 SensorService-1249 ( 1136) [002] ...1 157989.380475: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15838 HwBinder:755_1-1247 ( 755) [001] ...1 157989.380801: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15839 HwBinder:755_1-1247 ( 755) [002] ...1 157989.393629: tracing_mark_write: E 15840 SensorService-1249 ( 1136) [000] ...1 157989.393791: tracing_mark_write: E 15841 SensorService-1249 ( 1136) [000] ...1 157989.393958: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15842 HwBinder:755_1-1247 ( 755) [002] ...1 157989.394302: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15843 HwBinder:755_1-1247 ( 755) [000] ...1 157989.414624: tracing_mark_write: E 15844 SensorService-1249 ( 1136) [001] ...1 157989.415153: tracing_mark_write: E 15845 SensorService-1249 ( 1136) [001] ...1 157989.415392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15846 HwBinder:755_1-1247 ( 755) [000] ...1 157989.415535: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15847 HwBinder:755_1-1247 ( 755) [000] ...1 157989.434746: tracing_mark_write: E 15848 SensorService-1249 ( 1136) [001] ...1 157989.435304: tracing_mark_write: E 15849 SensorService-1249 ( 1136) [001] ...1 157989.435499: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15850 HwBinder:755_1-1247 ( 755) [000] ...1 157989.435613: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15851 HwBinder:755_1-1247 ( 755) [000] ...1 157989.458738: tracing_mark_write: E 15852 SensorService-1249 ( 1136) [001] ...1 157989.459486: tracing_mark_write: E 15853 SensorService-1249 ( 1136) [001] ...1 157989.459868: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15854 HwBinder:755_1-1247 ( 755) [000] ...1 157989.460403: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15855 HwBinder:755_1-1247 ( 755) [000] ...1 157989.474532: tracing_mark_write: E 15856 SensorService-1249 ( 1136) [001] ...1 157989.474918: tracing_mark_write: E 15857 SensorService-1249 ( 1136) [001] ...1 157989.475124: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15858 HwBinder:755_1-1247 ( 755) [000] ...1 157989.475455: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15859 HwBinder:755_1-1247 ( 755) [000] ...1 157989.496849: tracing_mark_write: E 15860 SensorService-1249 ( 1136) [001] ...1 157989.497629: tracing_mark_write: E 15861 SensorService-1249 ( 1136) [001] ...1 157989.497854: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15862 HwBinder:755_1-1247 ( 755) [000] ...1 157989.498262: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15863 HwBinder:755_1-1247 ( 755) [001] ...1 157989.515870: tracing_mark_write: E 15864 SensorService-1249 ( 1136) [006] ...1 157989.517854: tracing_mark_write: E 15865 SensorService-1249 ( 1136) [006] ...1 157989.518191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15866 HwBinder:755_1-1247 ( 755) [001] ...1 157989.518455: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15867 HwBinder:755_1-1247 ( 755) [003] ...1 157989.534584: tracing_mark_write: E 15868 SensorService-1249 ( 1136) [006] ...1 157989.535947: tracing_mark_write: E 15869 SensorService-1249 ( 1136) [006] ...1 157989.536218: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15870 HwBinder:755_1-1247 ( 755) [003] ...1 157989.536448: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15871 HwBinder:755_1-1247 ( 755) [001] ...1 157989.555550: tracing_mark_write: E 15872 SensorService-1249 ( 1136) [006] ...1 157989.557463: tracing_mark_write: E 15873 SensorService-1249 ( 1136) [006] ...1 157989.558026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15874 HwBinder:755_1-1247 ( 755) [001] ...1 157989.558391: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15875 HwBinder:755_1-1247 ( 755) [002] ...1 157989.573411: tracing_mark_write: E 15876 SensorService-1249 ( 1136) [006] ...1 157989.575183: tracing_mark_write: E 15877 SensorService-1249 ( 1136) [006] ...1 157989.575570: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15878 HwBinder:755_1-1247 ( 755) [002] ...1 157989.575900: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15879 HwBinder:755_1-1247 ( 755) [001] ...1 157989.593436: tracing_mark_write: E 15880 SensorService-1249 ( 1136) [006] ...1 157989.595055: tracing_mark_write: E 15881 SensorService-1249 ( 1136) [006] ...1 157989.595509: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15882 HwBinder:755_1-1247 ( 755) [001] ...1 157989.595932: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15883 HwBinder:755_1-1247 ( 755) [001] ...1 157989.613530: tracing_mark_write: E 15884 SensorService-1249 ( 1136) [006] ...1 157989.615165: tracing_mark_write: E 15885 SensorService-1249 ( 1136) [006] ...1 157989.615496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15886 HwBinder:755_1-1247 ( 755) [001] ...1 157989.615750: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15887 HwBinder:755_1-1247 ( 755) [001] ...1 157989.633479: tracing_mark_write: E 15888 SensorService-1249 ( 1136) [006] ...1 157989.635072: tracing_mark_write: E 15889 SensorService-1249 ( 1136) [006] ...1 157989.635490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15890 HwBinder:755_1-1247 ( 755) [001] ...1 157989.635970: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15891 HwBinder:755_1-1247 ( 755) [001] ...1 157989.653202: tracing_mark_write: E 15892 SensorService-1249 ( 1136) [006] ...1 157989.654734: tracing_mark_write: E 15893 SensorService-1249 ( 1136) [006] ...1 157989.655026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15894 HwBinder:755_1-1247 ( 755) [001] ...1 157989.655447: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15895 HwBinder:755_1-1247 ( 755) [001] ...1 157989.673324: tracing_mark_write: E 15896 SensorService-1249 ( 1136) [006] ...1 157989.674083: tracing_mark_write: E 15897 SensorService-1249 ( 1136) [006] ...1 157989.674491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15898 HwBinder:755_1-1247 ( 755) [001] ...1 157989.676129: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15899 HwBinder:755_1-1247 ( 755) [001] ...1 157989.693291: tracing_mark_write: E 15900 SensorService-1249 ( 1136) [006] ...1 157989.693755: tracing_mark_write: E 15901 SensorService-1249 ( 1136) [006] ...1 157989.693932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15902 HwBinder:755_1-1247 ( 755) [001] ...1 157989.694349: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15903 HwBinder:755_1-1247 ( 755) [001] ...1 157989.714176: tracing_mark_write: E 15904 SensorService-1249 ( 1136) [006] ...1 157989.716379: tracing_mark_write: E 15905 SensorService-1249 ( 1136) [006] ...1 157989.716664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15906 HwBinder:755_1-1247 ( 755) [001] ...1 157989.717184: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15907 HwBinder:755_1-1247 ( 755) [001] ...1 157989.733801: tracing_mark_write: E 15908 SensorService-1249 ( 1136) [006] ...1 157989.734532: tracing_mark_write: E 15909 SensorService-1249 ( 1136) [006] ...1 157989.734844: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15910 HwBinder:755_1-1247 ( 755) [001] ...1 157989.735476: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15911 HwBinder:755_1-1247 ( 755) [001] ...1 157989.752773: tracing_mark_write: E 15912 SensorService-1249 ( 1136) [006] ...1 157989.753208: tracing_mark_write: E 15913 SensorService-1249 ( 1136) [006] ...1 157989.753377: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15914 HwBinder:755_1-1247 ( 755) [001] ...1 157989.753841: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15915 HwBinder:755_1-1247 ( 755) [001] ...1 157989.775017: tracing_mark_write: E 15916 SensorService-1249 ( 1136) [006] ...1 157989.776674: tracing_mark_write: E 15917 SensorService-1249 ( 1136) [006] ...1 157989.776945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15918 HwBinder:755_1-1247 ( 755) [001] ...1 157989.777615: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15919 HwBinder:755_1-1247 ( 755) [001] ...1 157989.794310: tracing_mark_write: E 15920 SensorService-1249 ( 1136) [006] ...1 157989.795435: tracing_mark_write: E 15921 SensorService-1249 ( 1136) [006] ...1 157989.795813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15922 HwBinder:755_1-1247 ( 755) [001] ...1 157989.796446: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15923 HwBinder:755_1-1247 ( 755) [001] ...1 157989.816075: tracing_mark_write: E 15924 SensorService-1249 ( 1136) [006] ...1 157989.817811: tracing_mark_write: E 15925 SensorService-1249 ( 1136) [006] ...1 157989.818107: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15926 HwBinder:755_1-1247 ( 755) [001] ...1 157989.818740: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15927 HwBinder:755_1-1247 ( 755) [001] ...1 157989.833412: tracing_mark_write: E 15928 SensorService-1249 ( 1136) [006] ...1 157989.834057: tracing_mark_write: E 15929 SensorService-1249 ( 1136) [006] ...1 157989.834368: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15930 HwBinder:755_1-1247 ( 755) [001] ...1 157989.834774: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15931 HwBinder:755_1-1247 ( 755) [001] ...1 157989.855266: tracing_mark_write: E 15932 SensorService-1249 ( 1136) [006] ...1 157989.856012: tracing_mark_write: E 15933 SensorService-1249 ( 1136) [006] ...1 157989.856278: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15934 HwBinder:755_1-1247 ( 755) [001] ...1 157989.856784: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15935 HwBinder:755_1-1247 ( 755) [001] ...1 157989.873383: tracing_mark_write: E 15936 SensorService-1249 ( 1136) [006] ...1 157989.875005: tracing_mark_write: E 15937 SensorService-1249 ( 1136) [006] ...1 157989.875269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15938 HwBinder:755_1-1247 ( 755) [001] ...1 157989.875868: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15939 HwBinder:755_1-1247 ( 755) [001] ...1 157989.894106: tracing_mark_write: E 15940 SensorService-1249 ( 1136) [006] ...1 157989.896011: tracing_mark_write: E 15941 SensorService-1249 ( 1136) [006] ...1 157989.896402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15942 HwBinder:755_1-1247 ( 755) [001] ...1 157989.897123: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15943 HwBinder:755_1-1247 ( 755) [001] ...1 157989.914337: tracing_mark_write: E 15944 SensorService-1249 ( 1136) [006] ...1 157989.915970: tracing_mark_write: E 15945 SensorService-1249 ( 1136) [006] ...1 157989.916298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15946 HwBinder:755_1-1247 ( 755) [001] ...1 157989.916843: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15947 HwBinder:755_1-1247 ( 755) [001] ...1 157989.933163: tracing_mark_write: E 15948 SensorService-1249 ( 1136) [006] ...1 157989.933978: tracing_mark_write: E 15949 SensorService-1249 ( 1136) [006] ...1 157989.934292: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15950 HwBinder:755_1-1247 ( 755) [001] ...1 157989.934694: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15951 HwBinder:755_1-1247 ( 755) [002] ...1 157989.954355: tracing_mark_write: E 15952 SensorService-1249 ( 1136) [006] ...1 157989.956175: tracing_mark_write: E 15953 SensorService-1249 ( 1136) [006] ...1 157989.956481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15954 HwBinder:755_1-1247 ( 755) [002] ...1 157989.956711: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15955 HwBinder:755_1-1247 ( 755) [002] ...1 157989.973678: tracing_mark_write: E 15956 SensorService-1249 ( 1136) [006] ...1 157989.973895: tracing_mark_write: E 15957 SensorService-1249 ( 1136) [006] ...1 157989.974137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15958 HwBinder:755_1-1247 ( 755) [002] ...1 157989.974401: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15959 HwBinder:755_1-1247 ( 755) [001] ...1 157989.994023: tracing_mark_write: E 15960 SensorService-1249 ( 1136) [006] ...1 157989.995585: tracing_mark_write: E 15961 SensorService-1249 ( 1136) [006] ...1 157989.995890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15962 HwBinder:755_1-1247 ( 755) [001] ...1 157989.996378: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15963 HwBinder:755_1-1247 ( 755) [002] ...1 157990.013411: tracing_mark_write: E 15964 SensorService-1249 ( 1136) [006] ...1 157990.015067: tracing_mark_write: E 15965 SensorService-1249 ( 1136) [006] ...1 157990.015396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15966 HwBinder:755_1-1247 ( 755) [002] ...1 157990.015652: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15967 HwBinder:755_1-1247 ( 755) [001] ...1 157990.033391: tracing_mark_write: E 15968 SensorService-1249 ( 1136) [006] ...1 157990.034936: tracing_mark_write: E 15969 SensorService-1249 ( 1136) [006] ...1 157990.035224: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15970 HwBinder:755_1-1247 ( 755) [001] ...1 157990.035667: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15971 HwBinder:755_1-1247 ( 755) [002] ...1 157990.053984: tracing_mark_write: E 15972 SensorService-1249 ( 1136) [006] ...1 157990.054699: tracing_mark_write: E 15973 SensorService-1249 ( 1136) [006] ...1 157990.055015: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15974 HwBinder:755_1-1247 ( 755) [002] ...1 157990.055219: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15975 HwBinder:755_1-1247 ( 755) [003] ...1 157990.073980: tracing_mark_write: E 15976 SensorService-1249 ( 1136) [006] ...1 157990.074591: tracing_mark_write: E 15977 SensorService-1249 ( 1136) [006] ...1 157990.074841: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15978 HwBinder:755_1-1247 ( 755) [003] ...1 157990.075297: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15979 HwBinder:755_1-1247 ( 755) [001] ...1 157990.094362: tracing_mark_write: E 15980 SensorService-1249 ( 1136) [006] ...1 157990.094736: tracing_mark_write: E 15981 SensorService-1249 ( 1136) [006] ...1 157990.095037: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15982 HwBinder:755_1-1247 ( 755) [001] ...1 157990.095502: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15983 HwBinder:755_1-1247 ( 755) [002] ...1 157990.114026: tracing_mark_write: E 15984 SensorService-1249 ( 1136) [006] ...1 157990.114854: tracing_mark_write: E 15985 SensorService-1249 ( 1136) [006] ...1 157990.115131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15986 HwBinder:755_1-1247 ( 755) [002] ...1 157990.115332: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15987 HwBinder:755_1-1247 ( 755) [002] ...1 157990.133381: tracing_mark_write: E 15988 SensorService-1249 ( 1136) [006] ...1 157990.135008: tracing_mark_write: E 15989 SensorService-1249 ( 1136) [006] ...1 157990.135242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15990 HwBinder:755_1-1247 ( 755) [002] ...1 157990.135679: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15991 HwBinder:755_1-1247 ( 755) [003] ...1 157990.153865: tracing_mark_write: E 15992 SensorService-1249 ( 1136) [006] ...1 157990.155101: tracing_mark_write: E 15993 SensorService-1249 ( 1136) [006] ...1 157990.155348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15994 HwBinder:755_1-1247 ( 755) [003] ...1 157990.155516: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15995 HwBinder:755_1-1247 ( 755) [002] ...1 157990.173363: tracing_mark_write: E 15996 SensorService-1249 ( 1136) [006] ...1 157990.174181: tracing_mark_write: E 15997 SensorService-1249 ( 1136) [006] ...1 157990.174542: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 15998 HwBinder:755_1-1247 ( 755) [002] ...1 157990.175053: tracing_mark_write: B|755|HIDL::ISensors::poll::server 15999 HwBinder:755_1-1247 ( 755) [000] ...1 157990.194363: tracing_mark_write: E 16000 SensorService-1249 ( 1136) [006] ...1 157990.194645: tracing_mark_write: E 16001 SensorService-1249 ( 1136) [006] ...1 157990.194921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16002 HwBinder:755_1-1247 ( 755) [000] ...1 157990.195394: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16003 HwBinder:755_1-1247 ( 755) [000] ...1 157990.214647: tracing_mark_write: E 16004 SensorService-1249 ( 1136) [006] ...1 157990.216629: tracing_mark_write: E 16005 SensorService-1249 ( 1136) [006] ...1 157990.217131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16006 HwBinder:755_1-1247 ( 755) [000] ...1 157990.218930: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16007 HwBinder:755_1-1247 ( 755) [001] ...1 157990.233385: tracing_mark_write: E 16008 SensorService-1249 ( 1136) [006] ...1 157990.234699: tracing_mark_write: E 16009 SensorService-1249 ( 1136) [006] ...1 157990.234964: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16010 HwBinder:755_1-1247 ( 755) [001] ...1 157990.235352: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16011 HwBinder:755_1-1247 ( 755) [001] ...1 157990.254414: tracing_mark_write: E 16012 SensorService-1249 ( 1136) [006] ...1 157990.254774: tracing_mark_write: E 16013 SensorService-1249 ( 1136) [006] ...1 157990.255063: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16014 sensors@1.0-se-755 ( 755) [004] ...1 157990.255750: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16015 sensors@1.0-se-755 ( 755) [004] ...1 157990.274940: tracing_mark_write: E 16016 SensorService-1249 ( 1136) [006] ...1 157990.275238: tracing_mark_write: E 16017 SensorService-1249 ( 1136) [006] ...1 157990.275518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16018 sensors@1.0-se-755 ( 755) [004] ...1 157990.276114: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16019 sensors@1.0-se-755 ( 755) [004] ...1 157990.294033: tracing_mark_write: E 16020 SensorService-1249 ( 1136) [006] ...1 157990.294421: tracing_mark_write: E 16021 SensorService-1249 ( 1136) [006] ...1 157990.294591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16022 sensors@1.0-se-755 ( 755) [004] ...1 157990.295171: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16023 sensors@1.0-se-755 ( 755) [004] ...1 157990.314567: tracing_mark_write: E 16024 SensorService-1249 ( 1136) [006] ...1 157990.314726: tracing_mark_write: E 16025 SensorService-1249 ( 1136) [006] ...1 157990.314881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16026 sensors@1.0-se-755 ( 755) [004] ...1 157990.315471: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16027 sensors@1.0-se-755 ( 755) [004] ...1 157990.334806: tracing_mark_write: E 16028 SensorService-1249 ( 1136) [006] ...1 157990.335069: tracing_mark_write: E 16029 SensorService-1249 ( 1136) [006] ...1 157990.335335: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16030 sensors@1.0-se-755 ( 755) [004] ...1 157990.335960: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16031 sensors@1.0-se-755 ( 755) [004] ...1 157990.354837: tracing_mark_write: E 16032 SensorService-1249 ( 1136) [006] ...1 157990.354977: tracing_mark_write: E 16033 SensorService-1249 ( 1136) [006] ...1 157990.355131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16034 sensors@1.0-se-755 ( 755) [004] ...1 157990.355731: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16035 sensors@1.0-se-755 ( 755) [004] ...1 157990.374665: tracing_mark_write: E 16036 SensorService-1249 ( 1136) [006] ...1 157990.375352: tracing_mark_write: E 16037 SensorService-1249 ( 1136) [006] ...1 157990.375619: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16038 sensors@1.0-se-755 ( 755) [004] ...1 157990.376245: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16039 sensors@1.0-se-755 ( 755) [004] ...1 157990.394652: tracing_mark_write: E 16040 SensorService-1249 ( 1136) [006] ...1 157990.394796: tracing_mark_write: E 16041 SensorService-1249 ( 1136) [006] ...1 157990.394948: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16042 sensors@1.0-se-755 ( 755) [004] ...1 157990.395590: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16043 sensors@1.0-se-755 ( 755) [004] ...1 157990.415969: tracing_mark_write: E 16044 SensorService-1249 ( 1136) [006] ...1 157990.416943: tracing_mark_write: E 16045 SensorService-1249 ( 1136) [006] ...1 157990.417336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16046 sensors@1.0-se-755 ( 755) [004] ...1 157990.417991: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16047 sensors@1.0-se-755 ( 755) [004] ...1 157990.434400: tracing_mark_write: E 16048 SensorService-1249 ( 1136) [006] ...1 157990.434692: tracing_mark_write: E 16049 SensorService-1249 ( 1136) [006] ...1 157990.434951: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16050 sensors@1.0-se-755 ( 755) [004] ...1 157990.435532: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16051 sensors@1.0-se-755 ( 755) [004] ...1 157990.454357: tracing_mark_write: E 16052 SensorService-1249 ( 1136) [006] ...1 157990.454512: tracing_mark_write: E 16053 SensorService-1249 ( 1136) [006] ...1 157990.454665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16054 sensors@1.0-se-755 ( 755) [004] ...1 157990.455291: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16055 sensors@1.0-se-755 ( 755) [004] ...1 157990.474423: tracing_mark_write: E 16056 SensorService-1249 ( 1136) [006] ...1 157990.474584: tracing_mark_write: E 16057 SensorService-1249 ( 1136) [006] ...1 157990.474718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16058 sensors@1.0-se-755 ( 755) [004] ...1 157990.475340: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16059 sensors@1.0-se-755 ( 755) [004] ...1 157990.494331: tracing_mark_write: E 16060 SensorService-1249 ( 1136) [006] ...1 157990.494867: tracing_mark_write: E 16061 SensorService-1249 ( 1136) [006] ...1 157990.495022: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16062 sensors@1.0-se-755 ( 755) [004] ...1 157990.495601: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16063 sensors@1.0-se-755 ( 755) [004] ...1 157990.513916: tracing_mark_write: E 16064 SensorService-1249 ( 1136) [006] ...1 157990.514518: tracing_mark_write: E 16065 SensorService-1249 ( 1136) [006] ...1 157990.514681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16066 sensors@1.0-se-755 ( 755) [004] ...1 157990.515138: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16067 sensors@1.0-se-755 ( 755) [004] ...1 157990.533988: tracing_mark_write: E 16068 SensorService-1249 ( 1136) [006] ...1 157990.534529: tracing_mark_write: E 16069 SensorService-1249 ( 1136) [006] ...1 157990.534692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16070 sensors@1.0-se-755 ( 755) [004] ...1 157990.534846: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16071 sensors@1.0-se-755 ( 755) [004] ...1 157990.554830: tracing_mark_write: E 16072 SensorService-1249 ( 1136) [006] ...1 157990.555385: tracing_mark_write: E 16073 SensorService-1249 ( 1136) [006] ...1 157990.555640: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16074 sensors@1.0-se-755 ( 755) [004] ...1 157990.556123: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16075 sensors@1.0-se-755 ( 755) [004] ...1 157990.575856: tracing_mark_write: E 16076 SensorService-1249 ( 1136) [006] ...1 157990.576886: tracing_mark_write: E 16077 SensorService-1249 ( 1136) [006] ...1 157990.577329: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16078 sensors@1.0-se-755 ( 755) [004] ...1 157990.578111: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16079 sensors@1.0-se-755 ( 755) [004] ...1 157990.595057: tracing_mark_write: E 16080 SensorService-1249 ( 1136) [006] ...1 157990.595860: tracing_mark_write: E 16081 SensorService-1249 ( 1136) [006] ...1 157990.596221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16082 sensors@1.0-se-755 ( 755) [004] ...1 157990.596819: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16083 sensors@1.0-se-755 ( 755) [004] ...1 157990.613786: tracing_mark_write: E 16084 SensorService-1249 ( 1136) [006] ...1 157990.614574: tracing_mark_write: E 16085 SensorService-1249 ( 1136) [006] ...1 157990.614851: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16086 sensors@1.0-se-755 ( 755) [004] ...1 157990.615779: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16087 sensors@1.0-se-755 ( 755) [004] ...1 157990.634837: tracing_mark_write: E 16088 SensorService-1249 ( 1136) [006] ...1 157990.635605: tracing_mark_write: E 16089 SensorService-1249 ( 1136) [006] ...1 157990.635913: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16090 sensors@1.0-se-755 ( 755) [004] ...1 157990.636129: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16091 sensors@1.0-se-755 ( 755) [004] ...1 157990.656013: tracing_mark_write: E 16092 SensorService-1249 ( 1136) [006] ...1 157990.656636: tracing_mark_write: E 16093 SensorService-1249 ( 1136) [006] ...1 157990.656931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16094 sensors@1.0-se-755 ( 755) [004] ...1 157990.657499: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16095 sensors@1.0-se-755 ( 755) [004] ...1 157990.675393: tracing_mark_write: E 16096 SensorService-1249 ( 1136) [006] ...1 157990.675924: tracing_mark_write: E 16097 SensorService-1249 ( 1136) [006] ...1 157990.676185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16098 sensors@1.0-se-755 ( 755) [004] ...1 157990.676640: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16099 sensors@1.0-se-755 ( 755) [004] ...1 157990.693759: tracing_mark_write: E 16100 SensorService-1249 ( 1136) [006] ...1 157990.694080: tracing_mark_write: E 16101 SensorService-1249 ( 1136) [006] ...1 157990.694245: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16102 sensors@1.0-se-755 ( 755) [004] ...1 157990.694515: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16103 sensors@1.0-se-755 ( 755) [004] ...1 157990.717046: tracing_mark_write: E 16104 SensorService-1249 ( 1136) [006] ...1 157990.717623: tracing_mark_write: E 16105 SensorService-1249 ( 1136) [006] ...1 157990.717802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16106 sensors@1.0-se-755 ( 755) [004] ...1 157990.717889: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16107 sensors@1.0-se-755 ( 755) [004] ...1 157990.734880: tracing_mark_write: E 16108 SensorService-1249 ( 1136) [006] ...1 157990.735710: tracing_mark_write: E 16109 SensorService-1249 ( 1136) [006] ...1 157990.736065: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16110 sensors@1.0-se-755 ( 755) [004] ...1 157990.736645: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16111 sensors@1.0-se-755 ( 755) [004] ...1 157990.756219: tracing_mark_write: E 16112 SensorService-1249 ( 1136) [006] ...1 157990.756936: tracing_mark_write: E 16113 SensorService-1249 ( 1136) [006] ...1 157990.757255: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16114 sensors@1.0-se-755 ( 755) [004] ...1 157990.757845: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16115 sensors@1.0-se-755 ( 755) [004] ...1 157990.773808: tracing_mark_write: E 16116 SensorService-1249 ( 1136) [006] ...1 157990.773968: tracing_mark_write: E 16117 SensorService-1249 ( 1136) [006] ...1 157990.774114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16118 sensors@1.0-se-755 ( 755) [004] ...1 157990.774198: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16119 sensors@1.0-se-755 ( 755) [004] ...1 157990.793916: tracing_mark_write: E 16120 SensorService-1249 ( 1136) [006] ...1 157990.793949: tracing_mark_write: E 16121 SensorService-1249 ( 1136) [006] ...1 157990.793977: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16122 sensors@1.0-se-755 ( 755) [004] ...1 157990.794464: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16123 sensors@1.0-se-755 ( 755) [004] ...1 157990.813898: tracing_mark_write: E 16124 SensorService-1249 ( 1136) [006] ...1 157990.813922: tracing_mark_write: E 16125 SensorService-1249 ( 1136) [006] ...1 157990.813943: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16126 sensors@1.0-se-755 ( 755) [004] ...1 157990.813971: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16127 sensors@1.0-se-755 ( 755) [004] ...1 157990.833814: tracing_mark_write: E 16128 SensorService-1249 ( 1136) [006] ...1 157990.833835: tracing_mark_write: E 16129 SensorService-1249 ( 1136) [006] ...1 157990.833852: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16130 sensors@1.0-se-755 ( 755) [004] ...1 157990.834117: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16131 sensors@1.0-se-755 ( 755) [004] ...1 157990.854028: tracing_mark_write: E 16132 SensorService-1249 ( 1136) [006] ...1 157990.854269: tracing_mark_write: E 16133 SensorService-1249 ( 1136) [006] ...1 157990.854304: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16134 sensors@1.0-se-755 ( 755) [004] ...1 157990.854529: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16135 sensors@1.0-se-755 ( 755) [004] ...1 157990.874103: tracing_mark_write: E 16136 SensorService-1249 ( 1136) [006] ...1 157990.874350: tracing_mark_write: E 16137 SensorService-1249 ( 1136) [006] ...1 157990.874396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16138 sensors@1.0-se-755 ( 755) [004] ...1 157990.874631: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16139 sensors@1.0-se-755 ( 755) [004] ...1 157990.893751: tracing_mark_write: E 16140 SensorService-1249 ( 1136) [006] ...1 157990.893807: tracing_mark_write: E 16141 SensorService-1249 ( 1136) [006] ...1 157990.893859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16142 sensors@1.0-se-755 ( 755) [004] ...1 157990.893998: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16143 sensors@1.0-se-755 ( 755) [004] ...1 157990.914168: tracing_mark_write: E 16144 SensorService-1249 ( 1136) [006] ...1 157990.914403: tracing_mark_write: E 16145 SensorService-1249 ( 1136) [006] ...1 157990.914514: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16146 sensors@1.0-se-755 ( 755) [004] ...1 157990.914749: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16147 sensors@1.0-se-755 ( 755) [004] ...1 157990.933935: tracing_mark_write: E 16148 SensorService-1249 ( 1136) [006] ...1 157990.934400: tracing_mark_write: E 16149 SensorService-1249 ( 1136) [006] ...1 157990.934629: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16150 sensors@1.0-se-755 ( 755) [004] ...1 157990.934825: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16151 sensors@1.0-se-755 ( 755) [004] ...1 157990.954344: tracing_mark_write: E 16152 SensorService-1249 ( 1136) [006] ...1 157990.954690: tracing_mark_write: E 16153 SensorService-1249 ( 1136) [006] ...1 157990.954869: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16154 sensors@1.0-se-755 ( 755) [004] ...1 157990.955070: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16155 sensors@1.0-se-755 ( 755) [004] ...1 157990.975268: tracing_mark_write: E 16156 SensorService-1249 ( 1136) [006] ...1 157990.975619: tracing_mark_write: E 16157 SensorService-1249 ( 1136) [006] ...1 157990.975784: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16158 sensors@1.0-se-755 ( 755) [004] ...1 157990.975938: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16159 sensors@1.0-se-755 ( 755) [004] ...1 157990.994771: tracing_mark_write: E 16160 SensorService-1249 ( 1136) [006] ...1 157990.995293: tracing_mark_write: E 16161 SensorService-1249 ( 1136) [006] ...1 157990.995456: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16162 sensors@1.0-se-755 ( 755) [004] ...1 157990.995755: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16163 sensors@1.0-se-755 ( 755) [004] ...1 157991.019049: tracing_mark_write: E 16164 SensorService-1249 ( 1136) [006] ...1 157991.019808: tracing_mark_write: E 16165 SensorService-1249 ( 1136) [006] ...1 157991.020137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16166 sensors@1.0-se-755 ( 755) [004] ...1 157991.021070: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16167 sensors@1.0-se-755 ( 755) [004] ...1 157991.035464: tracing_mark_write: E 16168 SensorService-1249 ( 1136) [006] ...1 157991.036107: tracing_mark_write: E 16169 SensorService-1249 ( 1136) [006] ...1 157991.036402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16170 sensors@1.0-se-755 ( 755) [004] ...1 157991.036597: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16171 sensors@1.0-se-755 ( 755) [004] ...1 157991.054374: tracing_mark_write: E 16172 SensorService-1249 ( 1136) [006] ...1 157991.054932: tracing_mark_write: E 16173 SensorService-1249 ( 1136) [006] ...1 157991.055228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16174 sensors@1.0-se-755 ( 755) [004] ...1 157991.055933: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16175 sensors@1.0-se-755 ( 755) [004] ...1 157991.076702: tracing_mark_write: E 16176 SensorService-1249 ( 1136) [006] ...1 157991.077456: tracing_mark_write: E 16177 SensorService-1249 ( 1136) [006] ...1 157991.077935: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16178 sensors@1.0-se-755 ( 755) [004] ...1 157991.078552: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16179 sensors@1.0-se-755 ( 755) [004] ...1 157991.095755: tracing_mark_write: E 16180 SensorService-1249 ( 1136) [006] ...1 157991.096479: tracing_mark_write: E 16181 SensorService-1249 ( 1136) [006] ...1 157991.096775: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16182 sensors@1.0-se-755 ( 755) [004] ...1 157991.097377: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16183 sensors@1.0-se-755 ( 755) [004] ...1 157991.115468: tracing_mark_write: E 16184 SensorService-1249 ( 1136) [006] ...1 157991.116009: tracing_mark_write: E 16185 SensorService-1249 ( 1136) [006] ...1 157991.116170: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16186 sensors@1.0-se-755 ( 755) [004] ...1 157991.116734: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16187 sensors@1.0-se-755 ( 755) [004] ...1 157991.135861: tracing_mark_write: E 16188 SensorService-1249 ( 1136) [006] ...1 157991.136426: tracing_mark_write: E 16189 SensorService-1249 ( 1136) [006] ...1 157991.136701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16190 sensors@1.0-se-755 ( 755) [004] ...1 157991.137212: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16191 sensors@1.0-se-755 ( 755) [004] ...1 157991.154580: tracing_mark_write: E 16192 SensorService-1249 ( 1136) [006] ...1 157991.154706: tracing_mark_write: E 16193 SensorService-1249 ( 1136) [006] ...1 157991.154833: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16194 sensors@1.0-se-755 ( 755) [004] ...1 157991.155659: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16195 sensors@1.0-se-755 ( 755) [004] ...1 157991.174727: tracing_mark_write: E 16196 SensorService-1249 ( 1136) [006] ...1 157991.174816: tracing_mark_write: E 16197 SensorService-1249 ( 1136) [006] ...1 157991.174917: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16198 sensors@1.0-se-755 ( 755) [004] ...1 157991.175486: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16199 sensors@1.0-se-755 ( 755) [004] ...1 157991.196616: tracing_mark_write: E 16200 SensorService-1249 ( 1136) [006] ...1 157991.197347: tracing_mark_write: E 16201 SensorService-1249 ( 1136) [006] ...1 157991.197794: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16202 sensors@1.0-se-755 ( 755) [004] ...1 157991.198033: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16203 sensors@1.0-se-755 ( 755) [004] ...1 157991.215499: tracing_mark_write: E 16204 SensorService-1249 ( 1136) [006] ...1 157991.216210: tracing_mark_write: E 16205 SensorService-1249 ( 1136) [006] ...1 157991.216512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16206 sensors@1.0-se-755 ( 755) [004] ...1 157991.216723: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16207 sensors@1.0-se-755 ( 755) [004] ...1 157991.237010: tracing_mark_write: E 16208 SensorService-1249 ( 1136) [006] ...1 157991.237749: tracing_mark_write: E 16209 SensorService-1249 ( 1136) [006] ...1 157991.238062: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16210 sensors@1.0-se-755 ( 755) [004] ...1 157991.238654: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16211 sensors@1.0-se-755 ( 755) [004] ...1 157991.255527: tracing_mark_write: E 16212 SensorService-1249 ( 1136) [006] ...1 157991.256340: tracing_mark_write: E 16213 SensorService-1249 ( 1136) [006] ...1 157991.256661: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16214 sensors@1.0-se-755 ( 755) [004] ...1 157991.257254: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16215 sensors@1.0-se-755 ( 755) [004] ...1 157991.276457: tracing_mark_write: E 16216 SensorService-1249 ( 1136) [006] ...1 157991.277024: tracing_mark_write: E 16217 SensorService-1249 ( 1136) [006] ...1 157991.277242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16218 sensors@1.0-se-755 ( 755) [004] ...1 157991.277732: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16219 sensors@1.0-se-755 ( 755) [004] ...1 157991.295428: tracing_mark_write: E 16220 SensorService-1249 ( 1136) [006] ...1 157991.296312: tracing_mark_write: E 16221 SensorService-1249 ( 1136) [006] ...1 157991.296623: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16222 sensors@1.0-se-755 ( 755) [004] ...1 157991.297371: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16223 sensors@1.0-se-755 ( 755) [004] ...1 157991.316159: tracing_mark_write: E 16224 SensorService-1249 ( 1136) [006] ...1 157991.317081: tracing_mark_write: E 16225 SensorService-1249 ( 1136) [006] ...1 157991.317658: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16226 sensors@1.0-se-755 ( 755) [004] ...1 157991.318356: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16227 sensors@1.0-se-755 ( 755) [004] ...1 157991.335873: tracing_mark_write: E 16228 SensorService-1249 ( 1136) [006] ...1 157991.336774: tracing_mark_write: E 16229 SensorService-1249 ( 1136) [006] ...1 157991.337210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16230 sensors@1.0-se-755 ( 755) [004] ...1 157991.337919: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16231 sensors@1.0-se-755 ( 755) [004] ...1 157991.355517: tracing_mark_write: E 16232 SensorService-1249 ( 1136) [006] ...1 157991.356224: tracing_mark_write: E 16233 SensorService-1249 ( 1136) [006] ...1 157991.356527: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16234 sensors@1.0-se-755 ( 755) [004] ...1 157991.357191: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16235 sensors@1.0-se-755 ( 755) [004] ...1 157991.375208: tracing_mark_write: E 16236 SensorService-1249 ( 1136) [006] ...1 157991.376072: tracing_mark_write: E 16237 SensorService-1249 ( 1136) [006] ...1 157991.376252: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16238 sensors@1.0-se-755 ( 755) [004] ...1 157991.376981: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16239 sensors@1.0-se-755 ( 755) [004] ...1 157991.395981: tracing_mark_write: E 16240 SensorService-1249 ( 1136) [006] ...1 157991.396506: tracing_mark_write: E 16241 SensorService-1249 ( 1136) [006] ...1 157991.396669: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16242 sensors@1.0-se-755 ( 755) [004] ...1 157991.397368: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16243 sensors@1.0-se-755 ( 755) [004] ...1 157991.414998: tracing_mark_write: E 16244 SensorService-1249 ( 1136) [006] ...1 157991.415531: tracing_mark_write: E 16245 SensorService-1249 ( 1136) [006] ...1 157991.415710: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16246 sensors@1.0-se-755 ( 755) [004] ...1 157991.416277: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16247 sensors@1.0-se-755 ( 755) [004] ...1 157991.438066: tracing_mark_write: E 16248 SensorService-1249 ( 1136) [006] ...1 157991.438813: tracing_mark_write: E 16249 SensorService-1249 ( 1136) [006] ...1 157991.439128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16250 sensors@1.0-se-755 ( 755) [004] ...1 157991.439772: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16251 sensors@1.0-se-755 ( 755) [004] ...1 157991.457913: tracing_mark_write: E 16252 SensorService-1249 ( 1136) [006] ...1 157991.458670: tracing_mark_write: E 16253 SensorService-1249 ( 1136) [006] ...1 157991.458966: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16254 sensors@1.0-se-755 ( 755) [004] ...1 157991.459390: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16255 sensors@1.0-se-755 ( 755) [004] ...1 157991.477830: tracing_mark_write: E 16256 SensorService-1249 ( 1136) [006] ...1 157991.478591: tracing_mark_write: E 16257 SensorService-1249 ( 1136) [006] ...1 157991.478921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16258 sensors@1.0-se-755 ( 755) [004] ...1 157991.479514: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16259 sensors@1.0-se-755 ( 755) [004] ...1 157991.495373: tracing_mark_write: E 16260 SensorService-1249 ( 1136) [006] ...1 157991.496085: tracing_mark_write: E 16261 SensorService-1249 ( 1136) [006] ...1 157991.496392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16262 sensors@1.0-se-755 ( 755) [004] ...1 157991.496606: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16263 sensors@1.0-se-755 ( 755) [004] ...1 157991.515963: tracing_mark_write: E 16264 SensorService-1249 ( 1136) [006] ...1 157991.516542: tracing_mark_write: E 16265 SensorService-1249 ( 1136) [006] ...1 157991.516724: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16266 sensors@1.0-se-755 ( 755) [004] ...1 157991.517294: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16267 sensors@1.0-se-755 ( 755) [004] ...1 157991.535536: tracing_mark_write: E 16268 SensorService-1249 ( 1136) [006] ...1 157991.536319: tracing_mark_write: E 16269 SensorService-1249 ( 1136) [006] ...1 157991.536616: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16270 sensors@1.0-se-755 ( 755) [004] ...1 157991.537189: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16271 sensors@1.0-se-755 ( 755) [004] ...1 157991.554149: tracing_mark_write: E 16272 SensorService-1249 ( 1136) [006] ...1 157991.554571: tracing_mark_write: E 16273 SensorService-1249 ( 1136) [006] ...1 157991.554754: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16274 sensors@1.0-se-755 ( 755) [004] ...1 157991.554883: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16275 sensors@1.0-se-755 ( 755) [004] ...1 157991.575373: tracing_mark_write: E 16276 SensorService-1249 ( 1136) [006] ...1 157991.575852: tracing_mark_write: E 16277 SensorService-1249 ( 1136) [006] ...1 157991.576101: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16278 sensors@1.0-se-755 ( 755) [004] ...1 157991.576277: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16279 sensors@1.0-se-755 ( 755) [004] ...1 157991.597124: tracing_mark_write: E 16280 SensorService-1249 ( 1136) [006] ...1 157991.597795: tracing_mark_write: E 16281 SensorService-1249 ( 1136) [006] ...1 157991.598021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16282 sensors@1.0-se-755 ( 755) [004] ...1 157991.598565: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16283 sensors@1.0-se-755 ( 755) [004] ...1 157991.616327: tracing_mark_write: E 16284 SensorService-1249 ( 1136) [006] ...1 157991.617080: tracing_mark_write: E 16285 SensorService-1249 ( 1136) [006] ...1 157991.617393: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16286 sensors@1.0-se-755 ( 755) [004] ...1 157991.618070: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16287 sensors@1.0-se-755 ( 755) [004] ...1 157991.638537: tracing_mark_write: E 16288 SensorService-1249 ( 1136) [006] ...1 157991.639283: tracing_mark_write: E 16289 SensorService-1249 ( 1136) [006] ...1 157991.639612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16290 sensors@1.0-se-755 ( 755) [004] ...1 157991.640569: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16291 sensors@1.0-se-755 ( 755) [004] ...1 157991.656800: tracing_mark_write: E 16292 SensorService-1249 ( 1136) [006] ...1 157991.657529: tracing_mark_write: E 16293 SensorService-1249 ( 1136) [006] ...1 157991.657947: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16294 sensors@1.0-se-755 ( 755) [004] ...1 157991.658539: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16295 sensors@1.0-se-755 ( 755) [004] ...1 157991.676468: tracing_mark_write: E 16296 SensorService-1249 ( 1136) [006] ...1 157991.677166: tracing_mark_write: E 16297 SensorService-1249 ( 1136) [006] ...1 157991.677483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16298 sensors@1.0-se-755 ( 755) [004] ...1 157991.678176: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16299 sensors@1.0-se-755 ( 755) [004] ...1 157991.697308: tracing_mark_write: E 16300 SensorService-1249 ( 1136) [006] ...1 157991.698003: tracing_mark_write: E 16301 SensorService-1249 ( 1136) [006] ...1 157991.698331: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16302 sensors@1.0-se-755 ( 755) [004] ...1 157991.699144: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16303 sensors@1.0-se-755 ( 755) [004] ...1 157991.716846: tracing_mark_write: E 16304 SensorService-1249 ( 1136) [006] ...1 157991.717749: tracing_mark_write: E 16305 SensorService-1249 ( 1136) [006] ...1 157991.718085: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16306 sensors@1.0-se-755 ( 755) [004] ...1 157991.718744: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16307 sensors@1.0-se-755 ( 755) [004] ...1 157991.736433: tracing_mark_write: E 16308 SensorService-1249 ( 1136) [006] ...1 157991.737154: tracing_mark_write: E 16309 SensorService-1249 ( 1136) [006] ...1 157991.737452: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16310 sensors@1.0-se-755 ( 755) [004] ...1 157991.738277: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16311 sensors@1.0-se-755 ( 755) [004] ...1 157991.756056: tracing_mark_write: E 16312 SensorService-1249 ( 1136) [006] ...1 157991.756616: tracing_mark_write: E 16313 SensorService-1249 ( 1136) [006] ...1 157991.756906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16314 sensors@1.0-se-755 ( 755) [004] ...1 157991.757390: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16315 sensors@1.0-se-755 ( 755) [004] ...1 157991.777666: tracing_mark_write: E 16316 SensorService-1249 ( 1136) [006] ...1 157991.778399: tracing_mark_write: E 16317 SensorService-1249 ( 1136) [006] ...1 157991.778715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16318 sensors@1.0-se-755 ( 755) [004] ...1 157991.779472: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16319 sensors@1.0-se-755 ( 755) [004] ...1 157991.796882: tracing_mark_write: E 16320 SensorService-1249 ( 1136) [006] ...1 157991.797757: tracing_mark_write: E 16321 SensorService-1249 ( 1136) [006] ...1 157991.798088: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16322 sensors@1.0-se-755 ( 755) [004] ...1 157991.798740: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16323 sensors@1.0-se-755 ( 755) [004] ...1 157991.816595: tracing_mark_write: E 16324 SensorService-1249 ( 1136) [006] ...1 157991.817325: tracing_mark_write: E 16325 SensorService-1249 ( 1136) [006] ...1 157991.817711: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16326 sensors@1.0-se-755 ( 755) [004] ...1 157991.818336: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16327 sensors@1.0-se-755 ( 755) [004] ...1 157991.836476: tracing_mark_write: E 16328 SensorService-1249 ( 1136) [006] ...1 157991.837199: tracing_mark_write: E 16329 SensorService-1249 ( 1136) [006] ...1 157991.837512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16330 sensors@1.0-se-755 ( 755) [004] ...1 157991.838285: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16331 sensors@1.0-se-755 ( 755) [004] ...1 157991.856942: tracing_mark_write: E 16332 SensorService-1249 ( 1136) [006] ...1 157991.857740: tracing_mark_write: E 16333 SensorService-1249 ( 1136) [006] ...1 157991.858050: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16334 sensors@1.0-se-755 ( 755) [004] ...1 157991.858807: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16335 sensors@1.0-se-755 ( 755) [004] ...1 157991.876451: tracing_mark_write: E 16336 SensorService-1249 ( 1136) [006] ...1 157991.877168: tracing_mark_write: E 16337 SensorService-1249 ( 1136) [006] ...1 157991.877485: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16338 sensors@1.0-se-755 ( 755) [004] ...1 157991.878259: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16339 sensors@1.0-se-755 ( 755) [004] ...1 157991.896852: tracing_mark_write: E 16340 SensorService-1249 ( 1136) [006] ...1 157991.897631: tracing_mark_write: E 16341 SensorService-1249 ( 1136) [006] ...1 157991.897947: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16342 sensors@1.0-se-755 ( 755) [004] ...1 157991.898565: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16343 sensors@1.0-se-755 ( 755) [004] ...1 157991.916520: tracing_mark_write: E 16344 SensorService-1249 ( 1136) [006] ...1 157991.917230: tracing_mark_write: E 16345 SensorService-1249 ( 1136) [006] ...1 157991.917682: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16346 sensors@1.0-se-755 ( 755) [004] ...1 157991.918279: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16347 sensors@1.0-se-755 ( 755) [004] ...1 157991.935808: tracing_mark_write: E 16348 SensorService-1249 ( 1136) [006] ...1 157991.936363: tracing_mark_write: E 16349 SensorService-1249 ( 1136) [006] ...1 157991.936633: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16350 sensors@1.0-se-755 ( 755) [004] ...1 157991.937160: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16351 sensors@1.0-se-755 ( 755) [004] ...1 157991.956779: tracing_mark_write: E 16352 SensorService-1249 ( 1136) [006] ...1 157991.957329: tracing_mark_write: E 16353 SensorService-1249 ( 1136) [006] ...1 157991.957652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16354 sensors@1.0-se-755 ( 755) [004] ...1 157991.958203: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16355 Binder:834_2-3564 ( 834) [003] ...1 157991.963295: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client 16356 HwBinder:740_2-12908 ( 740) [007] ...1 157991.963564: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server 16357 HwBinder:740_2-12908 ( 740) [007] ...1 157991.963692: tracing_mark_write: E 16358 Binder:834_2-3564 ( 834) [003] ...1 157991.964454: tracing_mark_write: E 16359 Binder:834_2-3564 ( 834) [003] ...1 157991.964494: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client 16360 HwBinder:740_2-12908 ( 740) [007] ...1 157991.964866: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server 16361 HwBinder:740_2-12908 ( 740) [007] ...1 157991.964890: tracing_mark_write: E 16362 Binder:834_2-3564 ( 834) [003] ...1 157991.966492: tracing_mark_write: E 16363 Binder:834_2-3564 ( 834) [003] ...1 157991.966548: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyByteArray::client 16364 HwBinder:740_2-12908 ( 740) [007] ...1 157991.966901: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyByteArray::server 16365 HwBinder:740_2-12908 ( 740) [007] ...1 157991.966964: tracing_mark_write: E 16366 Binder:834_2-3564 ( 834) [003] ...1 157991.967022: tracing_mark_write: E 16367 Binder:834_2-3564 ( 834) [006] ...1 157991.968384: tracing_mark_write: B|834|HIDL::IDrmPlugin::setListener::client 16368 HwBinder:740_2-12908 ( 740) [007] ...1 157991.968517: tracing_mark_write: B|740|HIDL::IDrmPlugin::setListener::server 16369 HwBinder:740_2-12908 ( 740) [007] ...1 157991.968609: tracing_mark_write: E 16370 Binder:834_2-3564 ( 834) [006] ...1 157991.969056: tracing_mark_write: E 16371 Binder:834_2-3564 ( 834) [002] ...1 157991.971960: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client 16372 drm@1.0-servic-740 ( 740) [006] ...1 157991.972290: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server 16373 drm@1.0-servic-740 ( 740) [006] ...1 157991.972317: tracing_mark_write: E 16374 Binder:834_2-3564 ( 834) [002] ...1 157991.972576: tracing_mark_write: E 16375 Binder:834_2-3564 ( 834) [002] ...1 157991.972590: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client 16376 drm@1.0-servic-740 ( 740) [007] ...1 157991.972687: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server 16377 drm@1.0-servic-740 ( 740) [007] ...1 157991.972711: tracing_mark_write: E 16378 Binder:834_2-3564 ( 834) [002] ...1 157991.973067: tracing_mark_write: E 16379 Binder:834_2-3564 ( 834) [002] ...1 157991.973081: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyByteArray::client 16380 drm@1.0-servic-740 ( 740) [006] ...1 157991.973578: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyByteArray::server 16381 drm@1.0-servic-740 ( 740) [006] ...1 157991.973606: tracing_mark_write: E 16382 Binder:834_2-3564 ( 834) [002] ...1 157991.975015: tracing_mark_write: E 16383 Binder:834_2-3564 ( 834) [002] ...1 157991.976138: tracing_mark_write: B|834|HIDL::IDrmPlugin::setListener::client 16384 sensors@1.0-se-755 ( 755) [004] ...1 157991.976437: tracing_mark_write: E 16385 drm@1.0-servic-740 ( 740) [007] ...1 157991.976523: tracing_mark_write: B|740|HIDL::IDrmPlugin::setListener::server 16386 drm@1.0-servic-740 ( 740) [007] ...1 157991.976579: tracing_mark_write: E 16387 SensorService-1249 ( 1136) [006] ...1 157991.976798: tracing_mark_write: E 16388 SensorService-1249 ( 1136) [006] ...1 157991.976945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16389 sensors@1.0-se-755 ( 755) [004] ...1 157991.977312: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16390 Binder:834_2-3564 ( 834) [002] ...1 157991.978101: tracing_mark_write: E 16391 sensors@1.0-se-755 ( 755) [004] ...1 157991.998756: tracing_mark_write: E 16392 SensorService-1249 ( 1136) [006] ...1 157991.998953: tracing_mark_write: E 16393 SensorService-1249 ( 1136) [006] ...1 157991.999141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16394 sensors@1.0-se-755 ( 755) [004] ...1 157991.999626: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16395 sensors@1.0-se-755 ( 755) [004] ...1 157992.016921: tracing_mark_write: E 16396 SensorService-1249 ( 1136) [006] ...1 157992.017661: tracing_mark_write: E 16397 SensorService-1249 ( 1136) [006] ...1 157992.017930: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16398 sensors@1.0-se-755 ( 755) [004] ...1 157992.018149: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16399 sensors@1.0-se-755 ( 755) [004] ...1 157992.037770: tracing_mark_write: E 16400 SensorService-1249 ( 1136) [006] ...1 157992.038609: tracing_mark_write: E 16401 SensorService-1249 ( 1136) [006] ...1 157992.038877: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16402 sensors@1.0-se-755 ( 755) [004] ...1 157992.039103: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16403 sensors@1.0-se-755 ( 755) [004] ...1 157992.055862: tracing_mark_write: E 16404 SensorService-1249 ( 1136) [006] ...1 157992.056413: tracing_mark_write: E 16405 SensorService-1249 ( 1136) [006] ...1 157992.056628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16406 sensors@1.0-se-755 ( 755) [004] ...1 157992.057163: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16407 sensors@1.0-se-755 ( 755) [004] ...1 157992.076430: tracing_mark_write: E 16408 SensorService-1249 ( 1136) [006] ...1 157992.077239: tracing_mark_write: E 16409 SensorService-1249 ( 1136) [006] ...1 157992.077534: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16410 sensors@1.0-se-755 ( 755) [004] ...1 157992.077911: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16411 sensors@1.0-se-755 ( 755) [004] ...1 157992.096331: tracing_mark_write: E 16412 SensorService-1249 ( 1136) [006] ...1 157992.097016: tracing_mark_write: E 16413 SensorService-1249 ( 1136) [006] ...1 157992.097302: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16414 sensors@1.0-se-755 ( 755) [004] ...1 157992.097515: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16415 sensors@1.0-se-755 ( 755) [004] ...1 157992.116348: tracing_mark_write: E 16416 SensorService-1249 ( 1136) [006] ...1 157992.117075: tracing_mark_write: E 16417 SensorService-1249 ( 1136) [006] ...1 157992.117374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16418 sensors@1.0-se-755 ( 755) [004] ...1 157992.117956: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16419 sensors@1.0-se-755 ( 755) [004] ...1 157992.136399: tracing_mark_write: E 16420 SensorService-1249 ( 1136) [006] ...1 157992.137232: tracing_mark_write: E 16421 SensorService-1249 ( 1136) [006] ...1 157992.137522: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16422 sensors@1.0-se-755 ( 755) [004] ...1 157992.138219: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16423 sensors@1.0-se-755 ( 755) [004] ...1 157992.159404: tracing_mark_write: E 16424 SensorService-1249 ( 1136) [006] ...1 157992.160355: tracing_mark_write: E 16425 SensorService-1249 ( 1136) [006] ...1 157992.160637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16426 sensors@1.0-se-755 ( 755) [004] ...1 157992.161256: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16427 sensors@1.0-se-755 ( 755) [004] ...1 157992.176411: tracing_mark_write: E 16428 SensorService-1249 ( 1136) [006] ...1 157992.176836: tracing_mark_write: E 16429 SensorService-1249 ( 1136) [006] ...1 157992.177139: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16430 sensors@1.0-se-755 ( 755) [004] ...1 157992.177808: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16431 sensors@1.0-se-755 ( 755) [004] ...1 157992.197183: tracing_mark_write: E 16432 SensorService-1249 ( 1136) [006] ...1 157992.197466: tracing_mark_write: E 16433 SensorService-1249 ( 1136) [006] ...1 157992.197802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16434 sensors@1.0-se-755 ( 755) [004] ...1 157992.198309: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16435 sensors@1.0-se-755 ( 755) [004] ...1 157992.221047: tracing_mark_write: E 16436 SensorService-1249 ( 1136) [006] ...1 157992.221845: tracing_mark_write: E 16437 SensorService-1249 ( 1136) [006] ...1 157992.222131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16438 sensors@1.0-se-755 ( 755) [004] ...1 157992.222773: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16439 sensors@1.0-se-755 ( 755) [004] ...1 157992.236593: tracing_mark_write: E 16440 SensorService-1249 ( 1136) [006] ...1 157992.237386: tracing_mark_write: E 16441 SensorService-1249 ( 1136) [006] ...1 157992.237750: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16442 sensors@1.0-se-755 ( 755) [004] ...1 157992.238352: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16443 sensors@1.0-se-755 ( 755) [004] ...1 157992.262074: tracing_mark_write: E 16444 SensorService-1249 ( 1136) [006] ...1 157992.262926: tracing_mark_write: E 16445 SensorService-1249 ( 1136) [006] ...1 157992.263213: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16446 sensors@1.0-se-755 ( 755) [004] ...1 157992.263953: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16447 sensors@1.0-se-755 ( 755) [004] ...1 157992.278864: tracing_mark_write: E 16448 SensorService-1249 ( 1136) [006] ...1 157992.279579: tracing_mark_write: E 16449 SensorService-1249 ( 1136) [006] ...1 157992.279878: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16450 sensors@1.0-se-755 ( 755) [004] ...1 157992.280492: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16451 sensors@1.0-se-755 ( 755) [004] ...1 157992.296984: tracing_mark_write: E 16452 SensorService-1249 ( 1136) [006] ...1 157992.297768: tracing_mark_write: E 16453 SensorService-1249 ( 1136) [006] ...1 157992.298056: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16454 sensors@1.0-se-755 ( 755) [004] ...1 157992.298670: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16455 sensors@1.0-se-755 ( 755) [004] ...1 157992.318561: tracing_mark_write: E 16456 SensorService-1249 ( 1136) [006] ...1 157992.319467: tracing_mark_write: E 16457 SensorService-1249 ( 1136) [006] ...1 157992.319845: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16458 sensors@1.0-se-755 ( 755) [004] ...1 157992.320507: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16459 sensors@1.0-se-755 ( 755) [004] ...1 157992.337074: tracing_mark_write: E 16460 SensorService-1249 ( 1136) [006] ...1 157992.338069: tracing_mark_write: E 16461 SensorService-1249 ( 1136) [006] ...1 157992.338476: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16462 sensors@1.0-se-755 ( 755) [004] ...1 157992.339141: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16463 sensors@1.0-se-755 ( 755) [004] ...1 157992.358880: tracing_mark_write: E 16464 SensorService-1249 ( 1136) [006] ...1 157992.359754: tracing_mark_write: E 16465 SensorService-1249 ( 1136) [006] ...1 157992.360104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16466 sensors@1.0-se-755 ( 755) [004] ...1 157992.360816: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16467 sensors@1.0-se-755 ( 755) [004] ...1 157992.377819: tracing_mark_write: E 16468 SensorService-1249 ( 1136) [006] ...1 157992.378517: tracing_mark_write: E 16469 SensorService-1249 ( 1136) [006] ...1 157992.378793: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16470 sensors@1.0-se-755 ( 755) [004] ...1 157992.379404: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16471 sensors@1.0-se-755 ( 755) [004] ...1 157992.396376: tracing_mark_write: E 16472 SensorService-1249 ( 1136) [006] ...1 157992.397271: tracing_mark_write: E 16473 SensorService-1249 ( 1136) [006] ...1 157992.397803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16474 sensors@1.0-se-755 ( 755) [004] ...1 157992.398542: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16475 sensors@1.0-se-755 ( 755) [004] ...1 157992.418903: tracing_mark_write: E 16476 SensorService-1249 ( 1136) [006] ...1 157992.419818: tracing_mark_write: E 16477 SensorService-1249 ( 1136) [006] ...1 157992.420106: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16478 sensors@1.0-se-755 ( 755) [004] ...1 157992.420734: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16479 sensors@1.0-se-755 ( 755) [004] ...1 157992.436690: tracing_mark_write: E 16480 SensorService-1249 ( 1136) [006] ...1 157992.437690: tracing_mark_write: E 16481 SensorService-1249 ( 1136) [006] ...1 157992.438113: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16482 sensors@1.0-se-755 ( 755) [004] ...1 157992.438773: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16483 sensors@1.0-se-755 ( 755) [004] ...1 157992.461880: tracing_mark_write: E 16484 SensorService-1249 ( 1136) [006] ...1 157992.462630: tracing_mark_write: E 16485 SensorService-1249 ( 1136) [006] ...1 157992.462978: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16486 sensors@1.0-se-755 ( 755) [004] ...1 157992.463573: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16487 sensors@1.0-se-755 ( 755) [004] ...1 157992.477435: tracing_mark_write: E 16488 SensorService-1249 ( 1136) [006] ...1 157992.478301: tracing_mark_write: E 16489 SensorService-1249 ( 1136) [006] ...1 157992.478580: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16490 sensors@1.0-se-755 ( 755) [004] ...1 157992.479227: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16491 sensors@1.0-se-755 ( 755) [004] ...1 157992.498063: tracing_mark_write: E 16492 SensorService-1249 ( 1136) [006] ...1 157992.499058: tracing_mark_write: E 16493 SensorService-1249 ( 1136) [006] ...1 157992.499342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16494 sensors@1.0-se-755 ( 755) [004] ...1 157992.499969: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16495 sensors@1.0-se-755 ( 755) [004] ...1 157992.516332: tracing_mark_write: E 16496 SensorService-1249 ( 1136) [006] ...1 157992.517038: tracing_mark_write: E 16497 SensorService-1249 ( 1136) [006] ...1 157992.517339: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16498 sensors@1.0-se-755 ( 755) [004] ...1 157992.518003: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16499 sensors@1.0-se-755 ( 755) [004] ...1 157992.535986: tracing_mark_write: E 16500 SensorService-1249 ( 1136) [006] ...1 157992.536420: tracing_mark_write: E 16501 SensorService-1249 ( 1136) [006] ...1 157992.536592: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16502 sensors@1.0-se-755 ( 755) [004] ...1 157992.537038: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16503 sensors@1.0-se-755 ( 755) [004] ...1 157992.556288: tracing_mark_write: E 16504 SensorService-1249 ( 1136) [006] ...1 157992.556707: tracing_mark_write: E 16505 SensorService-1249 ( 1136) [006] ...1 157992.556879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16506 sensors@1.0-se-755 ( 755) [004] ...1 157992.557324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16507 sensors@1.0-se-755 ( 755) [004] ...1 157992.576586: tracing_mark_write: E 16508 SensorService-1249 ( 1136) [006] ...1 157992.577115: tracing_mark_write: E 16509 SensorService-1249 ( 1136) [006] ...1 157992.577273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16510 sensors@1.0-se-755 ( 755) [004] ...1 157992.577845: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16511 sensors@1.0-se-755 ( 755) [004] ...1 157992.598190: tracing_mark_write: E 16512 SensorService-1249 ( 1136) [006] ...1 157992.599084: tracing_mark_write: E 16513 SensorService-1249 ( 1136) [006] ...1 157992.599479: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16514 sensors@1.0-se-755 ( 755) [004] ...1 157992.600179: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16515 sensors@1.0-se-755 ( 755) [004] ...1 157992.617185: tracing_mark_write: E 16516 SensorService-1249 ( 1136) [006] ...1 157992.617879: tracing_mark_write: E 16517 SensorService-1249 ( 1136) [006] ...1 157992.618154: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16518 sensors@1.0-se-755 ( 755) [004] ...1 157992.618369: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16519 sensors@1.0-se-755 ( 755) [004] ...1 157992.637468: tracing_mark_write: E 16520 SensorService-1249 ( 1136) [006] ...1 157992.638475: tracing_mark_write: E 16521 SensorService-1249 ( 1136) [006] ...1 157992.638876: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16522 sensors@1.0-se-755 ( 755) [004] ...1 157992.639544: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16523 sensors@1.0-se-755 ( 755) [004] ...1 157992.657085: tracing_mark_write: E 16524 SensorService-1249 ( 1136) [006] ...1 157992.657831: tracing_mark_write: E 16525 SensorService-1249 ( 1136) [006] ...1 157992.658152: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16526 sensors@1.0-se-755 ( 755) [004] ...1 157992.658424: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16527 sensors@1.0-se-755 ( 755) [004] ...1 157992.679115: tracing_mark_write: E 16528 SensorService-1249 ( 1136) [006] ...1 157992.680033: tracing_mark_write: E 16529 SensorService-1249 ( 1136) [006] ...1 157992.680427: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16530 sensors@1.0-se-755 ( 755) [004] ...1 157992.681162: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16531 sensors@1.0-se-755 ( 755) [004] ...1 157992.696625: tracing_mark_write: E 16532 SensorService-1249 ( 1136) [006] ...1 157992.697328: tracing_mark_write: E 16533 SensorService-1249 ( 1136) [006] ...1 157992.697681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16534 sensors@1.0-se-755 ( 755) [004] ...1 157992.698529: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16535 sensors@1.0-se-755 ( 755) [004] ...1 157992.716923: tracing_mark_write: E 16536 SensorService-1249 ( 1136) [006] ...1 157992.717494: tracing_mark_write: E 16537 SensorService-1249 ( 1136) [006] ...1 157992.717724: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16538 sensors@1.0-se-755 ( 755) [004] ...1 157992.717972: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16539 sensors@1.0-se-755 ( 755) [004] ...1 157992.736737: tracing_mark_write: E 16540 SensorService-1249 ( 1136) [006] ...1 157992.737263: tracing_mark_write: E 16541 SensorService-1249 ( 1136) [006] ...1 157992.737401: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16542 sensors@1.0-se-755 ( 755) [004] ...1 157992.737843: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16543 sensors@1.0-se-755 ( 755) [004] ...1 157992.756937: tracing_mark_write: E 16544 SensorService-1249 ( 1136) [006] ...1 157992.757804: tracing_mark_write: E 16545 SensorService-1249 ( 1136) [006] ...1 157992.758089: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16546 sensors@1.0-se-755 ( 755) [004] ...1 157992.758672: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16547 sensors@1.0-se-755 ( 755) [004] ...1 157992.777367: tracing_mark_write: E 16548 SensorService-1249 ( 1136) [006] ...1 157992.778160: tracing_mark_write: E 16549 SensorService-1249 ( 1136) [006] ...1 157992.778474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16550 sensors@1.0-se-755 ( 755) [004] ...1 157992.779090: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16551 sensors@1.0-se-755 ( 755) [004] ...1 157992.797986: tracing_mark_write: E 16552 SensorService-1249 ( 1136) [006] ...1 157992.798727: tracing_mark_write: E 16553 SensorService-1249 ( 1136) [006] ...1 157992.799035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16554 sensors@1.0-se-755 ( 755) [004] ...1 157992.799621: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16555 sensors@1.0-se-755 ( 755) [004] ...1 157992.817983: tracing_mark_write: E 16556 SensorService-1249 ( 1136) [006] ...1 157992.818681: tracing_mark_write: E 16557 SensorService-1249 ( 1136) [006] ...1 157992.818993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16558 sensors@1.0-se-755 ( 755) [004] ...1 157992.819215: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16559 sensors@1.0-se-755 ( 755) [004] ...1 157992.837055: tracing_mark_write: E 16560 SensorService-1249 ( 1136) [006] ...1 157992.837794: tracing_mark_write: E 16561 SensorService-1249 ( 1136) [006] ...1 157992.838110: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16562 sensors@1.0-se-755 ( 755) [004] ...1 157992.838333: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16563 sensors@1.0-se-755 ( 755) [004] ...1 157992.856838: tracing_mark_write: E 16564 SensorService-1249 ( 1136) [006] ...1 157992.857351: tracing_mark_write: E 16565 SensorService-1249 ( 1136) [006] ...1 157992.857493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16566 sensors@1.0-se-755 ( 755) [004] ...1 157992.858160: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16567 sensors@1.0-se-755 ( 755) [004] ...1 157992.877889: tracing_mark_write: E 16568 SensorService-1249 ( 1136) [006] ...1 157992.878616: tracing_mark_write: E 16569 SensorService-1249 ( 1136) [006] ...1 157992.878932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16570 sensors@1.0-se-755 ( 755) [004] ...1 157992.879531: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16571 sensors@1.0-se-755 ( 755) [004] ...1 157992.897833: tracing_mark_write: E 16572 SensorService-1249 ( 1136) [006] ...1 157992.898746: tracing_mark_write: E 16573 SensorService-1249 ( 1136) [006] ...1 157992.899052: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16574 sensors@1.0-se-755 ( 755) [004] ...1 157992.899789: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16575 sensors@1.0-se-755 ( 755) [004] ...1 157992.917123: tracing_mark_write: E 16576 SensorService-1249 ( 1136) [006] ...1 157992.917925: tracing_mark_write: E 16577 SensorService-1249 ( 1136) [006] ...1 157992.918232: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16578 sensors@1.0-se-755 ( 755) [004] ...1 157992.918749: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16579 sensors@1.0-se-755 ( 755) [004] ...1 157992.941128: tracing_mark_write: E 16580 SensorService-1249 ( 1136) [006] ...1 157992.942104: tracing_mark_write: E 16581 SensorService-1249 ( 1136) [006] ...1 157992.942523: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16582 sensors@1.0-se-755 ( 755) [004] ...1 157992.943187: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16583 sensors@1.0-se-755 ( 755) [004] ...1 157992.957709: tracing_mark_write: E 16584 SensorService-1249 ( 1136) [006] ...1 157992.958477: tracing_mark_write: E 16585 SensorService-1249 ( 1136) [006] ...1 157992.958776: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16586 sensors@1.0-se-755 ( 755) [004] ...1 157992.959439: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16587 sensors@1.0-se-755 ( 755) [004] ...1 157992.979195: tracing_mark_write: E 16588 SensorService-1249 ( 1136) [006] ...1 157992.979925: tracing_mark_write: E 16589 SensorService-1249 ( 1136) [006] ...1 157992.980191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16590 sensors@1.0-se-755 ( 755) [004] ...1 157992.980800: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16591 sensors@1.0-se-755 ( 755) [004] ...1 157992.996794: tracing_mark_write: E 16592 SensorService-1249 ( 1136) [006] ...1 157992.997355: tracing_mark_write: E 16593 SensorService-1249 ( 1136) [006] ...1 157992.997679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16594 sensors@1.0-se-755 ( 755) [004] ...1 157992.998159: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16595 sensors@1.0-se-755 ( 755) [004] ...1 157993.018179: tracing_mark_write: E 16596 SensorService-1249 ( 1136) [006] ...1 157993.018926: tracing_mark_write: E 16597 SensorService-1249 ( 1136) [006] ...1 157993.019184: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16598 sensors@1.0-se-755 ( 755) [004] ...1 157993.019825: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16599 sensors@1.0-se-755 ( 755) [004] ...1 157993.038111: tracing_mark_write: E 16600 SensorService-1249 ( 1136) [006] ...1 157993.038986: tracing_mark_write: E 16601 SensorService-1249 ( 1136) [006] ...1 157993.039444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16602 sensors@1.0-se-755 ( 755) [004] ...1 157993.040125: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16603 sensors@1.0-se-755 ( 755) [004] ...1 157993.058414: tracing_mark_write: E 16604 SensorService-1249 ( 1136) [006] ...1 157993.059152: tracing_mark_write: E 16605 SensorService-1249 ( 1136) [006] ...1 157993.059459: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16606 sensors@1.0-se-755 ( 755) [004] ...1 157993.060168: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16607 sensors@1.0-se-755 ( 755) [004] ...1 157993.077864: tracing_mark_write: E 16608 SensorService-1249 ( 1136) [006] ...1 157993.078753: tracing_mark_write: E 16609 SensorService-1249 ( 1136) [006] ...1 157993.079012: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16610 sensors@1.0-se-755 ( 755) [004] ...1 157993.079607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16611 sensors@1.0-se-755 ( 755) [004] ...1 157993.097740: tracing_mark_write: E 16612 SensorService-1249 ( 1136) [006] ...1 157993.098606: tracing_mark_write: E 16613 SensorService-1249 ( 1136) [006] ...1 157993.098891: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16614 sensors@1.0-se-755 ( 755) [004] ...1 157993.099519: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16615 sensors@1.0-se-755 ( 755) [004] ...1 157993.121226: tracing_mark_write: E 16616 SensorService-1249 ( 1136) [006] ...1 157993.122018: tracing_mark_write: E 16617 SensorService-1249 ( 1136) [006] ...1 157993.122280: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16618 sensors@1.0-se-755 ( 755) [004] ...1 157993.122893: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16619 sensors@1.0-se-755 ( 755) [004] ...1 157993.137733: tracing_mark_write: E 16620 SensorService-1249 ( 1136) [006] ...1 157993.138517: tracing_mark_write: E 16621 SensorService-1249 ( 1136) [006] ...1 157993.138778: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16622 sensors@1.0-se-755 ( 755) [004] ...1 157993.139366: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16623 sensors@1.0-se-755 ( 755) [004] ...1 157993.158610: tracing_mark_write: E 16624 SensorService-1249 ( 1136) [006] ...1 157993.159052: tracing_mark_write: E 16625 SensorService-1249 ( 1136) [006] ...1 157993.159518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16626 sensors@1.0-se-755 ( 755) [005] ...1 157993.160644: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16627 sensors@1.0-se-755 ( 755) [004] ...1 157993.178088: tracing_mark_write: E 16628 SensorService-1249 ( 1136) [006] ...1 157993.178856: tracing_mark_write: E 16629 SensorService-1249 ( 1136) [006] ...1 157993.179185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16630 sensors@1.0-se-755 ( 755) [004] ...1 157993.179744: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16631 sensors@1.0-se-755 ( 755) [004] ...1 157993.199862: tracing_mark_write: E 16632 SensorService-1249 ( 1136) [006] ...1 157993.200739: tracing_mark_write: E 16633 SensorService-1249 ( 1136) [006] ...1 157993.201267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16634 sensors@1.0-se-755 ( 755) [004] ...1 157993.202017: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16635 sensors@1.0-se-755 ( 755) [004] ...1 157993.219076: tracing_mark_write: E 16636 SensorService-1249 ( 1136) [006] ...1 157993.220294: tracing_mark_write: E 16637 SensorService-1249 ( 1136) [006] ...1 157993.220733: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16638 sensors@1.0-se-755 ( 755) [004] ...1 157993.221419: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16639 sensors@1.0-se-755 ( 755) [004] ...1 157993.239957: tracing_mark_write: E 16640 SensorService-1249 ( 1136) [006] ...1 157993.240835: tracing_mark_write: E 16641 SensorService-1249 ( 1136) [006] ...1 157993.241271: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16642 sensors@1.0-se-755 ( 755) [004] ...1 157993.241848: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16643 sensors@1.0-se-755 ( 755) [004] ...1 157993.258110: tracing_mark_write: E 16644 SensorService-1249 ( 1136) [006] ...1 157993.259015: tracing_mark_write: E 16645 SensorService-1249 ( 1136) [006] ...1 157993.259425: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16646 sensors@1.0-se-755 ( 755) [004] ...1 157993.260085: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16647 sensors@1.0-se-755 ( 755) [004] ...1 157993.281614: tracing_mark_write: E 16648 SensorService-1249 ( 1136) [006] ...1 157993.282788: tracing_mark_write: E 16649 SensorService-1249 ( 1136) [006] ...1 157993.283238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16650 sensors@1.0-se-755 ( 755) [004] ...1 157993.284175: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16651 sensors@1.0-se-755 ( 755) [004] ...1 157993.297813: tracing_mark_write: E 16652 SensorService-1249 ( 1136) [006] ...1 157993.298547: tracing_mark_write: E 16653 SensorService-1249 ( 1136) [006] ...1 157993.298807: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16654 sensors@1.0-se-755 ( 755) [004] ...1 157993.299424: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16655 sensors@1.0-se-755 ( 755) [004] ...1 157993.317311: tracing_mark_write: E 16656 SensorService-1249 ( 1136) [006] ...1 157993.318178: tracing_mark_write: E 16657 SensorService-1249 ( 1136) [006] ...1 157993.318606: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16658 sensors@1.0-se-755 ( 755) [004] ...1 157993.319265: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16659 sensors@1.0-se-755 ( 755) [004] ...1 157993.337697: tracing_mark_write: E 16660 SensorService-1249 ( 1136) [006] ...1 157993.338426: tracing_mark_write: E 16661 SensorService-1249 ( 1136) [006] ...1 157993.338685: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16662 sensors@1.0-se-755 ( 755) [004] ...1 157993.339281: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16663 sensors@1.0-se-755 ( 755) [004] ...1 157993.357884: tracing_mark_write: E 16664 SensorService-1249 ( 1136) [006] ...1 157993.358612: tracing_mark_write: E 16665 SensorService-1249 ( 1136) [006] ...1 157993.358873: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16666 sensors@1.0-se-755 ( 755) [004] ...1 157993.359475: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16667 sensors@1.0-se-755 ( 755) [004] ...1 157993.380830: tracing_mark_write: E 16668 SensorService-1249 ( 1136) [006] ...1 157993.382024: tracing_mark_write: E 16669 SensorService-1249 ( 1136) [006] ...1 157993.382411: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16670 sensors@1.0-se-755 ( 755) [004] ...1 157993.383101: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16671 sensors@1.0-se-755 ( 755) [004] ...1 157993.397799: tracing_mark_write: E 16672 SensorService-1249 ( 1136) [006] ...1 157993.398592: tracing_mark_write: E 16673 SensorService-1249 ( 1136) [006] ...1 157993.398849: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16674 sensors@1.0-se-755 ( 755) [004] ...1 157993.399449: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16675 sensors@1.0-se-755 ( 755) [004] ...1 157993.420325: tracing_mark_write: E 16676 SensorService-1249 ( 1136) [006] ...1 157993.421419: tracing_mark_write: E 16677 SensorService-1249 ( 1136) [006] ...1 157993.421830: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16678 sensors@1.0-se-755 ( 755) [004] ...1 157993.422488: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16679 sensors@1.0-se-755 ( 755) [004] ...1 157993.437961: tracing_mark_write: E 16680 SensorService-1249 ( 1136) [006] ...1 157993.438664: tracing_mark_write: E 16681 SensorService-1249 ( 1136) [006] ...1 157993.438952: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16682 sensors@1.0-se-755 ( 755) [004] ...1 157993.439557: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16683 sensors@1.0-se-755 ( 755) [004] ...1 157993.458105: tracing_mark_write: E 16684 SensorService-1249 ( 1136) [006] ...1 157993.459001: tracing_mark_write: E 16685 SensorService-1249 ( 1136) [006] ...1 157993.459415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16686 sensors@1.0-se-755 ( 755) [004] ...1 157993.460078: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16687 sensors@1.0-se-755 ( 755) [004] ...1 157993.478046: tracing_mark_write: E 16688 SensorService-1249 ( 1136) [006] ...1 157993.478738: tracing_mark_write: E 16689 SensorService-1249 ( 1136) [006] ...1 157993.478977: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16690 sensors@1.0-se-755 ( 755) [004] ...1 157993.479463: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16691 sensors@1.0-se-755 ( 755) [004] ...1 157993.501274: tracing_mark_write: E 16692 SensorService-1249 ( 1136) [006] ...1 157993.502182: tracing_mark_write: E 16693 SensorService-1249 ( 1136) [006] ...1 157993.502593: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16694 sensors@1.0-se-755 ( 755) [004] ...1 157993.503280: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16695 sensors@1.0-se-755 ( 755) [004] ...1 157993.517481: tracing_mark_write: E 16696 SensorService-1249 ( 1136) [006] ...1 157993.518132: tracing_mark_write: E 16697 SensorService-1249 ( 1136) [006] ...1 157993.518385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16698 sensors@1.0-se-755 ( 755) [004] ...1 157993.519000: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16699 sensors@1.0-se-755 ( 755) [004] ...1 157993.539074: tracing_mark_write: E 16700 SensorService-1249 ( 1136) [006] ...1 157993.539972: tracing_mark_write: E 16701 SensorService-1249 ( 1136) [006] ...1 157993.540361: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16702 sensors@1.0-se-755 ( 755) [004] ...1 157993.541080: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16703 sensors@1.0-se-755 ( 755) [004] ...1 157993.558812: tracing_mark_write: E 16704 SensorService-1249 ( 1136) [006] ...1 157993.559800: tracing_mark_write: E 16705 SensorService-1249 ( 1136) [006] ...1 157993.560334: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16706 sensors@1.0-se-755 ( 755) [004] ...1 157993.561124: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16707 sensors@1.0-se-755 ( 755) [004] ...1 157993.578103: tracing_mark_write: E 16708 SensorService-1249 ( 1136) [006] ...1 157993.578978: tracing_mark_write: E 16709 SensorService-1249 ( 1136) [006] ...1 157993.579409: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16710 sensors@1.0-se-755 ( 755) [004] ...1 157993.580075: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16711 sensors@1.0-se-755 ( 755) [004] ...1 157993.601185: tracing_mark_write: E 16712 SensorService-1249 ( 1136) [006] ...1 157993.602630: tracing_mark_write: E 16713 SensorService-1249 ( 1136) [006] ...1 157993.602897: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16714 sensors@1.0-se-755 ( 755) [004] ...1 157993.603455: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16715 sensors@1.0-se-755 ( 755) [004] ...1 157993.617464: tracing_mark_write: E 16716 SensorService-1249 ( 1136) [006] ...1 157993.618266: tracing_mark_write: E 16717 SensorService-1249 ( 1136) [006] ...1 157993.618475: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16718 sensors@1.0-se-755 ( 755) [004] ...1 157993.618708: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16719 sensors@1.0-se-755 ( 755) [004] ...1 157993.637027: tracing_mark_write: E 16720 SensorService-1249 ( 1136) [006] ...1 157993.637483: tracing_mark_write: E 16721 SensorService-1249 ( 1136) [006] ...1 157993.637737: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16722 sensors@1.0-se-755 ( 755) [004] ...1 157993.637884: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16723 sensors@1.0-se-755 ( 755) [004] ...1 157993.657717: tracing_mark_write: E 16724 SensorService-1249 ( 1136) [006] ...1 157993.658106: tracing_mark_write: E 16725 SensorService-1249 ( 1136) [006] ...1 157993.658276: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16726 sensors@1.0-se-755 ( 755) [004] ...1 157993.658833: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16727 sensors@1.0-se-755 ( 755) [004] ...1 157993.680820: tracing_mark_write: E 16728 SensorService-1249 ( 1136) [006] ...1 157993.681607: tracing_mark_write: E 16729 SensorService-1249 ( 1136) [006] ...1 157993.681920: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16730 sensors@1.0-se-755 ( 755) [004] ...1 157993.682520: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16731 sensors@1.0-se-755 ( 755) [004] ...1 157993.697804: tracing_mark_write: E 16732 SensorService-1249 ( 1136) [006] ...1 157993.698096: tracing_mark_write: E 16733 SensorService-1249 ( 1136) [006] ...1 157993.698359: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16734 sensors@1.0-se-755 ( 755) [004] ...1 157993.698949: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16735 sensors@1.0-se-755 ( 755) [004] ...1 157993.718770: tracing_mark_write: E 16736 SensorService-1249 ( 1136) [006] ...1 157993.719709: tracing_mark_write: E 16737 SensorService-1249 ( 1136) [006] ...1 157993.720021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16738 sensors@1.0-se-755 ( 755) [004] ...1 157993.720666: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16739 sensors@1.0-se-755 ( 755) [004] ...1 157993.741398: tracing_mark_write: E 16740 SensorService-1249 ( 1136) [006] ...1 157993.742326: tracing_mark_write: E 16741 SensorService-1249 ( 1136) [006] ...1 157993.742769: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16742 sensors@1.0-se-755 ( 755) [004] ...1 157993.743397: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16743 sensors@1.0-se-755 ( 755) [004] ...1 157993.757831: tracing_mark_write: E 16744 SensorService-1249 ( 1136) [006] ...1 157993.758537: tracing_mark_write: E 16745 SensorService-1249 ( 1136) [006] ...1 157993.758849: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16746 sensors@1.0-se-755 ( 755) [004] ...1 157993.759462: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16747 sensors@1.0-se-755 ( 755) [004] ...1 157993.782945: tracing_mark_write: E 16748 SensorService-1249 ( 1136) [006] ...1 157993.783831: tracing_mark_write: E 16749 SensorService-1249 ( 1136) [006] ...1 157993.784353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16750 sensors@1.0-se-755 ( 755) [004] ...1 157993.785006: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16751 sensors@1.0-se-755 ( 755) [004] ...1 157993.797877: tracing_mark_write: E 16752 SensorService-1249 ( 1136) [006] ...1 157993.798467: tracing_mark_write: E 16753 SensorService-1249 ( 1136) [006] ...1 157993.798790: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16754 sensors@1.0-se-755 ( 755) [004] ...1 157993.799375: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16755 sensors@1.0-se-755 ( 755) [004] ...1 157993.822468: tracing_mark_write: E 16756 SensorService-1249 ( 1136) [006] ...1 157993.823577: tracing_mark_write: E 16757 SensorService-1249 ( 1136) [006] ...1 157993.824048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16758 sensors@1.0-se-755 ( 755) [004] ...1 157993.824749: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16759 sensors@1.0-se-755 ( 755) [004] ...1 157993.838595: tracing_mark_write: E 16760 SensorService-1249 ( 1136) [006] ...1 157993.839302: tracing_mark_write: E 16761 SensorService-1249 ( 1136) [006] ...1 157993.839621: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16762 sensors@1.0-se-755 ( 755) [004] ...1 157993.840205: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16763 sensors@1.0-se-755 ( 755) [004] ...1 157993.859684: tracing_mark_write: E 16764 SensorService-1249 ( 1136) [006] ...1 157993.860636: tracing_mark_write: E 16765 SensorService-1249 ( 1136) [006] ...1 157993.861259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16766 sensors@1.0-se-755 ( 755) [004] ...1 157993.861915: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16767 sensors@1.0-se-755 ( 755) [004] ...1 157993.878579: tracing_mark_write: E 16768 SensorService-1249 ( 1136) [006] ...1 157993.879285: tracing_mark_write: E 16769 SensorService-1249 ( 1136) [006] ...1 157993.879607: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16770 sensors@1.0-se-755 ( 755) [004] ...1 157993.880187: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16771 sensors@1.0-se-755 ( 755) [004] ...1 157993.898831: tracing_mark_write: E 16772 SensorService-1249 ( 1136) [006] ...1 157993.899577: tracing_mark_write: E 16773 SensorService-1249 ( 1136) [006] ...1 157993.899891: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16774 sensors@1.0-se-755 ( 755) [004] ...1 157993.900470: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16775 sensors@1.0-se-755 ( 755) [004] ...1 157993.918140: tracing_mark_write: E 16776 SensorService-1249 ( 1136) [006] ...1 157993.918853: tracing_mark_write: E 16777 SensorService-1249 ( 1136) [006] ...1 157993.919173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16778 sensors@1.0-se-755 ( 755) [004] ...1 157993.919786: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16779 sensors@1.0-se-755 ( 755) [004] ...1 157993.941048: tracing_mark_write: E 16780 SensorService-1249 ( 1136) [006] ...1 157993.941964: tracing_mark_write: E 16781 SensorService-1249 ( 1136) [006] ...1 157993.942384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16782 sensors@1.0-se-755 ( 755) [004] ...1 157993.943078: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16783 sensors@1.0-se-755 ( 755) [004] ...1 157993.958466: tracing_mark_write: E 16784 SensorService-1249 ( 1136) [006] ...1 157993.959267: tracing_mark_write: E 16785 SensorService-1249 ( 1136) [006] ...1 157993.959703: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16786 sensors@1.0-se-755 ( 755) [004] ...1 157993.960483: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16787 sensors@1.0-se-755 ( 755) [004] ...1 157993.978834: tracing_mark_write: E 16788 SensorService-1249 ( 1136) [006] ...1 157993.979577: tracing_mark_write: E 16789 SensorService-1249 ( 1136) [006] ...1 157993.979874: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16790 sensors@1.0-se-755 ( 755) [004] ...1 157993.980806: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16791 sensors@1.0-se-755 ( 755) [004] ...1 157993.998754: tracing_mark_write: E 16792 SensorService-1249 ( 1136) [006] ...1 157993.999664: tracing_mark_write: E 16793 SensorService-1249 ( 1136) [006] ...1 157994.000108: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16794 sensors@1.0-se-755 ( 755) [004] ...1 157994.000777: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16795 sensors@1.0-se-755 ( 755) [004] ...1 157994.019198: tracing_mark_write: E 16796 SensorService-1249 ( 1136) [006] ...1 157994.020135: tracing_mark_write: E 16797 SensorService-1249 ( 1136) [006] ...1 157994.020528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16798 sensors@1.0-se-755 ( 755) [004] ...1 157994.021225: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16799 sensors@1.0-se-755 ( 755) [004] ...1 157994.039500: tracing_mark_write: E 16800 SensorService-1249 ( 1136) [006] ...1 157994.040247: tracing_mark_write: E 16801 SensorService-1249 ( 1136) [006] ...1 157994.040558: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16802 sensors@1.0-se-755 ( 755) [004] ...1 157994.041140: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16803 sensors@1.0-se-755 ( 755) [004] ...1 157994.058321: tracing_mark_write: E 16804 SensorService-1249 ( 1136) [006] ...1 157994.059035: tracing_mark_write: E 16805 SensorService-1249 ( 1136) [006] ...1 157994.059355: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16806 sensors@1.0-se-755 ( 755) [004] ...1 157994.060100: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16807 sensors@1.0-se-755 ( 755) [004] ...1 157994.079226: tracing_mark_write: E 16808 SensorService-1249 ( 1136) [006] ...1 157994.080121: tracing_mark_write: E 16809 SensorService-1249 ( 1136) [006] ...1 157994.080557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16810 sensors@1.0-se-755 ( 755) [004] ...1 157994.081231: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16811 sensors@1.0-se-755 ( 755) [004] ...1 157994.099150: tracing_mark_write: E 16812 SensorService-1249 ( 1136) [006] ...1 157994.099853: tracing_mark_write: E 16813 SensorService-1249 ( 1136) [006] ...1 157994.100173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16814 sensors@1.0-se-755 ( 755) [004] ...1 157994.100784: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16815 sensors@1.0-se-755 ( 755) [004] ...1 157994.119602: tracing_mark_write: E 16816 SensorService-1249 ( 1136) [006] ...1 157994.120487: tracing_mark_write: E 16817 SensorService-1249 ( 1136) [006] ...1 157994.121028: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16818 sensors@1.0-se-755 ( 755) [004] ...1 157994.121708: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16819 sensors@1.0-se-755 ( 755) [004] ...1 157994.139254: tracing_mark_write: E 16820 SensorService-1249 ( 1136) [006] ...1 157994.139955: tracing_mark_write: E 16821 SensorService-1249 ( 1136) [006] ...1 157994.140270: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16822 sensors@1.0-se-755 ( 755) [004] ...1 157994.140853: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16823 sensors@1.0-se-755 ( 755) [004] ...1 157994.160209: tracing_mark_write: E 16824 SensorService-1249 ( 1136) [006] ...1 157994.161201: tracing_mark_write: E 16825 SensorService-1249 ( 1136) [006] ...1 157994.161676: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16826 sensors@1.0-se-755 ( 755) [004] ...1 157994.162333: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16827 sensors@1.0-se-755 ( 755) [004] ...1 157994.178810: tracing_mark_write: E 16828 SensorService-1249 ( 1136) [006] ...1 157994.179636: tracing_mark_write: E 16829 SensorService-1249 ( 1136) [006] ...1 157994.179952: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16830 sensors@1.0-se-755 ( 755) [004] ...1 157994.180650: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16831 sensors@1.0-se-755 ( 755) [004] ...1 157994.200460: tracing_mark_write: E 16832 SensorService-1249 ( 1136) [006] ...1 157994.201383: tracing_mark_write: E 16833 SensorService-1249 ( 1136) [006] ...1 157994.201788: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16834 sensors@1.0-se-755 ( 755) [004] ...1 157994.202374: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16835 sensors@1.0-se-755 ( 755) [004] ...1 157994.218592: tracing_mark_write: E 16836 SensorService-1249 ( 1136) [006] ...1 157994.219133: tracing_mark_write: E 16837 SensorService-1249 ( 1136) [006] ...1 157994.219405: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16838 sensors@1.0-se-755 ( 755) [004] ...1 157994.219894: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16839 sensors@1.0-se-755 ( 755) [004] ...1 157994.238970: tracing_mark_write: E 16840 SensorService-1249 ( 1136) [006] ...1 157994.239679: tracing_mark_write: E 16841 SensorService-1249 ( 1136) [006] ...1 157994.240013: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16842 sensors@1.0-se-755 ( 755) [004] ...1 157994.240618: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16843 sensors@1.0-se-755 ( 755) [004] ...1 157994.258747: tracing_mark_write: E 16844 SensorService-1249 ( 1136) [006] ...1 157994.259513: tracing_mark_write: E 16845 SensorService-1249 ( 1136) [006] ...1 157994.259825: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16846 sensors@1.0-se-755 ( 755) [004] ...1 157994.260439: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16847 sensors@1.0-se-755 ( 755) [004] ...1 157994.280151: tracing_mark_write: E 16848 SensorService-1249 ( 1136) [006] ...1 157994.281131: tracing_mark_write: E 16849 SensorService-1249 ( 1136) [006] ...1 157994.281427: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16850 sensors@1.0-se-755 ( 755) [004] ...1 157994.282053: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16851 sensors@1.0-se-755 ( 755) [004] ...1 157994.299777: tracing_mark_write: E 16852 SensorService-1249 ( 1136) [006] ...1 157994.300522: tracing_mark_write: E 16853 SensorService-1249 ( 1136) [006] ...1 157994.300832: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16854 sensors@1.0-se-755 ( 755) [004] ...1 157994.301509: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16855 sensors@1.0-se-755 ( 755) [004] ...1 157994.321136: tracing_mark_write: E 16856 SensorService-1249 ( 1136) [006] ...1 157994.321884: tracing_mark_write: E 16857 SensorService-1249 ( 1136) [006] ...1 157994.322201: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16858 sensors@1.0-se-755 ( 755) [004] ...1 157994.322783: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16859 sensors@1.0-se-755 ( 755) [004] ...1 157994.339615: tracing_mark_write: E 16860 SensorService-1249 ( 1136) [006] ...1 157994.340330: tracing_mark_write: E 16861 SensorService-1249 ( 1136) [006] ...1 157994.340647: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16862 sensors@1.0-se-755 ( 755) [004] ...1 157994.341242: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16863 sensors@1.0-se-755 ( 755) [004] ...1 157994.360257: tracing_mark_write: E 16864 SensorService-1249 ( 1136) [006] ...1 157994.361215: tracing_mark_write: E 16865 SensorService-1249 ( 1136) [006] ...1 157994.361506: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16866 sensors@1.0-se-755 ( 755) [004] ...1 157994.362468: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16867 sensors@1.0-se-755 ( 755) [004] ...1 157994.378751: tracing_mark_write: E 16868 SensorService-1249 ( 1136) [006] ...1 157994.379574: tracing_mark_write: E 16869 SensorService-1249 ( 1136) [006] ...1 157994.379888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16870 sensors@1.0-se-755 ( 755) [004] ...1 157994.380611: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16871 sensors@1.0-se-755 ( 755) [004] ...1 157994.399703: tracing_mark_write: E 16872 SensorService-1249 ( 1136) [006] ...1 157994.400586: tracing_mark_write: E 16873 SensorService-1249 ( 1136) [006] ...1 157994.401306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16874 sensors@1.0-se-755 ( 755) [004] ...1 157994.401979: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16875 sensors@1.0-se-755 ( 755) [004] ...1 157994.419023: tracing_mark_write: E 16876 SensorService-1249 ( 1136) [006] ...1 157994.419755: tracing_mark_write: E 16877 SensorService-1249 ( 1136) [006] ...1 157994.420069: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16878 sensors@1.0-se-755 ( 755) [004] ...1 157994.420688: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16879 sensors@1.0-se-755 ( 755) [004] ...1 157994.439094: tracing_mark_write: E 16880 SensorService-1249 ( 1136) [006] ...1 157994.440035: tracing_mark_write: E 16881 SensorService-1249 ( 1136) [006] ...1 157994.440468: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16882 sensors@1.0-se-755 ( 755) [004] ...1 157994.441135: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16883 sensors@1.0-se-755 ( 755) [004] ...1 157994.459226: tracing_mark_write: E 16884 SensorService-1249 ( 1136) [006] ...1 157994.460139: tracing_mark_write: E 16885 SensorService-1249 ( 1136) [006] ...1 157994.460506: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16886 sensors@1.0-se-755 ( 755) [004] ...1 157994.461168: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16887 sensors@1.0-se-755 ( 755) [004] ...1 157994.479249: tracing_mark_write: E 16888 SensorService-1249 ( 1136) [006] ...1 157994.479979: tracing_mark_write: E 16889 SensorService-1249 ( 1136) [006] ...1 157994.480242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16890 sensors@1.0-se-755 ( 755) [004] ...1 157994.480834: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16891 sensors@1.0-se-755 ( 755) [004] ...1 157994.502674: tracing_mark_write: E 16892 SensorService-1249 ( 1136) [006] ...1 157994.503626: tracing_mark_write: E 16893 SensorService-1249 ( 1136) [006] ...1 157994.503980: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16894 sensors@1.0-se-755 ( 755) [004] ...1 157994.504647: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16895 sensors@1.0-se-755 ( 755) [004] ...1 157994.519488: tracing_mark_write: E 16896 SensorService-1249 ( 1136) [006] ...1 157994.520193: tracing_mark_write: E 16897 SensorService-1249 ( 1136) [006] ...1 157994.520449: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16898 sensors@1.0-se-755 ( 755) [004] ...1 157994.520653: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16899 sensors@1.0-se-755 ( 755) [004] ...1 157994.539382: tracing_mark_write: E 16900 SensorService-1249 ( 1136) [006] ...1 157994.540090: tracing_mark_write: E 16901 SensorService-1249 ( 1136) [006] ...1 157994.540396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16902 sensors@1.0-se-755 ( 755) [004] ...1 157994.541002: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16903 sensors@1.0-se-755 ( 755) [004] ...1 157994.559559: tracing_mark_write: E 16904 SensorService-1249 ( 1136) [006] ...1 157994.559821: tracing_mark_write: E 16905 SensorService-1249 ( 1136) [006] ...1 157994.560044: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16906 sensors@1.0-se-755 ( 755) [004] ...1 157994.560528: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16907 sensors@1.0-se-755 ( 755) [004] ...1 157994.582494: tracing_mark_write: E 16908 SensorService-1249 ( 1136) [006] ...1 157994.583246: tracing_mark_write: E 16909 SensorService-1249 ( 1136) [006] ...1 157994.583612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16910 sensors@1.0-se-755 ( 755) [004] ...1 157994.584197: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16911 sensors@1.0-se-755 ( 755) [004] ...1 157994.600353: tracing_mark_write: E 16912 SensorService-1249 ( 1136) [006] ...1 157994.601090: tracing_mark_write: E 16913 SensorService-1249 ( 1136) [006] ...1 157994.601389: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16914 sensors@1.0-se-755 ( 755) [004] ...1 157994.602004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16915 sensors@1.0-se-755 ( 755) [004] ...1 157994.619269: tracing_mark_write: E 16916 SensorService-1249 ( 1136) [006] ...1 157994.620023: tracing_mark_write: E 16917 SensorService-1249 ( 1136) [006] ...1 157994.620326: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16918 sensors@1.0-se-755 ( 755) [004] ...1 157994.621002: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16919 sensors@1.0-se-755 ( 755) [004] ...1 157994.638459: tracing_mark_write: E 16920 SensorService-1249 ( 1136) [006] ...1 157994.639016: tracing_mark_write: E 16921 SensorService-1249 ( 1136) [006] ...1 157994.639265: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16922 sensors@1.0-se-755 ( 755) [004] ...1 157994.639743: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16923 sensors@1.0-se-755 ( 755) [004] ...1 157994.659989: tracing_mark_write: E 16924 SensorService-1249 ( 1136) [006] ...1 157994.660977: tracing_mark_write: E 16925 SensorService-1249 ( 1136) [006] ...1 157994.661408: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16926 sensors@1.0-se-755 ( 755) [004] ...1 157994.662099: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16927 sensors@1.0-se-755 ( 755) [004] ...1 157994.681367: tracing_mark_write: E 16928 SensorService-1249 ( 1136) [006] ...1 157994.682267: tracing_mark_write: E 16929 SensorService-1249 ( 1136) [006] ...1 157994.682675: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16930 sensors@1.0-se-755 ( 755) [004] ...1 157994.683335: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16931 sensors@1.0-se-755 ( 755) [004] ...1 157994.699124: tracing_mark_write: E 16932 SensorService-1249 ( 1136) [006] ...1 157994.699867: tracing_mark_write: E 16933 SensorService-1249 ( 1136) [006] ...1 157994.700183: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16934 sensors@1.0-se-755 ( 755) [004] ...1 157994.700771: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16935 sensors@1.0-se-755 ( 755) [004] ...1 157994.720164: tracing_mark_write: E 16936 SensorService-1249 ( 1136) [006] ...1 157994.721033: tracing_mark_write: E 16937 SensorService-1249 ( 1136) [006] ...1 157994.721340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16938 sensors@1.0-se-755 ( 755) [004] ...1 157994.721922: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16939 sensors@1.0-se-755 ( 755) [004] ...1 157994.739283: tracing_mark_write: E 16940 SensorService-1249 ( 1136) [006] ...1 157994.740043: tracing_mark_write: E 16941 SensorService-1249 ( 1136) [006] ...1 157994.740361: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16942 sensors@1.0-se-755 ( 755) [004] ...1 157994.741046: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16943 sensors@1.0-se-755 ( 755) [004] ...1 157994.759810: tracing_mark_write: E 16944 SensorService-1249 ( 1136) [006] ...1 157994.760571: tracing_mark_write: E 16945 SensorService-1249 ( 1136) [006] ...1 157994.760999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16946 sensors@1.0-se-755 ( 755) [004] ...1 157994.761587: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16947 sensors@1.0-se-755 ( 755) [004] ...1 157994.778957: tracing_mark_write: E 16948 SensorService-1249 ( 1136) [006] ...1 157994.779657: tracing_mark_write: E 16949 SensorService-1249 ( 1136) [006] ...1 157994.779964: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16950 sensors@1.0-se-755 ( 755) [004] ...1 157994.780549: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16951 sensors@1.0-se-755 ( 755) [004] ...1 157994.800525: tracing_mark_write: E 16952 SensorService-1249 ( 1136) [006] ...1 157994.801473: tracing_mark_write: E 16953 SensorService-1249 ( 1136) [006] ...1 157994.801921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16954 sensors@1.0-se-755 ( 755) [004] ...1 157994.802639: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16955 sensors@1.0-se-755 ( 755) [004] ...1 157994.819642: tracing_mark_write: E 16956 SensorService-1249 ( 1136) [006] ...1 157994.820336: tracing_mark_write: E 16957 SensorService-1249 ( 1136) [006] ...1 157994.820583: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16958 sensors@1.0-se-755 ( 755) [004] ...1 157994.821169: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16959 sensors@1.0-se-755 ( 755) [004] ...1 157994.839917: tracing_mark_write: E 16960 SensorService-1249 ( 1136) [006] ...1 157994.841056: tracing_mark_write: E 16961 SensorService-1249 ( 1136) [006] ...1 157994.841500: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16962 sensors@1.0-se-755 ( 755) [004] ...1 157994.842174: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16963 sensors@1.0-se-755 ( 755) [004] ...1 157994.859392: tracing_mark_write: E 16964 SensorService-1249 ( 1136) [006] ...1 157994.859699: tracing_mark_write: E 16965 SensorService-1249 ( 1136) [006] ...1 157994.860020: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16966 sensors@1.0-se-755 ( 755) [004] ...1 157994.861277: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16967 sensors@1.0-se-755 ( 755) [004] ...1 157994.879284: tracing_mark_write: E 16968 SensorService-1249 ( 1136) [006] ...1 157994.880051: tracing_mark_write: E 16969 SensorService-1249 ( 1136) [006] ...1 157994.880287: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16970 sensors@1.0-se-755 ( 755) [004] ...1 157994.880755: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16971 sensors@1.0-se-755 ( 755) [004] ...1 157994.902597: tracing_mark_write: E 16972 SensorService-1249 ( 1136) [006] ...1 157994.903329: tracing_mark_write: E 16973 SensorService-1249 ( 1136) [006] ...1 157994.903639: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16974 sensors@1.0-se-755 ( 755) [004] ...1 157994.904320: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16975 sensors@1.0-se-755 ( 755) [004] ...1 157994.919755: tracing_mark_write: E 16976 SensorService-1249 ( 1136) [006] ...1 157994.920503: tracing_mark_write: E 16977 SensorService-1249 ( 1136) [006] ...1 157994.920819: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16978 sensors@1.0-se-755 ( 755) [004] ...1 157994.921507: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16979 sensors@1.0-se-755 ( 755) [004] ...1 157994.940195: tracing_mark_write: E 16980 SensorService-1249 ( 1136) [006] ...1 157994.941310: tracing_mark_write: E 16981 SensorService-1249 ( 1136) [006] ...1 157994.941718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16982 sensors@1.0-se-755 ( 755) [004] ...1 157994.942388: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16983 sensors@1.0-se-755 ( 755) [004] ...1 157994.960110: tracing_mark_write: E 16984 SensorService-1249 ( 1136) [006] ...1 157994.960984: tracing_mark_write: E 16985 SensorService-1249 ( 1136) [006] ...1 157994.961294: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16986 sensors@1.0-se-755 ( 755) [004] ...1 157994.961930: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16987 sensors@1.0-se-755 ( 755) [004] ...1 157994.979892: tracing_mark_write: E 16988 SensorService-1249 ( 1136) [006] ...1 157994.980828: tracing_mark_write: E 16989 SensorService-1249 ( 1136) [006] ...1 157994.981342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16990 sensors@1.0-se-755 ( 755) [004] ...1 157994.982000: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16991 sensors@1.0-se-755 ( 755) [004] ...1 157994.999634: tracing_mark_write: E 16992 SensorService-1249 ( 1136) [006] ...1 157995.000508: tracing_mark_write: E 16993 SensorService-1249 ( 1136) [006] ...1 157995.001035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16994 sensors@1.0-se-755 ( 755) [004] ...1 157995.001736: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16995 sensors@1.0-se-755 ( 755) [004] ...1 157995.019771: tracing_mark_write: E 16996 SensorService-1249 ( 1136) [006] ...1 157995.020663: tracing_mark_write: E 16997 SensorService-1249 ( 1136) [006] ...1 157995.021186: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 16998 sensors@1.0-se-755 ( 755) [004] ...1 157995.022030: tracing_mark_write: B|755|HIDL::ISensors::poll::server 16999 sensors@1.0-se-755 ( 755) [004] ...1 157995.041467: tracing_mark_write: E 17000 SensorService-1249 ( 1136) [006] ...1 157995.042374: tracing_mark_write: E 17001 SensorService-1249 ( 1136) [006] ...1 157995.042815: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17002 sensors@1.0-se-755 ( 755) [004] ...1 157995.043488: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17003 sensors@1.0-se-755 ( 755) [004] ...1 157995.059665: tracing_mark_write: E 17004 SensorService-1249 ( 1136) [006] ...1 157995.060584: tracing_mark_write: E 17005 SensorService-1249 ( 1136) [006] ...1 157995.061112: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17006 sensors@1.0-se-755 ( 755) [004] ...1 157995.061786: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17007 sensors@1.0-se-755 ( 755) [004] ...1 157995.080117: tracing_mark_write: E 17008 SensorService-1249 ( 1136) [006] ...1 157995.081183: tracing_mark_write: E 17009 SensorService-1249 ( 1136) [006] ...1 157995.081597: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17010 sensors@1.0-se-755 ( 755) [004] ...1 157995.082398: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17011 sensors@1.0-se-755 ( 755) [004] ...1 157995.099768: tracing_mark_write: E 17012 SensorService-1249 ( 1136) [006] ...1 157995.100534: tracing_mark_write: E 17013 SensorService-1249 ( 1136) [006] ...1 157995.100845: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17014 sensors@1.0-se-755 ( 755) [004] ...1 157995.101561: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17015 sensors@1.0-se-755 ( 755) [004] ...1 157995.120644: tracing_mark_write: E 17016 SensorService-1249 ( 1136) [006] ...1 157995.121533: tracing_mark_write: E 17017 SensorService-1249 ( 1136) [006] ...1 157995.121979: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17018 sensors@1.0-se-755 ( 755) [004] ...1 157995.122686: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17019 sensors@1.0-se-755 ( 755) [004] ...1 157995.140312: tracing_mark_write: E 17020 SensorService-1249 ( 1136) [006] ...1 157995.141242: tracing_mark_write: E 17021 SensorService-1249 ( 1136) [006] ...1 157995.141634: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17022 sensors@1.0-se-755 ( 755) [004] ...1 157995.142319: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17023 sensors@1.0-se-755 ( 755) [004] ...1 157995.159579: tracing_mark_write: E 17024 SensorService-1249 ( 1136) [006] ...1 157995.160157: tracing_mark_write: E 17025 SensorService-1249 ( 1136) [006] ...1 157995.160391: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17026 sensors@1.0-se-755 ( 755) [004] ...1 157995.160962: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17027 sensors@1.0-se-755 ( 755) [004] ...1 157995.179705: tracing_mark_write: E 17028 SensorService-1249 ( 1136) [006] ...1 157995.180427: tracing_mark_write: E 17029 SensorService-1249 ( 1136) [006] ...1 157995.180709: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17030 sensors@1.0-se-755 ( 755) [004] ...1 157995.181029: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17031 sensors@1.0-se-755 ( 755) [004] ...1 157995.198328: tracing_mark_write: E 17032 SensorService-1249 ( 1136) [006] ...1 157995.198898: tracing_mark_write: E 17033 SensorService-1249 ( 1136) [006] ...1 157995.199062: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17034 sensors@1.0-se-755 ( 755) [004] ...1 157995.199215: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17035 sensors@1.0-se-755 ( 755) [004] ...1 157995.219866: tracing_mark_write: E 17036 SensorService-1249 ( 1136) [006] ...1 157995.220449: tracing_mark_write: E 17037 SensorService-1249 ( 1136) [006] ...1 157995.220613: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17038 sensors@1.0-se-755 ( 755) [004] ...1 157995.221147: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17039 sensors@1.0-se-755 ( 755) [004] ...1 157995.238448: tracing_mark_write: E 17040 SensorService-1249 ( 1136) [006] ...1 157995.238972: tracing_mark_write: E 17041 SensorService-1249 ( 1136) [006] ...1 157995.239130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17042 sensors@1.0-se-755 ( 755) [004] ...1 157995.239281: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17043 sensors@1.0-se-755 ( 755) [004] ...1 157995.258165: tracing_mark_write: E 17044 SensorService-1249 ( 1136) [006] ...1 157995.258705: tracing_mark_write: E 17045 SensorService-1249 ( 1136) [006] ...1 157995.258868: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17046 sensors@1.0-se-755 ( 755) [004] ...1 157995.259017: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17047 sensors@1.0-se-755 ( 755) [004] ...1 157995.279822: tracing_mark_write: E 17048 SensorService-1249 ( 1136) [006] ...1 157995.280579: tracing_mark_write: E 17049 SensorService-1249 ( 1136) [006] ...1 157995.280984: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17050 sensors@1.0-se-755 ( 755) [004] ...1 157995.281205: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17051 sensors@1.0-se-755 ( 755) [004] ...1 157995.298816: tracing_mark_write: E 17052 SensorService-1249 ( 1136) [006] ...1 157995.299563: tracing_mark_write: E 17053 SensorService-1249 ( 1136) [006] ...1 157995.299856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17054 sensors@1.0-se-755 ( 755) [004] ...1 157995.300077: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17055 sensors@1.0-se-755 ( 755) [004] ...1 157995.321694: tracing_mark_write: E 17056 SensorService-1249 ( 1136) [006] ...1 157995.322567: tracing_mark_write: E 17057 SensorService-1249 ( 1136) [006] ...1 157995.322978: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17058 sensors@1.0-se-755 ( 755) [004] ...1 157995.323232: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17059 sensors@1.0-se-755 ( 755) [004] ...1 157995.339794: tracing_mark_write: E 17060 SensorService-1249 ( 1136) [006] ...1 157995.340660: tracing_mark_write: E 17061 SensorService-1249 ( 1136) [006] ...1 157995.341031: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17062 sensors@1.0-se-755 ( 755) [004] ...1 157995.341624: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17063 sensors@1.0-se-755 ( 755) [004] ...1 157995.363065: tracing_mark_write: E 17064 SensorService-1249 ( 1136) [006] ...1 157995.364021: tracing_mark_write: E 17065 SensorService-1249 ( 1136) [006] ...1 157995.364516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17066 sensors@1.0-se-755 ( 755) [004] ...1 157995.365172: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17067 sensors@1.0-se-755 ( 755) [004] ...1 157995.379461: tracing_mark_write: E 17068 SensorService-1249 ( 1136) [006] ...1 157995.380205: tracing_mark_write: E 17069 SensorService-1249 ( 1136) [006] ...1 157995.380501: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17070 sensors@1.0-se-755 ( 755) [004] ...1 157995.381269: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17071 sensors@1.0-se-755 ( 755) [004] ...1 157995.399826: tracing_mark_write: E 17072 SensorService-1249 ( 1136) [006] ...1 157995.400523: tracing_mark_write: E 17073 SensorService-1249 ( 1136) [006] ...1 157995.400811: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17074 sensors@1.0-se-755 ( 755) [004] ...1 157995.401693: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17075 sensors@1.0-se-755 ( 755) [004] ...1 157995.423751: tracing_mark_write: E 17076 SensorService-1249 ( 1136) [006] ...1 157995.424660: tracing_mark_write: E 17077 SensorService-1249 ( 1136) [006] ...1 157995.425086: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17078 sensors@1.0-se-755 ( 755) [004] ...1 157995.425737: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17079 sensors@1.0-se-755 ( 755) [004] ...1 157995.439494: tracing_mark_write: E 17080 SensorService-1249 ( 1136) [006] ...1 157995.440384: tracing_mark_write: E 17081 SensorService-1249 ( 1136) [006] ...1 157995.440671: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17082 sensors@1.0-se-755 ( 755) [004] ...1 157995.441310: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17083 sensors@1.0-se-755 ( 755) [004] ...1 157995.463157: tracing_mark_write: E 17084 SensorService-1249 ( 1136) [006] ...1 157995.463978: tracing_mark_write: E 17085 SensorService-1249 ( 1136) [006] ...1 157995.464342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17086 sensors@1.0-se-755 ( 755) [004] ...1 157995.464983: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17087 sensors@1.0-se-755 ( 755) [004] ...1 157995.479047: tracing_mark_write: E 17088 SensorService-1249 ( 1136) [006] ...1 157995.479598: tracing_mark_write: E 17089 SensorService-1249 ( 1136) [006] ...1 157995.479896: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17090 sensors@1.0-se-755 ( 755) [004] ...1 157995.480390: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17091 sensors@1.0-se-755 ( 755) [004] ...1 157995.500986: tracing_mark_write: E 17092 SensorService-1249 ( 1136) [006] ...1 157995.501913: tracing_mark_write: E 17093 SensorService-1249 ( 1136) [006] ...1 157995.502301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17094 sensors@1.0-se-755 ( 755) [004] ...1 157995.503004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17095 sensors@1.0-se-755 ( 755) [004] ...1 157995.520602: tracing_mark_write: E 17096 SensorService-1249 ( 1136) [006] ...1 157995.521487: tracing_mark_write: E 17097 SensorService-1249 ( 1136) [006] ...1 157995.521889: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17098 sensors@1.0-se-755 ( 755) [004] ...1 157995.522606: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17099 sensors@1.0-se-755 ( 755) [004] ...1 157995.541177: tracing_mark_write: E 17100 SensorService-1249 ( 1136) [006] ...1 157995.542329: tracing_mark_write: E 17101 SensorService-1249 ( 1136) [006] ...1 157995.542732: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17102 sensors@1.0-se-755 ( 755) [004] ...1 157995.543388: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17103 sensors@1.0-se-755 ( 755) [004] ...1 157995.560257: tracing_mark_write: E 17104 SensorService-1249 ( 1136) [006] ...1 157995.561167: tracing_mark_write: E 17105 SensorService-1249 ( 1136) [006] ...1 157995.561560: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17106 sensors@1.0-se-755 ( 755) [004] ...1 157995.562221: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17107 sensors@1.0-se-755 ( 755) [004] ...1 157995.583841: tracing_mark_write: E 17108 SensorService-1249 ( 1136) [006] ...1 157995.584807: tracing_mark_write: E 17109 SensorService-1249 ( 1136) [006] ...1 157995.585334: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17110 sensors@1.0-se-755 ( 755) [004] ...1 157995.585988: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17111 sensors@1.0-se-755 ( 755) [004] ...1 157995.599801: tracing_mark_write: E 17112 SensorService-1249 ( 1136) [006] ...1 157995.600567: tracing_mark_write: E 17113 SensorService-1249 ( 1136) [006] ...1 157995.601018: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17114 sensors@1.0-se-755 ( 755) [004] ...1 157995.601614: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17115 sensors@1.0-se-755 ( 755) [004] ...1 157995.619569: tracing_mark_write: E 17116 SensorService-1249 ( 1136) [006] ...1 157995.619876: tracing_mark_write: E 17117 SensorService-1249 ( 1136) [006] ...1 157995.620193: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17118 sensors@1.0-se-755 ( 755) [004] ...1 157995.620782: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17119 sensors@1.0-se-755 ( 755) [004] ...1 157995.640002: tracing_mark_write: E 17120 SensorService-1249 ( 1136) [006] ...1 157995.640725: tracing_mark_write: E 17121 SensorService-1249 ( 1136) [006] ...1 157995.641176: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17122 sensors@1.0-se-755 ( 755) [004] ...1 157995.641772: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17123 sensors@1.0-se-755 ( 755) [004] ...1 157995.659583: tracing_mark_write: E 17124 SensorService-1249 ( 1136) [006] ...1 157995.660331: tracing_mark_write: E 17125 SensorService-1249 ( 1136) [006] ...1 157995.660650: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17126 sensors@1.0-se-755 ( 755) [004] ...1 157995.661244: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17127 sensors@1.0-se-755 ( 755) [004] ...1 157995.681185: tracing_mark_write: E 17128 SensorService-1249 ( 1136) [006] ...1 157995.681998: tracing_mark_write: E 17129 SensorService-1249 ( 1136) [006] ...1 157995.682273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17130 sensors@1.0-se-755 ( 755) [004] ...1 157995.682861: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17131 sensors@1.0-se-755 ( 755) [004] ...1 157995.700108: tracing_mark_write: E 17132 SensorService-1249 ( 1136) [006] ...1 157995.701035: tracing_mark_write: E 17133 SensorService-1249 ( 1136) [006] ...1 157995.701332: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17134 sensors@1.0-se-755 ( 755) [004] ...1 157995.701962: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17135 sensors@1.0-se-755 ( 755) [004] ...1 157995.719450: tracing_mark_write: E 17136 SensorService-1249 ( 1136) [006] ...1 157995.719998: tracing_mark_write: E 17137 SensorService-1249 ( 1136) [006] ...1 157995.720286: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17138 sensors@1.0-se-755 ( 755) [004] ...1 157995.720753: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17139 sensors@1.0-se-755 ( 755) [004] ...1 157995.739104: tracing_mark_write: E 17140 SensorService-1249 ( 1136) [006] ...1 157995.739278: tracing_mark_write: E 17141 SensorService-1249 ( 1136) [006] ...1 157995.739436: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17142 sensors@1.0-se-755 ( 755) [004] ...1 157995.739537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17143 sensors@1.0-se-755 ( 755) [004] ...1 157995.758263: tracing_mark_write: E 17144 SensorService-1249 ( 1136) [006] ...1 157995.758322: tracing_mark_write: E 17145 SensorService-1249 ( 1136) [006] ...1 157995.758392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17146 sensors@1.0-se-755 ( 755) [004] ...1 157995.758448: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17147 sensors@1.0-se-755 ( 755) [004] ...1 157995.778240: tracing_mark_write: E 17148 SensorService-1249 ( 1136) [006] ...1 157995.778293: tracing_mark_write: E 17149 SensorService-1249 ( 1136) [006] ...1 157995.778363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17150 sensors@1.0-se-755 ( 755) [004] ...1 157995.778416: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17151 sensors@1.0-se-755 ( 755) [004] ...1 157995.798275: tracing_mark_write: E 17152 SensorService-1249 ( 1136) [006] ...1 157995.798315: tracing_mark_write: E 17153 SensorService-1249 ( 1136) [006] ...1 157995.798367: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17154 sensors@1.0-se-755 ( 755) [004] ...1 157995.798407: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17155 sensors@1.0-se-755 ( 755) [004] ...1 157995.818369: tracing_mark_write: E 17156 SensorService-1249 ( 1136) [006] ...1 157995.818403: tracing_mark_write: E 17157 SensorService-1249 ( 1136) [006] ...1 157995.818442: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17158 sensors@1.0-se-755 ( 755) [004] ...1 157995.818473: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17159 sensors@1.0-se-755 ( 755) [004] ...1 157995.838408: tracing_mark_write: E 17160 SensorService-1249 ( 1136) [006] ...1 157995.838434: tracing_mark_write: E 17161 SensorService-1249 ( 1136) [006] ...1 157995.838458: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17162 sensors@1.0-se-755 ( 755) [004] ...1 157995.838483: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17163 sensors@1.0-se-755 ( 755) [004] ...1 157995.858503: tracing_mark_write: E 17164 SensorService-1249 ( 1136) [006] ...1 157995.858524: tracing_mark_write: E 17165 SensorService-1249 ( 1136) [006] ...1 157995.858551: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17166 sensors@1.0-se-755 ( 755) [004] ...1 157995.858571: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17167 sensors@1.0-se-755 ( 755) [004] ...1 157995.878221: tracing_mark_write: E 17168 SensorService-1249 ( 1136) [006] ...1 157995.878239: tracing_mark_write: E 17169 SensorService-1249 ( 1136) [006] ...1 157995.878261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17170 sensors@1.0-se-755 ( 755) [004] ...1 157995.878280: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17171 sensors@1.0-se-755 ( 755) [006] ...1 157995.898522: tracing_mark_write: E 17172 SensorService-1249 ( 1136) [000] ...1 157995.898690: tracing_mark_write: E 17173 SensorService-1249 ( 1136) [000] ...1 157995.898922: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17174 sensors@1.0-se-755 ( 755) [006] ...1 157995.899064: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17175 sensors@1.0-se-755 ( 755) [006] ...1 157995.919512: tracing_mark_write: E 17176 SensorService-1249 ( 1136) [000] ...1 157995.919666: tracing_mark_write: E 17177 SensorService-1249 ( 1136) [000] ...1 157995.919879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17178 sensors@1.0-se-755 ( 755) [006] ...1 157995.920019: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17179 sensors@1.0-se-755 ( 755) [007] ...1 157995.938482: tracing_mark_write: E 17180 SensorService-1249 ( 1136) [000] ...1 157995.938651: tracing_mark_write: E 17181 SensorService-1249 ( 1136) [000] ...1 157995.938892: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17182 sensors@1.0-se-755 ( 755) [007] ...1 157995.939045: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17183 sensors@1.0-se-755 ( 755) [007] ...1 157995.958204: tracing_mark_write: E 17184 SensorService-1249 ( 1136) [000] ...1 157995.958301: tracing_mark_write: E 17185 SensorService-1249 ( 1136) [000] ...1 157995.958414: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17186 sensors@1.0-se-755 ( 755) [007] ...1 157995.958493: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17187 sensors@1.0-se-755 ( 755) [007] ...1 157995.978702: tracing_mark_write: E 17188 SensorService-1249 ( 1136) [000] ...1 157995.978801: tracing_mark_write: E 17189 SensorService-1249 ( 1136) [000] ...1 157995.978916: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17190 sensors@1.0-se-755 ( 755) [007] ...1 157995.979008: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17191 sensors@1.0-se-755 ( 755) [007] ...1 157995.998532: tracing_mark_write: E 17192 SensorService-1249 ( 1136) [000] ...1 157995.998674: tracing_mark_write: E 17193 SensorService-1249 ( 1136) [000] ...1 157995.998802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17194 sensors@1.0-se-755 ( 755) [007] ...1 157995.998961: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17195 sensors@1.0-se-755 ( 755) [007] ...1 157996.019038: tracing_mark_write: E 17196 SensorService-1249 ( 1136) [000] ...1 157996.019165: tracing_mark_write: E 17197 SensorService-1249 ( 1136) [000] ...1 157996.019273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17198 sensors@1.0-se-755 ( 755) [007] ...1 157996.019420: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17199 sensors@1.0-se-755 ( 755) [007] ...1 157996.039229: tracing_mark_write: E 17200 SensorService-1249 ( 1136) [000] ...1 157996.039429: tracing_mark_write: E 17201 SensorService-1249 ( 1136) [000] ...1 157996.039538: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17202 sensors@1.0-se-755 ( 755) [007] ...1 157996.040296: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17203 sensors@1.0-se-755 ( 755) [007] ...1 157996.059376: tracing_mark_write: E 17204 SensorService-1249 ( 1136) [000] ...1 157996.059540: tracing_mark_write: E 17205 SensorService-1249 ( 1136) [000] ...1 157996.059664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17206 sensors@1.0-se-755 ( 755) [007] ...1 157996.060174: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17207 sensors@1.0-se-755 ( 755) [007] ...1 157996.079689: tracing_mark_write: E 17208 SensorService-1249 ( 1136) [000] ...1 157996.079887: tracing_mark_write: E 17209 SensorService-1249 ( 1136) [000] ...1 157996.080034: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17210 sensors@1.0-se-755 ( 755) [007] ...1 157996.081075: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17211 sensors@1.0-se-755 ( 755) [007] ...1 157996.100953: tracing_mark_write: E 17212 SensorService-1249 ( 1136) [000] ...1 157996.101199: tracing_mark_write: E 17213 SensorService-1249 ( 1136) [000] ...1 157996.101382: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17214 sensors@1.0-se-755 ( 755) [007] ...1 157996.102014: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17215 sensors@1.0-se-755 ( 755) [007] ...1 157996.120066: tracing_mark_write: E 17216 SensorService-1249 ( 1136) [000] ...1 157996.120704: tracing_mark_write: E 17217 SensorService-1249 ( 1136) [000] ...1 157996.120975: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17218 sensors@1.0-se-755 ( 755) [007] ...1 157996.123048: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17219 sensors@1.0-se-755 ( 755) [007] ...1 157996.139719: tracing_mark_write: E 17220 SensorService-1249 ( 1136) [000] ...1 157996.140181: tracing_mark_write: E 17221 SensorService-1249 ( 1136) [000] ...1 157996.140337: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17222 sensors@1.0-se-755 ( 755) [007] ...1 157996.140822: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17223 sensors@1.0-se-755 ( 755) [004] ...1 157996.160389: tracing_mark_write: E 17224 SensorService-1249 ( 1136) [000] ...1 157996.160688: tracing_mark_write: E 17225 SensorService-1249 ( 1136) [000] ...1 157996.161078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17226 sensors@1.0-se-755 ( 755) [004] ...1 157996.161686: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17227 sensors@1.0-se-755 ( 755) [004] ...1 157996.180130: tracing_mark_write: E 17228 SensorService-1249 ( 1136) [000] ...1 157996.180639: tracing_mark_write: E 17229 SensorService-1249 ( 1136) [000] ...1 157996.180817: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17230 sensors@1.0-se-755 ( 755) [004] ...1 157996.181038: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17231 sensors@1.0-se-755 ( 755) [004] ...1 157996.201081: tracing_mark_write: E 17232 SensorService-1249 ( 1136) [000] ...1 157996.201716: tracing_mark_write: E 17233 SensorService-1249 ( 1136) [000] ...1 157996.201923: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17234 sensors@1.0-se-755 ( 755) [004] ...1 157996.204029: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17235 sensors@1.0-se-755 ( 755) [004] ...1 157996.222599: tracing_mark_write: E 17236 SensorService-1249 ( 1136) [000] ...1 157996.223124: tracing_mark_write: E 17237 SensorService-1249 ( 1136) [000] ...1 157996.223337: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17238 sensors@1.0-se-755 ( 755) [004] ...1 157996.225517: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17239 sensors@1.0-se-755 ( 755) [004] ...1 157996.240965: tracing_mark_write: E 17240 SensorService-1249 ( 1136) [000] ...1 157996.241188: tracing_mark_write: E 17241 SensorService-1249 ( 1136) [000] ...1 157996.241352: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17242 sensors@1.0-se-755 ( 755) [004] ...1 157996.242324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17243 sensors@1.0-se-755 ( 755) [004] ...1 157996.262731: tracing_mark_write: E 17244 SensorService-1249 ( 1136) [000] ...1 157996.263309: tracing_mark_write: E 17245 SensorService-1249 ( 1136) [000] ...1 157996.263665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17246 sensors@1.0-se-755 ( 755) [004] ...1 157996.265761: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17247 sensors@1.0-se-755 ( 755) [004] ...1 157996.281353: tracing_mark_write: E 17248 SensorService-1249 ( 1136) [000] ...1 157996.281758: tracing_mark_write: E 17249 SensorService-1249 ( 1136) [000] ...1 157996.282078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17250 sensors@1.0-se-755 ( 755) [004] ...1 157996.284525: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17251 sensors@1.0-se-755 ( 755) [004] ...1 157996.300170: tracing_mark_write: E 17252 SensorService-1249 ( 1136) [000] ...1 157996.300648: tracing_mark_write: E 17253 SensorService-1249 ( 1136) [000] ...1 157996.300836: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17254 sensors@1.0-se-755 ( 755) [004] ...1 157996.301593: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17255 sensors@1.0-se-755 ( 755) [004] ...1 157996.319281: tracing_mark_write: E 17256 SensorService-1249 ( 1136) [000] ...1 157996.319476: tracing_mark_write: E 17257 SensorService-1249 ( 1136) [000] ...1 157996.319670: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17258 sensors@1.0-se-755 ( 755) [004] ...1 157996.320064: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17259 sensors@1.0-se-755 ( 755) [004] ...1 157996.340854: tracing_mark_write: E 17260 SensorService-1249 ( 1136) [000] ...1 157996.341574: tracing_mark_write: E 17261 SensorService-1249 ( 1136) [000] ...1 157996.341797: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17262 sensors@1.0-se-755 ( 755) [004] ...1 157996.343876: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17263 sensors@1.0-se-755 ( 755) [004] ...1 157996.359550: tracing_mark_write: E 17264 SensorService-1249 ( 1136) [000] ...1 157996.359827: tracing_mark_write: E 17265 SensorService-1249 ( 1136) [000] ...1 157996.360041: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17266 sensors@1.0-se-755 ( 755) [004] ...1 157996.360689: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17267 sensors@1.0-se-755 ( 755) [004] ...1 157996.379577: tracing_mark_write: E 17268 SensorService-1249 ( 1136) [000] ...1 157996.379772: tracing_mark_write: E 17269 SensorService-1249 ( 1136) [000] ...1 157996.379972: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17270 sensors@1.0-se-755 ( 755) [004] ...1 157996.380176: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17271 sensors@1.0-se-755 ( 755) [004] ...1 157996.400450: tracing_mark_write: E 17272 SensorService-1249 ( 1136) [000] ...1 157996.401071: tracing_mark_write: E 17273 SensorService-1249 ( 1136) [000] ...1 157996.401316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17274 sensors@1.0-se-755 ( 755) [004] ...1 157996.402463: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17275 sensors@1.0-se-755 ( 755) [004] ...1 157996.420073: tracing_mark_write: E 17276 SensorService-1249 ( 1136) [000] ...1 157996.420353: tracing_mark_write: E 17277 SensorService-1249 ( 1136) [000] ...1 157996.420624: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17278 sensors@1.0-se-755 ( 755) [004] ...1 157996.420947: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17279 sensors@1.0-se-755 ( 755) [004] ...1 157996.441391: tracing_mark_write: E 17280 SensorService-1249 ( 1136) [000] ...1 157996.441965: tracing_mark_write: E 17281 SensorService-1249 ( 1136) [000] ...1 157996.442197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17282 sensors@1.0-se-755 ( 755) [004] ...1 157996.444662: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17283 sensors@1.0-se-755 ( 755) [004] ...1 157996.461128: tracing_mark_write: E 17284 SensorService-1249 ( 1136) [000] ...1 157996.461383: tracing_mark_write: E 17285 SensorService-1249 ( 1136) [000] ...1 157996.461579: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17286 sensors@1.0-se-755 ( 755) [004] ...1 157996.462872: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17287 sensors@1.0-se-755 ( 755) [004] ...1 157996.481292: tracing_mark_write: E 17288 SensorService-1249 ( 1136) [000] ...1 157996.483478: tracing_mark_write: E 17289 SensorService-1249 ( 1136) [000] ...1 157996.483748: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17290 sensors@1.0-se-755 ( 755) [004] ...1 157996.485355: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17291 sensors@1.0-se-755 ( 755) [004] ...1 157996.500011: tracing_mark_write: E 17292 SensorService-1249 ( 1136) [000] ...1 157996.500496: tracing_mark_write: E 17293 SensorService-1249 ( 1136) [000] ...1 157996.500652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17294 sensors@1.0-se-755 ( 755) [004] ...1 157996.502483: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17295 sensors@1.0-se-755 ( 755) [004] ...1 157996.521275: tracing_mark_write: E 17296 SensorService-1249 ( 1136) [000] ...1 157996.521954: tracing_mark_write: E 17297 SensorService-1249 ( 1136) [000] ...1 157996.522301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17298 sensors@1.0-se-755 ( 755) [004] ...1 157996.523006: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17299 sensors@1.0-se-755 ( 755) [004] ...1 157996.541545: tracing_mark_write: E 17300 SensorService-1249 ( 1136) [000] ...1 157996.542024: tracing_mark_write: E 17301 SensorService-1249 ( 1136) [000] ...1 157996.542358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17302 sensors@1.0-se-755 ( 755) [004] ...1 157996.543682: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17303 sensors@1.0-se-755 ( 755) [004] ...1 157996.560834: tracing_mark_write: E 17304 SensorService-1249 ( 1136) [000] ...1 157996.561471: tracing_mark_write: E 17305 SensorService-1249 ( 1136) [000] ...1 157996.561687: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17306 sensors@1.0-se-755 ( 755) [004] ...1 157996.563686: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17307 sensors@1.0-se-755 ( 755) [004] ...1 157996.582847: tracing_mark_write: E 17308 SensorService-1249 ( 1136) [000] ...1 157996.583134: tracing_mark_write: E 17309 SensorService-1249 ( 1136) [000] ...1 157996.583358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17310 sensors@1.0-se-755 ( 755) [004] ...1 157996.584582: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17311 sensors@1.0-se-755 ( 755) [004] ...1 157996.600652: tracing_mark_write: E 17312 SensorService-1249 ( 1136) [000] ...1 157996.600974: tracing_mark_write: E 17313 SensorService-1249 ( 1136) [000] ...1 157996.601165: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17314 sensors@1.0-se-755 ( 755) [004] ...1 157996.601386: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17315 sensors@1.0-se-755 ( 755) [004] ...1 157996.620252: tracing_mark_write: E 17316 SensorService-1249 ( 1136) [000] ...1 157996.620433: tracing_mark_write: E 17317 SensorService-1249 ( 1136) [000] ...1 157996.620609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17318 sensors@1.0-se-755 ( 755) [004] ...1 157996.621324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17319 sensors@1.0-se-755 ( 755) [004] ...1 157996.641081: tracing_mark_write: E 17320 SensorService-1249 ( 1136) [000] ...1 157996.641705: tracing_mark_write: E 17321 SensorService-1249 ( 1136) [000] ...1 157996.641896: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17322 sensors@1.0-se-755 ( 755) [004] ...1 157996.643912: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17323 sensors@1.0-se-755 ( 755) [004] ...1 157996.660533: tracing_mark_write: E 17324 SensorService-1249 ( 1136) [000] ...1 157996.660793: tracing_mark_write: E 17325 SensorService-1249 ( 1136) [000] ...1 157996.661020: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17326 sensors@1.0-se-755 ( 755) [004] ...1 157996.662296: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17327 sensors@1.0-se-755 ( 755) [004] ...1 157996.681080: tracing_mark_write: E 17328 SensorService-1249 ( 1136) [000] ...1 157996.681654: tracing_mark_write: E 17329 SensorService-1249 ( 1136) [000] ...1 157996.681863: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17330 sensors@1.0-se-755 ( 755) [004] ...1 157996.683004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17331 sensors@1.0-se-755 ( 755) [004] ...1 157996.702203: tracing_mark_write: E 17332 SensorService-1249 ( 1136) [000] ...1 157996.702488: tracing_mark_write: E 17333 SensorService-1249 ( 1136) [000] ...1 157996.702763: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17334 sensors@1.0-se-755 ( 755) [004] ...1 157996.703387: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17335 sensors@1.0-se-755 ( 755) [004] ...1 157996.720628: tracing_mark_write: E 17336 SensorService-1249 ( 1136) [000] ...1 157996.721077: tracing_mark_write: E 17337 SensorService-1249 ( 1136) [000] ...1 157996.721264: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17338 sensors@1.0-se-755 ( 755) [004] ...1 157996.721824: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17339 sensors@1.0-se-755 ( 755) [004] ...1 157996.741159: tracing_mark_write: E 17340 SensorService-1249 ( 1136) [000] ...1 157996.741403: tracing_mark_write: E 17341 SensorService-1249 ( 1136) [000] ...1 157996.741686: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17342 sensors@1.0-se-755 ( 755) [004] ...1 157996.742263: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17343 sensors@1.0-se-755 ( 755) [004] ...1 157996.760224: tracing_mark_write: E 17344 SensorService-1249 ( 1136) [000] ...1 157996.760431: tracing_mark_write: E 17345 SensorService-1249 ( 1136) [000] ...1 157996.760608: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17346 sensors@1.0-se-755 ( 755) [004] ...1 157996.761356: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17347 sensors@1.0-se-755 ( 755) [004] ...1 157996.783722: tracing_mark_write: E 17348 SensorService-1249 ( 1136) [000] ...1 157996.785707: tracing_mark_write: E 17349 SensorService-1249 ( 1136) [000] ...1 157996.786173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17350 sensors@1.0-se-755 ( 755) [004] ...1 157996.788260: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17351 sensors@1.0-se-755 ( 755) [004] ...1 157996.801114: tracing_mark_write: E 17352 SensorService-1249 ( 1136) [000] ...1 157996.801362: tracing_mark_write: E 17353 SensorService-1249 ( 1136) [000] ...1 157996.801581: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17354 sensors@1.0-se-755 ( 755) [004] ...1 157996.802241: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17355 sensors@1.0-se-755 ( 755) [004] ...1 157996.823507: tracing_mark_write: E 17356 SensorService-1249 ( 1136) [000] ...1 157996.825431: tracing_mark_write: E 17357 SensorService-1249 ( 1136) [000] ...1 157996.825781: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17358 sensors@1.0-se-755 ( 755) [004] ...1 157996.827482: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17359 sensors@1.0-se-755 ( 755) [004] ...1 157996.842109: tracing_mark_write: E 17360 SensorService-1249 ( 1136) [000] ...1 157996.842491: tracing_mark_write: E 17361 SensorService-1249 ( 1136) [000] ...1 157996.842699: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17362 sensors@1.0-se-755 ( 755) [004] ...1 157996.843315: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17363 sensors@1.0-se-755 ( 755) [004] ...1 157996.860331: tracing_mark_write: E 17364 SensorService-1249 ( 1136) [000] ...1 157996.861075: tracing_mark_write: E 17365 SensorService-1249 ( 1136) [000] ...1 157996.861290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17366 sensors@1.0-se-755 ( 755) [004] ...1 157996.861911: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17367 sensors@1.0-se-755 ( 755) [004] ...1 157996.880959: tracing_mark_write: E 17368 SensorService-1249 ( 1136) [000] ...1 157996.881640: tracing_mark_write: E 17369 SensorService-1249 ( 1136) [000] ...1 157996.881838: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17370 sensors@1.0-se-755 ( 755) [004] ...1 157996.883995: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17371 sensors@1.0-se-755 ( 755) [004] ...1 157996.906213: tracing_mark_write: E 17372 SensorService-1249 ( 1136) [000] ...1 157996.908161: tracing_mark_write: E 17373 SensorService-1249 ( 1136) [000] ...1 157996.908562: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17374 sensors@1.0-se-755 ( 755) [004] ...1 157996.910199: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17375 sensors@1.0-se-755 ( 755) [004] ...1 157996.921757: tracing_mark_write: E 17376 SensorService-1249 ( 1136) [000] ...1 157996.921997: tracing_mark_write: E 17377 SensorService-1249 ( 1136) [000] ...1 157996.922141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17378 sensors@1.0-se-755 ( 755) [004] ...1 157996.922645: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17379 sensors@1.0-se-755 ( 755) [006] ...1 157996.942114: tracing_mark_write: E 17380 SensorService-1249 ( 1136) [000] ...1 157996.942668: tracing_mark_write: E 17381 SensorService-1249 ( 1136) [000] ...1 157996.943026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17382 sensors@1.0-se-755 ( 755) [006] ...1 157996.945385: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17383 sensors@1.0-se-755 ( 755) [004] ...1 157996.961078: tracing_mark_write: E 17384 SensorService-1249 ( 1136) [000] ...1 157996.961341: tracing_mark_write: E 17385 SensorService-1249 ( 1136) [000] ...1 157996.961526: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17386 sensors@1.0-se-755 ( 755) [004] ...1 157996.962658: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17387 sensors@1.0-se-755 ( 755) [004] ...1 157996.983038: tracing_mark_write: E 17388 SensorService-1249 ( 1136) [000] ...1 157996.985169: tracing_mark_write: E 17389 SensorService-1249 ( 1136) [000] ...1 157996.985436: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17390 sensors@1.0-se-755 ( 755) [004] ...1 157996.987050: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17391 sensors@1.0-se-755 ( 755) [004] ...1 157997.001686: tracing_mark_write: E 17392 SensorService-1249 ( 1136) [000] ...1 157997.001954: tracing_mark_write: E 17393 SensorService-1249 ( 1136) [000] ...1 157997.002140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17394 sensors@1.0-se-755 ( 755) [004] ...1 157997.002739: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17395 sensors@1.0-se-755 ( 755) [004] ...1 157997.025124: tracing_mark_write: E 17396 SensorService-1249 ( 1136) [000] ...1 157997.025390: tracing_mark_write: E 17397 SensorService-1249 ( 1136) [000] ...1 157997.025610: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17398 sensors@1.0-se-755 ( 755) [004] ...1 157997.026820: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17399 sensors@1.0-se-755 ( 755) [004] ...1 157997.043690: tracing_mark_write: E 17400 SensorService-1249 ( 1136) [001] ...1 157997.044063: tracing_mark_write: E 17401 SensorService-1249 ( 1136) [001] ...1 157997.044494: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17402 sensors@1.0-se-755 ( 755) [004] ...1 157997.046813: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17403 sensors@1.0-se-755 ( 755) [004] ...1 157997.061024: tracing_mark_write: E 17404 SensorService-1249 ( 1136) [001] ...1 157997.061217: tracing_mark_write: E 17405 SensorService-1249 ( 1136) [001] ...1 157997.061353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17406 sensors@1.0-se-755 ( 755) [004] ...1 157997.061781: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17407 sensors@1.0-se-755 ( 755) [004] ...1 157997.080491: tracing_mark_write: E 17408 SensorService-1249 ( 1136) [001] ...1 157997.080686: tracing_mark_write: E 17409 SensorService-1249 ( 1136) [001] ...1 157997.080827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17410 sensors@1.0-se-755 ( 755) [004] ...1 157997.081634: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17411 sensors@1.0-se-755 ( 755) [004] ...1 157997.100293: tracing_mark_write: E 17412 SensorService-1249 ( 1136) [001] ...1 157997.100475: tracing_mark_write: E 17413 SensorService-1249 ( 1136) [001] ...1 157997.100605: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17414 sensors@1.0-se-755 ( 755) [004] ...1 157997.101309: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17415 sensors@1.0-se-755 ( 755) [004] ...1 157997.122735: tracing_mark_write: E 17416 SensorService-1249 ( 1136) [001] ...1 157997.123185: tracing_mark_write: E 17417 SensorService-1249 ( 1136) [001] ...1 157997.123563: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17418 sensors@1.0-se-755 ( 755) [004] ...1 157997.125812: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17419 sensors@1.0-se-755 ( 755) [004] ...1 157997.141398: tracing_mark_write: E 17420 SensorService-1249 ( 1136) [001] ...1 157997.142032: tracing_mark_write: E 17421 SensorService-1249 ( 1136) [001] ...1 157997.142253: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17422 sensors@1.0-se-755 ( 755) [004] ...1 157997.143291: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17423 sensors@1.0-se-755 ( 755) [004] ...1 157997.161028: tracing_mark_write: E 17424 SensorService-1249 ( 1136) [001] ...1 157997.161567: tracing_mark_write: E 17425 SensorService-1249 ( 1136) [001] ...1 157997.161769: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17426 sensors@1.0-se-755 ( 755) [004] ...1 157997.162373: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17427 sensors@1.0-se-755 ( 755) [004] ...1 157997.180453: tracing_mark_write: E 17428 SensorService-1249 ( 1136) [001] ...1 157997.180817: tracing_mark_write: E 17429 SensorService-1249 ( 1136) [001] ...1 157997.181074: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17430 sensors@1.0-se-755 ( 755) [004] ...1 157997.181668: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17431 sensors@1.0-se-755 ( 755) [004] ...1 157997.200350: tracing_mark_write: E 17432 SensorService-1249 ( 1136) [001] ...1 157997.200536: tracing_mark_write: E 17433 SensorService-1249 ( 1136) [001] ...1 157997.200706: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17434 sensors@1.0-se-755 ( 755) [004] ...1 157997.201272: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17435 sensors@1.0-se-755 ( 755) [004] ...1 157997.221387: tracing_mark_write: E 17436 SensorService-1249 ( 1136) [001] ...1 157997.221851: tracing_mark_write: E 17437 SensorService-1249 ( 1136) [001] ...1 157997.222039: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17438 sensors@1.0-se-755 ( 755) [004] ...1 157997.222395: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17439 sensors@1.0-se-755 ( 755) [004] ...1 157997.240366: tracing_mark_write: E 17440 SensorService-1249 ( 1136) [001] ...1 157997.240865: tracing_mark_write: E 17441 SensorService-1249 ( 1136) [001] ...1 157997.241095: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17442 sensors@1.0-se-755 ( 755) [004] ...1 157997.241677: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17443 sensors@1.0-se-755 ( 755) [004] ...1 157997.261056: tracing_mark_write: E 17444 SensorService-1249 ( 1136) [001] ...1 157997.261592: tracing_mark_write: E 17445 SensorService-1249 ( 1136) [001] ...1 157997.261792: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17446 sensors@1.0-se-755 ( 755) [004] ...1 157997.262011: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17447 sensors@1.0-se-755 ( 755) [004] ...1 157997.281354: tracing_mark_write: E 17448 SensorService-1249 ( 1136) [001] ...1 157997.282001: tracing_mark_write: E 17449 SensorService-1249 ( 1136) [001] ...1 157997.282327: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17450 sensors@1.0-se-755 ( 755) [004] ...1 157997.282947: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17451 sensors@1.0-se-755 ( 755) [004] ...1 157997.301466: tracing_mark_write: E 17452 SensorService-1249 ( 1136) [001] ...1 157997.301808: tracing_mark_write: E 17453 SensorService-1249 ( 1136) [001] ...1 157997.302021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17454 sensors@1.0-se-755 ( 755) [004] ...1 157997.303146: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17455 sensors@1.0-se-755 ( 755) [004] ...1 157997.321826: tracing_mark_write: E 17456 SensorService-1249 ( 1136) [001] ...1 157997.322549: tracing_mark_write: E 17457 SensorService-1249 ( 1136) [001] ...1 157997.322934: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17458 sensors@1.0-se-755 ( 755) [004] ...1 157997.325049: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17459 sensors@1.0-se-755 ( 755) [004] ...1 157997.341837: tracing_mark_write: E 17460 SensorService-1249 ( 1136) [001] ...1 157997.342058: tracing_mark_write: E 17461 SensorService-1249 ( 1136) [001] ...1 157997.342215: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17462 sensors@1.0-se-755 ( 755) [004] ...1 157997.343134: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17463 sensors@1.0-se-755 ( 755) [004] ...1 157997.362501: tracing_mark_write: E 17464 SensorService-1249 ( 1136) [001] ...1 157997.362766: tracing_mark_write: E 17465 SensorService-1249 ( 1136) [001] ...1 157997.362950: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17466 sensors@1.0-se-755 ( 755) [004] ...1 157997.364415: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17467 sensors@1.0-se-755 ( 755) [004] ...1 157997.382110: tracing_mark_write: E 17468 SensorService-1249 ( 1136) [001] ...1 157997.382627: tracing_mark_write: E 17469 SensorService-1249 ( 1136) [001] ...1 157997.382846: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17470 sensors@1.0-se-755 ( 755) [004] ...1 157997.384019: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17471 sensors@1.0-se-755 ( 755) [004] ...1 157997.401397: tracing_mark_write: E 17472 SensorService-1249 ( 1136) [001] ...1 157997.401670: tracing_mark_write: E 17473 SensorService-1249 ( 1136) [001] ...1 157997.401861: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17474 sensors@1.0-se-755 ( 755) [004] ...1 157997.403196: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17475 sensors@1.0-se-755 ( 755) [004] ...1 157997.424063: tracing_mark_write: E 17476 SensorService-1249 ( 1136) [001] ...1 157997.424725: tracing_mark_write: E 17477 SensorService-1249 ( 1136) [001] ...1 157997.425077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17478 sensors@1.0-se-755 ( 755) [004] ...1 157997.427389: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17479 sensors@1.0-se-755 ( 755) [004] ...1 157997.441975: tracing_mark_write: E 17480 SensorService-1249 ( 1136) [001] ...1 157997.442425: tracing_mark_write: E 17481 SensorService-1249 ( 1136) [001] ...1 157997.442738: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17482 sensors@1.0-se-755 ( 755) [004] ...1 157997.444093: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17483 sensors@1.0-se-755 ( 755) [004] ...1 157997.463154: tracing_mark_write: E 17484 SensorService-1249 ( 1136) [001] ...1 157997.463566: tracing_mark_write: E 17485 SensorService-1249 ( 1136) [001] ...1 157997.463873: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17486 sensors@1.0-se-755 ( 755) [004] ...1 157997.465190: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17487 sensors@1.0-se-755 ( 755) [004] ...1 157997.481519: tracing_mark_write: E 17488 SensorService-1249 ( 1136) [001] ...1 157997.482121: tracing_mark_write: E 17489 SensorService-1249 ( 1136) [001] ...1 157997.482376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17490 sensors@1.0-se-755 ( 755) [004] ...1 157997.484543: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17491 sensors@1.0-se-755 ( 755) [004] ...1 157997.502567: tracing_mark_write: E 17492 SensorService-1249 ( 1136) [001] ...1 157997.502989: tracing_mark_write: E 17493 SensorService-1249 ( 1136) [001] ...1 157997.503323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17494 sensors@1.0-se-755 ( 755) [004] ...1 157997.504730: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17495 sensors@1.0-se-755 ( 755) [004] ...1 157997.522248: tracing_mark_write: E 17496 SensorService-1249 ( 1136) [001] ...1 157997.522806: tracing_mark_write: E 17497 SensorService-1249 ( 1136) [001] ...1 157997.523016: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17498 sensors@1.0-se-755 ( 755) [004] ...1 157997.525067: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17499 sensors@1.0-se-755 ( 755) [004] ...1 157997.542038: tracing_mark_write: E 17500 SensorService-1249 ( 1136) [001] ...1 157997.542323: tracing_mark_write: E 17501 SensorService-1249 ( 1136) [001] ...1 157997.542562: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17502 sensors@1.0-se-755 ( 755) [004] ...1 157997.543843: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17503 sensors@1.0-se-755 ( 755) [004] ...1 157997.562769: tracing_mark_write: E 17504 SensorService-1249 ( 1136) [001] ...1 157997.563553: tracing_mark_write: E 17505 SensorService-1249 ( 1136) [001] ...1 157997.563906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17506 sensors@1.0-se-755 ( 755) [004] ...1 157997.565763: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17507 sensors@1.0-se-755 ( 755) [004] ...1 157997.582033: tracing_mark_write: E 17508 SensorService-1249 ( 1136) [001] ...1 157997.584200: tracing_mark_write: E 17509 SensorService-1249 ( 1136) [001] ...1 157997.584859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17510 sensors@1.0-se-755 ( 755) [004] ...1 157997.586771: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17511 sensors@1.0-se-755 ( 755) [004] ...1 157997.601562: tracing_mark_write: E 17512 SensorService-1249 ( 1136) [001] ...1 157997.601966: tracing_mark_write: E 17513 SensorService-1249 ( 1136) [001] ...1 157997.602132: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17514 sensors@1.0-se-755 ( 755) [004] ...1 157997.602620: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17515 sensors@1.0-se-755 ( 755) [004] ...1 157997.622407: tracing_mark_write: E 17516 SensorService-1249 ( 1136) [001] ...1 157997.622590: tracing_mark_write: E 17517 SensorService-1249 ( 1136) [001] ...1 157997.622782: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17518 sensors@1.0-se-755 ( 755) [004] ...1 157997.622936: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17519 sensors@1.0-se-755 ( 755) [004] ...1 157997.641617: tracing_mark_write: E 17520 SensorService-1249 ( 1136) [001] ...1 157997.641860: tracing_mark_write: E 17521 SensorService-1249 ( 1136) [001] ...1 157997.642079: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17522 sensors@1.0-se-755 ( 755) [004] ...1 157997.642328: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17523 sensors@1.0-se-755 ( 755) [004] ...1 157997.661794: tracing_mark_write: E 17524 SensorService-1249 ( 1136) [001] ...1 157997.662184: tracing_mark_write: E 17525 SensorService-1249 ( 1136) [001] ...1 157997.662376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17526 sensors@1.0-se-755 ( 755) [004] ...1 157997.662999: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17527 sensors@1.0-se-755 ( 755) [004] ...1 157997.680785: tracing_mark_write: E 17528 SensorService-1249 ( 1136) [001] ...1 157997.681153: tracing_mark_write: E 17529 SensorService-1249 ( 1136) [001] ...1 157997.681312: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17530 sensors@1.0-se-755 ( 755) [004] ...1 157997.681500: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17531 sensors@1.0-se-755 ( 755) [004] ...1 157997.701512: tracing_mark_write: E 17532 SensorService-1249 ( 1136) [001] ...1 157997.701714: tracing_mark_write: E 17533 SensorService-1249 ( 1136) [001] ...1 157997.701864: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17534 sensors@1.0-se-755 ( 755) [004] ...1 157997.703047: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17535 sensors@1.0-se-755 ( 755) [004] ...1 157997.721572: tracing_mark_write: E 17536 SensorService-1249 ( 1136) [001] ...1 157997.721808: tracing_mark_write: E 17537 SensorService-1249 ( 1136) [001] ...1 157997.722008: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17538 sensors@1.0-se-755 ( 755) [004] ...1 157997.722963: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17539 sensors@1.0-se-755 ( 755) [004] ...1 157997.741163: tracing_mark_write: E 17540 SensorService-1249 ( 1136) [001] ...1 157997.741574: tracing_mark_write: E 17541 SensorService-1249 ( 1136) [001] ...1 157997.741774: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17542 sensors@1.0-se-755 ( 755) [004] ...1 157997.742845: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17543 sensors@1.0-se-755 ( 755) [004] ...1 157997.762570: tracing_mark_write: E 17544 SensorService-1249 ( 1136) [001] ...1 157997.763245: tracing_mark_write: E 17545 SensorService-1249 ( 1136) [001] ...1 157997.763424: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17546 sensors@1.0-se-755 ( 755) [004] ...1 157997.765271: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17547 sensors@1.0-se-755 ( 755) [004] ...1 157997.781868: tracing_mark_write: E 17548 SensorService-1249 ( 1136) [001] ...1 157997.782513: tracing_mark_write: E 17549 SensorService-1249 ( 1136) [001] ...1 157997.782733: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17550 sensors@1.0-se-755 ( 755) [004] ...1 157997.784786: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17551 sensors@1.0-se-755 ( 755) [004] ...1 157997.802492: tracing_mark_write: E 17552 SensorService-1249 ( 1136) [001] ...1 157997.803344: tracing_mark_write: E 17553 SensorService-1249 ( 1136) [001] ...1 157997.803677: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17554 sensors@1.0-se-755 ( 755) [004] ...1 157997.806034: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17555 sensors@1.0-se-755 ( 755) [004] ...1 157997.821952: tracing_mark_write: E 17556 SensorService-1249 ( 1136) [001] ...1 157997.822227: tracing_mark_write: E 17557 SensorService-1249 ( 1136) [001] ...1 157997.822428: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17558 sensors@1.0-se-755 ( 755) [004] ...1 157997.823655: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17559 sensors@1.0-se-755 ( 755) [004] ...1 157997.843144: tracing_mark_write: E 17560 SensorService-1249 ( 1136) [001] ...1 157997.843866: tracing_mark_write: E 17561 SensorService-1249 ( 1136) [001] ...1 157997.844181: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17562 sensors@1.0-se-755 ( 755) [004] ...1 157997.846615: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17563 sensors@1.0-se-755 ( 755) [004] ...1 157997.862507: tracing_mark_write: E 17564 SensorService-1249 ( 1136) [001] ...1 157997.862775: tracing_mark_write: E 17565 SensorService-1249 ( 1136) [001] ...1 157997.862963: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17566 sensors@1.0-se-755 ( 755) [004] ...1 157997.864199: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17567 sensors@1.0-se-755 ( 755) [004] ...1 157997.884478: tracing_mark_write: E 17568 SensorService-1249 ( 1136) [001] ...1 157997.885548: tracing_mark_write: E 17569 SensorService-1249 ( 1136) [001] ...1 157997.885916: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17570 sensors@1.0-se-755 ( 755) [004] ...1 157997.887979: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17571 sensors@1.0-se-755 ( 755) [004] ...1 157997.902052: tracing_mark_write: E 17572 SensorService-1249 ( 1136) [001] ...1 157997.902433: tracing_mark_write: E 17573 SensorService-1249 ( 1136) [001] ...1 157997.902758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17574 sensors@1.0-se-755 ( 755) [004] ...1 157997.905144: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17575 sensors@1.0-se-755 ( 755) [004] ...1 157997.928442: tracing_mark_write: E 17576 SensorService-1249 ( 1136) [001] ...1 157997.928882: tracing_mark_write: E 17577 SensorService-1249 ( 1136) [001] ...1 157997.929262: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17578 sensors@1.0-se-755 ( 755) [004] ...1 157997.931600: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17579 sensors@1.0-se-755 ( 755) [004] ...1 157997.941561: tracing_mark_write: E 17580 SensorService-1249 ( 1136) [001] ...1 157997.941950: tracing_mark_write: E 17581 SensorService-1249 ( 1136) [001] ...1 157997.942290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17582 sensors@1.0-se-755 ( 755) [004] ...1 157997.944685: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17583 sensors@1.0-se-755 ( 755) [004] ...1 157997.964922: tracing_mark_write: E 17584 SensorService-1249 ( 1136) [001] ...1 157997.965120: tracing_mark_write: E 17585 SensorService-1249 ( 1136) [001] ...1 157997.965269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17586 sensors@1.0-se-755 ( 755) [004] ...1 157997.966252: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17587 sensors@1.0-se-755 ( 755) [004] ...1 157997.982216: tracing_mark_write: E 17588 SensorService-1249 ( 1136) [001] ...1 157997.982474: tracing_mark_write: E 17589 SensorService-1249 ( 1136) [001] ...1 157997.982655: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17590 sensors@1.0-se-755 ( 755) [004] ...1 157997.983897: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17591 sensors@1.0-se-755 ( 755) [004] ...1 157998.004703: tracing_mark_write: E 17592 SensorService-1249 ( 1136) [001] ...1 157998.007407: tracing_mark_write: E 17593 SensorService-1249 ( 1136) [001] ...1 157998.007816: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17594 sensors@1.0-se-755 ( 755) [004] ...1 157998.008663: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17595 sensors@1.0-se-755 ( 755) [004] ...1 157998.024651: tracing_mark_write: E 17596 SensorService-1249 ( 1136) [001] ...1 157998.025186: tracing_mark_write: E 17597 SensorService-1249 ( 1136) [001] ...1 157998.025392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17598 sensors@1.0-se-755 ( 755) [004] ...1 157998.027499: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17599 sensors@1.0-se-755 ( 755) [004] ...1 157998.041959: tracing_mark_write: E 17600 SensorService-1249 ( 1136) [001] ...1 157998.042498: tracing_mark_write: E 17601 SensorService-1249 ( 1136) [001] ...1 157998.042693: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17602 sensors@1.0-se-755 ( 755) [004] ...1 157998.043335: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17603 sensors@1.0-se-755 ( 755) [004] ...1 157998.063758: tracing_mark_write: E 17604 SensorService-1249 ( 1136) [001] ...1 157998.064388: tracing_mark_write: E 17605 SensorService-1249 ( 1136) [001] ...1 157998.064595: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17606 sensors@1.0-se-755 ( 755) [004] ...1 157998.065295: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17607 sensors@1.0-se-755 ( 755) [004] ...1 157998.083858: tracing_mark_write: E 17608 SensorService-1249 ( 1136) [001] ...1 157998.084505: tracing_mark_write: E 17609 SensorService-1249 ( 1136) [001] ...1 157998.084890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17610 sensors@1.0-se-755 ( 755) [004] ...1 157998.087091: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17611 sensors@1.0-se-755 ( 755) [004] ...1 157998.105992: tracing_mark_write: E 17612 SensorService-1249 ( 1136) [001] ...1 157998.106788: tracing_mark_write: E 17613 SensorService-1249 ( 1136) [001] ...1 157998.107143: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17614 sensors@1.0-se-755 ( 755) [004] ...1 157998.109223: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17615 sensors@1.0-se-755 ( 755) [004] ...1 157998.123368: tracing_mark_write: E 17616 SensorService-1249 ( 1136) [001] ...1 157998.124172: tracing_mark_write: E 17617 SensorService-1249 ( 1136) [001] ...1 157998.124585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17618 sensors@1.0-se-755 ( 755) [004] ...1 157998.126562: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17619 sensors@1.0-se-755 ( 755) [004] ...1 157998.142469: tracing_mark_write: E 17620 SensorService-1249 ( 1136) [001] ...1 157998.143217: tracing_mark_write: E 17621 SensorService-1249 ( 1136) [001] ...1 157998.143581: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17622 sensors@1.0-se-755 ( 755) [004] ...1 157998.145718: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17623 sensors@1.0-se-755 ( 755) [004] ...1 157998.164517: tracing_mark_write: E 17624 SensorService-1249 ( 1136) [001] ...1 157998.165158: tracing_mark_write: E 17625 SensorService-1249 ( 1136) [001] ...1 157998.165566: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17626 sensors@1.0-se-755 ( 755) [004] ...1 157998.167837: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17627 sensors@1.0-se-755 ( 755) [004] ...1 157998.182432: tracing_mark_write: E 17628 SensorService-1249 ( 1136) [001] ...1 157998.183176: tracing_mark_write: E 17629 SensorService-1249 ( 1136) [001] ...1 157998.183516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17630 sensors@1.0-se-755 ( 755) [004] ...1 157998.185602: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17631 sensors@1.0-se-755 ( 755) [004] ...1 157998.203682: tracing_mark_write: E 17632 SensorService-1249 ( 1136) [001] ...1 157998.204468: tracing_mark_write: E 17633 SensorService-1249 ( 1136) [001] ...1 157998.204872: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17634 sensors@1.0-se-755 ( 755) [004] ...1 157998.206871: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17635 sensors@1.0-se-755 ( 755) [004] ...1 157998.222066: tracing_mark_write: E 17636 SensorService-1249 ( 1136) [001] ...1 157998.222822: tracing_mark_write: E 17637 SensorService-1249 ( 1136) [001] ...1 157998.223158: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17638 sensors@1.0-se-755 ( 755) [004] ...1 157998.225334: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17639 sensors@1.0-se-755 ( 755) [004] ...1 157998.242795: tracing_mark_write: E 17640 SensorService-1249 ( 1136) [001] ...1 157998.243421: tracing_mark_write: E 17641 SensorService-1249 ( 1136) [001] ...1 157998.243615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17642 sensors@1.0-se-755 ( 755) [004] ...1 157998.245676: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17643 sensors@1.0-se-755 ( 755) [004] ...1 157998.263440: tracing_mark_write: E 17644 SensorService-1249 ( 1136) [001] ...1 157998.263962: tracing_mark_write: E 17645 SensorService-1249 ( 1136) [001] ...1 157998.264464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17646 sensors@1.0-se-755 ( 755) [004] ...1 157998.266784: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17647 sensors@1.0-se-755 ( 755) [004] ...1 157998.285288: tracing_mark_write: E 17648 SensorService-1249 ( 1136) [001] ...1 157998.286074: tracing_mark_write: E 17649 SensorService-1249 ( 1136) [001] ...1 157998.286432: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17650 sensors@1.0-se-755 ( 755) [004] ...1 157998.288380: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17651 sensors@1.0-se-755 ( 755) [004] ...1 157998.301963: tracing_mark_write: E 17652 SensorService-1249 ( 1136) [001] ...1 157998.302609: tracing_mark_write: E 17653 SensorService-1249 ( 1136) [001] ...1 157998.302867: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17654 sensors@1.0-se-755 ( 755) [004] ...1 157998.304726: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17655 sensors@1.0-se-755 ( 755) [004] ...1 157998.322038: tracing_mark_write: E 17656 SensorService-1249 ( 1136) [001] ...1 157998.322455: tracing_mark_write: E 17657 SensorService-1249 ( 1136) [001] ...1 157998.322649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17658 sensors@1.0-se-755 ( 755) [004] ...1 157998.322867: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17659 sensors@1.0-se-755 ( 755) [004] ...1 157998.344680: tracing_mark_write: E 17660 SensorService-1249 ( 1136) [001] ...1 157998.345445: tracing_mark_write: E 17661 SensorService-1249 ( 1136) [001] ...1 157998.345839: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17662 sensors@1.0-se-755 ( 755) [004] ...1 157998.347709: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17663 sensors@1.0-se-755 ( 755) [004] ...1 157998.362596: tracing_mark_write: E 17664 SensorService-1249 ( 1136) [001] ...1 157998.363219: tracing_mark_write: E 17665 SensorService-1249 ( 1136) [001] ...1 157998.363478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17666 sensors@1.0-se-755 ( 755) [004] ...1 157998.364017: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17667 sensors@1.0-se-755 ( 755) [004] ...1 157998.382927: tracing_mark_write: E 17668 SensorService-1249 ( 1136) [001] ...1 157998.383244: tracing_mark_write: E 17669 SensorService-1249 ( 1136) [001] ...1 157998.383539: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17670 sensors@1.0-se-755 ( 755) [004] ...1 157998.385846: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17671 sensors@1.0-se-755 ( 755) [004] ...1 157998.403677: tracing_mark_write: E 17672 SensorService-1249 ( 1136) [001] ...1 157998.403977: tracing_mark_write: E 17673 SensorService-1249 ( 1136) [001] ...1 157998.404243: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17674 sensors@1.0-se-755 ( 755) [004] ...1 157998.405398: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17675 sensors@1.0-se-755 ( 755) [004] ...1 157998.422604: tracing_mark_write: E 17676 SensorService-1249 ( 1136) [001] ...1 157998.423306: tracing_mark_write: E 17677 SensorService-1249 ( 1136) [001] ...1 157998.423593: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17678 sensors@1.0-se-755 ( 755) [004] ...1 157998.424376: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17679 sensors@1.0-se-755 ( 755) [004] ...1 157998.441316: tracing_mark_write: E 17680 SensorService-1249 ( 1136) [001] ...1 157998.441522: tracing_mark_write: E 17681 SensorService-1249 ( 1136) [001] ...1 157998.441728: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17682 sensors@1.0-se-755 ( 755) [004] ...1 157998.442341: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17683 sensors@1.0-se-755 ( 755) [004] ...1 157998.463591: tracing_mark_write: E 17684 SensorService-1249 ( 1136) [001] ...1 157998.464097: tracing_mark_write: E 17685 SensorService-1249 ( 1136) [001] ...1 157998.464437: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17686 sensors@1.0-se-755 ( 755) [004] ...1 157998.466369: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17687 sensors@1.0-se-755 ( 755) [004] ...1 157998.482917: tracing_mark_write: E 17688 SensorService-1249 ( 1136) [001] ...1 157998.483496: tracing_mark_write: E 17689 SensorService-1249 ( 1136) [001] ...1 157998.483701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17690 sensors@1.0-se-755 ( 755) [004] ...1 157998.485712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17691 sensors@1.0-se-755 ( 755) [004] ...1 157998.503697: tracing_mark_write: E 17692 SensorService-1249 ( 1136) [001] ...1 157998.504393: tracing_mark_write: E 17693 SensorService-1249 ( 1136) [001] ...1 157998.504639: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17694 sensors@1.0-se-755 ( 755) [004] ...1 157998.506760: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17695 sensors@1.0-se-755 ( 755) [004] ...1 157998.523755: tracing_mark_write: E 17696 SensorService-1249 ( 1136) [001] ...1 157998.524379: tracing_mark_write: E 17697 SensorService-1249 ( 1136) [001] ...1 157998.524623: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17698 sensors@1.0-se-755 ( 755) [004] ...1 157998.526605: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17699 sensors@1.0-se-755 ( 755) [004] ...1 157998.543325: tracing_mark_write: E 17700 SensorService-1249 ( 1136) [001] ...1 157998.543581: tracing_mark_write: E 17701 SensorService-1249 ( 1136) [001] ...1 157998.543795: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17702 sensors@1.0-se-755 ( 755) [004] ...1 157998.545022: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17703 sensors@1.0-se-755 ( 755) [004] ...1 157998.563409: tracing_mark_write: E 17704 SensorService-1249 ( 1136) [001] ...1 157998.563673: tracing_mark_write: E 17705 SensorService-1249 ( 1136) [001] ...1 157998.563890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17706 sensors@1.0-se-755 ( 755) [004] ...1 157998.565141: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17707 sensors@1.0-se-755 ( 755) [004] ...1 157998.582228: tracing_mark_write: E 17708 SensorService-1249 ( 1136) [001] ...1 157998.582862: tracing_mark_write: E 17709 SensorService-1249 ( 1136) [001] ...1 157998.583124: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17710 sensors@1.0-se-755 ( 755) [004] ...1 157998.583397: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17711 sensors@1.0-se-755 ( 755) [004] ...1 157998.601585: tracing_mark_write: E 17712 SensorService-1249 ( 1136) [001] ...1 157998.602118: tracing_mark_write: E 17713 SensorService-1249 ( 1136) [001] ...1 157998.602332: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17714 sensors@1.0-se-755 ( 755) [004] ...1 157998.602537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17715 sensors@1.0-se-755 ( 755) [004] ...1 157998.622896: tracing_mark_write: E 17716 SensorService-1249 ( 1136) [001] ...1 157998.623422: tracing_mark_write: E 17717 SensorService-1249 ( 1136) [001] ...1 157998.623628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17718 sensors@1.0-se-755 ( 755) [004] ...1 157998.625659: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17719 sensors@1.0-se-755 ( 755) [004] ...1 157998.642993: tracing_mark_write: E 17720 SensorService-1249 ( 1136) [001] ...1 157998.643566: tracing_mark_write: E 17721 SensorService-1249 ( 1136) [001] ...1 157998.643767: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17722 sensors@1.0-se-755 ( 755) [004] ...1 157998.644855: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17723 sensors@1.0-se-755 ( 755) [004] ...1 157998.662666: tracing_mark_write: E 17724 SensorService-1249 ( 1136) [001] ...1 157998.663213: tracing_mark_write: E 17725 SensorService-1249 ( 1136) [001] ...1 157998.663439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17726 sensors@1.0-se-755 ( 755) [004] ...1 157998.664112: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17727 sensors@1.0-se-755 ( 755) [004] ...1 157998.682764: tracing_mark_write: E 17728 SensorService-1249 ( 1136) [001] ...1 157998.683043: tracing_mark_write: E 17729 SensorService-1249 ( 1136) [001] ...1 157998.683261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17730 sensors@1.0-se-755 ( 755) [004] ...1 157998.684028: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17731 sensors@1.0-se-755 ( 755) [004] ...1 157998.702918: tracing_mark_write: E 17732 SensorService-1249 ( 1136) [001] ...1 157998.703191: tracing_mark_write: E 17733 SensorService-1249 ( 1136) [001] ...1 157998.703412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17734 sensors@1.0-se-755 ( 755) [004] ...1 157998.704669: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17735 sensors@1.0-se-755 ( 755) [004] ...1 157998.723772: tracing_mark_write: E 17736 SensorService-1249 ( 1136) [001] ...1 157998.724574: tracing_mark_write: E 17737 SensorService-1249 ( 1136) [001] ...1 157998.724987: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17738 sensors@1.0-se-755 ( 755) [004] ...1 157998.726058: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17739 sensors@1.0-se-755 ( 755) [004] ...1 157998.742264: tracing_mark_write: E 17740 SensorService-1249 ( 1136) [001] ...1 157998.742828: tracing_mark_write: E 17741 SensorService-1249 ( 1136) [001] ...1 157998.743063: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17742 sensors@1.0-se-755 ( 755) [004] ...1 157998.743354: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17743 sensors@1.0-se-755 ( 755) [004] ...1 157998.762269: tracing_mark_write: E 17744 SensorService-1249 ( 1136) [001] ...1 157998.762804: tracing_mark_write: E 17745 SensorService-1249 ( 1136) [001] ...1 157998.763024: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17746 sensors@1.0-se-755 ( 755) [004] ...1 157998.763221: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17747 sensors@1.0-se-755 ( 755) [004] ...1 157998.782209: tracing_mark_write: E 17748 SensorService-1249 ( 1136) [001] ...1 157998.782477: tracing_mark_write: E 17749 SensorService-1249 ( 1136) [001] ...1 157998.782691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17750 sensors@1.0-se-755 ( 755) [004] ...1 157998.782932: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17751 sensors@1.0-se-755 ( 755) [004] ...1 157998.802618: tracing_mark_write: E 17752 SensorService-1249 ( 1136) [001] ...1 157998.803165: tracing_mark_write: E 17753 SensorService-1249 ( 1136) [001] ...1 157998.803560: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17754 sensors@1.0-se-755 ( 755) [004] ...1 157998.804431: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17755 sensors@1.0-se-755 ( 755) [004] ...1 157998.823098: tracing_mark_write: E 17756 SensorService-1249 ( 1136) [001] ...1 157998.823453: tracing_mark_write: E 17757 SensorService-1249 ( 1136) [001] ...1 157998.823662: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17758 sensors@1.0-se-755 ( 755) [004] ...1 157998.824840: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17759 sensors@1.0-se-755 ( 755) [004] ...1 157998.842294: tracing_mark_write: E 17760 SensorService-1249 ( 1136) [001] ...1 157998.842524: tracing_mark_write: E 17761 SensorService-1249 ( 1136) [001] ...1 157998.842702: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17762 sensors@1.0-se-755 ( 755) [004] ...1 157998.843599: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17763 sensors@1.0-se-755 ( 755) [004] ...1 157998.862826: tracing_mark_write: E 17764 SensorService-1249 ( 1136) [001] ...1 157998.863353: tracing_mark_write: E 17765 SensorService-1249 ( 1136) [001] ...1 157998.863561: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17766 sensors@1.0-se-755 ( 755) [004] ...1 157998.864199: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17767 sensors@1.0-se-755 ( 755) [004] ...1 157998.881648: tracing_mark_write: E 17768 SensorService-1249 ( 1136) [001] ...1 157998.881991: tracing_mark_write: E 17769 SensorService-1249 ( 1136) [001] ...1 157998.882151: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17770 sensors@1.0-se-755 ( 755) [004] ...1 157998.882330: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17771 sensors@1.0-se-755 ( 755) [004] ...1 157998.902476: tracing_mark_write: E 17772 SensorService-1249 ( 1136) [001] ...1 157998.902968: tracing_mark_write: E 17773 SensorService-1249 ( 1136) [001] ...1 157998.903173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17774 sensors@1.0-se-755 ( 755) [004] ...1 157998.903758: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17775 sensors@1.0-se-755 ( 755) [004] ...1 157998.922183: tracing_mark_write: E 17776 SensorService-1249 ( 1136) [001] ...1 157998.922784: tracing_mark_write: E 17777 SensorService-1249 ( 1136) [001] ...1 157998.922996: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17778 sensors@1.0-se-755 ( 755) [004] ...1 157998.923378: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17779 sensors@1.0-se-755 ( 755) [004] ...1 157998.943594: tracing_mark_write: E 17780 SensorService-1249 ( 1136) [001] ...1 157998.944147: tracing_mark_write: E 17781 SensorService-1249 ( 1136) [001] ...1 157998.944398: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17782 sensors@1.0-se-755 ( 755) [004] ...1 157998.946371: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17783 sensors@1.0-se-755 ( 755) [004] ...1 157998.963604: tracing_mark_write: E 17784 SensorService-1249 ( 1136) [001] ...1 157998.964094: tracing_mark_write: E 17785 SensorService-1249 ( 1136) [001] ...1 157998.964347: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17786 sensors@1.0-se-755 ( 755) [004] ...1 157998.966452: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17787 sensors@1.0-se-755 ( 755) [004] ...1 157998.982142: tracing_mark_write: E 17788 SensorService-1249 ( 1136) [001] ...1 157998.982570: tracing_mark_write: E 17789 SensorService-1249 ( 1136) [001] ...1 157998.982764: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17790 sensors@1.0-se-755 ( 755) [004] ...1 157998.984068: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17791 sensors@1.0-se-755 ( 755) [004] ...1 157999.005522: tracing_mark_write: E 17792 SensorService-1249 ( 1136) [001] ...1 157999.005924: tracing_mark_write: E 17793 SensorService-1249 ( 1136) [001] ...1 157999.006278: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17794 sensors@1.0-se-755 ( 755) [004] ...1 157999.008541: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17795 sensors@1.0-se-755 ( 755) [004] ...1 157999.023116: tracing_mark_write: E 17796 SensorService-1249 ( 1136) [001] ...1 157999.023690: tracing_mark_write: E 17797 SensorService-1249 ( 1136) [001] ...1 157999.023886: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17798 sensors@1.0-se-755 ( 755) [004] ...1 157999.025897: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17799 sensors@1.0-se-755 ( 755) [004] ...1 157999.043654: tracing_mark_write: E 17800 SensorService-1249 ( 1136) [001] ...1 157999.044064: tracing_mark_write: E 17801 SensorService-1249 ( 1136) [001] ...1 157999.044503: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17802 sensors@1.0-se-755 ( 755) [004] ...1 157999.046786: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17803 sensors@1.0-se-755 ( 755) [004] ...1 157999.064062: tracing_mark_write: E 17804 SensorService-1249 ( 1136) [001] ...1 157999.064574: tracing_mark_write: E 17805 SensorService-1249 ( 1136) [001] ...1 157999.064910: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17806 sensors@1.0-se-755 ( 755) [004] ...1 157999.067303: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17807 sensors@1.0-se-755 ( 755) [004] ...1 157999.083748: tracing_mark_write: E 17808 SensorService-1249 ( 1136) [001] ...1 157999.084473: tracing_mark_write: E 17809 SensorService-1249 ( 1136) [001] ...1 157999.084805: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17810 sensors@1.0-se-755 ( 755) [004] ...1 157999.086996: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17811 sensors@1.0-se-755 ( 755) [004] ...1 157999.106845: tracing_mark_write: E 17812 SensorService-1249 ( 1136) [001] ...1 157999.107817: tracing_mark_write: E 17813 SensorService-1249 ( 1136) [001] ...1 157999.108217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17814 sensors@1.0-se-755 ( 755) [004] ...1 157999.110236: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17815 sensors@1.0-se-755 ( 755) [004] ...1 157999.124414: tracing_mark_write: E 17816 SensorService-1249 ( 1136) [001] ...1 157999.125031: tracing_mark_write: E 17817 SensorService-1249 ( 1136) [001] ...1 157999.125385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17818 sensors@1.0-se-755 ( 755) [004] ...1 157999.127413: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17819 sensors@1.0-se-755 ( 755) [004] ...1 157999.145341: tracing_mark_write: E 17820 SensorService-1249 ( 1136) [001] ...1 157999.146264: tracing_mark_write: E 17821 SensorService-1249 ( 1136) [001] ...1 157999.146696: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17822 sensors@1.0-se-755 ( 755) [004] ...1 157999.148671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17823 sensors@1.0-se-755 ( 755) [004] ...1 157999.164416: tracing_mark_write: E 17824 SensorService-1249 ( 1136) [001] ...1 157999.165148: tracing_mark_write: E 17825 SensorService-1249 ( 1136) [001] ...1 157999.165531: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17826 sensors@1.0-se-755 ( 755) [004] ...1 157999.167878: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17827 sensors@1.0-se-755 ( 755) [004] ...1 157999.187874: tracing_mark_write: E 17828 SensorService-1249 ( 1136) [001] ...1 157999.190192: tracing_mark_write: E 17829 SensorService-1249 ( 1136) [001] ...1 157999.191172: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17830 sensors@1.0-se-755 ( 755) [004] ...1 157999.193220: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17831 sensors@1.0-se-755 ( 755) [004] ...1 157999.203372: tracing_mark_write: E 17832 SensorService-1249 ( 1136) [001] ...1 157999.203640: tracing_mark_write: E 17833 SensorService-1249 ( 1136) [001] ...1 157999.203833: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17834 sensors@1.0-se-755 ( 755) [004] ...1 157999.205079: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17835 sensors@1.0-se-755 ( 755) [004] ...1 157999.224082: tracing_mark_write: E 17836 SensorService-1249 ( 1136) [001] ...1 157999.224588: tracing_mark_write: E 17837 SensorService-1249 ( 1136) [001] ...1 157999.224888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17838 sensors@1.0-se-755 ( 755) [004] ...1 157999.226079: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17839 sensors@1.0-se-755 ( 755) [004] ...1 157999.246219: tracing_mark_write: E 17840 SensorService-1249 ( 1136) [001] ...1 157999.246675: tracing_mark_write: E 17841 SensorService-1249 ( 1136) [001] ...1 157999.247045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17842 sensors@1.0-se-755 ( 755) [004] ...1 157999.249372: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17843 sensors@1.0-se-755 ( 755) [004] ...1 157999.263863: tracing_mark_write: E 17844 SensorService-1249 ( 1136) [001] ...1 157999.264128: tracing_mark_write: E 17845 SensorService-1249 ( 1136) [001] ...1 157999.264417: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17846 sensors@1.0-se-755 ( 755) [004] ...1 157999.265838: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17847 sensors@1.0-se-755 ( 755) [004] ...1 157999.283407: tracing_mark_write: E 17848 SensorService-1249 ( 1136) [001] ...1 157999.285637: tracing_mark_write: E 17849 SensorService-1249 ( 1136) [001] ...1 157999.286011: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17850 sensors@1.0-se-755 ( 755) [004] ...1 157999.287841: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17851 sensors@1.0-se-755 ( 755) [004] ...1 157999.304081: tracing_mark_write: E 17852 SensorService-1249 ( 1136) [001] ...1 157999.304668: tracing_mark_write: E 17853 SensorService-1249 ( 1136) [001] ...1 157999.304865: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17854 sensors@1.0-se-755 ( 755) [004] ...1 157999.306894: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17855 sensors@1.0-se-755 ( 755) [004] ...1 157999.326666: tracing_mark_write: E 17856 SensorService-1249 ( 1136) [001] ...1 157999.327232: tracing_mark_write: E 17857 SensorService-1249 ( 1136) [001] ...1 157999.327448: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17858 sensors@1.0-se-755 ( 755) [004] ...1 157999.329551: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17859 sensors@1.0-se-755 ( 755) [004] ...1 157999.342877: tracing_mark_write: E 17860 SensorService-1249 ( 1136) [001] ...1 157999.343278: tracing_mark_write: E 17861 SensorService-1249 ( 1136) [001] ...1 157999.343434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17862 sensors@1.0-se-755 ( 755) [004] ...1 157999.345558: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17863 sensors@1.0-se-755 ( 755) [004] ...1 157999.365545: tracing_mark_write: E 17864 SensorService-1249 ( 1136) [001] ...1 157999.365947: tracing_mark_write: E 17865 SensorService-1249 ( 1136) [001] ...1 157999.366284: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17866 sensors@1.0-se-755 ( 755) [004] ...1 157999.368729: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17867 sensors@1.0-se-755 ( 755) [004] ...1 157999.384590: tracing_mark_write: E 17868 SensorService-1249 ( 1136) [001] ...1 157999.387380: tracing_mark_write: E 17869 SensorService-1249 ( 1136) [001] ...1 157999.388091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17870 sensors@1.0-se-755 ( 755) [004] ...1 157999.389147: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17871 sensors@1.0-se-755 ( 755) [004] ...1 157999.403923: tracing_mark_write: E 17872 SensorService-1249 ( 1136) [001] ...1 157999.404497: tracing_mark_write: E 17873 SensorService-1249 ( 1136) [001] ...1 157999.404738: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17874 sensors@1.0-se-755 ( 755) [004] ...1 157999.405234: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17875 sensors@1.0-se-755 ( 755) [004] ...1 157999.422964: tracing_mark_write: E 17876 SensorService-1249 ( 1136) [001] ...1 157999.423591: tracing_mark_write: E 17877 SensorService-1249 ( 1136) [001] ...1 157999.423809: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17878 sensors@1.0-se-755 ( 755) [004] ...1 157999.424424: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17879 sensors@1.0-se-755 ( 755) [004] ...1 157999.442692: tracing_mark_write: E 17880 SensorService-1249 ( 1136) [001] ...1 157999.443358: tracing_mark_write: E 17881 SensorService-1249 ( 1136) [001] ...1 157999.443696: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17882 sensors@1.0-se-755 ( 755) [004] ...1 157999.444392: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17883 sensors@1.0-se-755 ( 755) [004] ...1 157999.462500: tracing_mark_write: E 17884 SensorService-1249 ( 1136) [001] ...1 157999.463170: tracing_mark_write: E 17885 SensorService-1249 ( 1136) [001] ...1 157999.463369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17886 sensors@1.0-se-755 ( 755) [004] ...1 157999.465259: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17887 sensors@1.0-se-755 ( 755) [004] ...1 157999.483718: tracing_mark_write: E 17888 SensorService-1249 ( 1136) [001] ...1 157999.483981: tracing_mark_write: E 17889 SensorService-1249 ( 1136) [001] ...1 157999.484273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17890 sensors@1.0-se-755 ( 755) [004] ...1 157999.485508: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17891 sensors@1.0-se-755 ( 755) [004] ...1 157999.503272: tracing_mark_write: E 17892 SensorService-1249 ( 1136) [001] ...1 157999.504337: tracing_mark_write: E 17893 SensorService-1249 ( 1136) [001] ...1 157999.504555: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17894 sensors@1.0-se-755 ( 755) [004] ...1 157999.506228: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17895 sensors@1.0-se-755 ( 755) [004] ...1 157999.524645: tracing_mark_write: E 17896 SensorService-1249 ( 1136) [001] ...1 157999.526759: tracing_mark_write: E 17897 SensorService-1249 ( 1136) [001] ...1 157999.527159: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17898 sensors@1.0-se-755 ( 755) [004] ...1 157999.528854: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17899 sensors@1.0-se-755 ( 755) [004] ...1 157999.543990: tracing_mark_write: E 17900 SensorService-1249 ( 1136) [001] ...1 157999.544529: tracing_mark_write: E 17901 SensorService-1249 ( 1136) [001] ...1 157999.544736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17902 sensors@1.0-se-755 ( 755) [004] ...1 157999.545847: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17903 sensors@1.0-se-755 ( 755) [004] ...1 157999.564467: tracing_mark_write: E 17904 SensorService-1249 ( 1136) [001] ...1 157999.564931: tracing_mark_write: E 17905 SensorService-1249 ( 1136) [001] ...1 157999.565129: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17906 sensors@1.0-se-755 ( 755) [004] ...1 157999.567524: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17907 sensors@1.0-se-755 ( 755) [004] ...1 157999.584139: tracing_mark_write: E 17908 SensorService-1249 ( 1136) [001] ...1 157999.585058: tracing_mark_write: E 17909 SensorService-1249 ( 1136) [001] ...1 157999.585444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17910 sensors@1.0-se-755 ( 755) [004] ...1 157999.587421: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17911 sensors@1.0-se-755 ( 755) [004] ...1 157999.603483: tracing_mark_write: E 17912 SensorService-1249 ( 1136) [001] ...1 157999.603761: tracing_mark_write: E 17913 SensorService-1249 ( 1136) [001] ...1 157999.603965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17914 sensors@1.0-se-755 ( 755) [004] ...1 157999.604765: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17915 sensors@1.0-se-755 ( 755) [004] ...1 157999.624090: tracing_mark_write: E 17916 SensorService-1249 ( 1136) [001] ...1 157999.624808: tracing_mark_write: E 17917 SensorService-1249 ( 1136) [001] ...1 157999.625065: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17918 sensors@1.0-se-755 ( 755) [004] ...1 157999.625345: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17919 sensors@1.0-se-755 ( 755) [004] ...1 157999.643283: tracing_mark_write: E 17920 SensorService-1249 ( 1136) [001] ...1 157999.643473: tracing_mark_write: E 17921 SensorService-1249 ( 1136) [001] ...1 157999.643693: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17922 HwBinder:755_1-1247 ( 755) [002] ...1 157999.644341: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17923 HwBinder:755_1-1247 ( 755) [001] ...1 157999.663856: tracing_mark_write: E 17924 SensorService-1249 ( 1136) [000] ...1 157999.664427: tracing_mark_write: E 17925 SensorService-1249 ( 1136) [000] ...1 157999.664692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17926 HwBinder:755_1-1247 ( 755) [001] ...1 157999.664925: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17927 HwBinder:755_1-1247 ( 755) [001] ...1 157999.683789: tracing_mark_write: E 17928 SensorService-1249 ( 1136) [000] ...1 157999.684112: tracing_mark_write: E 17929 SensorService-1249 ( 1136) [000] ...1 157999.684553: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17930 HwBinder:755_1-1247 ( 755) [001] ...1 157999.684869: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17931 HwBinder:755_1-1247 ( 755) [001] ...1 157999.703129: tracing_mark_write: E 17932 SensorService-1249 ( 1136) [000] ...1 157999.703398: tracing_mark_write: E 17933 SensorService-1249 ( 1136) [000] ...1 157999.703676: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17934 HwBinder:755_1-1247 ( 755) [001] ...1 157999.704106: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17935 HwBinder:755_1-1247 ( 755) [001] ...1 157999.722572: tracing_mark_write: E 17936 SensorService-1249 ( 1136) [000] ...1 157999.722833: tracing_mark_write: E 17937 SensorService-1249 ( 1136) [000] ...1 157999.723097: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17938 HwBinder:755_1-1247 ( 755) [001] ...1 157999.723431: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17939 HwBinder:755_1-1247 ( 755) [001] ...1 157999.744136: tracing_mark_write: E 17940 SensorService-1249 ( 1136) [000] ...1 157999.744749: tracing_mark_write: E 17941 SensorService-1249 ( 1136) [000] ...1 157999.745026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17942 HwBinder:755_1-1247 ( 755) [001] ...1 157999.745323: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17943 HwBinder:755_1-1247 ( 755) [001] ...1 157999.762605: tracing_mark_write: E 17944 SensorService-1249 ( 1136) [000] ...1 157999.762878: tracing_mark_write: E 17945 SensorService-1249 ( 1136) [000] ...1 157999.763231: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17946 HwBinder:755_1-1247 ( 755) [001] ...1 157999.764108: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17947 HwBinder:755_1-1247 ( 755) [001] ...1 157999.783532: tracing_mark_write: E 17948 SensorService-1249 ( 1136) [000] ...1 157999.784191: tracing_mark_write: E 17949 SensorService-1249 ( 1136) [000] ...1 157999.784681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17950 HwBinder:755_1-1247 ( 755) [001] ...1 157999.784889: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17951 HwBinder:755_1-1247 ( 755) [000] ...1 157999.803346: tracing_mark_write: E 17952 SensorService-1249 ( 1136) [006] ...1 157999.805213: tracing_mark_write: E 17953 SensorService-1249 ( 1136) [006] ...1 157999.805483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17954 HwBinder:755_1-1247 ( 755) [000] ...1 157999.805730: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17955 HwBinder:755_1-1247 ( 755) [004] ...1 157999.824808: tracing_mark_write: E 17956 SensorService-1249 ( 1136) [006] ...1 157999.825567: tracing_mark_write: E 17957 SensorService-1249 ( 1136) [006] ...1 157999.825823: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17958 HwBinder:755_1-1247 ( 755) [004] ...1 157999.826443: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17959 HwBinder:755_1-1247 ( 755) [000] ...1 157999.847000: tracing_mark_write: E 17960 SensorService-1249 ( 1136) [006] ...1 157999.848923: tracing_mark_write: E 17961 SensorService-1249 ( 1136) [006] ...1 157999.849355: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17962 sensors@1.0-se-755 ( 755) [004] ...1 157999.850222: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17963 sensors@1.0-se-755 ( 755) [004] ...1 157999.863492: tracing_mark_write: E 17964 SensorService-1249 ( 1136) [006] ...1 157999.864050: tracing_mark_write: E 17965 SensorService-1249 ( 1136) [006] ...1 157999.864411: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17966 sensors@1.0-se-755 ( 755) [004] ...1 157999.865174: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17967 sensors@1.0-se-755 ( 755) [004] ...1 157999.883046: tracing_mark_write: E 17968 SensorService-1249 ( 1136) [006] ...1 157999.883860: tracing_mark_write: E 17969 SensorService-1249 ( 1136) [006] ...1 157999.884200: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17970 sensors@1.0-se-755 ( 755) [004] ...1 157999.884903: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17971 sensors@1.0-se-755 ( 755) [004] ...1 157999.905206: tracing_mark_write: E 17972 SensorService-1249 ( 1136) [006] ...1 157999.905959: tracing_mark_write: E 17973 SensorService-1249 ( 1136) [006] ...1 157999.906320: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17974 sensors@1.0-se-755 ( 755) [004] ...1 157999.906967: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17975 sensors@1.0-se-755 ( 755) [004] ...1 157999.923792: tracing_mark_write: E 17976 SensorService-1249 ( 1136) [006] ...1 157999.924370: tracing_mark_write: E 17977 SensorService-1249 ( 1136) [006] ...1 157999.924657: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17978 sensors@1.0-se-755 ( 755) [004] ...1 157999.925132: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17979 sensors@1.0-se-755 ( 755) [004] ...1 157999.943334: tracing_mark_write: E 17980 SensorService-1249 ( 1136) [006] ...1 157999.943856: tracing_mark_write: E 17981 SensorService-1249 ( 1136) [006] ...1 157999.943997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17982 sensors@1.0-se-755 ( 755) [004] ...1 157999.944537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17983 sensors@1.0-se-755 ( 755) [004] ...1 157999.962366: tracing_mark_write: E 17984 SensorService-1249 ( 1136) [006] ...1 157999.963128: tracing_mark_write: E 17985 SensorService-1249 ( 1136) [006] ...1 157999.963439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17986 sensors@1.0-se-755 ( 755) [004] ...1 157999.964197: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17987 sensors@1.0-se-755 ( 755) [004] ...1 157999.982373: tracing_mark_write: E 17988 SensorService-1249 ( 1136) [006] ...1 157999.982894: tracing_mark_write: E 17989 SensorService-1249 ( 1136) [006] ...1 157999.983074: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17990 sensors@1.0-se-755 ( 755) [004] ...1 157999.983286: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17991 sensors@1.0-se-755 ( 755) [004] ...1 158000.002631: tracing_mark_write: E 17992 SensorService-1249 ( 1136) [006] ...1 158000.003365: tracing_mark_write: E 17993 SensorService-1249 ( 1136) [006] ...1 158000.003672: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17994 sensors@1.0-se-755 ( 755) [004] ...1 158000.003873: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17995 sensors@1.0-se-755 ( 755) [004] ...1 158000.024458: tracing_mark_write: E 17996 SensorService-1249 ( 1136) [006] ...1 158000.025183: tracing_mark_write: E 17997 SensorService-1249 ( 1136) [006] ...1 158000.025496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 17998 sensors@1.0-se-755 ( 755) [004] ...1 158000.026126: tracing_mark_write: B|755|HIDL::ISensors::poll::server 17999 sensors@1.0-se-755 ( 755) [004] ...1 158000.044099: tracing_mark_write: E 18000 SensorService-1249 ( 1136) [006] ...1 158000.044883: tracing_mark_write: E 18001 SensorService-1249 ( 1136) [006] ...1 158000.045200: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18002 sensors@1.0-se-755 ( 755) [004] ...1 158000.045810: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18003 sensors@1.0-se-755 ( 755) [004] ...1 158000.065085: tracing_mark_write: E 18004 SensorService-1249 ( 1136) [006] ...1 158000.065994: tracing_mark_write: E 18005 SensorService-1249 ( 1136) [006] ...1 158000.066421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18006 sensors@1.0-se-755 ( 755) [004] ...1 158000.067191: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18007 sensors@1.0-se-755 ( 755) [004] ...1 158000.084143: tracing_mark_write: E 18008 SensorService-1249 ( 1136) [006] ...1 158000.084988: tracing_mark_write: E 18009 SensorService-1249 ( 1136) [006] ...1 158000.085261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18010 sensors@1.0-se-755 ( 755) [004] ...1 158000.085847: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18011 sensors@1.0-se-755 ( 755) [004] ...1 158000.104064: tracing_mark_write: E 18012 SensorService-1249 ( 1136) [006] ...1 158000.104409: tracing_mark_write: E 18013 SensorService-1249 ( 1136) [006] ...1 158000.104717: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18014 sensors@1.0-se-755 ( 755) [004] ...1 158000.105334: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18015 sensors@1.0-se-755 ( 755) [004] ...1 158000.125091: tracing_mark_write: E 18016 SensorService-1249 ( 1136) [006] ...1 158000.125813: tracing_mark_write: E 18017 SensorService-1249 ( 1136) [006] ...1 158000.126131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18018 sensors@1.0-se-755 ( 755) [004] ...1 158000.126726: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18019 sensors@1.0-se-755 ( 755) [004] ...1 158000.145280: tracing_mark_write: E 18020 SensorService-1249 ( 1136) [006] ...1 158000.146174: tracing_mark_write: E 18021 SensorService-1249 ( 1136) [006] ...1 158000.146576: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18022 sensors@1.0-se-755 ( 755) [004] ...1 158000.147235: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18023 sensors@1.0-se-755 ( 755) [004] ...1 158000.164547: tracing_mark_write: E 18024 SensorService-1249 ( 1136) [006] ...1 158000.164806: tracing_mark_write: E 18025 SensorService-1249 ( 1136) [006] ...1 158000.165069: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18026 sensors@1.0-se-755 ( 755) [004] ...1 158000.165592: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18027 sensors@1.0-se-755 ( 755) [004] ...1 158000.184513: tracing_mark_write: E 18028 SensorService-1249 ( 1136) [006] ...1 158000.185213: tracing_mark_write: E 18029 SensorService-1249 ( 1136) [006] ...1 158000.185522: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18030 sensors@1.0-se-755 ( 755) [004] ...1 158000.186111: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18031 sensors@1.0-se-755 ( 755) [004] ...1 158000.204394: tracing_mark_write: E 18032 SensorService-1249 ( 1136) [006] ...1 158000.205129: tracing_mark_write: E 18033 SensorService-1249 ( 1136) [006] ...1 158000.205444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18034 sensors@1.0-se-755 ( 755) [004] ...1 158000.206034: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18035 sensors@1.0-se-755 ( 755) [004] ...1 158000.228002: tracing_mark_write: E 18036 SensorService-1249 ( 1136) [006] ...1 158000.228904: tracing_mark_write: E 18037 SensorService-1249 ( 1136) [006] ...1 158000.229336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18038 sensors@1.0-se-755 ( 755) [004] ...1 158000.230007: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18039 sensors@1.0-se-755 ( 755) [004] ...1 158000.244092: tracing_mark_write: E 18040 SensorService-1249 ( 1136) [006] ...1 158000.244656: tracing_mark_write: E 18041 SensorService-1249 ( 1136) [006] ...1 158000.245001: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18042 sensors@1.0-se-755 ( 755) [004] ...1 158000.245620: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18043 sensors@1.0-se-755 ( 755) [004] ...1 158000.268923: tracing_mark_write: E 18044 SensorService-1249 ( 1136) [006] ...1 158000.269907: tracing_mark_write: E 18045 SensorService-1249 ( 1136) [006] ...1 158000.270358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18046 sensors@1.0-se-755 ( 755) [004] ...1 158000.271007: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18047 sensors@1.0-se-755 ( 755) [004] ...1 158000.284738: tracing_mark_write: E 18048 SensorService-1249 ( 1136) [006] ...1 158000.285612: tracing_mark_write: E 18049 SensorService-1249 ( 1136) [006] ...1 158000.285928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18050 sensors@1.0-se-755 ( 755) [004] ...1 158000.286559: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18051 sensors@1.0-se-755 ( 755) [004] ...1 158000.304914: tracing_mark_write: E 18052 SensorService-1249 ( 1136) [006] ...1 158000.305907: tracing_mark_write: E 18053 SensorService-1249 ( 1136) [006] ...1 158000.306335: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18054 sensors@1.0-se-755 ( 755) [004] ...1 158000.307011: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18055 sensors@1.0-se-755 ( 755) [004] ...1 158000.325057: tracing_mark_write: E 18056 SensorService-1249 ( 1136) [006] ...1 158000.326011: tracing_mark_write: E 18057 SensorService-1249 ( 1136) [006] ...1 158000.326326: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18058 sensors@1.0-se-755 ( 755) [004] ...1 158000.327016: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18059 sensors@1.0-se-755 ( 755) [004] ...1 158000.343415: tracing_mark_write: E 18060 SensorService-1249 ( 1136) [006] ...1 158000.343901: tracing_mark_write: E 18061 SensorService-1249 ( 1136) [006] ...1 158000.344187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18062 sensors@1.0-se-755 ( 755) [004] ...1 158000.344718: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18063 sensors@1.0-se-755 ( 755) [004] ...1 158000.368253: tracing_mark_write: E 18064 SensorService-1249 ( 1136) [006] ...1 158000.369209: tracing_mark_write: E 18065 SensorService-1249 ( 1136) [006] ...1 158000.369619: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18066 sensors@1.0-se-755 ( 755) [004] ...1 158000.370299: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18067 sensors@1.0-se-755 ( 755) [004] ...1 158000.384989: tracing_mark_write: E 18068 SensorService-1249 ( 1136) [006] ...1 158000.385900: tracing_mark_write: E 18069 SensorService-1249 ( 1136) [006] ...1 158000.386339: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18070 sensors@1.0-se-755 ( 755) [004] ...1 158000.387017: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18071 sensors@1.0-se-755 ( 755) [004] ...1 158000.404956: tracing_mark_write: E 18072 SensorService-1249 ( 1136) [006] ...1 158000.405798: tracing_mark_write: E 18073 SensorService-1249 ( 1136) [006] ...1 158000.406089: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18074 sensors@1.0-se-755 ( 755) [004] ...1 158000.406712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18075 sensors@1.0-se-755 ( 755) [004] ...1 158000.425234: tracing_mark_write: E 18076 SensorService-1249 ( 1136) [006] ...1 158000.426120: tracing_mark_write: E 18077 SensorService-1249 ( 1136) [006] ...1 158000.426439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18078 sensors@1.0-se-755 ( 755) [004] ...1 158000.427048: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18079 sensors@1.0-se-755 ( 755) [004] ...1 158000.445229: tracing_mark_write: E 18080 SensorService-1249 ( 1136) [006] ...1 158000.445994: tracing_mark_write: E 18081 SensorService-1249 ( 1136) [006] ...1 158000.446303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18082 sensors@1.0-se-755 ( 755) [004] ...1 158000.446888: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18083 sensors@1.0-se-755 ( 755) [004] ...1 158000.468997: tracing_mark_write: E 18084 SensorService-1249 ( 1136) [006] ...1 158000.469847: tracing_mark_write: E 18085 SensorService-1249 ( 1136) [006] ...1 158000.470166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18086 sensors@1.0-se-755 ( 755) [004] ...1 158000.471001: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18087 sensors@1.0-se-755 ( 755) [004] ...1 158000.484982: tracing_mark_write: E 18088 SensorService-1249 ( 1136) [006] ...1 158000.485899: tracing_mark_write: E 18089 SensorService-1249 ( 1136) [006] ...1 158000.486336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18090 sensors@1.0-se-755 ( 755) [004] ...1 158000.487063: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18091 sensors@1.0-se-755 ( 755) [004] ...1 158000.505786: tracing_mark_write: E 18092 SensorService-1249 ( 1136) [006] ...1 158000.506767: tracing_mark_write: E 18093 SensorService-1249 ( 1136) [006] ...1 158000.507228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18094 sensors@1.0-se-755 ( 755) [004] ...1 158000.507888: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18095 sensors@1.0-se-755 ( 755) [004] ...1 158000.526531: tracing_mark_write: E 18096 SensorService-1249 ( 1136) [006] ...1 158000.527229: tracing_mark_write: E 18097 SensorService-1249 ( 1136) [006] ...1 158000.527470: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18098 sensors@1.0-se-755 ( 755) [004] ...1 158000.528004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18099 sensors@1.0-se-755 ( 755) [004] ...1 158000.545990: tracing_mark_write: E 18100 SensorService-1249 ( 1136) [006] ...1 158000.546911: tracing_mark_write: E 18101 SensorService-1249 ( 1136) [006] ...1 158000.547340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18102 sensors@1.0-se-755 ( 755) [004] ...1 158000.548065: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18103 sensors@1.0-se-755 ( 755) [004] ...1 158000.569328: tracing_mark_write: E 18104 SensorService-1249 ( 1136) [006] ...1 158000.570071: tracing_mark_write: E 18105 SensorService-1249 ( 1136) [006] ...1 158000.570378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18106 sensors@1.0-se-755 ( 755) [004] ...1 158000.571000: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18107 sensors@1.0-se-755 ( 755) [004] ...1 158000.584990: tracing_mark_write: E 18108 SensorService-1249 ( 1136) [006] ...1 158000.585885: tracing_mark_write: E 18109 SensorService-1249 ( 1136) [006] ...1 158000.586203: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18110 sensors@1.0-se-755 ( 755) [004] ...1 158000.586821: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18111 sensors@1.0-se-755 ( 755) [004] ...1 158000.611630: tracing_mark_write: E 18112 SensorService-1249 ( 1136) [006] ...1 158000.612616: tracing_mark_write: E 18113 SensorService-1249 ( 1136) [006] ...1 158000.612921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18114 sensors@1.0-se-755 ( 755) [004] ...1 158000.613624: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18115 sensors@1.0-se-755 ( 755) [004] ...1 158000.624325: tracing_mark_write: E 18116 SensorService-1249 ( 1136) [006] ...1 158000.624902: tracing_mark_write: E 18117 SensorService-1249 ( 1136) [006] ...1 158000.625217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18118 sensors@1.0-se-755 ( 755) [004] ...1 158000.625829: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18119 sensors@1.0-se-755 ( 755) [004] ...1 158000.644645: tracing_mark_write: E 18120 SensorService-1249 ( 1136) [006] ...1 158000.645524: tracing_mark_write: E 18121 SensorService-1249 ( 1136) [006] ...1 158000.645928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18122 sensors@1.0-se-755 ( 755) [004] ...1 158000.646607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18123 sensors@1.0-se-755 ( 755) [004] ...1 158000.664076: tracing_mark_write: E 18124 SensorService-1249 ( 1136) [006] ...1 158000.664621: tracing_mark_write: E 18125 SensorService-1249 ( 1136) [006] ...1 158000.664907: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18126 sensors@1.0-se-755 ( 755) [004] ...1 158000.665602: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18127 sensors@1.0-se-755 ( 755) [004] ...1 158000.688045: tracing_mark_write: E 18128 SensorService-1249 ( 1136) [006] ...1 158000.689130: tracing_mark_write: E 18129 SensorService-1249 ( 1136) [006] ...1 158000.689575: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18130 sensors@1.0-se-755 ( 755) [004] ...1 158000.690416: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18131 sensors@1.0-se-755 ( 755) [004] ...1 158000.705757: tracing_mark_write: E 18132 SensorService-1249 ( 1136) [006] ...1 158000.706044: tracing_mark_write: E 18133 SensorService-1249 ( 1136) [006] ...1 158000.706306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18134 sensors@1.0-se-755 ( 755) [004] ...1 158000.706891: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18135 sensors@1.0-se-755 ( 755) [004] ...1 158000.723827: tracing_mark_write: E 18136 SensorService-1249 ( 1136) [006] ...1 158000.724524: tracing_mark_write: E 18137 SensorService-1249 ( 1136) [006] ...1 158000.724827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18138 sensors@1.0-se-755 ( 755) [004] ...1 158000.725426: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18139 sensors@1.0-se-755 ( 755) [004] ...1 158000.743829: tracing_mark_write: E 18140 SensorService-1249 ( 1136) [006] ...1 158000.744330: tracing_mark_write: E 18141 SensorService-1249 ( 1136) [006] ...1 158000.744501: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18142 sensors@1.0-se-755 ( 755) [004] ...1 158000.744944: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18143 sensors@1.0-se-755 ( 755) [004] ...1 158000.763154: tracing_mark_write: E 18144 SensorService-1249 ( 1136) [006] ...1 158000.763309: tracing_mark_write: E 18145 SensorService-1249 ( 1136) [006] ...1 158000.763473: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18146 sensors@1.0-se-755 ( 755) [004] ...1 158000.763843: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18147 sensors@1.0-se-755 ( 755) [004] ...1 158000.783003: tracing_mark_write: E 18148 SensorService-1249 ( 1136) [006] ...1 158000.783114: tracing_mark_write: E 18149 SensorService-1249 ( 1136) [006] ...1 158000.783246: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18150 sensors@1.0-se-755 ( 755) [004] ...1 158000.783348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18151 sensors@1.0-se-755 ( 755) [004] ...1 158000.804042: tracing_mark_write: E 18152 SensorService-1249 ( 1136) [006] ...1 158000.804438: tracing_mark_write: E 18153 SensorService-1249 ( 1136) [006] ...1 158000.804682: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18154 sensors@1.0-se-755 ( 755) [004] ...1 158000.805009: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18155 sensors@1.0-se-755 ( 755) [004] ...1 158000.823944: tracing_mark_write: E 18156 SensorService-1249 ( 1136) [006] ...1 158000.824369: tracing_mark_write: E 18157 SensorService-1249 ( 1136) [006] ...1 158000.824586: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18158 sensors@1.0-se-755 ( 755) [004] ...1 158000.824977: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18159 sensors@1.0-se-755 ( 755) [004] ...1 158000.843879: tracing_mark_write: E 18160 SensorService-1249 ( 1136) [006] ...1 158000.844385: tracing_mark_write: E 18161 SensorService-1249 ( 1136) [006] ...1 158000.844597: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18162 sensors@1.0-se-755 ( 755) [004] ...1 158000.844988: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18163 sensors@1.0-se-755 ( 755) [004] ...1 158000.863872: tracing_mark_write: E 18164 SensorService-1249 ( 1136) [006] ...1 158000.864395: tracing_mark_write: E 18165 SensorService-1249 ( 1136) [006] ...1 158000.864602: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18166 sensors@1.0-se-755 ( 755) [004] ...1 158000.865001: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18167 sensors@1.0-se-755 ( 755) [004] ...1 158000.883335: tracing_mark_write: E 18168 SensorService-1249 ( 1136) [006] ...1 158000.883827: tracing_mark_write: E 18169 SensorService-1249 ( 1136) [006] ...1 158000.884039: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18170 sensors@1.0-se-755 ( 755) [004] ...1 158000.884429: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18171 sensors@1.0-se-755 ( 755) [004] ...1 158000.904004: tracing_mark_write: E 18172 SensorService-1249 ( 1136) [006] ...1 158000.904436: tracing_mark_write: E 18173 SensorService-1249 ( 1136) [006] ...1 158000.904648: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18174 sensors@1.0-se-755 ( 755) [004] ...1 158000.905035: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18175 sensors@1.0-se-755 ( 755) [004] ...1 158000.924122: tracing_mark_write: E 18176 SensorService-1249 ( 1136) [006] ...1 158000.924636: tracing_mark_write: E 18177 SensorService-1249 ( 1136) [006] ...1 158000.924889: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18178 sensors@1.0-se-755 ( 755) [004] ...1 158000.925277: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18179 sensors@1.0-se-755 ( 755) [004] ...1 158000.944026: tracing_mark_write: E 18180 SensorService-1249 ( 1136) [006] ...1 158000.944460: tracing_mark_write: E 18181 SensorService-1249 ( 1136) [006] ...1 158000.944679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18182 sensors@1.0-se-755 ( 755) [004] ...1 158000.945071: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18183 sensors@1.0-se-755 ( 755) [004] ...1 158000.964475: tracing_mark_write: E 18184 SensorService-1249 ( 1136) [006] ...1 158000.964902: tracing_mark_write: E 18185 SensorService-1249 ( 1136) [006] ...1 158000.965150: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18186 sensors@1.0-se-755 ( 755) [004] ...1 158000.965537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18187 sensors@1.0-se-755 ( 755) [004] ...1 158000.984187: tracing_mark_write: E 18188 SensorService-1249 ( 1136) [006] ...1 158000.984688: tracing_mark_write: E 18189 SensorService-1249 ( 1136) [006] ...1 158000.984940: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18190 sensors@1.0-se-755 ( 755) [004] ...1 158000.985327: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18191 sensors@1.0-se-755 ( 755) [004] ...1 158001.005465: tracing_mark_write: E 18192 SensorService-1249 ( 1136) [006] ...1 158001.006168: tracing_mark_write: E 18193 SensorService-1249 ( 1136) [006] ...1 158001.006465: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18194 sensors@1.0-se-755 ( 755) [004] ...1 158001.007072: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18195 sensors@1.0-se-755 ( 755) [004] ...1 158001.025788: tracing_mark_write: E 18196 SensorService-1249 ( 1136) [006] ...1 158001.026519: tracing_mark_write: E 18197 SensorService-1249 ( 1136) [006] ...1 158001.026835: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18198 sensors@1.0-se-755 ( 755) [004] ...1 158001.027392: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18199 sensors@1.0-se-755 ( 755) [004] ...1 158001.045483: tracing_mark_write: E 18200 SensorService-1249 ( 1136) [006] ...1 158001.046170: tracing_mark_write: E 18201 SensorService-1249 ( 1136) [006] ...1 158001.046437: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18202 sensors@1.0-se-755 ( 755) [004] ...1 158001.046631: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18203 sensors@1.0-se-755 ( 755) [004] ...1 158001.063759: tracing_mark_write: E 18204 SensorService-1249 ( 1136) [006] ...1 158001.064466: tracing_mark_write: E 18205 SensorService-1249 ( 1136) [006] ...1 158001.064718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18206 sensors@1.0-se-755 ( 755) [004] ...1 158001.065120: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18207 sensors@1.0-se-755 ( 755) [004] ...1 158001.084338: tracing_mark_write: E 18208 SensorService-1249 ( 1136) [006] ...1 158001.084855: tracing_mark_write: E 18209 SensorService-1249 ( 1136) [006] ...1 158001.085044: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18210 sensors@1.0-se-755 ( 755) [004] ...1 158001.085573: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18211 sensors@1.0-se-755 ( 755) [004] ...1 158001.103585: tracing_mark_write: E 18212 SensorService-1249 ( 1136) [006] ...1 158001.104099: tracing_mark_write: E 18213 SensorService-1249 ( 1136) [006] ...1 158001.104357: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18214 sensors@1.0-se-755 ( 755) [004] ...1 158001.104920: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18215 sensors@1.0-se-755 ( 755) [004] ...1 158001.125656: tracing_mark_write: E 18216 SensorService-1249 ( 1136) [006] ...1 158001.126558: tracing_mark_write: E 18217 SensorService-1249 ( 1136) [006] ...1 158001.126960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18218 sensors@1.0-se-755 ( 755) [004] ...1 158001.127729: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18219 sensors@1.0-se-755 ( 755) [004] ...1 158001.145148: tracing_mark_write: E 18220 SensorService-1249 ( 1136) [006] ...1 158001.145852: tracing_mark_write: E 18221 SensorService-1249 ( 1136) [006] ...1 158001.146162: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18222 sensors@1.0-se-755 ( 755) [004] ...1 158001.146751: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18223 sensors@1.0-se-755 ( 755) [004] ...1 158001.169082: tracing_mark_write: E 18224 SensorService-1249 ( 1136) [006] ...1 158001.169993: tracing_mark_write: E 18225 SensorService-1249 ( 1136) [006] ...1 158001.170441: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18226 sensors@1.0-se-755 ( 755) [004] ...1 158001.171093: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18227 sensors@1.0-se-755 ( 755) [004] ...1 158001.185339: tracing_mark_write: E 18228 SensorService-1249 ( 1136) [006] ...1 158001.186057: tracing_mark_write: E 18229 SensorService-1249 ( 1136) [006] ...1 158001.186277: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18230 sensors@1.0-se-755 ( 755) [004] ...1 158001.186951: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18231 sensors@1.0-se-755 ( 755) [004] ...1 158001.206508: tracing_mark_write: E 18232 SensorService-1249 ( 1136) [006] ...1 158001.207213: tracing_mark_write: E 18233 SensorService-1249 ( 1136) [006] ...1 158001.207523: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18234 sensors@1.0-se-755 ( 755) [004] ...1 158001.208313: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18235 sensors@1.0-se-755 ( 755) [004] ...1 158001.226264: tracing_mark_write: E 18236 SensorService-1249 ( 1136) [006] ...1 158001.227003: tracing_mark_write: E 18237 SensorService-1249 ( 1136) [006] ...1 158001.227323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18238 sensors@1.0-se-755 ( 755) [004] ...1 158001.227913: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18239 sensors@1.0-se-755 ( 755) [004] ...1 158001.245625: tracing_mark_write: E 18240 SensorService-1249 ( 1136) [006] ...1 158001.246554: tracing_mark_write: E 18241 SensorService-1249 ( 1136) [006] ...1 158001.246973: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18242 sensors@1.0-se-755 ( 755) [004] ...1 158001.247727: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18243 sensors@1.0-se-755 ( 755) [004] ...1 158001.266199: tracing_mark_write: E 18244 SensorService-1249 ( 1136) [006] ...1 158001.266964: tracing_mark_write: E 18245 SensorService-1249 ( 1136) [006] ...1 158001.267285: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18246 sensors@1.0-se-755 ( 755) [004] ...1 158001.267887: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18247 sensors@1.0-se-755 ( 755) [004] ...1 158001.285741: tracing_mark_write: E 18248 SensorService-1249 ( 1136) [006] ...1 158001.286800: tracing_mark_write: E 18249 SensorService-1249 ( 1136) [006] ...1 158001.287240: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18250 sensors@1.0-se-755 ( 755) [004] ...1 158001.287903: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18251 sensors@1.0-se-755 ( 755) [004] ...1 158001.306494: tracing_mark_write: E 18252 SensorService-1249 ( 1136) [006] ...1 158001.307247: tracing_mark_write: E 18253 SensorService-1249 ( 1136) [006] ...1 158001.307673: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18254 sensors@1.0-se-755 ( 755) [004] ...1 158001.308260: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18255 sensors@1.0-se-755 ( 755) [004] ...1 158001.325196: tracing_mark_write: E 18256 SensorService-1249 ( 1136) [006] ...1 158001.325951: tracing_mark_write: E 18257 SensorService-1249 ( 1136) [006] ...1 158001.326266: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18258 sensors@1.0-se-755 ( 755) [004] ...1 158001.326890: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18259 sensors@1.0-se-755 ( 755) [004] ...1 158001.346509: tracing_mark_write: E 18260 SensorService-1249 ( 1136) [006] ...1 158001.347491: tracing_mark_write: E 18261 SensorService-1249 ( 1136) [006] ...1 158001.348116: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18262 sensors@1.0-se-755 ( 755) [004] ...1 158001.348781: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18263 sensors@1.0-se-755 ( 755) [004] ...1 158001.365145: tracing_mark_write: E 18264 SensorService-1249 ( 1136) [006] ...1 158001.365898: tracing_mark_write: E 18265 SensorService-1249 ( 1136) [006] ...1 158001.366213: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18266 sensors@1.0-se-755 ( 755) [004] ...1 158001.366804: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18267 sensors@1.0-se-755 ( 755) [004] ...1 158001.388715: tracing_mark_write: E 18268 SensorService-1249 ( 1136) [006] ...1 158001.389633: tracing_mark_write: E 18269 SensorService-1249 ( 1136) [006] ...1 158001.390100: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18270 sensors@1.0-se-755 ( 755) [004] ...1 158001.390752: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18271 sensors@1.0-se-755 ( 755) [004] ...1 158001.404716: tracing_mark_write: E 18272 SensorService-1249 ( 1136) [006] ...1 158001.405428: tracing_mark_write: E 18273 SensorService-1249 ( 1136) [006] ...1 158001.405746: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18274 sensors@1.0-se-755 ( 755) [004] ...1 158001.406330: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18275 sensors@1.0-se-755 ( 755) [004] ...1 158001.431590: tracing_mark_write: E 18276 SensorService-1249 ( 1136) [006] ...1 158001.432509: tracing_mark_write: E 18277 SensorService-1249 ( 1136) [006] ...1 158001.432924: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18278 sensors@1.0-se-755 ( 755) [004] ...1 158001.433580: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18279 sensors@1.0-se-755 ( 755) [004] ...1 158001.444833: tracing_mark_write: E 18280 SensorService-1249 ( 1136) [006] ...1 158001.445585: tracing_mark_write: E 18281 SensorService-1249 ( 1136) [006] ...1 158001.445863: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18282 sensors@1.0-se-755 ( 755) [004] ...1 158001.446078: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18283 sensors@1.0-se-755 ( 755) [004] ...1 158001.464951: tracing_mark_write: E 18284 SensorService-1249 ( 1136) [006] ...1 158001.465528: tracing_mark_write: E 18285 SensorService-1249 ( 1136) [006] ...1 158001.465732: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18286 sensors@1.0-se-755 ( 755) [004] ...1 158001.465877: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18287 sensors@1.0-se-755 ( 755) [004] ...1 158001.485641: tracing_mark_write: E 18288 SensorService-1249 ( 1136) [006] ...1 158001.486123: tracing_mark_write: E 18289 SensorService-1249 ( 1136) [006] ...1 158001.486344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18290 sensors@1.0-se-755 ( 755) [004] ...1 158001.486769: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18291 sensors@1.0-se-755 ( 755) [004] ...1 158001.504603: tracing_mark_write: E 18292 SensorService-1249 ( 1136) [006] ...1 158001.505336: tracing_mark_write: E 18293 SensorService-1249 ( 1136) [006] ...1 158001.505615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18294 sensors@1.0-se-755 ( 755) [004] ...1 158001.505833: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18295 sensors@1.0-se-755 ( 755) [004] ...1 158001.524740: tracing_mark_write: E 18296 SensorService-1249 ( 1136) [006] ...1 158001.525252: tracing_mark_write: E 18297 SensorService-1249 ( 1136) [006] ...1 158001.525397: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18298 sensors@1.0-se-755 ( 755) [004] ...1 158001.525807: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18299 sensors@1.0-se-755 ( 755) [004] ...1 158001.547331: tracing_mark_write: E 18300 SensorService-1249 ( 1136) [006] ...1 158001.548053: tracing_mark_write: E 18301 SensorService-1249 ( 1136) [006] ...1 158001.548384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18302 sensors@1.0-se-755 ( 755) [004] ...1 158001.548642: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18303 sensors@1.0-se-755 ( 755) [004] ...1 158001.565169: tracing_mark_write: E 18304 SensorService-1249 ( 1136) [006] ...1 158001.565495: tracing_mark_write: E 18305 SensorService-1249 ( 1136) [006] ...1 158001.565783: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18306 sensors@1.0-se-755 ( 755) [004] ...1 158001.566440: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18307 sensors@1.0-se-755 ( 755) [004] ...1 158001.587696: tracing_mark_write: E 18308 SensorService-1249 ( 1136) [006] ...1 158001.588416: tracing_mark_write: E 18309 SensorService-1249 ( 1136) [006] ...1 158001.588704: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18310 sensors@1.0-se-755 ( 755) [004] ...1 158001.589292: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18311 sensors@1.0-se-755 ( 755) [004] ...1 158001.606658: tracing_mark_write: E 18312 SensorService-1249 ( 1136) [006] ...1 158001.607520: tracing_mark_write: E 18313 SensorService-1249 ( 1136) [006] ...1 158001.607917: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18314 sensors@1.0-se-755 ( 755) [004] ...1 158001.608597: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18315 sensors@1.0-se-755 ( 755) [004] ...1 158001.626426: tracing_mark_write: E 18316 SensorService-1249 ( 1136) [006] ...1 158001.627327: tracing_mark_write: E 18317 SensorService-1249 ( 1136) [006] ...1 158001.627881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18318 sensors@1.0-se-755 ( 755) [004] ...1 158001.628574: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18319 sensors@1.0-se-755 ( 755) [004] ...1 158001.646278: tracing_mark_write: E 18320 SensorService-1249 ( 1136) [006] ...1 158001.647028: tracing_mark_write: E 18321 SensorService-1249 ( 1136) [006] ...1 158001.647350: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18322 sensors@1.0-se-755 ( 755) [004] ...1 158001.648038: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18323 sensors@1.0-se-755 ( 755) [004] ...1 158001.666155: tracing_mark_write: E 18324 SensorService-1249 ( 1136) [006] ...1 158001.667070: tracing_mark_write: E 18325 SensorService-1249 ( 1136) [006] ...1 158001.667498: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18326 sensors@1.0-se-755 ( 755) [004] ...1 158001.668300: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18327 sensors@1.0-se-755 ( 755) [004] ...1 158001.687761: tracing_mark_write: E 18328 SensorService-1249 ( 1136) [006] ...1 158001.688766: tracing_mark_write: E 18329 SensorService-1249 ( 1136) [006] ...1 158001.689178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18330 sensors@1.0-se-755 ( 755) [004] ...1 158001.689858: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18331 sensors@1.0-se-755 ( 755) [004] ...1 158001.705955: tracing_mark_write: E 18332 SensorService-1249 ( 1136) [006] ...1 158001.706833: tracing_mark_write: E 18333 SensorService-1249 ( 1136) [006] ...1 158001.707236: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18334 sensors@1.0-se-755 ( 755) [004] ...1 158001.707926: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18335 sensors@1.0-se-755 ( 755) [004] ...1 158001.725778: tracing_mark_write: E 18336 SensorService-1249 ( 1136) [006] ...1 158001.726726: tracing_mark_write: E 18337 SensorService-1249 ( 1136) [006] ...1 158001.727234: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18338 sensors@1.0-se-755 ( 755) [004] ...1 158001.727940: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18339 sensors@1.0-se-755 ( 755) [004] ...1 158001.746560: tracing_mark_write: E 18340 SensorService-1249 ( 1136) [006] ...1 158001.747278: tracing_mark_write: E 18341 SensorService-1249 ( 1136) [006] ...1 158001.747633: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18342 sensors@1.0-se-755 ( 755) [004] ...1 158001.747875: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18343 sensors@1.0-se-755 ( 755) [004] ...1 158001.764561: tracing_mark_write: E 18344 SensorService-1249 ( 1136) [006] ...1 158001.765261: tracing_mark_write: E 18345 SensorService-1249 ( 1136) [006] ...1 158001.765537: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18346 sensors@1.0-se-755 ( 755) [004] ...1 158001.765750: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18347 sensors@1.0-se-755 ( 755) [004] ...1 158001.786502: tracing_mark_write: E 18348 SensorService-1249 ( 1136) [006] ...1 158001.787291: tracing_mark_write: E 18349 SensorService-1249 ( 1136) [006] ...1 158001.787693: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18350 sensors@1.0-se-755 ( 755) [004] ...1 158001.788299: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18351 sensors@1.0-se-755 ( 755) [004] ...1 158001.807392: tracing_mark_write: E 18352 SensorService-1249 ( 1136) [006] ...1 158001.808122: tracing_mark_write: E 18353 SensorService-1249 ( 1136) [006] ...1 158001.808404: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18354 sensors@1.0-se-755 ( 755) [004] ...1 158001.809271: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18355 sensors@1.0-se-755 ( 755) [004] ...1 158001.826119: tracing_mark_write: E 18356 SensorService-1249 ( 1136) [006] ...1 158001.827037: tracing_mark_write: E 18357 SensorService-1249 ( 1136) [006] ...1 158001.827443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18358 sensors@1.0-se-755 ( 755) [004] ...1 158001.828208: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18359 sensors@1.0-se-755 ( 755) [004] ...1 158001.850026: tracing_mark_write: E 18360 SensorService-1249 ( 1136) [006] ...1 158001.850723: tracing_mark_write: E 18361 SensorService-1249 ( 1136) [006] ...1 158001.850999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18362 sensors@1.0-se-755 ( 755) [004] ...1 158001.851610: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18363 sensors@1.0-se-755 ( 755) [004] ...1 158001.866526: tracing_mark_write: E 18364 SensorService-1249 ( 1136) [006] ...1 158001.867395: tracing_mark_write: E 18365 SensorService-1249 ( 1136) [006] ...1 158001.867906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18366 sensors@1.0-se-755 ( 755) [004] ...1 158001.868592: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18367 sensors@1.0-se-755 ( 755) [004] ...1 158001.888845: tracing_mark_write: E 18368 SensorService-1249 ( 1136) [006] ...1 158001.889650: tracing_mark_write: E 18369 SensorService-1249 ( 1136) [006] ...1 158001.889931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18370 sensors@1.0-se-755 ( 755) [004] ...1 158001.890526: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18371 sensors@1.0-se-755 ( 755) [004] ...1 158001.905172: tracing_mark_write: E 18372 SensorService-1249 ( 1136) [006] ...1 158001.905724: tracing_mark_write: E 18373 SensorService-1249 ( 1136) [006] ...1 158001.905959: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18374 sensors@1.0-se-755 ( 755) [004] ...1 158001.906440: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18375 sensors@1.0-se-755 ( 755) [004] ...1 158001.929432: tracing_mark_write: E 18376 SensorService-1249 ( 1136) [006] ...1 158001.930161: tracing_mark_write: E 18377 SensorService-1249 ( 1136) [006] ...1 158001.930412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18378 sensors@1.0-se-755 ( 755) [004] ...1 158001.931014: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18379 sensors@1.0-se-755 ( 755) [004] ...1 158001.945514: tracing_mark_write: E 18380 SensorService-1249 ( 1136) [006] ...1 158001.946419: tracing_mark_write: E 18381 SensorService-1249 ( 1136) [006] ...1 158001.946880: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18382 sensors@1.0-se-755 ( 755) [004] ...1 158001.947642: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18383 sensors@1.0-se-755 ( 755) [004] ...1 158001.966157: tracing_mark_write: E 18384 SensorService-1249 ( 1136) [006] ...1 158001.966920: tracing_mark_write: E 18385 SensorService-1249 ( 1136) [006] ...1 158001.967225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18386 sensors@1.0-se-755 ( 755) [004] ...1 158001.968189: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18387 sensors@1.0-se-755 ( 755) [004] ...1 158001.985223: tracing_mark_write: E 18388 SensorService-1249 ( 1136) [006] ...1 158001.985792: tracing_mark_write: E 18389 SensorService-1249 ( 1136) [006] ...1 158001.986080: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18390 sensors@1.0-se-755 ( 755) [004] ...1 158001.986288: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18391 sensors@1.0-se-755 ( 755) [004] ...1 158002.004382: tracing_mark_write: E 18392 SensorService-1249 ( 1136) [006] ...1 158002.004902: tracing_mark_write: E 18393 SensorService-1249 ( 1136) [006] ...1 158002.005077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18394 sensors@1.0-se-755 ( 755) [004] ...1 158002.005565: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18395 sensors@1.0-se-755 ( 755) [004] ...1 158002.025201: tracing_mark_write: E 18396 SensorService-1249 ( 1136) [006] ...1 158002.025778: tracing_mark_write: E 18397 SensorService-1249 ( 1136) [006] ...1 158002.025933: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18398 sensors@1.0-se-755 ( 755) [004] ...1 158002.026084: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18399 sensors@1.0-se-755 ( 755) [004] ...1 158002.045098: tracing_mark_write: E 18400 SensorService-1249 ( 1136) [006] ...1 158002.045641: tracing_mark_write: E 18401 SensorService-1249 ( 1136) [006] ...1 158002.045785: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18402 sensors@1.0-se-755 ( 755) [004] ...1 158002.045933: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18403 sensors@1.0-se-755 ( 755) [004] ...1 158002.066272: tracing_mark_write: E 18404 SensorService-1249 ( 1136) [006] ...1 158002.066706: tracing_mark_write: E 18405 SensorService-1249 ( 1136) [006] ...1 158002.066905: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18406 sensors@1.0-se-755 ( 755) [004] ...1 158002.067111: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18407 sensors@1.0-se-755 ( 755) [004] ...1 158002.084443: tracing_mark_write: E 18408 SensorService-1249 ( 1136) [006] ...1 158002.084872: tracing_mark_write: E 18409 SensorService-1249 ( 1136) [006] ...1 158002.085065: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18410 sensors@1.0-se-755 ( 755) [004] ...1 158002.085237: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18411 sensors@1.0-se-755 ( 755) [004] ...1 158002.106114: tracing_mark_write: E 18412 SensorService-1249 ( 1136) [006] ...1 158002.106827: tracing_mark_write: E 18413 SensorService-1249 ( 1136) [006] ...1 158002.107091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18414 sensors@1.0-se-755 ( 755) [004] ...1 158002.107690: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18415 sensors@1.0-se-755 ( 755) [004] ...1 158002.126113: tracing_mark_write: E 18416 SensorService-1249 ( 1136) [006] ...1 158002.126838: tracing_mark_write: E 18417 SensorService-1249 ( 1136) [006] ...1 158002.127102: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18418 sensors@1.0-se-755 ( 755) [004] ...1 158002.127724: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18419 sensors@1.0-se-755 ( 755) [004] ...1 158002.147185: tracing_mark_write: E 18420 SensorService-1249 ( 1136) [006] ...1 158002.147908: tracing_mark_write: E 18421 SensorService-1249 ( 1136) [006] ...1 158002.148187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18422 sensors@1.0-se-755 ( 755) [004] ...1 158002.148815: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18423 sensors@1.0-se-755 ( 755) [004] ...1 158002.165759: tracing_mark_write: E 18424 SensorService-1249 ( 1136) [006] ...1 158002.166645: tracing_mark_write: E 18425 SensorService-1249 ( 1136) [006] ...1 158002.166905: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18426 sensors@1.0-se-755 ( 755) [004] ...1 158002.167518: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18427 sensors@1.0-se-755 ( 755) [004] ...1 158002.190029: tracing_mark_write: E 18428 SensorService-1249 ( 1136) [006] ...1 158002.190784: tracing_mark_write: E 18429 SensorService-1249 ( 1136) [006] ...1 158002.191238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18430 sensors@1.0-se-755 ( 755) [004] ...1 158002.191840: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18431 sensors@1.0-se-755 ( 755) [004] ...1 158002.205754: tracing_mark_write: E 18432 SensorService-1249 ( 1136) [006] ...1 158002.206048: tracing_mark_write: E 18433 SensorService-1249 ( 1136) [006] ...1 158002.206321: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18434 sensors@1.0-se-755 ( 755) [004] ...1 158002.206924: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18435 sensors@1.0-se-755 ( 755) [004] ...1 158002.225163: tracing_mark_write: E 18436 SensorService-1249 ( 1136) [006] ...1 158002.225674: tracing_mark_write: E 18437 SensorService-1249 ( 1136) [006] ...1 158002.225838: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18438 sensors@1.0-se-755 ( 755) [004] ...1 158002.226183: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18439 sensors@1.0-se-755 ( 755) [004] ...1 158002.247447: tracing_mark_write: E 18440 SensorService-1249 ( 1136) [006] ...1 158002.248362: tracing_mark_write: E 18441 SensorService-1249 ( 1136) [006] ...1 158002.248647: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18442 sensors@1.0-se-755 ( 755) [004] ...1 158002.249263: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18443 sensors@1.0-se-755 ( 755) [004] ...1 158002.265656: tracing_mark_write: E 18444 SensorService-1249 ( 1136) [006] ...1 158002.266387: tracing_mark_write: E 18445 SensorService-1249 ( 1136) [006] ...1 158002.266678: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18446 sensors@1.0-se-755 ( 755) [004] ...1 158002.266870: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18447 sensors@1.0-se-755 ( 755) [004] ...1 158002.285398: tracing_mark_write: E 18448 SensorService-1249 ( 1136) [006] ...1 158002.285917: tracing_mark_write: E 18449 SensorService-1249 ( 1136) [006] ...1 158002.286094: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18450 sensors@1.0-se-755 ( 755) [004] ...1 158002.286256: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18451 sensors@1.0-se-755 ( 755) [004] ...1 158002.304621: tracing_mark_write: E 18452 SensorService-1249 ( 1136) [006] ...1 158002.305359: tracing_mark_write: E 18453 SensorService-1249 ( 1136) [006] ...1 158002.305646: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18454 sensors@1.0-se-755 ( 755) [004] ...1 158002.305951: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18455 sensors@1.0-se-755 ( 755) [004] ...1 158002.324748: tracing_mark_write: E 18456 SensorService-1249 ( 1136) [006] ...1 158002.325399: tracing_mark_write: E 18457 SensorService-1249 ( 1136) [006] ...1 158002.325565: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18458 sensors@1.0-se-755 ( 755) [004] ...1 158002.325712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18459 sensors@1.0-se-755 ( 755) [004] ...1 158002.346014: tracing_mark_write: E 18460 SensorService-1249 ( 1136) [006] ...1 158002.346711: tracing_mark_write: E 18461 SensorService-1249 ( 1136) [006] ...1 158002.346992: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18462 sensors@1.0-se-755 ( 755) [004] ...1 158002.347200: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18463 sensors@1.0-se-755 ( 755) [004] ...1 158002.365645: tracing_mark_write: E 18464 SensorService-1249 ( 1136) [006] ...1 158002.366187: tracing_mark_write: E 18465 SensorService-1249 ( 1136) [006] ...1 158002.366344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18466 sensors@1.0-se-755 ( 755) [004] ...1 158002.366506: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18467 sensors@1.0-se-755 ( 755) [004] ...1 158002.385146: tracing_mark_write: E 18468 SensorService-1249 ( 1136) [006] ...1 158002.385744: tracing_mark_write: E 18469 SensorService-1249 ( 1136) [006] ...1 158002.385930: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18470 sensors@1.0-se-755 ( 755) [004] ...1 158002.386411: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18471 sensors@1.0-se-755 ( 755) [004] ...1 158002.406999: tracing_mark_write: E 18472 SensorService-1249 ( 1136) [006] ...1 158002.407765: tracing_mark_write: E 18473 SensorService-1249 ( 1136) [006] ...1 158002.408058: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18474 sensors@1.0-se-755 ( 755) [004] ...1 158002.408292: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18475 sensors@1.0-se-755 ( 755) [004] ...1 158002.426050: tracing_mark_write: E 18476 SensorService-1249 ( 1136) [006] ...1 158002.426785: tracing_mark_write: E 18477 SensorService-1249 ( 1136) [006] ...1 158002.427084: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18478 sensors@1.0-se-755 ( 755) [004] ...1 158002.427689: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18479 sensors@1.0-se-755 ( 755) [004] ...1 158002.445930: tracing_mark_write: E 18480 SensorService-1249 ( 1136) [006] ...1 158002.446657: tracing_mark_write: E 18481 SensorService-1249 ( 1136) [006] ...1 158002.446943: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18482 sensors@1.0-se-755 ( 755) [004] ...1 158002.447173: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18483 sensors@1.0-se-755 ( 755) [004] ...1 158002.465719: tracing_mark_write: E 18484 SensorService-1249 ( 1136) [006] ...1 158002.466262: tracing_mark_write: E 18485 SensorService-1249 ( 1136) [006] ...1 158002.466400: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18486 sensors@1.0-se-755 ( 755) [004] ...1 158002.466890: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18487 sensors@1.0-se-755 ( 755) [004] ...1 158002.487459: tracing_mark_write: E 18488 SensorService-1249 ( 1136) [006] ...1 158002.488375: tracing_mark_write: E 18489 SensorService-1249 ( 1136) [006] ...1 158002.488685: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18490 sensors@1.0-se-755 ( 755) [004] ...1 158002.489035: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18491 sensors@1.0-se-755 ( 755) [004] ...1 158002.505721: tracing_mark_write: E 18492 SensorService-1249 ( 1136) [006] ...1 158002.505996: tracing_mark_write: E 18493 SensorService-1249 ( 1136) [006] ...1 158002.506285: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18494 sensors@1.0-se-755 ( 755) [004] ...1 158002.506815: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18495 sensors@1.0-se-755 ( 755) [004] ...1 158002.526975: tracing_mark_write: E 18496 SensorService-1249 ( 1136) [006] ...1 158002.527866: tracing_mark_write: E 18497 SensorService-1249 ( 1136) [006] ...1 158002.528156: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18498 sensors@1.0-se-755 ( 755) [004] ...1 158002.528358: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18499 sensors@1.0-se-755 ( 755) [004] ...1 158002.546673: tracing_mark_write: E 18500 SensorService-1249 ( 1136) [006] ...1 158002.547388: tracing_mark_write: E 18501 SensorService-1249 ( 1136) [006] ...1 158002.547775: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18502 sensors@1.0-se-755 ( 755) [004] ...1 158002.548394: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18503 sensors@1.0-se-755 ( 755) [004] ...1 158002.566774: tracing_mark_write: E 18504 SensorService-1249 ( 1136) [006] ...1 158002.567482: tracing_mark_write: E 18505 SensorService-1249 ( 1136) [006] ...1 158002.567835: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18506 android.bg-1155 ( 1136) [000] ...1 158002.568087: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 18507 memtrack@1.0-s-745 ( 745) [000] ...1 158002.568373: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 18508 memtrack@1.0-s-745 ( 745) [000] ...1 158002.568421: tracing_mark_write: E 18509 sensors@1.0-se-755 ( 755) [004] ...1 158002.568490: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18510 android.bg-1155 ( 1136) [000] ...1 158002.568560: tracing_mark_write: E 18511 android.bg-1155 ( 1136) [000] ...1 158002.568581: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 18512 memtrack@1.0-s-745 ( 745) [000] ...1 158002.568631: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 18513 memtrack@1.0-s-745 ( 745) [000] ...1 158002.568794: tracing_mark_write: E 18514 android.bg-1155 ( 1136) [000] ...1 158002.568846: tracing_mark_write: E 18515 android.bg-1155 ( 1136) [000] ...1 158002.568857: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 18516 memtrack@1.0-s-745 ( 745) [000] ...1 158002.568899: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 18517 memtrack@1.0-s-745 ( 745) [000] ...1 158002.568935: tracing_mark_write: E 18518 android.bg-1155 ( 1136) [000] ...1 158002.569000: tracing_mark_write: E 18519 android.bg-1155 ( 1136) [000] ...1 158002.569021: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 18520 memtrack@1.0-s-745 ( 745) [000] ...1 158002.569062: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 18521 memtrack@1.0-s-745 ( 745) [000] ...1 158002.569070: tracing_mark_write: E 18522 android.bg-1155 ( 1136) [000] ...1 158002.569121: tracing_mark_write: E 18523 android.bg-1155 ( 1136) [000] ...1 158002.569131: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 18524 memtrack@1.0-s-745 ( 745) [000] ...1 158002.569171: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 18525 memtrack@1.0-s-745 ( 745) [000] ...1 158002.569180: tracing_mark_write: E 18526 android.bg-1155 ( 1136) [000] ...1 158002.569238: tracing_mark_write: E 18527 sensors@1.0-se-755 ( 755) [004] ...1 158002.586577: tracing_mark_write: E 18528 SensorService-1249 ( 1136) [006] ...1 158002.587145: tracing_mark_write: E 18529 SensorService-1249 ( 1136) [006] ...1 158002.587426: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18530 sensors@1.0-se-755 ( 755) [004] ...1 158002.587926: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18531 sensors@1.0-se-755 ( 755) [004] ...1 158002.606964: tracing_mark_write: E 18532 SensorService-1249 ( 1136) [006] ...1 158002.607643: tracing_mark_write: E 18533 SensorService-1249 ( 1136) [006] ...1 158002.607846: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18534 sensors@1.0-se-755 ( 755) [004] ...1 158002.608680: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18535 sensors@1.0-se-755 ( 755) [004] ...1 158002.627147: tracing_mark_write: E 18536 SensorService-1249 ( 1136) [006] ...1 158002.627876: tracing_mark_write: E 18537 SensorService-1249 ( 1136) [006] ...1 158002.628174: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18538 sensors@1.0-se-755 ( 755) [004] ...1 158002.628762: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18539 sensors@1.0-se-755 ( 755) [004] ...1 158002.646896: tracing_mark_write: E 18540 SensorService-1249 ( 1136) [006] ...1 158002.647882: tracing_mark_write: E 18541 SensorService-1249 ( 1136) [006] ...1 158002.648143: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18542 sensors@1.0-se-755 ( 755) [004] ...1 158002.648735: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18543 sensors@1.0-se-755 ( 755) [004] ...1 158002.667941: tracing_mark_write: E 18544 SensorService-1249 ( 1136) [006] ...1 158002.668762: tracing_mark_write: E 18545 SensorService-1249 ( 1136) [006] ...1 158002.669094: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18546 sensors@1.0-se-755 ( 755) [004] ...1 158002.669717: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18547 sensors@1.0-se-755 ( 755) [004] ...1 158002.687370: tracing_mark_write: E 18548 SensorService-1249 ( 1136) [006] ...1 158002.688252: tracing_mark_write: E 18549 SensorService-1249 ( 1136) [006] ...1 158002.688557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18550 sensors@1.0-se-755 ( 755) [004] ...1 158002.689166: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18551 sensors@1.0-se-755 ( 755) [004] ...1 158002.709645: tracing_mark_write: E 18552 SensorService-1249 ( 1136) [006] ...1 158002.710564: tracing_mark_write: E 18553 SensorService-1249 ( 1136) [006] ...1 158002.711104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18554 sensors@1.0-se-755 ( 755) [004] ...1 158002.711782: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18555 sensors@1.0-se-755 ( 755) [004] ...1 158002.728596: tracing_mark_write: E 18556 SensorService-1249 ( 1136) [006] ...1 158002.729313: tracing_mark_write: E 18557 SensorService-1249 ( 1136) [006] ...1 158002.729582: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18558 sensors@1.0-se-755 ( 755) [004] ...1 158002.730064: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18559 sensors@1.0-se-755 ( 755) [004] ...1 158002.747510: tracing_mark_write: E 18560 SensorService-1249 ( 1136) [006] ...1 158002.748434: tracing_mark_write: E 18561 SensorService-1249 ( 1136) [006] ...1 158002.748758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18562 sensors@1.0-se-755 ( 755) [004] ...1 158002.749341: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18563 sensors@1.0-se-755 ( 755) [004] ...1 158002.768708: tracing_mark_write: E 18564 SensorService-1249 ( 1136) [006] ...1 158002.769461: tracing_mark_write: E 18565 SensorService-1249 ( 1136) [006] ...1 158002.769775: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18566 sensors@1.0-se-755 ( 755) [004] ...1 158002.770383: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18567 sensors@1.0-se-755 ( 755) [004] ...1 158002.786793: tracing_mark_write: E 18568 SensorService-1249 ( 1136) [006] ...1 158002.787756: tracing_mark_write: E 18569 SensorService-1249 ( 1136) [006] ...1 158002.788043: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18570 sensors@1.0-se-755 ( 755) [004] ...1 158002.788287: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18571 sensors@1.0-se-755 ( 755) [004] ...1 158002.808861: tracing_mark_write: E 18572 SensorService-1249 ( 1136) [006] ...1 158002.809693: tracing_mark_write: E 18573 SensorService-1249 ( 1136) [006] ...1 158002.810004: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18574 sensors@1.0-se-755 ( 755) [004] ...1 158002.810619: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18575 sensors@1.0-se-755 ( 755) [004] ...1 158002.826375: tracing_mark_write: E 18576 SensorService-1249 ( 1136) [006] ...1 158002.827109: tracing_mark_write: E 18577 SensorService-1249 ( 1136) [006] ...1 158002.827421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18578 sensors@1.0-se-755 ( 755) [004] ...1 158002.828178: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18579 sensors@1.0-se-755 ( 755) [004] ...1 158002.848989: tracing_mark_write: E 18580 SensorService-1249 ( 1136) [006] ...1 158002.849702: tracing_mark_write: E 18581 SensorService-1249 ( 1136) [006] ...1 158002.850025: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18582 sensors@1.0-se-755 ( 755) [004] ...1 158002.850646: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18583 sensors@1.0-se-755 ( 755) [004] ...1 158002.867140: tracing_mark_write: E 18584 SensorService-1249 ( 1136) [006] ...1 158002.868000: tracing_mark_write: E 18585 SensorService-1249 ( 1136) [006] ...1 158002.868259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18586 sensors@1.0-se-755 ( 755) [004] ...1 158002.868859: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18587 sensors@1.0-se-755 ( 755) [004] ...1 158002.886932: tracing_mark_write: E 18588 SensorService-1249 ( 1136) [006] ...1 158002.887895: tracing_mark_write: E 18589 SensorService-1249 ( 1136) [006] ...1 158002.888208: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18590 sensors@1.0-se-755 ( 755) [004] ...1 158002.889132: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18591 sensors@1.0-se-755 ( 755) [004] ...1 158002.906923: tracing_mark_write: E 18592 SensorService-1249 ( 1136) [006] ...1 158002.907746: tracing_mark_write: E 18593 SensorService-1249 ( 1136) [006] ...1 158002.908003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18594 sensors@1.0-se-755 ( 755) [004] ...1 158002.908624: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18595 sensors@1.0-se-755 ( 755) [004] ...1 158002.927241: tracing_mark_write: E 18596 SensorService-1249 ( 1136) [006] ...1 158002.927973: tracing_mark_write: E 18597 SensorService-1249 ( 1136) [006] ...1 158002.928257: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18598 sensors@1.0-se-755 ( 755) [004] ...1 158002.928871: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18599 sensors@1.0-se-755 ( 755) [004] ...1 158002.947328: tracing_mark_write: E 18600 SensorService-1249 ( 1136) [006] ...1 158002.948116: tracing_mark_write: E 18601 SensorService-1249 ( 1136) [006] ...1 158002.948441: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18602 sensors@1.0-se-755 ( 755) [004] ...1 158002.949034: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18603 sensors@1.0-se-755 ( 755) [004] ...1 158002.968424: tracing_mark_write: E 18604 SensorService-1249 ( 1136) [006] ...1 158002.969168: tracing_mark_write: E 18605 SensorService-1249 ( 1136) [006] ...1 158002.969491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18606 sensors@1.0-se-755 ( 755) [004] ...1 158002.970464: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18607 sensors@1.0-se-755 ( 755) [004] ...1 158002.987832: tracing_mark_write: E 18608 SensorService-1249 ( 1136) [006] ...1 158002.988588: tracing_mark_write: E 18609 SensorService-1249 ( 1136) [006] ...1 158002.988876: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18610 sensors@1.0-se-755 ( 755) [004] ...1 158002.989570: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18611 sensors@1.0-se-755 ( 755) [004] ...1 158003.006867: tracing_mark_write: E 18612 SensorService-1249 ( 1136) [006] ...1 158003.007739: tracing_mark_write: E 18613 SensorService-1249 ( 1136) [006] ...1 158003.008049: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18614 sensors@1.0-se-755 ( 755) [004] ...1 158003.008773: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18615 sensors@1.0-se-755 ( 755) [004] ...1 158003.033351: tracing_mark_write: E 18616 SensorService-1249 ( 1136) [006] ...1 158003.034359: tracing_mark_write: E 18617 SensorService-1249 ( 1136) [006] ...1 158003.034752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18618 sensors@1.0-se-755 ( 755) [004] ...1 158003.035460: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18619 sensors@1.0-se-755 ( 755) [004] ...1 158003.047039: tracing_mark_write: E 18620 SensorService-1249 ( 1136) [006] ...1 158003.047768: tracing_mark_write: E 18621 SensorService-1249 ( 1136) [006] ...1 158003.048059: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18622 sensors@1.0-se-755 ( 755) [004] ...1 158003.048709: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18623 sensors@1.0-se-755 ( 755) [004] ...1 158003.067702: tracing_mark_write: E 18624 SensorService-1249 ( 1136) [006] ...1 158003.068764: tracing_mark_write: E 18625 SensorService-1249 ( 1136) [006] ...1 158003.069166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18626 sensors@1.0-se-755 ( 755) [004] ...1 158003.069839: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18627 sensors@1.0-se-755 ( 755) [004] ...1 158003.087810: tracing_mark_write: E 18628 SensorService-1249 ( 1136) [006] ...1 158003.088736: tracing_mark_write: E 18629 SensorService-1249 ( 1136) [006] ...1 158003.089136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18630 sensors@1.0-se-755 ( 755) [004] ...1 158003.090084: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18631 sensors@1.0-se-755 ( 755) [004] ...1 158003.107450: tracing_mark_write: E 18632 SensorService-1249 ( 1136) [006] ...1 158003.108450: tracing_mark_write: E 18633 SensorService-1249 ( 1136) [006] ...1 158003.108880: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18634 sensors@1.0-se-755 ( 755) [004] ...1 158003.109562: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18635 sensors@1.0-se-755 ( 755) [004] ...1 158003.126953: tracing_mark_write: E 18636 SensorService-1249 ( 1136) [006] ...1 158003.127773: tracing_mark_write: E 18637 SensorService-1249 ( 1136) [006] ...1 158003.128076: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18638 sensors@1.0-se-755 ( 755) [004] ...1 158003.128673: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18639 sensors@1.0-se-755 ( 755) [004] ...1 158003.147064: tracing_mark_write: E 18640 SensorService-1249 ( 1136) [006] ...1 158003.147719: tracing_mark_write: E 18641 SensorService-1249 ( 1136) [006] ...1 158003.147980: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18642 sensors@1.0-se-755 ( 755) [004] ...1 158003.148456: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18643 sensors@1.0-se-755 ( 755) [004] ...1 158003.170419: tracing_mark_write: E 18644 SensorService-1249 ( 1136) [006] ...1 158003.171339: tracing_mark_write: E 18645 SensorService-1249 ( 1136) [006] ...1 158003.171732: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18646 sensors@1.0-se-755 ( 755) [004] ...1 158003.172431: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18647 sensors@1.0-se-755 ( 755) [004] ...1 158003.187119: tracing_mark_write: E 18648 SensorService-1249 ( 1136) [006] ...1 158003.187852: tracing_mark_write: E 18649 SensorService-1249 ( 1136) [006] ...1 158003.188136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18650 sensors@1.0-se-755 ( 755) [004] ...1 158003.188742: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18651 sensors@1.0-se-755 ( 755) [004] ...1 158003.212269: tracing_mark_write: E 18652 SensorService-1249 ( 1136) [006] ...1 158003.213169: tracing_mark_write: E 18653 SensorService-1249 ( 1136) [006] ...1 158003.213572: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18654 sensors@1.0-se-755 ( 755) [004] ...1 158003.214395: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18655 sensors@1.0-se-755 ( 755) [004] ...1 158003.226988: tracing_mark_write: E 18656 SensorService-1249 ( 1136) [006] ...1 158003.227614: tracing_mark_write: E 18657 SensorService-1249 ( 1136) [006] ...1 158003.227866: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18658 sensors@1.0-se-755 ( 755) [004] ...1 158003.228409: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18659 sensors@1.0-se-755 ( 755) [004] ...1 158003.249847: tracing_mark_write: E 18660 SensorService-1249 ( 1136) [006] ...1 158003.250598: tracing_mark_write: E 18661 SensorService-1249 ( 1136) [006] ...1 158003.250945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18662 sensors@1.0-se-755 ( 755) [004] ...1 158003.251139: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18663 sensors@1.0-se-755 ( 755) [004] ...1 158003.268094: tracing_mark_write: E 18664 SensorService-1249 ( 1136) [006] ...1 158003.269012: tracing_mark_write: E 18665 SensorService-1249 ( 1136) [006] ...1 158003.269421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18666 sensors@1.0-se-755 ( 755) [004] ...1 158003.269671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18667 sensors@1.0-se-755 ( 755) [004] ...1 158003.286575: tracing_mark_write: E 18668 SensorService-1249 ( 1136) [006] ...1 158003.287306: tracing_mark_write: E 18669 SensorService-1249 ( 1136) [006] ...1 158003.287695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18670 sensors@1.0-se-755 ( 755) [004] ...1 158003.287897: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18671 sensors@1.0-se-755 ( 755) [004] ...1 158003.306397: tracing_mark_write: E 18672 SensorService-1249 ( 1136) [006] ...1 158003.307128: tracing_mark_write: E 18673 SensorService-1249 ( 1136) [006] ...1 158003.307384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18674 sensors@1.0-se-755 ( 755) [004] ...1 158003.307644: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18675 sensors@1.0-se-755 ( 755) [004] ...1 158003.327794: tracing_mark_write: E 18676 SensorService-1249 ( 1136) [006] ...1 158003.328523: tracing_mark_write: E 18677 SensorService-1249 ( 1136) [006] ...1 158003.328810: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18678 sensors@1.0-se-755 ( 755) [004] ...1 158003.329427: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18679 sensors@1.0-se-755 ( 755) [004] ...1 158003.348131: tracing_mark_write: E 18680 SensorService-1249 ( 1136) [006] ...1 158003.349047: tracing_mark_write: E 18681 SensorService-1249 ( 1136) [006] ...1 158003.349423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18682 sensors@1.0-se-755 ( 755) [004] ...1 158003.350087: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18683 sensors@1.0-se-755 ( 755) [004] ...1 158003.368359: tracing_mark_write: E 18684 SensorService-1249 ( 1136) [006] ...1 158003.369369: tracing_mark_write: E 18685 SensorService-1249 ( 1136) [006] ...1 158003.369785: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18686 sensors@1.0-se-755 ( 755) [004] ...1 158003.370474: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18687 sensors@1.0-se-755 ( 755) [004] ...1 158003.387461: tracing_mark_write: E 18688 SensorService-1249 ( 1136) [006] ...1 158003.388487: tracing_mark_write: E 18689 SensorService-1249 ( 1136) [006] ...1 158003.388888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18690 sensors@1.0-se-755 ( 755) [004] ...1 158003.389602: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18691 sensors@1.0-se-755 ( 755) [004] ...1 158003.410216: tracing_mark_write: E 18692 SensorService-1249 ( 1136) [006] ...1 158003.411216: tracing_mark_write: E 18693 SensorService-1249 ( 1136) [006] ...1 158003.411652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18694 sensors@1.0-se-755 ( 755) [004] ...1 158003.411907: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18695 sensors@1.0-se-755 ( 755) [004] ...1 158003.426382: tracing_mark_write: E 18696 SensorService-1249 ( 1136) [006] ...1 158003.427076: tracing_mark_write: E 18697 SensorService-1249 ( 1136) [006] ...1 158003.427350: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18698 sensors@1.0-se-755 ( 755) [004] ...1 158003.427607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18699 sensors@1.0-se-755 ( 755) [004] ...1 158003.447624: tracing_mark_write: E 18700 SensorService-1249 ( 1136) [006] ...1 158003.448407: tracing_mark_write: E 18701 SensorService-1249 ( 1136) [006] ...1 158003.448684: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18702 sensors@1.0-se-755 ( 755) [004] ...1 158003.449011: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18703 sensors@1.0-se-755 ( 755) [004] ...1 158003.468101: tracing_mark_write: E 18704 SensorService-1249 ( 1136) [006] ...1 158003.468830: tracing_mark_write: E 18705 SensorService-1249 ( 1136) [006] ...1 158003.469141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18706 sensors@1.0-se-755 ( 755) [004] ...1 158003.469741: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18707 sensors@1.0-se-755 ( 755) [004] ...1 158003.487896: tracing_mark_write: E 18708 SensorService-1249 ( 1136) [006] ...1 158003.488783: tracing_mark_write: E 18709 SensorService-1249 ( 1136) [006] ...1 158003.489200: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18710 sensors@1.0-se-755 ( 755) [004] ...1 158003.489867: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18711 sensors@1.0-se-755 ( 755) [004] ...1 158003.507982: tracing_mark_write: E 18712 SensorService-1249 ( 1136) [006] ...1 158003.508877: tracing_mark_write: E 18713 SensorService-1249 ( 1136) [006] ...1 158003.509277: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18714 sensors@1.0-se-755 ( 755) [004] ...1 158003.509939: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18715 sensors@1.0-se-755 ( 755) [004] ...1 158003.527980: tracing_mark_write: E 18716 SensorService-1249 ( 1136) [006] ...1 158003.528899: tracing_mark_write: E 18717 SensorService-1249 ( 1136) [006] ...1 158003.529331: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18718 sensors@1.0-se-755 ( 755) [004] ...1 158003.529607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18719 sensors@1.0-se-755 ( 755) [004] ...1 158003.546749: tracing_mark_write: E 18720 SensorService-1249 ( 1136) [006] ...1 158003.547303: tracing_mark_write: E 18721 SensorService-1249 ( 1136) [006] ...1 158003.547644: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18722 sensors@1.0-se-755 ( 755) [004] ...1 158003.548120: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18723 sensors@1.0-se-755 ( 755) [004] ...1 158003.568027: tracing_mark_write: E 18724 SensorService-1249 ( 1136) [006] ...1 158003.568726: tracing_mark_write: E 18725 SensorService-1249 ( 1136) [006] ...1 158003.568988: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18726 sensors@1.0-se-755 ( 755) [004] ...1 158003.569587: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18727 sensors@1.0-se-755 ( 755) [004] ...1 158003.587216: tracing_mark_write: E 18728 SensorService-1249 ( 1136) [006] ...1 158003.587954: tracing_mark_write: E 18729 SensorService-1249 ( 1136) [006] ...1 158003.588259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18730 sensors@1.0-se-755 ( 755) [004] ...1 158003.588883: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18731 sensors@1.0-se-755 ( 755) [004] ...1 158003.607273: tracing_mark_write: E 18732 SensorService-1249 ( 1136) [006] ...1 158003.608013: tracing_mark_write: E 18733 SensorService-1249 ( 1136) [006] ...1 158003.608301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18734 sensors@1.0-se-755 ( 755) [004] ...1 158003.608936: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18735 sensors@1.0-se-755 ( 755) [004] ...1 158003.626465: tracing_mark_write: E 18736 SensorService-1249 ( 1136) [006] ...1 158003.626816: tracing_mark_write: E 18737 SensorService-1249 ( 1136) [006] ...1 158003.627121: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18738 sensors@1.0-se-755 ( 755) [004] ...1 158003.627758: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18739 sensors@1.0-se-755 ( 755) [004] ...1 158003.647356: tracing_mark_write: E 18740 SensorService-1249 ( 1136) [006] ...1 158003.647797: tracing_mark_write: E 18741 SensorService-1249 ( 1136) [006] ...1 158003.648090: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18742 sensors@1.0-se-755 ( 755) [004] ...1 158003.648688: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18743 sensors@1.0-se-755 ( 755) [004] ...1 158003.666405: tracing_mark_write: E 18744 SensorService-1249 ( 1136) [006] ...1 158003.667056: tracing_mark_write: E 18745 SensorService-1249 ( 1136) [006] ...1 158003.667309: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18746 sensors@1.0-se-755 ( 755) [004] ...1 158003.667940: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18747 sensors@1.0-se-755 ( 755) [004] ...1 158003.686931: tracing_mark_write: E 18748 SensorService-1249 ( 1136) [006] ...1 158003.687091: tracing_mark_write: E 18749 SensorService-1249 ( 1136) [006] ...1 158003.687226: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18750 sensors@1.0-se-755 ( 755) [004] ...1 158003.687841: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18751 sensors@1.0-se-755 ( 755) [004] ...1 158003.707839: tracing_mark_write: E 18752 SensorService-1249 ( 1136) [006] ...1 158003.708549: tracing_mark_write: E 18753 SensorService-1249 ( 1136) [006] ...1 158003.708851: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18754 sensors@1.0-se-755 ( 755) [004] ...1 158003.709451: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18755 sensors@1.0-se-755 ( 755) [004] ...1 158003.728176: tracing_mark_write: E 18756 SensorService-1249 ( 1136) [006] ...1 158003.729155: tracing_mark_write: E 18757 SensorService-1249 ( 1136) [006] ...1 158003.729546: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18758 sensors@1.0-se-755 ( 755) [004] ...1 158003.730221: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18759 sensors@1.0-se-755 ( 755) [004] ...1 158003.747498: tracing_mark_write: E 18760 SensorService-1249 ( 1136) [006] ...1 158003.748332: tracing_mark_write: E 18761 SensorService-1249 ( 1136) [006] ...1 158003.748621: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18762 sensors@1.0-se-755 ( 755) [004] ...1 158003.749228: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18763 sensors@1.0-se-755 ( 755) [004] ...1 158003.767738: tracing_mark_write: E 18764 SensorService-1249 ( 1136) [006] ...1 158003.768463: tracing_mark_write: E 18765 SensorService-1249 ( 1136) [006] ...1 158003.768726: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18766 sensors@1.0-se-755 ( 755) [004] ...1 158003.769324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18767 sensors@1.0-se-755 ( 755) [004] ...1 158003.787083: tracing_mark_write: E 18768 SensorService-1249 ( 1136) [006] ...1 158003.787380: tracing_mark_write: E 18769 SensorService-1249 ( 1136) [006] ...1 158003.787720: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18770 sensors@1.0-se-755 ( 755) [004] ...1 158003.788352: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18771 sensors@1.0-se-755 ( 755) [004] ...1 158003.807839: tracing_mark_write: E 18772 SensorService-1249 ( 1136) [006] ...1 158003.808572: tracing_mark_write: E 18773 SensorService-1249 ( 1136) [006] ...1 158003.808840: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18774 sensors@1.0-se-755 ( 755) [004] ...1 158003.809437: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18775 sensors@1.0-se-755 ( 755) [004] ...1 158003.827874: tracing_mark_write: E 18776 SensorService-1249 ( 1136) [006] ...1 158003.828611: tracing_mark_write: E 18777 SensorService-1249 ( 1136) [006] ...1 158003.828908: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18778 sensors@1.0-se-755 ( 755) [004] ...1 158003.829500: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18779 sensors@1.0-se-755 ( 755) [004] ...1 158003.847360: tracing_mark_write: E 18780 SensorService-1249 ( 1136) [006] ...1 158003.848077: tracing_mark_write: E 18781 SensorService-1249 ( 1136) [006] ...1 158003.848333: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18782 sensors@1.0-se-755 ( 755) [004] ...1 158003.849044: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18783 sensors@1.0-se-755 ( 755) [004] ...1 158003.867508: tracing_mark_write: E 18784 SensorService-1249 ( 1136) [006] ...1 158003.868335: tracing_mark_write: E 18785 SensorService-1249 ( 1136) [006] ...1 158003.868637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18786 sensors@1.0-se-755 ( 755) [004] ...1 158003.868862: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18787 sensors@1.0-se-755 ( 755) [004] ...1 158003.886102: tracing_mark_write: E 18788 SensorService-1249 ( 1136) [006] ...1 158003.886922: tracing_mark_write: E 18789 SensorService-1249 ( 1136) [006] ...1 158003.887201: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18790 sensors@1.0-se-755 ( 755) [004] ...1 158003.887865: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18791 sensors@1.0-se-755 ( 755) [004] ...1 158003.906863: tracing_mark_write: E 18792 SensorService-1249 ( 1136) [006] ...1 158003.907425: tracing_mark_write: E 18793 SensorService-1249 ( 1136) [006] ...1 158003.907773: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18794 sensors@1.0-se-755 ( 755) [004] ...1 158003.907957: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18795 sensors@1.0-se-755 ( 755) [004] ...1 158003.926712: tracing_mark_write: E 18796 SensorService-1249 ( 1136) [006] ...1 158003.927431: tracing_mark_write: E 18797 SensorService-1249 ( 1136) [006] ...1 158003.927813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18798 sensors@1.0-se-755 ( 755) [004] ...1 158003.928002: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18799 sensors@1.0-se-755 ( 755) [004] ...1 158003.946178: tracing_mark_write: E 18800 SensorService-1249 ( 1136) [006] ...1 158003.946699: tracing_mark_write: E 18801 SensorService-1249 ( 1136) [006] ...1 158003.946870: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18802 sensors@1.0-se-755 ( 755) [004] ...1 158003.947103: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18803 sensors@1.0-se-755 ( 755) [004] ...1 158003.966359: tracing_mark_write: E 18804 SensorService-1249 ( 1136) [006] ...1 158003.966888: tracing_mark_write: E 18805 SensorService-1249 ( 1136) [006] ...1 158003.967043: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18806 sensors@1.0-se-755 ( 755) [004] ...1 158003.967196: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18807 sensors@1.0-se-755 ( 755) [004] ...1 158003.987849: tracing_mark_write: E 18808 SensorService-1249 ( 1136) [006] ...1 158003.988626: tracing_mark_write: E 18809 SensorService-1249 ( 1136) [006] ...1 158003.988917: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18810 sensors@1.0-se-755 ( 755) [004] ...1 158003.989660: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18811 sensors@1.0-se-755 ( 755) [004] ...1 158004.007971: tracing_mark_write: E 18812 SensorService-1249 ( 1136) [006] ...1 158004.008947: tracing_mark_write: E 18813 SensorService-1249 ( 1136) [006] ...1 158004.009334: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18814 sensors@1.0-se-755 ( 755) [004] ...1 158004.009946: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18815 sensors@1.0-se-755 ( 755) [004] ...1 158004.030191: tracing_mark_write: E 18816 SensorService-1249 ( 1136) [006] ...1 158004.030982: tracing_mark_write: E 18817 SensorService-1249 ( 1136) [006] ...1 158004.031275: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18818 sensors@1.0-se-755 ( 755) [004] ...1 158004.031950: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18819 sensors@1.0-se-755 ( 755) [004] ...1 158004.047787: tracing_mark_write: E 18820 SensorService-1249 ( 1136) [006] ...1 158004.048522: tracing_mark_write: E 18821 SensorService-1249 ( 1136) [006] ...1 158004.048834: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18822 sensors@1.0-se-755 ( 755) [004] ...1 158004.049429: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18823 sensors@1.0-se-755 ( 755) [004] ...1 158004.067936: tracing_mark_write: E 18824 SensorService-1249 ( 1136) [006] ...1 158004.068635: tracing_mark_write: E 18825 SensorService-1249 ( 1136) [006] ...1 158004.068903: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18826 sensors@1.0-se-755 ( 755) [004] ...1 158004.069392: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18827 sensors@1.0-se-755 ( 755) [004] ...1 158004.088060: tracing_mark_write: E 18828 SensorService-1249 ( 1136) [006] ...1 158004.088801: tracing_mark_write: E 18829 SensorService-1249 ( 1136) [006] ...1 158004.089113: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18830 sensors@1.0-se-755 ( 755) [004] ...1 158004.089776: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18831 sensors@1.0-se-755 ( 755) [004] ...1 158004.108136: tracing_mark_write: E 18832 SensorService-1249 ( 1136) [006] ...1 158004.108421: tracing_mark_write: E 18833 SensorService-1249 ( 1136) [006] ...1 158004.108656: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18834 sensors@1.0-se-755 ( 755) [004] ...1 158004.109206: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18835 sensors@1.0-se-755 ( 755) [004] ...1 158004.127792: tracing_mark_write: E 18836 SensorService-1249 ( 1136) [006] ...1 158004.128083: tracing_mark_write: E 18837 SensorService-1249 ( 1136) [006] ...1 158004.128376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18838 sensors@1.0-se-755 ( 755) [004] ...1 158004.128971: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18839 sensors@1.0-se-755 ( 755) [004] ...1 158004.151535: tracing_mark_write: E 18840 SensorService-1249 ( 1136) [006] ...1 158004.152490: tracing_mark_write: E 18841 SensorService-1249 ( 1136) [006] ...1 158004.152994: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18842 sensors@1.0-se-755 ( 755) [004] ...1 158004.153673: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18843 sensors@1.0-se-755 ( 755) [004] ...1 158004.168573: tracing_mark_write: E 18844 SensorService-1249 ( 1136) [006] ...1 158004.169345: tracing_mark_write: E 18845 SensorService-1249 ( 1136) [006] ...1 158004.169639: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18846 sensors@1.0-se-755 ( 755) [004] ...1 158004.170228: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18847 sensors@1.0-se-755 ( 755) [004] ...1 158004.187428: tracing_mark_write: E 18848 SensorService-1249 ( 1136) [006] ...1 158004.188304: tracing_mark_write: E 18849 SensorService-1249 ( 1136) [006] ...1 158004.188585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18850 sensors@1.0-se-755 ( 755) [004] ...1 158004.189175: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18851 sensors@1.0-se-755 ( 755) [004] ...1 158004.212515: tracing_mark_write: E 18852 SensorService-1249 ( 1136) [006] ...1 158004.213437: tracing_mark_write: E 18853 SensorService-1249 ( 1136) [006] ...1 158004.213835: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18854 sensors@1.0-se-755 ( 755) [004] ...1 158004.214512: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18855 sensors@1.0-se-755 ( 755) [004] ...1 158004.228835: tracing_mark_write: E 18856 SensorService-1249 ( 1136) [006] ...1 158004.229573: tracing_mark_write: E 18857 SensorService-1249 ( 1136) [006] ...1 158004.229866: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18858 sensors@1.0-se-755 ( 755) [004] ...1 158004.230462: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18859 sensors@1.0-se-755 ( 755) [004] ...1 158004.249357: tracing_mark_write: E 18860 SensorService-1249 ( 1136) [006] ...1 158004.250264: tracing_mark_write: E 18861 SensorService-1249 ( 1136) [006] ...1 158004.250682: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18862 sensors@1.0-se-755 ( 755) [004] ...1 158004.251474: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18863 sensors@1.0-se-755 ( 755) [004] ...1 158004.268321: tracing_mark_write: E 18864 SensorService-1249 ( 1136) [006] ...1 158004.269027: tracing_mark_write: E 18865 SensorService-1249 ( 1136) [006] ...1 158004.269312: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18866 sensors@1.0-se-755 ( 755) [004] ...1 158004.269922: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18867 sensors@1.0-se-755 ( 755) [004] ...1 158004.288321: tracing_mark_write: E 18868 SensorService-1249 ( 1136) [006] ...1 158004.289278: tracing_mark_write: E 18869 SensorService-1249 ( 1136) [006] ...1 158004.289651: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18870 sensors@1.0-se-755 ( 755) [004] ...1 158004.290323: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18871 sensors@1.0-se-755 ( 755) [004] ...1 158004.309686: tracing_mark_write: E 18872 SensorService-1249 ( 1136) [006] ...1 158004.310594: tracing_mark_write: E 18873 SensorService-1249 ( 1136) [006] ...1 158004.310966: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18874 sensors@1.0-se-755 ( 755) [004] ...1 158004.311563: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18875 sensors@1.0-se-755 ( 755) [004] ...1 158004.328034: tracing_mark_write: E 18876 SensorService-1249 ( 1136) [006] ...1 158004.328768: tracing_mark_write: E 18877 SensorService-1249 ( 1136) [006] ...1 158004.329031: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18878 sensors@1.0-se-755 ( 755) [004] ...1 158004.329627: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18879 sensors@1.0-se-755 ( 755) [004] ...1 158004.351175: tracing_mark_write: E 18880 SensorService-1249 ( 1136) [006] ...1 158004.352144: tracing_mark_write: E 18881 SensorService-1249 ( 1136) [006] ...1 158004.352591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18882 sensors@1.0-se-755 ( 755) [004] ...1 158004.353253: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18883 sensors@1.0-se-755 ( 755) [004] ...1 158004.367775: tracing_mark_write: E 18884 SensorService-1249 ( 1136) [006] ...1 158004.368359: tracing_mark_write: E 18885 SensorService-1249 ( 1136) [006] ...1 158004.368679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18886 sensors@1.0-se-755 ( 755) [004] ...1 158004.368951: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18887 sensors@1.0-se-755 ( 755) [004] ...1 158004.387144: tracing_mark_write: E 18888 SensorService-1249 ( 1136) [006] ...1 158004.387866: tracing_mark_write: E 18889 SensorService-1249 ( 1136) [006] ...1 158004.388140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18890 sensors@1.0-se-755 ( 755) [004] ...1 158004.388340: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18891 sensors@1.0-se-755 ( 755) [004] ...1 158004.409974: tracing_mark_write: E 18892 SensorService-1249 ( 1136) [006] ...1 158004.410718: tracing_mark_write: E 18893 SensorService-1249 ( 1136) [006] ...1 158004.411131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18894 sensors@1.0-se-755 ( 755) [004] ...1 158004.411736: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18895 sensors@1.0-se-755 ( 755) [004] ...1 158004.428639: tracing_mark_write: E 18896 SensorService-1249 ( 1136) [006] ...1 158004.429562: tracing_mark_write: E 18897 SensorService-1249 ( 1136) [006] ...1 158004.429931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18898 sensors@1.0-se-755 ( 755) [004] ...1 158004.430719: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18899 sensors@1.0-se-755 ( 755) [004] ...1 158004.448591: tracing_mark_write: E 18900 SensorService-1249 ( 1136) [006] ...1 158004.449304: tracing_mark_write: E 18901 SensorService-1249 ( 1136) [006] ...1 158004.449579: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18902 sensors@1.0-se-755 ( 755) [004] ...1 158004.450173: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18903 sensors@1.0-se-755 ( 755) [004] ...1 158004.467722: tracing_mark_write: E 18904 SensorService-1249 ( 1136) [006] ...1 158004.468462: tracing_mark_write: E 18905 SensorService-1249 ( 1136) [006] ...1 158004.468712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18906 sensors@1.0-se-755 ( 755) [004] ...1 158004.468989: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18907 sensors@1.0-se-755 ( 755) [004] ...1 158004.488689: tracing_mark_write: E 18908 SensorService-1249 ( 1136) [006] ...1 158004.489452: tracing_mark_write: E 18909 SensorService-1249 ( 1136) [006] ...1 158004.489709: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18910 sensors@1.0-se-755 ( 755) [004] ...1 158004.490322: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18911 sensors@1.0-se-755 ( 755) [004] ...1 158004.508164: tracing_mark_write: E 18912 SensorService-1249 ( 1136) [006] ...1 158004.508917: tracing_mark_write: E 18913 SensorService-1249 ( 1136) [006] ...1 158004.509180: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18914 sensors@1.0-se-755 ( 755) [004] ...1 158004.509783: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18915 sensors@1.0-se-755 ( 755) [004] ...1 158004.529738: tracing_mark_write: E 18916 SensorService-1249 ( 1136) [006] ...1 158004.530459: tracing_mark_write: E 18917 SensorService-1249 ( 1136) [006] ...1 158004.530744: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18918 sensors@1.0-se-755 ( 755) [004] ...1 158004.531454: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18919 sensors@1.0-se-755 ( 755) [004] ...1 158004.548469: tracing_mark_write: E 18920 SensorService-1249 ( 1136) [006] ...1 158004.549191: tracing_mark_write: E 18921 SensorService-1249 ( 1136) [006] ...1 158004.549460: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18922 sensors@1.0-se-755 ( 755) [004] ...1 158004.550045: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18923 sensors@1.0-se-755 ( 755) [004] ...1 158004.571346: tracing_mark_write: E 18924 SensorService-1249 ( 1136) [006] ...1 158004.572058: tracing_mark_write: E 18925 SensorService-1249 ( 1136) [006] ...1 158004.572317: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18926 sensors@1.0-se-755 ( 755) [004] ...1 158004.572906: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18927 sensors@1.0-se-755 ( 755) [004] ...1 158004.587954: tracing_mark_write: E 18928 SensorService-1249 ( 1136) [006] ...1 158004.588519: tracing_mark_write: E 18929 SensorService-1249 ( 1136) [006] ...1 158004.588779: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18930 sensors@1.0-se-755 ( 755) [004] ...1 158004.589374: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18931 sensors@1.0-se-755 ( 755) [004] ...1 158004.610346: tracing_mark_write: E 18932 SensorService-1249 ( 1136) [006] ...1 158004.611260: tracing_mark_write: E 18933 SensorService-1249 ( 1136) [006] ...1 158004.611624: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18934 sensors@1.0-se-755 ( 755) [004] ...1 158004.612246: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18935 sensors@1.0-se-755 ( 755) [004] ...1 158004.627772: tracing_mark_write: E 18936 SensorService-1249 ( 1136) [006] ...1 158004.628319: tracing_mark_write: E 18937 SensorService-1249 ( 1136) [006] ...1 158004.628551: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18938 sensors@1.0-se-755 ( 755) [004] ...1 158004.629028: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18939 sensors@1.0-se-755 ( 755) [004] ...1 158004.649675: tracing_mark_write: E 18940 SensorService-1249 ( 1136) [006] ...1 158004.650510: tracing_mark_write: E 18941 SensorService-1249 ( 1136) [006] ...1 158004.650761: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18942 sensors@1.0-se-755 ( 755) [004] ...1 158004.651379: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18943 sensors@1.0-se-755 ( 755) [004] ...1 158004.668024: tracing_mark_write: E 18944 SensorService-1249 ( 1136) [006] ...1 158004.668844: tracing_mark_write: E 18945 SensorService-1249 ( 1136) [006] ...1 158004.669256: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18946 sensors@1.0-se-755 ( 755) [004] ...1 158004.669922: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18947 sensors@1.0-se-755 ( 755) [004] ...1 158004.689441: tracing_mark_write: E 18948 SensorService-1249 ( 1136) [006] ...1 158004.690166: tracing_mark_write: E 18949 SensorService-1249 ( 1136) [006] ...1 158004.690425: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18950 sensors@1.0-se-755 ( 755) [004] ...1 158004.691016: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18951 sensors@1.0-se-755 ( 755) [004] ...1 158004.712931: tracing_mark_write: E 18952 SensorService-1249 ( 1136) [006] ...1 158004.713640: tracing_mark_write: E 18953 SensorService-1249 ( 1136) [006] ...1 158004.713922: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18954 sensors@1.0-se-755 ( 755) [004] ...1 158004.714558: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18955 sensors@1.0-se-755 ( 755) [004] ...1 158004.727996: tracing_mark_write: E 18956 SensorService-1249 ( 1136) [006] ...1 158004.728832: tracing_mark_write: E 18957 SensorService-1249 ( 1136) [006] ...1 158004.729237: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18958 sensors@1.0-se-755 ( 755) [004] ...1 158004.729929: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18959 sensors@1.0-se-755 ( 755) [004] ...1 158004.750084: tracing_mark_write: E 18960 SensorService-1249 ( 1136) [006] ...1 158004.750790: tracing_mark_write: E 18961 SensorService-1249 ( 1136) [006] ...1 158004.751168: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18962 sensors@1.0-se-755 ( 755) [004] ...1 158004.751771: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18963 sensors@1.0-se-755 ( 755) [004] ...1 158004.769347: tracing_mark_write: E 18964 SensorService-1249 ( 1136) [006] ...1 158004.770351: tracing_mark_write: E 18965 SensorService-1249 ( 1136) [006] ...1 158004.770856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18966 sensors@1.0-se-755 ( 755) [004] ...1 158004.771468: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18967 sensors@1.0-se-755 ( 755) [004] ...1 158004.790665: tracing_mark_write: E 18968 SensorService-1249 ( 1136) [006] ...1 158004.791387: tracing_mark_write: E 18969 SensorService-1249 ( 1136) [006] ...1 158004.791661: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18970 HwBinder:755_1-1247 ( 755) [000] ...1 158004.792326: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18971 HwBinder:755_1-1247 ( 755) [001] ...1 158004.807722: tracing_mark_write: E 18972 SensorService-1249 ( 1136) [006] ...1 158004.808454: tracing_mark_write: E 18973 SensorService-1249 ( 1136) [006] ...1 158004.808736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18974 HwBinder:755_1-1247 ( 755) [001] ...1 158004.809085: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18975 HwBinder:755_1-1247 ( 755) [001] ...1 158004.828245: tracing_mark_write: E 18976 SensorService-1249 ( 1136) [006] ...1 158004.829543: tracing_mark_write: E 18977 SensorService-1249 ( 1136) [006] ...1 158004.829856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18978 HwBinder:755_1-1247 ( 755) [001] ...1 158004.830231: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18979 HwBinder:755_1-1247 ( 755) [001] ...1 158004.847651: tracing_mark_write: E 18980 SensorService-1249 ( 1136) [006] ...1 158004.848686: tracing_mark_write: E 18981 SensorService-1249 ( 1136) [006] ...1 158004.849106: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18982 HwBinder:755_1-1247 ( 755) [001] ...1 158004.849450: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18983 HwBinder:755_1-1247 ( 755) [001] ...1 158004.876167: tracing_mark_write: E 18984 SensorService-1249 ( 1136) [006] ...1 158004.878140: tracing_mark_write: E 18985 SensorService-1249 ( 1136) [006] ...1 158004.878528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18986 HwBinder:755_1-1247 ( 755) [001] ...1 158004.878857: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18987 HwBinder:755_1-1247 ( 755) [001] ...1 158004.887336: tracing_mark_write: E 18988 SensorService-1249 ( 1136) [006] ...1 158004.887521: tracing_mark_write: E 18989 SensorService-1249 ( 1136) [006] ...1 158004.887785: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18990 HwBinder:755_1-1247 ( 755) [001] ...1 158004.888138: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18991 HwBinder:755_1-1247 ( 755) [002] ...1 158004.908941: tracing_mark_write: E 18992 SensorService-1249 ( 1136) [006] ...1 158004.910687: tracing_mark_write: E 18993 SensorService-1249 ( 1136) [006] ...1 158004.911146: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18994 HwBinder:755_1-1247 ( 755) [002] ...1 158004.911409: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18995 HwBinder:755_1-1247 ( 755) [001] ...1 158004.928850: tracing_mark_write: E 18996 SensorService-1249 ( 1136) [006] ...1 158004.930290: tracing_mark_write: E 18997 SensorService-1249 ( 1136) [006] ...1 158004.930759: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 18998 HwBinder:755_1-1247 ( 755) [001] ...1 158004.931181: tracing_mark_write: B|755|HIDL::ISensors::poll::server 18999 HwBinder:755_1-1247 ( 755) [001] ...1 158004.952642: tracing_mark_write: E 19000 SensorService-1249 ( 1136) [006] ...1 158004.954350: tracing_mark_write: E 19001 SensorService-1249 ( 1136) [006] ...1 158004.954660: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19002 HwBinder:755_1-1247 ( 755) [001] ...1 158004.955313: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19003 HwBinder:755_1-1247 ( 755) [001] ...1 158004.967370: tracing_mark_write: E 19004 SensorService-1249 ( 1136) [006] ...1 158004.968655: tracing_mark_write: E 19005 SensorService-1249 ( 1136) [006] ...1 158004.968891: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19006 HwBinder:755_1-1247 ( 755) [001] ...1 158004.969269: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19007 HwBinder:755_1-1247 ( 755) [001] ...1 158004.989154: tracing_mark_write: E 19008 SensorService-1249 ( 1136) [006] ...1 158004.991300: tracing_mark_write: E 19009 SensorService-1249 ( 1136) [006] ...1 158004.991701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19010 HwBinder:755_1-1247 ( 755) [001] ...1 158004.992364: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19011 HwBinder:755_1-1247 ( 755) [001] ...1 158005.007385: tracing_mark_write: E 19012 SensorService-1249 ( 1136) [006] ...1 158005.008680: tracing_mark_write: E 19013 SensorService-1249 ( 1136) [006] ...1 158005.008921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19014 HwBinder:755_1-1247 ( 755) [001] ...1 158005.009313: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19015 HwBinder:755_1-1247 ( 755) [001] ...1 158005.029220: tracing_mark_write: E 19016 SensorService-1249 ( 1136) [006] ...1 158005.029537: tracing_mark_write: E 19017 SensorService-1249 ( 1136) [006] ...1 158005.029818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19018 HwBinder:755_1-1247 ( 755) [001] ...1 158005.030024: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19019 HwBinder:755_1-1247 ( 755) [001] ...1 158005.047244: tracing_mark_write: E 19020 SensorService-1249 ( 1136) [006] ...1 158005.047419: tracing_mark_write: E 19021 SensorService-1249 ( 1136) [006] ...1 158005.047620: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19022 HwBinder:755_1-1247 ( 755) [001] ...1 158005.048165: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19023 HwBinder:755_1-1247 ( 755) [001] ...1 158005.067899: tracing_mark_write: E 19024 SensorService-1249 ( 1136) [006] ...1 158005.068082: tracing_mark_write: E 19025 SensorService-1249 ( 1136) [006] ...1 158005.068214: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19026 HwBinder:755_1-1247 ( 755) [001] ...1 158005.068671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19027 HwBinder:755_1-1247 ( 755) [002] ...1 158005.087287: tracing_mark_write: E 19028 SensorService-1249 ( 1136) [006] ...1 158005.087499: tracing_mark_write: E 19029 SensorService-1249 ( 1136) [006] ...1 158005.087774: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19030 HwBinder:755_1-1247 ( 755) [002] ...1 158005.088132: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19031 HwBinder:755_1-1247 ( 755) [001] ...1 158005.108403: tracing_mark_write: E 19032 SensorService-1249 ( 1136) [006] ...1 158005.110007: tracing_mark_write: E 19033 SensorService-1249 ( 1136) [006] ...1 158005.110294: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19034 HwBinder:755_1-1247 ( 755) [001] ...1 158005.110928: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19035 HwBinder:755_1-1247 ( 755) [002] ...1 158005.127429: tracing_mark_write: E 19036 SensorService-1249 ( 1136) [006] ...1 158005.127957: tracing_mark_write: E 19037 SensorService-1249 ( 1136) [006] ...1 158005.128191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19038 HwBinder:755_1-1247 ( 755) [002] ...1 158005.128580: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19039 HwBinder:755_1-1247 ( 755) [002] ...1 158005.147808: tracing_mark_write: E 19040 SensorService-1249 ( 1136) [006] ...1 158005.149413: tracing_mark_write: E 19041 SensorService-1249 ( 1136) [006] ...1 158005.149736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19042 sensors@1.0-se-755 ( 755) [004] ...1 158005.150564: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19043 sensors@1.0-se-755 ( 755) [004] ...1 158005.168670: tracing_mark_write: E 19044 SensorService-1249 ( 1136) [006] ...1 158005.169245: tracing_mark_write: E 19045 SensorService-1249 ( 1136) [006] ...1 158005.169518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19046 sensors@1.0-se-755 ( 755) [004] ...1 158005.170001: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19047 sensors@1.0-se-755 ( 755) [004] ...1 158005.189134: tracing_mark_write: E 19048 SensorService-1249 ( 1136) [006] ...1 158005.189975: tracing_mark_write: E 19049 SensorService-1249 ( 1136) [006] ...1 158005.190237: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19050 sensors@1.0-se-755 ( 755) [004] ...1 158005.191000: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19051 sensors@1.0-se-755 ( 755) [004] ...1 158005.210022: tracing_mark_write: E 19052 SensorService-1249 ( 1136) [006] ...1 158005.211018: tracing_mark_write: E 19053 SensorService-1249 ( 1136) [006] ...1 158005.211412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19054 sensors@1.0-se-755 ( 755) [004] ...1 158005.212176: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19055 sensors@1.0-se-755 ( 755) [004] ...1 158005.228942: tracing_mark_write: E 19056 SensorService-1249 ( 1136) [006] ...1 158005.229500: tracing_mark_write: E 19057 SensorService-1249 ( 1136) [006] ...1 158005.229799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19058 sensors@1.0-se-755 ( 755) [004] ...1 158005.230274: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19059 sensors@1.0-se-755 ( 755) [004] ...1 158005.249525: tracing_mark_write: E 19060 SensorService-1249 ( 1136) [006] ...1 158005.250231: tracing_mark_write: E 19061 SensorService-1249 ( 1136) [006] ...1 158005.250552: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19062 sensors@1.0-se-755 ( 755) [004] ...1 158005.251132: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19063 sensors@1.0-se-755 ( 755) [004] ...1 158005.270128: tracing_mark_write: E 19064 SensorService-1249 ( 1136) [006] ...1 158005.271149: tracing_mark_write: E 19065 SensorService-1249 ( 1136) [006] ...1 158005.271554: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19066 sensors@1.0-se-755 ( 755) [004] ...1 158005.272348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19067 sensors@1.0-se-755 ( 755) [004] ...1 158005.289959: tracing_mark_write: E 19068 SensorService-1249 ( 1136) [006] ...1 158005.291309: tracing_mark_write: E 19069 SensorService-1249 ( 1136) [006] ...1 158005.291724: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19070 sensors@1.0-se-755 ( 755) [004] ...1 158005.292466: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19071 sensors@1.0-se-755 ( 755) [004] ...1 158005.310127: tracing_mark_write: E 19072 SensorService-1249 ( 1136) [006] ...1 158005.311112: tracing_mark_write: E 19073 SensorService-1249 ( 1136) [006] ...1 158005.311511: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19074 sensors@1.0-se-755 ( 755) [004] ...1 158005.312177: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19075 sensors@1.0-se-755 ( 755) [004] ...1 158005.329856: tracing_mark_write: E 19076 SensorService-1249 ( 1136) [006] ...1 158005.330765: tracing_mark_write: E 19077 SensorService-1249 ( 1136) [006] ...1 158005.331323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19078 sensors@1.0-se-755 ( 755) [004] ...1 158005.332027: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19079 sensors@1.0-se-755 ( 755) [004] ...1 158005.348792: tracing_mark_write: E 19080 SensorService-1249 ( 1136) [006] ...1 158005.349735: tracing_mark_write: E 19081 SensorService-1249 ( 1136) [006] ...1 158005.350163: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19082 sensors@1.0-se-755 ( 755) [004] ...1 158005.350422: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19083 sensors@1.0-se-755 ( 755) [004] ...1 158005.368991: tracing_mark_write: E 19084 SensorService-1249 ( 1136) [006] ...1 158005.369514: tracing_mark_write: E 19085 SensorService-1249 ( 1136) [006] ...1 158005.369695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19086 sensors@1.0-se-755 ( 755) [004] ...1 158005.369863: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19087 sensors@1.0-se-755 ( 755) [004] ...1 158005.391235: tracing_mark_write: E 19088 SensorService-1249 ( 1136) [006] ...1 158005.391982: tracing_mark_write: E 19089 SensorService-1249 ( 1136) [006] ...1 158005.392312: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19090 sensors@1.0-se-755 ( 755) [004] ...1 158005.392977: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19091 sensors@1.0-se-755 ( 755) [004] ...1 158005.409499: tracing_mark_write: E 19092 SensorService-1249 ( 1136) [006] ...1 158005.410424: tracing_mark_write: E 19093 SensorService-1249 ( 1136) [006] ...1 158005.410862: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19094 sensors@1.0-se-755 ( 755) [004] ...1 158005.411656: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19095 sensors@1.0-se-755 ( 755) [004] ...1 158005.431727: tracing_mark_write: E 19096 SensorService-1249 ( 1136) [006] ...1 158005.432539: tracing_mark_write: E 19097 SensorService-1249 ( 1136) [006] ...1 158005.432850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19098 sensors@1.0-se-755 ( 755) [004] ...1 158005.433429: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19099 sensors@1.0-se-755 ( 755) [004] ...1 158005.449630: tracing_mark_write: E 19100 SensorService-1249 ( 1136) [006] ...1 158005.450564: tracing_mark_write: E 19101 SensorService-1249 ( 1136) [006] ...1 158005.451091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19102 sensors@1.0-se-755 ( 755) [004] ...1 158005.451768: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19103 sensors@1.0-se-755 ( 755) [004] ...1 158005.469176: tracing_mark_write: E 19104 SensorService-1249 ( 1136) [006] ...1 158005.470134: tracing_mark_write: E 19105 SensorService-1249 ( 1136) [006] ...1 158005.470517: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19106 sensors@1.0-se-755 ( 755) [004] ...1 158005.471194: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19107 sensors@1.0-se-755 ( 755) [004] ...1 158005.491274: tracing_mark_write: E 19108 SensorService-1249 ( 1136) [006] ...1 158005.492267: tracing_mark_write: E 19109 SensorService-1249 ( 1136) [006] ...1 158005.492715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19110 sensors@1.0-se-755 ( 755) [004] ...1 158005.493383: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19111 sensors@1.0-se-755 ( 755) [004] ...1 158005.509237: tracing_mark_write: E 19112 SensorService-1249 ( 1136) [006] ...1 158005.509789: tracing_mark_write: E 19113 SensorService-1249 ( 1136) [006] ...1 158005.510052: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19114 sensors@1.0-se-755 ( 755) [004] ...1 158005.510555: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19115 sensors@1.0-se-755 ( 755) [004] ...1 158005.533234: tracing_mark_write: E 19116 SensorService-1249 ( 1136) [006] ...1 158005.534399: tracing_mark_write: E 19117 SensorService-1249 ( 1136) [006] ...1 158005.534817: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19118 sensors@1.0-se-755 ( 755) [004] ...1 158005.535483: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19119 sensors@1.0-se-755 ( 755) [004] ...1 158005.550733: tracing_mark_write: E 19120 SensorService-1249 ( 1136) [006] ...1 158005.551744: tracing_mark_write: E 19121 SensorService-1249 ( 1136) [006] ...1 158005.552125: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19122 sensors@1.0-se-755 ( 755) [004] ...1 158005.552366: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19123 sensors@1.0-se-755 ( 755) [004] ...1 158005.568815: tracing_mark_write: E 19124 SensorService-1249 ( 1136) [006] ...1 158005.569539: tracing_mark_write: E 19125 SensorService-1249 ( 1136) [006] ...1 158005.569815: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19126 sensors@1.0-se-755 ( 755) [004] ...1 158005.570739: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19127 sensors@1.0-se-755 ( 755) [004] ...1 158005.591335: tracing_mark_write: E 19128 SensorService-1249 ( 1136) [006] ...1 158005.592303: tracing_mark_write: E 19129 SensorService-1249 ( 1136) [006] ...1 158005.592683: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19130 sensors@1.0-se-755 ( 755) [004] ...1 158005.593353: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19131 sensors@1.0-se-755 ( 755) [004] ...1 158005.610002: tracing_mark_write: E 19132 SensorService-1249 ( 1136) [006] ...1 158005.611016: tracing_mark_write: E 19133 SensorService-1249 ( 1136) [006] ...1 158005.611387: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19134 sensors@1.0-se-755 ( 755) [004] ...1 158005.612096: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19135 sensors@1.0-se-755 ( 755) [004] ...1 158005.629723: tracing_mark_write: E 19136 SensorService-1249 ( 1136) [006] ...1 158005.630624: tracing_mark_write: E 19137 SensorService-1249 ( 1136) [006] ...1 158005.631167: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19138 sensors@1.0-se-755 ( 755) [004] ...1 158005.631829: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19139 sensors@1.0-se-755 ( 755) [004] ...1 158005.649435: tracing_mark_write: E 19140 SensorService-1249 ( 1136) [006] ...1 158005.650165: tracing_mark_write: E 19141 SensorService-1249 ( 1136) [006] ...1 158005.650478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19142 sensors@1.0-se-755 ( 755) [004] ...1 158005.651139: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19143 sensors@1.0-se-755 ( 755) [004] ...1 158005.679343: tracing_mark_write: E 19144 SensorService-1249 ( 1136) [006] ...1 158005.680227: tracing_mark_write: E 19145 SensorService-1249 ( 1136) [006] ...1 158005.680664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19146 sensors@1.0-se-755 ( 755) [004] ...1 158005.681387: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19147 sensors@1.0-se-755 ( 755) [004] ...1 158005.689995: tracing_mark_write: E 19148 SensorService-1249 ( 1136) [006] ...1 158005.690792: tracing_mark_write: E 19149 SensorService-1249 ( 1136) [006] ...1 158005.691178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19150 sensors@1.0-se-755 ( 755) [004] ...1 158005.691832: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19151 sensors@1.0-se-755 ( 755) [004] ...1 158005.710083: tracing_mark_write: E 19152 SensorService-1249 ( 1136) [006] ...1 158005.711092: tracing_mark_write: E 19153 SensorService-1249 ( 1136) [006] ...1 158005.711492: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19154 sensors@1.0-se-755 ( 755) [004] ...1 158005.712156: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19155 sensors@1.0-se-755 ( 755) [004] ...1 158005.730481: tracing_mark_write: E 19156 SensorService-1249 ( 1136) [006] ...1 158005.731211: tracing_mark_write: E 19157 SensorService-1249 ( 1136) [006] ...1 158005.731555: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19158 sensors@1.0-se-755 ( 755) [004] ...1 158005.732145: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19159 sensors@1.0-se-755 ( 755) [004] ...1 158005.750009: tracing_mark_write: E 19160 SensorService-1249 ( 1136) [006] ...1 158005.750731: tracing_mark_write: E 19161 SensorService-1249 ( 1136) [006] ...1 158005.751126: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19162 sensors@1.0-se-755 ( 755) [004] ...1 158005.751832: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19163 sensors@1.0-se-755 ( 755) [004] ...1 158005.771597: tracing_mark_write: E 19164 SensorService-1249 ( 1136) [006] ...1 158005.771908: tracing_mark_write: E 19165 SensorService-1249 ( 1136) [006] ...1 158005.772208: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19166 sensors@1.0-se-755 ( 755) [004] ...1 158005.772801: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19167 sensors@1.0-se-755 ( 755) [004] ...1 158005.788830: tracing_mark_write: E 19168 SensorService-1249 ( 1136) [006] ...1 158005.789517: tracing_mark_write: E 19169 SensorService-1249 ( 1136) [006] ...1 158005.789777: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19170 sensors@1.0-se-755 ( 755) [004] ...1 158005.790363: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19171 sensors@1.0-se-755 ( 755) [004] ...1 158005.808345: tracing_mark_write: E 19172 SensorService-1249 ( 1136) [006] ...1 158005.808565: tracing_mark_write: E 19173 SensorService-1249 ( 1136) [006] ...1 158005.808822: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19174 sensors@1.0-se-755 ( 755) [004] ...1 158005.809309: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19175 sensors@1.0-se-755 ( 755) [004] ...1 158005.827951: tracing_mark_write: E 19176 SensorService-1249 ( 1136) [006] ...1 158005.828368: tracing_mark_write: E 19177 SensorService-1249 ( 1136) [006] ...1 158005.828548: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19178 sensors@1.0-se-755 ( 755) [004] ...1 158005.828982: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19179 sensors@1.0-se-755 ( 755) [004] ...1 158005.848792: tracing_mark_write: E 19180 SensorService-1249 ( 1136) [006] ...1 158005.849566: tracing_mark_write: E 19181 SensorService-1249 ( 1136) [006] ...1 158005.849878: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19182 sensors@1.0-se-755 ( 755) [004] ...1 158005.850452: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19183 sensors@1.0-se-755 ( 755) [004] ...1 158005.869791: tracing_mark_write: E 19184 SensorService-1249 ( 1136) [006] ...1 158005.870509: tracing_mark_write: E 19185 SensorService-1249 ( 1136) [006] ...1 158005.870832: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19186 sensors@1.0-se-755 ( 755) [004] ...1 158005.871498: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19187 sensors@1.0-se-755 ( 755) [004] ...1 158005.888248: tracing_mark_write: E 19188 SensorService-1249 ( 1136) [006] ...1 158005.888417: tracing_mark_write: E 19189 SensorService-1249 ( 1136) [006] ...1 158005.888574: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19190 sensors@1.0-se-755 ( 755) [004] ...1 158005.888930: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19191 sensors@1.0-se-755 ( 755) [004] ...1 158005.908165: tracing_mark_write: E 19192 SensorService-1249 ( 1136) [006] ...1 158005.908189: tracing_mark_write: E 19193 SensorService-1249 ( 1136) [006] ...1 158005.908211: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19194 sensors@1.0-se-755 ( 755) [004] ...1 158005.908609: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19195 sensors@1.0-se-755 ( 755) [004] ...1 158005.928100: tracing_mark_write: E 19196 SensorService-1249 ( 1136) [006] ...1 158005.928119: tracing_mark_write: E 19197 SensorService-1249 ( 1136) [006] ...1 158005.928135: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19198 sensors@1.0-se-755 ( 755) [004] ...1 158005.928399: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19199 sensors@1.0-se-755 ( 755) [004] ...1 158005.947752: tracing_mark_write: E 19200 SensorService-1249 ( 1136) [006] ...1 158005.947793: tracing_mark_write: E 19201 SensorService-1249 ( 1136) [006] ...1 158005.947818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19202 sensors@1.0-se-755 ( 755) [004] ...1 158005.947841: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19203 sensors@1.0-se-755 ( 755) [004] ...1 158005.968414: tracing_mark_write: E 19204 SensorService-1249 ( 1136) [006] ...1 158005.968654: tracing_mark_write: E 19205 SensorService-1249 ( 1136) [006] ...1 158005.968690: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19206 sensors@1.0-se-755 ( 755) [004] ...1 158005.968957: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19207 sensors@1.0-se-755 ( 755) [004] ...1 158005.988396: tracing_mark_write: E 19208 SensorService-1249 ( 1136) [006] ...1 158005.988634: tracing_mark_write: E 19209 SensorService-1249 ( 1136) [006] ...1 158005.988681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19210 sensors@1.0-se-755 ( 755) [004] ...1 158005.988715: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19211 sensors@1.0-se-755 ( 755) [004] ...1 158006.008423: tracing_mark_write: E 19212 SensorService-1249 ( 1136) [006] ...1 158006.008685: tracing_mark_write: E 19213 SensorService-1249 ( 1136) [006] ...1 158006.008753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19214 sensors@1.0-se-755 ( 755) [004] ...1 158006.009038: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19215 sensors@1.0-se-755 ( 755) [006] ...1 158006.028147: tracing_mark_write: E 19216 SensorService-1249 ( 1136) [000] ...1 158006.028295: tracing_mark_write: E 19217 SensorService-1249 ( 1136) [000] ...1 158006.028491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19218 sensors@1.0-se-755 ( 755) [006] ...1 158006.028922: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19219 sensors@1.0-se-755 ( 755) [007] ...1 158006.047883: tracing_mark_write: E 19220 SensorService-1249 ( 1136) [000] ...1 158006.047996: tracing_mark_write: E 19221 SensorService-1249 ( 1136) [000] ...1 158006.048130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19222 sensors@1.0-se-755 ( 755) [007] ...1 158006.048385: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19223 sensors@1.0-se-755 ( 755) [007] ...1 158006.068886: tracing_mark_write: E 19224 SensorService-1249 ( 1136) [000] ...1 158006.068990: tracing_mark_write: E 19225 SensorService-1249 ( 1136) [000] ...1 158006.069118: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19226 sensors@1.0-se-755 ( 755) [007] ...1 158006.070733: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19227 sensors@1.0-se-755 ( 755) [007] ...1 158006.088091: tracing_mark_write: E 19228 SensorService-1249 ( 1136) [000] ...1 158006.088195: tracing_mark_write: E 19229 SensorService-1249 ( 1136) [000] ...1 158006.088306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19230 sensors@1.0-se-755 ( 755) [007] ...1 158006.088413: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19231 sensors@1.0-se-755 ( 755) [004] ...1 158006.108436: tracing_mark_write: E 19232 SensorService-1249 ( 1136) [000] ...1 158006.108553: tracing_mark_write: E 19233 SensorService-1249 ( 1136) [000] ...1 158006.108658: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19234 sensors@1.0-se-755 ( 755) [004] ...1 158006.108931: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19235 sensors@1.0-se-755 ( 755) [004] ...1 158006.128261: tracing_mark_write: E 19236 SensorService-1249 ( 1136) [000] ...1 158006.128407: tracing_mark_write: E 19237 SensorService-1249 ( 1136) [000] ...1 158006.128528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19238 sensors@1.0-se-755 ( 755) [004] ...1 158006.128940: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19239 sensors@1.0-se-755 ( 755) [004] ...1 158006.148501: tracing_mark_write: E 19240 SensorService-1249 ( 1136) [000] ...1 158006.148686: tracing_mark_write: E 19241 SensorService-1249 ( 1136) [000] ...1 158006.148847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19242 sensors@1.0-se-755 ( 755) [004] ...1 158006.149238: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19243 sensors@1.0-se-755 ( 755) [004] ...1 158006.168668: tracing_mark_write: E 19244 SensorService-1249 ( 1136) [000] ...1 158006.168840: tracing_mark_write: E 19245 SensorService-1249 ( 1136) [000] ...1 158006.168971: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19246 sensors@1.0-se-755 ( 755) [004] ...1 158006.169548: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19247 sensors@1.0-se-755 ( 755) [004] ...1 158006.190982: tracing_mark_write: E 19248 SensorService-1249 ( 1136) [000] ...1 158006.191779: tracing_mark_write: E 19249 SensorService-1249 ( 1136) [000] ...1 158006.192128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19250 sensors@1.0-se-755 ( 755) [004] ...1 158006.194150: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19251 sensors@1.0-se-755 ( 755) [004] ...1 158006.210171: tracing_mark_write: E 19252 SensorService-1249 ( 1136) [000] ...1 158006.210468: tracing_mark_write: E 19253 SensorService-1249 ( 1136) [000] ...1 158006.210772: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19254 sensors@1.0-se-755 ( 755) [004] ...1 158006.211519: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19255 sensors@1.0-se-755 ( 755) [004] ...1 158006.229411: tracing_mark_write: E 19256 SensorService-1249 ( 1136) [000] ...1 158006.229991: tracing_mark_write: E 19257 SensorService-1249 ( 1136) [000] ...1 158006.230207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19258 sensors@1.0-se-755 ( 755) [004] ...1 158006.232287: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19259 sensors@1.0-se-755 ( 755) [004] ...1 158006.250171: tracing_mark_write: E 19260 SensorService-1249 ( 1136) [000] ...1 158006.250584: tracing_mark_write: E 19261 SensorService-1249 ( 1136) [000] ...1 158006.251053: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19262 sensors@1.0-se-755 ( 755) [004] ...1 158006.252179: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19263 sensors@1.0-se-755 ( 755) [004] ...1 158006.270604: tracing_mark_write: E 19264 SensorService-1249 ( 1136) [000] ...1 158006.271263: tracing_mark_write: E 19265 SensorService-1249 ( 1136) [000] ...1 158006.271471: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19266 sensors@1.0-se-755 ( 755) [004] ...1 158006.272657: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19267 sensors@1.0-se-755 ( 755) [004] ...1 158006.291840: tracing_mark_write: E 19268 SensorService-1249 ( 1136) [000] ...1 158006.292145: tracing_mark_write: E 19269 SensorService-1249 ( 1136) [000] ...1 158006.292418: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19270 sensors@1.0-se-755 ( 755) [004] ...1 158006.293649: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19271 sensors@1.0-se-755 ( 755) [004] ...1 158006.311382: tracing_mark_write: E 19272 SensorService-1249 ( 1136) [000] ...1 158006.311795: tracing_mark_write: E 19273 SensorService-1249 ( 1136) [000] ...1 158006.312166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19274 sensors@1.0-se-755 ( 755) [004] ...1 158006.313546: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19275 sensors@1.0-se-755 ( 755) [004] ...1 158006.335119: tracing_mark_write: E 19276 SensorService-1249 ( 1136) [000] ...1 158006.335387: tracing_mark_write: E 19277 SensorService-1249 ( 1136) [000] ...1 158006.335617: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19278 sensors@1.0-se-755 ( 755) [004] ...1 158006.336799: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19279 sensors@1.0-se-755 ( 755) [004] ...1 158006.349820: tracing_mark_write: E 19280 SensorService-1249 ( 1136) [000] ...1 158006.350094: tracing_mark_write: E 19281 SensorService-1249 ( 1136) [000] ...1 158006.350319: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19282 sensors@1.0-se-755 ( 755) [004] ...1 158006.351683: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19283 sensors@1.0-se-755 ( 755) [004] ...1 158006.374443: tracing_mark_write: E 19284 SensorService-1249 ( 1136) [000] ...1 158006.375315: tracing_mark_write: E 19285 SensorService-1249 ( 1136) [000] ...1 158006.375742: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19286 sensors@1.0-se-755 ( 755) [004] ...1 158006.376558: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19287 sensors@1.0-se-755 ( 755) [004] ...1 158006.391063: tracing_mark_write: E 19288 SensorService-1249 ( 1136) [000] ...1 158006.391311: tracing_mark_write: E 19289 SensorService-1249 ( 1136) [000] ...1 158006.391550: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19290 sensors@1.0-se-755 ( 755) [004] ...1 158006.392790: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19291 sensors@1.0-se-755 ( 755) [004] ...1 158006.412313: tracing_mark_write: E 19292 SensorService-1249 ( 1136) [000] ...1 158006.414643: tracing_mark_write: E 19293 SensorService-1249 ( 1136) [000] ...1 158006.415141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19294 sensors@1.0-se-755 ( 755) [004] ...1 158006.417290: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19295 sensors@1.0-se-755 ( 755) [004] ...1 158006.431154: tracing_mark_write: E 19296 SensorService-1249 ( 1136) [000] ...1 158006.431594: tracing_mark_write: E 19297 SensorService-1249 ( 1136) [000] ...1 158006.431824: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19298 sensors@1.0-se-755 ( 755) [004] ...1 158006.433936: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19299 sensors@1.0-se-755 ( 755) [004] ...1 158006.450621: tracing_mark_write: E 19300 SensorService-1249 ( 1136) [000] ...1 158006.450932: tracing_mark_write: E 19301 SensorService-1249 ( 1136) [000] ...1 158006.451119: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19302 sensors@1.0-se-755 ( 755) [004] ...1 158006.452403: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19303 sensors@1.0-se-755 ( 755) [004] ...1 158006.474559: tracing_mark_write: E 19304 SensorService-1249 ( 1136) [000] ...1 158006.475167: tracing_mark_write: E 19305 SensorService-1249 ( 1136) [000] ...1 158006.475536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19306 sensors@1.0-se-755 ( 755) [004] ...1 158006.477807: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19307 sensors@1.0-se-755 ( 755) [004] ...1 158006.490147: tracing_mark_write: E 19308 SensorService-1249 ( 1136) [000] ...1 158006.490827: tracing_mark_write: E 19309 SensorService-1249 ( 1136) [000] ...1 158006.491084: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19310 sensors@1.0-se-755 ( 755) [004] ...1 158006.493006: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19311 sensors@1.0-se-755 ( 755) [004] ...1 158006.511354: tracing_mark_write: E 19312 SensorService-1249 ( 1136) [000] ...1 158006.511754: tracing_mark_write: E 19313 SensorService-1249 ( 1136) [000] ...1 158006.512032: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19314 sensors@1.0-se-755 ( 755) [004] ...1 158006.513527: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19315 sensors@1.0-se-755 ( 755) [004] ...1 158006.531621: tracing_mark_write: E 19316 SensorService-1249 ( 1136) [000] ...1 158006.532046: tracing_mark_write: E 19317 SensorService-1249 ( 1136) [000] ...1 158006.532363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19318 sensors@1.0-se-755 ( 755) [004] ...1 158006.534614: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19319 sensors@1.0-se-755 ( 755) [004] ...1 158006.550557: tracing_mark_write: E 19320 SensorService-1249 ( 1136) [000] ...1 158006.551094: tracing_mark_write: E 19321 SensorService-1249 ( 1136) [000] ...1 158006.551307: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19322 sensors@1.0-se-755 ( 755) [004] ...1 158006.553408: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19323 sensors@1.0-se-755 ( 755) [004] ...1 158006.575839: tracing_mark_write: E 19324 SensorService-1249 ( 1136) [000] ...1 158006.576314: tracing_mark_write: E 19325 SensorService-1249 ( 1136) [000] ...1 158006.576698: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19326 sensors@1.0-se-755 ( 755) [004] ...1 158006.579050: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19327 sensors@1.0-se-755 ( 755) [004] ...1 158006.589857: tracing_mark_write: E 19328 SensorService-1249 ( 1136) [000] ...1 158006.590079: tracing_mark_write: E 19329 SensorService-1249 ( 1136) [000] ...1 158006.590234: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19330 sensors@1.0-se-755 ( 755) [004] ...1 158006.591203: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19331 sensors@1.0-se-755 ( 755) [004] ...1 158006.611815: tracing_mark_write: E 19332 SensorService-1249 ( 1136) [000] ...1 158006.613799: tracing_mark_write: E 19333 SensorService-1249 ( 1136) [000] ...1 158006.614104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19334 sensors@1.0-se-755 ( 755) [004] ...1 158006.616129: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19335 sensors@1.0-se-755 ( 755) [004] ...1 158006.630324: tracing_mark_write: E 19336 SensorService-1249 ( 1136) [000] ...1 158006.630593: tracing_mark_write: E 19337 SensorService-1249 ( 1136) [000] ...1 158006.630799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19338 sensors@1.0-se-755 ( 755) [004] ...1 158006.632073: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19339 sensors@1.0-se-755 ( 755) [004] ...1 158006.650804: tracing_mark_write: E 19340 SensorService-1249 ( 1136) [000] ...1 158006.651212: tracing_mark_write: E 19341 SensorService-1249 ( 1136) [000] ...1 158006.651439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19342 sensors@1.0-se-755 ( 755) [004] ...1 158006.652637: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19343 sensors@1.0-se-755 ( 755) [004] ...1 158006.675294: tracing_mark_write: E 19344 SensorService-1249 ( 1136) [000] ...1 158006.675818: tracing_mark_write: E 19345 SensorService-1249 ( 1136) [000] ...1 158006.676324: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19346 sensors@1.0-se-755 ( 755) [004] ...1 158006.678428: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19347 sensors@1.0-se-755 ( 755) [004] ...1 158006.691165: tracing_mark_write: E 19348 SensorService-1249 ( 1136) [000] ...1 158006.691435: tracing_mark_write: E 19349 SensorService-1249 ( 1136) [000] ...1 158006.691655: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19350 sensors@1.0-se-755 ( 755) [004] ...1 158006.692903: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19351 sensors@1.0-se-755 ( 755) [004] ...1 158006.713554: tracing_mark_write: E 19352 SensorService-1249 ( 1136) [000] ...1 158006.714594: tracing_mark_write: E 19353 SensorService-1249 ( 1136) [000] ...1 158006.715110: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19354 sensors@1.0-se-755 ( 755) [004] ...1 158006.717092: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19355 sensors@1.0-se-755 ( 755) [004] ...1 158006.730529: tracing_mark_write: E 19356 SensorService-1249 ( 1136) [000] ...1 158006.730786: tracing_mark_write: E 19357 SensorService-1249 ( 1136) [000] ...1 158006.731030: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19358 sensors@1.0-se-755 ( 755) [004] ...1 158006.732407: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19359 sensors@1.0-se-755 ( 755) [004] ...1 158006.750563: tracing_mark_write: E 19360 SensorService-1249 ( 1136) [000] ...1 158006.750799: tracing_mark_write: E 19361 SensorService-1249 ( 1136) [000] ...1 158006.751060: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19362 sensors@1.0-se-755 ( 755) [004] ...1 158006.752100: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19363 sensors@1.0-se-755 ( 755) [004] ...1 158006.770679: tracing_mark_write: E 19364 SensorService-1249 ( 1136) [000] ...1 158006.771161: tracing_mark_write: E 19365 SensorService-1249 ( 1136) [000] ...1 158006.771529: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19366 sensors@1.0-se-755 ( 755) [004] ...1 158006.774060: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19367 sensors@1.0-se-755 ( 755) [004] ...1 158006.791104: tracing_mark_write: E 19368 SensorService-1249 ( 1136) [000] ...1 158006.791847: tracing_mark_write: E 19369 SensorService-1249 ( 1136) [000] ...1 158006.792181: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19370 sensors@1.0-se-755 ( 755) [004] ...1 158006.794482: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19371 sensors@1.0-se-755 ( 755) [004] ...1 158006.811069: tracing_mark_write: E 19372 SensorService-1249 ( 1136) [000] ...1 158006.811445: tracing_mark_write: E 19373 SensorService-1249 ( 1136) [000] ...1 158006.811672: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19374 sensors@1.0-se-755 ( 755) [004] ...1 158006.812759: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19375 sensors@1.0-se-755 ( 755) [004] ...1 158006.831189: tracing_mark_write: E 19376 SensorService-1249 ( 1136) [000] ...1 158006.831859: tracing_mark_write: E 19377 SensorService-1249 ( 1136) [000] ...1 158006.832187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19378 sensors@1.0-se-755 ( 755) [004] ...1 158006.834808: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19379 sensors@1.0-se-755 ( 755) [004] ...1 158006.849939: tracing_mark_write: E 19380 SensorService-1249 ( 1136) [000] ...1 158006.850128: tracing_mark_write: E 19381 SensorService-1249 ( 1136) [000] ...1 158006.850246: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19382 sensors@1.0-se-755 ( 755) [004] ...1 158006.851217: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19383 sensors@1.0-se-755 ( 755) [004] ...1 158006.871137: tracing_mark_write: E 19384 SensorService-1249 ( 1136) [000] ...1 158006.871403: tracing_mark_write: E 19385 SensorService-1249 ( 1136) [000] ...1 158006.871611: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19386 sensors@1.0-se-755 ( 755) [004] ...1 158006.873111: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19387 sensors@1.0-se-755 ( 755) [004] ...1 158006.894180: tracing_mark_write: E 19388 SensorService-1249 ( 1136) [000] ...1 158006.896493: tracing_mark_write: E 19389 SensorService-1249 ( 1136) [000] ...1 158006.897042: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19390 sensors@1.0-se-755 ( 755) [004] ...1 158006.898873: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19391 sensors@1.0-se-755 ( 755) [004] ...1 158006.910097: tracing_mark_write: E 19392 SensorService-1249 ( 1136) [000] ...1 158006.910313: tracing_mark_write: E 19393 SensorService-1249 ( 1136) [000] ...1 158006.910458: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19394 sensors@1.0-se-755 ( 755) [004] ...1 158006.911405: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19395 sensors@1.0-se-755 ( 755) [004] ...1 158006.934723: tracing_mark_write: E 19396 SensorService-1249 ( 1136) [000] ...1 158006.935467: tracing_mark_write: E 19397 SensorService-1249 ( 1136) [000] ...1 158006.935810: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19398 sensors@1.0-se-755 ( 755) [004] ...1 158006.937901: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19399 sensors@1.0-se-755 ( 755) [004] ...1 158006.950516: tracing_mark_write: E 19400 SensorService-1249 ( 1136) [000] ...1 158006.950772: tracing_mark_write: E 19401 SensorService-1249 ( 1136) [000] ...1 158006.951003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19402 sensors@1.0-se-755 ( 755) [004] ...1 158006.952336: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19403 sensors@1.0-se-755 ( 755) [004] ...1 158006.972826: tracing_mark_write: E 19404 SensorService-1249 ( 1136) [000] ...1 158006.973559: tracing_mark_write: E 19405 SensorService-1249 ( 1136) [000] ...1 158006.973792: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19406 sensors@1.0-se-755 ( 755) [004] ...1 158006.975648: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19407 sensors@1.0-se-755 ( 755) [004] ...1 158006.990326: tracing_mark_write: E 19408 SensorService-1249 ( 1136) [000] ...1 158006.990716: tracing_mark_write: E 19409 SensorService-1249 ( 1136) [000] ...1 158006.991137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19410 sensors@1.0-se-755 ( 755) [004] ...1 158006.993417: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19411 sensors@1.0-se-755 ( 755) [004] ...1 158007.012925: tracing_mark_write: E 19412 SensorService-1249 ( 1136) [000] ...1 158007.013494: tracing_mark_write: E 19413 SensorService-1249 ( 1136) [000] ...1 158007.013728: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19414 sensors@1.0-se-755 ( 755) [004] ...1 158007.015795: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19415 sensors@1.0-se-755 ( 755) [004] ...1 158007.032157: tracing_mark_write: E 19416 SensorService-1249 ( 1136) [000] ...1 158007.033622: tracing_mark_write: E 19417 SensorService-1249 ( 1136) [000] ...1 158007.034085: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19418 sensors@1.0-se-755 ( 755) [004] ...1 158007.036378: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19419 sensors@1.0-se-755 ( 755) [004] ...1 158007.050994: tracing_mark_write: E 19420 SensorService-1249 ( 1136) [000] ...1 158007.051321: tracing_mark_write: E 19421 SensorService-1249 ( 1136) [000] ...1 158007.051525: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19422 sensors@1.0-se-755 ( 755) [004] ...1 158007.052614: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19423 sensors@1.0-se-755 ( 755) [004] ...1 158007.069956: tracing_mark_write: E 19424 SensorService-1249 ( 1136) [000] ...1 158007.070143: tracing_mark_write: E 19425 SensorService-1249 ( 1136) [000] ...1 158007.070251: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19426 sensors@1.0-se-755 ( 755) [004] ...1 158007.071079: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19427 sensors@1.0-se-755 ( 755) [004] ...1 158007.089587: tracing_mark_write: E 19428 SensorService-1249 ( 1136) [000] ...1 158007.089771: tracing_mark_write: E 19429 SensorService-1249 ( 1136) [000] ...1 158007.089879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19430 sensors@1.0-se-755 ( 755) [004] ...1 158007.090397: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19431 sensors@1.0-se-755 ( 755) [004] ...1 158007.109502: tracing_mark_write: E 19432 SensorService-1249 ( 1136) [000] ...1 158007.109702: tracing_mark_write: E 19433 SensorService-1249 ( 1136) [000] ...1 158007.109910: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19434 sensors@1.0-se-755 ( 755) [004] ...1 158007.110510: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19435 sensors@1.0-se-755 ( 755) [004] ...1 158007.129613: tracing_mark_write: E 19436 SensorService-1249 ( 1136) [000] ...1 158007.129780: tracing_mark_write: E 19437 SensorService-1249 ( 1136) [000] ...1 158007.129941: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19438 sensors@1.0-se-755 ( 755) [005] ...1 158007.130427: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19439 sensors@1.0-se-755 ( 755) [004] ...1 158007.151085: tracing_mark_write: E 19440 SensorService-1249 ( 1136) [000] ...1 158007.152857: tracing_mark_write: E 19441 SensorService-1249 ( 1136) [000] ...1 158007.153145: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19442 sensors@1.0-se-755 ( 755) [004] ...1 158007.155067: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19443 sensors@1.0-se-755 ( 755) [004] ...1 158007.170866: tracing_mark_write: E 19444 SensorService-1249 ( 1136) [000] ...1 158007.171677: tracing_mark_write: E 19445 SensorService-1249 ( 1136) [000] ...1 158007.171970: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19446 sensors@1.0-se-755 ( 755) [004] ...1 158007.173911: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19447 sensors@1.0-se-755 ( 755) [004] ...1 158007.193942: tracing_mark_write: E 19448 SensorService-1249 ( 1136) [002] ...1 158007.195123: tracing_mark_write: E 19449 SensorService-1249 ( 1136) [002] ...1 158007.195380: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19450 sensors@1.0-se-755 ( 755) [004] ...1 158007.197154: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19451 sensors@1.0-se-755 ( 755) [004] ...1 158007.211140: tracing_mark_write: E 19452 SensorService-1249 ( 1136) [002] ...1 158007.211648: tracing_mark_write: E 19453 SensorService-1249 ( 1136) [002] ...1 158007.211832: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19454 sensors@1.0-se-755 ( 755) [004] ...1 158007.213939: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19455 sensors@1.0-se-755 ( 755) [004] ...1 158007.232930: tracing_mark_write: E 19456 SensorService-1249 ( 1136) [002] ...1 158007.233691: tracing_mark_write: E 19457 SensorService-1249 ( 1136) [002] ...1 158007.234057: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19458 sensors@1.0-se-755 ( 755) [004] ...1 158007.236047: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19459 sensors@1.0-se-755 ( 755) [004] ...1 158007.250603: tracing_mark_write: E 19460 SensorService-1249 ( 1136) [002] ...1 158007.251026: tracing_mark_write: E 19461 SensorService-1249 ( 1136) [002] ...1 158007.251197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19462 sensors@1.0-se-755 ( 755) [004] ...1 158007.252311: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19463 sensors@1.0-se-755 ( 755) [004] ...1 158007.271231: tracing_mark_write: E 19464 SensorService-1249 ( 1136) [002] ...1 158007.271803: tracing_mark_write: E 19465 SensorService-1249 ( 1136) [002] ...1 158007.272028: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19466 sensors@1.0-se-755 ( 755) [004] ...1 158007.274074: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19467 sensors@1.0-se-755 ( 755) [004] ...1 158007.290729: tracing_mark_write: E 19468 SensorService-1249 ( 1136) [002] ...1 158007.291370: tracing_mark_write: E 19469 SensorService-1249 ( 1136) [002] ...1 158007.291588: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19470 sensors@1.0-se-755 ( 755) [004] ...1 158007.293809: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19471 sensors@1.0-se-755 ( 755) [004] ...1 158007.312441: tracing_mark_write: E 19472 SensorService-1249 ( 1136) [002] ...1 158007.313209: tracing_mark_write: E 19473 SensorService-1249 ( 1136) [002] ...1 158007.313444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19474 sensors@1.0-se-755 ( 755) [004] ...1 158007.315104: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19475 sensors@1.0-se-755 ( 755) [004] ...1 158007.331854: tracing_mark_write: E 19476 SensorService-1249 ( 1136) [002] ...1 158007.332639: tracing_mark_write: E 19477 SensorService-1249 ( 1136) [002] ...1 158007.332957: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19478 sensors@1.0-se-755 ( 755) [004] ...1 158007.333249: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19479 sensors@1.0-se-755 ( 755) [004] ...1 158007.352517: tracing_mark_write: E 19480 SensorService-1249 ( 1136) [002] ...1 158007.353086: tracing_mark_write: E 19481 SensorService-1249 ( 1136) [002] ...1 158007.353310: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19482 sensors@1.0-se-755 ( 755) [004] ...1 158007.355357: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19483 sensors@1.0-se-755 ( 755) [004] ...1 158007.373025: tracing_mark_write: E 19484 SensorService-1249 ( 1136) [002] ...1 158007.373823: tracing_mark_write: E 19485 SensorService-1249 ( 1136) [002] ...1 158007.374197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19486 sensors@1.0-se-755 ( 755) [004] ...1 158007.374660: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19487 sensors@1.0-se-755 ( 755) [004] ...1 158007.390474: tracing_mark_write: E 19488 SensorService-1249 ( 1136) [002] ...1 158007.391038: tracing_mark_write: E 19489 SensorService-1249 ( 1136) [002] ...1 158007.391270: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19490 sensors@1.0-se-755 ( 755) [004] ...1 158007.391923: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19491 sensors@1.0-se-755 ( 755) [004] ...1 158007.411067: tracing_mark_write: E 19492 SensorService-1249 ( 1136) [002] ...1 158007.411626: tracing_mark_write: E 19493 SensorService-1249 ( 1136) [002] ...1 158007.411885: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19494 sensors@1.0-se-755 ( 755) [004] ...1 158007.412109: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19495 sensors@1.0-se-755 ( 755) [004] ...1 158007.429791: tracing_mark_write: E 19496 SensorService-1249 ( 1136) [002] ...1 158007.430281: tracing_mark_write: E 19497 SensorService-1249 ( 1136) [002] ...1 158007.430486: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19498 sensors@1.0-se-755 ( 755) [004] ...1 158007.432506: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19499 sensors@1.0-se-755 ( 755) [004] ...1 158007.451308: tracing_mark_write: E 19500 SensorService-1249 ( 1136) [002] ...1 158007.451899: tracing_mark_write: E 19501 SensorService-1249 ( 1136) [002] ...1 158007.452128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19502 sensors@1.0-se-755 ( 755) [004] ...1 158007.454138: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19503 sensors@1.0-se-755 ( 755) [004] ...1 158007.472130: tracing_mark_write: E 19504 SensorService-1249 ( 1136) [002] ...1 158007.472933: tracing_mark_write: E 19505 SensorService-1249 ( 1136) [002] ...1 158007.473255: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19506 sensors@1.0-se-755 ( 755) [005] ...1 158007.474132: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19507 sensors@1.0-se-755 ( 755) [004] ...1 158007.491241: tracing_mark_write: E 19508 SensorService-1249 ( 1136) [002] ...1 158007.491583: tracing_mark_write: E 19509 SensorService-1249 ( 1136) [002] ...1 158007.491887: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19510 sensors@1.0-se-755 ( 755) [004] ...1 158007.493886: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19511 sensors@1.0-se-755 ( 755) [004] ...1 158007.511352: tracing_mark_write: E 19512 SensorService-1249 ( 1136) [002] ...1 158007.511758: tracing_mark_write: E 19513 SensorService-1249 ( 1136) [002] ...1 158007.512101: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19514 sensors@1.0-se-755 ( 755) [004] ...1 158007.513578: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19515 sensors@1.0-se-755 ( 755) [004] ...1 158007.531137: tracing_mark_write: E 19516 SensorService-1249 ( 1136) [002] ...1 158007.531398: tracing_mark_write: E 19517 SensorService-1249 ( 1136) [002] ...1 158007.531600: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19518 sensors@1.0-se-755 ( 755) [004] ...1 158007.532840: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19519 sensors@1.0-se-755 ( 755) [004] ...1 158007.551787: tracing_mark_write: E 19520 SensorService-1249 ( 1136) [002] ...1 158007.552501: tracing_mark_write: E 19521 SensorService-1249 ( 1136) [002] ...1 158007.552837: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19522 sensors@1.0-se-755 ( 755) [004] ...1 158007.555210: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19523 sensors@1.0-se-755 ( 755) [004] ...1 158007.571288: tracing_mark_write: E 19524 SensorService-1249 ( 1136) [002] ...1 158007.571812: tracing_mark_write: E 19525 SensorService-1249 ( 1136) [002] ...1 158007.572011: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19526 sensors@1.0-se-755 ( 755) [004] ...1 158007.574093: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19527 sensors@1.0-se-755 ( 755) [004] ...1 158007.590736: tracing_mark_write: E 19528 SensorService-1249 ( 1136) [002] ...1 158007.591145: tracing_mark_write: E 19529 SensorService-1249 ( 1136) [002] ...1 158007.591305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19530 sensors@1.0-se-755 ( 755) [004] ...1 158007.592101: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19531 sensors@1.0-se-755 ( 755) [004] ...1 158007.609917: tracing_mark_write: E 19532 SensorService-1249 ( 1136) [002] ...1 158007.610107: tracing_mark_write: E 19533 SensorService-1249 ( 1136) [002] ...1 158007.610248: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19534 sensors@1.0-se-755 ( 755) [004] ...1 158007.610395: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19535 sensors@1.0-se-755 ( 755) [004] ...1 158007.629790: tracing_mark_write: E 19536 SensorService-1249 ( 1136) [002] ...1 158007.630192: tracing_mark_write: E 19537 SensorService-1249 ( 1136) [002] ...1 158007.630372: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19538 sensors@1.0-se-755 ( 755) [004] ...1 158007.630573: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19539 sensors@1.0-se-755 ( 755) [004] ...1 158007.650438: tracing_mark_write: E 19540 SensorService-1249 ( 1136) [002] ...1 158007.651012: tracing_mark_write: E 19541 SensorService-1249 ( 1136) [002] ...1 158007.651211: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19542 sensors@1.0-se-755 ( 755) [004] ...1 158007.652227: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19543 sensors@1.0-se-755 ( 755) [004] ...1 158007.670547: tracing_mark_write: E 19544 SensorService-1249 ( 1136) [002] ...1 158007.671155: tracing_mark_write: E 19545 SensorService-1249 ( 1136) [002] ...1 158007.671341: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19546 sensors@1.0-se-755 ( 755) [004] ...1 158007.671551: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19547 sensors@1.0-se-755 ( 755) [004] ...1 158007.691837: tracing_mark_write: E 19548 SensorService-1249 ( 1136) [002] ...1 158007.692508: tracing_mark_write: E 19549 SensorService-1249 ( 1136) [002] ...1 158007.692850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19550 sensors@1.0-se-755 ( 755) [004] ...1 158007.694650: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19551 sensors@1.0-se-755 ( 755) [004] ...1 158007.710824: tracing_mark_write: E 19552 SensorService-1249 ( 1136) [002] ...1 158007.711299: tracing_mark_write: E 19553 SensorService-1249 ( 1136) [002] ...1 158007.711455: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19554 sensors@1.0-se-755 ( 755) [004] ...1 158007.713237: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19555 sensors@1.0-se-755 ( 755) [004] ...1 158007.732344: tracing_mark_write: E 19556 SensorService-1249 ( 1136) [002] ...1 158007.733045: tracing_mark_write: E 19557 SensorService-1249 ( 1136) [002] ...1 158007.733358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19558 sensors@1.0-se-755 ( 755) [004] ...1 158007.735438: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19559 sensors@1.0-se-755 ( 755) [004] ...1 158007.751886: tracing_mark_write: E 19560 SensorService-1249 ( 1136) [002] ...1 158007.752661: tracing_mark_write: E 19561 SensorService-1249 ( 1136) [002] ...1 158007.752994: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19562 sensors@1.0-se-755 ( 755) [004] ...1 158007.754607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19563 sensors@1.0-se-755 ( 755) [004] ...1 158007.772396: tracing_mark_write: E 19564 SensorService-1249 ( 1136) [002] ...1 158007.772801: tracing_mark_write: E 19565 SensorService-1249 ( 1136) [002] ...1 158007.773140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19566 sensors@1.0-se-755 ( 755) [004] ...1 158007.774562: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19567 sensors@1.0-se-755 ( 755) [004] ...1 158007.792586: tracing_mark_write: E 19568 SensorService-1249 ( 1136) [002] ...1 158007.793460: tracing_mark_write: E 19569 SensorService-1249 ( 1136) [002] ...1 158007.793843: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19570 HwBinder:755_1-1247 ( 755) [001] ...1 158007.794436: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19571 HwBinder:755_1-1247 ( 755) [002] ...1 158007.810569: tracing_mark_write: E 19572 SensorService-1249 ( 1136) [001] ...1 158007.810729: tracing_mark_write: E 19573 SensorService-1249 ( 1136) [001] ...1 158007.810933: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19574 HwBinder:755_1-1247 ( 755) [002] ...1 158007.811241: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19575 HwBinder:755_1-1247 ( 755) [000] ...1 158007.831666: tracing_mark_write: E 19576 SensorService-1249 ( 1136) [001] ...1 158007.831862: tracing_mark_write: E 19577 SensorService-1249 ( 1136) [001] ...1 158007.832054: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19578 HwBinder:755_1-1247 ( 755) [000] ...1 158007.832438: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19579 HwBinder:755_1-1247 ( 755) [000] ...1 158007.850835: tracing_mark_write: E 19580 SensorService-1249 ( 1136) [001] ...1 158007.851298: tracing_mark_write: E 19581 SensorService-1249 ( 1136) [001] ...1 158007.851446: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19582 HwBinder:755_1-1247 ( 755) [000] ...1 158007.851558: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19583 HwBinder:755_1-1247 ( 755) [002] ...1 158007.872986: tracing_mark_write: E 19584 SensorService-1249 ( 1136) [001] ...1 158007.873322: tracing_mark_write: E 19585 SensorService-1249 ( 1136) [001] ...1 158007.873662: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19586 HwBinder:755_1-1247 ( 755) [002] ...1 158007.873861: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19587 HwBinder:755_1-1247 ( 755) [000] ...1 158007.890289: tracing_mark_write: E 19588 SensorService-1249 ( 1136) [001] ...1 158007.890724: tracing_mark_write: E 19589 SensorService-1249 ( 1136) [001] ...1 158007.890953: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19590 HwBinder:755_1-1247 ( 755) [000] ...1 158007.891170: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19591 HwBinder:755_1-1247 ( 755) [002] ...1 158007.910806: tracing_mark_write: E 19592 SensorService-1249 ( 1136) [001] ...1 158007.911328: tracing_mark_write: E 19593 SensorService-1249 ( 1136) [001] ...1 158007.911609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19594 HwBinder:755_1-1247 ( 755) [002] ...1 158007.912214: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19595 HwBinder:755_1-1247 ( 755) [002] ...1 158007.931578: tracing_mark_write: E 19596 SensorService-1249 ( 1136) [001] ...1 158007.931952: tracing_mark_write: E 19597 SensorService-1249 ( 1136) [001] ...1 158007.932283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19598 HwBinder:755_1-1247 ( 755) [002] ...1 158007.932554: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19599 HwBinder:755_1-1247 ( 755) [000] ...1 158007.953821: tracing_mark_write: E 19600 SensorService-1249 ( 1136) [001] ...1 158007.954465: tracing_mark_write: E 19601 SensorService-1249 ( 1136) [001] ...1 158007.954780: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19602 HwBinder:755_1-1247 ( 755) [000] ...1 158007.955165: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19603 HwBinder:755_1-1247 ( 755) [003] ...1 158007.970661: tracing_mark_write: E 19604 SensorService-1249 ( 1136) [001] ...1 158007.970863: tracing_mark_write: E 19605 SensorService-1249 ( 1136) [001] ...1 158007.971111: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19606 HwBinder:755_1-1247 ( 755) [003] ...1 158007.971739: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19607 HwBinder:755_1-1247 ( 755) [000] ...1 158007.992676: tracing_mark_write: E 19608 SensorService-1249 ( 1136) [001] ...1 158007.993386: tracing_mark_write: E 19609 SensorService-1249 ( 1136) [001] ...1 158007.993809: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19610 HwBinder:755_1-1247 ( 755) [000] ...1 158007.994276: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19611 HwBinder:755_1-1247 ( 755) [003] ...1 158008.010539: tracing_mark_write: E 19612 SensorService-1249 ( 1136) [001] ...1 158008.010736: tracing_mark_write: E 19613 SensorService-1249 ( 1136) [001] ...1 158008.010951: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19614 HwBinder:755_1-1247 ( 755) [003] ...1 158008.011350: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19615 HwBinder:755_1-1247 ( 755) [000] ...1 158008.031321: tracing_mark_write: E 19616 SensorService-1249 ( 1136) [001] ...1 158008.031662: tracing_mark_write: E 19617 SensorService-1249 ( 1136) [001] ...1 158008.031993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19618 HwBinder:755_1-1247 ( 755) [000] ...1 158008.032531: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19619 HwBinder:755_1-1247 ( 755) [003] ...1 158008.051151: tracing_mark_write: E 19620 SensorService-1249 ( 1136) [001] ...1 158008.051741: tracing_mark_write: E 19621 SensorService-1249 ( 1136) [001] ...1 158008.052077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19622 HwBinder:755_1-1247 ( 755) [003] ...1 158008.052672: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19623 HwBinder:755_1-1247 ( 755) [003] ...1 158008.071349: tracing_mark_write: E 19624 SensorService-1249 ( 1136) [001] ...1 158008.071666: tracing_mark_write: E 19625 SensorService-1249 ( 1136) [001] ...1 158008.071982: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19626 HwBinder:755_1-1247 ( 755) [003] ...1 158008.072627: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19627 HwBinder:755_1-1247 ( 755) [003] ...1 158008.091175: tracing_mark_write: E 19628 SensorService-1249 ( 1136) [001] ...1 158008.091817: tracing_mark_write: E 19629 SensorService-1249 ( 1136) [001] ...1 158008.092035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19630 HwBinder:755_1-1247 ( 755) [003] ...1 158008.092561: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19631 HwBinder:755_1-1247 ( 755) [000] ...1 158008.111040: tracing_mark_write: E 19632 SensorService-1249 ( 1136) [001] ...1 158008.111249: tracing_mark_write: E 19633 SensorService-1249 ( 1136) [001] ...1 158008.111476: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19634 HwBinder:755_1-1247 ( 755) [000] ...1 158008.111608: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19635 HwBinder:755_1-1247 ( 755) [003] ...1 158008.132291: tracing_mark_write: E 19636 SensorService-1249 ( 1136) [001] ...1 158008.132970: tracing_mark_write: E 19637 SensorService-1249 ( 1136) [001] ...1 158008.133217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19638 HwBinder:755_1-1247 ( 755) [003] ...1 158008.133721: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19639 HwBinder:755_1-1247 ( 755) [000] ...1 158008.151474: tracing_mark_write: E 19640 SensorService-1249 ( 1136) [001] ...1 158008.151926: tracing_mark_write: E 19641 SensorService-1249 ( 1136) [001] ...1 158008.152094: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19642 HwBinder:755_1-1247 ( 755) [000] ...1 158008.152209: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19643 HwBinder:755_1-1247 ( 755) [000] ...1 158008.170664: tracing_mark_write: E 19644 SensorService-1249 ( 1136) [001] ...1 158008.171076: tracing_mark_write: E 19645 SensorService-1249 ( 1136) [001] ...1 158008.171412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19646 HwBinder:755_1-1247 ( 755) [000] ...1 158008.171658: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19647 HwBinder:755_1-1247 ( 755) [000] ...1 158008.190399: tracing_mark_write: E 19648 SensorService-1249 ( 1136) [001] ...1 158008.190595: tracing_mark_write: E 19649 SensorService-1249 ( 1136) [001] ...1 158008.190787: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19650 HwBinder:755_1-1247 ( 755) [000] ...1 158008.190962: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19651 HwBinder:755_1-1247 ( 755) [003] ...1 158008.212077: tracing_mark_write: E 19652 SensorService-1249 ( 1136) [001] ...1 158008.212381: tracing_mark_write: E 19653 SensorService-1249 ( 1136) [001] ...1 158008.212665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19654 HwBinder:755_1-1247 ( 755) [003] ...1 158008.213152: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19655 HwBinder:755_1-1247 ( 755) [002] ...1 158008.230438: tracing_mark_write: E 19656 SensorService-1249 ( 1136) [001] ...1 158008.231025: tracing_mark_write: E 19657 SensorService-1249 ( 1136) [001] ...1 158008.231225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19658 HwBinder:755_1-1247 ( 755) [002] ...1 158008.231411: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19659 HwBinder:755_1-1247 ( 755) [002] ...1 158008.253062: tracing_mark_write: E 19660 SensorService-1249 ( 1136) [001] ...1 158008.253493: tracing_mark_write: E 19661 SensorService-1249 ( 1136) [001] ...1 158008.253914: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19662 HwBinder:755_1-1247 ( 755) [002] ...1 158008.254401: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19663 HwBinder:755_1-1247 ( 755) [001] ...1 158008.270511: tracing_mark_write: E 19664 SensorService-1249 ( 1136) [003] ...1 158008.271045: tracing_mark_write: E 19665 SensorService-1249 ( 1136) [003] ...1 158008.271304: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19666 HwBinder:755_1-1247 ( 755) [001] ...1 158008.271486: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19667 HwBinder:755_1-1247 ( 755) [001] ...1 158008.292325: tracing_mark_write: E 19668 SensorService-1249 ( 1136) [003] ...1 158008.292923: tracing_mark_write: E 19669 SensorService-1249 ( 1136) [003] ...1 158008.293204: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19670 HwBinder:755_1-1247 ( 755) [001] ...1 158008.293469: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19671 HwBinder:755_1-1247 ( 755) [001] ...1 158008.310806: tracing_mark_write: E 19672 SensorService-1249 ( 1136) [003] ...1 158008.311453: tracing_mark_write: E 19673 SensorService-1249 ( 1136) [003] ...1 158008.311816: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19674 HwBinder:755_1-1247 ( 755) [001] ...1 158008.312460: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19675 HwBinder:755_1-1247 ( 755) [001] ...1 158008.332351: tracing_mark_write: E 19676 SensorService-1249 ( 1136) [003] ...1 158008.332793: tracing_mark_write: E 19677 SensorService-1249 ( 1136) [003] ...1 158008.333024: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19678 HwBinder:755_1-1247 ( 755) [001] ...1 158008.333526: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19679 HwBinder:755_1-1247 ( 755) [001] ...1 158008.351578: tracing_mark_write: E 19680 SensorService-1249 ( 1136) [003] ...1 158008.352274: tracing_mark_write: E 19681 SensorService-1249 ( 1136) [003] ...1 158008.352528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19682 HwBinder:755_1-1247 ( 755) [001] ...1 158008.352717: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19683 HwBinder:755_1-1247 ( 755) [001] ...1 158008.370297: tracing_mark_write: E 19684 SensorService-1249 ( 1136) [003] ...1 158008.370827: tracing_mark_write: E 19685 SensorService-1249 ( 1136) [003] ...1 158008.371124: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19686 HwBinder:755_1-1247 ( 755) [001] ...1 158008.371264: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19687 HwBinder:755_1-1247 ( 755) [002] ...1 158008.394188: tracing_mark_write: E 19688 SensorService-1249 ( 1136) [003] ...1 158008.395124: tracing_mark_write: E 19689 SensorService-1249 ( 1136) [003] ...1 158008.395511: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19690 HwBinder:755_1-1247 ( 755) [002] ...1 158008.396181: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19691 HwBinder:755_1-1247 ( 755) [001] ...1 158008.410992: tracing_mark_write: E 19692 SensorService-1249 ( 1136) [003] ...1 158008.411595: tracing_mark_write: E 19693 SensorService-1249 ( 1136) [003] ...1 158008.411934: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19694 HwBinder:755_1-1247 ( 755) [001] ...1 158008.412177: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19695 HwBinder:755_1-1247 ( 755) [001] ...1 158008.432490: tracing_mark_write: E 19696 SensorService-1249 ( 1136) [003] ...1 158008.433072: tracing_mark_write: E 19697 SensorService-1249 ( 1136) [003] ...1 158008.433313: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19698 HwBinder:755_1-1247 ( 755) [001] ...1 158008.433671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19699 HwBinder:755_1-1247 ( 755) [001] ...1 158008.451041: tracing_mark_write: E 19700 SensorService-1249 ( 1136) [003] ...1 158008.451669: tracing_mark_write: E 19701 SensorService-1249 ( 1136) [003] ...1 158008.452021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19702 HwBinder:755_1-1247 ( 755) [001] ...1 158008.452676: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19703 HwBinder:755_1-1247 ( 755) [001] ...1 158008.472244: tracing_mark_write: E 19704 SensorService-1249 ( 1136) [003] ...1 158008.472646: tracing_mark_write: E 19705 SensorService-1249 ( 1136) [003] ...1 158008.473040: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19706 HwBinder:755_1-1247 ( 755) [001] ...1 158008.473226: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19707 HwBinder:755_1-1247 ( 755) [000] ...1 158008.495978: tracing_mark_write: E 19708 SensorService-1249 ( 1136) [003] ...1 158008.496167: tracing_mark_write: E 19709 SensorService-1249 ( 1136) [003] ...1 158008.496394: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19710 HwBinder:755_1-1247 ( 755) [000] ...1 158008.496515: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19711 HwBinder:755_1-1247 ( 755) [000] ...1 158008.512534: tracing_mark_write: E 19712 SensorService-1249 ( 1136) [003] ...1 158008.513026: tracing_mark_write: E 19713 SensorService-1249 ( 1136) [003] ...1 158008.513215: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19714 HwBinder:755_1-1247 ( 755) [000] ...1 158008.513337: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19715 HwBinder:755_1-1247 ( 755) [000] ...1 158008.533177: tracing_mark_write: E 19716 SensorService-1249 ( 1136) [003] ...1 158008.533402: tracing_mark_write: E 19717 SensorService-1249 ( 1136) [003] ...1 158008.533606: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19718 HwBinder:755_1-1247 ( 755) [000] ...1 158008.533751: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19719 HwBinder:755_1-1247 ( 755) [001] ...1 158008.552122: tracing_mark_write: E 19720 SensorService-1249 ( 1136) [003] ...1 158008.552622: tracing_mark_write: E 19721 SensorService-1249 ( 1136) [003] ...1 158008.552834: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19722 HwBinder:755_1-1247 ( 755) [001] ...1 158008.553283: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19723 HwBinder:755_1-1247 ( 755) [001] ...1 158008.572216: tracing_mark_write: E 19724 SensorService-1249 ( 1136) [003] ...1 158008.572813: tracing_mark_write: E 19725 SensorService-1249 ( 1136) [003] ...1 158008.573019: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19726 HwBinder:755_1-1247 ( 755) [001] ...1 158008.573425: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19727 HwBinder:755_1-1247 ( 755) [001] ...1 158008.591879: tracing_mark_write: E 19728 SensorService-1249 ( 1136) [003] ...1 158008.592369: tracing_mark_write: E 19729 SensorService-1249 ( 1136) [003] ...1 158008.592580: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19730 HwBinder:755_1-1247 ( 755) [001] ...1 158008.593197: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19731 HwBinder:755_1-1247 ( 755) [000] ...1 158008.611699: tracing_mark_write: E 19732 SensorService-1249 ( 1136) [003] ...1 158008.612510: tracing_mark_write: E 19733 SensorService-1249 ( 1136) [003] ...1 158008.612928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19734 HwBinder:755_1-1247 ( 755) [000] ...1 158008.613174: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19735 HwBinder:755_1-1247 ( 755) [003] ...1 158008.632014: tracing_mark_write: E 19736 SensorService-1249 ( 1136) [006] ...1 158008.633904: tracing_mark_write: E 19737 SensorService-1249 ( 1136) [006] ...1 158008.634533: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19738 HwBinder:755_1-1247 ( 755) [003] ...1 158008.635284: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19739 HwBinder:755_1-1247 ( 755) [002] ...1 158008.650686: tracing_mark_write: E 19740 SensorService-1249 ( 1136) [006] ...1 158008.652042: tracing_mark_write: E 19741 SensorService-1249 ( 1136) [006] ...1 158008.652281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19742 HwBinder:755_1-1247 ( 755) [002] ...1 158008.652485: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19743 HwBinder:755_1-1247 ( 755) [002] ...1 158008.672222: tracing_mark_write: E 19744 SensorService-1249 ( 1136) [006] ...1 158008.674081: tracing_mark_write: E 19745 SensorService-1249 ( 1136) [006] ...1 158008.674649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19746 HwBinder:755_1-1247 ( 755) [002] ...1 158008.674970: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19747 HwBinder:755_1-1247 ( 755) [001] ...1 158008.692995: tracing_mark_write: E 19748 SensorService-1249 ( 1136) [006] ...1 158008.694972: tracing_mark_write: E 19749 SensorService-1249 ( 1136) [006] ...1 158008.695346: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19750 HwBinder:755_1-1247 ( 755) [001] ...1 158008.697029: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19751 HwBinder:755_1-1247 ( 755) [001] ...1 158008.711431: tracing_mark_write: E 19752 SensorService-1249 ( 1136) [006] ...1 158008.711866: tracing_mark_write: E 19753 SensorService-1249 ( 1136) [006] ...1 158008.712104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19754 HwBinder:755_1-1247 ( 755) [001] ...1 158008.712430: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19755 HwBinder:755_1-1247 ( 755) [000] ...1 158008.731911: tracing_mark_write: E 19756 SensorService-1249 ( 1136) [006] ...1 158008.732225: tracing_mark_write: E 19757 SensorService-1249 ( 1136) [006] ...1 158008.732496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19758 HwBinder:755_1-1247 ( 755) [000] ...1 158008.732968: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19759 HwBinder:755_1-1247 ( 755) [000] ...1 158008.751537: tracing_mark_write: E 19760 SensorService-1249 ( 1136) [006] ...1 158008.753142: tracing_mark_write: E 19761 SensorService-1249 ( 1136) [006] ...1 158008.753436: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19762 HwBinder:755_1-1247 ( 755) [000] ...1 158008.753690: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19763 HwBinder:755_1-1247 ( 755) [000] ...1 158008.771951: tracing_mark_write: E 19764 SensorService-1249 ( 1136) [006] ...1 158008.772225: tracing_mark_write: E 19765 SensorService-1249 ( 1136) [006] ...1 158008.772495: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19766 HwBinder:755_1-1247 ( 755) [000] ...1 158008.772709: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19767 HwBinder:755_1-1247 ( 755) [000] ...1 158008.791875: tracing_mark_write: E 19768 SensorService-1249 ( 1136) [006] ...1 158008.792059: tracing_mark_write: E 19769 SensorService-1249 ( 1136) [006] ...1 158008.792196: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19770 HwBinder:755_1-1247 ( 755) [000] ...1 158008.792610: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19771 HwBinder:755_1-1247 ( 755) [001] ...1 158008.811616: tracing_mark_write: E 19772 SensorService-1249 ( 1136) [006] ...1 158008.811897: tracing_mark_write: E 19773 SensorService-1249 ( 1136) [006] ...1 158008.812163: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19774 HwBinder:755_1-1247 ( 755) [001] ...1 158008.812624: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19775 HwBinder:755_1-1247 ( 755) [000] ...1 158008.832764: tracing_mark_write: E 19776 SensorService-1249 ( 1136) [006] ...1 158008.832941: tracing_mark_write: E 19777 SensorService-1249 ( 1136) [006] ...1 158008.833113: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19778 HwBinder:755_1-1247 ( 755) [000] ...1 158008.833542: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19779 HwBinder:755_1-1247 ( 755) [001] ...1 158008.851343: tracing_mark_write: E 19780 SensorService-1249 ( 1136) [006] ...1 158008.851992: tracing_mark_write: E 19781 SensorService-1249 ( 1136) [006] ...1 158008.852269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19782 HwBinder:755_1-1247 ( 755) [001] ...1 158008.852742: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19783 HwBinder:755_1-1247 ( 755) [001] ...1 158008.871565: tracing_mark_write: E 19784 SensorService-1249 ( 1136) [006] ...1 158008.871744: tracing_mark_write: E 19785 SensorService-1249 ( 1136) [006] ...1 158008.871879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19786 HwBinder:755_1-1247 ( 755) [001] ...1 158008.872382: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19787 HwBinder:755_1-1247 ( 755) [001] ...1 158008.892308: tracing_mark_write: E 19788 SensorService-1249 ( 1136) [006] ...1 158008.894155: tracing_mark_write: E 19789 SensorService-1249 ( 1136) [006] ...1 158008.894548: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19790 HwBinder:755_1-1247 ( 755) [001] ...1 158008.895060: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19791 HwBinder:755_1-1247 ( 755) [003] ...1 158008.911738: tracing_mark_write: E 19792 SensorService-1249 ( 1136) [006] ...1 158008.912006: tracing_mark_write: E 19793 SensorService-1249 ( 1136) [006] ...1 158008.912268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19794 HwBinder:755_1-1247 ( 755) [003] ...1 158008.912741: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19795 HwBinder:755_1-1247 ( 755) [001] ...1 158008.932367: tracing_mark_write: E 19796 SensorService-1249 ( 1136) [006] ...1 158008.932960: tracing_mark_write: E 19797 SensorService-1249 ( 1136) [006] ...1 158008.933097: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19798 HwBinder:755_1-1247 ( 755) [001] ...1 158008.933541: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19799 HwBinder:755_1-1247 ( 755) [001] ...1 158008.951431: tracing_mark_write: E 19800 SensorService-1249 ( 1136) [006] ...1 158008.951970: tracing_mark_write: E 19801 SensorService-1249 ( 1136) [006] ...1 158008.952213: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19802 HwBinder:755_1-1247 ( 755) [001] ...1 158008.952585: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19803 HwBinder:755_1-1247 ( 755) [000] ...1 158008.972807: tracing_mark_write: E 19804 SensorService-1249 ( 1136) [006] ...1 158008.973005: tracing_mark_write: E 19805 SensorService-1249 ( 1136) [006] ...1 158008.973178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19806 HwBinder:755_1-1247 ( 755) [000] ...1 158008.973352: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19807 HwBinder:755_1-1247 ( 755) [001] ...1 158008.991851: tracing_mark_write: E 19808 SensorService-1249 ( 1136) [006] ...1 158008.992149: tracing_mark_write: E 19809 SensorService-1249 ( 1136) [006] ...1 158008.992445: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19810 HwBinder:755_1-1247 ( 755) [001] ...1 158008.992993: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19811 HwBinder:755_1-1247 ( 755) [001] ...1 158009.011191: tracing_mark_write: E 19812 SensorService-1249 ( 1136) [006] ...1 158009.011720: tracing_mark_write: E 19813 SensorService-1249 ( 1136) [006] ...1 158009.011993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19814 HwBinder:755_1-1247 ( 755) [001] ...1 158009.012625: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19815 HwBinder:755_1-1247 ( 755) [001] ...1 158009.032431: tracing_mark_write: E 19816 SensorService-1249 ( 1136) [006] ...1 158009.033912: tracing_mark_write: E 19817 SensorService-1249 ( 1136) [006] ...1 158009.034303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19818 HwBinder:755_1-1247 ( 755) [001] ...1 158009.034811: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19819 HwBinder:755_1-1247 ( 755) [003] ...1 158009.052014: tracing_mark_write: E 19820 SensorService-1249 ( 1136) [006] ...1 158009.052701: tracing_mark_write: E 19821 SensorService-1249 ( 1136) [006] ...1 158009.053010: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19822 HwBinder:755_1-1247 ( 755) [003] ...1 158009.053501: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19823 HwBinder:755_1-1247 ( 755) [000] ...1 158009.073559: tracing_mark_write: E 19824 SensorService-1249 ( 1136) [006] ...1 158009.075196: tracing_mark_write: E 19825 SensorService-1249 ( 1136) [006] ...1 158009.075531: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19826 HwBinder:755_1-1247 ( 755) [000] ...1 158009.075787: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19827 HwBinder:755_1-1247 ( 755) [001] ...1 158009.092211: tracing_mark_write: E 19828 SensorService-1249 ( 1136) [006] ...1 158009.092491: tracing_mark_write: E 19829 SensorService-1249 ( 1136) [006] ...1 158009.092806: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19830 HwBinder:755_1-1247 ( 755) [001] ...1 158009.093011: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19831 HwBinder:755_1-1247 ( 755) [001] ...1 158009.112696: tracing_mark_write: E 19832 SensorService-1249 ( 1136) [006] ...1 158009.113134: tracing_mark_write: E 19833 SensorService-1249 ( 1136) [006] ...1 158009.113272: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19834 HwBinder:755_1-1247 ( 755) [001] ...1 158009.113785: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19835 HwBinder:755_1-1247 ( 755) [003] ...1 158009.133545: tracing_mark_write: E 19836 SensorService-1249 ( 1136) [006] ...1 158009.135299: tracing_mark_write: E 19837 SensorService-1249 ( 1136) [006] ...1 158009.135619: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19838 HwBinder:755_1-1247 ( 755) [003] ...1 158009.136262: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19839 HwBinder:755_1-1247 ( 755) [000] ...1 158009.151859: tracing_mark_write: E 19840 SensorService-1249 ( 1136) [006] ...1 158009.153727: tracing_mark_write: E 19841 SensorService-1249 ( 1136) [006] ...1 158009.154105: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19842 HwBinder:755_1-1247 ( 755) [000] ...1 158009.154521: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19843 HwBinder:755_1-1247 ( 755) [001] ...1 158009.171577: tracing_mark_write: E 19844 SensorService-1249 ( 1136) [006] ...1 158009.172887: tracing_mark_write: E 19845 SensorService-1249 ( 1136) [006] ...1 158009.173123: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19846 HwBinder:755_1-1247 ( 755) [001] ...1 158009.173496: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19847 HwBinder:755_1-1247 ( 755) [000] ...1 158009.194745: tracing_mark_write: E 19848 SensorService-1249 ( 1136) [006] ...1 158009.196565: tracing_mark_write: E 19849 SensorService-1249 ( 1136) [006] ...1 158009.196827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19850 HwBinder:755_1-1247 ( 755) [000] ...1 158009.197066: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19851 HwBinder:755_1-1247 ( 755) [001] ...1 158009.211491: tracing_mark_write: E 19852 SensorService-1249 ( 1136) [006] ...1 158009.212789: tracing_mark_write: E 19853 SensorService-1249 ( 1136) [006] ...1 158009.213025: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19854 HwBinder:755_1-1247 ( 755) [001] ...1 158009.213217: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19855 HwBinder:755_1-1247 ( 755) [001] ...1 158009.233728: tracing_mark_write: E 19856 SensorService-1249 ( 1136) [006] ...1 158009.235386: tracing_mark_write: E 19857 SensorService-1249 ( 1136) [006] ...1 158009.235654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19858 HwBinder:755_1-1247 ( 755) [001] ...1 158009.236244: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19859 HwBinder:755_1-1247 ( 755) [000] ...1 158009.252598: tracing_mark_write: E 19860 SensorService-1249 ( 1136) [006] ...1 158009.254587: tracing_mark_write: E 19861 SensorService-1249 ( 1136) [006] ...1 158009.255014: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19862 HwBinder:755_1-1247 ( 755) [000] ...1 158009.255398: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19863 HwBinder:755_1-1247 ( 755) [001] ...1 158009.272685: tracing_mark_write: E 19864 SensorService-1249 ( 1136) [006] ...1 158009.274519: tracing_mark_write: E 19865 SensorService-1249 ( 1136) [006] ...1 158009.274909: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19866 HwBinder:755_1-1247 ( 755) [001] ...1 158009.275620: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19867 HwBinder:755_1-1247 ( 755) [000] ...1 158009.292482: tracing_mark_write: E 19868 SensorService-1249 ( 1136) [006] ...1 158009.294426: tracing_mark_write: E 19869 SensorService-1249 ( 1136) [006] ...1 158009.294861: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19870 HwBinder:755_1-1247 ( 755) [000] ...1 158009.295178: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19871 HwBinder:755_1-1247 ( 755) [001] ...1 158009.312623: tracing_mark_write: E 19872 SensorService-1249 ( 1136) [006] ...1 158009.314335: tracing_mark_write: E 19873 SensorService-1249 ( 1136) [006] ...1 158009.314637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19874 HwBinder:755_1-1247 ( 755) [001] ...1 158009.315184: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19875 HwBinder:755_1-1247 ( 755) [000] ...1 158009.332263: tracing_mark_write: E 19876 SensorService-1249 ( 1136) [006] ...1 158009.334802: tracing_mark_write: E 19877 SensorService-1249 ( 1136) [006] ...1 158009.335341: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19878 HwBinder:755_1-1247 ( 755) [000] ...1 158009.336315: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19879 HwBinder:755_1-1247 ( 755) [001] ...1 158009.351749: tracing_mark_write: E 19880 SensorService-1249 ( 1136) [006] ...1 158009.353420: tracing_mark_write: E 19881 SensorService-1249 ( 1136) [006] ...1 158009.353760: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19882 HwBinder:755_1-1247 ( 755) [001] ...1 158009.354151: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19883 HwBinder:755_1-1247 ( 755) [001] ...1 158009.372439: tracing_mark_write: E 19884 SensorService-1249 ( 1136) [006] ...1 158009.374387: tracing_mark_write: E 19885 SensorService-1249 ( 1136) [006] ...1 158009.374825: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19886 HwBinder:755_1-1247 ( 755) [001] ...1 158009.375448: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19887 HwBinder:755_1-1247 ( 755) [001] ...1 158009.397489: tracing_mark_write: E 19888 android.bg-1155 ( 1136) [000] ...1 158009.398133: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19889 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398359: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19890 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398408: tracing_mark_write: E 19891 android.bg-1155 ( 1136) [000] ...1 158009.398512: tracing_mark_write: E 19892 android.bg-1155 ( 1136) [000] ...1 158009.398531: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19893 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398584: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19894 SensorService-1249 ( 1136) [006] ...1 158009.398670: tracing_mark_write: E 19895 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398671: tracing_mark_write: E 19896 android.bg-1155 ( 1136) [000] ...1 158009.398734: tracing_mark_write: E 19897 android.bg-1155 ( 1136) [000] ...1 158009.398750: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19898 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398798: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19899 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398839: tracing_mark_write: E 19900 android.bg-1155 ( 1136) [000] ...1 158009.398895: tracing_mark_write: E 19901 SensorService-1249 ( 1136) [006] ...1 158009.398911: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19902 android.bg-1155 ( 1136) [000] ...1 158009.398919: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19903 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398970: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19904 memtrack@1.0-s-745 ( 745) [000] ...1 158009.398980: tracing_mark_write: E 19905 android.bg-1155 ( 1136) [000] ...1 158009.399059: tracing_mark_write: E 19906 android.bg-1155 ( 1136) [000] ...1 158009.399072: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19907 memtrack@1.0-s-745 ( 745) [000] ...1 158009.399125: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19908 memtrack@1.0-s-745 ( 745) [000] ...1 158009.399134: tracing_mark_write: E 19909 HwBinder:755_1-1247 ( 755) [001] ...1 158009.399157: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19910 android.bg-1155 ( 1136) [000] ...1 158009.399189: tracing_mark_write: E 19911 Binder:610_5-2158 ( 610) [001] ...1 158009.405310: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client 19912 HwBinder:612_3-11297 ( 612) [004] ...1 158009.411051: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server 19913 HwBinder:612_3-11297 ( 612) [004] ...1 158009.411145: tracing_mark_write: E 19914 HwBinder:755_1-1247 ( 755) [002] ...1 158009.411229: tracing_mark_write: E 19915 SensorService-1249 ( 1136) [006] ...1 158009.411422: tracing_mark_write: E 19916 Binder:610_5-2158 ( 610) [004] ...1 158009.411436: tracing_mark_write: E 19917 EventControl-682 ( 610) [003] ...1 158009.411605: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 19918 SensorService-1249 ( 1136) [006] ...1 158009.411651: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19919 HwBinder:612_3-11297 ( 612) [003] ...1 158009.411799: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 19920 HwBinder:755_1-1247 ( 755) [002] ...1 158009.411807: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19921 HwBinder:612_3-11297 ( 612) [003] ...1 158009.411817: tracing_mark_write: C|612|SetVsyncState |1 19922 HwBinder:612_3-11297 ( 612) [003] ...1 158009.411857: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 19923 Binder:1136_7-1615 ( 1136) [007] ...1 158009.412432: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 19924 Binder:1136_7-1615 ( 1136) [007] ...1 158009.412666: tracing_mark_write: E 19925 power@1.1-serv-754 ( 754) [002] ...1 158009.413001: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 19926 power@1.1-serv-754 ( 754) [002] ...1 158009.413585: tracing_mark_write: E 19927 HwBinder:612_3-11297 ( 612) [003] ...1 158009.414528: tracing_mark_write: E 19928 HwBinder:612_3-11297 ( 612) [003] ...1 158009.414562: tracing_mark_write: E 19929 EventControl-682 ( 610) [003] ...1 158009.414671: tracing_mark_write: E 19930 SDM_EventThrea-643 ( 612) [003] ...1 158009.421173: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 19931 SDM_EventThrea-643 ( 612) [003] ...1 158009.421195: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 19932 SDM_EventThrea-643 ( 612) [003] ...1 158009.421386: tracing_mark_write: E 19933 SDM_EventThrea-643 ( 612) [003] ...1 158009.421404: tracing_mark_write: E 19934 HwBinder:610_1-626 ( 610) [002] ...1 158009.421852: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 19935 HwBinder:610_1-626 ( 610) [002] ...1 158009.421908: tracing_mark_write: E 19936 android.bg-1155 ( 1136) [000] ...1 158009.428427: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19937 memtrack@1.0-s-745 ( 745) [000] ...1 158009.428592: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19938 memtrack@1.0-s-745 ( 745) [000] ...1 158009.428624: tracing_mark_write: E 19939 android.bg-1155 ( 1136) [000] ...1 158009.428848: tracing_mark_write: E 19940 android.bg-1155 ( 1136) [000] ...1 158009.428865: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19941 memtrack@1.0-s-745 ( 745) [000] ...1 158009.428910: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19942 memtrack@1.0-s-745 ( 745) [000] ...1 158009.428989: tracing_mark_write: E 19943 android.bg-1155 ( 1136) [000] ...1 158009.429030: tracing_mark_write: E 19944 android.bg-1155 ( 1136) [000] ...1 158009.429039: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19945 memtrack@1.0-s-745 ( 745) [000] ...1 158009.429067: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19946 memtrack@1.0-s-745 ( 745) [000] ...1 158009.429090: tracing_mark_write: E 19947 android.bg-1155 ( 1136) [000] ...1 158009.429119: tracing_mark_write: E 19948 android.bg-1155 ( 1136) [000] ...1 158009.429127: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19949 memtrack@1.0-s-745 ( 745) [000] ...1 158009.429152: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19950 memtrack@1.0-s-745 ( 745) [000] ...1 158009.429157: tracing_mark_write: E 19951 android.bg-1155 ( 1136) [000] ...1 158009.429185: tracing_mark_write: E 19952 android.bg-1155 ( 1136) [000] ...1 158009.429192: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19953 memtrack@1.0-s-745 ( 745) [000] ...1 158009.429216: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19954 memtrack@1.0-s-745 ( 745) [000] ...1 158009.429221: tracing_mark_write: E 19955 android.bg-1155 ( 1136) [000] ...1 158009.429249: tracing_mark_write: E 19956 HwBinder:755_1-1247 ( 755) [001] ...1 158009.431561: tracing_mark_write: E 19957 SensorService-1249 ( 1136) [006] ...1 158009.431737: tracing_mark_write: E 19958 SensorService-1249 ( 1136) [006] ...1 158009.431904: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 19959 HwBinder:755_1-1247 ( 755) [001] ...1 158009.432035: tracing_mark_write: B|755|HIDL::ISensors::poll::server 19960 Binder:1136_1-1152 ( 1136) [006] ...1 158009.434272: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 19961 Binder:1136_1-1152 ( 1136) [006] ...1 158009.434365: tracing_mark_write: E 19962 power@1.1-serv-754 ( 754) [002] ...1 158009.434440: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 19963 power@1.1-serv-754 ( 754) [002] ...1 158009.434614: tracing_mark_write: E 19964 SDM_EventThrea-643 ( 612) [003] ...1 158009.437796: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 19965 SDM_EventThrea-643 ( 612) [003] ...1 158009.437810: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 19966 SDM_EventThrea-643 ( 612) [003] ...1 158009.437880: tracing_mark_write: E 19967 SDM_EventThrea-643 ( 612) [003] ...1 158009.437890: tracing_mark_write: E 19968 HwBinder:610_1-626 ( 610) [001] ...1 158009.437919: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 19969 HwBinder:610_1-626 ( 610) [001] ...1 158009.437936: tracing_mark_write: E 19970 android.bg-1155 ( 1136) [001] ...1 158009.443980: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19971 memtrack@1.0-s-745 ( 745) [004] ...1 158009.444113: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19972 memtrack@1.0-s-745 ( 745) [004] ...1 158009.444138: tracing_mark_write: E 19973 android.bg-1155 ( 1136) [006] .n.1 158009.444267: tracing_mark_write: E 19974 android.bg-1155 ( 1136) [001] ...1 158009.446071: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19975 memtrack@1.0-s-745 ( 745) [004] ...1 158009.446197: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19976 memtrack@1.0-s-745 ( 745) [004] ...1 158009.446331: tracing_mark_write: E 19977 android.bg-1155 ( 1136) [000] ...1 158009.446484: tracing_mark_write: E 19978 android.bg-1155 ( 1136) [000] ...1 158009.446495: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19979 memtrack@1.0-s-745 ( 745) [004] ...1 158009.446602: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19980 memtrack@1.0-s-745 ( 745) [004] ...1 158009.446631: tracing_mark_write: E 19981 android.bg-1155 ( 1136) [003] ...1 158009.446799: tracing_mark_write: E 19982 android.bg-1155 ( 1136) [003] ...1 158009.446810: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 19983 memtrack@1.0-s-745 ( 745) [004] ...1 158009.446881: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 19984 memtrack@1.0-s-745 ( 745) [004] ...1 158009.446918: tracing_mark_write: E 19985 surfaceflinger-610 ( 610) [000] ...1 158009.447171: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 19986 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447359: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 19987 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447441: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 19988 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447451: tracing_mark_write: E 19989 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447457: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 19990 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447827: tracing_mark_write: B|612|HWDevice::Validate:: 19991 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447899: tracing_mark_write: E 19992 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447917: tracing_mark_write: E 19993 HwBinder:612_3-11297 ( 612) [003] ...1 158009.447943: tracing_mark_write: E 19994 surfaceflinger-610 ( 610) [000] ...1 158009.448016: tracing_mark_write: E 19995 surfaceflinger-610 ( 610) [000] ...1 158009.448130: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 19996 HwBinder:612_3-11297 ( 612) [003] ...1 158009.448184: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 19997 HwBinder:612_3-11297 ( 612) [003] ...1 158009.448197: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 19998 HwBinder:612_3-11297 ( 612) [003] ...1 158009.448212: tracing_mark_write: B|612|HWDevice::Commit:: 19999 HwBinder:612_3-11297 ( 612) [003] ...1 158009.448291: tracing_mark_write: E 20000 HwBinder:612_3-11297 ( 612) [003] ...1 158009.448310: tracing_mark_write: E 20001 HwBinder:612_3-11297 ( 612) [003] ...1 158009.448345: tracing_mark_write: E 20002 surfaceflinger-610 ( 610) [000] ...1 158009.448389: tracing_mark_write: E 20003 android.bg-1155 ( 1136) [007] ...1 158009.448627: tracing_mark_write: E 20004 android.bg-1155 ( 1136) [007] ...1 158009.448647: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20005 memtrack@1.0-s-745 ( 745) [004] ...1 158009.448704: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20006 memtrack@1.0-s-745 ( 745) [004] ...1 158009.448713: tracing_mark_write: E 20007 android.bg-1155 ( 1136) [007] ...1 158009.448747: tracing_mark_write: E 20008 HwBinder:755_1-1247 ( 755) [003] ...1 158009.450996: tracing_mark_write: E 20009 SensorService-1249 ( 1136) [006] ...1 158009.451065: tracing_mark_write: E 20010 SensorService-1249 ( 1136) [006] ...1 158009.451128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20011 HwBinder:755_1-1247 ( 755) [003] ...1 158009.451191: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20012 android.bg-1155 ( 1136) [001] ...1 158009.452596: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20013 memtrack@1.0-s-745 ( 745) [005] ...1 158009.452677: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20014 memtrack@1.0-s-745 ( 745) [005] ...1 158009.452689: tracing_mark_write: E 20015 SDM_EventThrea-643 ( 612) [001] ...1 158009.454496: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 20016 SDM_EventThrea-643 ( 612) [001] ...1 158009.454505: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 20017 SDM_EventThrea-643 ( 612) [001] ...1 158009.454548: tracing_mark_write: E 20018 SDM_EventThrea-643 ( 612) [001] ...1 158009.454555: tracing_mark_write: E 20019 HwBinder:610_1-626 ( 610) [002] ...1 158009.454578: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 20020 HwBinder:610_1-626 ( 610) [002] ...1 158009.454592: tracing_mark_write: E 20021 android.bg-1155 ( 1136) [007] ...1 158009.456750: tracing_mark_write: E 20022 android.bg-1155 ( 1136) [007] ...1 158009.456765: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20023 memtrack@1.0-s-745 ( 745) [004] ...1 158009.456816: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20024 memtrack@1.0-s-745 ( 745) [004] ...1 158009.456865: tracing_mark_write: E 20025 android.bg-1155 ( 1136) [007] ...1 158009.456899: tracing_mark_write: E 20026 android.bg-1155 ( 1136) [007] ...1 158009.456906: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20027 memtrack@1.0-s-745 ( 745) [004] ...1 158009.456938: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20028 memtrack@1.0-s-745 ( 745) [004] ...1 158009.456964: tracing_mark_write: E 20029 android.bg-1155 ( 1136) [007] ...1 158009.456992: tracing_mark_write: E 20030 android.bg-1155 ( 1136) [007] ...1 158009.456998: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20031 memtrack@1.0-s-745 ( 745) [004] ...1 158009.457026: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20032 memtrack@1.0-s-745 ( 745) [004] ...1 158009.457031: tracing_mark_write: E 20033 android.bg-1155 ( 1136) [007] ...1 158009.457055: tracing_mark_write: E 20034 android.bg-1155 ( 1136) [007] ...1 158009.457061: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20035 memtrack@1.0-s-745 ( 745) [004] ...1 158009.457087: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20036 memtrack@1.0-s-745 ( 745) [004] ...1 158009.457091: tracing_mark_write: E 20037 android.bg-1155 ( 1136) [007] ...1 158009.457115: tracing_mark_write: E 20038 android.bg-1155 ( 1136) [007] ...1 158009.459306: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20039 memtrack@1.0-s-745 ( 745) [004] ...1 158009.459378: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20040 memtrack@1.0-s-745 ( 745) [004] ...1 158009.459391: tracing_mark_write: E 20041 android.bg-1155 ( 1136) [006] ...1 158009.459441: tracing_mark_write: E 20042 android.bg-1155 ( 1136) [006] ...1 158009.459455: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20043 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459509: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20044 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459552: tracing_mark_write: E 20045 android.bg-1155 ( 1136) [006] ...1 158009.459584: tracing_mark_write: E 20046 android.bg-1155 ( 1136) [006] ...1 158009.459591: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20047 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459625: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20048 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459646: tracing_mark_write: E 20049 android.bg-1155 ( 1136) [006] ...1 158009.459672: tracing_mark_write: E 20050 android.bg-1155 ( 1136) [006] ...1 158009.459678: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20051 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459707: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20052 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459712: tracing_mark_write: E 20053 android.bg-1155 ( 1136) [006] ...1 158009.459736: tracing_mark_write: E 20054 android.bg-1155 ( 1136) [006] ...1 158009.459741: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20055 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459769: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20056 memtrack@1.0-s-745 ( 745) [007] ...1 158009.459773: tracing_mark_write: E 20057 android.bg-1155 ( 1136) [006] ...1 158009.459796: tracing_mark_write: E 20058 surfaceflinger-610 ( 610) [000] ...1 158009.460664: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 20059 HwBinder:612_3-11297 ( 612) [001] ...1 158009.460781: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 20060 HwBinder:612_3-11297 ( 612) [001] ...1 158009.460846: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 20061 HwBinder:612_3-11297 ( 612) [001] ...1 158009.460866: tracing_mark_write: B|612|HWDevice::Commit:: 20062 HwBinder:612_3-11297 ( 612) [001] ...1 158009.460985: tracing_mark_write: E 20063 HwBinder:612_3-11297 ( 612) [001] ...1 158009.461012: tracing_mark_write: E 20064 HwBinder:612_3-11297 ( 612) [001] ...1 158009.461044: tracing_mark_write: E 20065 surfaceflinger-610 ( 610) [000] ...1 158009.461105: tracing_mark_write: E 20066 android.bg-1155 ( 1136) [006] ...1 158009.463238: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20067 memtrack@1.0-s-745 ( 745) [007] ...1 158009.463319: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20068 memtrack@1.0-s-745 ( 745) [007] ...1 158009.463334: tracing_mark_write: E 20069 android.bg-1155 ( 1136) [006] ...1 158009.463375: tracing_mark_write: E 20070 android.bg-1155 ( 1136) [006] ...1 158009.463383: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20071 memtrack@1.0-s-745 ( 745) [007] ...1 158009.463417: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20072 memtrack@1.0-s-745 ( 745) [007] ...1 158009.464051: tracing_mark_write: E 20073 android.bg-1155 ( 1136) [006] ...1 158009.464091: tracing_mark_write: E 20074 android.bg-1155 ( 1136) [006] ...1 158009.464097: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20075 memtrack@1.0-s-745 ( 745) [007] ...1 158009.464131: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20076 memtrack@1.0-s-745 ( 745) [007] ...1 158009.464698: tracing_mark_write: E 20077 android.bg-1155 ( 1136) [006] ...1 158009.464729: tracing_mark_write: E 20078 android.bg-1155 ( 1136) [006] ...1 158009.464735: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20079 memtrack@1.0-s-745 ( 745) [007] ...1 158009.464767: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20080 memtrack@1.0-s-745 ( 745) [007] ...1 158009.464771: tracing_mark_write: E 20081 android.bg-1155 ( 1136) [006] ...1 158009.464797: tracing_mark_write: E 20082 android.bg-1155 ( 1136) [006] ...1 158009.464803: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20083 memtrack@1.0-s-745 ( 745) [004] ...1 158009.464879: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20084 memtrack@1.0-s-745 ( 745) [004] ...1 158009.464886: tracing_mark_write: E 20085 android.bg-1155 ( 1136) [006] ...1 158009.464922: tracing_mark_write: E 20086 HwBinder:755_1-1247 ( 755) [001] ...1 158009.471160: tracing_mark_write: E 20087 SensorService-1249 ( 1136) [006] ...1 158009.471256: tracing_mark_write: E 20088 SDM_EventThrea-643 ( 612) [001] ...1 158009.471291: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 20089 SDM_EventThrea-643 ( 612) [001] ...1 158009.471303: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 20090 SensorService-1249 ( 1136) [006] ...1 158009.471324: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20091 SDM_EventThrea-643 ( 612) [001] ...1 158009.471370: tracing_mark_write: E 20092 SDM_EventThrea-643 ( 612) [001] ...1 158009.471381: tracing_mark_write: E 20093 sensors@1.0-se-755 ( 755) [004] ...1 158009.471404: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20094 HwBinder:610_1-626 ( 610) [000] ...1 158009.471408: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 20095 HwBinder:610_1-626 ( 610) [000] ...1 158009.471427: tracing_mark_write: E 20096 surfaceflinger-610 ( 610) [003] ...1 158009.477336: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 20097 HwBinder:612_3-11297 ( 612) [001] ...1 158009.477448: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 20098 HwBinder:612_3-11297 ( 612) [001] ...1 158009.477526: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 20099 HwBinder:612_3-11297 ( 612) [001] ...1 158009.477576: tracing_mark_write: B|612|HWDevice::Commit:: 20100 HwBinder:612_3-11297 ( 612) [001] ...1 158009.477665: tracing_mark_write: E 20101 HwBinder:612_3-11297 ( 612) [001] ...1 158009.477691: tracing_mark_write: E 20102 HwBinder:612_3-11297 ( 612) [001] ...1 158009.477721: tracing_mark_write: E 20103 surfaceflinger-610 ( 610) [003] ...1 158009.477786: tracing_mark_write: E 20104 Binder:1136_12-7074 ( 1136) [001] ...1 158009.483738: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 20105 Binder:1136_12-7074 ( 1136) [001] ...1 158009.483796: tracing_mark_write: E 20106 power@1.1-serv-754 ( 754) [001] ...1 158009.483875: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 20107 power@1.1-serv-754 ( 754) [001] ...1 158009.483976: tracing_mark_write: E 20108 SDM_EventThrea-643 ( 612) [001] ...1 158009.487964: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 20109 SDM_EventThrea-643 ( 612) [001] ...1 158009.487973: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 20110 SDM_EventThrea-643 ( 612) [001] ...1 158009.488014: tracing_mark_write: E 20111 SDM_EventThrea-643 ( 612) [001] ...1 158009.488021: tracing_mark_write: E 20112 HwBinder:610_1-626 ( 610) [000] ...1 158009.488038: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 20113 HwBinder:610_1-626 ( 610) [000] ...1 158009.488052: tracing_mark_write: E 20114 sensors@1.0-se-755 ( 755) [004] ...1 158009.491133: tracing_mark_write: E 20115 SensorService-1249 ( 1136) [006] ...1 158009.491286: tracing_mark_write: E 20116 SensorService-1249 ( 1136) [006] ...1 158009.491432: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20117 sensors@1.0-se-755 ( 755) [004] ...1 158009.491577: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20118 Binder:1136_12-7074 ( 1136) [001] ...1 158009.500843: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 20119 Binder:1136_12-7074 ( 1136) [001] ...1 158009.501063: tracing_mark_write: E 20120 power@1.1-serv-754 ( 754) [001] ...1 158009.501296: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 20121 power@1.1-serv-754 ( 754) [001] ...1 158009.501552: tracing_mark_write: E 20122 SDM_EventThrea-643 ( 612) [001] ...1 158009.504893: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 20123 SDM_EventThrea-643 ( 612) [001] ...1 158009.504919: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 20124 SDM_EventThrea-643 ( 612) [001] ...1 158009.505043: tracing_mark_write: E 20125 SDM_EventThrea-643 ( 612) [001] ...1 158009.505064: tracing_mark_write: E 20126 HwBinder:610_1-626 ( 610) [000] ...1 158009.505110: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 20127 HwBinder:610_1-626 ( 610) [000] ...1 158009.505260: tracing_mark_write: E 20128 EventControl-682 ( 610) [002] ...1 158009.505326: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 20129 HwBinder:612_3-11297 ( 612) [002] ...1 158009.505598: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 20130 HwBinder:612_3-11297 ( 612) [002] ...1 158009.505631: tracing_mark_write: C|612|SetVsyncState |0 20131 HwBinder:612_3-11297 ( 612) [002] ...1 158009.505671: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 20132 HwBinder:612_3-11297 ( 612) [002] ...1 158009.507097: tracing_mark_write: E 20133 HwBinder:612_3-11297 ( 612) [002] ...1 158009.507129: tracing_mark_write: E 20134 EventControl-682 ( 610) [002] ...1 158009.507257: tracing_mark_write: E 20135 sensors@1.0-se-755 ( 755) [004] ...1 158009.511566: tracing_mark_write: E 20136 SensorService-1249 ( 1136) [006] ...1 158009.511643: tracing_mark_write: E 20137 SensorService-1249 ( 1136) [006] ...1 158009.511738: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20138 sensors@1.0-se-755 ( 755) [004] ...1 158009.511820: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20139 sensors@1.0-se-755 ( 755) [004] ...1 158009.531582: tracing_mark_write: E 20140 SensorService-1249 ( 1136) [006] ...1 158009.531634: tracing_mark_write: E 20141 SensorService-1249 ( 1136) [006] ...1 158009.531700: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20142 sensors@1.0-se-755 ( 755) [004] ...1 158009.531761: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20143 sensors@1.0-se-755 ( 755) [004] ...1 158009.551547: tracing_mark_write: E 20144 SensorService-1249 ( 1136) [006] ...1 158009.551589: tracing_mark_write: E 20145 SensorService-1249 ( 1136) [006] ...1 158009.551643: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20146 sensors@1.0-se-755 ( 755) [004] ...1 158009.551692: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20147 sensors@1.0-se-755 ( 755) [004] ...1 158009.571547: tracing_mark_write: E 20148 SensorService-1249 ( 1136) [006] ...1 158009.571578: tracing_mark_write: E 20149 SensorService-1249 ( 1136) [006] ...1 158009.571618: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20150 sensors@1.0-se-755 ( 755) [004] ...1 158009.571658: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20151 sensors@1.0-se-755 ( 755) [004] ...1 158009.591575: tracing_mark_write: E 20152 SensorService-1249 ( 1136) [006] ...1 158009.591598: tracing_mark_write: E 20153 SensorService-1249 ( 1136) [006] ...1 158009.591628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20154 sensors@1.0-se-755 ( 755) [004] ...1 158009.591656: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20155 sensors@1.0-se-755 ( 755) [004] ...1 158009.611612: tracing_mark_write: E 20156 SensorService-1249 ( 1136) [006] ...1 158009.611631: tracing_mark_write: E 20157 SensorService-1249 ( 1136) [006] ...1 158009.611654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20158 sensors@1.0-se-755 ( 755) [004] ...1 158009.611677: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20159 sensors@1.0-se-755 ( 755) [004] ...1 158009.631760: tracing_mark_write: E 20160 SensorService-1249 ( 1136) [006] ...1 158009.631775: tracing_mark_write: E 20161 SensorService-1249 ( 1136) [006] ...1 158009.631795: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20162 sensors@1.0-se-755 ( 755) [004] ...1 158009.631813: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20163 sensors@1.0-se-755 ( 755) [004] ...1 158009.651409: tracing_mark_write: E 20164 SensorService-1249 ( 1136) [006] ...1 158009.651424: tracing_mark_write: E 20165 SensorService-1249 ( 1136) [006] ...1 158009.651441: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20166 sensors@1.0-se-755 ( 755) [004] ...1 158009.651458: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20167 sensors@1.0-se-755 ( 755) [004] ...1 158009.671382: tracing_mark_write: E 20168 SensorService-1249 ( 1136) [006] ...1 158009.671400: tracing_mark_write: E 20169 SensorService-1249 ( 1136) [006] ...1 158009.671415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20170 sensors@1.0-se-755 ( 755) [004] ...1 158009.671432: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20171 sensors@1.0-se-755 ( 755) [004] ...1 158009.691509: tracing_mark_write: E 20172 SensorService-1249 ( 1136) [006] ...1 158009.691637: tracing_mark_write: E 20173 SensorService-1249 ( 1136) [006] ...1 158009.691695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20174 sensors@1.0-se-755 ( 755) [004] ...1 158009.691714: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20175 sensors@1.0-se-755 ( 755) [004] ...1 158009.711626: tracing_mark_write: E 20176 SensorService-1249 ( 1136) [006] ...1 158009.711797: tracing_mark_write: E 20177 SensorService-1249 ( 1136) [006] ...1 158009.711820: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20178 sensors@1.0-se-755 ( 755) [004] ...1 158009.712056: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20179 sensors@1.0-se-755 ( 755) [004] ...1 158009.734461: tracing_mark_write: E 20180 SensorService-1249 ( 1136) [006] ...1 158009.734556: tracing_mark_write: E 20181 SensorService-1249 ( 1136) [006] ...1 158009.734638: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20182 sensors@1.0-se-755 ( 755) [004] ...1 158009.734680: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20183 sensors@1.0-se-755 ( 755) [004] ...1 158009.754952: tracing_mark_write: E 20184 SensorService-1249 ( 1136) [006] ...1 158009.755163: tracing_mark_write: E 20185 SensorService-1249 ( 1136) [006] ...1 158009.755259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20186 sensors@1.0-se-755 ( 755) [004] ...1 158009.755412: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20187 sensors@1.0-se-755 ( 755) [004] ...1 158009.772632: tracing_mark_write: E 20188 SensorService-1249 ( 1136) [006] ...1 158009.772990: tracing_mark_write: E 20189 SensorService-1249 ( 1136) [006] ...1 158009.773153: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20190 sensors@1.0-se-755 ( 755) [004] ...1 158009.773458: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20191 sensors@1.0-se-755 ( 755) [004] ...1 158009.794381: tracing_mark_write: E 20192 SensorService-1249 ( 1136) [006] ...1 158009.794834: tracing_mark_write: E 20193 SensorService-1249 ( 1136) [006] ...1 158009.795036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20194 sensors@1.0-se-755 ( 755) [004] ...1 158009.795427: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20195 sensors@1.0-se-755 ( 755) [004] ...1 158009.812961: tracing_mark_write: E 20196 SensorService-1249 ( 1136) [006] ...1 158009.813523: tracing_mark_write: E 20197 SensorService-1249 ( 1136) [006] ...1 158009.813969: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20198 sensors@1.0-se-755 ( 755) [004] ...1 158009.814464: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20199 sensors@1.0-se-755 ( 755) [004] ...1 158009.834884: tracing_mark_write: E 20200 SensorService-1249 ( 1136) [006] ...1 158009.835427: tracing_mark_write: E 20201 SensorService-1249 ( 1136) [006] ...1 158009.835859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20202 sensors@1.0-se-755 ( 755) [004] ...1 158009.836326: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20203 sensors@1.0-se-755 ( 755) [005] ...1 158009.853379: tracing_mark_write: E 20204 SensorService-1249 ( 1136) [006] ...1 158009.853911: tracing_mark_write: E 20205 SensorService-1249 ( 1136) [006] ...1 158009.854178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20206 sensors@1.0-se-755 ( 755) [005] ...1 158009.854712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20207 sensors@1.0-se-755 ( 755) [005] ...1 158009.875039: tracing_mark_write: E 20208 SensorService-1249 ( 1136) [006] ...1 158009.875344: tracing_mark_write: E 20209 SensorService-1249 ( 1136) [006] ...1 158009.875460: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20210 sensors@1.0-se-755 ( 755) [005] ...1 158009.875950: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20211 sensors@1.0-se-755 ( 755) [005] ...1 158009.892995: tracing_mark_write: E 20212 SensorService-1249 ( 1136) [006] ...1 158009.893266: tracing_mark_write: E 20213 SensorService-1249 ( 1136) [006] ...1 158009.893359: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20214 sensors@1.0-se-755 ( 755) [005] ...1 158009.893642: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20215 sensors@1.0-se-755 ( 755) [005] ...1 158009.913382: tracing_mark_write: E 20216 SensorService-1249 ( 1136) [006] ...1 158009.913575: tracing_mark_write: E 20217 SensorService-1249 ( 1136) [006] ...1 158009.913652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20218 sensors@1.0-se-755 ( 755) [005] ...1 158009.913842: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20219 sensors@1.0-se-755 ( 755) [005] ...1 158009.932885: tracing_mark_write: E 20220 SensorService-1249 ( 1136) [006] ...1 158009.933065: tracing_mark_write: E 20221 SensorService-1249 ( 1136) [006] ...1 158009.933130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20222 sensors@1.0-se-755 ( 755) [005] ...1 158009.933281: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20223 sensors@1.0-se-755 ( 755) [005] ...1 158009.953310: tracing_mark_write: E 20224 SensorService-1249 ( 1136) [006] ...1 158009.953493: tracing_mark_write: E 20225 SensorService-1249 ( 1136) [006] ...1 158009.953557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20226 sensors@1.0-se-755 ( 755) [005] ...1 158009.953698: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20227 sensors@1.0-se-755 ( 755) [005] ...1 158009.973200: tracing_mark_write: E 20228 SensorService-1249 ( 1136) [006] ...1 158009.973377: tracing_mark_write: E 20229 SensorService-1249 ( 1136) [006] ...1 158009.973442: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20230 sensors@1.0-se-755 ( 755) [005] ...1 158009.973507: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20231 sensors@1.0-se-755 ( 755) [005] ...1 158009.993201: tracing_mark_write: E 20232 SensorService-1249 ( 1136) [006] ...1 158009.993383: tracing_mark_write: E 20233 SensorService-1249 ( 1136) [006] ...1 158009.993446: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20234 sensors@1.0-se-755 ( 755) [005] ...1 158009.993599: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20235 sensors@1.0-se-755 ( 755) [005] ...1 158010.013109: tracing_mark_write: E 20236 SensorService-1249 ( 1136) [006] ...1 158010.013300: tracing_mark_write: E 20237 SensorService-1249 ( 1136) [006] ...1 158010.013493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20238 sensors@1.0-se-755 ( 755) [005] ...1 158010.013670: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20239 sensors@1.0-se-755 ( 755) [005] ...1 158010.033566: tracing_mark_write: E 20240 SensorService-1249 ( 1136) [006] ...1 158010.033856: tracing_mark_write: E 20241 SensorService-1249 ( 1136) [006] ...1 158010.033960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20242 sensors@1.0-se-755 ( 755) [005] ...1 158010.034176: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20243 sensors@1.0-se-755 ( 755) [005] ...1 158010.053131: tracing_mark_write: E 20244 SensorService-1249 ( 1136) [006] ...1 158010.053419: tracing_mark_write: E 20245 SensorService-1249 ( 1136) [006] ...1 158010.053518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20246 sensors@1.0-se-755 ( 755) [005] ...1 158010.053570: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20247 sensors@1.0-se-755 ( 755) [004] ...1 158010.072051: tracing_mark_write: E 20248 SensorService-1249 ( 1136) [006] ...1 158010.072118: tracing_mark_write: E 20249 SensorService-1249 ( 1136) [006] ...1 158010.072195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20250 sensors@1.0-se-755 ( 755) [004] ...1 158010.072234: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20251 sensors@1.0-se-755 ( 755) [004] ...1 158010.093595: tracing_mark_write: E 20252 SensorService-1249 ( 1136) [006] ...1 158010.094027: tracing_mark_write: E 20253 SensorService-1249 ( 1136) [006] ...1 158010.094348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20254 sensors@1.0-se-755 ( 755) [004] ...1 158010.094753: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20255 sensors@1.0-se-755 ( 755) [004] ...1 158010.119054: tracing_mark_write: E 20256 SensorService-1249 ( 1136) [006] ...1 158010.119499: tracing_mark_write: E 20257 SensorService-1249 ( 1136) [006] ...1 158010.119760: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20258 sensors@1.0-se-755 ( 755) [004] ...1 158010.119982: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20259 sensors@1.0-se-755 ( 755) [004] ...1 158010.132714: tracing_mark_write: E 20260 SensorService-1249 ( 1136) [006] ...1 158010.133380: tracing_mark_write: E 20261 SensorService-1249 ( 1136) [006] ...1 158010.133662: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20262 sensors@1.0-se-755 ( 755) [004] ...1 158010.134142: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20263 sensors@1.0-se-755 ( 755) [004] ...1 158010.153519: tracing_mark_write: E 20264 SensorService-1249 ( 1136) [006] ...1 158010.154002: tracing_mark_write: E 20265 SensorService-1249 ( 1136) [006] ...1 158010.154314: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20266 sensors@1.0-se-755 ( 755) [004] ...1 158010.154738: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20267 sensors@1.0-se-755 ( 755) [004] ...1 158010.174470: tracing_mark_write: E 20268 SensorService-1249 ( 1136) [006] ...1 158010.174891: tracing_mark_write: E 20269 SensorService-1249 ( 1136) [006] ...1 158010.175138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20270 sensors@1.0-se-755 ( 755) [004] ...1 158010.175520: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20271 sensors@1.0-se-755 ( 755) [004] ...1 158010.192601: tracing_mark_write: E 20272 SensorService-1249 ( 1136) [006] ...1 158010.193066: tracing_mark_write: E 20273 SensorService-1249 ( 1136) [006] ...1 158010.193315: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20274 sensors@1.0-se-755 ( 755) [004] ...1 158010.193699: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20275 sensors@1.0-se-755 ( 755) [004] ...1 158010.213188: tracing_mark_write: E 20276 SensorService-1249 ( 1136) [006] ...1 158010.213894: tracing_mark_write: E 20277 SensorService-1249 ( 1136) [006] ...1 158010.214274: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20278 sensors@1.0-se-755 ( 755) [004] ...1 158010.214864: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20279 sensors@1.0-se-755 ( 755) [004] ...1 158010.234691: tracing_mark_write: E 20280 SensorService-1249 ( 1136) [006] ...1 158010.235090: tracing_mark_write: E 20281 SensorService-1249 ( 1136) [006] ...1 158010.235154: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20282 sensors@1.0-se-755 ( 755) [004] ...1 158010.235523: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20283 sensors@1.0-se-755 ( 755) [004] ...1 158010.255902: tracing_mark_write: E 20284 SensorService-1249 ( 1136) [006] ...1 158010.256450: tracing_mark_write: E 20285 SensorService-1249 ( 1136) [006] ...1 158010.256615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20286 sensors@1.0-se-755 ( 755) [004] ...1 158010.257127: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20287 sensors@1.0-se-755 ( 755) [004] ...1 158010.275104: tracing_mark_write: E 20288 SensorService-1249 ( 1136) [006] ...1 158010.275755: tracing_mark_write: E 20289 SensorService-1249 ( 1136) [006] ...1 158010.276064: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20290 sensors@1.0-se-755 ( 755) [004] ...1 158010.276640: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20291 sensors@1.0-se-755 ( 755) [004] ...1 158010.294423: tracing_mark_write: E 20292 SensorService-1249 ( 1136) [006] ...1 158010.295145: tracing_mark_write: E 20293 SensorService-1249 ( 1136) [006] ...1 158010.295474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20294 sensors@1.0-se-755 ( 755) [004] ...1 158010.296054: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20295 sensors@1.0-se-755 ( 755) [004] ...1 158010.313949: tracing_mark_write: E 20296 SensorService-1249 ( 1136) [006] ...1 158010.314512: tracing_mark_write: E 20297 SensorService-1249 ( 1136) [006] ...1 158010.314813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20298 sensors@1.0-se-755 ( 755) [004] ...1 158010.315289: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20299 sensors@1.0-se-755 ( 755) [004] ...1 158010.334358: tracing_mark_write: E 20300 SensorService-1249 ( 1136) [006] ...1 158010.334960: tracing_mark_write: E 20301 SensorService-1249 ( 1136) [006] ...1 158010.335231: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20302 sensors@1.0-se-755 ( 755) [004] ...1 158010.335698: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20303 sensors@1.0-se-755 ( 755) [004] ...1 158010.353845: tracing_mark_write: E 20304 SensorService-1249 ( 1136) [006] ...1 158010.354399: tracing_mark_write: E 20305 SensorService-1249 ( 1136) [006] ...1 158010.354691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20306 sensors@1.0-se-755 ( 755) [004] ...1 158010.355170: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20307 sensors@1.0-se-755 ( 755) [004] ...1 158010.376336: tracing_mark_write: E 20308 SensorService-1249 ( 1136) [006] ...1 158010.377065: tracing_mark_write: E 20309 SensorService-1249 ( 1136) [006] ...1 158010.377395: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20310 sensors@1.0-se-755 ( 755) [004] ...1 158010.378015: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20311 sensors@1.0-se-755 ( 755) [004] ...1 158010.394690: tracing_mark_write: E 20312 SensorService-1249 ( 1136) [006] ...1 158010.395130: tracing_mark_write: E 20313 SensorService-1249 ( 1136) [006] ...1 158010.395219: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20314 sensors@1.0-se-755 ( 755) [004] ...1 158010.395598: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20315 sensors@1.0-se-755 ( 755) [004] ...1 158010.414483: tracing_mark_write: E 20316 SensorService-1249 ( 1136) [006] ...1 158010.415037: tracing_mark_write: E 20317 SensorService-1249 ( 1136) [006] ...1 158010.415194: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20318 sensors@1.0-se-755 ( 755) [004] ...1 158010.415588: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20319 sensors@1.0-se-755 ( 755) [004] ...1 158010.434838: tracing_mark_write: E 20320 SensorService-1249 ( 1136) [006] ...1 158010.435132: tracing_mark_write: E 20321 SensorService-1249 ( 1136) [006] ...1 158010.435222: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20322 sensors@1.0-se-755 ( 755) [004] ...1 158010.435274: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20323 sensors@1.0-se-755 ( 755) [004] ...1 158010.453028: tracing_mark_write: E 20324 SensorService-1249 ( 1136) [006] ...1 158010.453579: tracing_mark_write: E 20325 SensorService-1249 ( 1136) [006] ...1 158010.453741: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20326 sensors@1.0-se-755 ( 755) [004] ...1 158010.454090: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20327 sensors@1.0-se-755 ( 755) [004] ...1 158010.475513: tracing_mark_write: E 20328 SensorService-1249 ( 1136) [006] ...1 158010.476073: tracing_mark_write: E 20329 SensorService-1249 ( 1136) [006] ...1 158010.476268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20330 sensors@1.0-se-755 ( 755) [004] ...1 158010.476692: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20331 sensors@1.0-se-755 ( 755) [004] ...1 158010.492814: tracing_mark_write: E 20332 SensorService-1249 ( 1136) [006] ...1 158010.493076: tracing_mark_write: E 20333 SensorService-1249 ( 1136) [006] ...1 158010.493169: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20334 sensors@1.0-se-755 ( 755) [004] ...1 158010.493474: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20335 sensors@1.0-se-755 ( 755) [004] ...1 158010.513156: tracing_mark_write: E 20336 SensorService-1249 ( 1136) [006] ...1 158010.513227: tracing_mark_write: E 20337 SensorService-1249 ( 1136) [006] ...1 158010.513433: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20338 sensors@1.0-se-755 ( 755) [004] ...1 158010.513624: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20339 sensors@1.0-se-755 ( 755) [004] ...1 158010.533540: tracing_mark_write: E 20340 SensorService-1249 ( 1136) [006] ...1 158010.533658: tracing_mark_write: E 20341 SensorService-1249 ( 1136) [006] ...1 158010.533800: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20342 sensors@1.0-se-755 ( 755) [004] ...1 158010.533931: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20343 sensors@1.0-se-755 ( 755) [004] ...1 158010.553583: tracing_mark_write: E 20344 SensorService-1249 ( 1136) [006] ...1 158010.553689: tracing_mark_write: E 20345 SensorService-1249 ( 1136) [006] ...1 158010.553842: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20346 sensors@1.0-se-755 ( 755) [004] ...1 158010.553965: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20347 sensors@1.0-se-755 ( 755) [004] ...1 158010.573300: tracing_mark_write: E 20348 SensorService-1249 ( 1136) [006] ...1 158010.573394: tracing_mark_write: E 20349 SensorService-1249 ( 1136) [006] ...1 158010.573531: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20350 sensors@1.0-se-755 ( 755) [004] ...1 158010.573656: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20351 sensors@1.0-se-755 ( 755) [004] ...1 158010.592743: tracing_mark_write: E 20352 SensorService-1249 ( 1136) [006] ...1 158010.592836: tracing_mark_write: E 20353 SensorService-1249 ( 1136) [006] ...1 158010.592942: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20354 sensors@1.0-se-755 ( 755) [004] ...1 158010.593053: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20355 sensors@1.0-se-755 ( 755) [004] ...1 158010.615838: tracing_mark_write: E 20356 SensorService-1249 ( 1136) [006] ...1 158010.616013: tracing_mark_write: E 20357 SensorService-1249 ( 1136) [006] ...1 158010.616193: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20358 sensors@1.0-se-755 ( 755) [004] ...1 158010.616566: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20359 sensors@1.0-se-755 ( 755) [004] ...1 158010.634594: tracing_mark_write: E 20360 SensorService-1249 ( 1136) [006] ...1 158010.634700: tracing_mark_write: E 20361 SensorService-1249 ( 1136) [006] ...1 158010.634822: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20362 sensors@1.0-se-755 ( 755) [004] ...1 158010.634938: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20363 sensors@1.0-se-755 ( 755) [004] ...1 158010.653957: tracing_mark_write: E 20364 SensorService-1249 ( 1136) [006] ...1 158010.654060: tracing_mark_write: E 20365 SensorService-1249 ( 1136) [006] ...1 158010.654169: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20366 sensors@1.0-se-755 ( 755) [004] ...1 158010.654705: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20367 sensors@1.0-se-755 ( 755) [004] ...1 158010.675205: tracing_mark_write: E 20368 SensorService-1249 ( 1136) [006] ...1 158010.675283: tracing_mark_write: E 20369 SensorService-1249 ( 1136) [006] ...1 158010.675383: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20370 sensors@1.0-se-755 ( 755) [004] ...1 158010.675470: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20371 sensors@1.0-se-755 ( 755) [004] ...1 158010.692910: tracing_mark_write: E 20372 SensorService-1249 ( 1136) [006] ...1 158010.692990: tracing_mark_write: E 20373 SensorService-1249 ( 1136) [006] ...1 158010.693080: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20374 sensors@1.0-se-755 ( 755) [004] ...1 158010.693157: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20375 sensors@1.0-se-755 ( 755) [004] ...1 158010.712718: tracing_mark_write: E 20376 SensorService-1249 ( 1136) [006] ...1 158010.712843: tracing_mark_write: E 20377 SensorService-1249 ( 1136) [006] ...1 158010.712973: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20378 sensors@1.0-se-755 ( 755) [004] ...1 158010.713209: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20379 sensors@1.0-se-755 ( 755) [004] ...1 158010.734715: tracing_mark_write: E 20380 SensorService-1249 ( 1136) [006] ...1 158010.734853: tracing_mark_write: E 20381 SensorService-1249 ( 1136) [006] ...1 158010.734988: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20382 sensors@1.0-se-755 ( 755) [004] ...1 158010.735219: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20383 sensors@1.0-se-755 ( 755) [004] ...1 158010.753623: tracing_mark_write: E 20384 SensorService-1249 ( 1136) [006] ...1 158010.753757: tracing_mark_write: E 20385 SensorService-1249 ( 1136) [006] ...1 158010.753879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20386 sensors@1.0-se-755 ( 755) [004] ...1 158010.754083: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20387 sensors@1.0-se-755 ( 755) [004] ...1 158010.773824: tracing_mark_write: E 20388 SensorService-1249 ( 1136) [006] ...1 158010.773965: tracing_mark_write: E 20389 SensorService-1249 ( 1136) [006] ...1 158010.774095: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20390 sensors@1.0-se-755 ( 755) [004] ...1 158010.774360: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20391 sensors@1.0-se-755 ( 755) [004] ...1 158010.793600: tracing_mark_write: E 20392 SensorService-1249 ( 1136) [006] ...1 158010.793720: tracing_mark_write: E 20393 SensorService-1249 ( 1136) [006] ...1 158010.793833: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20394 sensors@1.0-se-755 ( 755) [004] ...1 158010.794084: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20395 sensors@1.0-se-755 ( 755) [004] ...1 158010.813853: tracing_mark_write: E 20396 SensorService-1249 ( 1136) [006] ...1 158010.813926: tracing_mark_write: E 20397 SensorService-1249 ( 1136) [006] ...1 158010.813987: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20398 sensors@1.0-se-755 ( 755) [004] ...1 158010.814285: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20399 sensors@1.0-se-755 ( 755) [004] ...1 158010.833922: tracing_mark_write: E 20400 SensorService-1249 ( 1136) [006] ...1 158010.834019: tracing_mark_write: E 20401 SensorService-1249 ( 1136) [006] ...1 158010.834110: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20402 sensors@1.0-se-755 ( 755) [004] ...1 158010.834334: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20403 sensors@1.0-se-755 ( 755) [004] ...1 158010.852677: tracing_mark_write: E 20404 SensorService-1249 ( 1136) [006] ...1 158010.852720: tracing_mark_write: E 20405 SensorService-1249 ( 1136) [006] ...1 158010.852764: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20406 sensors@1.0-se-755 ( 755) [004] ...1 158010.852897: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20407 sensors@1.0-se-755 ( 755) [004] ...1 158010.874325: tracing_mark_write: E 20408 SensorService-1249 ( 1136) [006] ...1 158010.874352: tracing_mark_write: E 20409 SensorService-1249 ( 1136) [006] ...1 158010.874378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20410 sensors@1.0-se-755 ( 755) [004] ...1 158010.874558: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20411 sensors@1.0-se-755 ( 755) [004] ...1 158010.895703: tracing_mark_write: E 20412 SensorService-1249 ( 1136) [006] ...1 158010.895790: tracing_mark_write: E 20413 SensorService-1249 ( 1136) [006] ...1 158010.895855: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20414 sensors@1.0-se-755 ( 755) [004] ...1 158010.896258: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20415 sensors@1.0-se-755 ( 755) [004] ...1 158010.914398: tracing_mark_write: E 20416 SensorService-1249 ( 1136) [006] ...1 158010.914769: tracing_mark_write: E 20417 SensorService-1249 ( 1136) [006] ...1 158010.914878: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20418 sensors@1.0-se-755 ( 755) [004] ...1 158010.914930: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20419 sensors@1.0-se-755 ( 755) [004] ...1 158010.934449: tracing_mark_write: E 20420 SensorService-1249 ( 1136) [006] ...1 158010.934725: tracing_mark_write: E 20421 SensorService-1249 ( 1136) [006] ...1 158010.934791: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20422 sensors@1.0-se-755 ( 755) [004] ...1 158010.934831: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20423 sensors@1.0-se-755 ( 755) [004] ...1 158010.953717: tracing_mark_write: E 20424 SensorService-1249 ( 1136) [006] ...1 158010.953818: tracing_mark_write: E 20425 SensorService-1249 ( 1136) [006] ...1 158010.953915: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20426 sensors@1.0-se-755 ( 755) [004] ...1 158010.953967: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20427 sensors@1.0-se-755 ( 755) [004] ...1 158010.973886: tracing_mark_write: E 20428 SensorService-1249 ( 1136) [006] ...1 158010.974115: tracing_mark_write: E 20429 SensorService-1249 ( 1136) [006] ...1 158010.974225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20430 HwBinder:755_1-1247 ( 755) [001] ...1 158010.974647: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20431 HwBinder:755_1-1247 ( 755) [000] ...1 158010.996531: tracing_mark_write: E 20432 SensorService-1249 ( 1136) [006] ...1 158010.997123: tracing_mark_write: E 20433 SensorService-1249 ( 1136) [006] ...1 158010.997290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20434 HwBinder:755_1-1247 ( 755) [000] ...1 158010.999230: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20435 HwBinder:755_1-1247 ( 755) [000] ...1 158011.015449: tracing_mark_write: E 20436 SensorService-1249 ( 1136) [006] ...1 158011.015868: tracing_mark_write: E 20437 SensorService-1249 ( 1136) [006] ...1 158011.015982: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20438 HwBinder:755_1-1247 ( 755) [000] ...1 158011.016165: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20439 HwBinder:755_1-1247 ( 755) [000] ...1 158011.033486: tracing_mark_write: E 20440 SensorService-1249 ( 1136) [006] ...1 158011.033591: tracing_mark_write: E 20441 SensorService-1249 ( 1136) [006] ...1 158011.033703: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20442 HwBinder:755_1-1247 ( 755) [000] ...1 158011.033960: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20443 HwBinder:755_1-1247 ( 755) [000] ...1 158011.053505: tracing_mark_write: E 20444 SensorService-1249 ( 1136) [006] ...1 158011.053623: tracing_mark_write: E 20445 SensorService-1249 ( 1136) [006] ...1 158011.053723: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20446 HwBinder:755_1-1247 ( 755) [000] ...1 158011.054091: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20447 HwBinder:755_1-1247 ( 755) [002] ...1 158011.072753: tracing_mark_write: E 20448 SensorService-1249 ( 1136) [006] ...1 158011.072837: tracing_mark_write: E 20449 SensorService-1249 ( 1136) [006] ...1 158011.072902: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20450 HwBinder:755_1-1247 ( 755) [002] ...1 158011.072960: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20451 HwBinder:755_1-1247 ( 755) [000] ...1 158011.093918: tracing_mark_write: E 20452 SensorService-1249 ( 1136) [006] ...1 158011.094084: tracing_mark_write: E 20453 SensorService-1249 ( 1136) [006] ...1 158011.094154: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20454 HwBinder:755_1-1247 ( 755) [000] ...1 158011.094411: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20455 HwBinder:755_1-1247 ( 755) [000] ...1 158011.113581: tracing_mark_write: E 20456 SensorService-1249 ( 1136) [006] ...1 158011.113689: tracing_mark_write: E 20457 SensorService-1249 ( 1136) [006] ...1 158011.113791: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20458 HwBinder:755_1-1247 ( 755) [000] ...1 158011.113865: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20459 HwBinder:755_1-1247 ( 755) [000] ...1 158011.134041: tracing_mark_write: E 20460 SensorService-1249 ( 1136) [006] ...1 158011.134192: tracing_mark_write: E 20461 SensorService-1249 ( 1136) [006] ...1 158011.134268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20462 sensors@1.0-se-755 ( 755) [004] ...1 158011.134339: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20463 sensors@1.0-se-755 ( 755) [004] ...1 158011.153528: tracing_mark_write: E 20464 SensorService-1249 ( 1136) [006] ...1 158011.153649: tracing_mark_write: E 20465 SensorService-1249 ( 1136) [006] ...1 158011.153751: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20466 sensors@1.0-se-755 ( 755) [004] ...1 158011.153805: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20467 sensors@1.0-se-755 ( 755) [004] ...1 158011.173077: tracing_mark_write: E 20468 SensorService-1249 ( 1136) [006] ...1 158011.173182: tracing_mark_write: E 20469 SensorService-1249 ( 1136) [006] ...1 158011.173281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20470 sensors@1.0-se-755 ( 755) [004] ...1 158011.173336: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20471 sensors@1.0-se-755 ( 755) [004] ...1 158011.193508: tracing_mark_write: E 20472 SensorService-1249 ( 1136) [006] ...1 158011.193623: tracing_mark_write: E 20473 SensorService-1249 ( 1136) [006] ...1 158011.193723: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20474 sensors@1.0-se-755 ( 755) [004] ...1 158011.193776: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20475 sensors@1.0-se-755 ( 755) [004] ...1 158011.213029: tracing_mark_write: E 20476 SensorService-1249 ( 1136) [006] ...1 158011.213137: tracing_mark_write: E 20477 SensorService-1249 ( 1136) [006] ...1 158011.213238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20478 sensors@1.0-se-755 ( 755) [004] ...1 158011.213290: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20479 sensors@1.0-se-755 ( 755) [004] ...1 158011.233061: tracing_mark_write: E 20480 SensorService-1249 ( 1136) [006] ...1 158011.233179: tracing_mark_write: E 20481 SensorService-1249 ( 1136) [006] ...1 158011.233283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20482 sensors@1.0-se-755 ( 755) [004] ...1 158011.233339: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20483 sensors@1.0-se-755 ( 755) [004] ...1 158011.254923: tracing_mark_write: E 20484 SensorService-1249 ( 1136) [006] ...1 158011.255046: tracing_mark_write: E 20485 SensorService-1249 ( 1136) [006] ...1 158011.255153: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20486 sensors@1.0-se-755 ( 755) [004] ...1 158011.255206: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20487 sensors@1.0-se-755 ( 755) [004] ...1 158011.274004: tracing_mark_write: E 20488 SensorService-1249 ( 1136) [006] ...1 158011.274102: tracing_mark_write: E 20489 SensorService-1249 ( 1136) [006] ...1 158011.274195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20490 sensors@1.0-se-755 ( 755) [004] ...1 158011.274260: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20491 sensors@1.0-se-755 ( 755) [004] ...1 158011.293180: tracing_mark_write: E 20492 SensorService-1249 ( 1136) [006] ...1 158011.293253: tracing_mark_write: E 20493 SensorService-1249 ( 1136) [006] ...1 158011.293326: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20494 HwBinder:755_1-1247 ( 755) [000] ...1 158011.293623: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20495 HwBinder:755_1-1247 ( 755) [001] ...1 158011.313091: tracing_mark_write: E 20496 SensorService-1249 ( 1136) [006] ...1 158011.313397: tracing_mark_write: E 20497 SensorService-1249 ( 1136) [006] ...1 158011.313464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20498 HwBinder:755_1-1247 ( 755) [001] ...1 158011.313724: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20499 HwBinder:755_1-1247 ( 755) [000] ...1 158011.332976: tracing_mark_write: E 20500 SensorService-1249 ( 1136) [006] ...1 158011.333060: tracing_mark_write: E 20501 SensorService-1249 ( 1136) [006] ...1 158011.333122: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20502 HwBinder:755_1-1247 ( 755) [000] ...1 158011.333275: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20503 HwBinder:755_1-1247 ( 755) [000] ...1 158011.353464: tracing_mark_write: E 20504 SensorService-1249 ( 1136) [006] ...1 158011.353585: tracing_mark_write: E 20505 SensorService-1249 ( 1136) [006] ...1 158011.353681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20506 HwBinder:755_1-1247 ( 755) [000] ...1 158011.353850: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20507 HwBinder:755_1-1247 ( 755) [000] ...1 158011.373325: tracing_mark_write: E 20508 SensorService-1249 ( 1136) [006] ...1 158011.373453: tracing_mark_write: E 20509 SensorService-1249 ( 1136) [006] ...1 158011.373544: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20510 HwBinder:755_1-1247 ( 755) [000] ...1 158011.373747: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20511 HwBinder:755_1-1247 ( 755) [000] ...1 158011.393575: tracing_mark_write: E 20512 SensorService-1249 ( 1136) [006] ...1 158011.393711: tracing_mark_write: E 20513 SensorService-1249 ( 1136) [006] ...1 158011.393818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20514 HwBinder:755_1-1247 ( 755) [000] ...1 158011.393902: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20515 HwBinder:755_1-1247 ( 755) [001] ...1 158011.414845: tracing_mark_write: E 20516 SensorService-1249 ( 1136) [006] ...1 158011.415429: tracing_mark_write: E 20517 SensorService-1249 ( 1136) [006] ...1 158011.415524: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20518 HwBinder:755_1-1247 ( 755) [001] ...1 158011.415703: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20519 HwBinder:755_1-1247 ( 755) [000] ...1 158011.434012: tracing_mark_write: E 20520 SensorService-1249 ( 1136) [006] ...1 158011.434123: tracing_mark_write: E 20521 SensorService-1249 ( 1136) [006] ...1 158011.434221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20522 HwBinder:755_1-1247 ( 755) [000] ...1 158011.434441: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20523 HwBinder:755_1-1247 ( 755) [000] ...1 158011.454270: tracing_mark_write: E 20524 SensorService-1249 ( 1136) [006] ...1 158011.454427: tracing_mark_write: E 20525 SensorService-1249 ( 1136) [006] ...1 158011.454505: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20526 HwBinder:755_1-1247 ( 755) [000] ...1 158011.454667: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20527 HwBinder:755_1-1247 ( 755) [000] ...1 158011.474461: tracing_mark_write: E 20528 SensorService-1249 ( 1136) [006] ...1 158011.474562: tracing_mark_write: E 20529 SensorService-1249 ( 1136) [006] ...1 158011.474585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20530 sensors@1.0-se-755 ( 755) [004] ...1 158011.474660: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20531 sensors@1.0-se-755 ( 755) [004] ...1 158011.494450: tracing_mark_write: E 20532 SensorService-1249 ( 1136) [006] ...1 158011.494522: tracing_mark_write: E 20533 SensorService-1249 ( 1136) [006] ...1 158011.494591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20534 sensors@1.0-se-755 ( 755) [004] ...1 158011.494654: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20535 sensors@1.0-se-755 ( 755) [004] ...1 158011.513850: tracing_mark_write: E 20536 SensorService-1249 ( 1136) [006] ...1 158011.513966: tracing_mark_write: E 20537 SensorService-1249 ( 1136) [006] ...1 158011.514098: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20538 sensors@1.0-se-755 ( 755) [004] ...1 158011.514282: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20539 sensors@1.0-se-755 ( 755) [005] ...1 158011.533702: tracing_mark_write: E 20540 SensorService-1249 ( 1136) [006] ...1 158011.534077: tracing_mark_write: E 20541 SensorService-1249 ( 1136) [006] ...1 158011.534316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20542 sensors@1.0-se-755 ( 755) [005] ...1 158011.534503: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20543 sensors@1.0-se-755 ( 755) [005] ...1 158011.554485: tracing_mark_write: E 20544 SensorService-1249 ( 1136) [006] ...1 158011.554780: tracing_mark_write: E 20545 SensorService-1249 ( 1136) [006] ...1 158011.554923: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20546 sensors@1.0-se-755 ( 755) [005] ...1 158011.555041: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20547 sensors@1.0-se-755 ( 755) [005] ...1 158011.574838: tracing_mark_write: E 20548 SensorService-1249 ( 1136) [006] ...1 158011.575090: tracing_mark_write: E 20549 SensorService-1249 ( 1136) [006] ...1 158011.575210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20550 sensors@1.0-se-755 ( 755) [005] ...1 158011.575303: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20551 sensors@1.0-se-755 ( 755) [005] ...1 158011.596342: tracing_mark_write: E 20552 SensorService-1249 ( 1136) [006] ...1 158011.597013: tracing_mark_write: E 20553 SensorService-1249 ( 1136) [006] ...1 158011.597280: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20554 sensors@1.0-se-755 ( 755) [005] ...1 158011.597421: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20555 sensors@1.0-se-755 ( 755) [005] ...1 158011.615423: tracing_mark_write: E 20556 SensorService-1249 ( 1136) [006] ...1 158011.615884: tracing_mark_write: E 20557 SensorService-1249 ( 1136) [006] ...1 158011.616036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20558 sensors@1.0-se-755 ( 755) [005] ...1 158011.616122: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20559 sensors@1.0-se-755 ( 755) [004] ...1 158011.635101: tracing_mark_write: E 20560 SensorService-1249 ( 1136) [006] ...1 158011.635408: tracing_mark_write: E 20561 SensorService-1249 ( 1136) [006] ...1 158011.635565: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20562 sensors@1.0-se-755 ( 755) [004] ...1 158011.635782: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20563 sensors@1.0-se-755 ( 755) [004] ...1 158011.653705: tracing_mark_write: E 20564 SensorService-1249 ( 1136) [006] ...1 158011.653945: tracing_mark_write: E 20565 SensorService-1249 ( 1136) [006] ...1 158011.654045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20566 sensors@1.0-se-755 ( 755) [004] ...1 158011.654286: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20567 sensors@1.0-se-755 ( 755) [004] ...1 158011.673736: tracing_mark_write: E 20568 SensorService-1249 ( 1136) [006] ...1 158011.674036: tracing_mark_write: E 20569 SensorService-1249 ( 1136) [006] ...1 158011.674191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20570 sensors@1.0-se-755 ( 755) [004] ...1 158011.674493: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20571 sensors@1.0-se-755 ( 755) [004] ...1 158011.694411: tracing_mark_write: E 20572 SensorService-1249 ( 1136) [006] ...1 158011.694689: tracing_mark_write: E 20573 SensorService-1249 ( 1136) [006] ...1 158011.694826: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20574 sensors@1.0-se-755 ( 755) [004] ...1 158011.695057: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20575 sensors@1.0-se-755 ( 755) [004] ...1 158011.715880: tracing_mark_write: E 20576 SensorService-1249 ( 1136) [006] ...1 158011.716166: tracing_mark_write: E 20577 SensorService-1249 ( 1136) [006] ...1 158011.716289: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20578 sensors@1.0-se-755 ( 755) [004] ...1 158011.716655: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20579 sensors@1.0-se-755 ( 755) [004] ...1 158011.735015: tracing_mark_write: E 20580 SensorService-1249 ( 1136) [006] ...1 158011.735401: tracing_mark_write: E 20581 SensorService-1249 ( 1136) [006] ...1 158011.735549: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20582 sensors@1.0-se-755 ( 755) [004] ...1 158011.735853: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20583 sensors@1.0-se-755 ( 755) [004] ...1 158011.754958: tracing_mark_write: E 20584 SensorService-1249 ( 1136) [006] ...1 158011.755306: tracing_mark_write: E 20585 SensorService-1249 ( 1136) [006] ...1 158011.755423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20586 sensors@1.0-se-755 ( 755) [004] ...1 158011.755694: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20587 sensors@1.0-se-755 ( 755) [004] ...1 158011.774381: tracing_mark_write: E 20588 SensorService-1249 ( 1136) [006] ...1 158011.774486: tracing_mark_write: E 20589 SensorService-1249 ( 1136) [006] ...1 158011.774585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20590 sensors@1.0-se-755 ( 755) [004] ...1 158011.774772: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20591 sensors@1.0-se-755 ( 755) [004] ...1 158011.796151: tracing_mark_write: E 20592 SensorService-1249 ( 1136) [006] ...1 158011.796500: tracing_mark_write: E 20593 SensorService-1249 ( 1136) [006] ...1 158011.796753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20594 sensors@1.0-se-755 ( 755) [004] ...1 158011.797137: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20595 sensors@1.0-se-755 ( 755) [004] ...1 158011.814957: tracing_mark_write: E 20596 SensorService-1249 ( 1136) [006] ...1 158011.815394: tracing_mark_write: E 20597 SensorService-1249 ( 1136) [006] ...1 158011.815649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20598 sensors@1.0-se-755 ( 755) [004] ...1 158011.816036: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20599 sensors@1.0-se-755 ( 755) [004] ...1 158011.834677: tracing_mark_write: E 20600 SensorService-1249 ( 1136) [006] ...1 158011.835115: tracing_mark_write: E 20601 SensorService-1249 ( 1136) [006] ...1 158011.835378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20602 sensors@1.0-se-755 ( 755) [004] ...1 158011.835766: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20603 sensors@1.0-se-755 ( 755) [004] ...1 158011.855503: tracing_mark_write: E 20604 SensorService-1249 ( 1136) [006] ...1 158011.856210: tracing_mark_write: E 20605 SensorService-1249 ( 1136) [006] ...1 158011.856542: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20606 sensors@1.0-se-755 ( 755) [004] ...1 158011.857136: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20607 sensors@1.0-se-755 ( 755) [004] ...1 158011.875447: tracing_mark_write: E 20608 SensorService-1249 ( 1136) [006] ...1 158011.876219: tracing_mark_write: E 20609 SensorService-1249 ( 1136) [006] ...1 158011.876599: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20610 sensors@1.0-se-755 ( 755) [004] ...1 158011.877216: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20611 sensors@1.0-se-755 ( 755) [004] ...1 158011.895495: tracing_mark_write: E 20612 SensorService-1249 ( 1136) [006] ...1 158011.896254: tracing_mark_write: E 20613 SensorService-1249 ( 1136) [006] ...1 158011.896617: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20614 sensors@1.0-se-755 ( 755) [004] ...1 158011.897269: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20615 sensors@1.0-se-755 ( 755) [004] ...1 158011.914345: tracing_mark_write: E 20616 SensorService-1249 ( 1136) [006] ...1 158011.914773: tracing_mark_write: E 20617 SensorService-1249 ( 1136) [006] ...1 158011.915024: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20618 sensors@1.0-se-755 ( 755) [004] ...1 158011.915409: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20619 sensors@1.0-se-755 ( 755) [004] ...1 158011.934495: tracing_mark_write: E 20620 SensorService-1249 ( 1136) [006] ...1 158011.934936: tracing_mark_write: E 20621 SensorService-1249 ( 1136) [006] ...1 158011.935191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20622 sensors@1.0-se-755 ( 755) [004] ...1 158011.935579: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20623 sensors@1.0-se-755 ( 755) [004] ...1 158011.954766: tracing_mark_write: E 20624 SensorService-1249 ( 1136) [006] ...1 158011.955201: tracing_mark_write: E 20625 SensorService-1249 ( 1136) [006] ...1 158011.955414: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20626 sensors@1.0-se-755 ( 755) [004] ...1 158011.955802: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20627 sensors@1.0-se-755 ( 755) [004] ...1 158011.976381: tracing_mark_write: E 20628 SensorService-1249 ( 1136) [006] ...1 158011.976500: tracing_mark_write: E 20629 SensorService-1249 ( 1136) [006] ...1 158011.976611: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20630 sensors@1.0-se-755 ( 755) [004] ...1 158011.976667: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20631 sensors@1.0-se-755 ( 755) [004] ...1 158011.994241: tracing_mark_write: E 20632 SensorService-1249 ( 1136) [006] ...1 158011.994287: tracing_mark_write: E 20633 SensorService-1249 ( 1136) [006] ...1 158011.994340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20634 sensors@1.0-se-755 ( 755) [004] ...1 158011.994524: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20635 sensors@1.0-se-755 ( 755) [004] ...1 158012.014034: tracing_mark_write: E 20636 SensorService-1249 ( 1136) [006] ...1 158012.014115: tracing_mark_write: E 20637 SensorService-1249 ( 1136) [006] ...1 158012.014222: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20638 sensors@1.0-se-755 ( 755) [004] ...1 158012.014273: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20639 sensors@1.0-se-755 ( 755) [004] ...1 158012.034281: tracing_mark_write: E 20640 SensorService-1249 ( 1136) [006] ...1 158012.034389: tracing_mark_write: E 20641 SensorService-1249 ( 1136) [006] ...1 158012.034525: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20642 sensors@1.0-se-755 ( 755) [004] ...1 158012.034818: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20643 android.bg-1155 ( 1136) [007] ...1 158012.041735: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20644 memtrack@1.0-s-745 ( 745) [007] ...1 158012.041863: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20645 memtrack@1.0-s-745 ( 745) [007] ...1 158012.041885: tracing_mark_write: E 20646 android.bg-1155 ( 1136) [007] ...1 158012.041965: tracing_mark_write: E 20647 android.bg-1155 ( 1136) [007] ...1 158012.041981: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20648 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042028: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20649 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042174: tracing_mark_write: E 20650 android.bg-1155 ( 1136) [007] ...1 158012.042231: tracing_mark_write: E 20651 android.bg-1155 ( 1136) [007] ...1 158012.042244: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20652 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042290: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20653 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042326: tracing_mark_write: E 20654 android.bg-1155 ( 1136) [007] ...1 158012.042381: tracing_mark_write: E 20655 android.bg-1155 ( 1136) [007] ...1 158012.042394: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20656 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042439: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20657 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042447: tracing_mark_write: E 20658 android.bg-1155 ( 1136) [007] ...1 158012.042496: tracing_mark_write: E 20659 android.bg-1155 ( 1136) [007] ...1 158012.042508: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20660 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042550: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20661 memtrack@1.0-s-745 ( 745) [007] ...1 158012.042560: tracing_mark_write: E 20662 android.bg-1155 ( 1136) [007] ...1 158012.042607: tracing_mark_write: E 20663 sensors@1.0-se-755 ( 755) [004] ...1 158012.054252: tracing_mark_write: E 20664 SensorService-1249 ( 1136) [006] ...1 158012.054470: tracing_mark_write: E 20665 SensorService-1249 ( 1136) [006] ...1 158012.054558: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20666 sensors@1.0-se-755 ( 755) [004] ...1 158012.054799: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20667 sensors@1.0-se-755 ( 755) [004] ...1 158012.073527: tracing_mark_write: E 20668 SensorService-1249 ( 1136) [006] ...1 158012.073595: tracing_mark_write: E 20669 SensorService-1249 ( 1136) [006] ...1 158012.073665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20670 sensors@1.0-se-755 ( 755) [004] ...1 158012.073712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20671 sensors@1.0-se-755 ( 755) [005] ...1 158012.093438: tracing_mark_write: E 20672 SensorService-1249 ( 1136) [006] ...1 158012.093494: tracing_mark_write: E 20673 SensorService-1249 ( 1136) [006] ...1 158012.093546: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20674 sensors@1.0-se-755 ( 755) [005] ...1 158012.093582: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20675 sensors@1.0-se-755 ( 755) [005] ...1 158012.113682: tracing_mark_write: E 20676 SensorService-1249 ( 1136) [006] ...1 158012.113738: tracing_mark_write: E 20677 SensorService-1249 ( 1136) [006] ...1 158012.113793: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20678 sensors@1.0-se-755 ( 755) [005] ...1 158012.113849: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20679 sensors@1.0-se-755 ( 755) [004] ...1 158012.133635: tracing_mark_write: E 20680 SensorService-1249 ( 1136) [006] ...1 158012.133701: tracing_mark_write: E 20681 SensorService-1249 ( 1136) [006] ...1 158012.133753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20682 sensors@1.0-se-755 ( 755) [004] ...1 158012.133788: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20683 sensors@1.0-se-755 ( 755) [005] ...1 158012.153618: tracing_mark_write: E 20684 SensorService-1249 ( 1136) [006] ...1 158012.153678: tracing_mark_write: E 20685 SensorService-1249 ( 1136) [006] ...1 158012.153735: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20686 sensors@1.0-se-755 ( 755) [005] ...1 158012.153772: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20687 sensors@1.0-se-755 ( 755) [004] ...1 158012.173473: tracing_mark_write: E 20688 SensorService-1249 ( 1136) [006] ...1 158012.173538: tracing_mark_write: E 20689 SensorService-1249 ( 1136) [006] ...1 158012.173598: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20690 sensors@1.0-se-755 ( 755) [004] ...1 158012.173633: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20691 sensors@1.0-se-755 ( 755) [005] ...1 158012.193485: tracing_mark_write: E 20692 SensorService-1249 ( 1136) [006] ...1 158012.193542: tracing_mark_write: E 20693 SensorService-1249 ( 1136) [006] ...1 158012.193592: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20694 sensors@1.0-se-755 ( 755) [005] ...1 158012.193628: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20695 sensors@1.0-se-755 ( 755) [006] ...1 158012.213792: tracing_mark_write: E 20696 SensorService-1249 ( 1136) [001] ...1 158012.213876: tracing_mark_write: E 20697 SensorService-1249 ( 1136) [001] ...1 158012.213956: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20698 sensors@1.0-se-755 ( 755) [006] ...1 158012.214013: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20699 sensors@1.0-se-755 ( 755) [004] ...1 158012.233597: tracing_mark_write: E 20700 SensorService-1249 ( 1136) [001] ...1 158012.233666: tracing_mark_write: E 20701 SensorService-1249 ( 1136) [001] ...1 158012.233745: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20702 sensors@1.0-se-755 ( 755) [004] ...1 158012.233896: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20703 sensors@1.0-se-755 ( 755) [005] ...1 158012.254134: tracing_mark_write: E 20704 SensorService-1249 ( 1136) [001] ...1 158012.254297: tracing_mark_write: E 20705 SensorService-1249 ( 1136) [001] ...1 158012.254367: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20706 sensors@1.0-se-755 ( 755) [005] ...1 158012.254421: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20707 sensors@1.0-se-755 ( 755) [005] ...1 158012.273602: tracing_mark_write: E 20708 SensorService-1249 ( 1136) [001] ...1 158012.273675: tracing_mark_write: E 20709 SensorService-1249 ( 1136) [001] ...1 158012.273752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20710 sensors@1.0-se-755 ( 755) [005] ...1 158012.273807: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20711 sensors@1.0-se-755 ( 755) [005] ...1 158012.293650: tracing_mark_write: E 20712 SensorService-1249 ( 1136) [001] ...1 158012.293718: tracing_mark_write: E 20713 SensorService-1249 ( 1136) [001] ...1 158012.293790: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20714 sensors@1.0-se-755 ( 755) [005] ...1 158012.293843: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20715 sensors@1.0-se-755 ( 755) [006] ...1 158012.313616: tracing_mark_write: E 20716 SensorService-1249 ( 1136) [001] ...1 158012.313693: tracing_mark_write: E 20717 SensorService-1249 ( 1136) [001] ...1 158012.313779: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20718 sensors@1.0-se-755 ( 755) [006] ...1 158012.313834: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20719 sensors@1.0-se-755 ( 755) [005] ...1 158012.333986: tracing_mark_write: E 20720 SensorService-1249 ( 1136) [001] ...1 158012.334199: tracing_mark_write: E 20721 SensorService-1249 ( 1136) [001] ...1 158012.334301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20722 sensors@1.0-se-755 ( 755) [005] ...1 158012.334391: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20723 sensors@1.0-se-755 ( 755) [004] ...1 158012.353933: tracing_mark_write: E 20724 SensorService-1249 ( 1136) [001] ...1 158012.354004: tracing_mark_write: E 20725 SensorService-1249 ( 1136) [001] ...1 158012.354079: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20726 sensors@1.0-se-755 ( 755) [004] ...1 158012.354232: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20727 android.bg-1155 ( 1136) [003] ...1 158012.357246: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20728 memtrack@1.0-s-745 ( 745) [000] ...1 158012.357777: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20729 memtrack@1.0-s-745 ( 745) [000] ...1 158012.357828: tracing_mark_write: E 20730 android.bg-1155 ( 1136) [001] ...1 158012.358213: tracing_mark_write: E 20731 android.bg-1155 ( 1136) [001] ...1 158012.358265: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20732 memtrack@1.0-s-745 ( 745) [003] ...1 158012.358661: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20733 memtrack@1.0-s-745 ( 745) [003] ...1 158012.358820: tracing_mark_write: E 20734 android.bg-1155 ( 1136) [000] ...1 158012.359184: tracing_mark_write: E 20735 android.bg-1155 ( 1136) [000] ...1 158012.359234: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20736 memtrack@1.0-s-745 ( 745) [003] ...1 158012.359417: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20737 memtrack@1.0-s-745 ( 745) [003] ...1 158012.359539: tracing_mark_write: E 20738 android.bg-1155 ( 1136) [000] ...1 158012.359688: tracing_mark_write: E 20739 android.bg-1155 ( 1136) [000] ...1 158012.359730: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20740 memtrack@1.0-s-745 ( 745) [003] ...1 158012.359910: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20741 memtrack@1.0-s-745 ( 745) [003] ...1 158012.359940: tracing_mark_write: E 20742 android.bg-1155 ( 1136) [000] ...1 158012.360081: tracing_mark_write: E 20743 android.bg-1155 ( 1136) [000] ...1 158012.360119: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 20744 memtrack@1.0-s-745 ( 745) [003] ...1 158012.360287: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 20745 memtrack@1.0-s-745 ( 745) [003] ...1 158012.360317: tracing_mark_write: E 20746 android.bg-1155 ( 1136) [000] ...1 158012.360457: tracing_mark_write: E 20747 sensors@1.0-se-755 ( 755) [004] ...1 158012.373966: tracing_mark_write: E 20748 SensorService-1249 ( 1136) [001] ...1 158012.374303: tracing_mark_write: E 20749 SensorService-1249 ( 1136) [001] ...1 158012.374434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20750 sensors@1.0-se-755 ( 755) [004] ...1 158012.374512: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20751 sensors@1.0-se-755 ( 755) [004] ...1 158012.393655: tracing_mark_write: E 20752 SensorService-1249 ( 1136) [001] ...1 158012.393736: tracing_mark_write: E 20753 SensorService-1249 ( 1136) [001] ...1 158012.393834: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20754 sensors@1.0-se-755 ( 755) [004] ...1 158012.393899: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20755 sensors@1.0-se-755 ( 755) [006] ...1 158012.414484: tracing_mark_write: E 20756 SensorService-1249 ( 1136) [001] ...1 158012.414858: tracing_mark_write: E 20757 SensorService-1249 ( 1136) [001] ...1 158012.415104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20758 sensors@1.0-se-755 ( 755) [006] ...1 158012.415345: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20759 sensors@1.0-se-755 ( 755) [006] ...1 158012.435081: tracing_mark_write: E 20760 SensorService-1249 ( 1136) [001] ...1 158012.436107: tracing_mark_write: E 20761 SensorService-1249 ( 1136) [001] ...1 158012.436431: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20762 sensors@1.0-se-755 ( 755) [006] ...1 158012.436681: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20763 sensors@1.0-se-755 ( 755) [006] ...1 158012.454576: tracing_mark_write: E 20764 SensorService-1249 ( 1136) [001] ...1 158012.454966: tracing_mark_write: E 20765 SensorService-1249 ( 1136) [001] ...1 158012.455214: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20766 sensors@1.0-se-755 ( 755) [006] ...1 158012.455464: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20767 sensors@1.0-se-755 ( 755) [006] ...1 158012.474703: tracing_mark_write: E 20768 SensorService-1249 ( 1136) [001] ...1 158012.475110: tracing_mark_write: E 20769 SensorService-1249 ( 1136) [001] ...1 158012.475338: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20770 sensors@1.0-se-755 ( 755) [006] ...1 158012.475479: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20771 sensors@1.0-se-755 ( 755) [006] ...1 158012.494632: tracing_mark_write: E 20772 SensorService-1249 ( 1136) [001] ...1 158012.495006: tracing_mark_write: E 20773 SensorService-1249 ( 1136) [001] ...1 158012.495228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20774 sensors@1.0-se-755 ( 755) [006] ...1 158012.495483: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20775 sensors@1.0-se-755 ( 755) [006] ...1 158012.514676: tracing_mark_write: E 20776 SensorService-1249 ( 1136) [001] ...1 158012.515035: tracing_mark_write: E 20777 SensorService-1249 ( 1136) [001] ...1 158012.515243: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20778 sensors@1.0-se-755 ( 755) [006] ...1 158012.515375: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20779 sensors@1.0-se-755 ( 755) [006] ...1 158012.535047: tracing_mark_write: E 20780 SensorService-1249 ( 1136) [001] ...1 158012.535604: tracing_mark_write: E 20781 SensorService-1249 ( 1136) [001] ...1 158012.535907: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20782 sensors@1.0-se-755 ( 755) [006] ...1 158012.536305: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20783 sensors@1.0-se-755 ( 755) [006] ...1 158012.555319: tracing_mark_write: E 20784 SensorService-1249 ( 1136) [001] ...1 158012.555838: tracing_mark_write: E 20785 SensorService-1249 ( 1136) [001] ...1 158012.556210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20786 sensors@1.0-se-755 ( 755) [006] ...1 158012.556724: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20787 sensors@1.0-se-755 ( 755) [006] ...1 158012.576464: tracing_mark_write: E 20788 SensorService-1249 ( 1136) [001] ...1 158012.577015: tracing_mark_write: E 20789 SensorService-1249 ( 1136) [001] ...1 158012.577356: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20790 sensors@1.0-se-755 ( 755) [006] ...1 158012.577766: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20791 sensors@1.0-se-755 ( 755) [006] ...1 158012.595077: tracing_mark_write: E 20792 SensorService-1249 ( 1136) [001] ...1 158012.595602: tracing_mark_write: E 20793 SensorService-1249 ( 1136) [001] ...1 158012.595936: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20794 sensors@1.0-se-755 ( 755) [006] ...1 158012.596377: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20795 sensors@1.0-se-755 ( 755) [006] ...1 158012.615835: tracing_mark_write: E 20796 SensorService-1249 ( 1136) [001] ...1 158012.617153: tracing_mark_write: E 20797 SensorService-1249 ( 1136) [001] ...1 158012.617508: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20798 sensors@1.0-se-755 ( 755) [006] ...1 158012.617825: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20799 sensors@1.0-se-755 ( 755) [006] ...1 158012.635254: tracing_mark_write: E 20800 SensorService-1249 ( 1136) [001] ...1 158012.635691: tracing_mark_write: E 20801 SensorService-1249 ( 1136) [001] ...1 158012.636032: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20802 sensors@1.0-se-755 ( 755) [006] ...1 158012.636420: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20803 sensors@1.0-se-755 ( 755) [006] ...1 158012.656608: tracing_mark_write: E 20804 SensorService-1249 ( 1136) [001] ...1 158012.658320: tracing_mark_write: E 20805 SensorService-1249 ( 1136) [001] ...1 158012.658816: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20806 sensors@1.0-se-755 ( 755) [006] ...1 158012.659076: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20807 sensors@1.0-se-755 ( 755) [006] ...1 158012.676563: tracing_mark_write: E 20808 SensorService-1249 ( 1136) [001] ...1 158012.678095: tracing_mark_write: E 20809 SensorService-1249 ( 1136) [001] ...1 158012.678526: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20810 sensors@1.0-se-755 ( 755) [006] ...1 158012.678741: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20811 sensors@1.0-se-755 ( 755) [006] ...1 158012.696564: tracing_mark_write: E 20812 SensorService-1249 ( 1136) [001] ...1 158012.698475: tracing_mark_write: E 20813 SensorService-1249 ( 1136) [001] ...1 158012.699081: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20814 sensors@1.0-se-755 ( 755) [006] ...1 158012.699707: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20815 sensors@1.0-se-755 ( 755) [006] ...1 158012.715594: tracing_mark_write: E 20816 SensorService-1249 ( 1136) [001] ...1 158012.716857: tracing_mark_write: E 20817 SensorService-1249 ( 1136) [001] ...1 158012.717219: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20818 sensors@1.0-se-755 ( 755) [006] ...1 158012.717570: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20819 sensors@1.0-se-755 ( 755) [007] ...1 158012.736053: tracing_mark_write: E 20820 SensorService-1249 ( 1136) [001] ...1 158012.736955: tracing_mark_write: E 20821 SensorService-1249 ( 1136) [001] ...1 158012.737261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20822 sensors@1.0-se-755 ( 755) [007] ...1 158012.737438: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20823 sensors@1.0-se-755 ( 755) [004] ...1 158012.756012: tracing_mark_write: E 20824 SensorService-1249 ( 1136) [001] ...1 158012.757236: tracing_mark_write: E 20825 SensorService-1249 ( 1136) [001] ...1 158012.757673: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20826 sensors@1.0-se-755 ( 755) [004] ...1 158012.758040: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20827 sensors@1.0-se-755 ( 755) [004] ...1 158012.775930: tracing_mark_write: E 20828 SensorService-1249 ( 1136) [001] ...1 158012.777117: tracing_mark_write: E 20829 SensorService-1249 ( 1136) [001] ...1 158012.777434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20830 sensors@1.0-se-755 ( 755) [004] ...1 158012.777860: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20831 sensors@1.0-se-755 ( 755) [004] ...1 158012.795987: tracing_mark_write: E 20832 SensorService-1249 ( 1136) [001] ...1 158012.797207: tracing_mark_write: E 20833 SensorService-1249 ( 1136) [001] ...1 158012.797514: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20834 sensors@1.0-se-755 ( 755) [004] ...1 158012.797952: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20835 sensors@1.0-se-755 ( 755) [004] ...1 158012.815428: tracing_mark_write: E 20836 SensorService-1249 ( 1136) [001] ...1 158012.816014: tracing_mark_write: E 20837 SensorService-1249 ( 1136) [001] ...1 158012.816469: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20838 sensors@1.0-se-755 ( 755) [004] ...1 158012.816879: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20839 sensors@1.0-se-755 ( 755) [004] ...1 158012.835389: tracing_mark_write: E 20840 SensorService-1249 ( 1136) [001] ...1 158012.835929: tracing_mark_write: E 20841 SensorService-1249 ( 1136) [001] ...1 158012.836196: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20842 sensors@1.0-se-755 ( 755) [004] ...1 158012.836537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20843 sensors@1.0-se-755 ( 755) [004] ...1 158012.854923: tracing_mark_write: E 20844 SensorService-1249 ( 1136) [001] ...1 158012.855323: tracing_mark_write: E 20845 SensorService-1249 ( 1136) [001] ...1 158012.855569: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20846 sensors@1.0-se-755 ( 755) [004] ...1 158012.855824: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20847 sensors@1.0-se-755 ( 755) [004] ...1 158012.874595: tracing_mark_write: E 20848 SensorService-1249 ( 1136) [001] ...1 158012.874878: tracing_mark_write: E 20849 SensorService-1249 ( 1136) [001] ...1 158012.875066: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20850 sensors@1.0-se-755 ( 755) [004] ...1 158012.875193: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20851 sensors@1.0-se-755 ( 755) [004] ...1 158012.895398: tracing_mark_write: E 20852 SensorService-1249 ( 1136) [001] ...1 158012.895802: tracing_mark_write: E 20853 SensorService-1249 ( 1136) [001] ...1 158012.896048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20854 sensors@1.0-se-755 ( 755) [004] ...1 158012.896193: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20855 sensors@1.0-se-755 ( 755) [006] ...1 158012.914815: tracing_mark_write: E 20856 SensorService-1249 ( 1136) [001] ...1 158012.915229: tracing_mark_write: E 20857 SensorService-1249 ( 1136) [001] ...1 158012.915612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20858 sensors@1.0-se-755 ( 755) [006] ...1 158012.915840: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20859 sensors@1.0-se-755 ( 755) [006] ...1 158012.935963: tracing_mark_write: E 20860 SensorService-1249 ( 1136) [001] ...1 158012.936292: tracing_mark_write: E 20861 SensorService-1249 ( 1136) [001] ...1 158012.936627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20862 sensors@1.0-se-755 ( 755) [006] ...1 158012.937041: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20863 sensors@1.0-se-755 ( 755) [006] ...1 158012.955431: tracing_mark_write: E 20864 SensorService-1249 ( 1136) [001] ...1 158012.956714: tracing_mark_write: E 20865 SensorService-1249 ( 1136) [001] ...1 158012.957092: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20866 sensors@1.0-se-755 ( 755) [006] ...1 158012.957584: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20867 sensors@1.0-se-755 ( 755) [006] ...1 158012.976141: tracing_mark_write: E 20868 SensorService-1249 ( 1136) [001] ...1 158012.976807: tracing_mark_write: E 20869 SensorService-1249 ( 1136) [001] ...1 158012.977236: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20870 sensors@1.0-se-755 ( 755) [006] ...1 158012.978989: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20871 sensors@1.0-se-755 ( 755) [004] ...1 158012.995956: tracing_mark_write: E 20872 SensorService-1249 ( 1136) [001] ...1 158012.996351: tracing_mark_write: E 20873 SensorService-1249 ( 1136) [001] ...1 158012.996725: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20874 sensors@1.0-se-755 ( 755) [004] ...1 158012.997450: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20875 sensors@1.0-se-755 ( 755) [004] ...1 158013.016704: tracing_mark_write: E 20876 SensorService-1249 ( 1136) [001] ...1 158013.017024: tracing_mark_write: E 20877 SensorService-1249 ( 1136) [001] ...1 158013.017335: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20878 sensors@1.0-se-755 ( 755) [004] ...1 158013.019460: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20879 sensors@1.0-se-755 ( 755) [004] ...1 158013.036623: tracing_mark_write: E 20880 SensorService-1249 ( 1136) [001] ...1 158013.036930: tracing_mark_write: E 20881 SensorService-1249 ( 1136) [001] ...1 158013.037234: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20882 sensors@1.0-se-755 ( 755) [004] ...1 158013.038348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20883 sensors@1.0-se-755 ( 755) [004] ...1 158013.055961: tracing_mark_write: E 20884 SensorService-1249 ( 1136) [001] ...1 158013.056205: tracing_mark_write: E 20885 SensorService-1249 ( 1136) [001] ...1 158013.056394: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20886 sensors@1.0-se-755 ( 755) [004] ...1 158013.057251: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20887 sensors@1.0-se-755 ( 755) [004] ...1 158013.075903: tracing_mark_write: E 20888 SensorService-1249 ( 1136) [001] ...1 158013.076430: tracing_mark_write: E 20889 SensorService-1249 ( 1136) [001] ...1 158013.076631: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20890 HwBinder:755_1-1247 ( 755) [000] ...1 158013.078782: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20891 HwBinder:755_1-1247 ( 755) [000] ...1 158013.096774: tracing_mark_write: E 20892 SensorService-1249 ( 1136) [001] ...1 158013.097119: tracing_mark_write: E 20893 SensorService-1249 ( 1136) [001] ...1 158013.097496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20894 HwBinder:755_1-1247 ( 755) [000] ...1 158013.098186: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20895 HwBinder:755_1-1247 ( 755) [000] ...1 158013.117672: tracing_mark_write: E 20896 SensorService-1249 ( 1136) [001] ...1 158013.118353: tracing_mark_write: E 20897 SensorService-1249 ( 1136) [001] ...1 158013.118714: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20898 HwBinder:755_1-1247 ( 755) [000] ...1 158013.119302: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20899 HwBinder:755_1-1247 ( 755) [000] ...1 158013.136992: tracing_mark_write: E 20900 SensorService-1249 ( 1136) [001] ...1 158013.137195: tracing_mark_write: E 20901 SensorService-1249 ( 1136) [001] ...1 158013.137405: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20902 HwBinder:755_1-1247 ( 755) [000] ...1 158013.137957: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20903 HwBinder:755_1-1247 ( 755) [000] ...1 158013.157203: tracing_mark_write: E 20904 SensorService-1249 ( 1136) [001] ...1 158013.157912: tracing_mark_write: E 20905 SensorService-1249 ( 1136) [001] ...1 158013.158268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20906 HwBinder:755_1-1247 ( 755) [000] ...1 158013.158520: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20907 HwBinder:755_1-1247 ( 755) [000] ...1 158013.175410: tracing_mark_write: E 20908 SensorService-1249 ( 1136) [001] ...1 158013.175561: tracing_mark_write: E 20909 SensorService-1249 ( 1136) [001] ...1 158013.175702: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20910 HwBinder:755_1-1247 ( 755) [000] ...1 158013.175960: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20911 HwBinder:755_1-1247 ( 755) [000] ...1 158013.197442: tracing_mark_write: E 20912 SensorService-1249 ( 1136) [001] ...1 158013.198081: tracing_mark_write: E 20913 SensorService-1249 ( 1136) [001] ...1 158013.198396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20914 HwBinder:755_1-1247 ( 755) [000] ...1 158013.198918: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20915 HwBinder:755_1-1247 ( 755) [000] ...1 158013.216611: tracing_mark_write: E 20916 SensorService-1249 ( 1136) [001] ...1 158013.217002: tracing_mark_write: E 20917 SensorService-1249 ( 1136) [001] ...1 158013.217211: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20918 HwBinder:755_1-1247 ( 755) [000] ...1 158013.217602: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20919 HwBinder:755_1-1247 ( 755) [000] ...1 158013.237309: tracing_mark_write: E 20920 SensorService-1249 ( 1136) [001] ...1 158013.237995: tracing_mark_write: E 20921 SensorService-1249 ( 1136) [001] ...1 158013.238398: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20922 HwBinder:755_1-1247 ( 755) [000] ...1 158013.238912: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20923 HwBinder:755_1-1247 ( 755) [003] ...1 158013.255493: tracing_mark_write: E 20924 SensorService-1249 ( 1136) [001] ...1 158013.255794: tracing_mark_write: E 20925 SensorService-1249 ( 1136) [001] ...1 158013.255932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20926 HwBinder:755_1-1247 ( 755) [003] ...1 158013.256172: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20927 HwBinder:755_1-1247 ( 755) [000] ...1 158013.276653: tracing_mark_write: E 20928 SensorService-1249 ( 1136) [001] ...1 158013.277107: tracing_mark_write: E 20929 SensorService-1249 ( 1136) [001] ...1 158013.277303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20930 HwBinder:755_1-1247 ( 755) [000] ...1 158013.277853: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20931 HwBinder:755_1-1247 ( 755) [000] ...1 158013.296816: tracing_mark_write: E 20932 SensorService-1249 ( 1136) [001] ...1 158013.297034: tracing_mark_write: E 20933 SensorService-1249 ( 1136) [001] ...1 158013.297232: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20934 HwBinder:755_1-1247 ( 755) [000] ...1 158013.297591: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20935 HwBinder:755_1-1247 ( 755) [000] ...1 158013.317272: tracing_mark_write: E 20936 SensorService-1249 ( 1136) [001] ...1 158013.317714: tracing_mark_write: E 20937 SensorService-1249 ( 1136) [001] ...1 158013.318095: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20938 HwBinder:755_1-1247 ( 755) [000] ...1 158013.318678: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20939 HwBinder:755_1-1247 ( 755) [003] ...1 158013.336275: tracing_mark_write: E 20940 SensorService-1249 ( 1136) [001] ...1 158013.336626: tracing_mark_write: E 20941 SensorService-1249 ( 1136) [001] ...1 158013.337026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20942 HwBinder:755_1-1247 ( 755) [003] ...1 158013.337739: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20943 HwBinder:755_1-1247 ( 755) [002] ...1 158013.355321: tracing_mark_write: E 20944 SensorService-1249 ( 1136) [001] ...1 158013.355465: tracing_mark_write: E 20945 SensorService-1249 ( 1136) [001] ...1 158013.355649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20946 HwBinder:755_1-1247 ( 755) [002] ...1 158013.355827: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20947 HwBinder:755_1-1247 ( 755) [004] ...1 158013.374687: tracing_mark_write: E 20948 SensorService-1249 ( 1136) [001] ...1 158013.374787: tracing_mark_write: E 20949 SensorService-1249 ( 1136) [001] ...1 158013.374906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20950 HwBinder:755_1-1247 ( 755) [004] ...1 158013.374984: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20951 HwBinder:755_1-1247 ( 755) [002] ...1 158013.395285: tracing_mark_write: E 20952 SensorService-1249 ( 1136) [001] ...1 158013.395369: tracing_mark_write: E 20953 SensorService-1249 ( 1136) [001] ...1 158013.395458: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20954 HwBinder:755_1-1247 ( 755) [002] ...1 158013.395607: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20955 HwBinder:755_1-1247 ( 755) [002] ...1 158013.414973: tracing_mark_write: E 20956 SensorService-1249 ( 1136) [001] ...1 158013.415068: tracing_mark_write: E 20957 SensorService-1249 ( 1136) [001] ...1 158013.415162: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20958 HwBinder:755_1-1247 ( 755) [002] ...1 158013.415324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20959 HwBinder:755_1-1247 ( 755) [000] ...1 158013.436917: tracing_mark_write: E 20960 SensorService-1249 ( 1136) [001] ...1 158013.437191: tracing_mark_write: E 20961 SensorService-1249 ( 1136) [001] ...1 158013.437307: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20962 HwBinder:755_1-1247 ( 755) [000] ...1 158013.437869: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20963 HwBinder:755_1-1247 ( 755) [003] ...1 158013.459420: tracing_mark_write: E 20964 SensorService-1249 ( 1136) [001] ...1 158013.459544: tracing_mark_write: E 20965 SensorService-1249 ( 1136) [001] ...1 158013.459671: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20966 HwBinder:755_1-1247 ( 755) [003] ...1 158013.460019: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20967 HwBinder:755_1-1247 ( 755) [000] ...1 158013.475762: tracing_mark_write: E 20968 SensorService-1249 ( 1136) [001] ...1 158013.475881: tracing_mark_write: E 20969 SensorService-1249 ( 1136) [001] ...1 158013.476020: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20970 HwBinder:755_1-1247 ( 755) [000] ...1 158013.476101: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20971 HwBinder:755_1-1247 ( 755) [000] ...1 158013.496151: tracing_mark_write: E 20972 SensorService-1249 ( 1136) [001] ...1 158013.496327: tracing_mark_write: E 20973 SensorService-1249 ( 1136) [001] ...1 158013.496539: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20974 HwBinder:755_1-1247 ( 755) [000] ...1 158013.496641: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20975 HwBinder:755_1-1247 ( 755) [002] ...1 158013.516180: tracing_mark_write: E 20976 SensorService-1249 ( 1136) [001] ...1 158013.516562: tracing_mark_write: E 20977 SensorService-1249 ( 1136) [001] ...1 158013.516787: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20978 HwBinder:755_1-1247 ( 755) [002] ...1 158013.516924: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20979 HwBinder:755_1-1247 ( 755) [003] ...1 158013.536552: tracing_mark_write: E 20980 SensorService-1249 ( 1136) [001] ...1 158013.536957: tracing_mark_write: E 20981 SensorService-1249 ( 1136) [001] ...1 158013.537172: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20982 HwBinder:755_1-1247 ( 755) [003] ...1 158013.537627: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20983 HwBinder:755_1-1247 ( 755) [000] ...1 158013.555769: tracing_mark_write: E 20984 SensorService-1249 ( 1136) [001] ...1 158013.555922: tracing_mark_write: E 20985 SensorService-1249 ( 1136) [001] ...1 158013.556078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20986 HwBinder:755_1-1247 ( 755) [000] ...1 158013.556171: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20987 HwBinder:755_1-1247 ( 755) [000] ...1 158013.576448: tracing_mark_write: E 20988 SensorService-1249 ( 1136) [001] ...1 158013.576598: tracing_mark_write: E 20989 SensorService-1249 ( 1136) [001] ...1 158013.576762: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20990 HwBinder:755_1-1247 ( 755) [000] ...1 158013.576876: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20991 HwBinder:755_1-1247 ( 755) [001] ...1 158013.596897: tracing_mark_write: E 20992 SensorService-1249 ( 1136) [002] ...1 158013.597453: tracing_mark_write: E 20993 SensorService-1249 ( 1136) [002] ...1 158013.597704: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20994 HwBinder:755_1-1247 ( 755) [001] ...1 158013.597819: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20995 HwBinder:755_1-1247 ( 755) [000] ...1 158013.617675: tracing_mark_write: E 20996 SensorService-1249 ( 1136) [002] ...1 158013.618171: tracing_mark_write: E 20997 SensorService-1249 ( 1136) [002] ...1 158013.618374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 20998 HwBinder:755_1-1247 ( 755) [000] ...1 158013.618519: tracing_mark_write: B|755|HIDL::ISensors::poll::server 20999 HwBinder:755_1-1247 ( 755) [000] ...1 158013.635864: tracing_mark_write: E 21000 SensorService-1249 ( 1136) [002] ...1 158013.636019: tracing_mark_write: E 21001 SensorService-1249 ( 1136) [002] ...1 158013.636188: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21002 HwBinder:755_1-1247 ( 755) [000] ...1 158013.636290: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21003 HwBinder:755_1-1247 ( 755) [000] ...1 158013.655501: tracing_mark_write: E 21004 SensorService-1249 ( 1136) [002] ...1 158013.656174: tracing_mark_write: E 21005 SensorService-1249 ( 1136) [002] ...1 158013.656346: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21006 HwBinder:755_1-1247 ( 755) [000] ...1 158013.656618: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21007 HwBinder:755_1-1247 ( 755) [000] ...1 158013.676544: tracing_mark_write: E 21008 SensorService-1249 ( 1136) [002] ...1 158013.676999: tracing_mark_write: E 21009 SensorService-1249 ( 1136) [002] ...1 158013.677206: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21010 HwBinder:755_1-1247 ( 755) [000] ...1 158013.677329: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21011 HwBinder:755_1-1247 ( 755) [001] ...1 158013.695576: tracing_mark_write: E 21012 SensorService-1249 ( 1136) [002] ...1 158013.695987: tracing_mark_write: E 21013 SensorService-1249 ( 1136) [002] ...1 158013.696151: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21014 HwBinder:755_1-1247 ( 755) [001] ...1 158013.696252: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21015 HwBinder:755_1-1247 ( 755) [001] ...1 158013.715761: tracing_mark_write: E 21016 SensorService-1249 ( 1136) [002] ...1 158013.715914: tracing_mark_write: E 21017 SensorService-1249 ( 1136) [002] ...1 158013.716107: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21018 HwBinder:755_1-1247 ( 755) [001] ...1 158013.716876: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21019 HwBinder:755_1-1247 ( 755) [001] ...1 158013.735996: tracing_mark_write: E 21020 SensorService-1249 ( 1136) [002] ...1 158013.736160: tracing_mark_write: E 21021 SensorService-1249 ( 1136) [002] ...1 158013.736340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21022 HwBinder:755_1-1247 ( 755) [001] ...1 158013.736685: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21023 HwBinder:755_1-1247 ( 755) [001] ...1 158013.755984: tracing_mark_write: E 21024 SensorService-1249 ( 1136) [002] ...1 158013.756344: tracing_mark_write: E 21025 SensorService-1249 ( 1136) [002] ...1 158013.756520: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21026 HwBinder:755_1-1247 ( 755) [001] ...1 158013.756636: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21027 HwBinder:755_1-1247 ( 755) [001] ...1 158013.776872: tracing_mark_write: E 21028 SensorService-1249 ( 1136) [002] ...1 158013.777300: tracing_mark_write: E 21029 SensorService-1249 ( 1136) [002] ...1 158013.777493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21030 HwBinder:755_1-1247 ( 755) [001] ...1 158013.777643: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21031 HwBinder:755_1-1247 ( 755) [001] ...1 158013.796541: tracing_mark_write: E 21032 SensorService-1249 ( 1136) [002] ...1 158013.796727: tracing_mark_write: E 21033 SensorService-1249 ( 1136) [002] ...1 158013.796936: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21034 HwBinder:755_1-1247 ( 755) [001] ...1 158013.797434: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21035 HwBinder:755_1-1247 ( 755) [000] ...1 158013.817332: tracing_mark_write: E 21036 SensorService-1249 ( 1136) [002] ...1 158013.817627: tracing_mark_write: E 21037 SensorService-1249 ( 1136) [002] ...1 158013.817827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21038 HwBinder:755_1-1247 ( 755) [000] ...1 158013.818224: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21039 HwBinder:755_1-1247 ( 755) [001] ...1 158013.839718: tracing_mark_write: E 21040 SensorService-1249 ( 1136) [002] ...1 158013.839954: tracing_mark_write: E 21041 SensorService-1249 ( 1136) [002] ...1 158013.840191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21042 HwBinder:755_1-1247 ( 755) [001] ...1 158013.840671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21043 HwBinder:755_1-1247 ( 755) [001] ...1 158013.856409: tracing_mark_write: E 21044 SensorService-1249 ( 1136) [002] ...1 158013.856976: tracing_mark_write: E 21045 SensorService-1249 ( 1136) [002] ...1 158013.857179: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21046 HwBinder:755_1-1247 ( 755) [001] ...1 158013.857648: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21047 HwBinder:755_1-1247 ( 755) [001] ...1 158013.876224: tracing_mark_write: E 21048 SensorService-1249 ( 1136) [002] ...1 158013.876373: tracing_mark_write: E 21049 SensorService-1249 ( 1136) [002] ...1 158013.876529: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21050 HwBinder:755_1-1247 ( 755) [001] ...1 158013.876635: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21051 HwBinder:755_1-1247 ( 755) [000] ...1 158013.895339: tracing_mark_write: E 21052 SensorService-1249 ( 1136) [002] ...1 158013.895457: tracing_mark_write: E 21053 SensorService-1249 ( 1136) [002] ...1 158013.895582: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21054 HwBinder:755_1-1247 ( 755) [000] ...1 158013.895657: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21055 HwBinder:755_1-1247 ( 755) [001] ...1 158013.915853: tracing_mark_write: E 21056 SensorService-1249 ( 1136) [002] ...1 158013.915976: tracing_mark_write: E 21057 SensorService-1249 ( 1136) [002] ...1 158013.916108: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21058 HwBinder:755_1-1247 ( 755) [001] ...1 158013.916233: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21059 HwBinder:755_1-1247 ( 755) [001] ...1 158013.935986: tracing_mark_write: E 21060 SensorService-1249 ( 1136) [002] ...1 158013.936171: tracing_mark_write: E 21061 SensorService-1249 ( 1136) [002] ...1 158013.936354: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21062 HwBinder:755_1-1247 ( 755) [001] ...1 158013.936715: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21063 HwBinder:755_1-1247 ( 755) [001] ...1 158013.955689: tracing_mark_write: E 21064 SensorService-1249 ( 1136) [002] ...1 158013.955963: tracing_mark_write: E 21065 SensorService-1249 ( 1136) [002] ...1 158013.956137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21066 HwBinder:755_1-1247 ( 755) [001] ...1 158013.956385: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21067 HwBinder:755_1-1247 ( 755) [002] ...1 158013.975893: tracing_mark_write: E 21068 SensorService-1249 ( 1136) [000] ...1 158013.976082: tracing_mark_write: E 21069 SensorService-1249 ( 1136) [000] ...1 158013.976289: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21070 HwBinder:755_1-1247 ( 755) [002] ...1 158013.976393: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21071 HwBinder:755_1-1247 ( 755) [002] ...1 158013.996889: tracing_mark_write: E 21072 SensorService-1249 ( 1136) [000] ...1 158013.997609: tracing_mark_write: E 21073 SensorService-1249 ( 1136) [000] ...1 158013.997993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21074 HwBinder:755_1-1247 ( 755) [002] ...1 158013.998505: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21075 HwBinder:755_1-1247 ( 755) [001] ...1 158014.017761: tracing_mark_write: E 21076 SensorService-1249 ( 1136) [000] ...1 158014.018359: tracing_mark_write: E 21077 SensorService-1249 ( 1136) [000] ...1 158014.018575: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21078 HwBinder:755_1-1247 ( 755) [001] ...1 158014.018821: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21079 HwBinder:755_1-1247 ( 755) [001] ...1 158014.038291: tracing_mark_write: E 21080 SensorService-1249 ( 1136) [000] ...1 158014.038923: tracing_mark_write: E 21081 SensorService-1249 ( 1136) [000] ...1 158014.039311: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21082 HwBinder:755_1-1247 ( 755) [001] ...1 158014.039757: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21083 HwBinder:755_1-1247 ( 755) [000] ...1 158014.057496: tracing_mark_write: E 21084 SensorService-1249 ( 1136) [002] ...1 158014.058116: tracing_mark_write: E 21085 SensorService-1249 ( 1136) [002] ...1 158014.058438: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21086 HwBinder:755_1-1247 ( 755) [000] ...1 158014.058613: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21087 HwBinder:755_1-1247 ( 755) [000] ...1 158014.075374: tracing_mark_write: E 21088 SensorService-1249 ( 1136) [002] ...1 158014.075459: tracing_mark_write: E 21089 SensorService-1249 ( 1136) [002] ...1 158014.075556: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21090 HwBinder:755_1-1247 ( 755) [000] ...1 158014.075613: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21091 HwBinder:755_1-1247 ( 755) [000] ...1 158014.097564: tracing_mark_write: E 21092 SensorService-1249 ( 1136) [002] ...1 158014.097779: tracing_mark_write: E 21093 SensorService-1249 ( 1136) [002] ...1 158014.097890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21094 HwBinder:755_1-1247 ( 755) [000] ...1 158014.098060: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21095 HwBinder:755_1-1247 ( 755) [000] ...1 158014.118571: tracing_mark_write: E 21096 SensorService-1249 ( 1136) [002] ...1 158014.119019: tracing_mark_write: E 21097 SensorService-1249 ( 1136) [002] ...1 158014.119336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21098 HwBinder:755_1-1247 ( 755) [000] ...1 158014.119581: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21099 HwBinder:755_1-1247 ( 755) [000] ...1 158014.138593: tracing_mark_write: E 21100 SensorService-1249 ( 1136) [002] ...1 158014.139176: tracing_mark_write: E 21101 SensorService-1249 ( 1136) [002] ...1 158014.139459: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21102 HwBinder:755_1-1247 ( 755) [000] ...1 158014.139948: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21103 HwBinder:755_1-1247 ( 755) [001] ...1 158014.157202: tracing_mark_write: E 21104 SensorService-1249 ( 1136) [002] ...1 158014.157762: tracing_mark_write: E 21105 SensorService-1249 ( 1136) [002] ...1 158014.157971: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21106 HwBinder:755_1-1247 ( 755) [001] ...1 158014.158447: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21107 HwBinder:755_1-1247 ( 755) [001] ...1 158014.177460: tracing_mark_write: E 21108 SensorService-1249 ( 1136) [002] ...1 158014.178069: tracing_mark_write: E 21109 SensorService-1249 ( 1136) [002] ...1 158014.178354: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21110 HwBinder:755_1-1247 ( 755) [001] ...1 158014.178842: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21111 HwBinder:755_1-1247 ( 755) [001] ...1 158014.199383: tracing_mark_write: E 21112 SensorService-1249 ( 1136) [002] ...1 158014.199890: tracing_mark_write: E 21113 SensorService-1249 ( 1136) [002] ...1 158014.200138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21114 HwBinder:755_1-1247 ( 755) [001] ...1 158014.200266: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21115 HwBinder:755_1-1247 ( 755) [001] ...1 158014.218075: tracing_mark_write: E 21116 SensorService-1249 ( 1136) [002] ...1 158014.218574: tracing_mark_write: E 21117 SensorService-1249 ( 1136) [002] ...1 158014.218796: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21118 HwBinder:755_1-1247 ( 755) [001] ...1 158014.219176: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21119 HwBinder:755_1-1247 ( 755) [000] ...1 158014.238096: tracing_mark_write: E 21120 SensorService-1249 ( 1136) [002] ...1 158014.238277: tracing_mark_write: E 21121 SensorService-1249 ( 1136) [002] ...1 158014.238434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21122 HwBinder:755_1-1247 ( 755) [000] ...1 158014.238672: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21123 HwBinder:755_1-1247 ( 755) [000] ...1 158014.259260: tracing_mark_write: E 21124 SensorService-1249 ( 1136) [002] ...1 158014.259776: tracing_mark_write: E 21125 SensorService-1249 ( 1136) [002] ...1 158014.260033: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21126 HwBinder:755_1-1247 ( 755) [000] ...1 158014.260144: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21127 HwBinder:755_1-1247 ( 755) [000] ...1 158014.277517: tracing_mark_write: E 21128 SensorService-1249 ( 1136) [002] ...1 158014.277858: tracing_mark_write: E 21129 SensorService-1249 ( 1136) [002] ...1 158014.278126: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21130 HwBinder:755_1-1247 ( 755) [000] ...1 158014.278540: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21131 HwBinder:755_1-1247 ( 755) [000] ...1 158014.297079: tracing_mark_write: E 21132 SensorService-1249 ( 1136) [002] ...1 158014.297280: tracing_mark_write: E 21133 SensorService-1249 ( 1136) [002] ...1 158014.297506: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21134 HwBinder:755_1-1247 ( 755) [000] ...1 158014.297817: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21135 HwBinder:755_1-1247 ( 755) [000] ...1 158014.317046: tracing_mark_write: E 21136 SensorService-1249 ( 1136) [002] ...1 158014.317323: tracing_mark_write: E 21137 SensorService-1249 ( 1136) [002] ...1 158014.317663: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21138 HwBinder:755_1-1247 ( 755) [000] ...1 158014.318092: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21139 HwBinder:755_1-1247 ( 755) [000] ...1 158014.338321: tracing_mark_write: E 21140 SensorService-1249 ( 1136) [002] ...1 158014.338788: tracing_mark_write: E 21141 SensorService-1249 ( 1136) [002] ...1 158014.339072: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21142 HwBinder:755_1-1247 ( 755) [000] ...1 158014.339497: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21143 HwBinder:755_1-1247 ( 755) [000] ...1 158014.357059: tracing_mark_write: E 21144 SensorService-1249 ( 1136) [002] ...1 158014.357644: tracing_mark_write: E 21145 SensorService-1249 ( 1136) [002] ...1 158014.357819: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21146 HwBinder:755_1-1247 ( 755) [000] ...1 158014.358281: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21147 HwBinder:755_1-1247 ( 755) [000] ...1 158014.376982: tracing_mark_write: E 21148 SensorService-1249 ( 1136) [002] ...1 158014.377177: tracing_mark_write: E 21149 SensorService-1249 ( 1136) [002] ...1 158014.377382: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21150 HwBinder:755_1-1247 ( 755) [000] ...1 158014.377794: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21151 HwBinder:755_1-1247 ( 755) [000] ...1 158014.397041: tracing_mark_write: E 21152 SensorService-1249 ( 1136) [002] ...1 158014.397406: tracing_mark_write: E 21153 SensorService-1249 ( 1136) [002] ...1 158014.397666: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21154 HwBinder:755_1-1247 ( 755) [000] ...1 158014.398057: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21155 HwBinder:755_1-1247 ( 755) [000] ...1 158014.417015: tracing_mark_write: E 21156 SensorService-1249 ( 1136) [002] ...1 158014.417229: tracing_mark_write: E 21157 SensorService-1249 ( 1136) [002] ...1 158014.417472: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21158 HwBinder:755_1-1247 ( 755) [000] ...1 158014.417922: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21159 HwBinder:755_1-1247 ( 755) [000] ...1 158014.436252: tracing_mark_write: E 21160 SensorService-1249 ( 1136) [002] ...1 158014.436447: tracing_mark_write: E 21161 SensorService-1249 ( 1136) [002] ...1 158014.436532: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21162 HwBinder:755_1-1247 ( 755) [000] ...1 158014.436703: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21163 HwBinder:755_1-1247 ( 755) [000] ...1 158014.457262: tracing_mark_write: E 21164 SensorService-1249 ( 1136) [002] ...1 158014.457518: tracing_mark_write: E 21165 SensorService-1249 ( 1136) [002] ...1 158014.457862: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21166 HwBinder:755_1-1247 ( 755) [000] ...1 158014.458110: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21167 HwBinder:755_1-1247 ( 755) [001] ...1 158014.476171: tracing_mark_write: E 21168 SensorService-1249 ( 1136) [002] ...1 158014.476260: tracing_mark_write: E 21169 SensorService-1249 ( 1136) [002] ...1 158014.476348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21170 HwBinder:755_1-1247 ( 755) [001] ...1 158014.476557: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21171 HwBinder:755_1-1247 ( 755) [000] ...1 158014.495789: tracing_mark_write: E 21172 SensorService-1249 ( 1136) [002] ...1 158014.495906: tracing_mark_write: E 21173 SensorService-1249 ( 1136) [002] ...1 158014.496010: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21174 HwBinder:755_1-1247 ( 755) [000] ...1 158014.496069: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21175 HwBinder:755_1-1247 ( 755) [000] ...1 158014.516355: tracing_mark_write: E 21176 SensorService-1249 ( 1136) [002] ...1 158014.516499: tracing_mark_write: E 21177 SensorService-1249 ( 1136) [002] ...1 158014.516694: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21178 HwBinder:755_1-1247 ( 755) [000] ...1 158014.516857: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21179 HwBinder:755_1-1247 ( 755) [000] ...1 158014.539353: tracing_mark_write: E 21180 SensorService-1249 ( 1136) [002] ...1 158014.539634: tracing_mark_write: E 21181 SensorService-1249 ( 1136) [002] ...1 158014.539946: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21182 HwBinder:755_1-1247 ( 755) [000] ...1 158014.540171: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21183 HwBinder:755_1-1247 ( 755) [000] ...1 158014.556683: tracing_mark_write: E 21184 SensorService-1249 ( 1136) [002] ...1 158014.557067: tracing_mark_write: E 21185 SensorService-1249 ( 1136) [002] ...1 158014.557300: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21186 HwBinder:755_1-1247 ( 755) [000] ...1 158014.557709: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21187 HwBinder:755_1-1247 ( 755) [000] ...1 158014.576313: tracing_mark_write: E 21188 SensorService-1249 ( 1136) [002] ...1 158014.576597: tracing_mark_write: E 21189 SensorService-1249 ( 1136) [002] ...1 158014.577041: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21190 HwBinder:755_1-1247 ( 755) [000] ...1 158014.577273: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21191 HwBinder:755_1-1247 ( 755) [000] ...1 158014.597725: tracing_mark_write: E 21192 SensorService-1249 ( 1136) [002] ...1 158014.598196: tracing_mark_write: E 21193 SensorService-1249 ( 1136) [002] ...1 158014.598467: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21194 HwBinder:755_1-1247 ( 755) [000] ...1 158014.598888: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21195 HwBinder:755_1-1247 ( 755) [000] ...1 158014.617274: tracing_mark_write: E 21196 SensorService-1249 ( 1136) [002] ...1 158014.617871: tracing_mark_write: E 21197 SensorService-1249 ( 1136) [002] ...1 158014.618187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21198 HwBinder:755_1-1247 ( 755) [000] ...1 158014.618612: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21199 HwBinder:755_1-1247 ( 755) [000] ...1 158014.636879: tracing_mark_write: E 21200 SensorService-1249 ( 1136) [002] ...1 158014.637323: tracing_mark_write: E 21201 SensorService-1249 ( 1136) [002] ...1 158014.637686: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21202 HwBinder:755_1-1247 ( 755) [000] ...1 158014.637893: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21203 HwBinder:755_1-1247 ( 755) [000] ...1 158014.657702: tracing_mark_write: E 21204 SensorService-1249 ( 1136) [002] ...1 158014.658608: tracing_mark_write: E 21205 SensorService-1249 ( 1136) [002] ...1 158014.659197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21206 HwBinder:755_1-1247 ( 755) [000] ...1 158014.659882: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21207 HwBinder:755_1-1247 ( 755) [000] ...1 158014.676802: tracing_mark_write: E 21208 SensorService-1249 ( 1136) [002] ...1 158014.677089: tracing_mark_write: E 21209 SensorService-1249 ( 1136) [002] ...1 158014.677384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21210 HwBinder:755_1-1247 ( 755) [000] ...1 158014.677844: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21211 HwBinder:755_1-1247 ( 755) [000] ...1 158014.696757: tracing_mark_write: E 21212 SensorService-1249 ( 1136) [002] ...1 158014.696950: tracing_mark_write: E 21213 SensorService-1249 ( 1136) [002] ...1 158014.697210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21214 HwBinder:755_1-1247 ( 755) [000] ...1 158014.697413: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21215 HwBinder:755_1-1247 ( 755) [000] ...1 158014.717259: tracing_mark_write: E 21216 SensorService-1249 ( 1136) [002] ...1 158014.717781: tracing_mark_write: E 21217 SensorService-1249 ( 1136) [002] ...1 158014.718138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21218 HwBinder:755_1-1247 ( 755) [000] ...1 158014.718560: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21219 HwBinder:755_1-1247 ( 755) [000] ...1 158014.737755: tracing_mark_write: E 21220 SensorService-1249 ( 1136) [002] ...1 158014.738231: tracing_mark_write: E 21221 SensorService-1249 ( 1136) [002] ...1 158014.738550: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21222 HwBinder:755_1-1247 ( 755) [000] ...1 158014.738965: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21223 HwBinder:755_1-1247 ( 755) [000] ...1 158014.756530: tracing_mark_write: E 21224 SensorService-1249 ( 1136) [002] ...1 158014.756876: tracing_mark_write: E 21225 SensorService-1249 ( 1136) [002] ...1 158014.757148: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21226 HwBinder:755_1-1247 ( 755) [000] ...1 158014.757385: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21227 HwBinder:755_1-1247 ( 755) [000] ...1 158014.777286: tracing_mark_write: E 21228 SensorService-1249 ( 1136) [002] ...1 158014.777715: tracing_mark_write: E 21229 SensorService-1249 ( 1136) [002] ...1 158014.778003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21230 HwBinder:755_1-1247 ( 755) [000] ...1 158014.778419: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21231 HwBinder:755_1-1247 ( 755) [000] ...1 158014.797051: tracing_mark_write: E 21232 SensorService-1249 ( 1136) [002] ...1 158014.797482: tracing_mark_write: E 21233 SensorService-1249 ( 1136) [002] ...1 158014.797859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21234 HwBinder:755_1-1247 ( 755) [000] ...1 158014.798275: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21235 HwBinder:755_1-1247 ( 755) [000] ...1 158014.816918: tracing_mark_write: E 21236 SensorService-1249 ( 1136) [002] ...1 158014.817353: tracing_mark_write: E 21237 SensorService-1249 ( 1136) [002] ...1 158014.817753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21238 HwBinder:755_1-1247 ( 755) [000] ...1 158014.818203: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21239 HwBinder:755_1-1247 ( 755) [000] ...1 158014.837351: tracing_mark_write: E 21240 SensorService-1249 ( 1136) [002] ...1 158014.837731: tracing_mark_write: E 21241 SensorService-1249 ( 1136) [002] ...1 158014.838007: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21242 HwBinder:755_1-1247 ( 755) [000] ...1 158014.838442: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21243 HwBinder:755_1-1247 ( 755) [000] ...1 158014.856549: tracing_mark_write: E 21244 SensorService-1249 ( 1136) [002] ...1 158014.856745: tracing_mark_write: E 21245 SensorService-1249 ( 1136) [002] ...1 158014.856999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21246 HwBinder:755_1-1247 ( 755) [000] ...1 158014.857200: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21247 HwBinder:755_1-1247 ( 755) [000] ...1 158014.877206: tracing_mark_write: E 21248 SensorService-1249 ( 1136) [002] ...1 158014.877395: tracing_mark_write: E 21249 SensorService-1249 ( 1136) [002] ...1 158014.877715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21250 HwBinder:755_1-1247 ( 755) [000] ...1 158014.878117: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21251 HwBinder:755_1-1247 ( 755) [001] ...1 158014.897398: tracing_mark_write: E 21252 SensorService-1249 ( 1136) [002] ...1 158014.897522: tracing_mark_write: E 21253 SensorService-1249 ( 1136) [002] ...1 158014.897676: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21254 HwBinder:755_1-1247 ( 755) [001] ...1 158014.897758: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21255 android.bg-1155 ( 1136) [006] ...1 158014.918406: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21256 memtrack@1.0-s-745 ( 745) [006] ...1 158014.918620: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21257 memtrack@1.0-s-745 ( 745) [006] ...1 158014.918662: tracing_mark_write: E 21258 android.bg-1155 ( 1136) [006] ...1 158014.918985: tracing_mark_write: E 21259 android.bg-1155 ( 1136) [006] ...1 158014.919016: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21260 memtrack@1.0-s-745 ( 745) [006] ...1 158014.919117: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21261 memtrack@1.0-s-745 ( 745) [006] ...1 158014.919231: tracing_mark_write: E 21262 android.bg-1155 ( 1136) [006] ...1 158014.919379: tracing_mark_write: E 21263 android.bg-1155 ( 1136) [006] ...1 158014.919406: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21264 HwBinder:755_1-1247 ( 755) [005] ...1 158014.919457: tracing_mark_write: E 21265 memtrack@1.0-s-745 ( 745) [006] ...1 158014.919498: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21266 memtrack@1.0-s-745 ( 745) [006] ...1 158014.919569: tracing_mark_write: E 21267 SensorService-1249 ( 1136) [002] ...1 158014.919593: tracing_mark_write: E 21268 android.bg-1155 ( 1136) [006] ...1 158014.919675: tracing_mark_write: E 21269 android.bg-1155 ( 1136) [006] ...1 158014.919698: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21270 SensorService-1249 ( 1136) [002] ...1 158014.919708: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21271 memtrack@1.0-s-745 ( 745) [006] ...1 158014.919787: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21272 memtrack@1.0-s-745 ( 745) [006] ...1 158014.919802: tracing_mark_write: E 21273 HwBinder:755_1-1247 ( 755) [005] ...1 158014.919846: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21274 android.bg-1155 ( 1136) [006] ...1 158014.921039: tracing_mark_write: E 21275 android.bg-1155 ( 1136) [006] ...1 158014.921068: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21276 memtrack@1.0-s-745 ( 745) [006] ...1 158014.921183: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21277 memtrack@1.0-s-745 ( 745) [006] ...1 158014.921205: tracing_mark_write: E 21278 android.bg-1155 ( 1136) [006] ...1 158014.921324: tracing_mark_write: E 21279 HwBinder:755_1-1247 ( 755) [000] ...1 158014.936946: tracing_mark_write: E 21280 SensorService-1249 ( 1136) [002] ...1 158014.937189: tracing_mark_write: E 21281 SensorService-1249 ( 1136) [002] ...1 158014.937316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21282 HwBinder:755_1-1247 ( 755) [000] ...1 158014.937497: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21283 android.bg-1155 ( 1136) [006] ...1 158014.946269: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21284 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946361: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21285 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946378: tracing_mark_write: E 21286 android.bg-1155 ( 1136) [006] ...1 158014.946430: tracing_mark_write: E 21287 android.bg-1155 ( 1136) [006] ...1 158014.946440: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21288 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946468: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21289 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946512: tracing_mark_write: E 21290 android.bg-1155 ( 1136) [006] ...1 158014.946542: tracing_mark_write: E 21291 android.bg-1155 ( 1136) [006] ...1 158014.946548: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21292 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946572: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21293 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946591: tracing_mark_write: E 21294 android.bg-1155 ( 1136) [006] ...1 158014.946618: tracing_mark_write: E 21295 android.bg-1155 ( 1136) [006] ...1 158014.946624: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21296 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946648: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21297 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946651: tracing_mark_write: E 21298 android.bg-1155 ( 1136) [006] ...1 158014.946677: tracing_mark_write: E 21299 android.bg-1155 ( 1136) [006] ...1 158014.946682: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21300 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946704: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21301 memtrack@1.0-s-745 ( 745) [006] ...1 158014.946708: tracing_mark_write: E 21302 android.bg-1155 ( 1136) [006] ...1 158014.946731: tracing_mark_write: E 21303 android.bg-1155 ( 1136) [006] ...1 158014.950142: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21304 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950218: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21305 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950232: tracing_mark_write: E 21306 android.bg-1155 ( 1136) [006] ...1 158014.950523: tracing_mark_write: E 21307 android.bg-1155 ( 1136) [006] ...1 158014.950533: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21308 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950564: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21309 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950601: tracing_mark_write: E 21310 android.bg-1155 ( 1136) [006] ...1 158014.950630: tracing_mark_write: E 21311 android.bg-1155 ( 1136) [006] ...1 158014.950638: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21312 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950661: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21313 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950679: tracing_mark_write: E 21314 android.bg-1155 ( 1136) [006] ...1 158014.950705: tracing_mark_write: E 21315 android.bg-1155 ( 1136) [006] ...1 158014.950711: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21316 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950733: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21317 memtrack@1.0-s-745 ( 745) [006] ...1 158014.950737: tracing_mark_write: E 21318 android.bg-1155 ( 1136) [006] ...1 158014.950977: tracing_mark_write: E 21319 android.bg-1155 ( 1136) [006] ...1 158014.950985: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21320 memtrack@1.0-s-745 ( 745) [006] ...1 158014.951015: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21321 memtrack@1.0-s-745 ( 745) [006] ...1 158014.951021: tracing_mark_write: E 21322 android.bg-1155 ( 1136) [006] ...1 158014.951049: tracing_mark_write: E 21323 android.bg-1155 ( 1136) [006] ...1 158014.954166: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21324 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954265: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21325 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954279: tracing_mark_write: E 21326 android.bg-1155 ( 1136) [006] ...1 158014.954322: tracing_mark_write: E 21327 android.bg-1155 ( 1136) [006] ...1 158014.954331: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21328 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954355: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21329 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954394: tracing_mark_write: E 21330 android.bg-1155 ( 1136) [006] ...1 158014.954423: tracing_mark_write: E 21331 android.bg-1155 ( 1136) [006] ...1 158014.954430: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21332 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954453: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21333 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954472: tracing_mark_write: E 21334 android.bg-1155 ( 1136) [006] ...1 158014.954499: tracing_mark_write: E 21335 android.bg-1155 ( 1136) [006] ...1 158014.954505: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21336 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954526: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21337 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954530: tracing_mark_write: E 21338 android.bg-1155 ( 1136) [006] ...1 158014.954552: tracing_mark_write: E 21339 android.bg-1155 ( 1136) [006] ...1 158014.954558: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21340 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954578: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21341 memtrack@1.0-s-745 ( 745) [006] ...1 158014.954582: tracing_mark_write: E 21342 android.bg-1155 ( 1136) [006] ...1 158014.954604: tracing_mark_write: E 21343 HwBinder:755_1-1247 ( 755) [005] ...1 158014.956546: tracing_mark_write: E 21344 SensorService-1249 ( 1136) [002] ...1 158014.956626: tracing_mark_write: E 21345 android.bg-1155 ( 1136) [006] ...1 158014.956679: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21346 SensorService-1249 ( 1136) [002] ...1 158014.956708: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21347 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956730: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21348 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956738: tracing_mark_write: E 21349 android.bg-1155 ( 1136) [006] ...1 158014.956783: tracing_mark_write: E 21350 android.bg-1155 ( 1136) [006] ...1 158014.956792: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21351 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956824: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21352 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956860: tracing_mark_write: E 21353 HwBinder:755_1-1247 ( 755) [005] ...1 158014.956875: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21354 android.bg-1155 ( 1136) [006] ...1 158014.956887: tracing_mark_write: E 21355 android.bg-1155 ( 1136) [006] ...1 158014.956894: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21356 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956915: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21357 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956933: tracing_mark_write: E 21358 android.bg-1155 ( 1136) [006] ...1 158014.956958: tracing_mark_write: E 21359 android.bg-1155 ( 1136) [006] ...1 158014.956964: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21360 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956988: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21361 memtrack@1.0-s-745 ( 745) [006] ...1 158014.956992: tracing_mark_write: E 21362 android.bg-1155 ( 1136) [006] ...1 158014.957016: tracing_mark_write: E 21363 android.bg-1155 ( 1136) [006] ...1 158014.957021: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21364 memtrack@1.0-s-745 ( 745) [006] ...1 158014.957042: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21365 memtrack@1.0-s-745 ( 745) [006] ...1 158014.957045: tracing_mark_write: E 21366 android.bg-1155 ( 1136) [006] ...1 158014.957068: tracing_mark_write: E 21367 HwBinder:755_1-1247 ( 755) [007] ...1 158014.976203: tracing_mark_write: E 21368 SensorService-1249 ( 1136) [002] ...1 158014.976293: tracing_mark_write: E 21369 SensorService-1249 ( 1136) [002] ...1 158014.976374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21370 sensors@1.0-se-755 ( 755) [004] ...1 158014.976444: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21371 sensors@1.0-se-755 ( 755) [005] ...1 158014.996155: tracing_mark_write: E 21372 SensorService-1249 ( 1136) [002] ...1 158014.996220: tracing_mark_write: E 21373 SensorService-1249 ( 1136) [002] ...1 158014.996289: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21374 sensors@1.0-se-755 ( 755) [005] ...1 158014.996343: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21375 sensors@1.0-se-755 ( 755) [004] ...1 158015.016460: tracing_mark_write: E 21376 SensorService-1249 ( 1136) [002] ...1 158015.016529: tracing_mark_write: E 21377 SensorService-1249 ( 1136) [002] ...1 158015.016604: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21378 sensors@1.0-se-755 ( 755) [004] ...1 158015.016663: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21379 sensors@1.0-se-755 ( 755) [003] ...1 158015.037025: tracing_mark_write: E 21380 SensorService-1249 ( 1136) [002] ...1 158015.037107: tracing_mark_write: E 21381 SensorService-1249 ( 1136) [002] ...1 158015.037195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21382 sensors@1.0-se-755 ( 755) [003] ...1 158015.037361: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21383 sensors@1.0-se-755 ( 755) [002] ...1 158015.056713: tracing_mark_write: E 21384 SensorService-1249 ( 1136) [000] ...1 158015.056905: tracing_mark_write: E 21385 SensorService-1249 ( 1136) [000] ...1 158015.056979: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21386 sensors@1.0-se-755 ( 755) [002] ...1 158015.057028: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21387 sensors@1.0-se-755 ( 755) [000] ...1 158015.077513: tracing_mark_write: E 21388 SensorService-1249 ( 1136) [001] ...1 158015.077953: tracing_mark_write: E 21389 SensorService-1249 ( 1136) [001] ...1 158015.078179: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21390 sensors@1.0-se-755 ( 755) [000] ...1 158015.078395: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21391 sensors@1.0-se-755 ( 755) [000] ...1 158015.096659: tracing_mark_write: E 21392 SensorService-1249 ( 1136) [001] ...1 158015.096845: tracing_mark_write: E 21393 SensorService-1249 ( 1136) [001] ...1 158015.097049: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21394 sensors@1.0-se-755 ( 755) [000] ...1 158015.097255: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21395 sensors@1.0-se-755 ( 755) [000] ...1 158015.116884: tracing_mark_write: E 21396 SensorService-1249 ( 1136) [001] ...1 158015.117121: tracing_mark_write: E 21397 SensorService-1249 ( 1136) [001] ...1 158015.117354: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21398 sensors@1.0-se-755 ( 755) [000] ...1 158015.117688: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21399 sensors@1.0-se-755 ( 755) [000] ...1 158015.137018: tracing_mark_write: E 21400 SensorService-1249 ( 1136) [001] ...1 158015.137115: tracing_mark_write: E 21401 SensorService-1249 ( 1136) [001] ...1 158015.137228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21402 sensors@1.0-se-755 ( 755) [000] ...1 158015.137309: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21403 sensors@1.0-se-755 ( 755) [000] ...1 158015.156491: tracing_mark_write: E 21404 SensorService-1249 ( 1136) [001] ...1 158015.156597: tracing_mark_write: E 21405 SensorService-1249 ( 1136) [001] ...1 158015.156706: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21406 sensors@1.0-se-755 ( 755) [000] ...1 158015.156782: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21407 sensors@1.0-se-755 ( 755) [000] ...1 158015.177045: tracing_mark_write: E 21408 SensorService-1249 ( 1136) [001] ...1 158015.177168: tracing_mark_write: E 21409 SensorService-1249 ( 1136) [001] ...1 158015.177303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21410 sensors@1.0-se-755 ( 755) [000] ...1 158015.177645: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21411 sensors@1.0-se-755 ( 755) [000] ...1 158015.197108: tracing_mark_write: E 21412 SensorService-1249 ( 1136) [001] ...1 158015.197294: tracing_mark_write: E 21413 SensorService-1249 ( 1136) [001] ...1 158015.197483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21414 sensors@1.0-se-755 ( 755) [000] ...1 158015.197649: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21415 sensors@1.0-se-755 ( 755) [000] ...1 158015.217599: tracing_mark_write: E 21416 SensorService-1249 ( 1136) [001] ...1 158015.217837: tracing_mark_write: E 21417 SensorService-1249 ( 1136) [001] ...1 158015.217989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21418 sensors@1.0-se-755 ( 755) [000] ...1 158015.218079: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21419 sensors@1.0-se-755 ( 755) [000] ...1 158015.237775: tracing_mark_write: E 21420 SensorService-1249 ( 1136) [001] ...1 158015.237963: tracing_mark_write: E 21421 SensorService-1249 ( 1136) [001] ...1 158015.238140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21422 sensors@1.0-se-755 ( 755) [000] ...1 158015.238545: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21423 sensors@1.0-se-755 ( 755) [002] ...1 158015.258418: tracing_mark_write: E 21424 SensorService-1249 ( 1136) [001] ...1 158015.258655: tracing_mark_write: E 21425 SensorService-1249 ( 1136) [001] ...1 158015.258909: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21426 sensors@1.0-se-755 ( 755) [002] ...1 158015.259262: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21427 sensors@1.0-se-755 ( 755) [000] ...1 158015.279482: tracing_mark_write: E 21428 SensorService-1249 ( 1136) [001] ...1 158015.279869: tracing_mark_write: E 21429 SensorService-1249 ( 1136) [001] ...1 158015.280059: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21430 sensors@1.0-se-755 ( 755) [000] ...1 158015.280445: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21431 sensors@1.0-se-755 ( 755) [000] ...1 158015.297474: tracing_mark_write: E 21432 SensorService-1249 ( 1136) [001] ...1 158015.298144: tracing_mark_write: E 21433 SensorService-1249 ( 1136) [001] ...1 158015.298356: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21434 sensors@1.0-se-755 ( 755) [000] ...1 158015.298505: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21435 sensors@1.0-se-755 ( 755) [000] ...1 158015.318622: tracing_mark_write: E 21436 SensorService-1249 ( 1136) [001] ...1 158015.319109: tracing_mark_write: E 21437 SensorService-1249 ( 1136) [001] ...1 158015.319299: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21438 sensors@1.0-se-755 ( 755) [000] ...1 158015.319433: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21439 sensors@1.0-se-755 ( 755) [000] ...1 158015.338475: tracing_mark_write: E 21440 SensorService-1249 ( 1136) [001] ...1 158015.338650: tracing_mark_write: E 21441 SensorService-1249 ( 1136) [001] ...1 158015.338847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21442 sensors@1.0-se-755 ( 755) [000] ...1 158015.339303: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21443 sensors@1.0-se-755 ( 755) [000] ...1 158015.357908: tracing_mark_write: E 21444 SensorService-1249 ( 1136) [001] ...1 158015.358067: tracing_mark_write: E 21445 SensorService-1249 ( 1136) [001] ...1 158015.358240: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21446 sensors@1.0-se-755 ( 755) [000] ...1 158015.358348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21447 sensors@1.0-se-755 ( 755) [000] ...1 158015.377654: tracing_mark_write: E 21448 SensorService-1249 ( 1136) [001] ...1 158015.378133: tracing_mark_write: E 21449 SensorService-1249 ( 1136) [001] ...1 158015.378322: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21450 sensors@1.0-se-755 ( 755) [000] ...1 158015.378447: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21451 sensors@1.0-se-755 ( 755) [002] ...1 158015.397062: tracing_mark_write: E 21452 SensorService-1249 ( 1136) [001] ...1 158015.397406: tracing_mark_write: E 21453 SensorService-1249 ( 1136) [001] ...1 158015.397605: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21454 sensors@1.0-se-755 ( 755) [002] ...1 158015.397728: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21455 sensors@1.0-se-755 ( 755) [002] ...1 158015.417470: tracing_mark_write: E 21456 SensorService-1249 ( 1136) [001] ...1 158015.417987: tracing_mark_write: E 21457 SensorService-1249 ( 1136) [001] ...1 158015.418161: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21458 sensors@1.0-se-755 ( 755) [002] ...1 158015.418450: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21459 sensors@1.0-se-755 ( 755) [002] ...1 158015.437663: tracing_mark_write: E 21460 SensorService-1249 ( 1136) [001] ...1 158015.437896: tracing_mark_write: E 21461 SensorService-1249 ( 1136) [001] ...1 158015.438084: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21462 sensors@1.0-se-755 ( 755) [002] ...1 158015.438543: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21463 sensors@1.0-se-755 ( 755) [002] ...1 158015.457254: tracing_mark_write: E 21464 SensorService-1249 ( 1136) [001] ...1 158015.457405: tracing_mark_write: E 21465 SensorService-1249 ( 1136) [001] ...1 158015.457603: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21466 sensors@1.0-se-755 ( 755) [002] ...1 158015.457946: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21467 sensors@1.0-se-755 ( 755) [002] ...1 158015.477401: tracing_mark_write: E 21468 SensorService-1249 ( 1136) [001] ...1 158015.477631: tracing_mark_write: E 21469 SensorService-1249 ( 1136) [001] ...1 158015.477819: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21470 sensors@1.0-se-755 ( 755) [002] ...1 158015.477931: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21471 sensors@1.0-se-755 ( 755) [002] ...1 158015.497878: tracing_mark_write: E 21472 SensorService-1249 ( 1136) [001] ...1 158015.498323: tracing_mark_write: E 21473 SensorService-1249 ( 1136) [001] ...1 158015.498513: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21474 sensors@1.0-se-755 ( 755) [002] ...1 158015.498638: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21475 sensors@1.0-se-755 ( 755) [001] ...1 158015.517461: tracing_mark_write: E 21476 SensorService-1249 ( 1136) [000] ...1 158015.517719: tracing_mark_write: E 21477 SensorService-1249 ( 1136) [000] ...1 158015.517914: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21478 sensors@1.0-se-755 ( 755) [001] ...1 158015.518040: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21479 sensors@1.0-se-755 ( 755) [001] ...1 158015.537521: tracing_mark_write: E 21480 SensorService-1249 ( 1136) [000] ...1 158015.537882: tracing_mark_write: E 21481 SensorService-1249 ( 1136) [000] ...1 158015.538066: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21482 sensors@1.0-se-755 ( 755) [001] ...1 158015.538319: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21483 sensors@1.0-se-755 ( 755) [001] ...1 158015.557080: tracing_mark_write: E 21484 SensorService-1249 ( 1136) [000] ...1 158015.557622: tracing_mark_write: E 21485 SensorService-1249 ( 1136) [000] ...1 158015.557801: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21486 sensors@1.0-se-755 ( 755) [001] ...1 158015.558164: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21487 sensors@1.0-se-755 ( 755) [001] ...1 158015.577482: tracing_mark_write: E 21488 SensorService-1249 ( 1136) [000] ...1 158015.577969: tracing_mark_write: E 21489 SensorService-1249 ( 1136) [000] ...1 158015.578186: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21490 sensors@1.0-se-755 ( 755) [001] ...1 158015.578500: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21491 sensors@1.0-se-755 ( 755) [001] ...1 158015.598448: tracing_mark_write: E 21492 SensorService-1249 ( 1136) [000] ...1 158015.598661: tracing_mark_write: E 21493 SensorService-1249 ( 1136) [000] ...1 158015.598883: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21494 sensors@1.0-se-755 ( 755) [001] ...1 158015.599013: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21495 sensors@1.0-se-755 ( 755) [001] ...1 158015.618337: tracing_mark_write: E 21496 SensorService-1249 ( 1136) [000] ...1 158015.618634: tracing_mark_write: E 21497 SensorService-1249 ( 1136) [000] ...1 158015.618960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21498 sensors@1.0-se-755 ( 755) [001] ...1 158015.619141: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21499 sensors@1.0-se-755 ( 755) [001] ...1 158015.638019: tracing_mark_write: E 21500 SensorService-1249 ( 1136) [000] ...1 158015.638425: tracing_mark_write: E 21501 SensorService-1249 ( 1136) [000] ...1 158015.638779: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21502 sensors@1.0-se-755 ( 755) [001] ...1 158015.639045: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21503 sensors@1.0-se-755 ( 755) [001] ...1 158015.657163: tracing_mark_write: E 21504 SensorService-1249 ( 1136) [000] ...1 158015.657336: tracing_mark_write: E 21505 SensorService-1249 ( 1136) [000] ...1 158015.657594: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21506 sensors@1.0-se-755 ( 755) [001] ...1 158015.657781: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21507 sensors@1.0-se-755 ( 755) [001] ...1 158015.679746: tracing_mark_write: E 21508 SensorService-1249 ( 1136) [000] ...1 158015.680241: tracing_mark_write: E 21509 SensorService-1249 ( 1136) [000] ...1 158015.680442: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21510 sensors@1.0-se-755 ( 755) [001] ...1 158015.680854: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21511 sensors@1.0-se-755 ( 755) [001] ...1 158015.698857: tracing_mark_write: E 21512 SensorService-1249 ( 1136) [000] ...1 158015.699293: tracing_mark_write: E 21513 SensorService-1249 ( 1136) [000] ...1 158015.699477: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21514 sensors@1.0-se-755 ( 755) [001] ...1 158015.699836: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21515 sensors@1.0-se-755 ( 755) [001] ...1 158015.717999: tracing_mark_write: E 21516 SensorService-1249 ( 1136) [000] ...1 158015.718160: tracing_mark_write: E 21517 SensorService-1249 ( 1136) [000] ...1 158015.718351: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21518 sensors@1.0-se-755 ( 755) [001] ...1 158015.718950: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21519 sensors@1.0-se-755 ( 755) [001] ...1 158015.741161: tracing_mark_write: E 21520 SensorService-1249 ( 1136) [000] ...1 158015.741675: tracing_mark_write: E 21521 SensorService-1249 ( 1136) [000] ...1 158015.741955: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21522 sensors@1.0-se-755 ( 755) [002] ...1 158015.742407: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21523 sensors@1.0-se-755 ( 755) [001] ...1 158015.757798: tracing_mark_write: E 21524 SensorService-1249 ( 1136) [000] ...1 158015.758188: tracing_mark_write: E 21525 SensorService-1249 ( 1136) [000] ...1 158015.758524: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21526 sensors@1.0-se-755 ( 755) [001] ...1 158015.758724: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21527 sensors@1.0-se-755 ( 755) [001] ...1 158015.778052: tracing_mark_write: E 21528 SensorService-1249 ( 1136) [000] ...1 158015.778554: tracing_mark_write: E 21529 SensorService-1249 ( 1136) [000] ...1 158015.778797: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21530 sensors@1.0-se-755 ( 755) [001] ...1 158015.779200: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21531 sensors@1.0-se-755 ( 755) [001] ...1 158015.797946: tracing_mark_write: E 21532 SensorService-1249 ( 1136) [000] ...1 158015.798244: tracing_mark_write: E 21533 SensorService-1249 ( 1136) [000] ...1 158015.798545: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21534 sensors@1.0-se-755 ( 755) [001] ...1 158015.798713: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21535 sensors@1.0-se-755 ( 755) [001] ...1 158015.820379: tracing_mark_write: E 21536 SensorService-1249 ( 1136) [000] ...1 158015.821012: tracing_mark_write: E 21537 SensorService-1249 ( 1136) [000] ...1 158015.821249: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21538 sensors@1.0-se-755 ( 755) [001] ...1 158015.821617: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21539 sensors@1.0-se-755 ( 755) [001] ...1 158015.838219: tracing_mark_write: E 21540 SensorService-1249 ( 1136) [000] ...1 158015.838583: tracing_mark_write: E 21541 SensorService-1249 ( 1136) [000] ...1 158015.838763: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21542 sensors@1.0-se-755 ( 755) [001] ...1 158015.839112: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21543 sensors@1.0-se-755 ( 755) [001] ...1 158015.857935: tracing_mark_write: E 21544 SensorService-1249 ( 1136) [000] ...1 158015.858282: tracing_mark_write: E 21545 SensorService-1249 ( 1136) [000] ...1 158015.858557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21546 sensors@1.0-se-755 ( 755) [001] ...1 158015.858836: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21547 sensors@1.0-se-755 ( 755) [001] ...1 158015.877270: tracing_mark_write: E 21548 SensorService-1249 ( 1136) [000] ...1 158015.877379: tracing_mark_write: E 21549 SensorService-1249 ( 1136) [000] ...1 158015.877497: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21550 sensors@1.0-se-755 ( 755) [001] ...1 158015.877640: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21551 sensors@1.0-se-755 ( 755) [001] ...1 158015.897230: tracing_mark_write: E 21552 SensorService-1249 ( 1136) [000] ...1 158015.897335: tracing_mark_write: E 21553 SensorService-1249 ( 1136) [000] ...1 158015.897446: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21554 sensors@1.0-se-755 ( 755) [001] ...1 158015.897532: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21555 sensors@1.0-se-755 ( 755) [001] ...1 158015.919381: tracing_mark_write: E 21556 SensorService-1249 ( 1136) [000] ...1 158015.919926: tracing_mark_write: E 21557 SensorService-1249 ( 1136) [000] ...1 158015.920273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21558 HwBinder:755_1-1247 ( 755) [002] ...1 158015.920581: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21559 HwBinder:755_1-1247 ( 755) [001] ...1 158015.937649: tracing_mark_write: E 21560 SensorService-1249 ( 1136) [000] ...1 158015.937843: tracing_mark_write: E 21561 SensorService-1249 ( 1136) [000] ...1 158015.937982: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21562 HwBinder:755_1-1247 ( 755) [001] ...1 158015.938081: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21563 HwBinder:755_1-1247 ( 755) [003] ...1 158015.959017: tracing_mark_write: E 21564 SensorService-1249 ( 1136) [000] ...1 158015.959503: tracing_mark_write: E 21565 SensorService-1249 ( 1136) [000] ...1 158015.959701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21566 HwBinder:755_1-1247 ( 755) [003] ...1 158015.960087: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21567 HwBinder:755_1-1247 ( 755) [001] ...1 158015.979544: tracing_mark_write: E 21568 SensorService-1249 ( 1136) [000] ...1 158015.980167: tracing_mark_write: E 21569 SensorService-1249 ( 1136) [000] ...1 158015.980495: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21570 HwBinder:755_1-1247 ( 755) [001] ...1 158015.980680: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21571 HwBinder:755_1-1247 ( 755) [001] ...1 158015.998742: tracing_mark_write: E 21572 SensorService-1249 ( 1136) [003] ...1 158015.999224: tracing_mark_write: E 21573 SensorService-1249 ( 1136) [003] ...1 158015.999520: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21574 HwBinder:755_1-1247 ( 755) [001] ...1 158015.999733: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21575 HwBinder:755_1-1247 ( 755) [002] ...1 158016.019721: tracing_mark_write: E 21576 SensorService-1249 ( 1136) [003] ...1 158016.020393: tracing_mark_write: E 21577 SensorService-1249 ( 1136) [003] ...1 158016.020737: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21578 HwBinder:755_1-1247 ( 755) [002] ...1 158016.021244: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21579 HwBinder:755_1-1247 ( 755) [001] ...1 158016.038893: tracing_mark_write: E 21580 SensorService-1249 ( 1136) [003] ...1 158016.039239: tracing_mark_write: E 21581 SensorService-1249 ( 1136) [003] ...1 158016.039546: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21582 HwBinder:755_1-1247 ( 755) [001] ...1 158016.040068: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21583 HwBinder:755_1-1247 ( 755) [001] ...1 158016.058051: tracing_mark_write: E 21584 SensorService-1249 ( 1136) [003] ...1 158016.058187: tracing_mark_write: E 21585 SensorService-1249 ( 1136) [003] ...1 158016.058325: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21586 HwBinder:755_1-1247 ( 755) [001] ...1 158016.058639: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21587 HwBinder:755_1-1247 ( 755) [001] ...1 158016.079040: tracing_mark_write: E 21588 SensorService-1249 ( 1136) [003] ...1 158016.079933: tracing_mark_write: E 21589 SensorService-1249 ( 1136) [003] ...1 158016.080144: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21590 HwBinder:755_1-1247 ( 755) [001] ...1 158016.080643: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21591 HwBinder:755_1-1247 ( 755) [001] ...1 158016.098429: tracing_mark_write: E 21592 SensorService-1249 ( 1136) [003] ...1 158016.098803: tracing_mark_write: E 21593 SensorService-1249 ( 1136) [003] ...1 158016.098991: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21594 HwBinder:755_1-1247 ( 755) [001] ...1 158016.099378: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21595 HwBinder:755_1-1247 ( 755) [000] ...1 158016.117799: tracing_mark_write: E 21596 SensorService-1249 ( 1136) [003] ...1 158016.118105: tracing_mark_write: E 21597 SensorService-1249 ( 1136) [003] ...1 158016.118298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21598 HwBinder:755_1-1247 ( 755) [000] ...1 158016.118406: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21599 HwBinder:755_1-1247 ( 755) [000] ...1 158016.138546: tracing_mark_write: E 21600 SensorService-1249 ( 1136) [003] ...1 158016.138705: tracing_mark_write: E 21601 SensorService-1249 ( 1136) [003] ...1 158016.138865: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21602 HwBinder:755_1-1247 ( 755) [000] ...1 158016.138961: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21603 HwBinder:755_1-1247 ( 755) [002] ...1 158016.159237: tracing_mark_write: E 21604 SensorService-1249 ( 1136) [003] ...1 158016.159441: tracing_mark_write: E 21605 SensorService-1249 ( 1136) [003] ...1 158016.159642: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21606 HwBinder:755_1-1247 ( 755) [002] ...1 158016.159941: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21607 HwBinder:755_1-1247 ( 755) [001] ...1 158016.182021: tracing_mark_write: E 21608 SensorService-1249 ( 1136) [003] ...1 158016.182465: tracing_mark_write: E 21609 SensorService-1249 ( 1136) [003] ...1 158016.182712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21610 HwBinder:755_1-1247 ( 755) [001] ...1 158016.182904: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21611 HwBinder:755_1-1247 ( 755) [002] ...1 158016.198509: tracing_mark_write: E 21612 SensorService-1249 ( 1136) [003] ...1 158016.198686: tracing_mark_write: E 21613 SensorService-1249 ( 1136) [003] ...1 158016.198881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21614 HwBinder:755_1-1247 ( 755) [002] ...1 158016.199518: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21615 HwBinder:755_1-1247 ( 755) [001] ...1 158016.218221: tracing_mark_write: E 21616 SensorService-1249 ( 1136) [003] ...1 158016.218419: tracing_mark_write: E 21617 SensorService-1249 ( 1136) [003] ...1 158016.218604: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21618 HwBinder:755_1-1247 ( 755) [001] ...1 158016.219032: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21619 HwBinder:755_1-1247 ( 755) [001] ...1 158016.239345: tracing_mark_write: E 21620 SensorService-1249 ( 1136) [003] ...1 158016.239660: tracing_mark_write: E 21621 SensorService-1249 ( 1136) [003] ...1 158016.240021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21622 HwBinder:755_1-1247 ( 755) [001] ...1 158016.240231: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21623 HwBinder:755_1-1247 ( 755) [001] ...1 158016.260370: tracing_mark_write: E 21624 SensorService-1249 ( 1136) [003] ...1 158016.260939: tracing_mark_write: E 21625 SensorService-1249 ( 1136) [003] ...1 158016.261198: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21626 HwBinder:755_1-1247 ( 755) [001] ...1 158016.261583: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21627 HwBinder:755_1-1247 ( 755) [001] ...1 158016.278455: tracing_mark_write: E 21628 SensorService-1249 ( 1136) [003] ...1 158016.278663: tracing_mark_write: E 21629 SensorService-1249 ( 1136) [003] ...1 158016.278885: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21630 HwBinder:755_1-1247 ( 755) [001] ...1 158016.279015: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21631 HwBinder:755_1-1247 ( 755) [001] ...1 158016.299331: tracing_mark_write: E 21632 SensorService-1249 ( 1136) [003] ...1 158016.299846: tracing_mark_write: E 21633 SensorService-1249 ( 1136) [003] ...1 158016.300085: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21634 HwBinder:755_1-1247 ( 755) [001] ...1 158016.300465: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21635 HwBinder:755_1-1247 ( 755) [002] ...1 158016.318614: tracing_mark_write: E 21636 SensorService-1249 ( 1136) [003] ...1 158016.319192: tracing_mark_write: E 21637 SensorService-1249 ( 1136) [003] ...1 158016.319401: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21638 HwBinder:755_1-1247 ( 755) [002] ...1 158016.319817: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21639 HwBinder:755_1-1247 ( 755) [001] ...1 158016.340767: tracing_mark_write: E 21640 SensorService-1249 ( 1136) [003] ...1 158016.341368: tracing_mark_write: E 21641 SensorService-1249 ( 1136) [003] ...1 158016.341618: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21642 HwBinder:755_1-1247 ( 755) [001] ...1 158016.342015: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21643 HwBinder:755_1-1247 ( 755) [003] ...1 158016.359626: tracing_mark_write: E 21644 SensorService-1249 ( 1136) [002] ...1 158016.359991: tracing_mark_write: E 21645 SensorService-1249 ( 1136) [002] ...1 158016.360158: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21646 HwBinder:755_1-1247 ( 755) [003] ...1 158016.360475: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21647 HwBinder:755_1-1247 ( 755) [001] ...1 158016.379947: tracing_mark_write: E 21648 SensorService-1249 ( 1136) [002] ...1 158016.380508: tracing_mark_write: E 21649 SensorService-1249 ( 1136) [002] ...1 158016.380752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21650 HwBinder:755_1-1247 ( 755) [001] ...1 158016.381160: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21651 HwBinder:755_1-1247 ( 755) [001] ...1 158016.398769: tracing_mark_write: E 21652 SensorService-1249 ( 1136) [002] ...1 158016.399135: tracing_mark_write: E 21653 SensorService-1249 ( 1136) [002] ...1 158016.399290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21654 HwBinder:755_1-1247 ( 755) [001] ...1 158016.399397: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21655 HwBinder:755_1-1247 ( 755) [000] ...1 158016.421235: tracing_mark_write: E 21656 SensorService-1249 ( 1136) [002] ...1 158016.422052: tracing_mark_write: E 21657 SensorService-1249 ( 1136) [002] ...1 158016.422491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21658 HwBinder:755_1-1247 ( 755) [000] ...1 158016.422989: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21659 HwBinder:755_1-1247 ( 755) [000] ...1 158016.438919: tracing_mark_write: E 21660 SensorService-1249 ( 1136) [002] ...1 158016.439245: tracing_mark_write: E 21661 SensorService-1249 ( 1136) [002] ...1 158016.439406: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21662 HwBinder:755_1-1247 ( 755) [000] ...1 158016.439505: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21663 HwBinder:755_1-1247 ( 755) [001] ...1 158016.460343: tracing_mark_write: E 21664 SensorService-1249 ( 1136) [002] ...1 158016.461101: tracing_mark_write: E 21665 SensorService-1249 ( 1136) [002] ...1 158016.461450: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21666 HwBinder:755_1-1247 ( 755) [001] ...1 158016.461959: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21667 HwBinder:755_1-1247 ( 755) [001] ...1 158016.477723: tracing_mark_write: E 21668 SensorService-1249 ( 1136) [002] ...1 158016.477849: tracing_mark_write: E 21669 SensorService-1249 ( 1136) [002] ...1 158016.477972: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21670 HwBinder:755_1-1247 ( 755) [001] ...1 158016.478039: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21671 HwBinder:755_1-1247 ( 755) [000] ...1 158016.497979: tracing_mark_write: E 21672 SensorService-1249 ( 1136) [002] ...1 158016.498102: tracing_mark_write: E 21673 SensorService-1249 ( 1136) [002] ...1 158016.498233: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21674 HwBinder:755_1-1247 ( 755) [000] ...1 158016.498322: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21675 HwBinder:755_1-1247 ( 755) [000] ...1 158016.517690: tracing_mark_write: E 21676 SensorService-1249 ( 1136) [002] ...1 158016.517758: tracing_mark_write: E 21677 SensorService-1249 ( 1136) [002] ...1 158016.517848: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21678 HwBinder:755_1-1247 ( 755) [000] ...1 158016.517910: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21679 HwBinder:755_1-1247 ( 755) [001] ...1 158016.539034: tracing_mark_write: E 21680 SensorService-1249 ( 1136) [002] ...1 158016.539393: tracing_mark_write: E 21681 SensorService-1249 ( 1136) [002] ...1 158016.539596: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21682 HwBinder:755_1-1247 ( 755) [001] ...1 158016.539924: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21683 HwBinder:755_1-1247 ( 755) [001] ...1 158016.558418: tracing_mark_write: E 21684 SensorService-1249 ( 1136) [002] ...1 158016.558752: tracing_mark_write: E 21685 SensorService-1249 ( 1136) [002] ...1 158016.558947: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21686 HwBinder:755_1-1247 ( 755) [001] ...1 158016.559080: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21687 HwBinder:755_1-1247 ( 755) [001] ...1 158016.578686: tracing_mark_write: E 21688 SensorService-1249 ( 1136) [002] ...1 158016.578953: tracing_mark_write: E 21689 SensorService-1249 ( 1136) [002] ...1 158016.579183: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21690 HwBinder:755_1-1247 ( 755) [001] ...1 158016.579479: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21691 HwBinder:755_1-1247 ( 755) [002] ...1 158016.598516: tracing_mark_write: E 21692 SensorService-1249 ( 1136) [000] ...1 158016.598675: tracing_mark_write: E 21693 SensorService-1249 ( 1136) [000] ...1 158016.598843: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21694 HwBinder:755_1-1247 ( 755) [002] ...1 158016.599082: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21695 HwBinder:755_1-1247 ( 755) [002] ...1 158016.618147: tracing_mark_write: E 21696 SensorService-1249 ( 1136) [000] ...1 158016.618251: tracing_mark_write: E 21697 SensorService-1249 ( 1136) [000] ...1 158016.618377: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21698 HwBinder:755_1-1247 ( 755) [002] ...1 158016.618454: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21699 HwBinder:755_1-1247 ( 755) [002] ...1 158016.638413: tracing_mark_write: E 21700 SensorService-1249 ( 1136) [000] ...1 158016.638625: tracing_mark_write: E 21701 SensorService-1249 ( 1136) [000] ...1 158016.638734: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21702 HwBinder:755_1-1247 ( 755) [002] ...1 158016.638901: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21703 HwBinder:755_1-1247 ( 755) [001] ...1 158016.660721: tracing_mark_write: E 21704 SensorService-1249 ( 1136) [000] ...1 158016.661258: tracing_mark_write: E 21705 SensorService-1249 ( 1136) [000] ...1 158016.661467: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21706 HwBinder:755_1-1247 ( 755) [001] ...1 158016.662058: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21707 HwBinder:755_1-1247 ( 755) [001] ...1 158016.679651: tracing_mark_write: E 21708 SensorService-1249 ( 1136) [000] ...1 158016.680101: tracing_mark_write: E 21709 SensorService-1249 ( 1136) [000] ...1 158016.680355: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21710 HwBinder:755_1-1247 ( 755) [001] ...1 158016.680815: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21711 HwBinder:755_1-1247 ( 755) [001] ...1 158016.699353: tracing_mark_write: E 21712 SensorService-1249 ( 1136) [000] ...1 158016.699577: tracing_mark_write: E 21713 SensorService-1249 ( 1136) [000] ...1 158016.699803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21714 HwBinder:755_1-1247 ( 755) [001] ...1 158016.700207: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21715 HwBinder:755_1-1247 ( 755) [001] ...1 158016.720279: tracing_mark_write: E 21716 SensorService-1249 ( 1136) [000] ...1 158016.720695: tracing_mark_write: E 21717 SensorService-1249 ( 1136) [000] ...1 158016.721162: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21718 HwBinder:755_1-1247 ( 755) [001] ...1 158016.721679: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21719 HwBinder:755_1-1247 ( 755) [001] ...1 158016.740060: tracing_mark_write: E 21720 SensorService-1249 ( 1136) [000] ...1 158016.740448: tracing_mark_write: E 21721 SensorService-1249 ( 1136) [000] ...1 158016.740831: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21722 HwBinder:755_1-1247 ( 755) [001] ...1 158016.741054: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21723 HwBinder:755_1-1247 ( 755) [000] ...1 158016.758647: tracing_mark_write: E 21724 SensorService-1249 ( 1136) [001] ...1 158016.758945: tracing_mark_write: E 21725 SensorService-1249 ( 1136) [001] ...1 158016.759067: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21726 HwBinder:755_1-1247 ( 755) [000] ...1 158016.759286: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21727 HwBinder:755_1-1247 ( 755) [000] ...1 158016.779461: tracing_mark_write: E 21728 SensorService-1249 ( 1136) [001] ...1 158016.779877: tracing_mark_write: E 21729 SensorService-1249 ( 1136) [001] ...1 158016.780008: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21730 HwBinder:755_1-1247 ( 755) [000] ...1 158016.780363: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21731 HwBinder:755_1-1247 ( 755) [000] ...1 158016.800765: tracing_mark_write: E 21732 SensorService-1249 ( 1136) [001] ...1 158016.801286: tracing_mark_write: E 21733 SensorService-1249 ( 1136) [001] ...1 158016.801583: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21734 HwBinder:755_1-1247 ( 755) [000] ...1 158016.802056: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21735 HwBinder:755_1-1247 ( 755) [000] ...1 158016.820200: tracing_mark_write: E 21736 SensorService-1249 ( 1136) [001] ...1 158016.820563: tracing_mark_write: E 21737 SensorService-1249 ( 1136) [001] ...1 158016.820976: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21738 HwBinder:755_1-1247 ( 755) [000] ...1 158016.821226: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21739 HwBinder:755_1-1247 ( 755) [000] ...1 158016.839897: tracing_mark_write: E 21740 SensorService-1249 ( 1136) [001] ...1 158016.840141: tracing_mark_write: E 21741 SensorService-1249 ( 1136) [001] ...1 158016.840451: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21742 HwBinder:755_1-1247 ( 755) [000] ...1 158016.840677: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21743 HwBinder:755_1-1247 ( 755) [001] ...1 158016.859056: tracing_mark_write: E 21744 SensorService-1249 ( 1136) [003] ...1 158016.859423: tracing_mark_write: E 21745 SensorService-1249 ( 1136) [003] ...1 158016.859771: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21746 HwBinder:755_1-1247 ( 755) [001] ...1 158016.860029: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21747 HwBinder:755_1-1247 ( 755) [001] ...1 158016.879380: tracing_mark_write: E 21748 SensorService-1249 ( 1136) [003] ...1 158016.879812: tracing_mark_write: E 21749 SensorService-1249 ( 1136) [003] ...1 158016.880067: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21750 HwBinder:755_1-1247 ( 755) [001] ...1 158016.880440: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21751 HwBinder:755_1-1247 ( 755) [001] ...1 158016.899580: tracing_mark_write: E 21752 SensorService-1249 ( 1136) [003] ...1 158016.900064: tracing_mark_write: E 21753 SensorService-1249 ( 1136) [003] ...1 158016.900305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21754 HwBinder:755_1-1247 ( 755) [001] ...1 158016.900440: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21755 HwBinder:755_1-1247 ( 755) [001] ...1 158016.918964: tracing_mark_write: E 21756 SensorService-1249 ( 1136) [003] ...1 158016.919304: tracing_mark_write: E 21757 SensorService-1249 ( 1136) [003] ...1 158016.919484: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21758 HwBinder:755_1-1247 ( 755) [001] ...1 158016.919760: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21759 HwBinder:755_1-1247 ( 755) [001] ...1 158016.939871: tracing_mark_write: E 21760 SensorService-1249 ( 1136) [003] ...1 158016.940152: tracing_mark_write: E 21761 SensorService-1249 ( 1136) [003] ...1 158016.940414: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21762 HwBinder:755_1-1247 ( 755) [001] ...1 158016.940542: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21763 HwBinder:755_1-1247 ( 755) [001] ...1 158016.959386: tracing_mark_write: E 21764 SensorService-1249 ( 1136) [003] ...1 158016.959511: tracing_mark_write: E 21765 SensorService-1249 ( 1136) [003] ...1 158016.959641: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21766 HwBinder:755_1-1247 ( 755) [001] ...1 158016.959712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21767 HwBinder:755_1-1247 ( 755) [000] ...1 158016.978261: tracing_mark_write: E 21768 SensorService-1249 ( 1136) [003] ...1 158016.978370: tracing_mark_write: E 21769 SensorService-1249 ( 1136) [003] ...1 158016.978525: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21770 HwBinder:755_1-1247 ( 755) [000] ...1 158016.978602: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21771 HwBinder:755_1-1247 ( 755) [000] ...1 158017.000607: tracing_mark_write: E 21772 SensorService-1249 ( 1136) [003] ...1 158017.001266: tracing_mark_write: E 21773 SensorService-1249 ( 1136) [003] ...1 158017.001651: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21774 HwBinder:755_1-1247 ( 755) [000] ...1 158017.002469: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21775 HwBinder:755_1-1247 ( 755) [000] ...1 158017.020564: tracing_mark_write: E 21776 SensorService-1249 ( 1136) [003] ...1 158017.021185: tracing_mark_write: E 21777 SensorService-1249 ( 1136) [003] ...1 158017.021481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21778 HwBinder:755_1-1247 ( 755) [000] ...1 158017.021745: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21779 HwBinder:755_1-1247 ( 755) [000] ...1 158017.041004: tracing_mark_write: E 21780 SensorService-1249 ( 1136) [003] ...1 158017.041470: tracing_mark_write: E 21781 SensorService-1249 ( 1136) [003] ...1 158017.041799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21782 HwBinder:755_1-1247 ( 755) [000] ...1 158017.042228: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21783 HwBinder:755_1-1247 ( 755) [000] ...1 158017.061133: tracing_mark_write: E 21784 SensorService-1249 ( 1136) [003] ...1 158017.061641: tracing_mark_write: E 21785 SensorService-1249 ( 1136) [003] ...1 158017.061959: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21786 HwBinder:755_1-1247 ( 755) [000] ...1 158017.062415: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21787 HwBinder:755_1-1247 ( 755) [000] ...1 158017.080110: tracing_mark_write: E 21788 SensorService-1249 ( 1136) [003] ...1 158017.080494: tracing_mark_write: E 21789 SensorService-1249 ( 1136) [003] ...1 158017.080757: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21790 HwBinder:755_1-1247 ( 755) [000] ...1 158017.081178: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21791 HwBinder:755_1-1247 ( 755) [001] ...1 158017.099253: tracing_mark_write: E 21792 SensorService-1249 ( 1136) [003] ...1 158017.099509: tracing_mark_write: E 21793 SensorService-1249 ( 1136) [003] ...1 158017.099821: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21794 HwBinder:755_1-1247 ( 755) [001] ...1 158017.100054: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21795 HwBinder:755_1-1247 ( 755) [001] ...1 158017.119891: tracing_mark_write: E 21796 SensorService-1249 ( 1136) [003] ...1 158017.120289: tracing_mark_write: E 21797 SensorService-1249 ( 1136) [003] ...1 158017.120566: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21798 HwBinder:755_1-1247 ( 755) [001] ...1 158017.120806: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21799 HwBinder:755_1-1247 ( 755) [000] ...1 158017.140534: tracing_mark_write: E 21800 SensorService-1249 ( 1136) [003] ...1 158017.140820: tracing_mark_write: E 21801 SensorService-1249 ( 1136) [003] ...1 158017.141224: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21802 HwBinder:755_1-1247 ( 755) [000] ...1 158017.141676: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21803 HwBinder:755_1-1247 ( 755) [001] ...1 158017.159113: tracing_mark_write: E 21804 SensorService-1249 ( 1136) [003] ...1 158017.159372: tracing_mark_write: E 21805 SensorService-1249 ( 1136) [003] ...1 158017.159692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21806 HwBinder:755_1-1247 ( 755) [001] ...1 158017.159923: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21807 HwBinder:755_1-1247 ( 755) [001] ...1 158017.179143: tracing_mark_write: E 21808 SensorService-1249 ( 1136) [003] ...1 158017.179421: tracing_mark_write: E 21809 SensorService-1249 ( 1136) [003] ...1 158017.179722: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21810 HwBinder:755_1-1247 ( 755) [001] ...1 158017.179957: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21811 HwBinder:755_1-1247 ( 755) [002] ...1 158017.198678: tracing_mark_write: E 21812 SensorService-1249 ( 1136) [003] ...1 158017.198880: tracing_mark_write: E 21813 SensorService-1249 ( 1136) [003] ...1 158017.198965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21814 HwBinder:755_1-1247 ( 755) [002] ...1 158017.199151: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21815 HwBinder:755_1-1247 ( 755) [001] ...1 158017.218425: tracing_mark_write: E 21816 SensorService-1249 ( 1136) [003] ...1 158017.218509: tracing_mark_write: E 21817 SensorService-1249 ( 1136) [003] ...1 158017.218606: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21818 HwBinder:755_1-1247 ( 755) [001] ...1 158017.218664: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21819 android.bg-1155 ( 1136) [003] ...1 158017.236268: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21820 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236378: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21821 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236396: tracing_mark_write: E 21822 android.bg-1155 ( 1136) [003] ...1 158017.236450: tracing_mark_write: E 21823 android.bg-1155 ( 1136) [003] ...1 158017.236460: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21824 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236489: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21825 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236533: tracing_mark_write: E 21826 android.bg-1155 ( 1136) [003] ...1 158017.236565: tracing_mark_write: E 21827 android.bg-1155 ( 1136) [003] ...1 158017.236573: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21828 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236599: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21829 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236621: tracing_mark_write: E 21830 android.bg-1155 ( 1136) [003] ...1 158017.236651: tracing_mark_write: E 21831 android.bg-1155 ( 1136) [003] ...1 158017.236658: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21832 memtrack@1.0-s-745 ( 745) [002] ...1 158017.236695: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21833 memtrack@1.0-s-745 ( 745) [002] ...1 158017.236702: tracing_mark_write: E 21834 android.bg-1155 ( 1136) [003] ...1 158017.236732: tracing_mark_write: E 21835 android.bg-1155 ( 1136) [003] ...1 158017.236739: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21836 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236768: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21837 memtrack@1.0-s-745 ( 745) [003] ...1 158017.236773: tracing_mark_write: E 21838 android.bg-1155 ( 1136) [003] ...1 158017.236802: tracing_mark_write: E 21839 HwBinder:755_1-1247 ( 755) [002] ...1 158017.238649: tracing_mark_write: E 21840 SensorService-1249 ( 1136) [003] ...1 158017.238740: tracing_mark_write: E 21841 SensorService-1249 ( 1136) [003] ...1 158017.238818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21842 HwBinder:755_1-1247 ( 755) [002] ...1 158017.238989: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21843 HwBinder:755_1-1247 ( 755) [000] ...1 158017.259084: tracing_mark_write: E 21844 SensorService-1249 ( 1136) [003] ...1 158017.259294: tracing_mark_write: E 21845 SensorService-1249 ( 1136) [003] ...1 158017.259415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21846 HwBinder:755_1-1247 ( 755) [000] ...1 158017.259532: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21847 HwBinder:755_1-1247 ( 755) [004] ...1 158017.278694: tracing_mark_write: E 21848 SensorService-1249 ( 1136) [003] ...1 158017.278772: tracing_mark_write: E 21849 SensorService-1249 ( 1136) [003] ...1 158017.278848: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21850 HwBinder:755_1-1247 ( 755) [004] ...1 158017.278904: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21851 android.bg-1155 ( 1136) [006] ...1 158017.279070: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21852 memtrack@1.0-s-745 ( 745) [003] ...1 158017.279143: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21853 memtrack@1.0-s-745 ( 745) [003] ...1 158017.279160: tracing_mark_write: E 21854 android.bg-1155 ( 1136) [003] ...1 158017.279218: tracing_mark_write: E 21855 android.bg-1155 ( 1136) [003] ...1 158017.279230: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21856 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279270: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21857 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279314: tracing_mark_write: E 21858 android.bg-1155 ( 1136) [000] ...1 158017.279356: tracing_mark_write: E 21859 android.bg-1155 ( 1136) [000] ...1 158017.279365: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21860 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279393: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21861 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279416: tracing_mark_write: E 21862 android.bg-1155 ( 1136) [000] ...1 158017.279447: tracing_mark_write: E 21863 android.bg-1155 ( 1136) [000] ...1 158017.279454: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21864 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279481: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21865 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279486: tracing_mark_write: E 21866 android.bg-1155 ( 1136) [000] ...1 158017.279515: tracing_mark_write: E 21867 android.bg-1155 ( 1136) [000] ...1 158017.279522: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 21868 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279547: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 21869 memtrack@1.0-s-745 ( 745) [000] ...1 158017.279552: tracing_mark_write: E 21870 android.bg-1155 ( 1136) [000] ...1 158017.279580: tracing_mark_write: E 21871 HwBinder:755_1-1247 ( 755) [004] ...1 158017.298784: tracing_mark_write: E 21872 SensorService-1249 ( 1136) [003] ...1 158017.298857: tracing_mark_write: E 21873 SensorService-1249 ( 1136) [003] ...1 158017.298925: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21874 HwBinder:755_1-1247 ( 755) [004] ...1 158017.299075: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21875 HwBinder:755_1-1247 ( 755) [000] ...1 158017.318639: tracing_mark_write: E 21876 SensorService-1249 ( 1136) [003] ...1 158017.318716: tracing_mark_write: E 21877 SensorService-1249 ( 1136) [003] ...1 158017.318803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21878 HwBinder:755_1-1247 ( 755) [000] ...1 158017.318864: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21879 HwBinder:755_1-1247 ( 755) [002] ...1 158017.338605: tracing_mark_write: E 21880 SensorService-1249 ( 1136) [003] ...1 158017.338725: tracing_mark_write: E 21881 SensorService-1249 ( 1136) [003] ...1 158017.338849: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21882 HwBinder:755_1-1247 ( 755) [002] ...1 158017.338925: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21883 HwBinder:755_1-1247 ( 755) [000] ...1 158017.359491: tracing_mark_write: E 21884 SensorService-1249 ( 1136) [003] ...1 158017.359697: tracing_mark_write: E 21885 SensorService-1249 ( 1136) [003] ...1 158017.359847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21886 HwBinder:755_1-1247 ( 755) [000] ...1 158017.360098: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21887 HwBinder:755_1-1247 ( 755) [000] ...1 158017.379258: tracing_mark_write: E 21888 SensorService-1249 ( 1136) [003] ...1 158017.379539: tracing_mark_write: E 21889 SensorService-1249 ( 1136) [003] ...1 158017.379680: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21890 HwBinder:755_1-1247 ( 755) [000] ...1 158017.379953: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21891 HwBinder:755_1-1247 ( 755) [000] ...1 158017.400267: tracing_mark_write: E 21892 SensorService-1249 ( 1136) [003] ...1 158017.400381: tracing_mark_write: E 21893 SensorService-1249 ( 1136) [003] ...1 158017.400488: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21894 HwBinder:755_1-1247 ( 755) [000] ...1 158017.400695: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21895 HwBinder:755_1-1247 ( 755) [000] ...1 158017.420427: tracing_mark_write: E 21896 SensorService-1249 ( 1136) [003] ...1 158017.420529: tracing_mark_write: E 21897 SensorService-1249 ( 1136) [003] ...1 158017.420637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21898 HwBinder:755_1-1247 ( 755) [000] ...1 158017.420822: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21899 HwBinder:755_1-1247 ( 755) [000] ...1 158017.440315: tracing_mark_write: E 21900 SensorService-1249 ( 1136) [003] ...1 158017.440413: tracing_mark_write: E 21901 SensorService-1249 ( 1136) [003] ...1 158017.440516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21902 HwBinder:755_1-1247 ( 755) [000] ...1 158017.440674: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21903 HwBinder:755_1-1247 ( 755) [000] ...1 158017.459770: tracing_mark_write: E 21904 SensorService-1249 ( 1136) [003] ...1 158017.460179: tracing_mark_write: E 21905 SensorService-1249 ( 1136) [003] ...1 158017.460449: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21906 HwBinder:755_1-1247 ( 755) [000] ...1 158017.460941: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21907 HwBinder:755_1-1247 ( 755) [000] ...1 158017.481091: tracing_mark_write: E 21908 SensorService-1249 ( 1136) [003] ...1 158017.481765: tracing_mark_write: E 21909 SensorService-1249 ( 1136) [003] ...1 158017.482146: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21910 HwBinder:755_1-1247 ( 755) [000] ...1 158017.482397: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21911 HwBinder:755_1-1247 ( 755) [001] ...1 158017.499035: tracing_mark_write: E 21912 SensorService-1249 ( 1136) [003] ...1 158017.499250: tracing_mark_write: E 21913 SensorService-1249 ( 1136) [003] ...1 158017.499536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21914 HwBinder:755_1-1247 ( 755) [001] ...1 158017.499744: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21915 HwBinder:755_1-1247 ( 755) [004] ...1 158017.520936: tracing_mark_write: E 21916 SensorService-1249 ( 1136) [003] ...1 158017.521086: tracing_mark_write: E 21917 SensorService-1249 ( 1136) [003] ...1 158017.521267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21918 HwBinder:755_1-1247 ( 755) [004] ...1 158017.521735: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21919 HwBinder:755_1-1247 ( 755) [001] ...1 158017.539254: tracing_mark_write: E 21920 SensorService-1249 ( 1136) [003] ...1 158017.539454: tracing_mark_write: E 21921 SensorService-1249 ( 1136) [003] ...1 158017.539666: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21922 HwBinder:755_1-1247 ( 755) [001] ...1 158017.539796: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21923 HwBinder:755_1-1247 ( 755) [000] ...1 158017.559354: tracing_mark_write: E 21924 SensorService-1249 ( 1136) [003] ...1 158017.559518: tracing_mark_write: E 21925 SensorService-1249 ( 1136) [003] ...1 158017.559773: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21926 HwBinder:755_1-1247 ( 755) [000] ...1 158017.559870: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21927 HwBinder:755_1-1247 ( 755) [000] ...1 158017.579751: tracing_mark_write: E 21928 SensorService-1249 ( 1136) [003] ...1 158017.580130: tracing_mark_write: E 21929 SensorService-1249 ( 1136) [003] ...1 158017.580327: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21930 HwBinder:755_1-1247 ( 755) [000] ...1 158017.580623: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21931 HwBinder:755_1-1247 ( 755) [000] ...1 158017.601150: tracing_mark_write: E 21932 SensorService-1249 ( 1136) [003] ...1 158017.601598: tracing_mark_write: E 21933 SensorService-1249 ( 1136) [003] ...1 158017.601787: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21934 HwBinder:755_1-1247 ( 755) [000] ...1 158017.601888: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21935 HwBinder:755_1-1247 ( 755) [000] ...1 158017.620668: tracing_mark_write: E 21936 SensorService-1249 ( 1136) [003] ...1 158017.621135: tracing_mark_write: E 21937 SensorService-1249 ( 1136) [003] ...1 158017.621323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21938 HwBinder:755_1-1247 ( 755) [000] ...1 158017.621663: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21939 HwBinder:755_1-1247 ( 755) [000] ...1 158017.641768: tracing_mark_write: E 21940 SensorService-1249 ( 1136) [003] ...1 158017.642484: tracing_mark_write: E 21941 SensorService-1249 ( 1136) [003] ...1 158017.642854: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21942 HwBinder:755_1-1247 ( 755) [000] ...1 158017.643142: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21943 HwBinder:755_1-1247 ( 755) [000] ...1 158017.662730: tracing_mark_write: E 21944 SensorService-1249 ( 1136) [003] ...1 158017.663407: tracing_mark_write: E 21945 SensorService-1249 ( 1136) [003] ...1 158017.663755: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21946 HwBinder:755_1-1247 ( 755) [000] ...1 158017.664375: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21947 HwBinder:755_1-1247 ( 755) [000] ...1 158017.681540: tracing_mark_write: E 21948 SensorService-1249 ( 1136) [003] ...1 158017.681813: tracing_mark_write: E 21949 SensorService-1249 ( 1136) [003] ...1 158017.682369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21950 HwBinder:755_1-1247 ( 755) [000] ...1 158017.682622: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21951 HwBinder:755_1-1247 ( 755) [000] ...1 158017.700930: tracing_mark_write: E 21952 SensorService-1249 ( 1136) [003] ...1 158017.701206: tracing_mark_write: E 21953 SensorService-1249 ( 1136) [003] ...1 158017.701493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21954 HwBinder:755_1-1247 ( 755) [000] ...1 158017.702004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21955 HwBinder:755_1-1247 ( 755) [000] ...1 158017.720167: tracing_mark_write: E 21956 SensorService-1249 ( 1136) [003] ...1 158017.720666: tracing_mark_write: E 21957 SensorService-1249 ( 1136) [003] ...1 158017.720955: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21958 HwBinder:755_1-1247 ( 755) [000] ...1 158017.721391: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21959 HwBinder:755_1-1247 ( 755) [000] ...1 158017.740756: tracing_mark_write: E 21960 SensorService-1249 ( 1136) [003] ...1 158017.741604: tracing_mark_write: E 21961 SensorService-1249 ( 1136) [003] ...1 158017.741963: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21962 HwBinder:755_1-1247 ( 755) [000] ...1 158017.742579: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21963 HwBinder:755_1-1247 ( 755) [000] ...1 158017.760133: tracing_mark_write: E 21964 SensorService-1249 ( 1136) [003] ...1 158017.760633: tracing_mark_write: E 21965 SensorService-1249 ( 1136) [003] ...1 158017.760841: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21966 HwBinder:755_1-1247 ( 755) [000] ...1 158017.761008: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21967 HwBinder:755_1-1247 ( 755) [000] ...1 158017.779821: tracing_mark_write: E 21968 SensorService-1249 ( 1136) [003] ...1 158017.779944: tracing_mark_write: E 21969 SensorService-1249 ( 1136) [003] ...1 158017.780070: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21970 HwBinder:755_1-1247 ( 755) [000] ...1 158017.780284: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21971 HwBinder:755_1-1247 ( 755) [000] ...1 158017.801926: tracing_mark_write: E 21972 SensorService-1249 ( 1136) [003] ...1 158017.802436: tracing_mark_write: E 21973 SensorService-1249 ( 1136) [003] ...1 158017.802706: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21974 HwBinder:755_1-1247 ( 755) [000] ...1 158017.803172: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21975 HwBinder:755_1-1247 ( 755) [000] ...1 158017.820158: tracing_mark_write: E 21976 SensorService-1249 ( 1136) [003] ...1 158017.820568: tracing_mark_write: E 21977 SensorService-1249 ( 1136) [003] ...1 158017.820782: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21978 HwBinder:755_1-1247 ( 755) [000] ...1 158017.821274: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21979 HwBinder:755_1-1247 ( 755) [000] ...1 158017.841020: tracing_mark_write: E 21980 SensorService-1249 ( 1136) [003] ...1 158017.841406: tracing_mark_write: E 21981 SensorService-1249 ( 1136) [003] ...1 158017.841800: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21982 HwBinder:755_1-1247 ( 755) [000] ...1 158017.842056: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21983 HwBinder:755_1-1247 ( 755) [000] ...1 158017.859670: tracing_mark_write: E 21984 SensorService-1249 ( 1136) [003] ...1 158017.859859: tracing_mark_write: E 21985 SensorService-1249 ( 1136) [003] ...1 158017.860075: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21986 HwBinder:755_1-1247 ( 755) [000] ...1 158017.860268: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21987 HwBinder:755_1-1247 ( 755) [000] ...1 158017.882011: tracing_mark_write: E 21988 SensorService-1249 ( 1136) [003] ...1 158017.882924: tracing_mark_write: E 21989 SensorService-1249 ( 1136) [003] ...1 158017.883473: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21990 HwBinder:755_1-1247 ( 755) [000] ...1 158017.884149: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21991 HwBinder:755_1-1247 ( 755) [000] ...1 158017.903191: tracing_mark_write: E 21992 SensorService-1249 ( 1136) [003] ...1 158017.904485: tracing_mark_write: E 21993 SensorService-1249 ( 1136) [003] ...1 158017.905002: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21994 HwBinder:755_1-1247 ( 755) [000] ...1 158017.905319: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21995 HwBinder:755_1-1247 ( 755) [000] ...1 158017.920184: tracing_mark_write: E 21996 SensorService-1249 ( 1136) [003] ...1 158017.920421: tracing_mark_write: E 21997 SensorService-1249 ( 1136) [003] ...1 158017.920685: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 21998 HwBinder:755_1-1247 ( 755) [000] ...1 158017.921017: tracing_mark_write: B|755|HIDL::ISensors::poll::server 21999 HwBinder:755_1-1247 ( 755) [000] ...1 158017.943149: tracing_mark_write: E 22000 SensorService-1249 ( 1136) [003] ...1 158017.943649: tracing_mark_write: E 22001 SensorService-1249 ( 1136) [003] ...1 158017.944050: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22002 HwBinder:755_1-1247 ( 755) [000] ...1 158017.944659: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22003 HwBinder:755_1-1247 ( 755) [000] ...1 158017.961800: tracing_mark_write: E 22004 SensorService-1249 ( 1136) [003] ...1 158017.962677: tracing_mark_write: E 22005 SensorService-1249 ( 1136) [003] ...1 158017.963224: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22006 HwBinder:755_1-1247 ( 755) [000] ...1 158017.964047: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22007 HwBinder:755_1-1247 ( 755) [000] ...1 158017.980645: tracing_mark_write: E 22008 SensorService-1249 ( 1136) [003] ...1 158017.981206: tracing_mark_write: E 22009 SensorService-1249 ( 1136) [003] ...1 158017.981494: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22010 HwBinder:755_1-1247 ( 755) [000] ...1 158017.981966: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22011 HwBinder:755_1-1247 ( 755) [000] ...1 158018.000084: tracing_mark_write: E 22012 SensorService-1249 ( 1136) [003] ...1 158018.000494: tracing_mark_write: E 22013 SensorService-1249 ( 1136) [003] ...1 158018.000739: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22014 HwBinder:755_1-1247 ( 755) [000] ...1 158018.001182: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22015 HwBinder:755_1-1247 ( 755) [000] ...1 158018.020229: tracing_mark_write: E 22016 SensorService-1249 ( 1136) [003] ...1 158018.020828: tracing_mark_write: E 22017 SensorService-1249 ( 1136) [003] ...1 158018.021116: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22018 HwBinder:755_1-1247 ( 755) [000] ...1 158018.021656: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22019 HwBinder:755_1-1247 ( 755) [000] ...1 158018.040365: tracing_mark_write: E 22020 SensorService-1249 ( 1136) [003] ...1 158018.041098: tracing_mark_write: E 22021 SensorService-1249 ( 1136) [003] ...1 158018.041469: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22022 HwBinder:755_1-1247 ( 755) [000] ...1 158018.041970: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22023 HwBinder:755_1-1247 ( 755) [000] ...1 158018.060778: tracing_mark_write: E 22024 SensorService-1249 ( 1136) [003] ...1 158018.060938: tracing_mark_write: E 22025 SensorService-1249 ( 1136) [003] ...1 158018.061097: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22026 HwBinder:755_1-1247 ( 755) [000] ...1 158018.061180: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22027 HwBinder:755_1-1247 ( 755) [000] ...1 158018.079811: tracing_mark_write: E 22028 SensorService-1249 ( 1136) [003] ...1 158018.080053: tracing_mark_write: E 22029 SensorService-1249 ( 1136) [003] ...1 158018.080366: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22030 HwBinder:755_1-1247 ( 755) [000] ...1 158018.080592: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22031 HwBinder:755_1-1247 ( 755) [000] ...1 158018.100342: tracing_mark_write: E 22032 SensorService-1249 ( 1136) [003] ...1 158018.100658: tracing_mark_write: E 22033 SensorService-1249 ( 1136) [003] ...1 158018.101221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22034 HwBinder:755_1-1247 ( 755) [000] ...1 158018.101497: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22035 HwBinder:755_1-1247 ( 755) [000] ...1 158018.119810: tracing_mark_write: E 22036 SensorService-1249 ( 1136) [003] ...1 158018.120130: tracing_mark_write: E 22037 SensorService-1249 ( 1136) [003] ...1 158018.120328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22038 HwBinder:755_1-1247 ( 755) [000] ...1 158018.120621: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22039 HwBinder:755_1-1247 ( 755) [000] ...1 158018.139776: tracing_mark_write: E 22040 SensorService-1249 ( 1136) [003] ...1 158018.140068: tracing_mark_write: E 22041 SensorService-1249 ( 1136) [003] ...1 158018.140245: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22042 HwBinder:755_1-1247 ( 755) [000] ...1 158018.140358: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22043 HwBinder:755_1-1247 ( 755) [000] ...1 158018.159334: tracing_mark_write: E 22044 SensorService-1249 ( 1136) [003] ...1 158018.159463: tracing_mark_write: E 22045 SensorService-1249 ( 1136) [003] ...1 158018.159591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22046 HwBinder:755_1-1247 ( 755) [000] ...1 158018.159674: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22047 HwBinder:755_1-1247 ( 755) [000] ...1 158018.179526: tracing_mark_write: E 22048 SensorService-1249 ( 1136) [003] ...1 158018.179763: tracing_mark_write: E 22049 SensorService-1249 ( 1136) [003] ...1 158018.179893: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22050 HwBinder:755_1-1247 ( 755) [000] ...1 158018.179973: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22051 HwBinder:755_1-1247 ( 755) [002] ...1 158018.200140: tracing_mark_write: E 22052 SensorService-1249 ( 1136) [003] ...1 158018.200351: tracing_mark_write: E 22053 SensorService-1249 ( 1136) [003] ...1 158018.200466: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22054 HwBinder:755_1-1247 ( 755) [002] ...1 158018.200532: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22055 HwBinder:755_1-1247 ( 755) [001] ...1 158018.220150: tracing_mark_write: E 22056 SensorService-1249 ( 1136) [003] ...1 158018.220404: tracing_mark_write: E 22057 SensorService-1249 ( 1136) [003] ...1 158018.220716: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22058 HwBinder:755_1-1247 ( 755) [001] ...1 158018.220993: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22059 HwBinder:755_1-1247 ( 755) [001] ...1 158018.240268: tracing_mark_write: E 22060 SensorService-1249 ( 1136) [003] ...1 158018.240534: tracing_mark_write: E 22061 SensorService-1249 ( 1136) [003] ...1 158018.240799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22062 HwBinder:755_1-1247 ( 755) [001] ...1 158018.241109: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22063 HwBinder:755_1-1247 ( 755) [001] ...1 158018.259414: tracing_mark_write: E 22064 SensorService-1249 ( 1136) [003] ...1 158018.259555: tracing_mark_write: E 22065 SensorService-1249 ( 1136) [003] ...1 158018.259666: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22066 HwBinder:755_1-1247 ( 755) [001] ...1 158018.259788: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22067 HwBinder:755_1-1247 ( 755) [000] ...1 158018.280193: tracing_mark_write: E 22068 SensorService-1249 ( 1136) [003] ...1 158018.280303: tracing_mark_write: E 22069 SensorService-1249 ( 1136) [003] ...1 158018.280402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22070 HwBinder:755_1-1247 ( 755) [000] ...1 158018.280463: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22071 HwBinder:755_1-1247 ( 755) [000] ...1 158018.302393: tracing_mark_write: E 22072 SensorService-1249 ( 1136) [003] ...1 158018.302492: tracing_mark_write: E 22073 SensorService-1249 ( 1136) [003] ...1 158018.302604: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22074 HwBinder:755_1-1247 ( 755) [000] ...1 158018.302712: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22075 HwBinder:755_1-1247 ( 755) [004] ...1 158018.319471: tracing_mark_write: E 22076 SensorService-1249 ( 1136) [003] ...1 158018.319563: tracing_mark_write: E 22077 SensorService-1249 ( 1136) [003] ...1 158018.319665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22078 HwBinder:755_1-1247 ( 755) [004] ...1 158018.319738: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22079 HwBinder:755_1-1247 ( 755) [006] ...1 158018.339709: tracing_mark_write: E 22080 SensorService-1249 ( 1136) [003] ...1 158018.339785: tracing_mark_write: E 22081 SensorService-1249 ( 1136) [003] ...1 158018.339868: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22082 sensors@1.0-se-755 ( 755) [001] ...1 158018.339947: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22083 sensors@1.0-se-755 ( 755) [000] ...1 158018.359385: tracing_mark_write: E 22084 SensorService-1249 ( 1136) [003] ...1 158018.359464: tracing_mark_write: E 22085 SensorService-1249 ( 1136) [003] ...1 158018.359537: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22086 sensors@1.0-se-755 ( 755) [000] ...1 158018.359601: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22087 sensors@1.0-se-755 ( 755) [000] ...1 158018.379533: tracing_mark_write: E 22088 SensorService-1249 ( 1136) [003] ...1 158018.379607: tracing_mark_write: E 22089 SensorService-1249 ( 1136) [003] ...1 158018.379692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22090 sensors@1.0-se-755 ( 755) [000] ...1 158018.379749: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22091 sensors@1.0-se-755 ( 755) [001] ...1 158018.399912: tracing_mark_write: E 22092 SensorService-1249 ( 1136) [003] ...1 158018.399985: tracing_mark_write: E 22093 SensorService-1249 ( 1136) [003] ...1 158018.400063: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22094 sensors@1.0-se-755 ( 755) [001] ...1 158018.400118: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22095 sensors@1.0-se-755 ( 755) [001] ...1 158018.421095: tracing_mark_write: E 22096 SensorService-1249 ( 1136) [003] ...1 158018.421382: tracing_mark_write: E 22097 SensorService-1249 ( 1136) [003] ...1 158018.421522: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22098 sensors@1.0-se-755 ( 755) [001] ...1 158018.421771: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22099 sensors@1.0-se-755 ( 755) [001] ...1 158018.440204: tracing_mark_write: E 22100 SensorService-1249 ( 1136) [003] ...1 158018.440422: tracing_mark_write: E 22101 SensorService-1249 ( 1136) [003] ...1 158018.440503: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22102 sensors@1.0-se-755 ( 755) [001] ...1 158018.440667: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22103 sensors@1.0-se-755 ( 755) [001] ...1 158018.460972: tracing_mark_write: E 22104 SensorService-1249 ( 1136) [003] ...1 158018.461328: tracing_mark_write: E 22105 SensorService-1249 ( 1136) [003] ...1 158018.461524: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22106 sensors@1.0-se-755 ( 755) [001] ...1 158018.461681: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22107 sensors@1.0-se-755 ( 755) [001] ...1 158018.479742: tracing_mark_write: E 22108 SensorService-1249 ( 1136) [003] ...1 158018.479911: tracing_mark_write: E 22109 SensorService-1249 ( 1136) [003] ...1 158018.480092: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22110 sensors@1.0-se-755 ( 755) [001] ...1 158018.480254: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22111 sensors@1.0-se-755 ( 755) [004] ...1 158018.499740: tracing_mark_write: E 22112 SensorService-1249 ( 1136) [003] ...1 158018.499840: tracing_mark_write: E 22113 SensorService-1249 ( 1136) [003] ...1 158018.499963: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22114 sensors@1.0-se-755 ( 755) [004] ...1 158018.500144: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22115 sensors@1.0-se-755 ( 755) [004] ...1 158018.520286: tracing_mark_write: E 22116 SensorService-1249 ( 1136) [003] ...1 158018.520390: tracing_mark_write: E 22117 SensorService-1249 ( 1136) [003] ...1 158018.520536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22118 sensors@1.0-se-755 ( 755) [004] ...1 158018.520905: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22119 sensors@1.0-se-755 ( 755) [004] ...1 158018.540894: tracing_mark_write: E 22120 SensorService-1249 ( 1136) [003] ...1 158018.540995: tracing_mark_write: E 22121 SensorService-1249 ( 1136) [003] ...1 158018.541128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22122 sensors@1.0-se-755 ( 755) [004] ...1 158018.542639: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22123 sensors@1.0-se-755 ( 755) [004] ...1 158018.561787: tracing_mark_write: E 22124 SensorService-1249 ( 1136) [003] ...1 158018.562077: tracing_mark_write: E 22125 SensorService-1249 ( 1136) [003] ...1 158018.562191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22126 sensors@1.0-se-755 ( 755) [004] ...1 158018.562591: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22127 sensors@1.0-se-755 ( 755) [005] ...1 158018.580471: tracing_mark_write: E 22128 SensorService-1249 ( 1136) [003] ...1 158018.580679: tracing_mark_write: E 22129 SensorService-1249 ( 1136) [003] ...1 158018.581029: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22130 sensors@1.0-se-755 ( 755) [005] ...1 158018.581141: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22131 sensors@1.0-se-755 ( 755) [005] ...1 158018.603012: tracing_mark_write: E 22132 SensorService-1249 ( 1136) [003] ...1 158018.603719: tracing_mark_write: E 22133 SensorService-1249 ( 1136) [003] ...1 158018.604092: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22134 sensors@1.0-se-755 ( 755) [005] ...1 158018.605824: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22135 sensors@1.0-se-755 ( 755) [005] ...1 158018.621936: tracing_mark_write: E 22136 SensorService-1249 ( 1136) [003] ...1 158018.622433: tracing_mark_write: E 22137 SensorService-1249 ( 1136) [003] ...1 158018.622638: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22138 sensors@1.0-se-755 ( 755) [005] ...1 158018.624319: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22139 sensors@1.0-se-755 ( 755) [005] ...1 158018.641883: tracing_mark_write: E 22140 SensorService-1249 ( 1136) [003] ...1 158018.642423: tracing_mark_write: E 22141 SensorService-1249 ( 1136) [003] ...1 158018.642670: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22142 sensors@1.0-se-755 ( 755) [005] ...1 158018.644577: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22143 sensors@1.0-se-755 ( 755) [005] ...1 158018.661999: tracing_mark_write: E 22144 SensorService-1249 ( 1136) [003] ...1 158018.662532: tracing_mark_write: E 22145 SensorService-1249 ( 1136) [003] ...1 158018.662766: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22146 sensors@1.0-se-755 ( 755) [005] ...1 158018.664726: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22147 sensors@1.0-se-755 ( 755) [005] ...1 158018.681678: tracing_mark_write: E 22148 SensorService-1249 ( 1136) [003] ...1 158018.682355: tracing_mark_write: E 22149 SensorService-1249 ( 1136) [003] ...1 158018.682664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22150 sensors@1.0-se-755 ( 755) [005] ...1 158018.682849: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22151 sensors@1.0-se-755 ( 755) [005] ...1 158018.701221: tracing_mark_write: E 22152 SensorService-1249 ( 1136) [003] ...1 158018.701861: tracing_mark_write: E 22153 SensorService-1249 ( 1136) [003] ...1 158018.702254: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22154 sensors@1.0-se-755 ( 755) [005] ...1 158018.702468: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22155 sensors@1.0-se-755 ( 755) [005] ...1 158018.723192: tracing_mark_write: E 22156 SensorService-1249 ( 1136) [003] ...1 158018.725082: tracing_mark_write: E 22157 SensorService-1249 ( 1136) [003] ...1 158018.725421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22158 sensors@1.0-se-755 ( 755) [005] ...1 158018.726324: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22159 sensors@1.0-se-755 ( 755) [005] ...1 158018.740745: tracing_mark_write: E 22160 SensorService-1249 ( 1136) [003] ...1 158018.741021: tracing_mark_write: E 22161 SensorService-1249 ( 1136) [003] ...1 158018.741245: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22162 sensors@1.0-se-755 ( 755) [005] ...1 158018.741530: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22163 sensors@1.0-se-755 ( 755) [004] ...1 158018.761918: tracing_mark_write: E 22164 SensorService-1249 ( 1136) [003] ...1 158018.762127: tracing_mark_write: E 22165 SensorService-1249 ( 1136) [003] ...1 158018.762539: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22166 sensors@1.0-se-755 ( 755) [004] ...1 158018.763055: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22167 sensors@1.0-se-755 ( 755) [004] ...1 158018.780512: tracing_mark_write: E 22168 SensorService-1249 ( 1136) [003] ...1 158018.780806: tracing_mark_write: E 22169 SensorService-1249 ( 1136) [003] ...1 158018.781274: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22170 sensors@1.0-se-755 ( 755) [004] ...1 158018.781500: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22171 sensors@1.0-se-755 ( 755) [004] ...1 158018.802765: tracing_mark_write: E 22172 SensorService-1249 ( 1136) [003] ...1 158018.803253: tracing_mark_write: E 22173 SensorService-1249 ( 1136) [003] ...1 158018.803784: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22174 sensors@1.0-se-755 ( 755) [004] ...1 158018.804544: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22175 sensors@1.0-se-755 ( 755) [004] ...1 158018.822423: tracing_mark_write: E 22176 SensorService-1249 ( 1136) [003] ...1 158018.823128: tracing_mark_write: E 22177 SensorService-1249 ( 1136) [003] ...1 158018.823521: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22178 sensors@1.0-se-755 ( 755) [004] ...1 158018.823825: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22179 sensors@1.0-se-755 ( 755) [004] ...1 158018.842361: tracing_mark_write: E 22180 SensorService-1249 ( 1136) [003] ...1 158018.843181: tracing_mark_write: E 22181 SensorService-1249 ( 1136) [003] ...1 158018.843536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22182 sensors@1.0-se-755 ( 755) [004] ...1 158018.843841: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22183 sensors@1.0-se-755 ( 755) [004] ...1 158018.864656: tracing_mark_write: E 22184 SensorService-1249 ( 1136) [003] ...1 158018.864908: tracing_mark_write: E 22185 SensorService-1249 ( 1136) [003] ...1 158018.865195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22186 sensors@1.0-se-755 ( 755) [004] ...1 158018.865373: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22187 sensors@1.0-se-755 ( 755) [004] ...1 158018.882008: tracing_mark_write: E 22188 SensorService-1249 ( 1136) [003] ...1 158018.882513: tracing_mark_write: E 22189 SensorService-1249 ( 1136) [003] ...1 158018.882814: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22190 sensors@1.0-se-755 ( 755) [004] ...1 158018.883332: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22191 sensors@1.0-se-755 ( 755) [004] ...1 158018.900570: tracing_mark_write: E 22192 SensorService-1249 ( 1136) [003] ...1 158018.900779: tracing_mark_write: E 22193 SensorService-1249 ( 1136) [003] ...1 158018.901149: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22194 sensors@1.0-se-755 ( 755) [004] ...1 158018.901332: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22195 sensors@1.0-se-755 ( 755) [004] ...1 158018.922206: tracing_mark_write: E 22196 SensorService-1249 ( 1136) [003] ...1 158018.922536: tracing_mark_write: E 22197 SensorService-1249 ( 1136) [003] ...1 158018.922844: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22198 sensors@1.0-se-755 ( 755) [004] ...1 158018.923701: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22199 sensors@1.0-se-755 ( 755) [004] ...1 158018.942787: tracing_mark_write: E 22200 SensorService-1249 ( 1136) [003] ...1 158018.943482: tracing_mark_write: E 22201 SensorService-1249 ( 1136) [003] ...1 158018.943881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22202 sensors@1.0-se-755 ( 755) [004] ...1 158018.945537: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22203 sensors@1.0-se-755 ( 755) [004] ...1 158018.962514: tracing_mark_write: E 22204 SensorService-1249 ( 1136) [003] ...1 158018.963115: tracing_mark_write: E 22205 SensorService-1249 ( 1136) [003] ...1 158018.963400: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22206 sensors@1.0-se-755 ( 755) [004] ...1 158018.965305: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22207 sensors@1.0-se-755 ( 755) [004] ...1 158018.982464: tracing_mark_write: E 22208 SensorService-1249 ( 1136) [003] ...1 158018.983038: tracing_mark_write: E 22209 SensorService-1249 ( 1136) [003] ...1 158018.983280: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22210 sensors@1.0-se-755 ( 755) [004] ...1 158018.985357: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22211 sensors@1.0-se-755 ( 755) [004] ...1 158019.002531: tracing_mark_write: E 22212 SensorService-1249 ( 1136) [003] ...1 158019.003097: tracing_mark_write: E 22213 SensorService-1249 ( 1136) [003] ...1 158019.003319: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22214 sensors@1.0-se-755 ( 755) [004] ...1 158019.005400: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22215 sensors@1.0-se-755 ( 755) [004] ...1 158019.021668: tracing_mark_write: E 22216 SensorService-1249 ( 1136) [003] ...1 158019.021938: tracing_mark_write: E 22217 SensorService-1249 ( 1136) [003] ...1 158019.022146: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22218 sensors@1.0-se-755 ( 755) [004] ...1 158019.023350: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22219 sensors@1.0-se-755 ( 755) [004] ...1 158019.041978: tracing_mark_write: E 22220 SensorService-1249 ( 1136) [003] ...1 158019.042213: tracing_mark_write: E 22221 SensorService-1249 ( 1136) [003] ...1 158019.042385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22222 sensors@1.0-se-755 ( 755) [004] ...1 158019.043815: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22223 sensors@1.0-se-755 ( 755) [004] ...1 158019.063312: tracing_mark_write: E 22224 SensorService-1249 ( 1136) [003] ...1 158019.063749: tracing_mark_write: E 22225 SensorService-1249 ( 1136) [003] ...1 158019.064125: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22226 sensors@1.0-se-755 ( 755) [004] ...1 158019.066439: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22227 sensors@1.0-se-755 ( 755) [004] ...1 158019.081138: tracing_mark_write: E 22228 SensorService-1249 ( 1136) [003] ...1 158019.081324: tracing_mark_write: E 22229 SensorService-1249 ( 1136) [003] ...1 158019.081445: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22230 sensors@1.0-se-755 ( 755) [004] ...1 158019.082203: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22231 sensors@1.0-se-755 ( 755) [004] ...1 158019.101486: tracing_mark_write: E 22232 SensorService-1249 ( 1136) [003] ...1 158019.101762: tracing_mark_write: E 22233 SensorService-1249 ( 1136) [003] ...1 158019.101881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22234 sensors@1.0-se-755 ( 755) [004] ...1 158019.102510: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22235 sensors@1.0-se-755 ( 755) [004] ...1 158019.121595: tracing_mark_write: E 22236 SensorService-1249 ( 1136) [003] ...1 158019.121882: tracing_mark_write: E 22237 SensorService-1249 ( 1136) [003] ...1 158019.121997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22238 sensors@1.0-se-755 ( 755) [004] ...1 158019.122612: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22239 sensors@1.0-se-755 ( 755) [004] ...1 158019.141347: tracing_mark_write: E 22240 SensorService-1249 ( 1136) [003] ...1 158019.141913: tracing_mark_write: E 22241 SensorService-1249 ( 1136) [003] ...1 158019.142242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22242 sensors@1.0-se-755 ( 755) [004] ...1 158019.142506: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22243 sensors@1.0-se-755 ( 755) [004] ...1 158019.161291: tracing_mark_write: E 22244 SensorService-1249 ( 1136) [003] ...1 158019.161658: tracing_mark_write: E 22245 SensorService-1249 ( 1136) [003] ...1 158019.161997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22246 sensors@1.0-se-755 ( 755) [004] ...1 158019.162165: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22247 sensors@1.0-se-755 ( 755) [000] ...1 158019.181324: tracing_mark_write: E 22248 SensorService-1249 ( 1136) [003] ...1 158019.181419: tracing_mark_write: E 22249 SensorService-1249 ( 1136) [003] ...1 158019.181532: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22250 sensors@1.0-se-755 ( 755) [000] ...1 158019.181598: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22251 sensors@1.0-se-755 ( 755) [001] ...1 158019.200378: tracing_mark_write: E 22252 SensorService-1249 ( 1136) [003] ...1 158019.200541: tracing_mark_write: E 22253 SensorService-1249 ( 1136) [003] ...1 158019.200694: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22254 sensors@1.0-se-755 ( 755) [001] ...1 158019.200792: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22255 sensors@1.0-se-755 ( 755) [001] ...1 158019.220494: tracing_mark_write: E 22256 SensorService-1249 ( 1136) [003] ...1 158019.220667: tracing_mark_write: E 22257 SensorService-1249 ( 1136) [003] ...1 158019.220758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22258 sensors@1.0-se-755 ( 755) [001] ...1 158019.220813: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22259 android.bg-1155 ( 1136) [006] ...1 158019.222325: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 22260 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222403: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 22261 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222416: tracing_mark_write: E 22262 android.bg-1155 ( 1136) [006] ...1 158019.222458: tracing_mark_write: E 22263 android.bg-1155 ( 1136) [006] ...1 158019.222467: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 22264 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222489: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 22265 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222521: tracing_mark_write: E 22266 android.bg-1155 ( 1136) [006] ...1 158019.222546: tracing_mark_write: E 22267 android.bg-1155 ( 1136) [006] ...1 158019.222551: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 22268 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222571: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 22269 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222587: tracing_mark_write: E 22270 android.bg-1155 ( 1136) [006] ...1 158019.222610: tracing_mark_write: E 22271 android.bg-1155 ( 1136) [006] ...1 158019.222615: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 22272 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222634: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 22273 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222637: tracing_mark_write: E 22274 android.bg-1155 ( 1136) [006] ...1 158019.222658: tracing_mark_write: E 22275 android.bg-1155 ( 1136) [006] ...1 158019.222663: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client 22276 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222681: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server 22277 memtrack@1.0-s-745 ( 745) [006] ...1 158019.222685: tracing_mark_write: E 22278 android.bg-1155 ( 1136) [006] ...1 158019.222704: tracing_mark_write: E 22279 sensors@1.0-se-755 ( 755) [001] ...1 158019.240726: tracing_mark_write: E 22280 SensorService-1249 ( 1136) [003] ...1 158019.240796: tracing_mark_write: E 22281 SensorService-1249 ( 1136) [003] ...1 158019.240906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22282 sensors@1.0-se-755 ( 755) [001] ...1 158019.240959: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22283 sensors@1.0-se-755 ( 755) [000] ...1 158019.260227: tracing_mark_write: E 22284 SensorService-1249 ( 1136) [003] ...1 158019.260301: tracing_mark_write: E 22285 SensorService-1249 ( 1136) [003] ...1 158019.260369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22286 sensors@1.0-se-755 ( 755) [000] ...1 158019.260426: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22287 sensors@1.0-se-755 ( 755) [000] ...1 158019.280623: tracing_mark_write: E 22288 SensorService-1249 ( 1136) [003] ...1 158019.280696: tracing_mark_write: E 22289 SensorService-1249 ( 1136) [003] ...1 158019.280771: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22290 sensors@1.0-se-755 ( 755) [000] ...1 158019.280828: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22291 sensors@1.0-se-755 ( 755) [000] ...1 158019.300802: tracing_mark_write: E 22292 SensorService-1249 ( 1136) [003] ...1 158019.300910: tracing_mark_write: E 22293 SensorService-1249 ( 1136) [003] ...1 158019.300991: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22294 sensors@1.0-se-755 ( 755) [000] ...1 158019.301172: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22295 sensors@1.0-se-755 ( 755) [000] ...1 158019.321198: tracing_mark_write: E 22296 SensorService-1249 ( 1136) [003] ...1 158019.321279: tracing_mark_write: E 22297 SensorService-1249 ( 1136) [003] ...1 158019.321351: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22298 sensors@1.0-se-755 ( 755) [000] ...1 158019.321519: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22299 sensors@1.0-se-755 ( 755) [000] ...1 158019.342401: tracing_mark_write: E 22300 SensorService-1249 ( 1136) [003] ...1 158019.342845: tracing_mark_write: E 22301 SensorService-1249 ( 1136) [003] ...1 158019.343077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22302 sensors@1.0-se-755 ( 755) [000] ...1 158019.343288: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22303 sensors@1.0-se-755 ( 755) [000] ...1 158019.362765: tracing_mark_write: E 22304 SensorService-1249 ( 1136) [003] ...1 158019.363240: tracing_mark_write: E 22305 SensorService-1249 ( 1136) [003] ...1 158019.363481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22306 sensors@1.0-se-755 ( 755) [000] ...1 158019.363912: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22307 sensors@1.0-se-755 ( 755) [000] ...1 158019.383088: tracing_mark_write: E 22308 SensorService-1249 ( 1136) [003] ...1 158019.383845: tracing_mark_write: E 22309 SensorService-1249 ( 1136) [003] ...1 158019.384336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22310 sensors@1.0-se-755 ( 755) [000] ...1 158019.384660: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22311 sensors@1.0-se-755 ( 755) [000] ...1 158019.401821: tracing_mark_write: E 22312 SensorService-1249 ( 1136) [003] ...1 158019.402058: tracing_mark_write: E 22313 SensorService-1249 ( 1136) [003] ...1 158019.402387: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22314 sensors@1.0-se-755 ( 755) [000] ...1 158019.402906: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22315 sensors@1.0-se-755 ( 755) [000] ...1 158019.420733: tracing_mark_write: E 22316 SensorService-1249 ( 1136) [003] ...1 158019.421053: tracing_mark_write: E 22317 SensorService-1249 ( 1136) [003] ...1 158019.421304: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22318 sensors@1.0-se-755 ( 755) [000] ...1 158019.421754: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22319 sensors@1.0-se-755 ( 755) [000] ...1 158019.441688: tracing_mark_write: E 22320 SensorService-1249 ( 1136) [003] ...1 158019.441888: tracing_mark_write: E 22321 SensorService-1249 ( 1136) [003] ...1 158019.442055: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22322 sensors@1.0-se-755 ( 755) [000] ...1 158019.442403: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22323 sensors@1.0-se-755 ( 755) [000] ...1 158019.461810: tracing_mark_write: E 22324 SensorService-1249 ( 1136) [003] ...1 158019.462131: tracing_mark_write: E 22325 SensorService-1249 ( 1136) [003] ...1 158019.462291: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22326 sensors@1.0-se-755 ( 755) [000] ...1 158019.462648: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22327 sensors@1.0-se-755 ( 755) [000] ...1 158019.482125: tracing_mark_write: E 22328 SensorService-1249 ( 1136) [003] ...1 158019.482669: tracing_mark_write: E 22329 SensorService-1249 ( 1136) [003] ...1 158019.482848: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22330 sensors@1.0-se-755 ( 755) [000] ...1 158019.483312: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22331 sensors@1.0-se-755 ( 755) [000] ...1 158019.504422: tracing_mark_write: E 22332 SensorService-1249 ( 1136) [003] ...1 158019.504848: tracing_mark_write: E 22333 SensorService-1249 ( 1136) [003] ...1 158019.505202: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22334 sensors@1.0-se-755 ( 755) [000] ...1 158019.505715: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22335 sensors@1.0-se-755 ( 755) [000] ...1 158019.522863: tracing_mark_write: E 22336 SensorService-1249 ( 1136) [003] ...1 158019.523145: tracing_mark_write: E 22337 SensorService-1249 ( 1136) [003] ...1 158019.523482: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22338 sensors@1.0-se-755 ( 755) [000] ...1 158019.523771: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22339 sensors@1.0-se-755 ( 755) [000] ...1 158019.542301: tracing_mark_write: E 22340 SensorService-1249 ( 1136) [003] ...1 158019.542541: tracing_mark_write: E 22341 SensorService-1249 ( 1136) [003] ...1 158019.542788: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22342 sensors@1.0-se-755 ( 755) [000] ...1 158019.542951: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22343 sensors@1.0-se-755 ( 755) [000] ...1 158019.562994: tracing_mark_write: E 22344 SensorService-1249 ( 1136) [003] ...1 158019.563460: tracing_mark_write: E 22345 SensorService-1249 ( 1136) [003] ...1 158019.563703: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22346 sensors@1.0-se-755 ( 755) [000] ...1 158019.563895: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22347 sensors@1.0-se-755 ( 755) [000] ...1 158019.582349: tracing_mark_write: E 22348 SensorService-1249 ( 1136) [003] ...1 158019.582875: tracing_mark_write: E 22349 SensorService-1249 ( 1136) [003] ...1 158019.583194: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22350 sensors@1.0-se-755 ( 755) [000] ...1 158019.583410: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22351 sensors@1.0-se-755 ( 755) [000] ...1 158019.602347: tracing_mark_write: E 22352 SensorService-1249 ( 1136) [003] ...1 158019.602784: tracing_mark_write: E 22353 SensorService-1249 ( 1136) [003] ...1 158019.602999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22354 sensors@1.0-se-755 ( 755) [000] ...1 158019.603134: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22355 sensors@1.0-se-755 ( 755) [000] ...1 158019.623614: tracing_mark_write: E 22356 SensorService-1249 ( 1136) [003] ...1 158019.623877: tracing_mark_write: E 22357 SensorService-1249 ( 1136) [003] ...1 158019.624091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22358 sensors@1.0-se-755 ( 755) [000] ...1 158019.624195: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22359 sensors@1.0-se-755 ( 755) [000] ...1 158019.644055: tracing_mark_write: E 22360 SensorService-1249 ( 1136) [003] ...1 158019.644565: tracing_mark_write: E 22361 SensorService-1249 ( 1136) [003] ...1 158019.644899: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22362 sensors@1.0-se-755 ( 755) [000] ...1 158019.645181: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22363 sensors@1.0-se-755 ( 755) [003] ...1 158019.663056: tracing_mark_write: E 22364 SensorService-1249 ( 1136) [000] ...1 158019.663680: tracing_mark_write: E 22365 SensorService-1249 ( 1136) [000] ...1 158019.663937: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22366 sensors@1.0-se-755 ( 755) [003] ...1 158019.664071: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22367 sensors@1.0-se-755 ( 755) [003] ...1 158019.682720: tracing_mark_write: E 22368 SensorService-1249 ( 1136) [000] ...1 158019.683144: tracing_mark_write: E 22369 SensorService-1249 ( 1136) [000] ...1 158019.683350: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22370 sensors@1.0-se-755 ( 755) [003] ...1 158019.683454: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22371 sensors@1.0-se-755 ( 755) [003] ...1 158019.703345: tracing_mark_write: E 22372 SensorService-1249 ( 1136) [000] ...1 158019.703699: tracing_mark_write: E 22373 SensorService-1249 ( 1136) [000] ...1 158019.703850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22374 sensors@1.0-se-755 ( 755) [003] ...1 158019.703923: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22375 sensors@1.0-se-755 ( 755) [002] ...1 158019.722611: tracing_mark_write: E 22376 SensorService-1249 ( 1136) [000] ...1 158019.723284: tracing_mark_write: E 22377 SensorService-1249 ( 1136) [000] ...1 158019.723612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22378 HwBinder:755_1-1247 ( 755) [005] ...1 158019.724393: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22379 HwBinder:755_1-1247 ( 755) [000] ...1 158019.743613: tracing_mark_write: E 22380 SensorService-1249 ( 1136) [001] ...1 158019.744293: tracing_mark_write: E 22381 SensorService-1249 ( 1136) [001] ...1 158019.744612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22382 HwBinder:755_1-1247 ( 755) [000] ...1 158019.745151: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22383 HwBinder:755_1-1247 ( 755) [000] ...1 158019.762322: tracing_mark_write: E 22384 SensorService-1249 ( 1136) [001] ...1 158019.762730: tracing_mark_write: E 22385 SensorService-1249 ( 1136) [001] ...1 158019.762937: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22386 HwBinder:755_1-1247 ( 755) [000] ...1 158019.763280: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22387 HwBinder:755_1-1247 ( 755) [000] ...1 158019.782658: tracing_mark_write: E 22388 SensorService-1249 ( 1136) [001] ...1 158019.783389: tracing_mark_write: E 22389 SensorService-1249 ( 1136) [001] ...1 158019.783782: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22390 HwBinder:755_1-1247 ( 755) [000] ...1 158019.784314: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22391 HwBinder:755_1-1247 ( 755) [001] ...1 158019.802424: tracing_mark_write: E 22392 SensorService-1249 ( 1136) [002] ...1 158019.802702: tracing_mark_write: E 22393 SensorService-1249 ( 1136) [002] ...1 158019.802817: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22394 HwBinder:755_1-1247 ( 755) [001] ...1 158019.803049: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22395 HwBinder:755_1-1247 ( 755) [000] ...1 158019.823121: tracing_mark_write: E 22396 SensorService-1249 ( 1136) [002] ...1 158019.823842: tracing_mark_write: E 22397 SensorService-1249 ( 1136) [002] ...1 158019.824045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22398 HwBinder:755_1-1247 ( 755) [000] ...1 158019.824140: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22399 HwBinder:755_1-1247 ( 755) [000] ...1 158019.844303: tracing_mark_write: E 22400 SensorService-1249 ( 1136) [002] ...1 158019.844976: tracing_mark_write: E 22401 SensorService-1249 ( 1136) [002] ...1 158019.845298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22402 HwBinder:755_1-1247 ( 755) [000] ...1 158019.845827: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22403 HwBinder:755_1-1247 ( 755) [000] ...1 158019.864319: tracing_mark_write: E 22404 SensorService-1249 ( 1136) [001] ...1 158019.865065: tracing_mark_write: E 22405 SensorService-1249 ( 1136) [001] ...1 158019.865452: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22406 HwBinder:755_1-1247 ( 755) [000] ...1 158019.866051: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22407 HwBinder:755_1-1247 ( 755) [000] ...1 158019.883882: tracing_mark_write: E 22408 SensorService-1249 ( 1136) [001] ...1 158019.884601: tracing_mark_write: E 22409 SensorService-1249 ( 1136) [001] ...1 158019.884989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22410 HwBinder:755_1-1247 ( 755) [000] ...1 158019.885244: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22411 HwBinder:755_1-1247 ( 755) [000] ...1 158019.904452: tracing_mark_write: E 22412 SensorService-1249 ( 1136) [001] ...1 158019.905256: tracing_mark_write: E 22413 SensorService-1249 ( 1136) [001] ...1 158019.905681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22414 HwBinder:755_1-1247 ( 755) [000] ...1 158019.906365: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22415 HwBinder:755_1-1247 ( 755) [000] ...1 158019.924663: tracing_mark_write: E 22416 SensorService-1249 ( 1136) [001] ...1 158019.925356: tracing_mark_write: E 22417 SensorService-1249 ( 1136) [001] ...1 158019.925758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22418 HwBinder:755_1-1247 ( 755) [000] ...1 158019.926010: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22419 HwBinder:755_1-1247 ( 755) [000] ...1 158019.942891: tracing_mark_write: E 22420 SensorService-1249 ( 1136) [001] ...1 158019.943481: tracing_mark_write: E 22421 SensorService-1249 ( 1136) [001] ...1 158019.943793: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22422 HwBinder:755_1-1247 ( 755) [000] ...1 158019.944321: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22423 HwBinder:755_1-1247 ( 755) [000] ...1 158019.964021: tracing_mark_write: E 22424 SensorService-1249 ( 1136) [001] ...1 158019.964627: tracing_mark_write: E 22425 SensorService-1249 ( 1136) [001] ...1 158019.965003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22426 HwBinder:755_1-1247 ( 755) [002] ...1 158019.965688: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22427 HwBinder:755_1-1247 ( 755) [000] ...1 158019.986543: tracing_mark_write: E 22428 SensorService-1249 ( 1136) [001] ...1 158019.987483: tracing_mark_write: E 22429 SensorService-1249 ( 1136) [001] ...1 158019.988155: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22430 HwBinder:755_1-1247 ( 755) [000] ...1 158019.988846: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22431 HwBinder:755_1-1247 ( 755) [001] ...1 158020.003468: tracing_mark_write: E 22432 SensorService-1249 ( 1136) [002] ...1 158020.004396: tracing_mark_write: E 22433 SensorService-1249 ( 1136) [002] ...1 158020.004850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22434 HwBinder:755_1-1247 ( 755) [001] ...1 158020.005159: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22435 HwBinder:755_1-1247 ( 755) [001] ...1 158020.023839: tracing_mark_write: E 22436 SensorService-1249 ( 1136) [002] ...1 158020.024635: tracing_mark_write: E 22437 SensorService-1249 ( 1136) [002] ...1 158020.025130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22438 HwBinder:755_1-1247 ( 755) [001] ...1 158020.025978: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22439 HwBinder:755_1-1247 ( 755) [000] ...1 158020.042680: tracing_mark_write: E 22440 SensorService-1249 ( 1136) [002] ...1 158020.043222: tracing_mark_write: E 22441 SensorService-1249 ( 1136) [002] ...1 158020.043495: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22442 HwBinder:755_1-1247 ( 755) [000] ...1 158020.043999: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22443 HwBinder:755_1-1247 ( 755) [000] ...1 158020.062542: tracing_mark_write: E 22444 SensorService-1249 ( 1136) [002] ...1 158020.063008: tracing_mark_write: E 22445 SensorService-1249 ( 1136) [002] ...1 158020.063218: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22446 HwBinder:755_1-1247 ( 755) [000] ...1 158020.063618: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22447 HwBinder:755_1-1247 ( 755) [000] ...1 158020.084398: tracing_mark_write: E 22448 SensorService-1249 ( 1136) [002] ...1 158020.084811: tracing_mark_write: E 22449 SensorService-1249 ( 1136) [002] ...1 158020.085189: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22450 HwBinder:755_1-1247 ( 755) [000] ...1 158020.085790: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22451 HwBinder:755_1-1247 ( 755) [000] ...1 158020.107395: tracing_mark_write: E 22452 SensorService-1249 ( 1136) [002] ...1 158020.108239: tracing_mark_write: E 22453 SensorService-1249 ( 1136) [002] ...1 158020.108627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22454 HwBinder:755_1-1247 ( 755) [000] ...1 158020.108897: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22455 HwBinder:755_1-1247 ( 755) [000] ...1 158020.127724: tracing_mark_write: E 22456 SensorService-1249 ( 1136) [002] ...1 158020.128438: tracing_mark_write: E 22457 SensorService-1249 ( 1136) [002] ...1 158020.128823: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22458 HwBinder:755_1-1247 ( 755) [000] ...1 158020.129423: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22459 HwBinder:755_1-1247 ( 755) [000] ...1 158020.146391: tracing_mark_write: E 22460 SensorService-1249 ( 1136) [002] ...1 158020.147106: tracing_mark_write: E 22461 SensorService-1249 ( 1136) [002] ...1 158020.147481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22462 HwBinder:755_1-1247 ( 755) [000] ...1 158020.148172: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22463 HwBinder:755_1-1247 ( 755) [000] ...1 158020.166753: tracing_mark_write: E 22464 SensorService-1249 ( 1136) [002] ...1 158020.167798: tracing_mark_write: E 22465 SensorService-1249 ( 1136) [002] ...1 158020.168353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22466 HwBinder:755_1-1247 ( 755) [000] ...1 158020.169041: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22467 HwBinder:755_1-1247 ( 755) [000] ...1 158020.186692: tracing_mark_write: E 22468 SensorService-1249 ( 1136) [002] ...1 158020.187668: tracing_mark_write: E 22469 SensorService-1249 ( 1136) [002] ...1 158020.188150: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22470 HwBinder:755_1-1247 ( 755) [000] ...1 158020.188886: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22471 HwBinder:755_1-1247 ( 755) [000] ...1 158020.204016: tracing_mark_write: E 22472 SensorService-1249 ( 1136) [002] ...1 158020.204876: tracing_mark_write: E 22473 SensorService-1249 ( 1136) [002] ...1 158020.205382: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22474 HwBinder:755_1-1247 ( 755) [000] ...1 158020.206100: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22475 HwBinder:755_1-1247 ( 755) [000] ...1 158020.222846: tracing_mark_write: E 22476 SensorService-1249 ( 1136) [002] ...1 158020.223414: tracing_mark_write: E 22477 SensorService-1249 ( 1136) [002] ...1 158020.223701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22478 HwBinder:755_1-1247 ( 755) [000] ...1 158020.224186: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22479 HwBinder:755_1-1247 ( 755) [000] ...1 158020.242312: tracing_mark_write: E 22480 SensorService-1249 ( 1136) [002] ...1 158020.242524: tracing_mark_write: E 22481 SensorService-1249 ( 1136) [002] ...1 158020.242741: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22482 HwBinder:755_1-1247 ( 755) [000] ...1 158020.243071: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22483 HwBinder:755_1-1247 ( 755) [001] ...1 158020.262176: tracing_mark_write: E 22484 SensorService-1249 ( 1136) [002] ...1 158020.262531: tracing_mark_write: E 22485 SensorService-1249 ( 1136) [002] ...1 158020.262719: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22486 HwBinder:755_1-1247 ( 755) [001] ...1 158020.263005: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22487 HwBinder:755_1-1247 ( 755) [001] ...1 158020.283858: tracing_mark_write: E 22488 SensorService-1249 ( 1136) [002] ...1 158020.284515: tracing_mark_write: E 22489 SensorService-1249 ( 1136) [002] ...1 158020.284898: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22490 HwBinder:755_1-1247 ( 755) [001] ...1 158020.285079: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22491 HwBinder:755_1-1247 ( 755) [000] ...1 158020.301712: tracing_mark_write: E 22492 SensorService-1249 ( 1136) [002] ...1 158020.301812: tracing_mark_write: E 22493 SensorService-1249 ( 1136) [002] ...1 158020.301938: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22494 HwBinder:755_1-1247 ( 755) [000] ...1 158020.302004: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22495 HwBinder:755_1-1247 ( 755) [000] ...1 158020.322199: tracing_mark_write: E 22496 SensorService-1249 ( 1136) [002] ...1 158020.322505: tracing_mark_write: E 22497 SensorService-1249 ( 1136) [002] ...1 158020.322654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22498 HwBinder:755_1-1247 ( 755) [000] ...1 158020.322906: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22499 HwBinder:755_1-1247 ( 755) [000] ...1 158020.343841: tracing_mark_write: E 22500 SensorService-1249 ( 1136) [002] ...1 158020.344376: tracing_mark_write: E 22501 SensorService-1249 ( 1136) [002] ...1 158020.344712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22502 HwBinder:755_1-1247 ( 755) [000] ...1 158020.344945: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22503 HwBinder:755_1-1247 ( 755) [000] ...1 158020.364136: tracing_mark_write: E 22504 SensorService-1249 ( 1136) [002] ...1 158020.364773: tracing_mark_write: E 22505 SensorService-1249 ( 1136) [002] ...1 158020.365078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22506 HwBinder:755_1-1247 ( 755) [000] ...1 158020.365571: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22507 HwBinder:755_1-1247 ( 755) [000] ...1 158020.384593: tracing_mark_write: E 22508 SensorService-1249 ( 1136) [002] ...1 158020.385142: tracing_mark_write: E 22509 SensorService-1249 ( 1136) [002] ...1 158020.385443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22510 HwBinder:755_1-1247 ( 755) [000] ...1 158020.385938: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22511 HwBinder:755_1-1247 ( 755) [000] ...1 158020.404193: tracing_mark_write: E 22512 SensorService-1249 ( 1136) [002] ...1 158020.404608: tracing_mark_write: E 22513 SensorService-1249 ( 1136) [002] ...1 158020.404914: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22514 HwBinder:755_1-1247 ( 755) [000] ...1 158020.405140: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22515 HwBinder:755_1-1247 ( 755) [000] ...1 158020.423400: tracing_mark_write: E 22516 SensorService-1249 ( 1136) [002] ...1 158020.423828: tracing_mark_write: E 22517 SensorService-1249 ( 1136) [002] ...1 158020.424016: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22518 HwBinder:755_1-1247 ( 755) [000] ...1 158020.424476: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22519 HwBinder:755_1-1247 ( 755) [000] ...1 158020.443126: tracing_mark_write: E 22520 SensorService-1249 ( 1136) [002] ...1 158020.443308: tracing_mark_write: E 22521 SensorService-1249 ( 1136) [002] ...1 158020.443507: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22522 HwBinder:755_1-1247 ( 755) [000] ...1 158020.443972: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22523 HwBinder:755_1-1247 ( 755) [000] ...1 158020.463186: tracing_mark_write: E 22524 SensorService-1249 ( 1136) [002] ...1 158020.463624: tracing_mark_write: E 22525 SensorService-1249 ( 1136) [002] ...1 158020.463813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22526 HwBinder:755_1-1247 ( 755) [000] ...1 158020.464371: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22527 HwBinder:755_1-1247 ( 755) [000] ...1 158020.483293: tracing_mark_write: E 22528 SensorService-1249 ( 1136) [002] ...1 158020.483575: tracing_mark_write: E 22529 SensorService-1249 ( 1136) [002] ...1 158020.483860: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22530 HwBinder:755_1-1247 ( 755) [000] ...1 158020.484084: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22531 HwBinder:755_1-1247 ( 755) [000] ...1 158020.502942: tracing_mark_write: E 22532 SensorService-1249 ( 1136) [002] ...1 158020.503185: tracing_mark_write: E 22533 SensorService-1249 ( 1136) [002] ...1 158020.503431: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22534 HwBinder:755_1-1247 ( 755) [000] ...1 158020.503858: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22535 HwBinder:755_1-1247 ( 755) [000] ...1 158020.523228: tracing_mark_write: E 22536 SensorService-1249 ( 1136) [002] ...1 158020.523466: tracing_mark_write: E 22537 SensorService-1249 ( 1136) [002] ...1 158020.523691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22538 HwBinder:755_1-1247 ( 755) [000] ...1 158020.524141: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22539 HwBinder:755_1-1247 ( 755) [000] ...1 158020.543649: tracing_mark_write: E 22540 SensorService-1249 ( 1136) [002] ...1 158020.544155: tracing_mark_write: E 22541 SensorService-1249 ( 1136) [002] ...1 158020.544464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22542 HwBinder:755_1-1247 ( 755) [000] ...1 158020.544699: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22543 HwBinder:755_1-1247 ( 755) [000] ...1 158020.563299: tracing_mark_write: E 22544 SensorService-1249 ( 1136) [002] ...1 158020.563760: tracing_mark_write: E 22545 SensorService-1249 ( 1136) [002] ...1 158020.563999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22546 HwBinder:755_1-1247 ( 755) [000] ...1 158020.564479: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22547 HwBinder:755_1-1247 ( 755) [000] ...1 158020.583696: tracing_mark_write: E 22548 SensorService-1249 ( 1136) [002] ...1 158020.583983: tracing_mark_write: E 22549 SensorService-1249 ( 1136) [002] ...1 158020.584417: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22550 HwBinder:755_1-1247 ( 755) [001] ...1 158020.584905: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22551 HwBinder:755_1-1247 ( 755) [000] ...1 158020.602854: tracing_mark_write: E 22552 SensorService-1249 ( 1136) [002] ...1 158020.602996: tracing_mark_write: E 22553 SensorService-1249 ( 1136) [002] ...1 158020.603156: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22554 HwBinder:755_1-1247 ( 755) [000] ...1 158020.603414: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22555 HwBinder:755_1-1247 ( 755) [000] ...1 158020.622111: tracing_mark_write: E 22556 SensorService-1249 ( 1136) [002] ...1 158020.622229: tracing_mark_write: E 22557 SensorService-1249 ( 1136) [002] ...1 158020.622342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22558 HwBinder:755_1-1247 ( 755) [000] ...1 158020.622574: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22559 HwBinder:755_1-1247 ( 755) [002] ...1 158020.643009: tracing_mark_write: E 22560 SensorService-1249 ( 1136) [000] ...1 158020.643223: tracing_mark_write: E 22561 SensorService-1249 ( 1136) [000] ...1 158020.643432: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22562 HwBinder:755_1-1247 ( 755) [002] ...1 158020.643533: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22563 HwBinder:755_1-1247 ( 755) [001] ...1 158020.665503: tracing_mark_write: E 22564 SensorService-1249 ( 1136) [000] ...1 158020.665898: tracing_mark_write: E 22565 SensorService-1249 ( 1136) [000] ...1 158020.666229: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22566 HwBinder:755_1-1247 ( 755) [001] ...1 158020.666827: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22567 HwBinder:755_1-1247 ( 755) [001] ...1 158020.684140: tracing_mark_write: E 22568 SensorService-1249 ( 1136) [000] ...1 158020.684984: tracing_mark_write: E 22569 SensorService-1249 ( 1136) [000] ...1 158020.685474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22570 HwBinder:755_1-1247 ( 755) [001] ...1 158020.686156: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22571 HwBinder:755_1-1247 ( 755) [001] ...1 158020.703454: tracing_mark_write: E 22572 SensorService-1249 ( 1136) [000] ...1 158020.703901: tracing_mark_write: E 22573 SensorService-1249 ( 1136) [000] ...1 158020.704177: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22574 HwBinder:755_1-1247 ( 755) [001] ...1 158020.704671: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22575 HwBinder:755_1-1247 ( 755) [001] ...1 158020.722540: tracing_mark_write: E 22576 SensorService-1249 ( 1136) [000] ...1 158020.722975: tracing_mark_write: E 22577 SensorService-1249 ( 1136) [000] ...1 158020.723198: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22578 HwBinder:755_1-1247 ( 755) [001] ...1 158020.723684: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22579 HwBinder:755_1-1247 ( 755) [001] ...1 158020.743849: tracing_mark_write: E 22580 SensorService-1249 ( 1136) [000] ...1 158020.744377: tracing_mark_write: E 22581 SensorService-1249 ( 1136) [000] ...1 158020.744597: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22582 HwBinder:755_1-1247 ( 755) [001] ...1 158020.744806: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22583 HwBinder:755_1-1247 ( 755) [001] ...1 158020.763993: tracing_mark_write: E 22584 SensorService-1249 ( 1136) [000] ...1 158020.764359: tracing_mark_write: E 22585 SensorService-1249 ( 1136) [000] ...1 158020.764612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22586 HwBinder:755_1-1247 ( 755) [001] ...1 158020.765101: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22587 HwBinder:755_1-1247 ( 755) [001] ...1 158020.783725: tracing_mark_write: E 22588 SensorService-1249 ( 1136) [000] ...1 158020.784096: tracing_mark_write: E 22589 SensorService-1249 ( 1136) [000] ...1 158020.784402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22590 HwBinder:755_1-1247 ( 755) [001] ...1 158020.784822: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22591 HwBinder:755_1-1247 ( 755) [001] ...1 158020.803428: tracing_mark_write: E 22592 SensorService-1249 ( 1136) [000] ...1 158020.803964: tracing_mark_write: E 22593 SensorService-1249 ( 1136) [000] ...1 158020.804341: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22594 HwBinder:755_1-1247 ( 755) [001] ...1 158020.804577: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22595 HwBinder:755_1-1247 ( 755) [001] ...1 158020.824842: tracing_mark_write: E 22596 SensorService-1249 ( 1136) [000] ...1 158020.825183: tracing_mark_write: E 22597 SensorService-1249 ( 1136) [000] ...1 158020.825484: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22598 HwBinder:755_1-1247 ( 755) [001] ...1 158020.825976: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22599 HwBinder:755_1-1247 ( 755) [001] ...1 158020.844724: tracing_mark_write: E 22600 SensorService-1249 ( 1136) [000] ...1 158020.844994: tracing_mark_write: E 22601 SensorService-1249 ( 1136) [000] ...1 158020.845269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22602 HwBinder:755_1-1247 ( 755) [001] ...1 158020.845747: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22603 HwBinder:755_1-1247 ( 755) [001] ...1 158020.864009: tracing_mark_write: E 22604 SensorService-1249 ( 1136) [000] ...1 158020.864443: tracing_mark_write: E 22605 SensorService-1249 ( 1136) [000] ...1 158020.864656: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22606 HwBinder:755_1-1247 ( 755) [001] ...1 158020.865075: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22607 HwBinder:755_1-1247 ( 755) [002] ...1 158020.884684: tracing_mark_write: E 22608 SensorService-1249 ( 1136) [000] ...1 158020.884924: tracing_mark_write: E 22609 SensorService-1249 ( 1136) [000] ...1 158020.885465: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22610 HwBinder:755_1-1247 ( 755) [002] ...1 158020.886100: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22611 HwBinder:755_1-1247 ( 755) [001] ...1 158020.902693: tracing_mark_write: E 22612 SensorService-1249 ( 1136) [000] ...1 158020.902957: tracing_mark_write: E 22613 SensorService-1249 ( 1136) [000] ...1 158020.903281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22614 HwBinder:755_1-1247 ( 755) [001] ...1 158020.903512: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22615 HwBinder:755_1-1247 ( 755) [000] ...1 158020.922669: tracing_mark_write: E 22616 SensorService-1249 ( 1136) [001] ...1 158020.922841: tracing_mark_write: E 22617 SensorService-1249 ( 1136) [001] ...1 158020.923044: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22618 HwBinder:755_1-1247 ( 755) [000] ...1 158020.923185: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22619 Binder:1136_9-1633 ( 1136) [007] ...1 158020.941946: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 22620 Binder:1136_9-1633 ( 1136) [007] ...1 158020.942059: tracing_mark_write: E 22621 power@1.1-serv-754 ( 754) [001] ...1 158020.942244: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 22622 power@1.1-serv-754 ( 754) [001] ...1 158020.942926: tracing_mark_write: B|754|launch 22623 Binder:610_5-2158 ( 610) [007] ...1 158020.944876: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client 22624 HwBinder:612_3-11297 ( 612) [007] ...1 158020.945096: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server 22625 HwBinder:612_3-11297 ( 612) [007] ...1 158020.945118: tracing_mark_write: E 22626 Binder:610_5-2158 ( 610) [007] ...1 158020.945165: tracing_mark_write: E 22627 EventControl-682 ( 610) [002] ...1 158020.945398: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 22628 HwBinder:612_3-11297 ( 612) [002] ...1 158020.945712: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 22629 HwBinder:612_3-11297 ( 612) [002] ...1 158020.945749: tracing_mark_write: C|612|SetVsyncState |1 22630 Binder:1136_B-2329 ( 1136) [007] ...1 158020.945766: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 22631 HwBinder:612_3-11297 ( 612) [002] ...1 158020.945793: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 22632 Binder:1136_B-2329 ( 1136) [007] ...1 158020.945804: tracing_mark_write: E 22633 power@1.1-serv-754 ( 754) [001] ...1 158020.947601: tracing_mark_write: C|754|launch_lock|1 22634 power@1.1-serv-754 ( 754) [001] ...1 158020.947616: tracing_mark_write: E 22635 power@1.1-serv-754 ( 754) [001] ...1 158020.947630: tracing_mark_write: E 22636 power@1.1-serv-754 ( 754) [001] ...1 158020.947819: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 22637 power@1.1-serv-754 ( 754) [001] ...1 158020.948074: tracing_mark_write: E 22638 HwBinder:612_3-11297 ( 612) [005] ...1 158020.948696: tracing_mark_write: E 22639 HwBinder:612_3-11297 ( 612) [005] ...1 158020.948716: tracing_mark_write: E 22640 EventControl-682 ( 610) [000] ...1 158020.949041: tracing_mark_write: E 22641 HwBinder:755_1-1247 ( 755) [005] ...1 158020.949190: tracing_mark_write: E 22642 SensorService-1249 ( 1136) [001] ...1 158020.949435: tracing_mark_write: E 22643 SensorService-1249 ( 1136) [001] ...1 158020.949692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22644 HwBinder:755_1-1247 ( 755) [005] ...1 158020.950106: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22645 surfaceflinger-610 ( 610) [000] ...1 158020.950952: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22646 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951356: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22647 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951422: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22648 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951430: tracing_mark_write: E 22649 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951433: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 22650 SDM_EventThrea-643 ( 612) [001] ...1 158020.951490: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 22651 SDM_EventThrea-643 ( 612) [001] ...1 158020.951501: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 22652 SDM_EventThrea-643 ( 612) [001] ...1 158020.951578: tracing_mark_write: E 22653 SDM_EventThrea-643 ( 612) [001] ...1 158020.951585: tracing_mark_write: E 22654 HwBinder:610_1-626 ( 610) [002] ...1 158020.951609: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 22655 HwBinder:610_1-626 ( 610) [002] ...1 158020.951639: tracing_mark_write: E 22656 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951722: tracing_mark_write: B|612|HWDevice::Validate:: 22657 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951801: tracing_mark_write: E 22658 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951817: tracing_mark_write: E 22659 HwBinder:612_3-11297 ( 612) [005] ...1 158020.951837: tracing_mark_write: E 22660 surfaceflinger-610 ( 610) [000] ...1 158020.951907: tracing_mark_write: E 22661 surfaceflinger-610 ( 610) [000] ...1 158020.952016: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22662 HwBinder:612_3-11297 ( 612) [005] ...1 158020.952065: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22663 HwBinder:612_3-11297 ( 612) [005] ...1 158020.952072: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22664 HwBinder:612_3-11297 ( 612) [005] ...1 158020.952082: tracing_mark_write: B|612|HWDevice::Commit:: 22665 HwBinder:612_3-11297 ( 612) [005] ...1 158020.952141: tracing_mark_write: E 22666 HwBinder:612_3-11297 ( 612) [005] ...1 158020.952156: tracing_mark_write: E 22667 HwBinder:612_3-11297 ( 612) [005] ...1 158020.952170: tracing_mark_write: E 22668 surfaceflinger-610 ( 610) [000] ...1 158020.952222: tracing_mark_write: E 22669 Binder:1136_9-1633 ( 1136) [001] ...1 158020.955602: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 22670 Binder:1136_9-1633 ( 1136) [001] ...1 158020.955662: tracing_mark_write: E 22671 power@1.1-serv-754 ( 754) [001] ...1 158020.955730: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 22672 power@1.1-serv-754 ( 754) [001] ...1 158020.955822: tracing_mark_write: E 22673 HwBinder:755_1-1247 ( 755) [000] ...1 158020.961895: tracing_mark_write: E 22674 SensorService-1249 ( 1136) [001] ...1 158020.961964: tracing_mark_write: E 22675 SensorService-1249 ( 1136) [001] ...1 158020.962048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22676 HwBinder:755_1-1247 ( 755) [000] ...1 158020.962098: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22677 SDM_EventThrea-643 ( 612) [002] ...1 158020.966874: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 22678 SDM_EventThrea-643 ( 612) [002] ...1 158020.966884: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 22679 SDM_EventThrea-643 ( 612) [002] ...1 158020.966925: tracing_mark_write: E 22680 SDM_EventThrea-643 ( 612) [002] ...1 158020.966932: tracing_mark_write: E 22681 HwBinder:610_1-626 ( 610) [003] ...1 158020.966955: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 22682 HwBinder:610_1-626 ( 610) [003] ...1 158020.966970: tracing_mark_write: E 22683 surfaceflinger-610 ( 610) [000] ...1 158020.970267: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client 22684 HwBinder:612_3-11297 ( 612) [005] ...1 158020.970342: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server 22685 HwBinder:612_3-11297 ( 612) [005] ...1 158020.970353: tracing_mark_write: E 22686 surfaceflinger-610 ( 610) [000] ...1 158020.970383: tracing_mark_write: E 22687 surfaceflinger-610 ( 610) [000] ...1 158020.973053: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22688 HwBinder:612_3-11297 ( 612) [005] ...1 158020.973147: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22689 HwBinder:612_3-11297 ( 612) [005] ...1 158020.973192: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22690 HwBinder:612_3-11297 ( 612) [005] ...1 158020.973207: tracing_mark_write: B|612|HWDevice::Commit:: 22691 HwBinder:612_3-11297 ( 612) [005] ...1 158020.973265: tracing_mark_write: E 22692 HwBinder:612_3-11297 ( 612) [005] ...1 158020.973281: tracing_mark_write: E 22693 HwBinder:612_3-11297 ( 612) [005] ...1 158020.973299: tracing_mark_write: E 22694 surfaceflinger-610 ( 610) [000] ...1 158020.973349: tracing_mark_write: E 22695 HwBinder:755_1-1247 ( 755) [001] ...1 158020.982043: tracing_mark_write: E 22696 SensorService-1249 ( 1136) [000] ...1 158020.982120: tracing_mark_write: E 22697 SensorService-1249 ( 1136) [000] ...1 158020.982190: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22698 HwBinder:755_1-1247 ( 755) [001] ...1 158020.982243: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22699 SDM_EventThrea-643 ( 612) [002] ...1 158020.983701: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 22700 SDM_EventThrea-643 ( 612) [002] ...1 158020.983750: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 22701 SDM_EventThrea-643 ( 612) [002] ...1 158020.983844: tracing_mark_write: E 22702 SDM_EventThrea-643 ( 612) [002] ...1 158020.983851: tracing_mark_write: E 22703 HwBinder:610_1-626 ( 610) [003] ...1 158020.983854: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 22704 HwBinder:610_1-626 ( 610) [003] ...1 158020.983868: tracing_mark_write: E 22705 Binder:610_4-1720 ( 610) [007] ...1 158020.985728: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 22706 Binder:610_4-1720 ( 610) [007] ...1 158020.985736: tracing_mark_write: E 22707 Binder:610_4-1720 ( 610) [007] ...1 158020.985746: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 22708 allocator@2.0--614 ( 614) [004] ...1 158020.985836: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 22709 allocator@2.0--614 ( 614) [004] ...1 158020.985862: tracing_mark_write: B|614|AllocBuffer 22710 allocator@2.0--614 ( 614) [004] ...1 158020.985890: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840 22711 allocator@2.0--614 ( 614) [004] ...1 158020.988813: tracing_mark_write: E 22712 allocator@2.0--614 ( 614) [004] ...1 158020.988819: tracing_mark_write: B|614|ION_IOC_MAP 22713 allocator@2.0--614 ( 614) [004] ...1 158020.988828: tracing_mark_write: E 22714 allocator@2.0--614 ( 614) [004] ...1 158020.988831: tracing_mark_write: E 22715 allocator@2.0--614 ( 614) [004] ...1 158020.988834: tracing_mark_write: B|614|AllocBuffer 22716 allocator@2.0--614 ( 614) [004] ...1 158020.988839: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 22717 allocator@2.0--614 ( 614) [004] ...1 158020.988845: tracing_mark_write: E 22718 allocator@2.0--614 ( 614) [004] ...1 158020.988847: tracing_mark_write: B|614|ION_IOC_MAP 22719 allocator@2.0--614 ( 614) [004] ...1 158020.988850: tracing_mark_write: E 22720 allocator@2.0--614 ( 614) [004] ...1 158020.988851: tracing_mark_write: E 22721 allocator@2.0--614 ( 614) [004] ...1 158020.988883: tracing_mark_write: E 22722 allocator@2.0--614 ( 614) [004] ...1 158020.988947: tracing_mark_write: B|614|FreeBuffer 22723 allocator@2.0--614 ( 614) [004] ...1 158020.988952: tracing_mark_write: E 22724 allocator@2.0--614 ( 614) [004] ...1 158020.988953: tracing_mark_write: B|614|FreeBuffer 22725 allocator@2.0--614 ( 614) [004] ...1 158020.988954: tracing_mark_write: B|614|UnmapBuffer 22726 allocator@2.0--614 ( 614) [004] ...1 158020.988960: tracing_mark_write: E 22727 Binder:610_4-1720 ( 610) [006] ...1 158020.988964: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 22728 allocator@2.0--614 ( 614) [004] ...1 158020.988964: tracing_mark_write: E 22729 Binder:610_4-1720 ( 610) [006] ...1 158020.989005: tracing_mark_write: E 22730 Binder:610_4-1720 ( 610) [006] ...1 158020.989009: tracing_mark_write: E 22731 android.anim-1244 ( 1136) [007] ...1 158020.989169: tracing_mark_write: B|1136|HIDL::IMapper::importBuffer::passthrough 22732 android.anim-1244 ( 1136) [007] ...1 158020.989200: tracing_mark_write: E 22733 android.anim-1244 ( 1136) [007] ...1 158020.989232: tracing_mark_write: B|1136|HIDL::IMapper::lock::passthrough 22734 android.anim-1244 ( 1136) [007] ...1 158020.989236: tracing_mark_write: B|1136|LockBuffer 22735 android.anim-1244 ( 1136) [007] ...1 158020.989239: tracing_mark_write: B|1136|MapBuffer 22736 android.anim-1244 ( 1136) [007] ...1 158020.989274: tracing_mark_write: E 22737 android.anim-1244 ( 1136) [007] ...1 158020.989276: tracing_mark_write: B|1136|CleanBuffer 22738 android.anim-1244 ( 1136) [007] ...1 158020.989279: tracing_mark_write: C|1136|operation id|2 22739 surfaceflinger-610 ( 610) [000] ...1 158020.989629: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22740 HwBinder:612_3-11297 ( 612) [005] ...1 158020.989791: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22741 HwBinder:612_3-11297 ( 612) [005] ...1 158020.989895: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22742 HwBinder:612_3-11297 ( 612) [005] ...1 158020.989927: tracing_mark_write: B|612|HWDevice::Commit:: 22743 HwBinder:612_3-11297 ( 612) [005] ...1 158020.990053: tracing_mark_write: E 22744 HwBinder:612_3-11297 ( 612) [005] ...1 158020.990085: tracing_mark_write: E 22745 HwBinder:612_3-11297 ( 612) [005] ...1 158020.990122: tracing_mark_write: E 22746 surfaceflinger-610 ( 610) [000] ...1 158020.990187: tracing_mark_write: E 22747 android.anim-1244 ( 1136) [007] ...1 158020.991338: tracing_mark_write: E 22748 android.anim-1244 ( 1136) [007] ...1 158020.991340: tracing_mark_write: E 22749 android.anim-1244 ( 1136) [007] ...1 158020.991344: tracing_mark_write: E 22750 android.anim-1244 ( 1136) [007] ...1 158020.996862: tracing_mark_write: B|1136|HIDL::IMapper::unlock::passthrough 22751 android.anim-1244 ( 1136) [007] ...1 158020.996875: tracing_mark_write: B|1136|CleanBuffer 22752 android.anim-1244 ( 1136) [007] ...1 158020.996877: tracing_mark_write: C|1136|operation id|1 22753 android.anim-1244 ( 1136) [007] ...1 158020.998531: tracing_mark_write: E 22754 android.anim-1244 ( 1136) [007] ...1 158020.998535: tracing_mark_write: E 22755 SDM_EventThrea-643 ( 612) [002] ...1 158021.000330: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 22756 SDM_EventThrea-643 ( 612) [002] ...1 158021.000340: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 22757 SDM_EventThrea-643 ( 612) [002] ...1 158021.000384: tracing_mark_write: E 22758 SDM_EventThrea-643 ( 612) [002] ...1 158021.000391: tracing_mark_write: E 22759 HwBinder:610_1-626 ( 610) [003] ...1 158021.000406: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 22760 HwBinder:610_1-626 ( 610) [003] ...1 158021.000419: tracing_mark_write: E 22761 HwBinder:755_1-1247 ( 755) [001] ...1 158021.001869: tracing_mark_write: E 22762 SensorService-1249 ( 1136) [000] ...1 158021.001925: tracing_mark_write: E 22763 SensorService-1249 ( 1136) [000] ...1 158021.001985: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22764 HwBinder:755_1-1247 ( 755) [001] ...1 158021.002030: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22765 RenderThread-4957 ( 4896) [003] ...1 158021.002747: tracing_mark_write: B|4896|HIDL::IMapper::freeBuffer::passthrough 22766 RenderThread-4957 ( 4896) [003] ...1 158021.002766: tracing_mark_write: B|4896|FreeBuffer 22767 RenderThread-4957 ( 4896) [003] ...1 158021.002788: tracing_mark_write: E 22768 RenderThread-4957 ( 4896) [003] ...1 158021.002791: tracing_mark_write: B|4896|FreeBuffer 22769 RenderThread-4957 ( 4896) [003] ...1 158021.002797: tracing_mark_write: E 22770 RenderThread-4957 ( 4896) [003] ...1 158021.002803: tracing_mark_write: E 22771 Binder:610_5-2158 ( 610) [006] ...1 158021.002878: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 22772 Binder:610_5-2158 ( 610) [006] ...1 158021.002891: tracing_mark_write: B|610|FreeBuffer 22773 Binder:610_5-2158 ( 610) [006] ...1 158021.002914: tracing_mark_write: E 22774 Binder:610_5-2158 ( 610) [006] ...1 158021.002916: tracing_mark_write: B|610|FreeBuffer 22775 Binder:610_5-2158 ( 610) [006] ...1 158021.002921: tracing_mark_write: E 22776 Binder:610_5-2158 ( 610) [006] ...1 158021.002924: tracing_mark_write: E 22777 Binder:610_5-2158 ( 610) [006] ...1 158021.002931: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 22778 Binder:610_5-2158 ( 610) [006] ...1 158021.002934: tracing_mark_write: B|610|FreeBuffer 22779 Binder:610_5-2158 ( 610) [006] ...1 158021.002941: tracing_mark_write: E 22780 Binder:610_5-2158 ( 610) [006] ...1 158021.002942: tracing_mark_write: B|610|FreeBuffer 22781 Binder:610_5-2158 ( 610) [006] ...1 158021.002947: tracing_mark_write: E 22782 Binder:610_5-2158 ( 610) [006] ...1 158021.002948: tracing_mark_write: E 22783 surfaceflinger-610 ( 610) [000] ...1 158021.006663: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22784 android.anim-1244 ( 1136) [005] ...1 158021.006687: tracing_mark_write: B|1136|HIDL::IMapper::createDescriptor::passthrough 22785 android.anim-1244 ( 1136) [005] ...1 158021.006693: tracing_mark_write: E 22786 android.anim-1244 ( 1136) [005] ...1 158021.006705: tracing_mark_write: B|1136|HIDL::IAllocator::allocate::client 22787 HwBinder:612_3-11297 ( 612) [005] ...1 158021.006757: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22788 HwBinder:612_3-11297 ( 612) [005] ...1 158021.006799: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22789 HwBinder:612_3-11297 ( 612) [005] ...1 158021.006813: tracing_mark_write: B|612|HWDevice::Commit:: 22790 HwBinder:612_3-11297 ( 612) [005] ...1 158021.006870: tracing_mark_write: E 22791 HwBinder:612_3-11297 ( 612) [005] ...1 158021.006885: tracing_mark_write: E 22792 HwBinder:612_3-11297 ( 612) [005] ...1 158021.006903: tracing_mark_write: E 22793 surfaceflinger-610 ( 610) [000] ...1 158021.006956: tracing_mark_write: E 22794 allocator@2.0--614 ( 614) [004] ...1 158021.007002: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 22795 allocator@2.0--614 ( 614) [004] ...1 158021.007021: tracing_mark_write: B|614|AllocBuffer 22796 allocator@2.0--614 ( 614) [004] ...1 158021.007027: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840 22797 allocator@2.0--614 ( 614) [004] ...1 158021.007095: tracing_mark_write: E 22798 allocator@2.0--614 ( 614) [004] ...1 158021.007096: tracing_mark_write: B|614|ION_IOC_MAP 22799 allocator@2.0--614 ( 614) [004] ...1 158021.007104: tracing_mark_write: E 22800 allocator@2.0--614 ( 614) [004] ...1 158021.007105: tracing_mark_write: E 22801 allocator@2.0--614 ( 614) [004] ...1 158021.007107: tracing_mark_write: B|614|AllocBuffer 22802 allocator@2.0--614 ( 614) [004] ...1 158021.007109: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 22803 allocator@2.0--614 ( 614) [004] ...1 158021.007112: tracing_mark_write: E 22804 allocator@2.0--614 ( 614) [004] ...1 158021.007114: tracing_mark_write: B|614|ION_IOC_MAP 22805 allocator@2.0--614 ( 614) [004] ...1 158021.007117: tracing_mark_write: E 22806 allocator@2.0--614 ( 614) [004] ...1 158021.007117: tracing_mark_write: E 22807 allocator@2.0--614 ( 614) [004] ...1 158021.007141: tracing_mark_write: E 22808 allocator@2.0--614 ( 614) [004] ...1 158021.007165: tracing_mark_write: B|614|FreeBuffer 22809 allocator@2.0--614 ( 614) [004] ...1 158021.007169: tracing_mark_write: E 22810 allocator@2.0--614 ( 614) [004] ...1 158021.007170: tracing_mark_write: B|614|FreeBuffer 22811 allocator@2.0--614 ( 614) [004] ...1 158021.007171: tracing_mark_write: B|614|UnmapBuffer 22812 android.anim-1244 ( 1136) [005] ...1 158021.007173: tracing_mark_write: B|1136|HIDL::IMapper::importBuffer::passthrough 22813 allocator@2.0--614 ( 614) [004] ...1 158021.007179: tracing_mark_write: E 22814 allocator@2.0--614 ( 614) [004] ...1 158021.007181: tracing_mark_write: E 22815 android.anim-1244 ( 1136) [005] ...1 158021.007190: tracing_mark_write: E 22816 android.anim-1244 ( 1136) [005] ...1 158021.007192: tracing_mark_write: E 22817 Binder:610_4-1720 ( 610) [006] ...1 158021.007281: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 22818 Binder:610_4-1720 ( 610) [006] ...1 158021.007295: tracing_mark_write: E 22819 surfaceflinger-610 ( 610) [000] ...1 158021.007727: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 22820 surfaceflinger-610 ( 610) [000] ...1 158021.007738: tracing_mark_write: B|610|FreeBuffer 22821 surfaceflinger-610 ( 610) [000] ...1 158021.007748: tracing_mark_write: E 22822 surfaceflinger-610 ( 610) [000] ...1 158021.007750: tracing_mark_write: B|610|FreeBuffer 22823 surfaceflinger-610 ( 610) [000] ...1 158021.007772: tracing_mark_write: E 22824 surfaceflinger-610 ( 610) [000] ...1 158021.007776: tracing_mark_write: E 22825 surfaceflinger-610 ( 610) [000] ...1 158021.014723: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client 22826 HwBinder:612_3-11297 ( 612) [005] ...1 158021.014792: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server 22827 HwBinder:612_3-11297 ( 612) [005] ...1 158021.014799: tracing_mark_write: E 22828 surfaceflinger-610 ( 610) [000] ...1 158021.014831: tracing_mark_write: E 22829 SDM_EventThrea-643 ( 612) [002] ...1 158021.017070: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 22830 SDM_EventThrea-643 ( 612) [002] ...1 158021.017079: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 22831 SDM_EventThrea-643 ( 612) [002] ...1 158021.017117: tracing_mark_write: E 22832 SDM_EventThrea-643 ( 612) [002] ...1 158021.017123: tracing_mark_write: E 22833 HwBinder:610_1-626 ( 610) [000] ...1 158021.017141: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 22834 HwBinder:610_1-626 ( 610) [000] ...1 158021.017152: tracing_mark_write: E 22835 HwBinder:755_1-1247 ( 755) [000] ...1 158021.021922: tracing_mark_write: E 22836 SensorService-1249 ( 1136) [001] ...1 158021.021981: tracing_mark_write: E 22837 SensorService-1249 ( 1136) [001] ...1 158021.022051: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 22838 HwBinder:755_1-1247 ( 755) [000] ...1 158021.022095: tracing_mark_write: B|755|HIDL::ISensors::poll::server 22839 surfaceflinger-610 ( 610) [000] ...1 158021.023057: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22840 HwBinder:612_3-11297 ( 612) [005] ...1 158021.023112: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22841 HwBinder:612_3-11297 ( 612) [005] ...1 158021.023141: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22842 HwBinder:612_3-11297 ( 612) [005] ...1 158021.023150: tracing_mark_write: B|612|HWDevice::Commit:: 22843 HwBinder:612_3-11297 ( 612) [005] ...1 158021.023197: tracing_mark_write: E 22844 HwBinder:612_3-11297 ( 612) [005] ...1 158021.023209: tracing_mark_write: E 22845 HwBinder:612_3-11297 ( 612) [005] ...1 158021.023221: tracing_mark_write: E 22846 surfaceflinger-610 ( 610) [000] ...1 158021.023269: tracing_mark_write: E 22847 Binder:610_4-1720 ( 610) [001] ...1 158021.024967: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 22848 Binder:610_4-1720 ( 610) [001] ...1 158021.024973: tracing_mark_write: E 22849 Binder:610_4-1720 ( 610) [001] ...1 158021.024986: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 22850 allocator@2.0--614 ( 614) [001] ...1 158021.025060: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 22851 allocator@2.0--614 ( 614) [001] ...1 158021.025083: tracing_mark_write: B|614|AllocBuffer 22852 allocator@2.0--614 ( 614) [001] ...1 158021.025091: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840 22853 allocator@2.0--614 ( 614) [001] ...1 158021.025242: tracing_mark_write: E 22854 allocator@2.0--614 ( 614) [001] ...1 158021.025246: tracing_mark_write: B|614|ION_IOC_MAP 22855 allocator@2.0--614 ( 614) [001] ...1 158021.025260: tracing_mark_write: E 22856 allocator@2.0--614 ( 614) [001] ...1 158021.025263: tracing_mark_write: E 22857 allocator@2.0--614 ( 614) [001] ...1 158021.025266: tracing_mark_write: B|614|AllocBuffer 22858 allocator@2.0--614 ( 614) [001] ...1 158021.025271: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 22859 allocator@2.0--614 ( 614) [001] ...1 158021.025278: tracing_mark_write: E 22860 allocator@2.0--614 ( 614) [001] ...1 158021.025281: tracing_mark_write: B|614|ION_IOC_MAP 22861 allocator@2.0--614 ( 614) [001] ...1 158021.025287: tracing_mark_write: E 22862 allocator@2.0--614 ( 614) [001] ...1 158021.025289: tracing_mark_write: E 22863 allocator@2.0--614 ( 614) [001] ...1 158021.025326: tracing_mark_write: E 22864 Binder:610_4-1720 ( 610) [001] ...1 158021.025376: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 22865 Binder:610_4-1720 ( 610) [001] ...1 158021.025399: tracing_mark_write: E 22866 Binder:610_4-1720 ( 610) [001] ...1 158021.025403: tracing_mark_write: E 22867 Binder:610_4-1720 ( 610) [001] ...1 158021.025433: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 22868 Binder:610_4-1720 ( 610) [001] ...1 158021.025436: tracing_mark_write: E 22869 Binder:610_4-1720 ( 610) [001] ...1 158021.025442: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 22870 HwBinder:614_1-982 ( 614) [001] ...1 158021.025507: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 22871<...>-10541 ( 1341) [006] ...1 158021.025507: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough 22872 Binder:1341_5-21891 ( 1341) [003] ...1 158021.025513: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough 22873 HwBinder:614_1-982 ( 614) [001] ...1 158021.025524: tracing_mark_write: B|614|AllocBuffer 22874 HwBinder:614_1-982 ( 614) [001] ...1 158021.025529: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840 22875<...>-10541 ( 1341) [006] ...1 158021.025554: tracing_mark_write: E 22876 Binder:1341_5-21891 ( 1341) [003] ...1 158021.025579: tracing_mark_write: E 22877 HwBinder:614_1-982 ( 614) [001] ...1 158021.026041: tracing_mark_write: E 22878 HwBinder:614_1-982 ( 614) [001] ...1 158021.026046: tracing_mark_write: B|614|ION_IOC_MAP 22879 HwBinder:614_1-982 ( 614) [001] ...1 158021.026057: tracing_mark_write: E 22880 HwBinder:614_1-982 ( 614) [001] ...1 158021.026061: tracing_mark_write: E 22881 HwBinder:614_1-982 ( 614) [001] ...1 158021.026065: tracing_mark_write: B|614|AllocBuffer 22882 HwBinder:614_1-982 ( 614) [001] ...1 158021.026071: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 22883 HwBinder:614_1-982 ( 614) [001] ...1 158021.026078: tracing_mark_write: E 22884 HwBinder:614_1-982 ( 614) [001] ...1 158021.026080: tracing_mark_write: B|614|ION_IOC_MAP 22885 HwBinder:614_1-982 ( 614) [001] ...1 158021.026085: tracing_mark_write: E 22886 HwBinder:614_1-982 ( 614) [001] ...1 158021.026087: tracing_mark_write: E 22887 HwBinder:614_1-982 ( 614) [001] ...1 158021.026121: tracing_mark_write: E 22888 HwBinder:614_1-982 ( 614) [001] ...1 158021.026160: tracing_mark_write: B|614|FreeBuffer 22889 HwBinder:614_1-982 ( 614) [001] ...1 158021.026166: tracing_mark_write: E 22890 HwBinder:614_1-982 ( 614) [001] ...1 158021.026169: tracing_mark_write: B|614|FreeBuffer 22891 HwBinder:614_1-982 ( 614) [001] ...1 158021.026172: tracing_mark_write: B|614|UnmapBuffer 22892 HwBinder:614_1-982 ( 614) [001] ...1 158021.026182: tracing_mark_write: E 22893 HwBinder:614_1-982 ( 614) [001] ...1 158021.026185: tracing_mark_write: E 22894 Binder:610_4-1720 ( 610) [001] ...1 158021.026230: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 22895 Binder:610_4-1720 ( 610) [001] ...1 158021.026251: tracing_mark_write: E 22896 Binder:610_4-1720 ( 610) [001] ...1 158021.026254: tracing_mark_write: E 22897 Binder:610_4-1720 ( 610) [001] ...1 158021.026280: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 22898 Binder:610_4-1720 ( 610) [001] ...1 158021.026283: tracing_mark_write: E 22899 Binder:610_4-1720 ( 610) [001] ...1 158021.026290: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 22900 HwBinder:614_1-982 ( 614) [001] ...1 158021.026336: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 22901 HwBinder:614_1-982 ( 614) [001] ...1 158021.026349: tracing_mark_write: B|614|AllocBuffer 22902 HwBinder:614_1-982 ( 614) [001] ...1 158021.026353: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840 22903 HwBinder:614_1-982 ( 614) [001] ...1 158021.028109: tracing_mark_write: E 22904 HwBinder:614_1-982 ( 614) [001] ...1 158021.028113: tracing_mark_write: B|614|ION_IOC_MAP 22905 HwBinder:614_1-982 ( 614) [001] ...1 158021.028121: tracing_mark_write: E 22906 HwBinder:614_1-982 ( 614) [001] ...1 158021.028123: tracing_mark_write: E 22907 HwBinder:614_1-982 ( 614) [001] ...1 158021.028126: tracing_mark_write: B|614|AllocBuffer 22908 HwBinder:614_1-982 ( 614) [001] ...1 158021.028130: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 22909 HwBinder:614_1-982 ( 614) [000] ...1 158021.028185: tracing_mark_write: E 22910 HwBinder:614_1-982 ( 614) [000] ...1 158021.028191: tracing_mark_write: B|614|ION_IOC_MAP 22911 HwBinder:614_1-982 ( 614) [000] ...1 158021.028200: tracing_mark_write: E 22912 HwBinder:614_1-982 ( 614) [000] ...1 158021.028202: tracing_mark_write: E 22913 Binder:1341_2-1361 ( 1341) [001] ...1 158021.028231: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough 22914 HwBinder:614_1-982 ( 614) [000] ...1 158021.028236: tracing_mark_write: E 22915 Binder:1341_2-1361 ( 1341) [001] ...1 158021.028250: tracing_mark_write: E 22916 Binder:610_4-1720 ( 610) [000] ...1 158021.028279: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 22917 Binder:610_4-1720 ( 610) [000] ...1 158021.028301: tracing_mark_write: E 22918 Binder:610_4-1720 ( 610) [000] ...1 158021.028304: tracing_mark_write: E 22919 allocator@2.0--614 ( 614) [001] ...1 158021.028305: tracing_mark_write: B|614|FreeBuffer 22920 allocator@2.0--614 ( 614) [001] ...1 158021.028311: tracing_mark_write: E 22921 allocator@2.0--614 ( 614) [001] ...1 158021.028313: tracing_mark_write: B|614|FreeBuffer 22922 allocator@2.0--614 ( 614) [001] ...1 158021.028316: tracing_mark_write: B|614|UnmapBuffer 22923 allocator@2.0--614 ( 614) [001] ...1 158021.028323: tracing_mark_write: E 22924 allocator@2.0--614 ( 614) [001] ...1 158021.028327: tracing_mark_write: E 22925 HwBinder:614_1-982 ( 614) [000] ...1 158021.028374: tracing_mark_write: B|614|FreeBuffer 22926 HwBinder:614_1-982 ( 614) [000] ...1 158021.028379: tracing_mark_write: E 22927 HwBinder:614_1-982 ( 614) [000] ...1 158021.028382: tracing_mark_write: B|614|FreeBuffer 22928 HwBinder:614_1-982 ( 614) [000] ...1 158021.028384: tracing_mark_write: B|614|UnmapBuffer 22929 HwBinder:614_1-982 ( 614) [000] ...1 158021.028392: tracing_mark_write: E 22930 HwBinder:614_1-982 ( 614) [000] ...1 158021.028397: tracing_mark_write: E 22931 RenderThread-13553 (13531) [004] ...1 158021.030603: tracing_mark_write: B|13531|HIDL::IServiceManager::getTransport::client 22932 hwservicemanag-584 ( 584) [003] ...1 158021.030756: tracing_mark_write: B|584|HIDL::IServiceManager::getTransport::server 22933 hwservicemanag-584 ( 584) [003] ...1 158021.031181: tracing_mark_write: E 22934 RenderThread-13553 (13531) [003] ...1 158021.031273: tracing_mark_write: E 22935 RenderThread-13553 (13531) [003] ...1 158021.031301: tracing_mark_write: B|13531|HIDL::IServiceManager::get::client 22936 hwservicemanag-584 ( 584) [003] ...1 158021.031359: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 22937 hwservicemanag-584 ( 584) [003] ...1 158021.031499: tracing_mark_write: E 22938 RenderThread-13553 (13531) [003] ...1 158021.031683: tracing_mark_write: E 22939 RenderThread-13553 (13531) [003] ...1 158021.031701: tracing_mark_write: B|13531|HIDL::IBase::interfaceChain::client 22940 configstore@1.-13242 (13242) [003] ...1 158021.031931: tracing_mark_write: B|13242|HIDL::IBase::interfaceChain::server 22941 configstore@1.-13242 (13242) [003] ...1 158021.031951: tracing_mark_write: E 22942 RenderThread-13553 (13531) [003] ...1 158021.032015: tracing_mark_write: E 22943 RenderThread-13553 (13531) [003] ...1 158021.032074: tracing_mark_write: B|13531|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::client 22944 configstore@1.-13242 (13242) [003] ...1 158021.032116: tracing_mark_write: B|13242|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::server 22945 configstore@1.-13242 (13242) [003] ...1 158021.032125: tracing_mark_write: E 22946 RenderThread-13553 (13531) [003] ...1 158021.032161: tracing_mark_write: E 22947 SDM_EventThrea-643 ( 612) [002] ...1 158021.033812: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 22948 SDM_EventThrea-643 ( 612) [002] ...1 158021.033822: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 22949 SDM_EventThrea-643 ( 612) [002] ...1 158021.033862: tracing_mark_write: E 22950 SDM_EventThrea-643 ( 612) [002] ...1 158021.033870: tracing_mark_write: E 22951 HwBinder:610_1-626 ( 610) [000] ...1 158021.033892: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 22952 HwBinder:610_1-626 ( 610) [000] ...1 158021.033937: tracing_mark_write: E 22953 EventControl-682 ( 610) [002] ...1 158021.033953: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 22954 HwBinder:612_3-11297 ( 612) [002] ...1 158021.034029: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 22955 HwBinder:612_3-11297 ( 612) [002] ...1 158021.034036: tracing_mark_write: C|612|SetVsyncState |0 22956 HwBinder:612_3-11297 ( 612) [002] ...1 158021.034045: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 22957 HwBinder:612_3-11297 ( 612) [002] ...1 158021.034061: tracing_mark_write: E 22958 HwBinder:612_3-11297 ( 612) [002] ...1 158021.034068: tracing_mark_write: E 22959 EventControl-682 ( 610) [002] ...1 158021.034089: tracing_mark_write: E 22960 Binder:610_3-978 ( 610) [005] ...1 158021.036888: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 22961 Binder:610_3-978 ( 610) [005] ...1 158021.036902: tracing_mark_write: B|610|FreeBuffer 22962 Binder:610_3-978 ( 610) [005] ...1 158021.036926: tracing_mark_write: E 22963 Binder:610_3-978 ( 610) [005] ...1 158021.036927: tracing_mark_write: B|610|FreeBuffer 22964 Binder:610_3-978 ( 610) [005] ...1 158021.036934: tracing_mark_write: E 22965 Binder:610_3-978 ( 610) [005] ...1 158021.036940: tracing_mark_write: E 22966 Binder:610_3-978 ( 610) [005] ...1 158021.036948: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 22967 Binder:610_3-978 ( 610) [005] ...1 158021.036950: tracing_mark_write: E 22968 Binder:610_3-978 ( 610) [005] ...1 158021.036958: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 22969 HwBinder:614_1-982 ( 614) [005] ...1 158021.037026: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 22970 HwBinder:614_1-982 ( 614) [005] ...1 158021.037045: tracing_mark_write: B|614|AllocBuffer 22971 HwBinder:614_1-982 ( 614) [005] ...1 158021.037052: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8417280 22972 surfaceflinger-610 ( 610) [000] ...1 158021.040234: tracing_mark_write: B|610|HIDL::IComposerClient::createLayer::client 22973 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040326: tracing_mark_write: B|612|HIDL::IComposerClient::createLayer::server 22974 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040358: tracing_mark_write: E 22975 surfaceflinger-610 ( 610) [000] ...1 158021.040390: tracing_mark_write: E 22976 surfaceflinger-610 ( 610) [000] ...1 158021.040477: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 22977 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040533: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 22978 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040596: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 22979 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040603: tracing_mark_write: E 22980 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040608: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 22981 HwBinder:614_1-982 ( 614) [005] ...1 158021.040821: tracing_mark_write: E 22982 HwBinder:614_1-982 ( 614) [005] ...1 158021.040829: tracing_mark_write: B|614|ION_IOC_MAP 22983 HwBinder:614_1-982 ( 614) [005] ...1 158021.040839: tracing_mark_write: E 22984 HwBinder:614_1-982 ( 614) [005] ...1 158021.040842: tracing_mark_write: E 22985 HwBinder:614_1-982 ( 614) [005] ...1 158021.040844: tracing_mark_write: B|614|AllocBuffer 22986 HwBinder:614_1-982 ( 614) [005] ...1 158021.040849: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 22987 HwBinder:614_1-982 ( 614) [005] ...1 158021.040886: tracing_mark_write: E 22988 HwBinder:614_1-982 ( 614) [005] ...1 158021.040888: tracing_mark_write: B|614|ION_IOC_MAP 22989 HwBinder:614_1-982 ( 614) [005] ...1 158021.040892: tracing_mark_write: E 22990 HwBinder:614_1-982 ( 614) [005] ...1 158021.040893: tracing_mark_write: E 22991 HwBinder:612_3-11297 ( 612) [002] ...1 158021.040924: tracing_mark_write: B|612|HWDevice::Validate:: 22992 HwBinder:614_1-982 ( 614) [005] ...1 158021.040928: tracing_mark_write: E 22993 Binder:610_3-978 ( 610) [005] ...1 158021.040968: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 22994 Binder:610_3-978 ( 610) [005] ...1 158021.040986: tracing_mark_write: E 22995 Binder:610_3-978 ( 610) [005] ...1 158021.040990: tracing_mark_write: E 22996 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041030: tracing_mark_write: E 22997 HwBinder:614_1-982 ( 614) [005] ...1 158021.041044: tracing_mark_write: B|614|FreeBuffer 22998 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041045: tracing_mark_write: E 22999 HwBinder:614_1-982 ( 614) [005] ...1 158021.041048: tracing_mark_write: E 23000 HwBinder:614_1-982 ( 614) [005] ...1 158021.041049: tracing_mark_write: B|614|FreeBuffer 23001 HwBinder:614_1-982 ( 614) [005] ...1 158021.041050: tracing_mark_write: B|614|UnmapBuffer 23002 HwBinder:614_1-982 ( 614) [005] ...1 158021.041061: tracing_mark_write: E 23003 HwBinder:614_1-982 ( 614) [005] ...1 158021.041063: tracing_mark_write: E 23004 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041064: tracing_mark_write: E 23005 surfaceflinger-610 ( 610) [000] ...1 158021.041140: tracing_mark_write: E 23006 RenderThread-13553 (13531) [005] ...1 158021.041219: tracing_mark_write: B|13531|HIDL::IServiceManager::getTransport::client 23007 surfaceflinger-610 ( 610) [000] ...1 158021.041231: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23008 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041271: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23009 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041282: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23010 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041294: tracing_mark_write: B|612|HWDevice::Commit:: 23011 hwservicemanag-584 ( 584) [003] ...1 158021.041311: tracing_mark_write: B|584|HIDL::IServiceManager::getTransport::server 23012 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041366: tracing_mark_write: E 23013 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041383: tracing_mark_write: E 23014 HwBinder:612_3-11297 ( 612) [002] ...1 158021.041402: tracing_mark_write: E 23015 surfaceflinger-610 ( 610) [000] ...1 158021.041444: tracing_mark_write: E 23016 HwBinder:755_1-1247 ( 755) [000] ...1 158021.042100: tracing_mark_write: E 23017 SensorService-1249 ( 1136) [001] ...1 158021.042177: tracing_mark_write: E 23018 hwservicemanag-584 ( 584) [003] ...1 158021.042271: tracing_mark_write: E 23019 SensorService-1249 ( 1136) [001] ...1 158021.042286: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23020 HwBinder:755_1-1247 ( 755) [000] ...1 158021.042334: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23021 RenderThread-13553 (13531) [003] ...1 158021.044262: tracing_mark_write: E 23022 RenderThread-13553 (13531) [003] ...1 158021.045351: tracing_mark_write: B|13531|HIDL::IServiceManager::registerPassthroughClient::client 23023 hwservicemanag-584 ( 584) [001] ...1 158021.045434: tracing_mark_write: B|584|HIDL::IServiceManager::registerPassthroughClient::server 23024 hwservicemanag-584 ( 584) [001] ...1 158021.045640: tracing_mark_write: E 23025 RenderThread-13553 (13531) [007] ...1 158021.045683: tracing_mark_write: E 23026 RenderThread-13553 (13531) [006] ...1 158021.045897: tracing_mark_write: B|13531|HIDL::IMapper::importBuffer::passthrough 23027 RenderThread-13553 (13531) [006] ...1 158021.045928: tracing_mark_write: E 23028 surfaceflinger-610 ( 610) [000] ...1 158021.057064: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23029 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057183: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23030 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057254: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23031 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057261: tracing_mark_write: E 23032 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057266: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23033 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057573: tracing_mark_write: B|612|HWDevice::Validate:: 23034 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057647: tracing_mark_write: E 23035 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057664: tracing_mark_write: E 23036 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057686: tracing_mark_write: E 23037 surfaceflinger-610 ( 610) [000] ...1 158021.057753: tracing_mark_write: E 23038 surfaceflinger-610 ( 610) [000] ...1 158021.057831: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23039 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057877: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23040 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057889: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23041 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057901: tracing_mark_write: B|612|HWDevice::Commit:: 23042 HwBinder:612_3-11297 ( 612) [002] ...1 158021.057982: tracing_mark_write: E 23043 HwBinder:612_3-11297 ( 612) [002] ...1 158021.058001: tracing_mark_write: E 23044 HwBinder:612_3-11297 ( 612) [002] ...1 158021.058026: tracing_mark_write: E 23045 surfaceflinger-610 ( 610) [000] ...1 158021.058074: tracing_mark_write: E 23046 HwBinder:755_1-1247 ( 755) [000] ...1 158021.062432: tracing_mark_write: E 23047 SensorService-1249 ( 1136) [001] ...1 158021.062506: tracing_mark_write: E 23048 SensorService-1249 ( 1136) [001] ...1 158021.062588: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23049 HwBinder:755_1-1247 ( 755) [000] ...1 158021.062642: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23050 Binder:1341_5-21891 ( 1341) [001] ...1 158021.068465: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough 23051 Binder:1341_5-21891 ( 1341) [001] ...1 158021.068502: tracing_mark_write: E 23052 surfaceflinger-610 ( 610) [000] ...1 158021.073848: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23053 HwBinder:612_3-11297 ( 612) [002] ...1 158021.073970: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23054 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074047: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23055 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074056: tracing_mark_write: E 23056 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074063: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23057 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074427: tracing_mark_write: B|612|HWDevice::Validate:: 23058 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074509: tracing_mark_write: E 23059 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074526: tracing_mark_write: E 23060 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074549: tracing_mark_write: E 23061 surfaceflinger-610 ( 610) [000] ...1 158021.074619: tracing_mark_write: E 23062 surfaceflinger-610 ( 610) [000] ...1 158021.074698: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23063 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074753: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23064 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074764: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23065 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074776: tracing_mark_write: B|612|HWDevice::Commit:: 23066 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074865: tracing_mark_write: E 23067 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074882: tracing_mark_write: E 23068 HwBinder:612_3-11297 ( 612) [002] ...1 158021.074906: tracing_mark_write: E 23069 surfaceflinger-610 ( 610) [000] ...1 158021.074946: tracing_mark_write: E 23070 HwBinder:755_1-1247 ( 755) [000] ...1 158021.082006: tracing_mark_write: E 23071 SensorService-1249 ( 1136) [001] ...1 158021.082092: tracing_mark_write: E 23072 SensorService-1249 ( 1136) [001] ...1 158021.082176: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23073 HwBinder:755_1-1247 ( 755) [000] ...1 158021.082246: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23074 Binder:610_4-1720 ( 610) [005] ...1 158021.088760: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 23075 Binder:610_4-1720 ( 610) [005] ...1 158021.088785: tracing_mark_write: B|610|FreeBuffer 23076 Binder:610_4-1720 ( 610) [005] ...1 158021.089484: tracing_mark_write: E 23077 Binder:610_4-1720 ( 610) [005] ...1 158021.089492: tracing_mark_write: B|610|FreeBuffer 23078 Binder:610_4-1720 ( 610) [005] ...1 158021.089502: tracing_mark_write: E 23079 Binder:610_4-1720 ( 610) [005] ...1 158021.089845: tracing_mark_write: E 23080 Binder:1136_1-1152 ( 1136) [007] ...1 158021.090220: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23081 Binder:1136_1-1152 ( 1136) [007] ...1 158021.090258: tracing_mark_write: E 23082 power@1.1-serv-754 ( 754) [004] ...1 158021.090286: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23083 power@1.1-serv-754 ( 754) [004] ...1 158021.090395: tracing_mark_write: B|754|launch 23084 power@1.1-serv-754 ( 754) [004] ...1 158021.090427: tracing_mark_write: C|754|launch_lock|0 23085 power@1.1-serv-754 ( 754) [004] ...1 158021.090428: tracing_mark_write: E 23086 power@1.1-serv-754 ( 754) [004] ...1 158021.090429: tracing_mark_write: E 23087 Binder:610_4-1720 ( 610) [005] ...1 158021.090630: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 23088 Binder:610_4-1720 ( 610) [005] ...1 158021.090636: tracing_mark_write: E 23089 Binder:610_4-1720 ( 610) [005] ...1 158021.090646: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 23090 HwBinder:614_1-982 ( 614) [005] ...1 158021.090720: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 23091 HwBinder:614_1-982 ( 614) [005] ...1 158021.090753: tracing_mark_write: B|614|AllocBuffer 23092 HwBinder:614_1-982 ( 614) [005] ...1 158021.090761: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8417280 23093 HwBinder:614_1-982 ( 614) [005] ...1 158021.090831: tracing_mark_write: E 23094 HwBinder:614_1-982 ( 614) [005] ...1 158021.090832: tracing_mark_write: B|614|ION_IOC_MAP 23095 HwBinder:614_1-982 ( 614) [005] ...1 158021.090840: tracing_mark_write: E 23096 HwBinder:614_1-982 ( 614) [005] ...1 158021.090842: tracing_mark_write: E 23097 HwBinder:614_1-982 ( 614) [005] ...1 158021.090844: tracing_mark_write: B|614|AllocBuffer 23098 HwBinder:614_1-982 ( 614) [005] ...1 158021.090846: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 23099 HwBinder:614_1-982 ( 614) [005] ...1 158021.090850: tracing_mark_write: E 23100 HwBinder:614_1-982 ( 614) [005] ...1 158021.090851: tracing_mark_write: B|614|ION_IOC_MAP 23101 HwBinder:614_1-982 ( 614) [005] ...1 158021.090854: tracing_mark_write: E 23102 HwBinder:614_1-982 ( 614) [005] ...1 158021.090855: tracing_mark_write: E 23103 HwBinder:614_1-982 ( 614) [005] ...1 158021.090899: tracing_mark_write: E 23104 HwBinder:614_1-982 ( 614) [005] ...1 158021.090925: tracing_mark_write: B|614|FreeBuffer 23105 HwBinder:614_1-982 ( 614) [005] ...1 158021.090930: tracing_mark_write: E 23106 HwBinder:614_1-982 ( 614) [005] ...1 158021.090932: tracing_mark_write: B|614|FreeBuffer 23107 HwBinder:614_1-982 ( 614) [005] ...1 158021.090933: tracing_mark_write: B|614|UnmapBuffer 23108 HwBinder:614_1-982 ( 614) [005] ...1 158021.090938: tracing_mark_write: E 23109 HwBinder:614_1-982 ( 614) [005] ...1 158021.090941: tracing_mark_write: E 23110 Binder:610_4-1720 ( 610) [005] ...1 158021.090968: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 23111 Binder:610_4-1720 ( 610) [005] ...1 158021.090988: tracing_mark_write: E 23112 Binder:610_4-1720 ( 610) [005] ...1 158021.090991: tracing_mark_write: E 23113 surfaceflinger-610 ( 610) [000] ...1 158021.091920: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23114 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092036: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23115 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092122: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23116 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092130: tracing_mark_write: E 23117 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092136: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23118 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092446: tracing_mark_write: B|612|HWDevice::Validate:: 23119 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092525: tracing_mark_write: E 23120 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092542: tracing_mark_write: E 23121 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092564: tracing_mark_write: E 23122 surfaceflinger-610 ( 610) [000] ...1 158021.092619: tracing_mark_write: E 23123 RenderThread-13553 (13531) [005] ...1 158021.092651: tracing_mark_write: B|13531|HIDL::IMapper::importBuffer::passthrough 23124 RenderThread-13553 (13531) [005] ...1 158021.092677: tracing_mark_write: E 23125 surfaceflinger-610 ( 610) [000] ...1 158021.092700: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23126 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092752: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23127 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092763: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23128 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092775: tracing_mark_write: B|612|HWDevice::Commit:: 23129 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092858: tracing_mark_write: E 23130 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092877: tracing_mark_write: E 23131 HwBinder:612_3-11297 ( 612) [002] ...1 158021.092900: tracing_mark_write: E 23132 surfaceflinger-610 ( 610) [000] ...1 158021.092950: tracing_mark_write: E 23133 HwBinder:755_1-1247 ( 755) [000] ...1 158021.101997: tracing_mark_write: E 23134 SensorService-1249 ( 1136) [001] ...1 158021.102085: tracing_mark_write: E 23135 SensorService-1249 ( 1136) [001] ...1 158021.102157: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23136 HwBinder:755_1-1247 ( 755) [000] ...1 158021.102214: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23137 Binder:610_4-1720 ( 610) [004] ...1 158021.105980: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 23138 Binder:610_4-1720 ( 610) [004] ...1 158021.106004: tracing_mark_write: B|610|FreeBuffer 23139 Binder:610_4-1720 ( 610) [004] ...1 158021.106024: tracing_mark_write: E 23140 Binder:610_4-1720 ( 610) [004] ...1 158021.106026: tracing_mark_write: B|610|FreeBuffer 23141 Binder:610_4-1720 ( 610) [004] ...1 158021.106032: tracing_mark_write: E 23142 Binder:610_4-1720 ( 610) [004] ...1 158021.106035: tracing_mark_write: E 23143 Binder:610_4-1720 ( 610) [004] ...1 158021.106044: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 23144 Binder:610_4-1720 ( 610) [004] ...1 158021.106046: tracing_mark_write: E 23145 Binder:610_4-1720 ( 610) [004] ...1 158021.106055: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 23146 HwBinder:614_1-982 ( 614) [005] ...1 158021.106125: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 23147 HwBinder:614_1-982 ( 614) [005] ...1 158021.106152: tracing_mark_write: B|614|AllocBuffer 23148 HwBinder:614_1-982 ( 614) [005] ...1 158021.106158: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8417280 23149 surfaceflinger-610 ( 610) [001] ...1 158021.107460: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23150 HwBinder:612_3-11297 ( 612) [002] ...1 158021.107627: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23151 HwBinder:612_3-11297 ( 612) [002] ...1 158021.107698: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23152 HwBinder:612_3-11297 ( 612) [002] ...1 158021.107706: tracing_mark_write: E 23153 HwBinder:612_3-11297 ( 612) [002] ...1 158021.107711: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23154 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108003: tracing_mark_write: B|612|HWDevice::Validate:: 23155 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108082: tracing_mark_write: E 23156 HwBinder:614_1-982 ( 614) [005] ...1 158021.108083: tracing_mark_write: E 23157 HwBinder:614_1-982 ( 614) [005] ...1 158021.108089: tracing_mark_write: B|614|ION_IOC_MAP 23158 HwBinder:614_1-982 ( 614) [005] ...1 158021.108098: tracing_mark_write: E 23159 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108098: tracing_mark_write: E 23160 HwBinder:614_1-982 ( 614) [005] ...1 158021.108101: tracing_mark_write: E 23161 HwBinder:614_1-982 ( 614) [005] ...1 158021.108103: tracing_mark_write: B|614|AllocBuffer 23162 HwBinder:614_1-982 ( 614) [005] ...1 158021.108108: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 23163 HwBinder:614_1-982 ( 614) [005] ...1 158021.108114: tracing_mark_write: E 23164 HwBinder:614_1-982 ( 614) [005] ...1 158021.108115: tracing_mark_write: B|614|ION_IOC_MAP 23165 HwBinder:614_1-982 ( 614) [005] ...1 158021.108118: tracing_mark_write: E 23166 HwBinder:614_1-982 ( 614) [005] ...1 158021.108119: tracing_mark_write: E 23167 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108122: tracing_mark_write: E 23168 HwBinder:614_1-982 ( 614) [005] ...1 158021.108146: tracing_mark_write: E 23169 HwBinder:614_1-982 ( 614) [005] ...1 158021.108176: tracing_mark_write: B|614|FreeBuffer 23170 HwBinder:614_1-982 ( 614) [005] ...1 158021.108181: tracing_mark_write: E 23171 HwBinder:614_1-982 ( 614) [005] ...1 158021.108182: tracing_mark_write: B|614|FreeBuffer 23172 HwBinder:614_1-982 ( 614) [005] ...1 158021.108183: tracing_mark_write: B|614|UnmapBuffer 23173 surfaceflinger-610 ( 610) [001] ...1 158021.108184: tracing_mark_write: E 23174 Binder:610_4-1720 ( 610) [004] ...1 158021.108187: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 23175 HwBinder:614_1-982 ( 614) [005] ...1 158021.108188: tracing_mark_write: E 23176 HwBinder:614_1-982 ( 614) [005] ...1 158021.108191: tracing_mark_write: E 23177 Binder:610_4-1720 ( 610) [004] ...1 158021.108207: tracing_mark_write: E 23178 Binder:610_4-1720 ( 610) [004] ...1 158021.108211: tracing_mark_write: E 23179 surfaceflinger-610 ( 610) [001] ...1 158021.108268: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23180 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108314: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23181 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108325: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23182 RenderThread-13553 (13531) [005] ...1 158021.108331: tracing_mark_write: B|13531|HIDL::IMapper::importBuffer::passthrough 23183 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108338: tracing_mark_write: B|612|HWDevice::Commit:: 23184 RenderThread-13553 (13531) [005] ...1 158021.108360: tracing_mark_write: E 23185 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108421: tracing_mark_write: E 23186 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108441: tracing_mark_write: E 23187 HwBinder:612_3-11297 ( 612) [002] ...1 158021.108465: tracing_mark_write: E 23188 surfaceflinger-610 ( 610) [001] ...1 158021.108509: tracing_mark_write: E 23189 HwBinder:755_1-1247 ( 755) [002] ...1 158021.122016: tracing_mark_write: E 23190 SensorService-1249 ( 1136) [001] ...1 158021.122109: tracing_mark_write: E 23191 SensorService-1249 ( 1136) [001] ...1 158021.122181: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23192 HwBinder:755_1-1247 ( 755) [002] ...1 158021.122250: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23193 surfaceflinger-610 ( 610) [001] ...1 158021.124254: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23194 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124374: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23195 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124443: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23196 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124450: tracing_mark_write: E 23197 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124455: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23198 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124735: tracing_mark_write: B|612|HWDevice::Validate:: 23199 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124809: tracing_mark_write: E 23200 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124825: tracing_mark_write: E 23201 HwBinder:612_3-11297 ( 612) [002] ...1 158021.124847: tracing_mark_write: E 23202 surfaceflinger-610 ( 610) [001] ...1 158021.124904: tracing_mark_write: E 23203 surfaceflinger-610 ( 610) [001] ...1 158021.124974: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23204 HwBinder:612_3-11297 ( 612) [002] ...1 158021.125017: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23205 HwBinder:612_3-11297 ( 612) [002] ...1 158021.125027: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23206 HwBinder:612_3-11297 ( 612) [002] ...1 158021.125039: tracing_mark_write: B|612|HWDevice::Commit:: 23207 HwBinder:612_3-11297 ( 612) [002] ...1 158021.125113: tracing_mark_write: E 23208 HwBinder:612_3-11297 ( 612) [002] ...1 158021.125131: tracing_mark_write: E 23209 HwBinder:612_3-11297 ( 612) [002] ...1 158021.125154: tracing_mark_write: E 23210 surfaceflinger-610 ( 610) [001] ...1 158021.125195: tracing_mark_write: E 23211 surfaceflinger-610 ( 610) [001] ...1 158021.141057: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23212 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141171: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23213 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141240: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23214 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141247: tracing_mark_write: E 23215 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141253: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23216 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141532: tracing_mark_write: B|612|HWDevice::Validate:: 23217 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141605: tracing_mark_write: E 23218 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141620: tracing_mark_write: E 23219 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141642: tracing_mark_write: E 23220 surfaceflinger-610 ( 610) [001] ...1 158021.141702: tracing_mark_write: E 23221 surfaceflinger-610 ( 610) [001] ...1 158021.141775: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23222 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141865: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23223 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141876: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23224 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141895: tracing_mark_write: B|612|HWDevice::Commit:: 23225 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141972: tracing_mark_write: E 23226 HwBinder:612_3-11297 ( 612) [002] ...1 158021.141989: tracing_mark_write: E 23227 HwBinder:612_3-11297 ( 612) [002] ...1 158021.142013: tracing_mark_write: E 23228 surfaceflinger-610 ( 610) [001] ...1 158021.142059: tracing_mark_write: E 23229 HwBinder:755_1-1247 ( 755) [002] ...1 158021.142331: tracing_mark_write: E 23230 SensorService-1249 ( 1136) [001] ...1 158021.142397: tracing_mark_write: E 23231 SensorService-1249 ( 1136) [001] ...1 158021.142474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23232 HwBinder:755_1-1247 ( 755) [002] ...1 158021.142522: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23233 surfaceflinger-610 ( 610) [000] ...1 158021.157386: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23234 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157497: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23235 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157598: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23236 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157605: tracing_mark_write: E 23237 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157610: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23238 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157880: tracing_mark_write: B|612|HWDevice::Validate:: 23239 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157954: tracing_mark_write: E 23240 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157969: tracing_mark_write: E 23241 HwBinder:612_3-11297 ( 612) [002] ...1 158021.157989: tracing_mark_write: E 23242 surfaceflinger-610 ( 610) [000] ...1 158021.158041: tracing_mark_write: E 23243 surfaceflinger-610 ( 610) [000] ...1 158021.158106: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23244 HwBinder:612_3-11297 ( 612) [002] ...1 158021.158145: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23245 HwBinder:612_3-11297 ( 612) [002] ...1 158021.158154: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23246 HwBinder:612_3-11297 ( 612) [002] ...1 158021.158166: tracing_mark_write: B|612|HWDevice::Commit:: 23247 HwBinder:612_3-11297 ( 612) [002] ...1 158021.158240: tracing_mark_write: E 23248 HwBinder:612_3-11297 ( 612) [002] ...1 158021.158256: tracing_mark_write: E 23249 HwBinder:612_3-11297 ( 612) [002] ...1 158021.158276: tracing_mark_write: E 23250 surfaceflinger-610 ( 610) [000] ...1 158021.158314: tracing_mark_write: E 23251 HwBinder:755_1-1247 ( 755) [000] ...1 158021.162071: tracing_mark_write: E 23252 SensorService-1249 ( 1136) [001] ...1 158021.162139: tracing_mark_write: E 23253 SensorService-1249 ( 1136) [001] ...1 158021.162207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23254 HwBinder:755_1-1247 ( 755) [000] ...1 158021.162256: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23255 surfaceflinger-610 ( 610) [000] ...1 158021.174049: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23256 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174134: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23257 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174198: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23258 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174225: tracing_mark_write: E 23259 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174234: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23260 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174505: tracing_mark_write: B|612|HWDevice::Validate:: 23261 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174574: tracing_mark_write: E 23262 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174590: tracing_mark_write: E 23263 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174609: tracing_mark_write: E 23264 surfaceflinger-610 ( 610) [000] ...1 158021.174656: tracing_mark_write: E 23265 surfaceflinger-610 ( 610) [000] ...1 158021.174721: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23266 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174758: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23267 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174768: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23268 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174780: tracing_mark_write: B|612|HWDevice::Commit:: 23269 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174847: tracing_mark_write: E 23270 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174864: tracing_mark_write: E 23271 HwBinder:612_3-11297 ( 612) [002] ...1 158021.174885: tracing_mark_write: E 23272 surfaceflinger-610 ( 610) [000] ...1 158021.174923: tracing_mark_write: E 23273 HwBinder:755_1-1247 ( 755) [000] ...1 158021.182037: tracing_mark_write: E 23274 SensorService-1249 ( 1136) [001] ...1 158021.182090: tracing_mark_write: E 23275 SensorService-1249 ( 1136) [001] ...1 158021.182150: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23276 HwBinder:755_1-1247 ( 755) [000] ...1 158021.182194: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23277 surfaceflinger-610 ( 610) [000] ...1 158021.190908: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23278 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191007: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23279 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191075: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23280 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191081: tracing_mark_write: E 23281 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191087: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23282 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191352: tracing_mark_write: B|612|HWDevice::Validate:: 23283 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191422: tracing_mark_write: E 23284 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191437: tracing_mark_write: E 23285 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191457: tracing_mark_write: E 23286 surfaceflinger-610 ( 610) [000] ...1 158021.191506: tracing_mark_write: E 23287 surfaceflinger-610 ( 610) [000] ...1 158021.191575: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23288 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191616: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23289 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191624: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23290 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191635: tracing_mark_write: B|612|HWDevice::Commit:: 23291 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191706: tracing_mark_write: E 23292 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191721: tracing_mark_write: E 23293 HwBinder:612_3-11297 ( 612) [002] ...1 158021.191742: tracing_mark_write: E 23294 surfaceflinger-610 ( 610) [000] ...1 158021.191781: tracing_mark_write: E 23295 HwBinder:755_1-1247 ( 755) [000] ...1 158021.202071: tracing_mark_write: E 23296 SensorService-1249 ( 1136) [001] ...1 158021.202142: tracing_mark_write: E 23297 SensorService-1249 ( 1136) [001] ...1 158021.202219: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23298 HwBinder:755_1-1247 ( 755) [000] ...1 158021.202272: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23299 surfaceflinger-610 ( 610) [000] ...1 158021.207667: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23300 HwBinder:612_3-11297 ( 612) [002] ...1 158021.207779: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23301 HwBinder:612_3-11297 ( 612) [002] ...1 158021.207849: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23302 HwBinder:612_3-11297 ( 612) [002] ...1 158021.207858: tracing_mark_write: E 23303 HwBinder:612_3-11297 ( 612) [002] ...1 158021.207863: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23304 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208133: tracing_mark_write: B|612|HWDevice::Validate:: 23305 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208209: tracing_mark_write: E 23306 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208223: tracing_mark_write: E 23307 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208243: tracing_mark_write: E 23308 surfaceflinger-610 ( 610) [000] ...1 158021.208294: tracing_mark_write: E 23309 surfaceflinger-610 ( 610) [000] ...1 158021.208358: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23310 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208399: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23311 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208407: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23312 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208418: tracing_mark_write: B|612|HWDevice::Commit:: 23313 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208491: tracing_mark_write: E 23314 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208507: tracing_mark_write: E 23315 HwBinder:612_3-11297 ( 612) [002] ...1 158021.208528: tracing_mark_write: E 23316 surfaceflinger-610 ( 610) [000] ...1 158021.208565: tracing_mark_write: E 23317 HwBinder:755_1-1247 ( 755) [000] ...1 158021.222170: tracing_mark_write: E 23318 SensorService-1249 ( 1136) [001] ...1 158021.222256: tracing_mark_write: E 23319 SensorService-1249 ( 1136) [001] ...1 158021.222344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23320 HwBinder:755_1-1247 ( 755) [000] ...1 158021.222399: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23321 surfaceflinger-610 ( 610) [000] ...1 158021.224437: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23322 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224545: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23323 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224616: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23324 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224623: tracing_mark_write: E 23325 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224628: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23326 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224908: tracing_mark_write: B|612|HWDevice::Validate:: 23327 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224981: tracing_mark_write: E 23328 HwBinder:612_3-11297 ( 612) [002] ...1 158021.224997: tracing_mark_write: E 23329 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225019: tracing_mark_write: E 23330 surfaceflinger-610 ( 610) [000] ...1 158021.225075: tracing_mark_write: E 23331 surfaceflinger-610 ( 610) [000] ...1 158021.225145: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23332 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225188: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23333 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225197: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23334 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225208: tracing_mark_write: B|612|HWDevice::Commit:: 23335 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225283: tracing_mark_write: E 23336 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225300: tracing_mark_write: E 23337 HwBinder:612_3-11297 ( 612) [002] ...1 158021.225321: tracing_mark_write: E 23338 surfaceflinger-610 ( 610) [000] ...1 158021.225359: tracing_mark_write: E 23339 surfaceflinger-610 ( 610) [000] ...1 158021.241082: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23340 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241205: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23341 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241282: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23342 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241289: tracing_mark_write: E 23343 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241294: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23344 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241610: tracing_mark_write: B|612|HWDevice::Validate:: 23345 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241702: tracing_mark_write: E 23346 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241725: tracing_mark_write: E 23347 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241745: tracing_mark_write: E 23348 surfaceflinger-610 ( 610) [000] ...1 158021.241799: tracing_mark_write: E 23349 surfaceflinger-610 ( 610) [000] ...1 158021.241874: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23350 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241917: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23351 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241926: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23352 HwBinder:612_3-11297 ( 612) [002] ...1 158021.241938: tracing_mark_write: B|612|HWDevice::Commit:: 23353 HwBinder:612_3-11297 ( 612) [002] ...1 158021.242011: tracing_mark_write: E 23354 HwBinder:612_3-11297 ( 612) [002] ...1 158021.242028: tracing_mark_write: E 23355 HwBinder:612_3-11297 ( 612) [002] ...1 158021.242051: tracing_mark_write: E 23356 surfaceflinger-610 ( 610) [000] ...1 158021.242095: tracing_mark_write: E 23357 HwBinder:755_1-1247 ( 755) [003] ...1 158021.242352: tracing_mark_write: E 23358 SensorService-1249 ( 1136) [001] ...1 158021.242416: tracing_mark_write: E 23359 SensorService-1249 ( 1136) [001] ...1 158021.242478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23360 HwBinder:755_1-1247 ( 755) [003] ...1 158021.242523: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23361 surfaceflinger-610 ( 610) [000] ...1 158021.257780: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23362 android.anim-1244 ( 1136) [005] ...1 158021.257788: tracing_mark_write: B|1136|HIDL::IMapper::freeBuffer::passthrough 23363 android.anim-1244 ( 1136) [005] ...1 158021.257820: tracing_mark_write: B|1136|FreeBuffer 23364 android.anim-1244 ( 1136) [005] ...1 158021.257822: tracing_mark_write: B|1136|UnmapBuffer 23365 android.anim-1244 ( 1136) [005] ...1 158021.257860: tracing_mark_write: E 23366 android.anim-1244 ( 1136) [005] ...1 158021.257868: tracing_mark_write: E 23367 android.anim-1244 ( 1136) [005] ...1 158021.257870: tracing_mark_write: B|1136|FreeBuffer 23368 android.anim-1244 ( 1136) [005] ...1 158021.257873: tracing_mark_write: E 23369 android.anim-1244 ( 1136) [005] ...1 158021.257877: tracing_mark_write: E 23370 HwBinder:612_3-11297 ( 612) [002] ...1 158021.257879: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23371 HwBinder:612_3-11297 ( 612) [002] ...1 158021.257945: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23372 HwBinder:612_3-11297 ( 612) [002] ...1 158021.257951: tracing_mark_write: E 23373 HwBinder:612_3-11297 ( 612) [002] ...1 158021.257957: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23374 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258236: tracing_mark_write: B|612|HWDevice::Validate:: 23375 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258310: tracing_mark_write: E 23376 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258326: tracing_mark_write: E 23377 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258347: tracing_mark_write: E 23378 surfaceflinger-610 ( 610) [000] ...1 158021.258404: tracing_mark_write: E 23379 surfaceflinger-610 ( 610) [000] ...1 158021.258479: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23380 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258524: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23381 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258534: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23382 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258546: tracing_mark_write: B|612|HWDevice::Commit:: 23383 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258618: tracing_mark_write: E 23384 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258635: tracing_mark_write: E 23385 HwBinder:612_3-11297 ( 612) [002] ...1 158021.258656: tracing_mark_write: E 23386 surfaceflinger-610 ( 610) [000] ...1 158021.258696: tracing_mark_write: E 23387 HwBinder:755_1-1247 ( 755) [000] ...1 158021.262111: tracing_mark_write: E 23388 SensorService-1249 ( 1136) [001] ...1 158021.262171: tracing_mark_write: E 23389 SensorService-1249 ( 1136) [001] ...1 158021.262240: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23390 HwBinder:755_1-1247 ( 755) [000] ...1 158021.262297: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23391 surfaceflinger-610 ( 610) [000] ...1 158021.274291: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 23392 surfaceflinger-610 ( 610) [000] ...1 158021.274308: tracing_mark_write: B|610|FreeBuffer 23393 surfaceflinger-610 ( 610) [000] ...1 158021.274321: tracing_mark_write: E 23394 surfaceflinger-610 ( 610) [000] ...1 158021.274324: tracing_mark_write: B|610|FreeBuffer 23395 surfaceflinger-610 ( 610) [000] ...1 158021.274356: tracing_mark_write: E 23396 surfaceflinger-610 ( 610) [000] ...1 158021.274359: tracing_mark_write: E 23397 surfaceflinger-610 ( 610) [000] ...1 158021.274924: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23398 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275035: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23399 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275105: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23400 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275112: tracing_mark_write: E 23401 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275117: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23402 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275387: tracing_mark_write: B|612|HWDevice::Validate:: 23403 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275460: tracing_mark_write: E 23404 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275475: tracing_mark_write: E 23405 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275495: tracing_mark_write: E 23406 surfaceflinger-610 ( 610) [000] ...1 158021.275546: tracing_mark_write: E 23407 surfaceflinger-610 ( 610) [000] ...1 158021.275612: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23408 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275650: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23409 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275659: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23410 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275670: tracing_mark_write: B|612|HWDevice::Commit:: 23411 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275741: tracing_mark_write: E 23412 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275758: tracing_mark_write: E 23413 HwBinder:612_3-11297 ( 612) [002] ...1 158021.275779: tracing_mark_write: E 23414 surfaceflinger-610 ( 610) [000] ...1 158021.275816: tracing_mark_write: E 23415 HwBinder:755_1-1247 ( 755) [000] ...1 158021.282156: tracing_mark_write: E 23416 SensorService-1249 ( 1136) [001] ...1 158021.282253: tracing_mark_write: E 23417 SensorService-1249 ( 1136) [001] ...1 158021.282328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23418 HwBinder:755_1-1247 ( 755) [000] ...1 158021.282407: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23419 surfaceflinger-610 ( 610) [000] ...1 158021.291254: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23420 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291364: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23421 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291435: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23422 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291442: tracing_mark_write: E 23423 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291447: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23424 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291717: tracing_mark_write: B|612|HWDevice::Validate:: 23425 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291791: tracing_mark_write: E 23426 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291807: tracing_mark_write: E 23427 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291827: tracing_mark_write: E 23428 surfaceflinger-610 ( 610) [000] ...1 158021.291879: tracing_mark_write: E 23429 surfaceflinger-610 ( 610) [000] ...1 158021.291951: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23430 HwBinder:612_3-11297 ( 612) [002] ...1 158021.291991: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23431 HwBinder:612_3-11297 ( 612) [002] ...1 158021.292000: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23432 HwBinder:612_3-11297 ( 612) [002] ...1 158021.292011: tracing_mark_write: B|612|HWDevice::Commit:: 23433 HwBinder:612_3-11297 ( 612) [002] ...1 158021.292085: tracing_mark_write: E 23434 HwBinder:612_3-11297 ( 612) [002] ...1 158021.292100: tracing_mark_write: E 23435 HwBinder:612_3-11297 ( 612) [002] ...1 158021.292119: tracing_mark_write: E 23436 surfaceflinger-610 ( 610) [000] ...1 158021.292162: tracing_mark_write: E 23437 MobileIQWorker-13581 (13531) [006] ...1 158021.292323: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized 23438 HwBinder:755_1-1247 ( 755) [000] ...1 158021.302167: tracing_mark_write: E 23439 SensorService-1249 ( 1136) [001] ...1 158021.302230: tracing_mark_write: E 23440 SensorService-1249 ( 1136) [001] ...1 158021.302303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23441 HwBinder:755_1-1247 ( 755) [000] ...1 158021.302348: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23442 surfaceflinger-610 ( 610) [000] ...1 158021.307859: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23443 HwBinder:612_3-11297 ( 612) [002] ...1 158021.307932: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23444 HwBinder:612_3-11297 ( 612) [002] ...1 158021.307991: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23445 HwBinder:612_3-11297 ( 612) [002] ...1 158021.307998: tracing_mark_write: E 23446 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308003: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23447 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308257: tracing_mark_write: B|612|HWDevice::Validate:: 23448 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308322: tracing_mark_write: E 23449 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308337: tracing_mark_write: E 23450 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308354: tracing_mark_write: E 23451 surfaceflinger-610 ( 610) [000] ...1 158021.308398: tracing_mark_write: E 23452 surfaceflinger-610 ( 610) [000] ...1 158021.308462: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23453 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308500: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23454 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308510: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23455 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308520: tracing_mark_write: B|612|HWDevice::Commit:: 23456 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308587: tracing_mark_write: E 23457 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308602: tracing_mark_write: E 23458 HwBinder:612_3-11297 ( 612) [002] ...1 158021.308622: tracing_mark_write: E 23459 surfaceflinger-610 ( 610) [000] ...1 158021.308663: tracing_mark_write: E 23460 HwBinder:755_1-1247 ( 755) [000] ...1 158021.322185: tracing_mark_write: E 23461 SensorService-1249 ( 1136) [001] ...1 158021.322244: tracing_mark_write: E 23462 SensorService-1249 ( 1136) [001] ...1 158021.322305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23463 HwBinder:755_1-1247 ( 755) [000] ...1 158021.322349: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23464 surfaceflinger-610 ( 610) [000] ...1 158021.324547: tracing_mark_write: B|610|HIDL::IComposerClient::createLayer::client 23465 HwBinder:612_3-11297 ( 612) [002] ...1 158021.324604: tracing_mark_write: B|612|HIDL::IComposerClient::createLayer::server 23466 HwBinder:612_3-11297 ( 612) [002] ...1 158021.324637: tracing_mark_write: E 23467 surfaceflinger-610 ( 610) [000] ...1 158021.324665: tracing_mark_write: E 23468 surfaceflinger-610 ( 610) [000] ...1 158021.324741: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23469 HwBinder:612_3-11297 ( 612) [002] ...1 158021.324840: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23470 HwBinder:612_3-11297 ( 612) [002] ...1 158021.324896: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough 23471 HwBinder:612_3-11297 ( 612) [002] ...1 158021.324944: tracing_mark_write: E 23472 HwBinder:612_3-11297 ( 612) [002] ...1 158021.324996: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23473 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325003: tracing_mark_write: E 23474 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325008: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23475 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325296: tracing_mark_write: B|612|HWDevice::Validate:: 23476 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325376: tracing_mark_write: E 23477 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325393: tracing_mark_write: E 23478 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325409: tracing_mark_write: E 23479 surfaceflinger-610 ( 610) [000] ...1 158021.325449: tracing_mark_write: E 23480 surfaceflinger-610 ( 610) [000] ...1 158021.325517: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23481 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325554: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23482 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325563: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23483 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325573: tracing_mark_write: B|612|HWDevice::Commit:: 23484 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325658: tracing_mark_write: E 23485 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325673: tracing_mark_write: E 23486 HwBinder:612_3-11297 ( 612) [002] ...1 158021.325693: tracing_mark_write: E 23487 surfaceflinger-610 ( 610) [000] ...1 158021.325734: tracing_mark_write: E 23488 surfaceflinger-610 ( 610) [000] ...1 158021.341324: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23489 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341401: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23490 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341462: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23491 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341468: tracing_mark_write: E 23492 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341473: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23493 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341739: tracing_mark_write: B|612|HWDevice::Validate:: 23494 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341807: tracing_mark_write: E 23495 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341822: tracing_mark_write: E 23496 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341840: tracing_mark_write: E 23497 surfaceflinger-610 ( 610) [000] ...1 158021.341884: tracing_mark_write: E 23498 surfaceflinger-610 ( 610) [000] ...1 158021.341947: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23499 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341985: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23500 HwBinder:612_3-11297 ( 612) [002] ...1 158021.341993: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23501 HwBinder:612_3-11297 ( 612) [002] ...1 158021.342004: tracing_mark_write: B|612|HWDevice::Commit:: 23502 HwBinder:612_3-11297 ( 612) [002] ...1 158021.342084: tracing_mark_write: E 23503 HwBinder:612_3-11297 ( 612) [002] ...1 158021.342100: tracing_mark_write: E 23504 HwBinder:612_3-11297 ( 612) [002] ...1 158021.342122: tracing_mark_write: E 23505 surfaceflinger-610 ( 610) [000] ...1 158021.342169: tracing_mark_write: E 23506 HwBinder:755_1-1247 ( 755) [000] ...1 158021.342423: tracing_mark_write: E 23507 SensorService-1249 ( 1136) [001] ...1 158021.342480: tracing_mark_write: E 23508 SensorService-1249 ( 1136) [001] ...1 158021.342541: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23509 HwBinder:755_1-1247 ( 755) [000] ...1 158021.342614: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23510 surfaceflinger-610 ( 610) [000] ...1 158021.358037: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23511 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358115: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23512 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358180: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23513 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358186: tracing_mark_write: E 23514 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358191: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23515 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358463: tracing_mark_write: B|612|HWDevice::Validate:: 23516 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358534: tracing_mark_write: E 23517 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358550: tracing_mark_write: E 23518 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358567: tracing_mark_write: E 23519 surfaceflinger-610 ( 610) [000] ...1 158021.358611: tracing_mark_write: E 23520 surfaceflinger-610 ( 610) [000] ...1 158021.358677: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23521 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358716: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23522 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358724: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23523 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358734: tracing_mark_write: B|612|HWDevice::Commit:: 23524 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358815: tracing_mark_write: E 23525 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358830: tracing_mark_write: E 23526 HwBinder:612_3-11297 ( 612) [002] ...1 158021.358851: tracing_mark_write: E 23527 surfaceflinger-610 ( 610) [000] ...1 158021.358893: tracing_mark_write: E 23528 HwBinder:755_1-1247 ( 755) [000] ...1 158021.362220: tracing_mark_write: E 23529 SensorService-1249 ( 1136) [001] ...1 158021.362276: tracing_mark_write: E 23530 SensorService-1249 ( 1136) [001] ...1 158021.362337: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23531 HwBinder:755_1-1247 ( 755) [000] ...1 158021.362382: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23532 surfaceflinger-610 ( 610) [000] ...1 158021.374770: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23533 HwBinder:612_3-11297 ( 612) [002] ...1 158021.374851: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23534 HwBinder:612_3-11297 ( 612) [002] ...1 158021.374915: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23535 HwBinder:612_3-11297 ( 612) [002] ...1 158021.374921: tracing_mark_write: E 23536 HwBinder:612_3-11297 ( 612) [002] ...1 158021.374927: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23537 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375275: tracing_mark_write: B|612|HWDevice::Validate:: 23538 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375352: tracing_mark_write: E 23539 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375370: tracing_mark_write: E 23540 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375389: tracing_mark_write: E 23541 surfaceflinger-610 ( 610) [000] ...1 158021.375437: tracing_mark_write: E 23542 surfaceflinger-610 ( 610) [000] ...1 158021.375505: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23543 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375541: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23544 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375550: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23545 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375561: tracing_mark_write: B|612|HWDevice::Commit:: 23546 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375641: tracing_mark_write: E 23547 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375657: tracing_mark_write: E 23548 HwBinder:612_3-11297 ( 612) [002] ...1 158021.375677: tracing_mark_write: E 23549 surfaceflinger-610 ( 610) [000] ...1 158021.375722: tracing_mark_write: E 23550 Binder:1136_9-1633 ( 1136) [006] ...1 158021.377277: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23551 Binder:1136_9-1633 ( 1136) [006] ...1 158021.377326: tracing_mark_write: E 23552 power@1.1-serv-754 ( 754) [004] ...1 158021.377355: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23553 power@1.1-serv-754 ( 754) [004] ...1 158021.377436: tracing_mark_write: E 23554 MobileIQWorker-13581 (13531) [007] ...1 158021.377939: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 23555 MobileIQWorker-13581 (13531) [007] ...1 158021.378318: tracing_mark_write: B|13531|HIDL::IServiceManager::listByInterface::client 23556 hwservicemanag-584 ( 584) [003] ...1 158021.378414: tracing_mark_write: B|584|HIDL::IServiceManager::listByInterface::server 23557 hwservicemanag-584 ( 584) [003] ...1 158021.379213: tracing_mark_write: E 23558 MobileIQWorker-13581 (13531) [005] ...1 158021.379254: tracing_mark_write: E 23559 HwBinder:755_1-1247 ( 755) [003] ...1 158021.382220: tracing_mark_write: E 23560 SensorService-1249 ( 1136) [001] ...1 158021.382274: tracing_mark_write: E 23561 SensorService-1249 ( 1136) [001] ...1 158021.382333: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23562 HwBinder:755_1-1247 ( 755) [003] ...1 158021.382377: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23563 surfaceflinger-610 ( 610) [001] ...1 158021.391447: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23564 HwBinder:612_3-11297 ( 612) [002] ...1 158021.391535: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23565 HwBinder:612_3-11297 ( 612) [002] ...1 158021.391606: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23566 HwBinder:612_3-11297 ( 612) [002] ...1 158021.391614: tracing_mark_write: E 23567 HwBinder:612_3-11297 ( 612) [002] ...1 158021.391619: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23568 HwBinder:612_3-11297 ( 612) [002] ...1 158021.391909: tracing_mark_write: B|612|HWDevice::Validate:: 23569 HwBinder:612_3-11297 ( 612) [002] ...1 158021.391985: tracing_mark_write: E 23570 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392002: tracing_mark_write: E 23571 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392021: tracing_mark_write: E 23572 surfaceflinger-610 ( 610) [001] ...1 158021.392069: tracing_mark_write: E 23573 surfaceflinger-610 ( 610) [001] ...1 158021.392141: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23574 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392176: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23575 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392185: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23576 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392197: tracing_mark_write: B|612|HWDevice::Commit:: 23577 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392279: tracing_mark_write: E 23578 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392294: tracing_mark_write: E 23579 HwBinder:612_3-11297 ( 612) [002] ...1 158021.392313: tracing_mark_write: E 23580 surfaceflinger-610 ( 610) [001] ...1 158021.392358: tracing_mark_write: E 23581 HwBinder:755_1-1247 ( 755) [000] ...1 158021.402240: tracing_mark_write: E 23582 SensorService-1249 ( 1136) [001] ...1 158021.402293: tracing_mark_write: E 23583 SensorService-1249 ( 1136) [001] ...1 158021.402359: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23584 HwBinder:755_1-1247 ( 755) [000] ...1 158021.402400: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23585 surfaceflinger-610 ( 610) [002] ...1 158021.408238: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23586 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408354: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23587 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408410: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23588 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408415: tracing_mark_write: E 23589 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408418: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23590 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408626: tracing_mark_write: B|612|HWDevice::Validate:: 23591 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408682: tracing_mark_write: E 23592 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408694: tracing_mark_write: E 23593 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408709: tracing_mark_write: E 23594 surfaceflinger-610 ( 610) [002] ...1 158021.408751: tracing_mark_write: E 23595 surfaceflinger-610 ( 610) [002] ...1 158021.408824: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23596 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408859: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23597 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408865: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23598 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408872: tracing_mark_write: B|612|HWDevice::Commit:: 23599 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408928: tracing_mark_write: E 23600 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408937: tracing_mark_write: E 23601 HwBinder:612_3-11297 ( 612) [007] ...1 158021.408949: tracing_mark_write: E 23602 surfaceflinger-610 ( 610) [001] ...1 158021.408992: tracing_mark_write: E 23603 HwBinder:755_1-1247 ( 755) [002] ...1 158021.422271: tracing_mark_write: E 23604 SensorService-1249 ( 1136) [001] ...1 158021.422365: tracing_mark_write: E 23605 SensorService-1249 ( 1136) [001] ...1 158021.422449: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23606 HwBinder:755_1-1247 ( 755) [002] ...1 158021.422506: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23607 surfaceflinger-610 ( 610) [002] ...1 158021.424938: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23608 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425025: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23609 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425075: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23610 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425080: tracing_mark_write: E 23611 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425083: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23612 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425289: tracing_mark_write: B|612|HWDevice::Validate:: 23613 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425345: tracing_mark_write: E 23614 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425356: tracing_mark_write: E 23615 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425370: tracing_mark_write: E 23616 surfaceflinger-610 ( 610) [002] ...1 158021.425415: tracing_mark_write: E 23617 surfaceflinger-610 ( 610) [002] ...1 158021.425484: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23618 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425515: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23619 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425520: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23620 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425526: tracing_mark_write: B|612|HWDevice::Commit:: 23621 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425583: tracing_mark_write: E 23622 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425591: tracing_mark_write: E 23623 HwBinder:612_3-11297 ( 612) [007] ...1 158021.425601: tracing_mark_write: E 23624 surfaceflinger-610 ( 610) [000] ...1 158021.425647: tracing_mark_write: E 23625 surfaceflinger-610 ( 610) [000] ...1 158021.441705: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23626 HwBinder:612_3-11297 ( 612) [007] ...1 158021.441813: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23627 HwBinder:612_3-11297 ( 612) [007] ...1 158021.441862: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23628 HwBinder:612_3-11297 ( 612) [007] ...1 158021.441867: tracing_mark_write: E 23629 HwBinder:612_3-11297 ( 612) [007] ...1 158021.441870: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23630 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442074: tracing_mark_write: B|612|HWDevice::Validate:: 23631 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442135: tracing_mark_write: E 23632 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442147: tracing_mark_write: E 23633 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442161: tracing_mark_write: E 23634 surfaceflinger-610 ( 610) [000] ...1 158021.442206: tracing_mark_write: E 23635 surfaceflinger-610 ( 610) [000] ...1 158021.442275: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23636 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442310: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23637 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442317: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23638 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442323: tracing_mark_write: B|612|HWDevice::Commit:: 23639 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442375: tracing_mark_write: E 23640 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442385: tracing_mark_write: E 23641 HwBinder:612_3-11297 ( 612) [007] ...1 158021.442396: tracing_mark_write: E 23642 surfaceflinger-610 ( 610) [000] ...1 158021.442436: tracing_mark_write: E 23643 HwBinder:755_1-1247 ( 755) [004] ...1 158021.442487: tracing_mark_write: E 23644 SensorService-1249 ( 1136) [001] ...1 158021.442540: tracing_mark_write: E 23645 SensorService-1249 ( 1136) [001] ...1 158021.442600: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23646 sensors@1.0-se-755 ( 755) [002] ...1 158021.442660: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23647 surfaceflinger-610 ( 610) [000] ...1 158021.458423: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23648 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458532: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23649 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458583: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23650 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458588: tracing_mark_write: E 23651 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458591: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23652 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458791: tracing_mark_write: B|612|HWDevice::Validate:: 23653 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458844: tracing_mark_write: E 23654 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458857: tracing_mark_write: E 23655 HwBinder:612_3-11297 ( 612) [007] ...1 158021.458870: tracing_mark_write: E 23656 surfaceflinger-610 ( 610) [000] ...1 158021.458913: tracing_mark_write: E 23657 surfaceflinger-610 ( 610) [000] ...1 158021.458980: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23658 HwBinder:612_3-11297 ( 612) [007] ...1 158021.459012: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23659 HwBinder:612_3-11297 ( 612) [007] ...1 158021.459017: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23660 HwBinder:612_3-11297 ( 612) [007] ...1 158021.459023: tracing_mark_write: B|612|HWDevice::Commit:: 23661 HwBinder:612_3-11297 ( 612) [007] ...1 158021.459080: tracing_mark_write: E 23662 HwBinder:612_3-11297 ( 612) [007] ...1 158021.459091: tracing_mark_write: E 23663 HwBinder:612_3-11297 ( 612) [007] ...1 158021.459102: tracing_mark_write: E 23664 surfaceflinger-610 ( 610) [000] ...1 158021.459142: tracing_mark_write: E 23665 sensors@1.0-se-755 ( 755) [006] ...1 158021.462320: tracing_mark_write: E 23666 SensorService-1249 ( 1136) [001] ...1 158021.462401: tracing_mark_write: E 23667 SensorService-1249 ( 1136) [001] ...1 158021.462488: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23668 sensors@1.0-se-755 ( 755) [006] ...1 158021.462546: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23669 MobileIQWorker-13581 (13531) [004] ...1 158021.463112: tracing_mark_write: E 23670 MobileIQWorker-13581 (13531) [004] ...1 158021.464129: tracing_mark_write: E 23671 MobileIQWorker-13581 (13531) [004] ...1 158021.467112: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized 23672 Binder:1136_9-1633 ( 1136) [006] ...1 158021.467170: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23673 Binder:1136_9-1633 ( 1136) [006] ...1 158021.467199: tracing_mark_write: E 23674 power@1.1-serv-754 ( 754) [004] ...1 158021.467225: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23675 power@1.1-serv-754 ( 754) [004] ...1 158021.467304: tracing_mark_write: E 23676 surfaceflinger-610 ( 610) [000] ...1 158021.475041: tracing_mark_write: B|610|HIDL::IComposerClient::destroyLayer::client 23677 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475148: tracing_mark_write: B|612|HIDL::IComposerClient::destroyLayer::server 23678 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475168: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough 23679 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475179: tracing_mark_write: B|612|FreeBuffer 23680 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475186: tracing_mark_write: E 23681 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475187: tracing_mark_write: B|612|FreeBuffer 23682 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475189: tracing_mark_write: B|612|UnmapBuffer 23683 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475204: tracing_mark_write: E 23684 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475206: tracing_mark_write: E 23685 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475209: tracing_mark_write: E 23686 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475215: tracing_mark_write: E 23687 surfaceflinger-610 ( 610) [000] ...1 158021.475249: tracing_mark_write: E 23688 surfaceflinger-610 ( 610) [000] ...1 158021.475378: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23689 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475453: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23690 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475492: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23691 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475498: tracing_mark_write: E 23692 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475500: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23693 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475675: tracing_mark_write: B|612|HWDevice::Validate:: 23694 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475727: tracing_mark_write: E 23695 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475737: tracing_mark_write: E 23696 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475748: tracing_mark_write: E 23697 surfaceflinger-610 ( 610) [000] ...1 158021.475786: tracing_mark_write: E 23698 surfaceflinger-610 ( 610) [000] ...1 158021.475871: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23699 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475904: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23700 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475909: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23701 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475915: tracing_mark_write: B|612|HWDevice::Commit:: 23702 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475959: tracing_mark_write: E 23703 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475968: tracing_mark_write: E 23704 HwBinder:612_3-11297 ( 612) [007] ...1 158021.475978: tracing_mark_write: E 23705 surfaceflinger-610 ( 610) [000] ...1 158021.476019: tracing_mark_write: E 23706 sensors@1.0-se-755 ( 755) [006] ...1 158021.482273: tracing_mark_write: E 23707 SensorService-1249 ( 1136) [001] ...1 158021.482327: tracing_mark_write: E 23708 SensorService-1249 ( 1136) [001] ...1 158021.482389: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23709 sensors@1.0-se-755 ( 755) [006] ...1 158021.482434: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23710 surfaceflinger-610 ( 610) [000] ...1 158021.491852: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23711 HwBinder:612_3-11297 ( 612) [007] ...1 158021.491934: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23712 HwBinder:612_3-11297 ( 612) [007] ...1 158021.491961: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough 23713 HwBinder:612_3-11297 ( 612) [007] ...1 158021.491981: tracing_mark_write: E 23714 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492018: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23715 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492023: tracing_mark_write: E 23716 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492025: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23717 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492195: tracing_mark_write: B|612|HWDevice::Validate:: 23718 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492241: tracing_mark_write: E 23719 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492252: tracing_mark_write: E 23720 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492263: tracing_mark_write: E 23721 surfaceflinger-610 ( 610) [000] ...1 158021.492300: tracing_mark_write: E 23722 surfaceflinger-610 ( 610) [000] ...1 158021.492354: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23723 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492388: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23724 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492393: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23725 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492399: tracing_mark_write: B|612|HWDevice::Commit:: 23726 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492441: tracing_mark_write: E 23727 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492450: tracing_mark_write: E 23728 HwBinder:612_3-11297 ( 612) [007] ...1 158021.492461: tracing_mark_write: E 23729 surfaceflinger-610 ( 610) [000] ...1 158021.492498: tracing_mark_write: E 23730 sensors@1.0-se-755 ( 755) [006] ...1 158021.502290: tracing_mark_write: E 23731 SensorService-1249 ( 1136) [001] ...1 158021.502336: tracing_mark_write: E 23732 SensorService-1249 ( 1136) [001] ...1 158021.502385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23733 sensors@1.0-se-755 ( 755) [006] ...1 158021.502429: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23734 Binder:1136_9-1633 ( 1136) [006] ...1 158021.507239: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23735 Binder:1136_9-1633 ( 1136) [006] ...1 158021.507269: tracing_mark_write: E 23736 power@1.1-serv-754 ( 754) [004] ...1 158021.507290: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23737 power@1.1-serv-754 ( 754) [004] ...1 158021.507372: tracing_mark_write: E 23738 surfaceflinger-610 ( 610) [000] ...1 158021.508427: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23739 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508490: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23740 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508533: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23741 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508538: tracing_mark_write: E 23742 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508541: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23743 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508705: tracing_mark_write: B|612|HWDevice::Validate:: 23744 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508748: tracing_mark_write: E 23745 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508758: tracing_mark_write: E 23746 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508770: tracing_mark_write: E 23747 surfaceflinger-610 ( 610) [000] ...1 158021.508804: tracing_mark_write: E 23748 surfaceflinger-610 ( 610) [000] ...1 158021.508847: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23749 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508881: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23750 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508886: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23751 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508892: tracing_mark_write: B|612|HWDevice::Commit:: 23752 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508933: tracing_mark_write: E 23753 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508942: tracing_mark_write: E 23754 HwBinder:612_3-11297 ( 612) [007] ...1 158021.508953: tracing_mark_write: E 23755 surfaceflinger-610 ( 610) [000] ...1 158021.508993: tracing_mark_write: E 23756 sensors@1.0-se-755 ( 755) [007] ...1 158021.522314: tracing_mark_write: E 23757 SensorService-1249 ( 1136) [001] ...1 158021.522354: tracing_mark_write: E 23758 SensorService-1249 ( 1136) [001] ...1 158021.522392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23759 sensors@1.0-se-755 ( 755) [007] ...1 158021.522432: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23760 surfaceflinger-610 ( 610) [000] ...1 158021.525123: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23761 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525185: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23762 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525227: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23763 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525232: tracing_mark_write: E 23764 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525235: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23765 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525392: tracing_mark_write: B|612|HWDevice::Validate:: 23766 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525435: tracing_mark_write: E 23767 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525446: tracing_mark_write: E 23768 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525457: tracing_mark_write: E 23769 surfaceflinger-610 ( 610) [000] ...1 158021.525488: tracing_mark_write: E 23770 surfaceflinger-610 ( 610) [000] ...1 158021.525525: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23771 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525560: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23772 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525566: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23773 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525572: tracing_mark_write: B|612|HWDevice::Commit:: 23774 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525616: tracing_mark_write: E 23775 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525626: tracing_mark_write: E 23776 HwBinder:612_3-11297 ( 612) [007] ...1 158021.525636: tracing_mark_write: E 23777 surfaceflinger-610 ( 610) [000] ...1 158021.525674: tracing_mark_write: E 23778 surfaceflinger-610 ( 610) [002] ...1 158021.541861: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23779 HwBinder:612_3-11297 ( 612) [007] ...1 158021.541937: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23780 HwBinder:612_3-11297 ( 612) [007] ...1 158021.541986: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23781 HwBinder:612_3-11297 ( 612) [007] ...1 158021.541991: tracing_mark_write: E 23782 HwBinder:612_3-11297 ( 612) [007] ...1 158021.541994: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23783 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542179: tracing_mark_write: B|612|HWDevice::Validate:: 23784 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542227: tracing_mark_write: E 23785 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542239: tracing_mark_write: E 23786 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542253: tracing_mark_write: E 23787 surfaceflinger-610 ( 610) [002] ...1 158021.542287: tracing_mark_write: E 23788 surfaceflinger-610 ( 610) [002] ...1 158021.542326: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23789 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542363: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23790 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542368: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23791 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542375: tracing_mark_write: B|612|HWDevice::Commit:: 23792 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542414: tracing_mark_write: E 23793 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542424: tracing_mark_write: E 23794 HwBinder:612_3-11297 ( 612) [007] ...1 158021.542435: tracing_mark_write: E 23795 surfaceflinger-610 ( 610) [000] ...1 158021.542473: tracing_mark_write: E 23796 sensors@1.0-se-755 ( 755) [005] ...1 158021.542503: tracing_mark_write: E 23797 SensorService-1249 ( 1136) [001] ...1 158021.542544: tracing_mark_write: E 23798 SensorService-1249 ( 1136) [001] ...1 158021.542580: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23799 sensors@1.0-se-755 ( 755) [005] ...1 158021.542619: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23800 MobileIQWorker-13581 (13531) [004] ...1 158021.543827: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 23801 surfaceflinger-610 ( 610) [003] ...1 158021.558856: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23802 HwBinder:612_3-11297 ( 612) [007] ...1 158021.558984: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23803 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559035: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23804 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559041: tracing_mark_write: E 23805 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559043: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23806 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559231: tracing_mark_write: B|612|HWDevice::Validate:: 23807 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559284: tracing_mark_write: E 23808 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559295: tracing_mark_write: E 23809 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559309: tracing_mark_write: E 23810 surfaceflinger-610 ( 610) [003] ...1 158021.559349: tracing_mark_write: E 23811 surfaceflinger-610 ( 610) [003] ...1 158021.559411: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23812 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559442: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23813 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559447: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23814 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559454: tracing_mark_write: B|612|HWDevice::Commit:: 23815 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559501: tracing_mark_write: E 23816 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559509: tracing_mark_write: E 23817 HwBinder:612_3-11297 ( 612) [007] ...1 158021.559520: tracing_mark_write: E 23818 surfaceflinger-610 ( 610) [003] ...1 158021.559557: tracing_mark_write: E 23819 sensors@1.0-se-755 ( 755) [005] ...1 158021.562360: tracing_mark_write: E 23820 SensorService-1249 ( 1136) [001] ...1 158021.562412: tracing_mark_write: E 23821 SensorService-1249 ( 1136) [001] ...1 158021.562473: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23822 sensors@1.0-se-755 ( 755) [005] ...1 158021.562513: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23823 surfaceflinger-610 ( 610) [000] ...1 158021.575538: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23824 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575649: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23825 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575698: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23826 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575703: tracing_mark_write: E 23827 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575706: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23828 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575886: tracing_mark_write: B|612|HWDevice::Validate:: 23829 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575936: tracing_mark_write: E 23830 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575946: tracing_mark_write: E 23831 HwBinder:612_3-11297 ( 612) [007] ...1 158021.575960: tracing_mark_write: E 23832 surfaceflinger-610 ( 610) [000] ...1 158021.576003: tracing_mark_write: E 23833 surfaceflinger-610 ( 610) [000] ...1 158021.576068: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23834 HwBinder:612_3-11297 ( 612) [007] ...1 158021.576099: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23835 HwBinder:612_3-11297 ( 612) [007] ...1 158021.576104: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23836 HwBinder:612_3-11297 ( 612) [007] ...1 158021.576110: tracing_mark_write: B|612|HWDevice::Commit:: 23837 HwBinder:612_3-11297 ( 612) [007] ...1 158021.576156: tracing_mark_write: E 23838 HwBinder:612_3-11297 ( 612) [007] ...1 158021.576164: tracing_mark_write: E 23839 HwBinder:612_3-11297 ( 612) [007] ...1 158021.576175: tracing_mark_write: E 23840 surfaceflinger-610 ( 610) [000] ...1 158021.576214: tracing_mark_write: E 23841 sensors@1.0-se-755 ( 755) [005] ...1 158021.582382: tracing_mark_write: E 23842 SensorService-1249 ( 1136) [001] ...1 158021.582440: tracing_mark_write: E 23843 SensorService-1249 ( 1136) [001] ...1 158021.582512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23844 sensors@1.0-se-755 ( 755) [005] ...1 158021.582558: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23845 MobileIQWorker-13581 (13531) [004] ...1 158021.587042: tracing_mark_write: E 23846 MobileIQWorker-13581 (13531) [007] ...1 158021.588040: tracing_mark_write: E 23847 MobileIQWorker-13581 (13531) [007] ...1 158021.589020: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized 23848 Binder:1136_9-1633 ( 1136) [006] ...1 158021.589151: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23849 Binder:1136_9-1633 ( 1136) [006] ...1 158021.589184: tracing_mark_write: E 23850 power@1.1-serv-754 ( 754) [007] ...1 158021.592018: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23851 power@1.1-serv-754 ( 754) [007] ...1 158021.592090: tracing_mark_write: E 23852 surfaceflinger-610 ( 610) [000] ...1 158021.592200: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23853 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592293: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23854 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592342: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23855 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592347: tracing_mark_write: E 23856 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592350: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23857 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592529: tracing_mark_write: B|612|HWDevice::Validate:: 23858 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592576: tracing_mark_write: E 23859 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592586: tracing_mark_write: E 23860 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592598: tracing_mark_write: E 23861 surfaceflinger-610 ( 610) [000] ...1 158021.592637: tracing_mark_write: E 23862 surfaceflinger-610 ( 610) [000] ...1 158021.592711: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23863 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592746: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23864 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592751: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23865 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592757: tracing_mark_write: B|612|HWDevice::Commit:: 23866 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592802: tracing_mark_write: E 23867 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592811: tracing_mark_write: E 23868 HwBinder:612_3-11297 ( 612) [007] ...1 158021.592822: tracing_mark_write: E 23869 surfaceflinger-610 ( 610) [000] ...1 158021.592860: tracing_mark_write: E 23870 sensors@1.0-se-755 ( 755) [006] ...1 158021.602372: tracing_mark_write: E 23871 SensorService-1249 ( 1136) [001] ...1 158021.602427: tracing_mark_write: E 23872 SensorService-1249 ( 1136) [001] ...1 158021.602486: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23873 sensors@1.0-se-755 ( 755) [006] ...1 158021.602532: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23874 surfaceflinger-610 ( 610) [000] ...1 158021.608833: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23875 HwBinder:612_3-11297 ( 612) [007] ...1 158021.608908: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23876 HwBinder:612_3-11297 ( 612) [007] ...1 158021.608956: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23877 HwBinder:612_3-11297 ( 612) [007] ...1 158021.608961: tracing_mark_write: E 23878 HwBinder:612_3-11297 ( 612) [007] ...1 158021.608964: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23879 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609147: tracing_mark_write: B|612|HWDevice::Validate:: 23880 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609190: tracing_mark_write: E 23881 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609202: tracing_mark_write: E 23882 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609216: tracing_mark_write: E 23883 surfaceflinger-610 ( 610) [000] ...1 158021.609251: tracing_mark_write: E 23884 surfaceflinger-610 ( 610) [000] ...1 158021.609294: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23885 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609326: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23886 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609332: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23887 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609338: tracing_mark_write: B|612|HWDevice::Commit:: 23888 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609386: tracing_mark_write: E 23889 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609395: tracing_mark_write: E 23890 HwBinder:612_3-11297 ( 612) [007] ...1 158021.609406: tracing_mark_write: E 23891 surfaceflinger-610 ( 610) [000] ...1 158021.609444: tracing_mark_write: E 23892 sensors@1.0-se-755 ( 755) [006] ...1 158021.622398: tracing_mark_write: E 23893 SensorService-1249 ( 1136) [001] ...1 158021.622439: tracing_mark_write: E 23894 SensorService-1249 ( 1136) [001] ...1 158021.622479: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23895 sensors@1.0-se-755 ( 755) [006] ...1 158021.622519: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23896 surfaceflinger-610 ( 610) [000] ...1 158021.625626: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23897 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625697: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23898 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625727: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough 23899 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625746: tracing_mark_write: E 23900 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625788: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23901 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625793: tracing_mark_write: E 23902 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625795: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23903 HwBinder:612_3-11297 ( 612) [007] ...1 158021.625971: tracing_mark_write: B|612|HWDevice::Validate:: 23904 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626015: tracing_mark_write: E 23905 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626026: tracing_mark_write: E 23906 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626038: tracing_mark_write: E 23907 surfaceflinger-610 ( 610) [000] ...1 158021.626072: tracing_mark_write: E 23908 surfaceflinger-610 ( 610) [000] ...1 158021.626111: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23909 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626145: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23910 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626150: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23911 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626156: tracing_mark_write: B|612|HWDevice::Commit:: 23912 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626238: tracing_mark_write: E 23913 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626247: tracing_mark_write: E 23914 HwBinder:612_3-11297 ( 612) [007] ...1 158021.626257: tracing_mark_write: E 23915 surfaceflinger-610 ( 610) [000] ...1 158021.626295: tracing_mark_write: E 23916 Binder:1136_9-1633 ( 1136) [006] ...1 158021.629214: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23917 Binder:1136_9-1633 ( 1136) [006] ...1 158021.629243: tracing_mark_write: E 23918 power@1.1-serv-754 ( 754) [007] ...1 158021.629264: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23919 power@1.1-serv-754 ( 754) [007] ...1 158021.629339: tracing_mark_write: E 23920 surfaceflinger-610 ( 610) [000] ...1 158021.642242: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23921 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642307: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23922 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642349: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23923 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642353: tracing_mark_write: E 23924 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642356: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23925 sensors@1.0-se-755 ( 755) [006] ...1 158021.642458: tracing_mark_write: E 23926 SensorService-1249 ( 1136) [001] ...1 158021.642502: tracing_mark_write: E 23927 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642521: tracing_mark_write: B|612|HWDevice::Validate:: 23928 SensorService-1249 ( 1136) [001] ...1 158021.642544: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23929 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642563: tracing_mark_write: E 23930 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642574: tracing_mark_write: E 23931 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642584: tracing_mark_write: E 23932 sensors@1.0-se-755 ( 755) [006] ...1 158021.642586: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23933 surfaceflinger-610 ( 610) [000] ...1 158021.642616: tracing_mark_write: E 23934 surfaceflinger-610 ( 610) [000] ...1 158021.642657: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23935 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642692: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23936 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642698: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23937 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642704: tracing_mark_write: B|612|HWDevice::Commit:: 23938 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642792: tracing_mark_write: E 23939 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642803: tracing_mark_write: E 23940 HwBinder:612_3-11297 ( 612) [007] ...1 158021.642815: tracing_mark_write: E 23941 surfaceflinger-610 ( 610) [000] ...1 158021.642851: tracing_mark_write: E 23942 surfaceflinger-610 ( 610) [000] ...1 158021.658904: tracing_mark_write: B|610|HIDL::IComposerClient::destroyLayer::client 23943 HwBinder:612_3-11297 ( 612) [007] ...1 158021.658951: tracing_mark_write: B|612|HIDL::IComposerClient::destroyLayer::server 23944 HwBinder:612_3-11297 ( 612) [007] ...1 158021.658967: tracing_mark_write: E 23945 surfaceflinger-610 ( 610) [000] ...1 158021.658993: tracing_mark_write: E 23946 surfaceflinger-610 ( 610) [000] ...1 158021.659060: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23947 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659101: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23948 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659135: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23949 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659139: tracing_mark_write: E 23950 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659141: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 23951 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659296: tracing_mark_write: B|612|HWDevice::Validate:: 23952 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659341: tracing_mark_write: E 23953 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659350: tracing_mark_write: E 23954 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659361: tracing_mark_write: E 23955 surfaceflinger-610 ( 610) [000] ...1 158021.659391: tracing_mark_write: E 23956 surfaceflinger-610 ( 610) [000] ...1 158021.659425: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23957 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659458: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23958 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659462: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23959 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659468: tracing_mark_write: B|612|HWDevice::Commit:: 23960 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659550: tracing_mark_write: E 23961 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659559: tracing_mark_write: E 23962 HwBinder:612_3-11297 ( 612) [007] ...1 158021.659568: tracing_mark_write: E 23963 surfaceflinger-610 ( 610) [000] ...1 158021.659605: tracing_mark_write: E 23964 sensors@1.0-se-755 ( 755) [006] ...1 158021.662436: tracing_mark_write: E 23965 SensorService-1249 ( 1136) [001] ...1 158021.662474: tracing_mark_write: E 23966 SensorService-1249 ( 1136) [001] ...1 158021.662508: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23967 sensors@1.0-se-755 ( 755) [006] ...1 158021.662547: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23968 MobileIQWorker-13581 (13531) [004] ...1 158021.665993: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 23969 surfaceflinger-610 ( 610) [002] ...1 158021.675777: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23970 HwBinder:612_3-11297 ( 612) [007] ...1 158021.675893: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23971 HwBinder:612_3-11297 ( 612) [007] ...1 158021.675940: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23972 HwBinder:612_3-11297 ( 612) [007] ...1 158021.675955: tracing_mark_write: B|612|HWDevice::Commit:: 23973 HwBinder:612_3-11297 ( 612) [007] ...1 158021.676066: tracing_mark_write: E 23974 HwBinder:612_3-11297 ( 612) [007] ...1 158021.676082: tracing_mark_write: E 23975 HwBinder:612_3-11297 ( 612) [007] ...1 158021.676102: tracing_mark_write: E 23976 surfaceflinger-610 ( 610) [000] ...1 158021.676166: tracing_mark_write: E 23977 sensors@1.0-se-755 ( 755) [006] ...1 158021.682514: tracing_mark_write: E 23978 SensorService-1249 ( 1136) [001] ...1 158021.682595: tracing_mark_write: E 23979 SensorService-1249 ( 1136) [001] ...1 158021.682679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23980 sensors@1.0-se-755 ( 755) [006] ...1 158021.682734: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23981 surfaceflinger-610 ( 610) [000] ...1 158021.692478: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 23982 HwBinder:612_3-11297 ( 612) [007] ...1 158021.692588: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 23983 HwBinder:612_3-11297 ( 612) [007] ...1 158021.692635: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 23984 HwBinder:612_3-11297 ( 612) [007] ...1 158021.692650: tracing_mark_write: B|612|HWDevice::Commit:: 23985 HwBinder:612_3-11297 ( 612) [007] ...1 158021.692741: tracing_mark_write: E 23986 HwBinder:612_3-11297 ( 612) [007] ...1 158021.692757: tracing_mark_write: E 23987 HwBinder:612_3-11297 ( 612) [007] ...1 158021.692775: tracing_mark_write: E 23988 surfaceflinger-610 ( 610) [000] ...1 158021.692826: tracing_mark_write: E 23989 sensors@1.0-se-755 ( 755) [006] ...1 158021.702547: tracing_mark_write: E 23990 SensorService-1249 ( 1136) [001] ...1 158021.702626: tracing_mark_write: E 23991 SensorService-1249 ( 1136) [001] ...1 158021.702708: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 23992 sensors@1.0-se-755 ( 755) [006] ...1 158021.702764: tracing_mark_write: B|755|HIDL::ISensors::poll::server 23993 MobileIQWorker-13581 (13531) [004] ...1 158021.704764: tracing_mark_write: E 23994 MobileIQWorker-13581 (13531) [004] ...1 158021.705704: tracing_mark_write: E 23995 MobileIQWorker-13581 (13531) [004] ...1 158021.706681: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized 23996 Binder:1136_9-1633 ( 1136) [006] ...1 158021.706843: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 23997 Binder:1136_9-1633 ( 1136) [006] ...1 158021.706877: tracing_mark_write: E 23998 power@1.1-serv-754 ( 754) [005] ...1 158021.706904: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 23999 power@1.1-serv-754 ( 754) [005] ...1 158021.706971: tracing_mark_write: E 24000 surfaceflinger-610 ( 610) [000] ...1 158021.709123: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24001 HwBinder:612_3-11297 ( 612) [007] ...1 158021.709215: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24002 HwBinder:612_3-11297 ( 612) [007] ...1 158021.709260: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24003 HwBinder:612_3-11297 ( 612) [007] ...1 158021.709273: tracing_mark_write: B|612|HWDevice::Commit:: 24004 HwBinder:612_3-11297 ( 612) [007] ...1 158021.709369: tracing_mark_write: E 24005 HwBinder:612_3-11297 ( 612) [007] ...1 158021.709385: tracing_mark_write: E 24006 HwBinder:612_3-11297 ( 612) [007] ...1 158021.709403: tracing_mark_write: E 24007 surfaceflinger-610 ( 610) [000] ...1 158021.709452: tracing_mark_write: E 24008 android.anim-1244 ( 1136) [004] ...1 158021.710044: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24009 android.anim-1244 ( 1136) [004] ...1 158021.710068: tracing_mark_write: E 24010 power@1.1-serv-754 ( 754) [005] ...1 158021.710079: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24011 power@1.1-serv-754 ( 754) [005] ...1 158021.710139: tracing_mark_write: B|754|Acquire 24012 power@1.1-serv-754 ( 754) [005] ...1 158021.710482: tracing_mark_write: C|754|interaction_lock|1 24013 power@1.1-serv-754 ( 754) [005] ...1 158021.710491: tracing_mark_write: E 24014 power@1.1-serv-754 ( 754) [005] ...1 158021.710492: tracing_mark_write: E 24015 android.hardwa-781 ( 754) [004] ...1 158021.710501: tracing_mark_write: B|754|WaitForIdle 24016 PhotonicModula-1317 ( 1136) [001] ...1 158021.721972: tracing_mark_write: B|1136|HIDL::IBase::ping::client 24017 light@2.0-serv-743 ( 743) [002] ...1 158021.722101: tracing_mark_write: B|743|HIDL::IBase::ping::server 24018 light@2.0-serv-743 ( 743) [002] ...1 158021.722105: tracing_mark_write: E 24019 PhotonicModula-1317 ( 1136) [001] ...1 158021.722160: tracing_mark_write: E 24020 PhotonicModula-1317 ( 1136) [001] ...1 158021.722177: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 24021 light@2.0-serv-743 ( 743) [002] ...1 158021.722218: tracing_mark_write: B|743|HIDL::ILight::setLight::server 24022 sensors@1.0-se-755 ( 755) [006] ...1 158021.722509: tracing_mark_write: E 24023 SensorService-1249 ( 1136) [001] ...1 158021.722555: tracing_mark_write: E 24024 SensorService-1249 ( 1136) [001] ...1 158021.722608: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24025 sensors@1.0-se-755 ( 755) [006] ...1 158021.722649: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24026 surfaceflinger-610 ( 610) [000] ...1 158021.726043: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24027 HwBinder:612_3-11297 ( 612) [007] ...1 158021.726128: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24028 HwBinder:612_3-11297 ( 612) [007] ...1 158021.726176: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24029 HwBinder:612_3-11297 ( 612) [007] ...1 158021.726191: tracing_mark_write: B|612|HWDevice::Commit:: 24030 HwBinder:612_3-11297 ( 612) [007] ...1 158021.726287: tracing_mark_write: E 24031 HwBinder:612_3-11297 ( 612) [007] ...1 158021.726303: tracing_mark_write: E 24032 HwBinder:612_3-11297 ( 612) [007] ...1 158021.726322: tracing_mark_write: E 24033 surfaceflinger-610 ( 610) [000] ...1 158021.726368: tracing_mark_write: E 24034 light@2.0-serv-743 ( 743) [000] ...1 158021.735853: tracing_mark_write: E 24035 PhotonicModula-1317 ( 1136) [001] ...1 158021.735916: tracing_mark_write: E 24036 PhotonicModula-1317 ( 1136) [001] ...1 158021.738703: tracing_mark_write: B|1136|HIDL::IBase::ping::client 24037 light@2.0-serv-743 ( 743) [003] ...1 158021.738788: tracing_mark_write: B|743|HIDL::IBase::ping::server 24038 light@2.0-serv-743 ( 743) [003] ...1 158021.738792: tracing_mark_write: E 24039 PhotonicModula-1317 ( 1136) [000] ...1 158021.738840: tracing_mark_write: E 24040 PhotonicModula-1317 ( 1136) [000] ...1 158021.738856: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 24041 light@2.0-serv-743 ( 743) [003] ...1 158021.738899: tracing_mark_write: B|743|HIDL::ILight::setLight::server 24042 sensors@1.0-se-755 ( 755) [001] ...1 158021.742720: tracing_mark_write: E 24043 SensorService-1249 ( 1136) [003] ...1 158021.742795: tracing_mark_write: E 24044 SensorService-1249 ( 1136) [003] ...1 158021.742860: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24045 sensors@1.0-se-755 ( 755) [001] ...1 158021.742916: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24046 surfaceflinger-610 ( 610) [000] ...1 158021.742928: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 24047 surfaceflinger-610 ( 610) [000] ...1 158021.742941: tracing_mark_write: B|610|FreeBuffer 24048 surfaceflinger-610 ( 610) [000] ...1 158021.742952: tracing_mark_write: E 24049 surfaceflinger-610 ( 610) [000] ...1 158021.742955: tracing_mark_write: B|610|FreeBuffer 24050 surfaceflinger-610 ( 610) [000] ...1 158021.742980: tracing_mark_write: E 24051 surfaceflinger-610 ( 610) [000] ...1 158021.742986: tracing_mark_write: E 24052 surfaceflinger-610 ( 610) [000] ...1 158021.743249: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24053 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743343: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24054 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743391: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24055 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743396: tracing_mark_write: E 24056 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743399: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 24057 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743584: tracing_mark_write: B|612|HWDevice::Validate:: 24058 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743638: tracing_mark_write: E 24059 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743648: tracing_mark_write: E 24060 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743662: tracing_mark_write: E 24061 surfaceflinger-610 ( 610) [000] ...1 158021.743708: tracing_mark_write: E 24062 surfaceflinger-610 ( 610) [000] ...1 158021.743771: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24063 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743808: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24064 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743814: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24065 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743821: tracing_mark_write: B|612|HWDevice::Commit:: 24066 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743866: tracing_mark_write: E 24067 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743875: tracing_mark_write: E 24068 HwBinder:612_3-11297 ( 612) [007] ...1 158021.743885: tracing_mark_write: E 24069 surfaceflinger-610 ( 610) [000] ...1 158021.743923: tracing_mark_write: E 24070 light@2.0-serv-743 ( 743) [000] ...1 158021.752595: tracing_mark_write: E 24071 PhotonicModula-1317 ( 1136) [001] ...1 158021.752675: tracing_mark_write: E 24072 PhotonicModula-1317 ( 1136) [001] ...1 158021.755480: tracing_mark_write: B|1136|HIDL::IBase::ping::client 24073 light@2.0-serv-743 ( 743) [002] ...1 158021.755566: tracing_mark_write: B|743|HIDL::IBase::ping::server 24074 light@2.0-serv-743 ( 743) [002] ...1 158021.755570: tracing_mark_write: E 24075 PhotonicModula-1317 ( 1136) [000] ...1 158021.755613: tracing_mark_write: E 24076 PhotonicModula-1317 ( 1136) [000] ...1 158021.755630: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 24077 light@2.0-serv-743 ( 743) [002] ...1 158021.755672: tracing_mark_write: B|743|HIDL::ILight::setLight::server 24078 surfaceflinger-610 ( 610) [000] ...1 158021.759649: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24079 HwBinder:612_3-11297 ( 612) [007] ...1 158021.759800: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24080 HwBinder:612_3-11297 ( 612) [007] ...1 158021.759849: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24081 HwBinder:612_3-11297 ( 612) [007] ...1 158021.759855: tracing_mark_write: E 24082 HwBinder:612_3-11297 ( 612) [007] ...1 158021.759858: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 24083 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760034: tracing_mark_write: B|612|HWDevice::Validate:: 24084 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760075: tracing_mark_write: E 24085 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760085: tracing_mark_write: E 24086 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760099: tracing_mark_write: E 24087 surfaceflinger-610 ( 610) [000] ...1 158021.760147: tracing_mark_write: E 24088 surfaceflinger-610 ( 610) [000] ...1 158021.760216: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24089 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760254: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24090 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760260: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24091 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760266: tracing_mark_write: B|612|HWDevice::Commit:: 24092 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760310: tracing_mark_write: E 24093 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760319: tracing_mark_write: E 24094 HwBinder:612_3-11297 ( 612) [007] ...1 158021.760329: tracing_mark_write: E 24095 surfaceflinger-610 ( 610) [000] ...1 158021.760368: tracing_mark_write: E 24096 sensors@1.0-se-755 ( 755) [002] ...1 158021.762698: tracing_mark_write: E 24097 SensorService-1249 ( 1136) [003] ...1 158021.762783: tracing_mark_write: E 24098 SensorService-1249 ( 1136) [003] ...1 158021.762870: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24099 sensors@1.0-se-755 ( 755) [000] ...1 158021.762938: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24100 light@2.0-serv-743 ( 743) [000] ...1 158021.769369: tracing_mark_write: E 24101 PhotonicModula-1317 ( 1136) [002] ...1 158021.769466: tracing_mark_write: E 24102 PhotonicModula-1317 ( 1136) [002] ...1 158021.772293: tracing_mark_write: B|1136|HIDL::IBase::ping::client 24103 light@2.0-serv-743 ( 743) [000] ...1 158021.772394: tracing_mark_write: B|743|HIDL::IBase::ping::server 24104 light@2.0-serv-743 ( 743) [000] ...1 158021.772398: tracing_mark_write: E 24105 PhotonicModula-1317 ( 1136) [002] ...1 158021.772445: tracing_mark_write: E 24106 PhotonicModula-1317 ( 1136) [002] ...1 158021.772462: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 24107 light@2.0-serv-743 ( 743) [000] ...1 158021.772506: tracing_mark_write: B|743|HIDL::ILight::setLight::server 24108 sensors@1.0-se-755 ( 755) [000] ...1 158021.782698: tracing_mark_write: E 24109 SensorService-1249 ( 1136) [003] ...1 158021.782782: tracing_mark_write: E 24110 Binder:1136_9-1633 ( 1136) [006] ...1 158021.782831: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24111 SensorService-1249 ( 1136) [003] ...1 158021.782859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24112 Binder:1136_9-1633 ( 1136) [006] ...1 158021.782870: tracing_mark_write: E 24113 power@1.1-serv-754 ( 754) [005] ...1 158021.782895: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24114 sensors@1.0-se-755 ( 755) [000] ...1 158021.782907: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24115 power@1.1-serv-754 ( 754) [005] ...1 158021.783015: tracing_mark_write: E 24116 light@2.0-serv-743 ( 743) [005] ...1 158021.786517: tracing_mark_write: E 24117 PhotonicModula-1317 ( 1136) [007] ...1 158021.786577: tracing_mark_write: E 24118 MobileIQWorker-13581 (13531) [004] ...1 158021.787252: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24119 PhotonicModula-1317 ( 1136) [006] ...1 158021.789041: tracing_mark_write: B|1136|HIDL::IBase::ping::client 24120 light@2.0-serv-743 ( 743) [006] ...1 158021.789111: tracing_mark_write: B|743|HIDL::IBase::ping::server 24121 light@2.0-serv-743 ( 743) [006] ...1 158021.789113: tracing_mark_write: E 24122 PhotonicModula-1317 ( 1136) [006] ...1 158021.789149: tracing_mark_write: E 24123 PhotonicModula-1317 ( 1136) [006] ...1 158021.789159: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 24124 light@2.0-serv-743 ( 743) [006] ...1 158021.789185: tracing_mark_write: B|743|HIDL::ILight::setLight::server 24125 light@2.0-serv-743 ( 743) [006] ...1 158021.792111: tracing_mark_write: E 24126 PhotonicModula-1317 ( 1136) [006] ...1 158021.792148: tracing_mark_write: E 24127 sensors@1.0-se-755 ( 755) [000] ...1 158021.802729: tracing_mark_write: E 24128 SensorService-1249 ( 1136) [003] ...1 158021.802824: tracing_mark_write: E 24129 SensorService-1249 ( 1136) [003] ...1 158021.802913: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24130 sensors@1.0-se-755 ( 755) [000] ...1 158021.802965: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24131 PhotonicModula-1317 ( 1136) [006] ...1 158021.805611: tracing_mark_write: B|1136|HIDL::IBase::ping::client 24132 light@2.0-serv-743 ( 743) [006] ...1 158021.805677: tracing_mark_write: B|743|HIDL::IBase::ping::server 24133 light@2.0-serv-743 ( 743) [006] ...1 158021.805679: tracing_mark_write: E 24134 PhotonicModula-1317 ( 1136) [006] ...1 158021.805727: tracing_mark_write: E 24135 PhotonicModula-1317 ( 1136) [006] ...1 158021.805737: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 24136 light@2.0-serv-743 ( 743) [006] ...1 158021.805765: tracing_mark_write: B|743|HIDL::ILight::setLight::server 24137 light@2.0-serv-743 ( 743) [006] ...1 158021.808723: tracing_mark_write: E 24138 PhotonicModula-1317 ( 1136) [006] ...1 158021.808800: tracing_mark_write: E 24139 sensors@1.0-se-755 ( 755) [001] ...1 158021.822699: tracing_mark_write: E 24140 SensorService-1249 ( 1136) [003] ...1 158021.822803: tracing_mark_write: E 24141 SensorService-1249 ( 1136) [003] ...1 158021.822886: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24142 sensors@1.0-se-755 ( 755) [001] ...1 158021.822937: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24143 Binder:1136_9-1633 ( 1136) [006] ...1 158021.829126: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24144 Binder:1136_9-1633 ( 1136) [006] ...1 158021.829169: tracing_mark_write: E 24145 power@1.1-serv-754 ( 754) [007] ...1 158021.829194: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24146 power@1.1-serv-754 ( 754) [007] ...1 158021.829282: tracing_mark_write: E 24147 sensors@1.0-se-755 ( 755) [001] ...1 158021.842744: tracing_mark_write: E 24148 SensorService-1249 ( 1136) [003] ...1 158021.842827: tracing_mark_write: E 24149 SensorService-1249 ( 1136) [003] ...1 158021.842907: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24150 sensors@1.0-se-755 ( 755) [001] ...1 158021.842961: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24151 android.hardwa-781 ( 754) [004] ...1 158021.857587: tracing_mark_write: E 24152 android.hardwa-781 ( 754) [004] ...1 158021.857605: tracing_mark_write: B|754|Release 24153 android.hardwa-781 ( 754) [004] ...1 158021.857779: tracing_mark_write: C|754|interaction_lock|0 24154 android.hardwa-781 ( 754) [004] ...1 158021.857780: tracing_mark_write: E 24155 sensors@1.0-se-755 ( 755) [004] ...1 158021.862639: tracing_mark_write: E 24156 SensorService-1249 ( 1136) [003] ...1 158021.862714: tracing_mark_write: E 24157 SensorService-1249 ( 1136) [003] ...1 158021.862786: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24158 sensors@1.0-se-755 ( 755) [004] ...1 158021.862838: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24159 MobileIQWorker-13581 (13531) [004] ...1 158021.866391: tracing_mark_write: E 24160 MobileIQWorker-13581 (13531) [005] ...1 158021.867403: tracing_mark_write: E 24161 Binder:1136_9-1633 ( 1136) [006] ...1 158021.869088: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24162 Binder:1136_9-1633 ( 1136) [006] ...1 158021.869123: tracing_mark_write: E 24163 power@1.1-serv-754 ( 754) [004] ...1 158021.869148: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24164 MobileIQWorker-13581 (13531) [005] ...1 158021.869175: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized 24165 power@1.1-serv-754 ( 754) [004] ...1 158021.869226: tracing_mark_write: E 24166 Binder:1136_9-1633 ( 1136) [002] ...1 158021.877289: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24167 Binder:1136_9-1633 ( 1136) [002] ...1 158021.877336: tracing_mark_write: E 24168 power@1.1-serv-754 ( 754) [004] ...1 158021.877357: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24169 power@1.1-serv-754 ( 754) [004] ...1 158021.877427: tracing_mark_write: E 24170 sensors@1.0-se-755 ( 755) [004] ...1 158021.882652: tracing_mark_write: E 24171 SensorService-1249 ( 1136) [003] ...1 158021.882704: tracing_mark_write: E 24172 SensorService-1249 ( 1136) [003] ...1 158021.882773: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24173 sensors@1.0-se-755 ( 755) [004] ...1 158021.882816: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24174 surfaceflinger-610 ( 610) [000] ...1 158021.893231: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24175 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893318: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24176 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893360: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24177 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893367: tracing_mark_write: E 24178 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893369: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 24179 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893550: tracing_mark_write: B|612|HWDevice::Validate:: 24180 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893590: tracing_mark_write: E 24181 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893601: tracing_mark_write: E 24182 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893613: tracing_mark_write: E 24183 surfaceflinger-610 ( 610) [000] ...1 158021.893653: tracing_mark_write: E 24184 surfaceflinger-610 ( 610) [000] ...1 158021.893711: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24185 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893746: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24186 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893752: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24187 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893759: tracing_mark_write: B|612|HWDevice::Commit:: 24188 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893805: tracing_mark_write: E 24189 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893814: tracing_mark_write: E 24190 HwBinder:612_3-11297 ( 612) [007] ...1 158021.893825: tracing_mark_write: E 24191 surfaceflinger-610 ( 610) [000] ...1 158021.893861: tracing_mark_write: E 24192 sensors@1.0-se-755 ( 755) [004] ...1 158021.902631: tracing_mark_write: E 24193 SensorService-1249 ( 1136) [003] ...1 158021.902671: tracing_mark_write: E 24194 SensorService-1249 ( 1136) [003] ...1 158021.902722: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24195 sensors@1.0-se-755 ( 755) [004] ...1 158021.902761: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24196 Binder:1136_9-1633 ( 1136) [003] ...1 158021.909164: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24197 Binder:1136_9-1633 ( 1136) [003] ...1 158021.909194: tracing_mark_write: E 24198 power@1.1-serv-754 ( 754) [004] ...1 158021.909215: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24199 power@1.1-serv-754 ( 754) [004] ...1 158021.909295: tracing_mark_write: E 24200 Binder:1136_9-1633 ( 1136) [001] ...1 158021.917269: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24201 Binder:1136_9-1633 ( 1136) [001] ...1 158021.917294: tracing_mark_write: E 24202 power@1.1-serv-754 ( 754) [004] ...1 158021.917305: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24203 power@1.1-serv-754 ( 754) [004] ...1 158021.917347: tracing_mark_write: E 24204 sensors@1.0-se-755 ( 755) [004] ...1 158021.922660: tracing_mark_write: E 24205 SensorService-1249 ( 1136) [003] ...1 158021.922697: tracing_mark_write: E 24206 SensorService-1249 ( 1136) [003] ...1 158021.922736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24207 sensors@1.0-se-755 ( 755) [004] ...1 158021.922774: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24208 sensors@1.0-se-755 ( 755) [004] ...1 158021.942710: tracing_mark_write: E 24209 SensorService-1249 ( 1136) [003] ...1 158021.942742: tracing_mark_write: E 24210 SensorService-1249 ( 1136) [003] ...1 158021.942769: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24211 sensors@1.0-se-755 ( 755) [004] ...1 158021.942805: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24212 MobileIQWorker-13581 (13531) [005] ...1 158021.947481: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24213 sensors@1.0-se-755 ( 755) [001] ...1 158021.962863: tracing_mark_write: E 24214 SensorService-1249 ( 1136) [003] ...1 158021.962952: tracing_mark_write: E 24215 SensorService-1249 ( 1136) [003] ...1 158021.963039: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24216 sensors@1.0-se-755 ( 755) [001] ...1 158021.963095: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24217 sensors@1.0-se-755 ( 755) [001] ...1 158021.982848: tracing_mark_write: E 24218 SensorService-1249 ( 1136) [003] ...1 158021.982932: tracing_mark_write: E 24219 SensorService-1249 ( 1136) [003] ...1 158021.983017: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24220 sensors@1.0-se-755 ( 755) [001] ...1 158021.983074: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24221 sensors@1.0-se-755 ( 755) [000] ...1 158022.002793: tracing_mark_write: E 24222 SensorService-1249 ( 1136) [003] ...1 158022.002876: tracing_mark_write: E 24223 SensorService-1249 ( 1136) [003] ...1 158022.002957: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24224 sensors@1.0-se-755 ( 755) [000] ...1 158022.003011: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24225 sensors@1.0-se-755 ( 755) [000] ...1 158022.022765: tracing_mark_write: E 24226 SensorService-1249 ( 1136) [003] ...1 158022.022818: tracing_mark_write: E 24227 SensorService-1249 ( 1136) [003] ...1 158022.022880: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24228 sensors@1.0-se-755 ( 755) [000] ...1 158022.022927: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24229 sensors@1.0-se-755 ( 755) [000] ...1 158022.042885: tracing_mark_write: E 24230 SensorService-1249 ( 1136) [003] ...1 158022.042966: tracing_mark_write: E 24231 SensorService-1249 ( 1136) [003] ...1 158022.043043: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24232 sensors@1.0-se-755 ( 755) [000] ...1 158022.043095: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24233 MobileIQWorker-13581 (13531) [005] ...1 158022.048107: tracing_mark_write: E 24234 MobileIQWorker-13581 (13531) [005] ...1 158022.049056: tracing_mark_write: E 24235 Binder:1136_9-1633 ( 1136) [001] ...1 158022.050184: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24236 Binder:1136_9-1633 ( 1136) [001] ...1 158022.050223: tracing_mark_write: E 24237 power@1.1-serv-754 ( 754) [002] ...1 158022.050249: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24238 power@1.1-serv-754 ( 754) [002] ...1 158022.050369: tracing_mark_write: E 24239 Binder:1136_9-1633 ( 1136) [001] ...1 158022.061589: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24240 Binder:1136_9-1633 ( 1136) [001] ...1 158022.061615: tracing_mark_write: E 24241 power@1.1-serv-754 ( 754) [002] ...1 158022.061630: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24242 MobileIQWorker-13581 (13531) [005] ...1 158022.061659: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float 24243 power@1.1-serv-754 ( 754) [002] ...1 158022.061683: tracing_mark_write: E 24244 sensors@1.0-se-755 ( 755) [002] ...1 158022.062886: tracing_mark_write: E 24245 SensorService-1249 ( 1136) [003] ...1 158022.062931: tracing_mark_write: E 24246 SensorService-1249 ( 1136) [003] ...1 158022.062983: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24247 sensors@1.0-se-755 ( 755) [002] ...1 158022.063023: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24248 surfaceflinger-610 ( 610) [000] ...1 158022.077278: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24249 HwBinder:612_3-11297 ( 612) [007] ...1 158022.077376: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24250 HwBinder:612_3-11297 ( 612) [007] ...1 158022.077419: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24251 HwBinder:612_3-11297 ( 612) [007] ...1 158022.077434: tracing_mark_write: B|612|HWDevice::Commit:: 24252 HwBinder:612_3-11297 ( 612) [007] ...1 158022.077556: tracing_mark_write: E 24253 HwBinder:612_3-11297 ( 612) [007] ...1 158022.077571: tracing_mark_write: E 24254 HwBinder:612_3-11297 ( 612) [007] ...1 158022.077589: tracing_mark_write: E 24255 surfaceflinger-610 ( 610) [000] ...1 158022.077639: tracing_mark_write: E 24256 sensors@1.0-se-755 ( 755) [003] ...1 158022.082871: tracing_mark_write: E 24257 SensorService-1249 ( 1136) [000] ...1 158022.082929: tracing_mark_write: E 24258 SensorService-1249 ( 1136) [000] ...1 158022.082988: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24259 sensors@1.0-se-755 ( 755) [003] ...1 158022.083032: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24260 Binder:1136_9-1633 ( 1136) [001] ...1 158022.090253: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24261 Binder:1136_9-1633 ( 1136) [001] ...1 158022.090285: tracing_mark_write: E 24262 power@1.1-serv-754 ( 754) [007] ...1 158022.090318: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24263 power@1.1-serv-754 ( 754) [007] ...1 158022.090404: tracing_mark_write: E 24264 Binder:1136_9-1633 ( 1136) [001] ...1 158022.101633: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24265 Binder:1136_9-1633 ( 1136) [001] ...1 158022.101656: tracing_mark_write: E 24266 power@1.1-serv-754 ( 754) [007] ...1 158022.101676: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24267 power@1.1-serv-754 ( 754) [007] ...1 158022.101731: tracing_mark_write: E 24268 sensors@1.0-se-755 ( 755) [003] ...1 158022.102861: tracing_mark_write: E 24269 SensorService-1249 ( 1136) [000] ...1 158022.103311: tracing_mark_write: E 24270 SensorService-1249 ( 1136) [000] ...1 158022.103357: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24271 sensors@1.0-se-755 ( 755) [003] ...1 158022.103394: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24272 sensors@1.0-se-755 ( 755) [003] ...1 158022.122844: tracing_mark_write: E 24273 SensorService-1249 ( 1136) [000] ...1 158022.122873: tracing_mark_write: E 24274 SensorService-1249 ( 1136) [000] ...1 158022.122906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24275 sensors@1.0-se-755 ( 755) [003] ...1 158022.122940: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24276 sensors@1.0-se-755 ( 755) [001] ...1 158022.142873: tracing_mark_write: E 24277 SensorService-1249 ( 1136) [000] ...1 158022.142902: tracing_mark_write: E 24278 SensorService-1249 ( 1136) [000] ...1 158022.142929: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24279 sensors@1.0-se-755 ( 755) [001] ...1 158022.142960: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24280 sensors@1.0-se-755 ( 755) [001] ...1 158022.162879: tracing_mark_write: E 24281 SensorService-1249 ( 1136) [000] ...1 158022.162908: tracing_mark_write: E 24282 SensorService-1249 ( 1136) [000] ...1 158022.162934: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24283 sensors@1.0-se-755 ( 755) [001] ...1 158022.162965: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24284 sensors@1.0-se-755 ( 755) [002] ...1 158022.182913: tracing_mark_write: E 24285 SensorService-1249 ( 1136) [000] ...1 158022.182948: tracing_mark_write: E 24286 SensorService-1249 ( 1136) [000] ...1 158022.182981: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24287 sensors@1.0-se-755 ( 755) [002] ...1 158022.183015: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24288 sensors@1.0-se-755 ( 755) [000] ...1 158022.202927: tracing_mark_write: E 24289 SensorService-1249 ( 1136) [001] ...1 158022.202961: tracing_mark_write: E 24290 SensorService-1249 ( 1136) [001] ...1 158022.202994: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24291 sensors@1.0-se-755 ( 755) [000] ...1 158022.203028: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24292 sensors@1.0-se-755 ( 755) [000] ...1 158022.225150: tracing_mark_write: E 24293 SensorService-1249 ( 1136) [001] ...1 158022.225583: tracing_mark_write: E 24294 SensorService-1249 ( 1136) [001] ...1 158022.225808: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24295 sensors@1.0-se-755 ( 755) [000] ...1 158022.226227: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24296 MobileIQWorker-13581 (13531) [005] ...1 158022.234020: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24297 sensors@1.0-se-755 ( 755) [000] ...1 158022.244634: tracing_mark_write: E 24298 SensorService-1249 ( 1136) [001] ...1 158022.244809: tracing_mark_write: E 24299 SensorService-1249 ( 1136) [001] ...1 158022.245037: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24300 sensors@1.0-se-755 ( 755) [000] ...1 158022.245569: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24301 sensors@1.0-se-755 ( 755) [000] ...1 158022.264968: tracing_mark_write: E 24302 SensorService-1249 ( 1136) [001] ...1 158022.265410: tracing_mark_write: E 24303 SensorService-1249 ( 1136) [001] ...1 158022.265691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24304 sensors@1.0-se-755 ( 755) [000] ...1 158022.266118: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24305 sensors@1.0-se-755 ( 755) [001] ...1 158022.285153: tracing_mark_write: E 24306 SensorService-1249 ( 1136) [002] ...1 158022.285419: tracing_mark_write: E 24307 SensorService-1249 ( 1136) [002] ...1 158022.285653: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24308 sensors@1.0-se-755 ( 755) [001] ...1 158022.286083: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24309 sensors@1.0-se-755 ( 755) [001] ...1 158022.304458: tracing_mark_write: E 24310 SensorService-1249 ( 1136) [002] ...1 158022.304937: tracing_mark_write: E 24311 SensorService-1249 ( 1136) [002] ...1 158022.305132: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24312 sensors@1.0-se-755 ( 755) [001] ...1 158022.305327: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24313 sensors@1.0-se-755 ( 755) [001] ...1 158022.325412: tracing_mark_write: E 24314 SensorService-1249 ( 1136) [002] ...1 158022.325877: tracing_mark_write: E 24315 SensorService-1249 ( 1136) [002] ...1 158022.326118: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24316 sensors@1.0-se-755 ( 755) [001] ...1 158022.326553: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24317 sensors@1.0-se-755 ( 755) [001] ...1 158022.346099: tracing_mark_write: E 24318 SensorService-1249 ( 1136) [002] ...1 158022.346658: tracing_mark_write: E 24319 SensorService-1249 ( 1136) [002] ...1 158022.346946: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24320 sensors@1.0-se-755 ( 755) [001] ...1 158022.347434: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24321 sensors@1.0-se-755 ( 755) [001] ...1 158022.366021: tracing_mark_write: E 24322 SensorService-1249 ( 1136) [002] ...1 158022.366557: tracing_mark_write: E 24323 SensorService-1249 ( 1136) [002] ...1 158022.366830: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24324 sensors@1.0-se-755 ( 755) [001] ...1 158022.367317: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24325 MobileIQWorker-13581 (13531) [005] ...1 158022.380398: tracing_mark_write: E 24326 MobileIQWorker-13581 (13531) [006] ...1 158022.381917: tracing_mark_write: E 24327 MobileIQWorker-13581 (13531) [006] ...1 158022.382959: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float 24328 Binder:1136_9-1633 ( 1136) [007] ...1 158022.384338: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24329 sensors@1.0-se-755 ( 755) [001] ...1 158022.384367: tracing_mark_write: E 24330 Binder:1136_9-1633 ( 1136) [007] ...1 158022.384477: tracing_mark_write: E 24331 SensorService-1249 ( 1136) [002] ...1 158022.384619: tracing_mark_write: E 24332 power@1.1-serv-754 ( 754) [007] ...1 158022.384723: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24333 SensorService-1249 ( 1136) [002] ...1 158022.384840: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24334 power@1.1-serv-754 ( 754) [007] ...1 158022.384977: tracing_mark_write: E 24335 sensors@1.0-se-755 ( 755) [001] ...1 158022.385053: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24336 Binder:1136_9-1633 ( 1136) [007] ...1 158022.398958: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24337 Binder:1136_9-1633 ( 1136) [007] ...1 158022.398997: tracing_mark_write: E 24338 power@1.1-serv-754 ( 754) [007] ...1 158022.399057: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24339 power@1.1-serv-754 ( 754) [007] ...1 158022.399139: tracing_mark_write: E 24340 sensors@1.0-se-755 ( 755) [001] ...1 158022.403670: tracing_mark_write: E 24341 SensorService-1249 ( 1136) [002] ...1 158022.403849: tracing_mark_write: E 24342 SensorService-1249 ( 1136) [002] ...1 158022.404036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24343 sensors@1.0-se-755 ( 755) [001] ...1 158022.404314: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24344 surfaceflinger-610 ( 610) [000] ...1 158022.412649: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24345 HwBinder:612_3-11297 ( 612) [007] ...1 158022.412883: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24346 HwBinder:612_3-11297 ( 612) [007] ...1 158022.412929: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24347 HwBinder:612_3-11297 ( 612) [007] ...1 158022.412944: tracing_mark_write: B|612|HWDevice::Commit:: 24348 HwBinder:612_3-11297 ( 612) [007] ...1 158022.413005: tracing_mark_write: E 24349 HwBinder:612_3-11297 ( 612) [007] ...1 158022.413021: tracing_mark_write: E 24350 HwBinder:612_3-11297 ( 612) [007] ...1 158022.413040: tracing_mark_write: E 24351 surfaceflinger-610 ( 610) [000] ...1 158022.413198: tracing_mark_write: E 24352 sensors@1.0-se-755 ( 755) [001] ...1 158022.423602: tracing_mark_write: E 24353 SensorService-1249 ( 1136) [002] ...1 158022.423796: tracing_mark_write: E 24354 SensorService-1249 ( 1136) [002] ...1 158022.424006: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24355 Binder:1136_9-1633 ( 1136) [007] ...1 158022.424266: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24356 sensors@1.0-se-755 ( 755) [001] ...1 158022.424279: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24357 Binder:1136_9-1633 ( 1136) [007] ...1 158022.424427: tracing_mark_write: E 24358 power@1.1-serv-754 ( 754) [007] ...1 158022.424661: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24359 power@1.1-serv-754 ( 754) [007] ...1 158022.424959: tracing_mark_write: E 24360 Binder:1136_9-1633 ( 1136) [007] ...1 158022.439216: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24361 Binder:1136_9-1633 ( 1136) [007] ...1 158022.439261: tracing_mark_write: E 24362 power@1.1-serv-754 ( 754) [007] ...1 158022.439325: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24363 power@1.1-serv-754 ( 754) [007] ...1 158022.439434: tracing_mark_write: E 24364 sensors@1.0-se-755 ( 755) [001] ...1 158022.443615: tracing_mark_write: E 24365 SensorService-1249 ( 1136) [002] ...1 158022.443780: tracing_mark_write: E 24366 SensorService-1249 ( 1136) [002] ...1 158022.443950: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24367 sensors@1.0-se-755 ( 755) [001] ...1 158022.444137: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24368 sensors@1.0-se-755 ( 755) [001] ...1 158022.463497: tracing_mark_write: E 24369 SensorService-1249 ( 1136) [002] ...1 158022.463643: tracing_mark_write: E 24370 SensorService-1249 ( 1136) [002] ...1 158022.463789: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24371 sensors@1.0-se-755 ( 755) [001] ...1 158022.463965: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24372 sensors@1.0-se-755 ( 755) [001] ...1 158022.486723: tracing_mark_write: E 24373 SensorService-1249 ( 1136) [002] ...1 158022.487291: tracing_mark_write: E 24374 SensorService-1249 ( 1136) [002] ...1 158022.487667: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24375 sensors@1.0-se-755 ( 755) [001] ...1 158022.488198: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24376 sensors@1.0-se-755 ( 755) [000] ...1 158022.504935: tracing_mark_write: E 24377 SensorService-1249 ( 1136) [002] ...1 158022.505505: tracing_mark_write: E 24378 SensorService-1249 ( 1136) [002] ...1 158022.505778: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24379 sensors@1.0-se-755 ( 755) [000] ...1 158022.506003: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24380 sensors@1.0-se-755 ( 755) [000] ...1 158022.526361: tracing_mark_write: E 24381 SensorService-1249 ( 1136) [002] ...1 158022.526938: tracing_mark_write: E 24382 SensorService-1249 ( 1136) [002] ...1 158022.527218: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24383 sensors@1.0-se-755 ( 755) [000] ...1 158022.527716: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24384 sensors@1.0-se-755 ( 755) [000] ...1 158022.546119: tracing_mark_write: E 24385 SensorService-1249 ( 1136) [002] ...1 158022.546684: tracing_mark_write: E 24386 SensorService-1249 ( 1136) [002] ...1 158022.546960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24387 sensors@1.0-se-755 ( 755) [000] ...1 158022.547449: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24388 sensors@1.0-se-755 ( 755) [000] ...1 158022.566678: tracing_mark_write: E 24389 SensorService-1249 ( 1136) [002] ...1 158022.567016: tracing_mark_write: E 24390 SensorService-1249 ( 1136) [000] ...1 158022.567856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24391 sensors@1.0-se-755 ( 755) [001] ...1 158022.568418: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24392 MobileIQWorker-13581 (13531) [005] ...1 158022.573296: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24393 sensors@1.0-se-755 ( 755) [000] ...1 158022.584434: tracing_mark_write: E 24394 SensorService-1249 ( 1136) [001] ...1 158022.584780: tracing_mark_write: E 24395 SensorService-1249 ( 1136) [001] ...1 158022.584965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24396 sensors@1.0-se-755 ( 755) [000] ...1 158022.585089: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24397 sensors@1.0-se-755 ( 755) [000] ...1 158022.604414: tracing_mark_write: E 24398 SensorService-1249 ( 1136) [001] ...1 158022.604736: tracing_mark_write: E 24399 SensorService-1249 ( 1136) [001] ...1 158022.604901: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24400 sensors@1.0-se-755 ( 755) [000] ...1 158022.605279: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24401 sensors@1.0-se-755 ( 755) [000] ...1 158022.625404: tracing_mark_write: E 24402 SensorService-1249 ( 1136) [001] ...1 158022.625858: tracing_mark_write: E 24403 SensorService-1249 ( 1136) [001] ...1 158022.626088: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24404 sensors@1.0-se-755 ( 755) [000] ...1 158022.626313: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24405 sensors@1.0-se-755 ( 755) [000] ...1 158022.644785: tracing_mark_write: E 24406 SensorService-1249 ( 1136) [001] ...1 158022.645054: tracing_mark_write: E 24407 SensorService-1249 ( 1136) [001] ...1 158022.645298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24408 sensors@1.0-se-755 ( 755) [000] ...1 158022.645508: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24409 sensors@1.0-se-755 ( 755) [000] ...1 158022.665644: tracing_mark_write: E 24410 SensorService-1249 ( 1136) [001] ...1 158022.666126: tracing_mark_write: E 24411 SensorService-1249 ( 1136) [001] ...1 158022.666383: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24412 sensors@1.0-se-755 ( 755) [000] ...1 158022.666817: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24413 sensors@1.0-se-755 ( 755) [000] ...1 158022.685279: tracing_mark_write: E 24414 SensorService-1249 ( 1136) [001] ...1 158022.685828: tracing_mark_write: E 24415 SensorService-1249 ( 1136) [001] ...1 158022.686114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24416 sensors@1.0-se-755 ( 755) [000] ...1 158022.686338: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24417 sensors@1.0-se-755 ( 755) [000] ...1 158022.706143: tracing_mark_write: E 24418 SensorService-1249 ( 1136) [001] ...1 158022.706698: tracing_mark_write: E 24419 SensorService-1249 ( 1136) [001] ...1 158022.706992: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24420 sensors@1.0-se-755 ( 755) [000] ...1 158022.707480: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24421 MobileIQWorker-13581 (13531) [005] ...1 158022.715639: tracing_mark_write: E 24422 MobileIQWorker-13581 (13531) [005] ...1 158022.723405: tracing_mark_write: E 24423 sensors@1.0-se-755 ( 755) [000] ...1 158022.724699: tracing_mark_write: E 24424 SensorService-1249 ( 1136) [001] ...1 158022.725004: tracing_mark_write: E 24425 SensorService-1249 ( 1136) [001] ...1 158022.725182: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24426 MobileIQWorker-13581 (13531) [005] ...1 158022.725446: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float 24427 sensors@1.0-se-755 ( 755) [000] ...1 158022.725467: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24428 Binder:1136_9-1633 ( 1136) [002] ...1 158022.726050: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24429 Binder:1136_9-1633 ( 1136) [002] ...1 158022.726139: tracing_mark_write: E 24430 power@1.1-serv-754 ( 754) [007] ...1 158022.726277: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24431 power@1.1-serv-754 ( 754) [007] ...1 158022.726348: tracing_mark_write: E 24432 sensors@1.0-se-755 ( 755) [000] ...1 158022.744725: tracing_mark_write: E 24433 SensorService-1249 ( 1136) [001] ...1 158022.744908: tracing_mark_write: E 24434 SensorService-1249 ( 1136) [001] ...1 158022.745099: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24435 sensors@1.0-se-755 ( 755) [000] ...1 158022.745545: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24436 Binder:1136_9-1633 ( 1136) [007] ...1 158022.748882: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24437 Binder:1136_9-1633 ( 1136) [007] ...1 158022.748921: tracing_mark_write: E 24438 power@1.1-serv-754 ( 754) [007] ...1 158022.748978: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24439 power@1.1-serv-754 ( 754) [007] ...1 158022.749056: tracing_mark_write: E 24440 sensors@1.0-se-755 ( 755) [001] ...1 158022.763729: tracing_mark_write: E 24441 SensorService-1249 ( 1136) [002] ...1 158022.763919: tracing_mark_write: E 24442 surfaceflinger-610 ( 610) [000] ...1 158022.763982: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24443 SensorService-1249 ( 1136) [002] ...1 158022.764091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24444 HwBinder:612_3-11297 ( 612) [007] ...1 158022.764225: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24445 HwBinder:612_3-11297 ( 612) [007] ...1 158022.764268: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24446 HwBinder:612_3-11297 ( 612) [007] ...1 158022.764283: tracing_mark_write: B|612|HWDevice::Commit:: 24447 sensors@1.0-se-755 ( 755) [001] ...1 158022.764316: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24448 HwBinder:612_3-11297 ( 612) [007] ...1 158022.764356: tracing_mark_write: E 24449 HwBinder:612_3-11297 ( 612) [007] ...1 158022.764370: tracing_mark_write: E 24450 HwBinder:612_3-11297 ( 612) [007] ...1 158022.764390: tracing_mark_write: E 24451 surfaceflinger-610 ( 610) [000] ...1 158022.764652: tracing_mark_write: E 24452 Binder:1136_9-1633 ( 1136) [007] ...1 158022.766181: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24453 Binder:1136_9-1633 ( 1136) [007] ...1 158022.766218: tracing_mark_write: E 24454 power@1.1-serv-754 ( 754) [007] ...1 158022.766267: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24455 power@1.1-serv-754 ( 754) [007] ...1 158022.766344: tracing_mark_write: E 24456 sensors@1.0-se-755 ( 755) [000] ...1 158022.783742: tracing_mark_write: E 24457 SensorService-1249 ( 1136) [002] ...1 158022.783938: tracing_mark_write: E 24458 SensorService-1249 ( 1136) [002] ...1 158022.784128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24459 sensors@1.0-se-755 ( 755) [000] ...1 158022.784398: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24460 Binder:1136_9-1633 ( 1136) [007] ...1 158022.789165: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24461 Binder:1136_9-1633 ( 1136) [007] ...1 158022.789229: tracing_mark_write: E 24462 power@1.1-serv-754 ( 754) [007] ...1 158022.789304: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24463 power@1.1-serv-754 ( 754) [007] ...1 158022.789434: tracing_mark_write: E 24464 sensors@1.0-se-755 ( 755) [000] ...1 158022.803727: tracing_mark_write: E 24465 SensorService-1249 ( 1136) [002] ...1 158022.803890: tracing_mark_write: E 24466 SensorService-1249 ( 1136) [002] ...1 158022.804052: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24467 sensors@1.0-se-755 ( 755) [000] ...1 158022.804328: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24468 sensors@1.0-se-755 ( 755) [000] ...1 158022.823783: tracing_mark_write: E 24469 SensorService-1249 ( 1136) [002] ...1 158022.823929: tracing_mark_write: E 24470 SensorService-1249 ( 1136) [002] ...1 158022.824072: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24471 sensors@1.0-se-755 ( 755) [000] ...1 158022.824332: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24472 sensors@1.0-se-755 ( 755) [000] ...1 158022.845004: tracing_mark_write: E 24473 SensorService-1249 ( 1136) [002] ...1 158022.845428: tracing_mark_write: E 24474 SensorService-1249 ( 1136) [002] ...1 158022.845602: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24475 sensors@1.0-se-755 ( 755) [000] ...1 158022.846059: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24476 sensors@1.0-se-755 ( 755) [000] ...1 158022.864973: tracing_mark_write: E 24477 SensorService-1249 ( 1136) [002] ...1 158022.865542: tracing_mark_write: E 24478 SensorService-1249 ( 1136) [002] ...1 158022.865822: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24479 sensors@1.0-se-755 ( 755) [000] ...1 158022.866051: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24480 sensors@1.0-se-755 ( 755) [000] ...1 158022.885606: tracing_mark_write: E 24481 SensorService-1249 ( 1136) [002] ...1 158022.886145: tracing_mark_write: E 24482 SensorService-1249 ( 1136) [002] ...1 158022.886423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24483 sensors@1.0-se-755 ( 755) [000] ...1 158022.886648: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24484 MobileIQWorker-13581 (13531) [007] ...1 158022.905198: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24485 sensors@1.0-se-755 ( 755) [000] ...1 158022.905590: tracing_mark_write: E 24486 SensorService-1249 ( 1136) [002] ...1 158022.906050: tracing_mark_write: E 24487 SensorService-1249 ( 1136) [002] ...1 158022.906221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24488 sensors@1.0-se-755 ( 755) [000] ...1 158022.906410: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24489 sensors@1.0-se-755 ( 755) [000] ...1 158022.924887: tracing_mark_write: E 24490 SensorService-1249 ( 1136) [002] ...1 158022.925264: tracing_mark_write: E 24491 SensorService-1249 ( 1136) [002] ...1 158022.925518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24492 sensors@1.0-se-755 ( 755) [000] ...1 158022.925767: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24493 sensors@1.0-se-755 ( 755) [000] ...1 158022.946220: tracing_mark_write: E 24494 SensorService-1249 ( 1136) [002] ...1 158022.946748: tracing_mark_write: E 24495 SensorService-1249 ( 1136) [002] ...1 158022.946990: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24496 sensors@1.0-se-755 ( 755) [000] ...1 158022.947415: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24497 sensors@1.0-se-755 ( 755) [000] ...1 158022.966214: tracing_mark_write: E 24498 SensorService-1249 ( 1136) [002] ...1 158022.966682: tracing_mark_write: E 24499 SensorService-1249 ( 1136) [002] ...1 158022.966938: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24500 sensors@1.0-se-755 ( 755) [000] ...1 158022.967363: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24501 sensors@1.0-se-755 ( 755) [000] ...1 158022.984738: tracing_mark_write: E 24502 SensorService-1249 ( 1136) [002] ...1 158022.985231: tracing_mark_write: E 24503 SensorService-1249 ( 1136) [002] ...1 158022.985503: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24504 sensors@1.0-se-755 ( 755) [000] ...1 158022.985937: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24505 sensors@1.0-se-755 ( 755) [000] ...1 158023.006222: tracing_mark_write: E 24506 SensorService-1249 ( 1136) [002] ...1 158023.006712: tracing_mark_write: E 24507 SensorService-1249 ( 1136) [002] ...1 158023.006974: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24508 sensors@1.0-se-755 ( 755) [000] ...1 158023.007407: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24509 sensors@1.0-se-755 ( 755) [000] ...1 158023.026916: tracing_mark_write: E 24510 SensorService-1249 ( 1136) [002] ...1 158023.027518: tracing_mark_write: E 24511 SensorService-1249 ( 1136) [002] ...1 158023.027937: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24512 sensors@1.0-se-755 ( 755) [000] ...1 158023.028429: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24513 sensors@1.0-se-755 ( 755) [000] ...1 158023.046662: tracing_mark_write: E 24514 SensorService-1249 ( 1136) [002] ...1 158023.047242: tracing_mark_write: E 24515 SensorService-1249 ( 1136) [002] ...1 158023.047627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24516 sensors@1.0-se-755 ( 755) [000] ...1 158023.048121: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24517 sensors@1.0-se-755 ( 755) [000] ...1 158023.064852: tracing_mark_write: E 24518 SensorService-1249 ( 1136) [002] ...1 158023.065313: tracing_mark_write: E 24519 SensorService-1249 ( 1136) [002] ...1 158023.065562: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24520 sensors@1.0-se-755 ( 755) [000] ...1 158023.065985: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24521 MobileIQWorker-13581 (13531) [007] ...1 158023.067734: tracing_mark_write: E 24522 MobileIQWorker-13581 (13531) [007] ...1 158023.073570: tracing_mark_write: E 24523 MobileIQWorker-13581 (13531) [007] ...1 158023.077788: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float 24524 Binder:1136_9-1633 ( 1136) [002] ...1 158023.078951: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24525 Binder:1136_9-1633 ( 1136) [002] ...1 158023.079100: tracing_mark_write: E 24526 power@1.1-serv-754 ( 754) [004] ...1 158023.079354: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24527 power@1.1-serv-754 ( 754) [004] ...1 158023.079538: tracing_mark_write: E 24528 sensors@1.0-se-755 ( 755) [000] ...1 158023.084921: tracing_mark_write: E 24529 SensorService-1249 ( 1136) [002] ...1 158023.085095: tracing_mark_write: E 24530 SensorService-1249 ( 1136) [002] ...1 158023.085426: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24531 sensors@1.0-se-755 ( 755) [000] ...1 158023.085847: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24532 Binder:1136_9-1633 ( 1136) [002] ...1 158023.102655: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24533 Binder:1136_9-1633 ( 1136) [002] ...1 158023.102822: tracing_mark_write: E 24534 power@1.1-serv-754 ( 754) [004] ...1 158023.102866: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24535 power@1.1-serv-754 ( 754) [004] ...1 158023.103005: tracing_mark_write: E 24536 sensors@1.0-se-755 ( 755) [000] ...1 158023.104122: tracing_mark_write: E 24537 SensorService-1249 ( 1136) [002] ...1 158023.104374: tracing_mark_write: E 24538 SensorService-1249 ( 1136) [002] ...1 158023.104609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24539 sensors@1.0-se-755 ( 755) [000] ...1 158023.104813: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24540 surfaceflinger-610 ( 610) [000] ...1 158023.115362: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24541 HwBinder:612_3-11297 ( 612) [007] ...1 158023.115619: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24542 HwBinder:612_3-11297 ( 612) [007] ...1 158023.115683: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24543 HwBinder:612_3-11297 ( 612) [007] ...1 158023.115707: tracing_mark_write: B|612|HWDevice::Commit:: 24544 HwBinder:612_3-11297 ( 612) [007] ...1 158023.115867: tracing_mark_write: E 24545 HwBinder:612_3-11297 ( 612) [007] ...1 158023.115891: tracing_mark_write: E 24546 HwBinder:612_3-11297 ( 612) [007] ...1 158023.115918: tracing_mark_write: E 24547 surfaceflinger-610 ( 610) [000] ...1 158023.116089: tracing_mark_write: E 24548 Binder:1136_9-1633 ( 1136) [001] ...1 158023.119108: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24549 Binder:1136_9-1633 ( 1136) [001] ...1 158023.119301: tracing_mark_write: E 24550 power@1.1-serv-754 ( 754) [004] ...1 158023.119310: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24551 power@1.1-serv-754 ( 754) [004] ...1 158023.119455: tracing_mark_write: E 24552 sensors@1.0-se-755 ( 755) [000] ...1 158023.124409: tracing_mark_write: E 24553 SensorService-1249 ( 1136) [001] ...1 158023.124643: tracing_mark_write: E 24554 SensorService-1249 ( 1136) [001] ...1 158023.124945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24555 sensors@1.0-se-755 ( 755) [000] ...1 158023.125246: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24556 Binder:1136_9-1633 ( 1136) [001] ...1 158023.143000: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24557 Binder:1136_9-1633 ( 1136) [001] ...1 158023.143180: tracing_mark_write: E 24558 power@1.1-serv-754 ( 754) [004] ...1 158023.143209: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24559 power@1.1-serv-754 ( 754) [004] ...1 158023.143394: tracing_mark_write: E 24560 sensors@1.0-se-755 ( 755) [000] ...1 158023.144334: tracing_mark_write: E 24561 SensorService-1249 ( 1136) [001] ...1 158023.144516: tracing_mark_write: E 24562 SensorService-1249 ( 1136) [001] ...1 158023.144776: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24563 sensors@1.0-se-755 ( 755) [000] ...1 158023.144970: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24564 sensors@1.0-se-755 ( 755) [000] ...1 158023.164141: tracing_mark_write: E 24565 SensorService-1249 ( 1136) [001] ...1 158023.164292: tracing_mark_write: E 24566 SensorService-1249 ( 1136) [001] ...1 158023.164544: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24567 sensors@1.0-se-755 ( 755) [000] ...1 158023.164729: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24568 sensors@1.0-se-755 ( 755) [000] ...1 158023.185461: tracing_mark_write: E 24569 SensorService-1249 ( 1136) [001] ...1 158023.185899: tracing_mark_write: E 24570 SensorService-1249 ( 1136) [001] ...1 158023.186096: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24571 sensors@1.0-se-755 ( 755) [000] ...1 158023.186298: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24572 sensors@1.0-se-755 ( 755) [000] ...1 158023.207039: tracing_mark_write: E 24573 SensorService-1249 ( 1136) [001] ...1 158023.207701: tracing_mark_write: E 24574 SensorService-1249 ( 1136) [001] ...1 158023.208009: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24575 HwBinder:755_1-1247 ( 755) [000] ...1 158023.208530: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24576 HwBinder:755_1-1247 ( 755) [000] ...1 158023.227238: tracing_mark_write: E 24577 SensorService-1249 ( 1136) [001] ...1 158023.227808: tracing_mark_write: E 24578 SensorService-1249 ( 1136) [001] ...1 158023.228112: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24579 HwBinder:755_1-1247 ( 755) [000] ...1 158023.228605: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24580 HwBinder:755_1-1247 ( 755) [000] ...1 158023.246540: tracing_mark_write: E 24581 SensorService-1249 ( 1136) [001] ...1 158023.247088: tracing_mark_write: E 24582 SensorService-1249 ( 1136) [001] ...1 158023.247383: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24583 HwBinder:755_1-1247 ( 755) [000] ...1 158023.247872: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24584 HwBinder:755_1-1247 ( 755) [000] ...1 158023.267418: tracing_mark_write: E 24585 SensorService-1249 ( 1136) [001] ...1 158023.268035: tracing_mark_write: E 24586 SensorService-1249 ( 1136) [001] ...1 158023.268338: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24587 HwBinder:755_1-1247 ( 755) [000] ...1 158023.268830: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24588 HwBinder:755_1-1247 ( 755) [000] ...1 158023.286536: tracing_mark_write: E 24589 SensorService-1249 ( 1136) [001] ...1 158023.287087: tracing_mark_write: E 24590 SensorService-1249 ( 1136) [001] ...1 158023.287385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24591 HwBinder:755_1-1247 ( 755) [000] ...1 158023.287877: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24592 MobileIQWorker-13581 (13531) [006] ...1 158023.297581: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24593 HwBinder:755_1-1247 ( 755) [000] ...1 158023.305286: tracing_mark_write: E 24594 SensorService-1249 ( 1136) [001] ...1 158023.305741: tracing_mark_write: E 24595 SensorService-1249 ( 1136) [001] ...1 158023.306051: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24596 HwBinder:755_1-1247 ( 755) [000] ...1 158023.306485: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24597 HwBinder:755_1-1247 ( 755) [000] ...1 158023.326578: tracing_mark_write: E 24598 SensorService-1249 ( 1136) [001] ...1 158023.327086: tracing_mark_write: E 24599 SensorService-1249 ( 1136) [001] ...1 158023.327369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24600 HwBinder:755_1-1247 ( 755) [000] ...1 158023.327850: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24601 HwBinder:755_1-1247 ( 755) [000] ...1 158023.345339: tracing_mark_write: E 24602 SensorService-1249 ( 1136) [001] ...1 158023.345858: tracing_mark_write: E 24603 SensorService-1249 ( 1136) [001] ...1 158023.346171: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24604 HwBinder:755_1-1247 ( 755) [000] ...1 158023.346602: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24605 HwBinder:755_1-1247 ( 755) [000] ...1 158023.365825: tracing_mark_write: E 24606 SensorService-1249 ( 1136) [001] ...1 158023.366283: tracing_mark_write: E 24607 SensorService-1249 ( 1136) [001] ...1 158023.366528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24608 HwBinder:755_1-1247 ( 755) [000] ...1 158023.366962: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24609 HwBinder:755_1-1247 ( 755) [000] ...1 158023.385764: tracing_mark_write: E 24610 SensorService-1249 ( 1136) [001] ...1 158023.386324: tracing_mark_write: E 24611 SensorService-1249 ( 1136) [001] ...1 158023.386583: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24612 HwBinder:755_1-1247 ( 755) [000] ...1 158023.387021: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24613 HwBinder:755_1-1247 ( 755) [000] ...1 158023.407414: tracing_mark_write: E 24614 SensorService-1249 ( 1136) [001] ...1 158023.408122: tracing_mark_write: E 24615 SensorService-1249 ( 1136) [001] ...1 158023.408440: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24616 HwBinder:755_1-1247 ( 755) [000] ...1 158023.408939: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24617 HwBinder:755_1-1247 ( 755) [000] ...1 158023.426413: tracing_mark_write: E 24618 SensorService-1249 ( 1136) [001] ...1 158023.426972: tracing_mark_write: E 24619 SensorService-1249 ( 1136) [001] ...1 158023.427287: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24620 HwBinder:755_1-1247 ( 755) [000] ...1 158023.427780: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24621 HwBinder:755_1-1247 ( 755) [000] ...1 158023.447210: tracing_mark_write: E 24622 SensorService-1249 ( 1136) [001] ...1 158023.447499: tracing_mark_write: E 24623 SensorService-1249 ( 1136) [001] ...1 158023.447807: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24624 HwBinder:755_1-1247 ( 755) [000] ...1 158023.448248: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24625 MobileIQWorker-13581 (13531) [006] ...1 158023.454120: tracing_mark_write: E 24626 MobileIQWorker-13581 (13531) [007] ...1 158023.461542: tracing_mark_write: E 24627 MobileIQWorker-13581 (13531) [007] ...1 158023.465764: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float 24628 HwBinder:755_1-1247 ( 755) [001] ...1 158023.465800: tracing_mark_write: E 24629 SensorService-1249 ( 1136) [000] ...1 158023.466026: tracing_mark_write: E 24630 SensorService-1249 ( 1136) [000] ...1 158023.466327: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24631 Binder:1136_9-1633 ( 1136) [006] ...1 158023.466459: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24632 Binder:1136_9-1633 ( 1136) [006] ...1 158023.466571: tracing_mark_write: E 24633 HwBinder:755_1-1247 ( 755) [001] ...1 158023.466763: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24634 power@1.1-serv-754 ( 754) [004] ...1 158023.466799: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24635 power@1.1-serv-754 ( 754) [004] ...1 158023.466962: tracing_mark_write: E 24636 HwBinder:755_1-1247 ( 755) [000] ...1 158023.484500: tracing_mark_write: E 24637 SensorService-1249 ( 1136) [001] ...1 158023.484768: tracing_mark_write: E 24638 SensorService-1249 ( 1136) [001] ...1 158023.485073: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24639 HwBinder:755_1-1247 ( 755) [000] ...1 158023.485288: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24640 Binder:1136_9-1633 ( 1136) [002] ...1 158023.488002: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24641 Binder:1136_9-1633 ( 1136) [002] ...1 158023.488183: tracing_mark_write: E 24642 power@1.1-serv-754 ( 754) [004] ...1 158023.488197: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24643 power@1.1-serv-754 ( 754) [004] ...1 158023.488290: tracing_mark_write: E 24644 surfaceflinger-610 ( 610) [000] ...1 158023.500178: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24645 HwBinder:612_3-11297 ( 612) [007] ...1 158023.500428: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24646 HwBinder:612_3-11297 ( 612) [007] ...1 158023.500482: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24647 HwBinder:612_3-11297 ( 612) [007] ...1 158023.500501: tracing_mark_write: B|612|HWDevice::Commit:: 24648 HwBinder:612_3-11297 ( 612) [007] ...1 158023.500574: tracing_mark_write: E 24649 HwBinder:612_3-11297 ( 612) [007] ...1 158023.500592: tracing_mark_write: E 24650 HwBinder:612_3-11297 ( 612) [007] ...1 158023.500615: tracing_mark_write: E 24651 surfaceflinger-610 ( 610) [000] ...1 158023.500929: tracing_mark_write: E 24652 HwBinder:755_1-1247 ( 755) [001] ...1 158023.504432: tracing_mark_write: E 24653 SensorService-1249 ( 1136) [000] ...1 158023.504726: tracing_mark_write: E 24654 SensorService-1249 ( 1136) [000] ...1 158023.504932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24655 HwBinder:755_1-1247 ( 755) [001] ...1 158023.505156: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24656 Binder:1136_9-1633 ( 1136) [001] ...1 158023.506628: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24657 power@1.1-serv-754 ( 754) [004] ...1 158023.506794: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24658 Binder:1136_9-1633 ( 1136) [001] ...1 158023.506805: tracing_mark_write: E 24659 power@1.1-serv-754 ( 754) [004] ...1 158023.506868: tracing_mark_write: E 24660 HwBinder:755_1-1247 ( 755) [000] ...1 158023.524419: tracing_mark_write: E 24661 SensorService-1249 ( 1136) [001] ...1 158023.524608: tracing_mark_write: E 24662 SensorService-1249 ( 1136) [001] ...1 158023.524802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24663 HwBinder:755_1-1247 ( 755) [000] ...1 158023.525074: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24664 Binder:1136_9-1633 ( 1136) [001] ...1 158023.527918: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24665 Binder:1136_9-1633 ( 1136) [001] ...1 158023.528055: tracing_mark_write: E 24666 power@1.1-serv-754 ( 754) [004] ...1 158023.528065: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24667 power@1.1-serv-754 ( 754) [004] ...1 158023.528175: tracing_mark_write: E 24668 HwBinder:755_1-1247 ( 755) [000] ...1 158023.545219: tracing_mark_write: E 24669 SensorService-1249 ( 1136) [001] ...1 158023.545386: tracing_mark_write: E 24670 SensorService-1249 ( 1136) [001] ...1 158023.545564: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24671 HwBinder:755_1-1247 ( 755) [000] ...1 158023.545760: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24672 HwBinder:755_1-1247 ( 755) [000] ...1 158023.564417: tracing_mark_write: E 24673 SensorService-1249 ( 1136) [001] ...1 158023.564559: tracing_mark_write: E 24674 SensorService-1249 ( 1136) [001] ...1 158023.564715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24675 HwBinder:755_1-1247 ( 755) [000] ...1 158023.564896: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24676 HwBinder:755_1-1247 ( 755) [000] ...1 158023.586564: tracing_mark_write: E 24677 SensorService-1249 ( 1136) [001] ...1 158023.587109: tracing_mark_write: E 24678 SensorService-1249 ( 1136) [001] ...1 158023.587407: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24679 HwBinder:755_1-1247 ( 755) [000] ...1 158023.587896: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24680 HwBinder:755_1-1247 ( 755) [000] ...1 158023.607287: tracing_mark_write: E 24681 SensorService-1249 ( 1136) [001] ...1 158023.607858: tracing_mark_write: E 24682 SensorService-1249 ( 1136) [001] ...1 158023.608158: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24683 HwBinder:755_1-1247 ( 755) [000] ...1 158023.608649: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24684 HwBinder:755_1-1247 ( 755) [000] ...1 158023.627415: tracing_mark_write: E 24685 SensorService-1249 ( 1136) [001] ...1 158023.627983: tracing_mark_write: E 24686 SensorService-1249 ( 1136) [001] ...1 158023.628283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24687 HwBinder:755_1-1247 ( 755) [000] ...1 158023.628775: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24688 HwBinder:755_1-1247 ( 755) [000] ...1 158023.647159: tracing_mark_write: E 24689 SensorService-1249 ( 1136) [001] ...1 158023.647703: tracing_mark_write: E 24690 SensorService-1249 ( 1136) [001] ...1 158023.647989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24691 HwBinder:755_1-1247 ( 755) [000] ...1 158023.648476: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24692 MobileIQWorker-13581 (13531) [006] ...1 158023.664287: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24693 HwBinder:755_1-1247 ( 755) [000] ...1 158023.666819: tracing_mark_write: E 24694 SensorService-1249 ( 1136) [001] ...1 158023.667313: tracing_mark_write: E 24695 SensorService-1249 ( 1136) [001] ...1 158023.667628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24696 HwBinder:755_1-1247 ( 755) [000] ...1 158023.667963: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24697 HwBinder:755_1-1247 ( 755) [000] ...1 158023.686742: tracing_mark_write: E 24698 SensorService-1249 ( 1136) [001] ...1 158023.687198: tracing_mark_write: E 24699 SensorService-1249 ( 1136) [001] ...1 158023.687443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24700 HwBinder:755_1-1247 ( 755) [000] ...1 158023.687948: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24701 HwBinder:755_1-1247 ( 755) [000] ...1 158023.706767: tracing_mark_write: E 24702 SensorService-1249 ( 1136) [001] ...1 158023.707219: tracing_mark_write: E 24703 SensorService-1249 ( 1136) [001] ...1 158023.707457: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24704 HwBinder:755_1-1247 ( 755) [000] ...1 158023.707983: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24705 HwBinder:755_1-1247 ( 755) [000] ...1 158023.726855: tracing_mark_write: E 24706 SensorService-1249 ( 1136) [001] ...1 158023.727344: tracing_mark_write: E 24707 SensorService-1249 ( 1136) [001] ...1 158023.727686: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24708 HwBinder:755_1-1247 ( 755) [000] ...1 158023.728121: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24709 HwBinder:755_1-1247 ( 755) [000] ...1 158023.746927: tracing_mark_write: E 24710 SensorService-1249 ( 1136) [001] ...1 158023.747374: tracing_mark_write: E 24711 SensorService-1249 ( 1136) [001] ...1 158023.747704: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24712 HwBinder:755_1-1247 ( 755) [000] ...1 158023.748145: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24713 HwBinder:755_1-1247 ( 755) [000] ...1 158023.766922: tracing_mark_write: E 24714 SensorService-1249 ( 1136) [001] ...1 158023.767403: tracing_mark_write: E 24715 SensorService-1249 ( 1136) [001] ...1 158023.767749: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24716 HwBinder:755_1-1247 ( 755) [000] ...1 158023.768192: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24717 HwBinder:755_1-1247 ( 755) [000] ...1 158023.787733: tracing_mark_write: E 24718 SensorService-1249 ( 1136) [001] ...1 158023.788379: tracing_mark_write: E 24719 SensorService-1249 ( 1136) [001] ...1 158023.788641: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24720 HwBinder:755_1-1247 ( 755) [000] ...1 158023.789092: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24721 MobileIQWorker-13581 (13531) [007] ...1 158023.802705: tracing_mark_write: E 24722 MobileIQWorker-13581 (13531) [007] ...1 158023.803963: tracing_mark_write: E 24723 HwBinder:755_1-1247 ( 755) [000] ...1 158023.805603: tracing_mark_write: E 24724 SensorService-1249 ( 1136) [001] ...1 158023.806064: tracing_mark_write: E 24725 SensorService-1249 ( 1136) [001] ...1 158023.806300: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24726 HwBinder:755_1-1247 ( 755) [000] ...1 158023.806512: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24727 Binder:1136_9-1633 ( 1136) [002] ...1 158023.807294: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24728 Binder:1136_9-1633 ( 1136) [002] ...1 158023.807440: tracing_mark_write: E 24729 power@1.1-serv-754 ( 754) [004] ...1 158023.807510: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24730 power@1.1-serv-754 ( 754) [004] ...1 158023.807748: tracing_mark_write: E 24731 Binder:1136_9-1633 ( 1136) [002] ...1 158023.824128: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24732 Binder:1136_9-1633 ( 1136) [002] ...1 158023.824424: tracing_mark_write: E 24733 power@1.1-serv-754 ( 754) [004] ...1 158023.824434: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24734 power@1.1-serv-754 ( 754) [004] ...1 158023.824535: tracing_mark_write: E 24735 HwBinder:755_1-1247 ( 755) [000] ...1 158023.824799: tracing_mark_write: E 24736 SensorService-1249 ( 1136) [001] ...1 158023.825004: tracing_mark_write: E 24737 SensorService-1249 ( 1136) [001] ...1 158023.825282: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24738 HwBinder:755_1-1247 ( 755) [000] ...1 158023.825485: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24739 MobileIQWorker-13581 (13531) [007] ...1 158023.828810: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized 24740 surfaceflinger-610 ( 610) [000] ...1 158023.834916: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24741 HwBinder:612_3-11297 ( 612) [007] ...1 158023.835173: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24742 HwBinder:612_3-11297 ( 612) [007] ...1 158023.835223: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24743 HwBinder:612_3-11297 ( 612) [007] ...1 158023.835241: tracing_mark_write: B|612|HWDevice::Commit:: 24744 HwBinder:612_3-11297 ( 612) [007] ...1 158023.835312: tracing_mark_write: E 24745 HwBinder:612_3-11297 ( 612) [007] ...1 158023.835329: tracing_mark_write: E 24746 HwBinder:612_3-11297 ( 612) [007] ...1 158023.835351: tracing_mark_write: E 24747 surfaceflinger-610 ( 610) [000] ...1 158023.835516: tracing_mark_write: E 24748 MobileIQWorker-13581 (13531) [005] ...1 158023.839729: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24749 HwBinder:755_1-1247 ( 755) [000] ...1 158023.844806: tracing_mark_write: E 24750 SensorService-1249 ( 1136) [001] ...1 158023.844995: tracing_mark_write: E 24751 SensorService-1249 ( 1136) [001] ...1 158023.845195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24752 HwBinder:755_1-1247 ( 755) [000] ...1 158023.845400: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24753 MobileIQWorker-13581 (13531) [005] ...1 158023.851039: tracing_mark_write: E 24754 Binder:1136_9-1633 ( 1136) [002] ...1 158023.851112: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24755 Binder:1136_9-1633 ( 1136) [002] ...1 158023.851177: tracing_mark_write: E 24756 power@1.1-serv-754 ( 754) [007] ...1 158023.851208: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24757 power@1.1-serv-754 ( 754) [007] ...1 158023.851298: tracing_mark_write: E 24758 MobileIQWorker-13581 (13531) [005] ...1 158023.851910: tracing_mark_write: E 24759 MobileIQWorker-13581 (13531) [005] ...1 158023.852981: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized 24760 Binder:1136_9-1633 ( 1136) [002] ...1 158023.853024: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24761 Binder:1136_9-1633 ( 1136) [002] ...1 158023.853056: tracing_mark_write: E 24762 power@1.1-serv-754 ( 754) [007] ...1 158023.853071: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24763 power@1.1-serv-754 ( 754) [007] ...1 158023.853125: tracing_mark_write: E 24764 MobileIQWorker-13581 (13531) [006] ...1 158023.863856: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24765 Binder:1136_9-1633 ( 1136) [001] ...1 158023.863973: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24766 Binder:1136_9-1633 ( 1136) [001] ...1 158023.864005: tracing_mark_write: E 24767 power@1.1-serv-754 ( 754) [005] ...1 158023.864067: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24768 power@1.1-serv-754 ( 754) [005] ...1 158023.864198: tracing_mark_write: E 24769 HwBinder:755_1-1247 ( 755) [001] ...1 158023.864793: tracing_mark_write: E 24770 SensorService-1249 ( 1136) [007] ...1 158023.864878: tracing_mark_write: E 24771 SensorService-1249 ( 1136) [007] ...1 158023.864952: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24772 HwBinder:755_1-1247 ( 755) [001] ...1 158023.865012: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24773 Binder:1136_9-1633 ( 1136) [001] ...1 158023.866369: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24774 Binder:1136_9-1633 ( 1136) [001] ...1 158023.866407: tracing_mark_write: E 24775 power@1.1-serv-754 ( 754) [005] ...1 158023.866459: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24776 power@1.1-serv-754 ( 754) [005] ...1 158023.866598: tracing_mark_write: E 24777 surfaceflinger-610 ( 610) [002] ...1 158023.884216: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24778 HwBinder:612_3-11297 ( 612) [007] ...1 158023.884334: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24779 HwBinder:612_3-11297 ( 612) [007] ...1 158023.884381: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24780 HwBinder:612_3-11297 ( 612) [007] ...1 158023.884398: tracing_mark_write: B|612|HWDevice::Commit:: 24781 HwBinder:612_3-11297 ( 612) [007] ...1 158023.884515: tracing_mark_write: E 24782 HwBinder:612_3-11297 ( 612) [007] ...1 158023.884534: tracing_mark_write: E 24783 HwBinder:612_3-11297 ( 612) [007] ...1 158023.884557: tracing_mark_write: E 24784 surfaceflinger-610 ( 610) [000] ...1 158023.884624: tracing_mark_write: E 24785 HwBinder:755_1-1247 ( 755) [004] ...1 158023.884728: tracing_mark_write: E 24786 SensorService-1249 ( 1136) [007] ...1 158023.884775: tracing_mark_write: E 24787 SensorService-1249 ( 1136) [007] ...1 158023.884830: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24788 sensors@1.0-se-755 ( 755) [001] ...1 158023.884893: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24789 Binder:1136_9-1633 ( 1136) [000] ...1 158023.893188: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24790 Binder:1136_9-1633 ( 1136) [000] ...1 158023.893227: tracing_mark_write: E 24791 power@1.1-serv-754 ( 754) [007] ...1 158023.893247: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24792 power@1.1-serv-754 ( 754) [007] ...1 158023.893330: tracing_mark_write: E 24793 sensors@1.0-se-755 ( 755) [000] ...1 158023.904600: tracing_mark_write: E 24794 SensorService-1249 ( 1136) [007] ...1 158023.904640: tracing_mark_write: E 24795 SensorService-1249 ( 1136) [007] ...1 158023.904674: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24796 sensors@1.0-se-755 ( 755) [000] ...1 158023.904716: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24797 Binder:1136_9-1633 ( 1136) [002] ...1 158023.906414: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24798 Binder:1136_9-1633 ( 1136) [002] ...1 158023.906442: tracing_mark_write: E 24799 power@1.1-serv-754 ( 754) [007] ...1 158023.906454: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24800 power@1.1-serv-754 ( 754) [007] ...1 158023.906500: tracing_mark_write: E 24801 MobileIQWorker-13581 (13531) [006] ...1 158023.906758: tracing_mark_write: E 24802 MobileIQWorker-13581 (13531) [006] ...1 158023.907664: tracing_mark_write: E 24803 MobileIQWorker-13581 (13531) [006] ...1 158023.908626: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized 24804 Binder:1136_9-1633 ( 1136) [000] ...1 158023.908769: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24805 Binder:1136_9-1633 ( 1136) [000] ...1 158023.908794: tracing_mark_write: E 24806 power@1.1-serv-754 ( 754) [005] ...1 158023.908813: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24807 power@1.1-serv-754 ( 754) [005] ...1 158023.908885: tracing_mark_write: E 24808 Binder:1136_9-1633 ( 1136) [001] ...1 158023.916556: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24809 Binder:1136_9-1633 ( 1136) [001] ...1 158023.916593: tracing_mark_write: E 24810 power@1.1-serv-754 ( 754) [005] ...1 158023.916622: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24811 power@1.1-serv-754 ( 754) [005] ...1 158023.916697: tracing_mark_write: E 24812 MobileIQWorker-13581 (13531) [006] ...1 158023.919223: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24813 sensors@1.0-se-755 ( 755) [007] ...1 158023.924642: tracing_mark_write: E 24814 SensorService-1249 ( 1136) [001] ...1 158023.924727: tracing_mark_write: E 24815 SensorService-1249 ( 1136) [001] ...1 158023.924809: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24816 sensors@1.0-se-755 ( 755) [007] ...1 158023.924867: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24817 surfaceflinger-610 ( 610) [001] ...1 158023.934573: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24818 HwBinder:612_3-11297 ( 612) [007] ...1 158023.934719: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24819 HwBinder:612_3-11297 ( 612) [007] ...1 158023.934784: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24820 HwBinder:612_3-11297 ( 612) [007] ...1 158023.934809: tracing_mark_write: B|612|HWDevice::Commit:: 24821 HwBinder:612_3-11297 ( 612) [007] ...1 158023.934891: tracing_mark_write: E 24822 HwBinder:612_3-11297 ( 612) [007] ...1 158023.934914: tracing_mark_write: E 24823 HwBinder:612_3-11297 ( 612) [007] ...1 158023.934940: tracing_mark_write: E 24824 surfaceflinger-610 ( 610) [001] ...1 158023.935012: tracing_mark_write: E 24825 sensors@1.0-se-755 ( 755) [005] ...1 158023.944636: tracing_mark_write: E 24826 SensorService-1249 ( 1136) [001] ...1 158023.944720: tracing_mark_write: E 24827 SensorService-1249 ( 1136) [001] ...1 158023.944826: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24828 sensors@1.0-se-755 ( 755) [005] ...1 158023.944888: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24829 MobileIQWorker-13581 (13531) [004] ...1 158023.947208: tracing_mark_write: E 24830 Binder:1136_9-1633 ( 1136) [000] ...1 158023.948905: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24831 Binder:1136_9-1633 ( 1136) [000] ...1 158023.948961: tracing_mark_write: E 24832 power@1.1-serv-754 ( 754) [005] ...1 158023.948989: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24833 power@1.1-serv-754 ( 754) [005] ...1 158023.949116: tracing_mark_write: E 24834 MobileIQWorker-13581 (13531) [006] ...1 158023.954546: tracing_mark_write: E 24835 MobileIQWorker-13581 (13531) [006] ...1 158023.955764: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized 24836 Binder:1136_9-1633 ( 1136) [001] ...1 158023.956260: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24837 Binder:1136_9-1633 ( 1136) [001] ...1 158023.956373: tracing_mark_write: E 24838 power@1.1-serv-754 ( 754) [005] ...1 158023.956377: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24839 power@1.1-serv-754 ( 754) [005] ...1 158023.956450: tracing_mark_write: E 24840 Binder:1136_9-1633 ( 1136) [001] ...1 158023.956786: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24841 power@1.1-serv-754 ( 754) [005] ...1 158023.956875: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24842 Binder:1136_9-1633 ( 1136) [001] ...1 158023.956888: tracing_mark_write: E 24843 power@1.1-serv-754 ( 754) [005] ...1 158023.956899: tracing_mark_write: E 24844 sensors@1.0-se-755 ( 755) [007] ...1 158023.964707: tracing_mark_write: E 24845 SensorService-1249 ( 1136) [001] ...1 158023.964783: tracing_mark_write: E 24846 SensorService-1249 ( 1136) [001] ...1 158023.964861: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24847 sensors@1.0-se-755 ( 755) [007] ...1 158023.964930: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24848 Binder:1136_9-1633 ( 1136) [002] ...1 158023.966319: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24849 Binder:1136_9-1633 ( 1136) [002] ...1 158023.966347: tracing_mark_write: E 24850 power@1.1-serv-754 ( 754) [005] ...1 158023.966406: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24851 power@1.1-serv-754 ( 754) [005] ...1 158023.966533: tracing_mark_write: E 24852 MobileIQWorker-13581 (13531) [006] ...1 158023.967366: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24853 surfaceflinger-610 ( 610) [001] ...1 158023.984655: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24854 sensors@1.0-se-755 ( 755) [006] ...1 158023.984665: tracing_mark_write: E 24855 SensorService-1249 ( 1136) [002] ...1 158023.984748: tracing_mark_write: E 24856 HwBinder:612_3-11297 ( 612) [007] ...1 158023.984770: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24857 SensorService-1249 ( 1136) [002] ...1 158023.984814: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24858 HwBinder:612_3-11297 ( 612) [007] ...1 158023.984822: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24859 HwBinder:612_3-11297 ( 612) [007] ...1 158023.984839: tracing_mark_write: B|612|HWDevice::Commit:: 24860 sensors@1.0-se-755 ( 755) [006] ...1 158023.984856: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24861 HwBinder:612_3-11297 ( 612) [007] ...1 158023.984898: tracing_mark_write: E 24862 HwBinder:612_3-11297 ( 612) [007] ...1 158023.984914: tracing_mark_write: E 24863 HwBinder:612_3-11297 ( 612) [007] ...1 158023.984933: tracing_mark_write: E 24864 surfaceflinger-610 ( 610) [001] ...1 158023.984983: tracing_mark_write: E 24865 MobileIQWorker-13581 (13531) [006] ...1 158023.990433: tracing_mark_write: E 24866 MobileIQWorker-13581 (13531) [006] ...1 158023.991328: tracing_mark_write: E 24867 MobileIQWorker-13581 (13531) [006] ...1 158023.992289: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized 24868 surfaceflinger-610 ( 610) [000] ...1 158024.001287: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24869 HwBinder:612_3-11297 ( 612) [007] ...1 158024.001413: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24870 HwBinder:612_3-11297 ( 612) [007] ...1 158024.001460: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24871 HwBinder:612_3-11297 ( 612) [007] ...1 158024.001477: tracing_mark_write: B|612|HWDevice::Commit:: 24872 HwBinder:612_3-11297 ( 612) [007] ...1 158024.001587: tracing_mark_write: E 24873 HwBinder:612_3-11297 ( 612) [007] ...1 158024.001605: tracing_mark_write: E 24874 HwBinder:612_3-11297 ( 612) [007] ...1 158024.001627: tracing_mark_write: E 24875 surfaceflinger-610 ( 610) [000] ...1 158024.001683: tracing_mark_write: E 24876 MobileIQWorker-13581 (13531) [006] ...1 158024.003256: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24877 sensors@1.0-se-755 ( 755) [005] ...1 158024.004695: tracing_mark_write: E 24878 SensorService-1249 ( 1136) [002] ...1 158024.004778: tracing_mark_write: E 24879 SensorService-1249 ( 1136) [002] ...1 158024.004885: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24880 sensors@1.0-se-755 ( 755) [005] ...1 158024.004962: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24881 MobileIQWorker-13581 (13531) [007] ...1 158024.024490: tracing_mark_write: E 24882 sensors@1.0-se-755 ( 755) [002] ...1 158024.024919: tracing_mark_write: E 24883 SensorService-1249 ( 1136) [006] ...1 158024.025043: tracing_mark_write: E 24884 SensorService-1249 ( 1136) [006] ...1 158024.025136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24885 HwBinder:755_1-1247 ( 755) [004] ...1 158024.025222: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24886 MobileIQWorker-13581 (13531) [004] ...1 158024.025706: tracing_mark_write: E 24887 MobileIQWorker-13581 (13531) [004] ...1 158024.036729: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float 24888 HwBinder:755_1-1247 ( 755) [000] ...1 158024.044761: tracing_mark_write: E 24889 SensorService-1249 ( 1136) [006] ...1 158024.044833: tracing_mark_write: E 24890 SensorService-1249 ( 1136) [006] ...1 158024.044886: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24891 HwBinder:755_1-1247 ( 755) [000] ...1 158024.044941: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24892 surfaceflinger-610 ( 610) [000] ...1 158024.051586: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24893 HwBinder:612_3-11297 ( 612) [007] ...1 158024.051722: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24894 HwBinder:612_3-11297 ( 612) [007] ...1 158024.051788: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24895 HwBinder:612_3-11297 ( 612) [007] ...1 158024.051813: tracing_mark_write: B|612|HWDevice::Commit:: 24896 HwBinder:612_3-11297 ( 612) [007] ...1 158024.051903: tracing_mark_write: E 24897 HwBinder:612_3-11297 ( 612) [007] ...1 158024.051927: tracing_mark_write: E 24898 HwBinder:612_3-11297 ( 612) [007] ...1 158024.051957: tracing_mark_write: E 24899 surfaceflinger-610 ( 610) [000] ...1 158024.052026: tracing_mark_write: E 24900 HwBinder:755_1-1247 ( 755) [000] ...1 158024.064873: tracing_mark_write: E 24901 SensorService-1249 ( 1136) [006] ...1 158024.064978: tracing_mark_write: E 24902 SensorService-1249 ( 1136) [006] ...1 158024.065042: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24903 HwBinder:755_1-1247 ( 755) [000] ...1 158024.065157: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24904 Binder:1136_9-1633 ( 1136) [007] ...1 158024.067184: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24905 Binder:1136_9-1633 ( 1136) [007] ...1 158024.067220: tracing_mark_write: E 24906 power@1.1-serv-754 ( 754) [005] ...1 158024.067258: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24907 power@1.1-serv-754 ( 754) [005] ...1 158024.067598: tracing_mark_write: E 24908 MobileIQWorker-13581 (13531) [004] ...1 158024.074126: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24909 Binder:1136_9-1633 ( 1136) [007] ...1 158024.075802: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24910 Binder:1136_9-1633 ( 1136) [007] ...1 158024.075862: tracing_mark_write: E 24911 power@1.1-serv-754 ( 754) [005] ...1 158024.075883: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24912 power@1.1-serv-754 ( 754) [005] ...1 158024.076003: tracing_mark_write: E 24913 HwBinder:755_1-1247 ( 755) [000] ...1 158024.084858: tracing_mark_write: E 24914 SensorService-1249 ( 1136) [006] ...1 158024.084965: tracing_mark_write: E 24915 SensorService-1249 ( 1136) [006] ...1 158024.085027: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24916 HwBinder:755_1-1247 ( 755) [000] ...1 158024.085138: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24917 MobileIQWorker-13581 (13531) [004] ...1 158024.090043: tracing_mark_write: E 24918 MobileIQWorker-13581 (13531) [004] ...1 158024.093558: tracing_mark_write: E 24919 MobileIQWorker-13581 (13531) [004] ...1 158024.094607: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float 24920 Binder:1136_9-1633 ( 1136) [007] ...1 158024.095304: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24921 Binder:1136_9-1633 ( 1136) [007] ...1 158024.095339: tracing_mark_write: E 24922 power@1.1-serv-754 ( 754) [005] ...1 158024.095366: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24923 power@1.1-serv-754 ( 754) [005] ...1 158024.095431: tracing_mark_write: E 24924 Binder:1136_9-1633 ( 1136) [007] ...1 158024.099629: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24925 Binder:1136_9-1633 ( 1136) [007] ...1 158024.099665: tracing_mark_write: E 24926 power@1.1-serv-754 ( 754) [005] ...1 158024.099689: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24927 power@1.1-serv-754 ( 754) [005] ...1 158024.099765: tracing_mark_write: E 24928 surfaceflinger-610 ( 610) [000] ...1 158024.102328: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24929 HwBinder:612_3-11297 ( 612) [007] ...1 158024.102549: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24930 HwBinder:612_3-11297 ( 612) [007] ...1 158024.102592: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24931 HwBinder:612_3-11297 ( 612) [007] ...1 158024.102608: tracing_mark_write: B|612|HWDevice::Commit:: 24932 HwBinder:612_3-11297 ( 612) [007] ...1 158024.102667: tracing_mark_write: E 24933 HwBinder:612_3-11297 ( 612) [007] ...1 158024.102682: tracing_mark_write: E 24934 HwBinder:612_3-11297 ( 612) [007] ...1 158024.102700: tracing_mark_write: E 24935 surfaceflinger-610 ( 610) [000] ...1 158024.102856: tracing_mark_write: E 24936 HwBinder:755_1-1247 ( 755) [000] ...1 158024.104961: tracing_mark_write: E 24937 SensorService-1249 ( 1136) [006] ...1 158024.105079: tracing_mark_write: E 24938 SensorService-1249 ( 1136) [006] ...1 158024.105132: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24939 sensors@1.0-se-755 ( 755) [000] ...1 158024.105266: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24940 sensors@1.0-se-755 ( 755) [000] ...1 158024.124996: tracing_mark_write: E 24941 SensorService-1249 ( 1136) [006] ...1 158024.125104: tracing_mark_write: E 24942 SensorService-1249 ( 1136) [006] ...1 158024.125155: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24943 HwBinder:755_1-1247 ( 755) [000] ...1 158024.125312: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24944 MobileIQWorker-13581 (13531) [004] ...1 158024.130951: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24945 Binder:1136_9-1633 ( 1136) [001] ...1 158024.135787: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24946 Binder:1136_9-1633 ( 1136) [001] ...1 158024.135946: tracing_mark_write: E 24947 power@1.1-serv-754 ( 754) [007] ...1 158024.136006: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24948 power@1.1-serv-754 ( 754) [007] ...1 158024.136287: tracing_mark_write: E 24949 Binder:1136_9-1633 ( 1136) [001] ...1 158024.139962: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24950 Binder:1136_9-1633 ( 1136) [001] ...1 158024.140089: tracing_mark_write: E 24951 power@1.1-serv-754 ( 754) [007] ...1 158024.140105: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24952 power@1.1-serv-754 ( 754) [007] ...1 158024.140185: tracing_mark_write: E 24953 HwBinder:755_1-1247 ( 755) [000] ...1 158024.145116: tracing_mark_write: E 24954 SensorService-1249 ( 1136) [006] ...1 158024.145237: tracing_mark_write: E 24955 SensorService-1249 ( 1136) [006] ...1 158024.145307: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24956 HwBinder:755_1-1247 ( 755) [000] ...1 158024.145458: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24957 MobileIQWorker-13581 (13531) [006] ...1 158024.146294: tracing_mark_write: E 24958 MobileIQWorker-13581 (13531) [004] ...1 158024.147654: tracing_mark_write: E 24959 MobileIQWorker-13581 (13531) [004] ...1 158024.148609: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float 24960 Binder:1136_9-1633 ( 1136) [001] ...1 158024.149490: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24961 Binder:1136_9-1633 ( 1136) [001] ...1 158024.149662: tracing_mark_write: E 24962 power@1.1-serv-754 ( 754) [004] ...1 158024.149667: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24963 power@1.1-serv-754 ( 754) [004] ...1 158024.149735: tracing_mark_write: E 24964 HwBinder:755_1-1247 ( 755) [000] ...1 158024.165072: tracing_mark_write: E 24965 SensorService-1249 ( 1136) [006] ...1 158024.165186: tracing_mark_write: E 24966 SensorService-1249 ( 1136) [006] ...1 158024.165247: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24967 HwBinder:755_1-1247 ( 755) [000] ...1 158024.165465: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24968 Binder:1136_9-1633 ( 1136) [002] ...1 158024.168919: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24969 Binder:1136_9-1633 ( 1136) [002] ...1 158024.169062: tracing_mark_write: E 24970 power@1.1-serv-754 ( 754) [006] ...1 158024.169069: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24971 power@1.1-serv-754 ( 754) [006] ...1 158024.169158: tracing_mark_write: E 24972 HwBinder:755_1-1247 ( 755) [000] ...1 158024.185014: tracing_mark_write: E 24973 SensorService-1249 ( 1136) [006] ...1 158024.185133: tracing_mark_write: E 24974 SensorService-1249 ( 1136) [006] ...1 158024.185198: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 24975 HwBinder:755_1-1247 ( 755) [000] ...1 158024.185354: tracing_mark_write: B|755|HIDL::ISensors::poll::server 24976 surfaceflinger-610 ( 610) [001] ...1 158024.186052: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 24977 HwBinder:612_3-11297 ( 612) [007] ...1 158024.186275: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 24978 HwBinder:612_3-11297 ( 612) [007] ...1 158024.186324: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 24979 HwBinder:612_3-11297 ( 612) [007] ...1 158024.186340: tracing_mark_write: B|612|HWDevice::Commit:: 24980 HwBinder:612_3-11297 ( 612) [007] ...1 158024.186465: tracing_mark_write: E 24981 HwBinder:612_3-11297 ( 612) [007] ...1 158024.186482: tracing_mark_write: E 24982 HwBinder:612_3-11297 ( 612) [007] ...1 158024.186504: tracing_mark_write: E 24983 surfaceflinger-610 ( 610) [001] ...1 158024.186668: tracing_mark_write: E 24984 MobileIQWorker-13581 (13531) [005] ...1 158024.187854: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 24985 Binder:1136_9-1633 ( 1136) [003] ...1 158024.189781: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24986 Binder:1136_9-1633 ( 1136) [003] ...1 158024.189929: tracing_mark_write: E 24987 power@1.1-serv-754 ( 754) [007] ...1 158024.189965: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24988 power@1.1-serv-754 ( 754) [007] ...1 158024.190065: tracing_mark_write: E 24989 MobileIQWorker-13581 (13531) [005] ...1 158024.202739: tracing_mark_write: E 24990 MobileIQWorker-13581 (13531) [006] ...1 158024.204014: tracing_mark_write: E 24991 MobileIQWorker-13581 (13531) [006] ...1 158024.205204: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float 24992 Binder:1136_9-1633 ( 1136) [003] ...1 158024.205526: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24993 Binder:1136_9-1633 ( 1136) [003] ...1 158024.206090: tracing_mark_write: E 24994 power@1.1-serv-754 ( 754) [007] ...1 158024.206097: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24995 power@1.1-serv-754 ( 754) [007] ...1 158024.206188: tracing_mark_write: E 24996 Binder:1136_9-1633 ( 1136) [000] ...1 158024.209168: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 24997 power@1.1-serv-754 ( 754) [007] ...1 158024.209325: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 24998 Binder:1136_9-1633 ( 1136) [000] ...1 158024.209335: tracing_mark_write: E 24999 power@1.1-serv-754 ( 754) [007] ...1 158024.209368: tracing_mark_write: E 25000 HwBinder:755_1-1247 ( 755) [001] ...1 158024.211041: tracing_mark_write: E 25001 SensorService-1249 ( 1136) [006] ...1 158024.211181: tracing_mark_write: E 25002 SensorService-1249 ( 1136) [006] ...1 158024.211262: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25003 HwBinder:755_1-1247 ( 755) [001] ...1 158024.211406: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25004 Binder:1136_9-1633 ( 1136) [002] ...1 158024.217338: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25005 Binder:1136_9-1633 ( 1136) [002] ...1 158024.217508: tracing_mark_write: E 25006 power@1.1-serv-754 ( 754) [007] ...1 158024.217508: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25007 power@1.1-serv-754 ( 754) [007] ...1 158024.217601: tracing_mark_write: E 25008 HwBinder:755_1-1247 ( 755) [000] ...1 158024.225031: tracing_mark_write: E 25009 SensorService-1249 ( 1136) [006] ...1 158024.225147: tracing_mark_write: E 25010 SensorService-1249 ( 1136) [006] ...1 158024.225208: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25011 HwBinder:755_1-1247 ( 755) [000] ...1 158024.225385: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25012 surfaceflinger-610 ( 610) [000] ...1 158024.236264: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25013 HwBinder:612_3-11297 ( 612) [007] ...1 158024.236518: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25014 HwBinder:612_3-11297 ( 612) [007] ...1 158024.236565: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25015 HwBinder:612_3-11297 ( 612) [007] ...1 158024.236580: tracing_mark_write: B|612|HWDevice::Commit:: 25016 HwBinder:612_3-11297 ( 612) [007] ...1 158024.236641: tracing_mark_write: E 25017 HwBinder:612_3-11297 ( 612) [007] ...1 158024.236656: tracing_mark_write: E 25018 HwBinder:612_3-11297 ( 612) [007] ...1 158024.236677: tracing_mark_write: E 25019 surfaceflinger-610 ( 610) [000] ...1 158024.236841: tracing_mark_write: E 25020 HwBinder:755_1-1247 ( 755) [000] ...1 158024.245265: tracing_mark_write: E 25021 SensorService-1249 ( 1136) [006] ...1 158024.245415: tracing_mark_write: E 25022 SensorService-1249 ( 1136) [006] ...1 158024.245482: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25023 HwBinder:755_1-1247 ( 755) [000] ...1 158024.245634: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25024 Binder:1136_9-1633 ( 1136) [003] ...1 158024.245930: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25025 Binder:1136_9-1633 ( 1136) [003] ...1 158024.246052: tracing_mark_write: E 25026 power@1.1-serv-754 ( 754) [007] ...1 158024.246063: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25027 power@1.1-serv-754 ( 754) [007] ...1 158024.246152: tracing_mark_write: E 25028 MobileIQWorker-13581 (13531) [006] ...1 158024.247618: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 25029 Binder:1136_9-1633 ( 1136) [003] ...1 158024.257584: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25030 Binder:1136_9-1633 ( 1136) [003] ...1 158024.257702: tracing_mark_write: E 25031 power@1.1-serv-754 ( 754) [007] ...1 158024.257726: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25032 power@1.1-serv-754 ( 754) [007] ...1 158024.257809: tracing_mark_write: E 25033 MobileIQWorker-13581 (13531) [005] ...1 158024.260696: tracing_mark_write: E 25034 MobileIQWorker-13581 (13531) [006] ...1 158024.261938: tracing_mark_write: E 25035 MobileIQWorker-13581 (13531) [006] ...1 158024.262854: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float 25036 Binder:1136_9-1633 ( 1136) [002] ...1 158024.263575: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25037 power@1.1-serv-754 ( 754) [007] ...1 158024.263747: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25038 power@1.1-serv-754 ( 754) [007] ...1 158024.263811: tracing_mark_write: E 25039 Binder:1136_9-1633 ( 1136) [002] ...1 158024.263873: tracing_mark_write: E 25040 HwBinder:755_1-1247 ( 755) [000] ...1 158024.265655: tracing_mark_write: E 25041 SensorService-1249 ( 1136) [006] ...1 158024.265762: tracing_mark_write: E 25042 SensorService-1249 ( 1136) [006] ...1 158024.265818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25043 HwBinder:755_1-1247 ( 755) [000] ...1 158024.265961: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25044 Binder:1136_9-1633 ( 1136) [002] ...1 158024.267141: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25045 Binder:1136_9-1633 ( 1136) [002] ...1 158024.267305: tracing_mark_write: E 25046 power@1.1-serv-754 ( 754) [007] ...1 158024.267324: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25047 power@1.1-serv-754 ( 754) [007] ...1 158024.267398: tracing_mark_write: E 25048 surfaceflinger-610 ( 610) [000] ...1 158024.269853: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25049 HwBinder:612_3-11297 ( 612) [007] ...1 158024.270075: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25050 HwBinder:612_3-11297 ( 612) [007] ...1 158024.270119: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25051 HwBinder:612_3-11297 ( 612) [007] ...1 158024.270135: tracing_mark_write: B|612|HWDevice::Commit:: 25052 HwBinder:612_3-11297 ( 612) [007] ...1 158024.270193: tracing_mark_write: E 25053 HwBinder:612_3-11297 ( 612) [007] ...1 158024.270209: tracing_mark_write: E 25054 HwBinder:612_3-11297 ( 612) [007] ...1 158024.270228: tracing_mark_write: E 25055 surfaceflinger-610 ( 610) [000] ...1 158024.270388: tracing_mark_write: E 25056 HwBinder:755_1-1247 ( 755) [000] ...1 158024.285251: tracing_mark_write: E 25057 SensorService-1249 ( 1136) [006] ...1 158024.285376: tracing_mark_write: E 25058 SensorService-1249 ( 1136) [006] ...1 158024.285437: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25059 sensors@1.0-se-755 ( 755) [000] ...1 158024.285592: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25060 MobileIQWorker-13581 (13531) [004] ...1 158024.302028: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 25061 Binder:1136_9-1633 ( 1136) [002] ...1 158024.304751: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25062 Binder:1136_9-1633 ( 1136) [002] ...1 158024.304907: tracing_mark_write: E 25063 power@1.1-serv-754 ( 754) [007] ...1 158024.304924: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25064 power@1.1-serv-754 ( 754) [007] ...1 158024.305029: tracing_mark_write: E 25065 sensors@1.0-se-755 ( 755) [000] ...1 158024.305212: tracing_mark_write: E 25066 SensorService-1249 ( 1136) [006] ...1 158024.305330: tracing_mark_write: E 25067 SensorService-1249 ( 1136) [006] ...1 158024.305397: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25068 sensors@1.0-se-755 ( 755) [000] ...1 158024.305557: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25069 Binder:1136_9-1633 ( 1136) [002] ...1 158024.307390: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25070 Binder:1136_9-1633 ( 1136) [002] ...1 158024.307519: tracing_mark_write: E 25071 power@1.1-serv-754 ( 754) [007] ...1 158024.307577: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25072 power@1.1-serv-754 ( 754) [007] ...1 158024.307670: tracing_mark_write: E 25073 MobileIQWorker-13581 (13531) [004] ...1 158024.316327: tracing_mark_write: E 25074 MobileIQWorker-13581 (13531) [006] ...1 158024.317651: tracing_mark_write: E 25075 Binder:1136_9-1633 ( 1136) [003] ...1 158024.319045: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25076 Binder:1136_9-1633 ( 1136) [003] ...1 158024.319180: tracing_mark_write: E 25077 power@1.1-serv-754 ( 754) [007] ...1 158024.319184: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25078 power@1.1-serv-754 ( 754) [007] ...1 158024.319261: tracing_mark_write: E 25079 sensors@1.0-se-755 ( 755) [000] ...1 158024.325208: tracing_mark_write: E 25080 SensorService-1249 ( 1136) [006] ...1 158024.325326: tracing_mark_write: E 25081 SensorService-1249 ( 1136) [006] ...1 158024.325388: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25082 sensors@1.0-se-755 ( 755) [000] ...1 158024.325549: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25083 MobileIQWorker-13581 (13531) [004] ...1 158024.327163: tracing_mark_write: B|13531|[NN_LA_PO]resnet_quantized 25084 Binder:1136_9-1633 ( 1136) [002] ...1 158024.333952: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25085 Binder:1136_9-1633 ( 1136) [002] ...1 158024.334088: tracing_mark_write: E 25086 power@1.1-serv-754 ( 754) [005] ...1 158024.334096: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25087 power@1.1-serv-754 ( 754) [005] ...1 158024.334175: tracing_mark_write: E 25088 surfaceflinger-610 ( 610) [000] ...1 158024.336616: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25089 HwBinder:612_3-11297 ( 612) [007] ...1 158024.336834: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25090 HwBinder:612_3-11297 ( 612) [007] ...1 158024.336877: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25091 HwBinder:612_3-11297 ( 612) [007] ...1 158024.336892: tracing_mark_write: B|612|HWDevice::Commit:: 25092 HwBinder:612_3-11297 ( 612) [007] ...1 158024.336999: tracing_mark_write: E 25093 HwBinder:612_3-11297 ( 612) [007] ...1 158024.337016: tracing_mark_write: E 25094 HwBinder:612_3-11297 ( 612) [007] ...1 158024.337035: tracing_mark_write: E 25095 surfaceflinger-610 ( 610) [000] ...1 158024.337193: tracing_mark_write: E 25096 sensors@1.0-se-755 ( 755) [000] ...1 158024.345166: tracing_mark_write: E 25097 SensorService-1249 ( 1136) [006] ...1 158024.345286: tracing_mark_write: E 25098 SensorService-1249 ( 1136) [006] ...1 158024.345344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25099 HwBinder:755_1-1247 ( 755) [000] ...1 158024.345481: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25100 Binder:1136_9-1633 ( 1136) [002] ...1 158024.359307: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25101 Binder:1136_9-1633 ( 1136) [002] ...1 158024.359453: tracing_mark_write: E 25102 power@1.1-serv-754 ( 754) [004] ...1 158024.359458: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25103 power@1.1-serv-754 ( 754) [004] ...1 158024.359546: tracing_mark_write: E 25104 HwBinder:755_1-1247 ( 755) [000] ...1 158024.365165: tracing_mark_write: E 25105 SensorService-1249 ( 1136) [006] ...1 158024.365269: tracing_mark_write: E 25106 SensorService-1249 ( 1136) [006] ...1 158024.365317: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25107 sensors@1.0-se-755 ( 755) [000] ...1 158024.365452: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25108 Binder:1136_9-1633 ( 1136) [002] ...1 158024.374180: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25109 power@1.1-serv-754 ( 754) [007] ...1 158024.374396: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25110 Binder:1136_9-1633 ( 1136) [002] ...1 158024.374400: tracing_mark_write: E 25111 power@1.1-serv-754 ( 754) [007] ...1 158024.374482: tracing_mark_write: E 25112 sensors@1.0-se-755 ( 755) [000] ...1 158024.385202: tracing_mark_write: E 25113 SensorService-1249 ( 1136) [006] ...1 158024.385315: tracing_mark_write: E 25114 SensorService-1249 ( 1136) [006] ...1 158024.385379: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25115 sensors@1.0-se-755 ( 755) [000] ...1 158024.385544: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25116 sensors@1.0-se-755 ( 755) [000] ...1 158024.405195: tracing_mark_write: E 25117 SensorService-1249 ( 1136) [006] ...1 158024.405300: tracing_mark_write: E 25118 SensorService-1249 ( 1136) [006] ...1 158024.405363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25119 sensors@1.0-se-755 ( 755) [000] ...1 158024.405522: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25120 sensors@1.0-se-755 ( 755) [000] ...1 158024.426429: tracing_mark_write: E 25121 SensorService-1249 ( 1136) [006] ...1 158024.426788: tracing_mark_write: E 25122 SensorService-1249 ( 1136) [006] ...1 158024.426888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25123 sensors@1.0-se-755 ( 755) [000] ...1 158024.427055: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25124 sensors@1.0-se-755 ( 755) [000] ...1 158024.447030: tracing_mark_write: E 25125 SensorService-1249 ( 1136) [006] ...1 158024.447398: tracing_mark_write: E 25126 SensorService-1249 ( 1136) [006] ...1 158024.447490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25127 sensors@1.0-se-755 ( 755) [000] ...1 158024.448076: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25128 sensors@1.0-se-755 ( 755) [000] ...1 158024.467767: tracing_mark_write: E 25129 SensorService-1249 ( 1136) [006] ...1 158024.468130: tracing_mark_write: E 25130 SensorService-1249 ( 1136) [006] ...1 158024.468225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25131 sensors@1.0-se-755 ( 755) [000] ...1 158024.469165: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25132 sensors@1.0-se-755 ( 755) [000] ...1 158024.486715: tracing_mark_write: E 25133 SensorService-1249 ( 1136) [006] ...1 158024.487072: tracing_mark_write: E 25134 SensorService-1249 ( 1136) [006] ...1 158024.487166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25135 sensors@1.0-se-755 ( 755) [000] ...1 158024.487704: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25136 sensors@1.0-se-755 ( 755) [000] ...1 158024.507063: tracing_mark_write: E 25137 SensorService-1249 ( 1136) [006] ...1 158024.507451: tracing_mark_write: E 25138 SensorService-1249 ( 1136) [006] ...1 158024.507560: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25139 sensors@1.0-se-755 ( 755) [000] ...1 158024.507998: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25140 sensors@1.0-se-755 ( 755) [000] ...1 158024.526578: tracing_mark_write: E 25141 SensorService-1249 ( 1136) [006] ...1 158024.526904: tracing_mark_write: E 25142 SensorService-1249 ( 1136) [006] ...1 158024.526981: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25143 sensors@1.0-se-755 ( 755) [000] ...1 158024.527349: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25144 sensors@1.0-se-755 ( 755) [000] ...1 158024.547120: tracing_mark_write: E 25145 SensorService-1249 ( 1136) [006] ...1 158024.547464: tracing_mark_write: E 25146 SensorService-1249 ( 1136) [006] ...1 158024.547566: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25147 sensors@1.0-se-755 ( 755) [000] ...1 158024.548111: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25148 sensors@1.0-se-755 ( 755) [000] ...1 158024.566854: tracing_mark_write: E 25149 SensorService-1249 ( 1136) [006] ...1 158024.567169: tracing_mark_write: E 25150 SensorService-1249 ( 1136) [006] ...1 158024.567259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25151 sensors@1.0-se-755 ( 755) [000] ...1 158024.567692: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25152 sensors@1.0-se-755 ( 755) [000] ...1 158024.586388: tracing_mark_write: E 25153 SensorService-1249 ( 1136) [006] ...1 158024.586692: tracing_mark_write: E 25154 SensorService-1249 ( 1136) [006] ...1 158024.586783: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25155 sensors@1.0-se-755 ( 755) [000] ...1 158024.587205: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25156 sensors@1.0-se-755 ( 755) [000] ...1 158024.608702: tracing_mark_write: E 25157 SensorService-1249 ( 1136) [006] ...1 158024.609080: tracing_mark_write: E 25158 SensorService-1249 ( 1136) [006] ...1 158024.609177: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25159 sensors@1.0-se-755 ( 755) [000] ...1 158024.609657: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25160 sensors@1.0-se-755 ( 755) [000] ...1 158024.626741: tracing_mark_write: E 25161 SensorService-1249 ( 1136) [006] ...1 158024.627068: tracing_mark_write: E 25162 SensorService-1249 ( 1136) [006] ...1 158024.627157: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25163 sensors@1.0-se-755 ( 755) [000] ...1 158024.627334: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25164 sensors@1.0-se-755 ( 755) [000] ...1 158024.647061: tracing_mark_write: E 25165 SensorService-1249 ( 1136) [006] ...1 158024.647422: tracing_mark_write: E 25166 SensorService-1249 ( 1136) [006] ...1 158024.647516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25167 sensors@1.0-se-755 ( 755) [000] ...1 158024.647974: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25168 sensors@1.0-se-755 ( 755) [000] ...1 158024.666820: tracing_mark_write: E 25169 SensorService-1249 ( 1136) [006] ...1 158024.666984: tracing_mark_write: E 25170 SensorService-1249 ( 1136) [006] ...1 158024.667073: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25171 sensors@1.0-se-755 ( 755) [000] ...1 158024.667600: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25172 sensors@1.0-se-755 ( 755) [000] ...1 158024.686655: tracing_mark_write: E 25173 SensorService-1249 ( 1136) [006] ...1 158024.686957: tracing_mark_write: E 25174 SensorService-1249 ( 1136) [006] ...1 158024.687047: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25175 sensors@1.0-se-755 ( 755) [000] ...1 158024.687359: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25176 sensors@1.0-se-755 ( 755) [000] ...1 158024.707925: tracing_mark_write: E 25177 SensorService-1249 ( 1136) [006] ...1 158024.708235: tracing_mark_write: E 25178 SensorService-1249 ( 1136) [006] ...1 158024.708328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25179 sensors@1.0-se-755 ( 755) [000] ...1 158024.708964: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25180 sensors@1.0-se-755 ( 755) [000] ...1 158024.728367: tracing_mark_write: E 25181 SensorService-1249 ( 1136) [006] ...1 158024.728566: tracing_mark_write: E 25182 SensorService-1249 ( 1136) [006] ...1 158024.728659: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25183 sensors@1.0-se-755 ( 755) [000] ...1 158024.728882: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25184 sensors@1.0-se-755 ( 755) [000] ...1 158024.749041: tracing_mark_write: E 25185 SensorService-1249 ( 1136) [006] ...1 158024.749592: tracing_mark_write: E 25186 SensorService-1249 ( 1136) [006] ...1 158024.749684: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25187 sensors@1.0-se-755 ( 755) [000] ...1 158024.750058: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25188 sensors@1.0-se-755 ( 755) [000] ...1 158024.767007: tracing_mark_write: E 25189 SensorService-1249 ( 1136) [006] ...1 158024.767192: tracing_mark_write: E 25190 SensorService-1249 ( 1136) [006] ...1 158024.767281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25191 sensors@1.0-se-755 ( 755) [000] ...1 158024.767482: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25192 MobileIQWorker-13581 (13531) [004] ...1 158024.780259: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark 25193 sensors@1.0-se-755 ( 755) [000] ...1 158024.786597: tracing_mark_write: E 25194 SensorService-1249 ( 1136) [006] ...1 158024.786944: tracing_mark_write: E 25195 SensorService-1249 ( 1136) [006] ...1 158024.787011: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25196 sensors@1.0-se-755 ( 755) [000] ...1 158024.787122: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25197 sensors@1.0-se-755 ( 755) [000] ...1 158024.806580: tracing_mark_write: E 25198 SensorService-1249 ( 1136) [006] ...1 158024.806797: tracing_mark_write: E 25199 SensorService-1249 ( 1136) [006] ...1 158024.806965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25200 sensors@1.0-se-755 ( 755) [000] ...1 158024.807661: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25201 sensors@1.0-se-755 ( 755) [000] ...1 158024.826132: tracing_mark_write: E 25202 SensorService-1249 ( 1136) [006] ...1 158024.826259: tracing_mark_write: E 25203 SensorService-1249 ( 1136) [006] ...1 158024.826379: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25204 sensors@1.0-se-755 ( 755) [000] ...1 158024.826700: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25205 sensors@1.0-se-755 ( 755) [000] ...1 158024.846349: tracing_mark_write: E 25206 SensorService-1249 ( 1136) [006] ...1 158024.846519: tracing_mark_write: E 25207 SensorService-1249 ( 1136) [006] ...1 158024.846627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25208 HwBinder:755_1-1247 ( 755) [000] ...1 158024.846818: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25209 Binder:610_4-1720 ( 610) [007] ...1 158024.852174: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client 25210 HwBinder:612_3-11297 ( 612) [007] ...1 158024.852447: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server 25211 HwBinder:612_3-11297 ( 612) [007] ...1 158024.852469: tracing_mark_write: E 25212 Binder:610_4-1720 ( 610) [007] ...1 158024.852503: tracing_mark_write: E 25213 EventControl-682 ( 610) [002] ...1 158024.852984: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 25214 HwBinder:612_3-11297 ( 612) [002] ...1 158024.853318: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 25215 HwBinder:612_3-11297 ( 612) [002] ...1 158024.853353: tracing_mark_write: C|612|SetVsyncState |1 25216 HwBinder:612_3-11297 ( 612) [002] ...1 158024.853397: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 25217 Binder:1136_10-4278 ( 1136) [001] ...1 158024.853730: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25218 Binder:1136_10-4278 ( 1136) [001] ...1 158024.853985: tracing_mark_write: E 25219 power@1.1-serv-754 ( 754) [002] ...1 158024.854112: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25220 power@1.1-serv-754 ( 754) [002] ...1 158024.854621: tracing_mark_write: E 25221 HwBinder:612_3-11297 ( 612) [000] ...1 158024.857929: tracing_mark_write: E 25222 HwBinder:612_3-11297 ( 612) [000] ...1 158024.857988: tracing_mark_write: E 25223 EventControl-682 ( 610) [000] ...1 158024.858183: tracing_mark_write: E 25224 SDM_EventThrea-643 ( 612) [002] ...1 158024.865807: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25225 SDM_EventThrea-643 ( 612) [002] ...1 158024.865829: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25226 HwBinder:755_1-1247 ( 755) [000] ...1 158024.865847: tracing_mark_write: E 25227 SDM_EventThrea-643 ( 612) [002] ...1 158024.865918: tracing_mark_write: E 25228 SDM_EventThrea-643 ( 612) [002] ...1 158024.865931: tracing_mark_write: E 25229 SensorService-1249 ( 1136) [006] ...1 158024.866495: tracing_mark_write: E 25230 HwBinder:610_1-626 ( 610) [004] ...1 158024.866526: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25231 HwBinder:610_1-626 ( 610) [004] ...1 158024.866549: tracing_mark_write: E 25232 SensorService-1249 ( 1136) [006] ...1 158024.866609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25233 HwBinder:755_1-1247 ( 755) [003] ...1 158024.866960: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25234 surfaceflinger-610 ( 610) [000] ...1 158024.872120: tracing_mark_write: B|610|HIDL::IComposerClient::destroyLayer::client 25235 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872531: tracing_mark_write: B|612|HIDL::IComposerClient::destroyLayer::server 25236 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872584: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough 25237 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872607: tracing_mark_write: B|612|FreeBuffer 25238 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872627: tracing_mark_write: E 25239 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872634: tracing_mark_write: B|612|FreeBuffer 25240 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872639: tracing_mark_write: B|612|UnmapBuffer 25241 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872666: tracing_mark_write: E 25242 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872676: tracing_mark_write: E 25243 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872684: tracing_mark_write: E 25244 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872692: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough 25245 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872701: tracing_mark_write: B|612|FreeBuffer 25246 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872711: tracing_mark_write: E 25247 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872717: tracing_mark_write: B|612|FreeBuffer 25248 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872722: tracing_mark_write: B|612|UnmapBuffer 25249 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872756: tracing_mark_write: E 25250 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872764: tracing_mark_write: E 25251 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872769: tracing_mark_write: E 25252 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872774: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough 25253 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872782: tracing_mark_write: B|612|FreeBuffer 25254 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872790: tracing_mark_write: E 25255 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872795: tracing_mark_write: B|612|FreeBuffer 25256 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872799: tracing_mark_write: B|612|UnmapBuffer 25257 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872811: tracing_mark_write: E 25258 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872821: tracing_mark_write: E 25259 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872825: tracing_mark_write: E 25260 HwBinder:612_3-11297 ( 612) [007] ...1 158024.872840: tracing_mark_write: E 25261 surfaceflinger-610 ( 610) [000] ...1 158024.873104: tracing_mark_write: E 25262 surfaceflinger-610 ( 610) [000] ...1 158024.873137: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 25263 surfaceflinger-610 ( 610) [000] ...1 158024.873164: tracing_mark_write: B|610|FreeBuffer 25264 surfaceflinger-610 ( 610) [000] ...1 158024.873640: tracing_mark_write: E 25265 surfaceflinger-610 ( 610) [000] ...1 158024.873649: tracing_mark_write: B|610|FreeBuffer 25266 surfaceflinger-610 ( 610) [000] ...1 158024.873669: tracing_mark_write: E 25267 surfaceflinger-610 ( 610) [000] ...1 158024.873677: tracing_mark_write: E 25268 surfaceflinger-610 ( 610) [000] ...1 158024.873702: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 25269 surfaceflinger-610 ( 610) [000] ...1 158024.873716: tracing_mark_write: B|610|FreeBuffer 25270 surfaceflinger-610 ( 610) [000] ...1 158024.873728: tracing_mark_write: E 25271 surfaceflinger-610 ( 610) [000] ...1 158024.873733: tracing_mark_write: B|610|FreeBuffer 25272 surfaceflinger-610 ( 610) [000] ...1 158024.873748: tracing_mark_write: E 25273 surfaceflinger-610 ( 610) [000] ...1 158024.873755: tracing_mark_write: E 25274 surfaceflinger-610 ( 610) [000] ...1 158024.874045: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 25275 surfaceflinger-610 ( 610) [000] ...1 158024.874057: tracing_mark_write: B|610|FreeBuffer 25276 surfaceflinger-610 ( 610) [000] ...1 158024.874069: tracing_mark_write: E 25277 surfaceflinger-610 ( 610) [000] ...1 158024.874074: tracing_mark_write: B|610|FreeBuffer 25278 surfaceflinger-610 ( 610) [000] ...1 158024.874091: tracing_mark_write: E 25279 surfaceflinger-610 ( 610) [000] ...1 158024.874096: tracing_mark_write: E 25280 surfaceflinger-610 ( 610) [000] ...1 158024.874528: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25281 HwBinder:612_3-11297 ( 612) [004] ...1 158024.874935: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25282 Binder:1136_9-1633 ( 1136) [002] ...1 158024.874986: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 25283 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875042: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25284 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875058: tracing_mark_write: E 25285 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875067: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25286 Binder:1136_9-1633 ( 1136) [002] ...1 158024.875077: tracing_mark_write: E 25287 power@1.1-serv-754 ( 754) [002] ...1 158024.875212: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 25288 power@1.1-serv-754 ( 754) [002] ...1 158024.875446: tracing_mark_write: E 25289 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875527: tracing_mark_write: B|612|HWDevice::Validate:: 25290 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875658: tracing_mark_write: E 25291 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875684: tracing_mark_write: E 25292 HwBinder:612_3-11297 ( 612) [004] ...1 158024.875717: tracing_mark_write: E 25293 surfaceflinger-610 ( 610) [000] ...1 158024.875829: tracing_mark_write: E 25294 surfaceflinger-610 ( 610) [000] ...1 158024.875971: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25295 HwBinder:612_3-11297 ( 612) [004] ...1 158024.876074: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25296 HwBinder:612_3-11297 ( 612) [004] ...1 158024.876091: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25297 HwBinder:612_3-11297 ( 612) [004] ...1 158024.876112: tracing_mark_write: B|612|HWDevice::Commit:: 25298 HwBinder:612_3-11297 ( 612) [004] ...1 158024.876210: tracing_mark_write: E 25299 HwBinder:612_3-11297 ( 612) [004] ...1 158024.876233: tracing_mark_write: E 25300 HwBinder:612_3-11297 ( 612) [004] ...1 158024.876260: tracing_mark_write: E 25301 surfaceflinger-610 ( 610) [000] ...1 158024.876558: tracing_mark_write: E 25302 SDM_EventThrea-643 ( 612) [002] ...1 158024.881966: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25303 SDM_EventThrea-643 ( 612) [002] ...1 158024.881984: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25304 SDM_EventThrea-643 ( 612) [002] ...1 158024.882074: tracing_mark_write: E 25305 SDM_EventThrea-643 ( 612) [002] ...1 158024.882089: tracing_mark_write: E 25306 HwBinder:610_1-626 ( 610) [000] ...1 158024.882118: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25307 HwBinder:610_1-626 ( 610) [000] ...1 158024.882138: tracing_mark_write: E 25308 HwBinder:755_1-1247 ( 755) [000] ...1 158024.886330: tracing_mark_write: E 25309 SensorService-1249 ( 1136) [006] ...1 158024.886455: tracing_mark_write: E 25310 SensorService-1249 ( 1136) [006] ...1 158024.886579: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25311 HwBinder:755_1-1247 ( 755) [000] ...1 158024.886686: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25312 surfaceflinger-610 ( 610) [000] ...1 158024.888548: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25313 HwBinder:612_3-11297 ( 612) [004] ...1 158024.888915: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25314 HwBinder:612_3-11297 ( 612) [004] ...1 158024.889007: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25315 HwBinder:612_3-11297 ( 612) [004] ...1 158024.889037: tracing_mark_write: B|612|HWDevice::Commit:: 25316 HwBinder:612_3-11297 ( 612) [004] ...1 158024.889159: tracing_mark_write: E 25317 HwBinder:612_3-11297 ( 612) [004] ...1 158024.889205: tracing_mark_write: E 25318 HwBinder:612_3-11297 ( 612) [004] ...1 158024.889241: tracing_mark_write: E 25319 surfaceflinger-610 ( 610) [000] ...1 158024.889338: tracing_mark_write: E 25320 SDM_EventThrea-643 ( 612) [001] ...1 158024.898906: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25321 SDM_EventThrea-643 ( 612) [001] ...1 158024.898919: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25322 SDM_EventThrea-643 ( 612) [001] ...1 158024.898978: tracing_mark_write: E 25323 SDM_EventThrea-643 ( 612) [001] ...1 158024.898987: tracing_mark_write: E 25324 HwBinder:610_1-626 ( 610) [004] ...1 158024.899049: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25325 HwBinder:610_1-626 ( 610) [004] ...1 158024.899068: tracing_mark_write: E 25326 surfaceflinger-610 ( 610) [000] ...1 158024.902685: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client 25327 HwBinder:612_3-11297 ( 612) [004] ...1 158024.902992: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server 25328 HwBinder:612_3-11297 ( 612) [004] ...1 158024.903009: tracing_mark_write: E 25329 surfaceflinger-610 ( 610) [000] ...1 158024.903055: tracing_mark_write: E 25330 surfaceflinger-610 ( 610) [000] ...1 158024.905156: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25331 HwBinder:612_3-11297 ( 612) [004] ...1 158024.905263: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25332 HwBinder:612_3-11297 ( 612) [004] ...1 158024.905400: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25333 HwBinder:612_3-11297 ( 612) [004] ...1 158024.905425: tracing_mark_write: B|612|HWDevice::Commit:: 25334 HwBinder:612_3-11297 ( 612) [004] ...1 158024.905508: tracing_mark_write: E 25335 HwBinder:612_3-11297 ( 612) [004] ...1 158024.905533: tracing_mark_write: E 25336 HwBinder:612_3-11297 ( 612) [004] ...1 158024.905561: tracing_mark_write: E 25337 surfaceflinger-610 ( 610) [000] ...1 158024.905682: tracing_mark_write: E 25338 HwBinder:755_1-1247 ( 755) [000] ...1 158024.906117: tracing_mark_write: E 25339 SensorService-1249 ( 1136) [006] ...1 158024.906196: tracing_mark_write: E 25340 SensorService-1249 ( 1136) [006] ...1 158024.906291: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25341 HwBinder:755_1-1247 ( 755) [000] ...1 158024.906362: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25342 Binder:610_5-2158 ( 610) [007] ...1 158024.907623: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 25343 Binder:610_5-2158 ( 610) [007] ...1 158024.907633: tracing_mark_write: E 25344 Binder:610_5-2158 ( 610) [007] ...1 158024.907654: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 25345 HwBinder:614_1-982 ( 614) [007] ...1 158024.907765: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 25346 HwBinder:614_1-982 ( 614) [007] ...1 158024.907794: tracing_mark_write: B|614|AllocBuffer 25347 HwBinder:614_1-982 ( 614) [007] ...1 158024.907806: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7819264 25348 HwBinder:614_1-982 ( 614) [007] ...1 158024.907976: tracing_mark_write: E 25349 HwBinder:614_1-982 ( 614) [007] ...1 158024.907981: tracing_mark_write: B|614|ION_IOC_MAP 25350 HwBinder:614_1-982 ( 614) [007] ...1 158024.908019: tracing_mark_write: E 25351 HwBinder:614_1-982 ( 614) [007] ...1 158024.908023: tracing_mark_write: E 25352 HwBinder:614_1-982 ( 614) [007] ...1 158024.908027: tracing_mark_write: B|614|AllocBuffer 25353 HwBinder:614_1-982 ( 614) [007] ...1 158024.908032: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 25354 HwBinder:614_1-982 ( 614) [007] ...1 158024.908042: tracing_mark_write: E 25355 HwBinder:614_1-982 ( 614) [007] ...1 158024.908046: tracing_mark_write: B|614|ION_IOC_MAP 25356 HwBinder:614_1-982 ( 614) [007] ...1 158024.908055: tracing_mark_write: E 25357 HwBinder:614_1-982 ( 614) [007] ...1 158024.908057: tracing_mark_write: E 25358 HwBinder:614_1-982 ( 614) [007] ...1 158024.908105: tracing_mark_write: E 25359 HwBinder:614_1-982 ( 614) [007] ...1 158024.908185: tracing_mark_write: B|614|FreeBuffer 25360 HwBinder:614_1-982 ( 614) [007] ...1 158024.908198: tracing_mark_write: E 25361 HwBinder:614_1-982 ( 614) [007] ...1 158024.908203: tracing_mark_write: B|614|FreeBuffer 25362 HwBinder:614_1-982 ( 614) [007] ...1 158024.908207: tracing_mark_write: B|614|UnmapBuffer 25363 HwBinder:614_1-982 ( 614) [007] ...1 158024.908219: tracing_mark_write: E 25364 HwBinder:614_1-982 ( 614) [007] ...1 158024.908227: tracing_mark_write: E 25365 Binder:610_5-2158 ( 610) [007] ...1 158024.908287: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 25366 Binder:610_5-2158 ( 610) [007] ...1 158024.908325: tracing_mark_write: E 25367 Binder:610_5-2158 ( 610) [007] ...1 158024.908329: tracing_mark_write: E 25368 Binder:610_5-2158 ( 610) [007] ...1 158024.908454: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 25369 Binder:610_5-2158 ( 610) [007] ...1 158024.908459: tracing_mark_write: E 25370 Binder:610_5-2158 ( 610) [007] ...1 158024.908467: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 25371 HwBinder:614_1-982 ( 614) [007] ...1 158024.908539: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 25372 HwBinder:614_1-982 ( 614) [007] ...1 158024.908552: tracing_mark_write: B|614|AllocBuffer 25373 HwBinder:614_1-982 ( 614) [007] ...1 158024.908558: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7819264 25374 HwBinder:614_1-982 ( 614) [007] ...1 158024.908765: tracing_mark_write: E 25375 HwBinder:614_1-982 ( 614) [007] ...1 158024.908770: tracing_mark_write: B|614|ION_IOC_MAP 25376 HwBinder:614_1-982 ( 614) [007] ...1 158024.908781: tracing_mark_write: E 25377 HwBinder:614_1-982 ( 614) [007] ...1 158024.908784: tracing_mark_write: E 25378 HwBinder:614_1-982 ( 614) [007] ...1 158024.908788: tracing_mark_write: B|614|AllocBuffer 25379 HwBinder:614_1-982 ( 614) [007] ...1 158024.908794: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 25380 HwBinder:614_1-982 ( 614) [007] ...1 158024.908803: tracing_mark_write: E 25381 HwBinder:614_1-982 ( 614) [007] ...1 158024.908807: tracing_mark_write: B|614|ION_IOC_MAP 25382 HwBinder:614_1-982 ( 614) [007] ...1 158024.908814: tracing_mark_write: E 25383 HwBinder:614_1-982 ( 614) [007] ...1 158024.908816: tracing_mark_write: E 25384 HwBinder:614_1-982 ( 614) [007] ...1 158024.908844: tracing_mark_write: E 25385 HwBinder:614_1-982 ( 614) [007] ...1 158024.908897: tracing_mark_write: B|614|FreeBuffer 25386 HwBinder:614_1-982 ( 614) [007] ...1 158024.908909: tracing_mark_write: E 25387 HwBinder:614_1-982 ( 614) [007] ...1 158024.908914: tracing_mark_write: B|614|FreeBuffer 25388 HwBinder:614_1-982 ( 614) [007] ...1 158024.908919: tracing_mark_write: B|614|UnmapBuffer 25389 HwBinder:614_1-982 ( 614) [007] ...1 158024.908929: tracing_mark_write: E 25390 HwBinder:614_1-982 ( 614) [007] ...1 158024.908939: tracing_mark_write: E 25391 Binder:610_5-2158 ( 610) [007] ...1 158024.909035: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 25392 Binder:610_5-2158 ( 610) [007] ...1 158024.909055: tracing_mark_write: E 25393 Binder:610_5-2158 ( 610) [007] ...1 158024.909059: tracing_mark_write: E 25394 Binder:610_5-2158 ( 610) [007] ...1 158024.909090: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 25395 Binder:610_5-2158 ( 610) [007] ...1 158024.909094: tracing_mark_write: E 25396 Binder:610_5-2158 ( 610) [007] ...1 158024.909102: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 25397 HwBinder:614_1-982 ( 614) [007] ...1 158024.909348: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 25398 HwBinder:614_1-982 ( 614) [007] ...1 158024.909362: tracing_mark_write: B|614|AllocBuffer 25399 HwBinder:614_1-982 ( 614) [007] ...1 158024.909371: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7819264 25400 HwBinder:614_1-982 ( 614) [007] ...1 158024.910446: tracing_mark_write: E 25401 HwBinder:614_1-982 ( 614) [007] ...1 158024.910453: tracing_mark_write: B|614|ION_IOC_MAP 25402 HwBinder:614_1-982 ( 614) [007] ...1 158024.910465: tracing_mark_write: E 25403 HwBinder:614_1-982 ( 614) [007] ...1 158024.910469: tracing_mark_write: E 25404 HwBinder:614_1-982 ( 614) [007] ...1 158024.910472: tracing_mark_write: B|614|AllocBuffer 25405 HwBinder:614_1-982 ( 614) [007] ...1 158024.910478: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 25406 HwBinder:614_1-982 ( 614) [007] ...1 158024.910488: tracing_mark_write: E 25407 HwBinder:614_1-982 ( 614) [007] ...1 158024.910492: tracing_mark_write: B|614|ION_IOC_MAP 25408 HwBinder:614_1-982 ( 614) [007] ...1 158024.910499: tracing_mark_write: E 25409 HwBinder:614_1-982 ( 614) [007] ...1 158024.910501: tracing_mark_write: E 25410 HwBinder:614_1-982 ( 614) [007] ...1 158024.910532: tracing_mark_write: E 25411 HwBinder:614_1-982 ( 614) [007] ...1 158024.910579: tracing_mark_write: B|614|FreeBuffer 25412 HwBinder:614_1-982 ( 614) [007] ...1 158024.910595: tracing_mark_write: E 25413 HwBinder:614_1-982 ( 614) [007] ...1 158024.910604: tracing_mark_write: B|614|FreeBuffer 25414 HwBinder:614_1-982 ( 614) [007] ...1 158024.910610: tracing_mark_write: B|614|UnmapBuffer 25415 HwBinder:614_1-982 ( 614) [007] ...1 158024.910730: tracing_mark_write: E 25416 HwBinder:614_1-982 ( 614) [007] ...1 158024.910738: tracing_mark_write: E 25417 Binder:610_5-2158 ( 610) [007] ...1 158024.910802: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 25418 Binder:610_5-2158 ( 610) [007] ...1 158024.910830: tracing_mark_write: E 25419 Binder:610_5-2158 ( 610) [007] ...1 158024.910834: tracing_mark_write: E 25420 SDM_EventThrea-643 ( 612) [001] ...1 158024.915383: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25421 SDM_EventThrea-643 ( 612) [001] ...1 158024.915394: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25422 SDM_EventThrea-643 ( 612) [001] ...1 158024.915446: tracing_mark_write: E 25423 SDM_EventThrea-643 ( 612) [001] ...1 158024.915453: tracing_mark_write: E 25424 HwBinder:610_1-626 ( 610) [000] ...1 158024.915473: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25425 HwBinder:610_1-626 ( 610) [000] ...1 158024.915486: tracing_mark_write: E 25426 Binder:610_5-2158 ( 610) [004] ...1 158024.919081: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough 25427 Binder:610_5-2158 ( 610) [004] ...1 158024.919097: tracing_mark_write: B|610|FreeBuffer 25428 Binder:610_5-2158 ( 610) [004] ...1 158024.919134: tracing_mark_write: E 25429 Binder:610_5-2158 ( 610) [004] ...1 158024.919139: tracing_mark_write: B|610|FreeBuffer 25430 Binder:610_5-2158 ( 610) [004] ...1 158024.919149: tracing_mark_write: E 25431 Binder:610_5-2158 ( 610) [004] ...1 158024.919153: tracing_mark_write: E 25432 Binder:610_5-2158 ( 610) [004] ...1 158024.919167: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough 25433 Binder:610_5-2158 ( 610) [004] ...1 158024.919169: tracing_mark_write: E 25434 Binder:610_5-2158 ( 610) [004] ...1 158024.919178: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client 25435 HwBinder:614_1-982 ( 614) [004] ...1 158024.919252: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server 25436 HwBinder:614_1-982 ( 614) [004] ...1 158024.919270: tracing_mark_write: B|614|AllocBuffer 25437 HwBinder:614_1-982 ( 614) [004] ...1 158024.919277: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7929856 25438 surfaceflinger-610 ( 610) [000] ...1 158024.921980: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25439 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922121: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25440 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922188: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25441 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922198: tracing_mark_write: E 25442 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922204: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25443 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922495: tracing_mark_write: B|612|HWDevice::Validate:: 25444 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922557: tracing_mark_write: E 25445 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922573: tracing_mark_write: E 25446 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922594: tracing_mark_write: E 25447 surfaceflinger-610 ( 610) [000] ...1 158024.922654: tracing_mark_write: E 25448 surfaceflinger-610 ( 610) [000] ...1 158024.922708: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25449 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922754: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25450 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922765: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25451 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922779: tracing_mark_write: B|612|HWDevice::Commit:: 25452 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922842: tracing_mark_write: E 25453 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922857: tracing_mark_write: E 25454 HwBinder:612_3-11297 ( 612) [004] ...1 158024.922874: tracing_mark_write: E 25455 surfaceflinger-610 ( 610) [000] ...1 158024.922922: tracing_mark_write: E 25456 HwBinder:614_1-982 ( 614) [004] ...1 158024.924160: tracing_mark_write: E 25457 HwBinder:614_1-982 ( 614) [004] ...1 158024.924171: tracing_mark_write: B|614|ION_IOC_MAP 25458 HwBinder:614_1-982 ( 614) [004] ...1 158024.924186: tracing_mark_write: E 25459 HwBinder:614_1-982 ( 614) [004] ...1 158024.924190: tracing_mark_write: E 25460 HwBinder:614_1-982 ( 614) [004] ...1 158024.924195: tracing_mark_write: B|614|AllocBuffer 25461 HwBinder:614_1-982 ( 614) [004] ...1 158024.924240: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096 25462 HwBinder:614_1-982 ( 614) [004] ...1 158024.924253: tracing_mark_write: E 25463 HwBinder:614_1-982 ( 614) [004] ...1 158024.924257: tracing_mark_write: B|614|ION_IOC_MAP 25464 HwBinder:614_1-982 ( 614) [004] ...1 158024.924264: tracing_mark_write: E 25465 HwBinder:614_1-982 ( 614) [004] ...1 158024.924267: tracing_mark_write: E 25466 HwBinder:614_1-982 ( 614) [004] ...1 158024.924309: tracing_mark_write: E 25467 HwBinder:614_1-982 ( 614) [004] ...1 158024.924359: tracing_mark_write: B|614|FreeBuffer 25468 HwBinder:614_1-982 ( 614) [004] ...1 158024.924367: tracing_mark_write: E 25469 HwBinder:614_1-982 ( 614) [004] ...1 158024.924370: tracing_mark_write: B|614|FreeBuffer 25470 HwBinder:614_1-982 ( 614) [004] ...1 158024.924374: tracing_mark_write: B|614|UnmapBuffer 25471 HwBinder:614_1-982 ( 614) [004] ...1 158024.924386: tracing_mark_write: E 25472 HwBinder:614_1-982 ( 614) [004] ...1 158024.924392: tracing_mark_write: E 25473 Binder:610_5-2158 ( 610) [004] ...1 158024.924456: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough 25474 Binder:610_5-2158 ( 610) [004] ...1 158024.924485: tracing_mark_write: E 25475 Binder:610_5-2158 ( 610) [004] ...1 158024.924491: tracing_mark_write: E 25476 RenderThread-4957 ( 4896) [004] ...1 158024.924874: tracing_mark_write: B|4896|HIDL::IMapper::importBuffer::passthrough 25477 RenderThread-4957 ( 4896) [004] ...1 158024.924927: tracing_mark_write: E 25478 HwBinder:755_1-1247 ( 755) [000] ...1 158024.928119: tracing_mark_write: E 25479 SensorService-1249 ( 1136) [006] ...1 158024.928346: tracing_mark_write: E 25480 SensorService-1249 ( 1136) [006] ...1 158024.928455: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25481 HwBinder:755_1-1247 ( 755) [000] ...1 158024.928583: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25482 SDM_EventThrea-643 ( 612) [001] ...1 158024.932170: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25483 SDM_EventThrea-643 ( 612) [001] ...1 158024.932188: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25484 SDM_EventThrea-643 ( 612) [001] ...1 158024.932267: tracing_mark_write: E 25485 SDM_EventThrea-643 ( 612) [001] ...1 158024.932279: tracing_mark_write: E 25486 HwBinder:610_1-626 ( 610) [000] ...1 158024.932312: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25487 HwBinder:610_1-626 ( 610) [000] ...1 158024.932333: tracing_mark_write: E 25488 surfaceflinger-610 ( 610) [000] ...1 158024.939296: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25489 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939456: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25490 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939526: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25491 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939536: tracing_mark_write: E 25492 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939542: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25493 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939809: tracing_mark_write: B|612|HWDevice::Validate:: 25494 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939869: tracing_mark_write: E 25495 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939884: tracing_mark_write: E 25496 HwBinder:612_3-11297 ( 612) [004] ...1 158024.939906: tracing_mark_write: E 25497 surfaceflinger-610 ( 610) [000] ...1 158024.939991: tracing_mark_write: E 25498 surfaceflinger-610 ( 610) [000] ...1 158024.940096: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25499 HwBinder:612_3-11297 ( 612) [004] ...1 158024.940186: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25500 HwBinder:612_3-11297 ( 612) [004] ...1 158024.940199: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25501 HwBinder:612_3-11297 ( 612) [004] ...1 158024.940212: tracing_mark_write: B|612|HWDevice::Commit:: 25502 HwBinder:612_3-11297 ( 612) [004] ...1 158024.940279: tracing_mark_write: E 25503 HwBinder:612_3-11297 ( 612) [004] ...1 158024.940297: tracing_mark_write: E 25504 HwBinder:612_3-11297 ( 612) [004] ...1 158024.940316: tracing_mark_write: E 25505 surfaceflinger-610 ( 610) [000] ...1 158024.940403: tracing_mark_write: E 25506 HwBinder:755_1-1247 ( 755) [000] ...1 158024.945841: tracing_mark_write: E 25507 SensorService-1249 ( 1136) [006] ...1 158024.945937: tracing_mark_write: E 25508 SensorService-1249 ( 1136) [006] ...1 158024.946026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25509 HwBinder:755_1-1247 ( 755) [000] ...1 158024.946119: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25510 SDM_EventThrea-643 ( 612) [001] ...1 158024.948909: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25511 SDM_EventThrea-643 ( 612) [001] ...1 158024.948924: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25512 SDM_EventThrea-643 ( 612) [001] ...1 158024.949035: tracing_mark_write: E 25513 SDM_EventThrea-643 ( 612) [001] ...1 158024.949045: tracing_mark_write: E 25514 HwBinder:610_1-626 ( 610) [000] ...1 158024.949072: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25515 HwBinder:610_1-626 ( 610) [000] ...1 158024.949164: tracing_mark_write: E 25516 EventControl-682 ( 610) [002] ...1 158024.949191: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 25517 HwBinder:612_3-11297 ( 612) [002] ...1 158024.949324: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 25518 HwBinder:612_3-11297 ( 612) [002] ...1 158024.949340: tracing_mark_write: C|612|SetVsyncState |0 25519 HwBinder:612_3-11297 ( 612) [002] ...1 158024.949358: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 25520 HwBinder:612_3-11297 ( 612) [002] ...1 158024.949386: tracing_mark_write: E 25521 HwBinder:612_3-11297 ( 612) [002] ...1 158024.949399: tracing_mark_write: E 25522 EventControl-682 ( 610) [002] ...1 158024.949481: tracing_mark_write: E 25523 PhotonicModula-1317 ( 1136) [006] ...1 158024.951790: tracing_mark_write: B|1136|HIDL::IBase::ping::client 25524 light@2.0-serv-743 ( 743) [006] ...1 158024.951961: tracing_mark_write: B|743|HIDL::IBase::ping::server 25525 light@2.0-serv-743 ( 743) [006] ...1 158024.951968: tracing_mark_write: E 25526 PhotonicModula-1317 ( 1136) [006] ...1 158024.952081: tracing_mark_write: E 25527 PhotonicModula-1317 ( 1136) [006] ...1 158024.952115: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 25528 light@2.0-serv-743 ( 743) [006] ...1 158024.952223: tracing_mark_write: B|743|HIDL::ILight::setLight::server 25529 surfaceflinger-610 ( 610) [000] ...1 158024.955903: tracing_mark_write: B|610|HIDL::IComposerClient::createLayer::client 25530 HwBinder:612_3-11297 ( 612) [002] ...1 158024.956126: tracing_mark_write: B|612|HIDL::IComposerClient::createLayer::server 25531 HwBinder:612_3-11297 ( 612) [002] ...1 158024.956198: tracing_mark_write: E 25532 surfaceflinger-610 ( 610) [000] ...1 158024.956321: tracing_mark_write: E 25533 surfaceflinger-610 ( 610) [000] ...1 158024.956613: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25534 HwBinder:612_3-11297 ( 612) [002] ...1 158024.956892: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25535 HwBinder:612_3-11297 ( 612) [002] ...1 158024.956995: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough 25536 HwBinder:612_3-11297 ( 612) [002] ...1 158024.957069: tracing_mark_write: E 25537 HwBinder:612_3-11297 ( 612) [002] ...1 158024.957231: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25538 HwBinder:612_3-11297 ( 612) [002] ...1 158024.957254: tracing_mark_write: E 25539 HwBinder:612_3-11297 ( 612) [002] ...1 158024.957277: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25540 HwBinder:612_3-11297 ( 612) [002] ...1 158024.958123: tracing_mark_write: B|612|HWDevice::Validate:: 25541 HwBinder:612_3-11297 ( 612) [002] ...1 158024.958326: tracing_mark_write: E 25542 HwBinder:612_3-11297 ( 612) [002] ...1 158024.958373: tracing_mark_write: E 25543 HwBinder:612_3-11297 ( 612) [002] ...1 158024.958428: tracing_mark_write: E 25544 surfaceflinger-610 ( 610) [000] ...1 158024.958602: tracing_mark_write: E 25545 surfaceflinger-610 ( 610) [000] ...1 158024.958840: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25546 HwBinder:612_3-11297 ( 612) [002] ...1 158024.959022: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25547 HwBinder:612_3-11297 ( 612) [002] ...1 158024.959064: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25548 HwBinder:612_3-11297 ( 612) [002] ...1 158024.959106: tracing_mark_write: B|612|HWDevice::Commit:: 25549 HwBinder:612_3-11297 ( 612) [002] ...1 158024.959331: tracing_mark_write: E 25550 HwBinder:612_3-11297 ( 612) [002] ...1 158024.959384: tracing_mark_write: E 25551 HwBinder:612_3-11297 ( 612) [002] ...1 158024.959452: tracing_mark_write: E 25552 surfaceflinger-610 ( 610) [000] ...1 158024.959620: tracing_mark_write: E 25553 light@2.0-serv-743 ( 743) [006] ...1 158024.965019: tracing_mark_write: E 25554 PhotonicModula-1317 ( 1136) [006] ...1 158024.965116: tracing_mark_write: E 25555 HwBinder:755_1-1247 ( 755) [000] ...1 158024.965833: tracing_mark_write: E 25556 SensorService-1249 ( 1136) [006] ...1 158024.965927: tracing_mark_write: E 25557 SensorService-1249 ( 1136) [006] ...1 158024.966019: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25558 HwBinder:755_1-1247 ( 755) [000] ...1 158024.966126: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25559 PhotonicModula-1317 ( 1136) [006] ...1 158024.967991: tracing_mark_write: B|1136|HIDL::IBase::ping::client 25560 light@2.0-serv-743 ( 743) [006] ...1 158024.968063: tracing_mark_write: B|743|HIDL::IBase::ping::server 25561 light@2.0-serv-743 ( 743) [006] ...1 158024.968067: tracing_mark_write: E 25562 PhotonicModula-1317 ( 1136) [006] ...1 158024.968120: tracing_mark_write: E 25563 PhotonicModula-1317 ( 1136) [006] ...1 158024.968135: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 25564 light@2.0-serv-743 ( 743) [006] ...1 158024.968186: tracing_mark_write: B|743|HIDL::ILight::setLight::server 25565 surfaceflinger-610 ( 610) [000] ...1 158024.972597: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25566 HwBinder:612_3-11297 ( 612) [002] ...1 158024.972793: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25567 HwBinder:612_3-11297 ( 612) [002] ...1 158024.972923: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25568 HwBinder:612_3-11297 ( 612) [002] ...1 158024.972940: tracing_mark_write: E 25569 HwBinder:612_3-11297 ( 612) [002] ...1 158024.972955: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25570 HwBinder:612_3-11297 ( 612) [002] ...1 158024.973457: tracing_mark_write: B|612|HWDevice::Validate:: 25571 HwBinder:612_3-11297 ( 612) [002] ...1 158024.973587: tracing_mark_write: E 25572 HwBinder:612_3-11297 ( 612) [002] ...1 158024.973619: tracing_mark_write: E 25573 HwBinder:612_3-11297 ( 612) [002] ...1 158024.973659: tracing_mark_write: E 25574 surfaceflinger-610 ( 610) [000] ...1 158024.973781: tracing_mark_write: E 25575 surfaceflinger-610 ( 610) [000] ...1 158024.973936: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25576 HwBinder:612_3-11297 ( 612) [002] ...1 158024.974050: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25577 HwBinder:612_3-11297 ( 612) [002] ...1 158024.974078: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25578 HwBinder:612_3-11297 ( 612) [002] ...1 158024.974104: tracing_mark_write: B|612|HWDevice::Commit:: 25579 HwBinder:612_3-11297 ( 612) [002] ...1 158024.974344: tracing_mark_write: E 25580 HwBinder:612_3-11297 ( 612) [002] ...1 158024.974384: tracing_mark_write: E 25581 HwBinder:612_3-11297 ( 612) [002] ...1 158024.974435: tracing_mark_write: E 25582 surfaceflinger-610 ( 610) [000] ...1 158024.974565: tracing_mark_write: E 25583 light@2.0-serv-743 ( 743) [006] ...1 158024.982328: tracing_mark_write: E 25584 PhotonicModula-1317 ( 1136) [006] ...1 158024.982520: tracing_mark_write: E 25585 PhotonicModula-1317 ( 1136) [000] ...1 158024.985539: tracing_mark_write: B|1136|HIDL::IBase::ping::client 25586 light@2.0-serv-743 ( 743) [000] ...1 158024.985964: tracing_mark_write: B|743|HIDL::IBase::ping::server 25587 light@2.0-serv-743 ( 743) [000] ...1 158024.985976: tracing_mark_write: E 25588 PhotonicModula-1317 ( 1136) [000] ...1 158024.986153: tracing_mark_write: E 25589 PhotonicModula-1317 ( 1136) [000] ...1 158024.986200: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 25590 light@2.0-serv-743 ( 743) [000] ...1 158024.986364: tracing_mark_write: B|743|HIDL::ILight::setLight::server 25591 HwBinder:755_1-1247 ( 755) [002] ...1 158024.986460: tracing_mark_write: E 25592 SensorService-1249 ( 1136) [006] ...1 158024.986624: tracing_mark_write: E 25593 SensorService-1249 ( 1136) [006] ...1 158024.986754: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25594 HwBinder:755_1-1247 ( 755) [002] ...1 158024.986924: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25595 surfaceflinger-610 ( 610) [000] ...1 158024.989575: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25596 HwBinder:612_3-11297 ( 612) [002] ...1 158024.989862: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25597 HwBinder:612_3-11297 ( 612) [002] ...1 158024.990039: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25598 HwBinder:612_3-11297 ( 612) [002] ...1 158024.990060: tracing_mark_write: E 25599 HwBinder:612_3-11297 ( 612) [002] ...1 158024.990081: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25600 HwBinder:612_3-11297 ( 612) [002] ...1 158024.990766: tracing_mark_write: B|612|HWDevice::Validate:: 25601 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991095: tracing_mark_write: E 25602 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991140: tracing_mark_write: E 25603 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991197: tracing_mark_write: E 25604 surfaceflinger-610 ( 610) [000] ...1 158024.991354: tracing_mark_write: E 25605 surfaceflinger-610 ( 610) [000] ...1 158024.991558: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25606 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991694: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25607 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991729: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25608 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991767: tracing_mark_write: B|612|HWDevice::Commit:: 25609 HwBinder:612_3-11297 ( 612) [002] ...1 158024.991971: tracing_mark_write: E 25610 HwBinder:612_3-11297 ( 612) [002] ...1 158024.992022: tracing_mark_write: E 25611 HwBinder:612_3-11297 ( 612) [002] ...1 158024.992081: tracing_mark_write: E 25612 surfaceflinger-610 ( 610) [000] ...1 158024.992213: tracing_mark_write: E 25613 light@2.0-serv-743 ( 743) [000] ...1 158024.998809: tracing_mark_write: E 25614 PhotonicModula-1317 ( 1136) [000] ...1 158024.999065: tracing_mark_write: E 25615 PhotonicModula-1317 ( 1136) [006] ...1 158025.001617: tracing_mark_write: B|1136|HIDL::IBase::ping::client 25616 light@2.0-serv-743 ( 743) [006] ...1 158025.001784: tracing_mark_write: B|743|HIDL::IBase::ping::server 25617 light@2.0-serv-743 ( 743) [006] ...1 158025.001790: tracing_mark_write: E 25618 PhotonicModula-1317 ( 1136) [006] ...1 158025.001895: tracing_mark_write: E 25619 PhotonicModula-1317 ( 1136) [006] ...1 158025.001924: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 25620 light@2.0-serv-743 ( 743) [006] ...1 158025.002030: tracing_mark_write: B|743|HIDL::ILight::setLight::server 25621 HwBinder:755_1-1247 ( 755) [002] ...1 158025.006133: tracing_mark_write: E 25622 surfaceflinger-610 ( 610) [000] ...1 158025.006174: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25623 SensorService-1249 ( 1136) [006] ...1 158025.006280: tracing_mark_write: E 25624 SensorService-1249 ( 1136) [006] ...1 158025.006374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25625 HwBinder:612_3-11297 ( 612) [002] ...1 158025.006440: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25626 HwBinder:755_1-1247 ( 755) [000] ...1 158025.006536: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25627 HwBinder:612_3-11297 ( 612) [002] ...1 158025.006617: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25628 HwBinder:612_3-11297 ( 612) [002] ...1 158025.006638: tracing_mark_write: E 25629 HwBinder:612_3-11297 ( 612) [002] ...1 158025.006656: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25630 HwBinder:612_3-11297 ( 612) [002] ...1 158025.007343: tracing_mark_write: B|612|HWDevice::Validate:: 25631 HwBinder:612_3-11297 ( 612) [002] ...1 158025.007529: tracing_mark_write: E 25632 HwBinder:612_3-11297 ( 612) [002] ...1 158025.007667: tracing_mark_write: E 25633 HwBinder:612_3-11297 ( 612) [002] ...1 158025.007727: tracing_mark_write: E 25634 surfaceflinger-610 ( 610) [000] ...1 158025.008020: tracing_mark_write: E 25635 surfaceflinger-610 ( 610) [000] ...1 158025.008239: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25636 HwBinder:612_3-11297 ( 612) [002] ...1 158025.008385: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25637 HwBinder:612_3-11297 ( 612) [002] ...1 158025.008422: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25638 HwBinder:612_3-11297 ( 612) [002] ...1 158025.008461: tracing_mark_write: B|612|HWDevice::Commit:: 25639 HwBinder:612_3-11297 ( 612) [002] ...1 158025.008673: tracing_mark_write: E 25640 HwBinder:612_3-11297 ( 612) [002] ...1 158025.008728: tracing_mark_write: E 25641 HwBinder:612_3-11297 ( 612) [002] ...1 158025.008791: tracing_mark_write: E 25642 surfaceflinger-610 ( 610) [000] ...1 158025.008929: tracing_mark_write: E 25643 light@2.0-serv-743 ( 743) [006] ...1 158025.015609: tracing_mark_write: E 25644 PhotonicModula-1317 ( 1136) [006] ...1 158025.015768: tracing_mark_write: E 25645 PhotonicModula-1317 ( 1136) [006] ...1 158025.018204: tracing_mark_write: B|1136|HIDL::IBase::ping::client 25646 light@2.0-serv-743 ( 743) [006] ...1 158025.018397: tracing_mark_write: B|743|HIDL::IBase::ping::server 25647 light@2.0-serv-743 ( 743) [006] ...1 158025.018406: tracing_mark_write: E 25648 PhotonicModula-1317 ( 1136) [006] ...1 158025.018539: tracing_mark_write: E 25649 PhotonicModula-1317 ( 1136) [006] ...1 158025.018578: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 25650 light@2.0-serv-743 ( 743) [006] ...1 158025.018715: tracing_mark_write: B|743|HIDL::ILight::setLight::server 25651 surfaceflinger-610 ( 610) [000] ...1 158025.022897: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25652 HwBinder:612_3-11297 ( 612) [002] ...1 158025.023195: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25653 HwBinder:612_3-11297 ( 612) [002] ...1 158025.023372: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25654 HwBinder:612_3-11297 ( 612) [002] ...1 158025.023393: tracing_mark_write: E 25655 HwBinder:612_3-11297 ( 612) [002] ...1 158025.023411: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25656 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024087: tracing_mark_write: B|612|HWDevice::Validate:: 25657 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024324: tracing_mark_write: E 25658 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024364: tracing_mark_write: E 25659 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024418: tracing_mark_write: E 25660 surfaceflinger-610 ( 610) [000] ...1 158025.024554: tracing_mark_write: E 25661 surfaceflinger-610 ( 610) [000] ...1 158025.024742: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25662 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024870: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25663 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024901: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25664 HwBinder:612_3-11297 ( 612) [002] ...1 158025.024935: tracing_mark_write: B|612|HWDevice::Commit:: 25665 HwBinder:612_3-11297 ( 612) [002] ...1 158025.025124: tracing_mark_write: E 25666 HwBinder:612_3-11297 ( 612) [002] ...1 158025.025171: tracing_mark_write: E 25667 HwBinder:612_3-11297 ( 612) [002] ...1 158025.025224: tracing_mark_write: E 25668 surfaceflinger-610 ( 610) [000] ...1 158025.025342: tracing_mark_write: E 25669 HwBinder:755_1-1247 ( 755) [000] ...1 158025.026315: tracing_mark_write: E 25670 SensorService-1249 ( 1136) [006] ...1 158025.026440: tracing_mark_write: E 25671 SensorService-1249 ( 1136) [006] ...1 158025.026569: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25672 HwBinder:755_1-1247 ( 755) [000] ...1 158025.026711: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25673 light@2.0-serv-743 ( 743) [006] ...1 158025.032126: tracing_mark_write: E 25674 PhotonicModula-1317 ( 1136) [006] ...1 158025.032254: tracing_mark_write: E 25675 PhotonicModula-1317 ( 1136) [002] ...1 158025.034786: tracing_mark_write: B|1136|HIDL::IBase::ping::client 25676 light@2.0-serv-743 ( 743) [002] ...1 158025.035007: tracing_mark_write: B|743|HIDL::IBase::ping::server 25677 light@2.0-serv-743 ( 743) [002] ...1 158025.035015: tracing_mark_write: E 25678 PhotonicModula-1317 ( 1136) [002] ...1 158025.035137: tracing_mark_write: E 25679 PhotonicModula-1317 ( 1136) [002] ...1 158025.035171: tracing_mark_write: B|1136|HIDL::ILight::setLight::client 25680 light@2.0-serv-743 ( 743) [002] ...1 158025.035283: tracing_mark_write: B|743|HIDL::ILight::setLight::server 25681 surfaceflinger-610 ( 610) [000] ...1 158025.039407: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25682 HwBinder:612_3-11297 ( 612) [002] ...1 158025.039708: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25683 HwBinder:612_3-11297 ( 612) [002] ...1 158025.039892: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25684 HwBinder:612_3-11297 ( 612) [002] ...1 158025.039912: tracing_mark_write: E 25685 HwBinder:612_3-11297 ( 612) [002] ...1 158025.039928: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25686 HwBinder:612_3-11297 ( 612) [002] ...1 158025.040614: tracing_mark_write: B|612|HWDevice::Validate:: 25687 HwBinder:612_3-11297 ( 612) [002] ...1 158025.040815: tracing_mark_write: E 25688 HwBinder:612_3-11297 ( 612) [002] ...1 158025.040857: tracing_mark_write: E 25689 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041044: tracing_mark_write: E 25690 surfaceflinger-610 ( 610) [000] ...1 158025.041210: tracing_mark_write: E 25691 surfaceflinger-610 ( 610) [000] ...1 158025.041418: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25692 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041540: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25693 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041567: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25694 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041599: tracing_mark_write: B|612|HWDevice::Commit:: 25695 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041776: tracing_mark_write: E 25696 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041823: tracing_mark_write: E 25697 HwBinder:612_3-11297 ( 612) [002] ...1 158025.041876: tracing_mark_write: E 25698 surfaceflinger-610 ( 610) [000] ...1 158025.041987: tracing_mark_write: E 25699 HwBinder:755_1-1247 ( 755) [000] ...1 158025.046345: tracing_mark_write: E 25700 SensorService-1249 ( 1136) [006] ...1 158025.046479: tracing_mark_write: E 25701 SensorService-1249 ( 1136) [006] ...1 158025.046615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25702 HwBinder:755_1-1247 ( 755) [000] ...1 158025.046757: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25703 light@2.0-serv-743 ( 743) [002] ...1 158025.049259: tracing_mark_write: E 25704 PhotonicModula-1317 ( 1136) [002] ...1 158025.049428: tracing_mark_write: E 25705 surfaceflinger-610 ( 610) [000] ...1 158025.056016: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25706 HwBinder:612_3-11297 ( 612) [002] ...1 158025.056298: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25707 HwBinder:612_3-11297 ( 612) [002] ...1 158025.056476: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25708 HwBinder:612_3-11297 ( 612) [002] ...1 158025.056496: tracing_mark_write: E 25709 HwBinder:612_3-11297 ( 612) [002] ...1 158025.056510: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25710 HwBinder:612_3-11297 ( 612) [002] ...1 158025.057172: tracing_mark_write: B|612|HWDevice::Validate:: 25711 HwBinder:612_3-11297 ( 612) [002] ...1 158025.057361: tracing_mark_write: E 25712 HwBinder:612_3-11297 ( 612) [002] ...1 158025.057398: tracing_mark_write: E 25713 HwBinder:612_3-11297 ( 612) [002] ...1 158025.057452: tracing_mark_write: E 25714 surfaceflinger-610 ( 610) [000] ...1 158025.057651: tracing_mark_write: E 25715 surfaceflinger-610 ( 610) [000] ...1 158025.057831: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25716 HwBinder:612_3-11297 ( 612) [002] ...1 158025.057949: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25717 HwBinder:612_3-11297 ( 612) [002] ...1 158025.057978: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25718 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058009: tracing_mark_write: B|612|HWDevice::Commit:: 25719 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058195: tracing_mark_write: E 25720 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058244: tracing_mark_write: E 25721 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058295: tracing_mark_write: E 25722 surfaceflinger-610 ( 610) [000] ...1 158025.058392: tracing_mark_write: E 25723 EventControl-682 ( 610) [002] ...1 158025.058804: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 25724 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058925: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 25725 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058943: tracing_mark_write: C|612|SetVsyncState |1 25726 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058960: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 25727 HwBinder:612_3-11297 ( 612) [002] ...1 158025.058998: tracing_mark_write: E 25728 HwBinder:612_3-11297 ( 612) [002] ...1 158025.059010: tracing_mark_write: E 25729 EventControl-682 ( 610) [002] ...1 158025.059061: tracing_mark_write: E 25730 SDM_EventThrea-643 ( 612) [000] ...1 158025.066050: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25731 SDM_EventThrea-643 ( 612) [000] ...1 158025.066071: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25732 SDM_EventThrea-643 ( 612) [000] ...1 158025.066157: tracing_mark_write: E 25733 SDM_EventThrea-643 ( 612) [000] ...1 158025.066169: tracing_mark_write: E 25734 HwBinder:610_1-626 ( 610) [001] ...1 158025.066205: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25735 HwBinder:610_1-626 ( 610) [001] ...1 158025.066259: tracing_mark_write: E 25736 HwBinder:755_1-1247 ( 755) [000] ...1 158025.066770: tracing_mark_write: E 25737 SensorService-1249 ( 1136) [006] ...1 158025.066928: tracing_mark_write: E 25738 SensorService-1249 ( 1136) [006] ...1 158025.067082: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25739 HwBinder:755_1-1247 ( 755) [000] ...1 158025.067232: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25740 surfaceflinger-610 ( 610) [000] ...1 158025.073355: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25741 HwBinder:612_3-11297 ( 612) [002] ...1 158025.073598: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25742 HwBinder:612_3-11297 ( 612) [002] ...1 158025.073758: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25743 HwBinder:612_3-11297 ( 612) [002] ...1 158025.073777: tracing_mark_write: E 25744 HwBinder:612_3-11297 ( 612) [002] ...1 158025.073790: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25745 HwBinder:612_3-11297 ( 612) [002] ...1 158025.074486: tracing_mark_write: B|612|HWDevice::Validate:: 25746 HwBinder:612_3-11297 ( 612) [002] ...1 158025.074676: tracing_mark_write: E 25747 HwBinder:612_3-11297 ( 612) [002] ...1 158025.074713: tracing_mark_write: E 25748 HwBinder:612_3-11297 ( 612) [002] ...1 158025.074767: tracing_mark_write: E 25749 surfaceflinger-610 ( 610) [000] ...1 158025.074906: tracing_mark_write: E 25750 surfaceflinger-610 ( 610) [000] ...1 158025.075084: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25751 HwBinder:612_3-11297 ( 612) [002] ...1 158025.075191: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25752 HwBinder:612_3-11297 ( 612) [002] ...1 158025.075219: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25753 HwBinder:612_3-11297 ( 612) [002] ...1 158025.075250: tracing_mark_write: B|612|HWDevice::Commit:: 25754 HwBinder:612_3-11297 ( 612) [002] ...1 158025.075436: tracing_mark_write: E 25755 HwBinder:612_3-11297 ( 612) [002] ...1 158025.075483: tracing_mark_write: E 25756 HwBinder:612_3-11297 ( 612) [002] ...1 158025.075532: tracing_mark_write: E 25757 surfaceflinger-610 ( 610) [000] ...1 158025.075629: tracing_mark_write: E 25758 SDM_EventThrea-643 ( 612) [000] ...1 158025.082801: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25759 SDM_EventThrea-643 ( 612) [000] ...1 158025.082824: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25760 SDM_EventThrea-643 ( 612) [000] ...1 158025.082920: tracing_mark_write: E 25761 SDM_EventThrea-643 ( 612) [000] ...1 158025.082933: tracing_mark_write: E 25762 HwBinder:610_1-626 ( 610) [001] ...1 158025.082982: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25763 HwBinder:610_1-626 ( 610) [001] ...1 158025.083013: tracing_mark_write: E 25764 HwBinder:755_1-1247 ( 755) [000] ...1 158025.086119: tracing_mark_write: E 25765 SensorService-1249 ( 1136) [006] ...1 158025.086274: tracing_mark_write: E 25766 SensorService-1249 ( 1136) [006] ...1 158025.086395: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25767 HwBinder:755_1-1247 ( 755) [000] ...1 158025.086536: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25768 surfaceflinger-610 ( 610) [002] ...1 158025.090801: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25769 HwBinder:612_3-11297 ( 612) [000] ...1 158025.091359: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25770 HwBinder:612_3-11297 ( 612) [000] ...1 158025.091592: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25771 HwBinder:612_3-11297 ( 612) [000] ...1 158025.091621: tracing_mark_write: E 25772 HwBinder:612_3-11297 ( 612) [000] ...1 158025.091646: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25773 HwBinder:612_3-11297 ( 612) [000] ...1 158025.092566: tracing_mark_write: B|612|HWDevice::Validate:: 25774 HwBinder:612_3-11297 ( 612) [000] ...1 158025.092836: tracing_mark_write: E 25775 HwBinder:612_3-11297 ( 612) [000] ...1 158025.092891: tracing_mark_write: E 25776 HwBinder:612_3-11297 ( 612) [000] ...1 158025.092966: tracing_mark_write: E 25777 surfaceflinger-610 ( 610) [002] ...1 158025.093163: tracing_mark_write: E 25778 surfaceflinger-610 ( 610) [002] ...1 158025.093435: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25779 HwBinder:612_3-11297 ( 612) [000] ...1 158025.093822: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25780 HwBinder:612_3-11297 ( 612) [000] ...1 158025.094018: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25781 HwBinder:612_3-11297 ( 612) [000] ...1 158025.094076: tracing_mark_write: B|612|HWDevice::Commit:: 25782 HwBinder:612_3-11297 ( 612) [000] ...1 158025.094719: tracing_mark_write: E 25783 HwBinder:612_3-11297 ( 612) [000] ...1 158025.094932: tracing_mark_write: E 25784 HwBinder:612_3-11297 ( 612) [000] ...1 158025.095014: tracing_mark_write: E 25785 surfaceflinger-610 ( 610) [002] ...1 158025.095332: tracing_mark_write: E 25786 SDM_EventThrea-643 ( 612) [000] ...1 158025.099611: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25787 SDM_EventThrea-643 ( 612) [000] ...1 158025.099639: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25788 SDM_EventThrea-643 ( 612) [000] ...1 158025.099775: tracing_mark_write: E 25789 SDM_EventThrea-643 ( 612) [000] ...1 158025.099794: tracing_mark_write: E 25790 HwBinder:610_1-626 ( 610) [001] ...1 158025.099853: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25791 HwBinder:610_1-626 ( 610) [001] ...1 158025.099892: tracing_mark_write: E 25792 HwBinder:755_1-1247 ( 755) [001] ...1 158025.106314: tracing_mark_write: E 25793 SensorService-1249 ( 1136) [006] ...1 158025.106543: tracing_mark_write: E 25794 SensorService-1249 ( 1136) [006] ...1 158025.106702: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25795 HwBinder:755_1-1247 ( 755) [001] ...1 158025.106900: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25796 surfaceflinger-610 ( 610) [000] ...1 158025.107417: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25797 HwBinder:612_3-11297 ( 612) [001] ...1 158025.107812: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25798 HwBinder:612_3-11297 ( 612) [001] ...1 158025.108055: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25799 HwBinder:612_3-11297 ( 612) [001] ...1 158025.108081: tracing_mark_write: E 25800 HwBinder:612_3-11297 ( 612) [001] ...1 158025.108106: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25801 HwBinder:612_3-11297 ( 612) [001] ...1 158025.109022: tracing_mark_write: B|612|HWDevice::Validate:: 25802 HwBinder:612_3-11297 ( 612) [001] ...1 158025.109242: tracing_mark_write: E 25803 HwBinder:612_3-11297 ( 612) [001] ...1 158025.109293: tracing_mark_write: E 25804 HwBinder:612_3-11297 ( 612) [001] ...1 158025.109355: tracing_mark_write: E 25805 surfaceflinger-610 ( 610) [000] ...1 158025.109517: tracing_mark_write: E 25806 surfaceflinger-610 ( 610) [000] ...1 158025.109747: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25807 HwBinder:612_3-11297 ( 612) [001] ...1 158025.110017: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25808 HwBinder:612_3-11297 ( 612) [001] ...1 158025.110060: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25809 HwBinder:612_3-11297 ( 612) [001] ...1 158025.110110: tracing_mark_write: B|612|HWDevice::Commit:: 25810 HwBinder:612_3-11297 ( 612) [001] ...1 158025.110358: tracing_mark_write: E 25811 HwBinder:612_3-11297 ( 612) [001] ...1 158025.110421: tracing_mark_write: E 25812 HwBinder:612_3-11297 ( 612) [001] ...1 158025.110490: tracing_mark_write: E 25813 surfaceflinger-610 ( 610) [000] ...1 158025.110651: tracing_mark_write: E 25814 SDM_EventThrea-643 ( 612) [000] ...1 158025.116361: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25815 SDM_EventThrea-643 ( 612) [000] ...1 158025.116386: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25816 SDM_EventThrea-643 ( 612) [000] ...1 158025.116505: tracing_mark_write: E 25817 SDM_EventThrea-643 ( 612) [000] ...1 158025.116520: tracing_mark_write: E 25818 HwBinder:610_1-626 ( 610) [001] ...1 158025.116578: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25819 HwBinder:610_1-626 ( 610) [001] ...1 158025.116616: tracing_mark_write: E 25820 surfaceflinger-610 ( 610) [000] ...1 158025.123708: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25821 HwBinder:612_3-11297 ( 612) [001] ...1 158025.124001: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25822 HwBinder:612_3-11297 ( 612) [001] ...1 158025.124270: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25823 HwBinder:612_3-11297 ( 612) [001] ...1 158025.124299: tracing_mark_write: E 25824 HwBinder:612_3-11297 ( 612) [001] ...1 158025.124325: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25825 HwBinder:612_3-11297 ( 612) [001] ...1 158025.125193: tracing_mark_write: B|612|HWDevice::Validate:: 25826 sh-13726 (13726) [005] ...1 158025.125235: tracing_mark_write: trace_event_clock_sync: name=3dcc994f-0459-4a69-8ebe-ce495d65712c 25827 HwBinder:612_3-11297 ( 612) [001] ...1 158025.125415: tracing_mark_write: E 25828 HwBinder:612_3-11297 ( 612) [001] ...1 158025.125466: tracing_mark_write: E 25829 HwBinder:612_3-11297 ( 612) [001] ...1 158025.125530: tracing_mark_write: E 25830 surfaceflinger-610 ( 610) [000] ...1 158025.125831: tracing_mark_write: E 25831 surfaceflinger-610 ( 610) [000] ...1 158025.126057: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25832 HwBinder:612_3-11297 ( 612) [002] ...1 158025.126296: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25833 HwBinder:755_1-1247 ( 755) [001] ...1 158025.126307: tracing_mark_write: E 25834 HwBinder:612_3-11297 ( 612) [002] ...1 158025.126337: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25835 HwBinder:612_3-11297 ( 612) [002] ...1 158025.126385: tracing_mark_write: B|612|HWDevice::Commit:: 25836 SensorService-1249 ( 1136) [006] ...1 158025.126514: tracing_mark_write: E 25837 HwBinder:612_3-11297 ( 612) [002] ...1 158025.126629: tracing_mark_write: E 25838 HwBinder:612_3-11297 ( 612) [002] ...1 158025.126685: tracing_mark_write: E 25839 SensorService-1249 ( 1136) [006] ...1 158025.126712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25840 HwBinder:612_3-11297 ( 612) [002] ...1 158025.126754: tracing_mark_write: E 25841 HwBinder:755_1-1247 ( 755) [001] ...1 158025.126887: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25842 surfaceflinger-610 ( 610) [000] ...1 158025.126915: tracing_mark_write: E 25843 SDM_EventThrea-643 ( 612) [000] ...1 158025.133045: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25844 SDM_EventThrea-643 ( 612) [000] ...1 158025.133071: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25845 SDM_EventThrea-643 ( 612) [000] ...1 158025.133208: tracing_mark_write: E 25846 SDM_EventThrea-643 ( 612) [000] ...1 158025.133225: tracing_mark_write: E 25847 HwBinder:610_1-626 ( 610) [001] ...1 158025.133287: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25848 HwBinder:610_1-626 ( 610) [001] ...1 158025.133327: tracing_mark_write: E 25849 surfaceflinger-610 ( 610) [000] ...1 158025.140446: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25850 HwBinder:612_3-11297 ( 612) [002] ...1 158025.140754: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25851 HwBinder:612_3-11297 ( 612) [002] ...1 158025.141059: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25852 HwBinder:612_3-11297 ( 612) [002] ...1 158025.141084: tracing_mark_write: E 25853 HwBinder:612_3-11297 ( 612) [002] ...1 158025.141106: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25854 HwBinder:612_3-11297 ( 612) [002] ...1 158025.141933: tracing_mark_write: B|612|HWDevice::Validate:: 25855 HwBinder:612_3-11297 ( 612) [002] ...1 158025.142160: tracing_mark_write: E 25856 HwBinder:612_3-11297 ( 612) [002] ...1 158025.142209: tracing_mark_write: E 25857 HwBinder:612_3-11297 ( 612) [002] ...1 158025.142280: tracing_mark_write: E 25858 surfaceflinger-610 ( 610) [000] ...1 158025.142441: tracing_mark_write: E 25859 surfaceflinger-610 ( 610) [000] ...1 158025.142664: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25860 HwBinder:612_3-11297 ( 612) [002] ...1 158025.142824: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25861 HwBinder:612_3-11297 ( 612) [002] ...1 158025.142859: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25862 HwBinder:612_3-11297 ( 612) [002] ...1 158025.142900: tracing_mark_write: B|612|HWDevice::Commit:: 25863 HwBinder:612_3-11297 ( 612) [002] ...1 158025.143141: tracing_mark_write: E 25864 HwBinder:612_3-11297 ( 612) [002] ...1 158025.143197: tracing_mark_write: E 25865 HwBinder:612_3-11297 ( 612) [002] ...1 158025.143263: tracing_mark_write: E 25866 surfaceflinger-610 ( 610) [000] ...1 158025.143414: tracing_mark_write: E 25867 HwBinder:755_1-1247 ( 755) [000] ...1 158025.146482: tracing_mark_write: E 25868 SensorService-1249 ( 1136) [006] ...1 158025.146684: tracing_mark_write: E 25869 SensorService-1249 ( 1136) [006] ...1 158025.146869: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25870 HwBinder:755_1-1247 ( 755) [000] ...1 158025.147049: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25871 SDM_EventThrea-643 ( 612) [000] ...1 158025.149774: tracing_mark_write: B|612|HWCCallbacks::Vsync:: 25872 SDM_EventThrea-643 ( 612) [000] ...1 158025.149797: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client 25873 SDM_EventThrea-643 ( 612) [000] ...1 158025.149914: tracing_mark_write: E 25874 SDM_EventThrea-643 ( 612) [000] ...1 158025.149930: tracing_mark_write: E 25875 HwBinder:610_1-626 ( 610) [001] ...1 158025.149987: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server 25876 HwBinder:610_1-626 ( 610) [001] ...1 158025.150081: tracing_mark_write: E 25877 surfaceflinger-610 ( 610) [000] ...1 158025.157673: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25878 HwBinder:612_3-11297 ( 612) [002] ...1 158025.158036: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25879 HwBinder:612_3-11297 ( 612) [002] ...1 158025.158257: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25880 HwBinder:612_3-11297 ( 612) [002] ...1 158025.158283: tracing_mark_write: E 25881 HwBinder:612_3-11297 ( 612) [002] ...1 158025.158304: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25882 HwBinder:612_3-11297 ( 612) [002] ...1 158025.159126: tracing_mark_write: B|612|HWDevice::Validate:: 25883 HwBinder:612_3-11297 ( 612) [002] ...1 158025.159360: tracing_mark_write: E 25884 HwBinder:612_3-11297 ( 612) [002] ...1 158025.159413: tracing_mark_write: E 25885 HwBinder:612_3-11297 ( 612) [002] ...1 158025.159483: tracing_mark_write: E 25886 surfaceflinger-610 ( 610) [000] ...1 158025.159660: tracing_mark_write: E 25887 surfaceflinger-610 ( 610) [000] ...1 158025.159900: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25888 HwBinder:612_3-11297 ( 612) [002] ...1 158025.160060: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25889 HwBinder:612_3-11297 ( 612) [002] ...1 158025.160097: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25890 HwBinder:612_3-11297 ( 612) [002] ...1 158025.160139: tracing_mark_write: B|612|HWDevice::Commit:: 25891 HwBinder:612_3-11297 ( 612) [002] ...1 158025.160380: tracing_mark_write: E 25892 HwBinder:612_3-11297 ( 612) [002] ...1 158025.160435: tracing_mark_write: E 25893 HwBinder:612_3-11297 ( 612) [002] ...1 158025.160504: tracing_mark_write: E 25894 surfaceflinger-610 ( 610) [000] ...1 158025.160658: tracing_mark_write: E 25895 EventControl-682 ( 610) [001] ...1 158025.161303: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client 25896 HwBinder:612_3-11297 ( 612) [001] ...1 158025.161510: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server 25897 HwBinder:612_3-11297 ( 612) [001] ...1 158025.161535: tracing_mark_write: C|612|SetVsyncState |0 25898 HwBinder:612_3-11297 ( 612) [001] ...1 158025.161561: tracing_mark_write: B|612|HWPrimary::SetVSyncState:: 25899 HwBinder:612_3-11297 ( 612) [001] ...1 158025.161608: tracing_mark_write: E 25900 HwBinder:612_3-11297 ( 612) [001] ...1 158025.161629: tracing_mark_write: E 25901 EventControl-682 ( 610) [001] ...1 158025.161709: tracing_mark_write: E 25902 HwBinder:755_1-1247 ( 755) [000] ...1 158025.166391: tracing_mark_write: E 25903 SensorService-1249 ( 1136) [006] ...1 158025.166585: tracing_mark_write: E 25904 SensorService-1249 ( 1136) [006] ...1 158025.166765: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25905 HwBinder:755_1-1247 ( 755) [000] ...1 158025.166937: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25906 surfaceflinger-610 ( 610) [003] ...1 158025.173731: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25907 HwBinder:612_3-11297 ( 612) [001] ...1 158025.174092: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25908 HwBinder:612_3-11297 ( 612) [001] ...1 158025.174381: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25909 HwBinder:612_3-11297 ( 612) [001] ...1 158025.174443: tracing_mark_write: B|612|HWDevice::Commit:: 25910 HwBinder:612_3-11297 ( 612) [001] ...1 158025.174702: tracing_mark_write: E 25911 HwBinder:612_3-11297 ( 612) [001] ...1 158025.174773: tracing_mark_write: E 25912 HwBinder:612_3-11297 ( 612) [001] ...1 158025.174863: tracing_mark_write: E 25913 surfaceflinger-610 ( 610) [003] ...1 158025.175067: tracing_mark_write: E 25914 HwBinder:755_1-1247 ( 755) [000] ...1 158025.187520: tracing_mark_write: E 25915 SensorService-1249 ( 1136) [006] ...1 158025.187813: tracing_mark_write: E 25916 SensorService-1249 ( 1136) [006] ...1 158025.188038: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25917 HwBinder:755_1-1247 ( 755) [000] ...1 158025.188223: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25918 surfaceflinger-610 ( 610) [000] ...1 158025.190449: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25919 HwBinder:612_3-11297 ( 612) [001] ...1 158025.190712: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25920 HwBinder:612_3-11297 ( 612) [001] ...1 158025.190927: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25921 HwBinder:612_3-11297 ( 612) [001] ...1 158025.190946: tracing_mark_write: E 25922 HwBinder:612_3-11297 ( 612) [001] ...1 158025.190957: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25923 HwBinder:612_3-11297 ( 612) [001] ...1 158025.191617: tracing_mark_write: B|612|HWDevice::Validate:: 25924 HwBinder:612_3-11297 ( 612) [001] ...1 158025.191804: tracing_mark_write: E 25925 HwBinder:612_3-11297 ( 612) [001] ...1 158025.191841: tracing_mark_write: E 25926 HwBinder:612_3-11297 ( 612) [001] ...1 158025.191896: tracing_mark_write: E 25927 surfaceflinger-610 ( 610) [000] ...1 158025.192026: tracing_mark_write: E 25928 surfaceflinger-610 ( 610) [000] ...1 158025.192237: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25929 HwBinder:612_3-11297 ( 612) [001] ...1 158025.192330: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25930 HwBinder:612_3-11297 ( 612) [001] ...1 158025.192352: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25931 HwBinder:612_3-11297 ( 612) [001] ...1 158025.192378: tracing_mark_write: B|612|HWDevice::Commit:: 25932 HwBinder:612_3-11297 ( 612) [001] ...1 158025.192522: tracing_mark_write: E 25933 HwBinder:612_3-11297 ( 612) [001] ...1 158025.192558: tracing_mark_write: E 25934 HwBinder:612_3-11297 ( 612) [001] ...1 158025.192604: tracing_mark_write: E 25935 surfaceflinger-610 ( 610) [000] ...1 158025.192691: tracing_mark_write: E 25936 HwBinder:755_1-1247 ( 755) [001] ...1 158025.206083: tracing_mark_write: E 25937 SensorService-1249 ( 1136) [006] ...1 158025.206240: tracing_mark_write: E 25938 surfaceflinger-610 ( 610) [000] ...1 158025.206346: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25939 SensorService-1249 ( 1136) [006] ...1 158025.206364: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25940 HwBinder:755_1-1247 ( 755) [001] ...1 158025.206487: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25941 HwBinder:612_3-11297 ( 612) [003] ...1 158025.206524: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25942 HwBinder:612_3-11297 ( 612) [003] ...1 158025.206642: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25943 HwBinder:612_3-11297 ( 612) [003] ...1 158025.206654: tracing_mark_write: E 25944 HwBinder:612_3-11297 ( 612) [003] ...1 158025.206662: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 25945 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207146: tracing_mark_write: B|612|HWDevice::Validate:: 25946 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207255: tracing_mark_write: E 25947 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207282: tracing_mark_write: E 25948 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207322: tracing_mark_write: E 25949 surfaceflinger-610 ( 610) [000] ...1 158025.207422: tracing_mark_write: E 25950 surfaceflinger-610 ( 610) [000] ...1 158025.207594: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25951 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207669: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25952 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207685: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25953 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207705: tracing_mark_write: B|612|HWDevice::Commit:: 25954 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207824: tracing_mark_write: E 25955 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207852: tracing_mark_write: E 25956 HwBinder:612_3-11297 ( 612) [003] ...1 158025.207882: tracing_mark_write: E 25957 surfaceflinger-610 ( 610) [000] ...1 158025.207940: tracing_mark_write: E 25958 surfaceflinger-610 ( 610) [000] ...1 158025.223025: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25959 HwBinder:612_3-11297 ( 612) [003] ...1 158025.223216: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25960 HwBinder:612_3-11297 ( 612) [003] ...1 158025.223312: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25961 HwBinder:612_3-11297 ( 612) [003] ...1 158025.223338: tracing_mark_write: B|612|HWDevice::Commit:: 25962 HwBinder:612_3-11297 ( 612) [003] ...1 158025.223457: tracing_mark_write: E 25963 HwBinder:612_3-11297 ( 612) [003] ...1 158025.223490: tracing_mark_write: E 25964 HwBinder:612_3-11297 ( 612) [003] ...1 158025.223566: tracing_mark_write: E 25965 surfaceflinger-610 ( 610) [000] ...1 158025.223655: tracing_mark_write: E 25966 HwBinder:755_1-1247 ( 755) [000] ...1 158025.225962: tracing_mark_write: E 25967 SensorService-1249 ( 1136) [006] ...1 158025.226037: tracing_mark_write: E 25968 SensorService-1249 ( 1136) [006] ...1 158025.226114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25969 sensors@1.0-se-755 ( 755) [000] ...1 158025.226204: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25970 surfaceflinger-610 ( 610) [000] ...1 158025.240363: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25971 HwBinder:612_3-11297 ( 612) [003] ...1 158025.240685: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25972 HwBinder:612_3-11297 ( 612) [003] ...1 158025.241119: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25973 HwBinder:612_3-11297 ( 612) [003] ...1 158025.241177: tracing_mark_write: B|612|HWDevice::Commit:: 25974 HwBinder:612_3-11297 ( 612) [003] ...1 158025.241417: tracing_mark_write: E 25975 HwBinder:612_3-11297 ( 612) [003] ...1 158025.241652: tracing_mark_write: E 25976 HwBinder:612_3-11297 ( 612) [003] ...1 158025.241726: tracing_mark_write: E 25977 surfaceflinger-610 ( 610) [000] ...1 158025.241983: tracing_mark_write: E 25978 sensors@1.0-se-755 ( 755) [000] ...1 158025.246218: tracing_mark_write: E 25979 SensorService-1249 ( 1136) [006] ...1 158025.246330: tracing_mark_write: E 25980 SensorService-1249 ( 1136) [006] ...1 158025.246412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25981 sensors@1.0-se-755 ( 755) [000] ...1 158025.246531: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25982 surfaceflinger-610 ( 610) [003] ...1 158025.257073: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25983 HwBinder:612_3-11297 ( 612) [000] ...1 158025.257345: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25984 HwBinder:612_3-11297 ( 612) [000] ...1 158025.257516: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25985 HwBinder:612_3-11297 ( 612) [000] ...1 158025.257613: tracing_mark_write: B|612|HWDevice::Commit:: 25986 HwBinder:612_3-11297 ( 612) [000] ...1 158025.257821: tracing_mark_write: E 25987 HwBinder:612_3-11297 ( 612) [000] ...1 158025.257884: tracing_mark_write: E 25988 HwBinder:612_3-11297 ( 612) [000] ...1 158025.257957: tracing_mark_write: E 25989 surfaceflinger-610 ( 610) [003] ...1 158025.258181: tracing_mark_write: E 25990 sensors@1.0-se-755 ( 755) [000] ...1 158025.266090: tracing_mark_write: E 25991 SensorService-1249 ( 1136) [006] ...1 158025.266187: tracing_mark_write: E 25992 SensorService-1249 ( 1136) [006] ...1 158025.266258: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 25993 sensors@1.0-se-755 ( 755) [000] ...1 158025.266352: tracing_mark_write: B|755|HIDL::ISensors::poll::server 25994 surfaceflinger-610 ( 610) [000] ...1 158025.273478: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 25995 HwBinder:612_3-11297 ( 612) [002] ...1 158025.273712: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 25996 HwBinder:612_3-11297 ( 612) [002] ...1 158025.273867: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 25997 HwBinder:612_3-11297 ( 612) [002] ...1 158025.273908: tracing_mark_write: B|612|HWDevice::Commit:: 25998 HwBinder:612_3-11297 ( 612) [002] ...1 158025.274097: tracing_mark_write: E 25999 HwBinder:612_3-11297 ( 612) [002] ...1 158025.274150: tracing_mark_write: E 26000 HwBinder:612_3-11297 ( 612) [002] ...1 158025.274254: tracing_mark_write: E 26001 surfaceflinger-610 ( 610) [000] ...1 158025.274388: tracing_mark_write: E 26002 sensors@1.0-se-755 ( 755) [000] ...1 158025.286022: tracing_mark_write: E 26003 SensorService-1249 ( 1136) [006] ...1 158025.286108: tracing_mark_write: E 26004 SensorService-1249 ( 1136) [006] ...1 158025.286178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26005 sensors@1.0-se-755 ( 755) [000] ...1 158025.286258: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26006 surfaceflinger-610 ( 610) [000] ...1 158025.289626: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 26007 HwBinder:612_3-11297 ( 612) [002] ...1 158025.289770: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 26008 HwBinder:612_3-11297 ( 612) [002] ...1 158025.289875: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 26009 HwBinder:612_3-11297 ( 612) [002] ...1 158025.289888: tracing_mark_write: E 26010 HwBinder:612_3-11297 ( 612) [002] ...1 158025.289898: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 26011 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290383: tracing_mark_write: B|612|HWDevice::Validate:: 26012 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290486: tracing_mark_write: E 26013 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290517: tracing_mark_write: E 26014 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290556: tracing_mark_write: E 26015 surfaceflinger-610 ( 610) [000] ...1 158025.290666: tracing_mark_write: E 26016 surfaceflinger-610 ( 610) [000] ...1 158025.290804: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 26017 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290948: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 26018 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290973: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 26019 HwBinder:612_3-11297 ( 612) [002] ...1 158025.290996: tracing_mark_write: B|612|HWDevice::Commit:: 26020 HwBinder:612_3-11297 ( 612) [002] ...1 158025.291137: tracing_mark_write: E 26021 HwBinder:612_3-11297 ( 612) [002] ...1 158025.291173: tracing_mark_write: E 26022 HwBinder:612_3-11297 ( 612) [002] ...1 158025.291213: tracing_mark_write: E 26023 surfaceflinger-610 ( 610) [000] ...1 158025.291301: tracing_mark_write: E 26024 Binder:1136_10-4278 ( 1136) [001] ...1 158025.293085: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 26025 Binder:1136_10-4278 ( 1136) [001] ...1 158025.293177: tracing_mark_write: E 26026 power@1.1-serv-754 ( 754) [002] ...1 158025.293233: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 26027 power@1.1-serv-754 ( 754) [002] ...1 158025.293405: tracing_mark_write: E 26028 sensors@1.0-se-755 ( 755) [001] ...1 158025.306119: tracing_mark_write: E 26029 SensorService-1249 ( 1136) [006] ...1 158025.306227: tracing_mark_write: E 26030 SensorService-1249 ( 1136) [006] ...1 158025.306299: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26031 HwBinder:755_1-1247 ( 755) [003] ...1 158025.306457: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26032 surfaceflinger-610 ( 610) [000] ...1 158025.306938: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 26033 HwBinder:612_3-11297 ( 612) [002] ...1 158025.307141: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 26034 HwBinder:612_3-11297 ( 612) [002] ...1 158025.307281: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 26035 HwBinder:612_3-11297 ( 612) [002] ...1 158025.307298: tracing_mark_write: E 26036 HwBinder:612_3-11297 ( 612) [002] ...1 158025.307312: tracing_mark_write: B|612|HWCSession::ValidateDisplay:: 26037 HwBinder:612_3-11297 ( 612) [002] ...1 158025.307904: tracing_mark_write: B|612|HWDevice::Validate:: 26038 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308055: tracing_mark_write: E 26039 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308089: tracing_mark_write: E 26040 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308134: tracing_mark_write: E 26041 surfaceflinger-610 ( 610) [000] ...1 158025.308291: tracing_mark_write: E 26042 surfaceflinger-610 ( 610) [000] ...1 158025.308454: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 26043 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308563: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 26044 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308589: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 26045 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308616: tracing_mark_write: B|612|HWDevice::Commit:: 26046 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308781: tracing_mark_write: E 26047 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308818: tracing_mark_write: E 26048 HwBinder:612_3-11297 ( 612) [002] ...1 158025.308861: tracing_mark_write: E 26049 surfaceflinger-610 ( 610) [000] ...1 158025.308963: tracing_mark_write: E 26050 surfaceflinger-610 ( 610) [000] ...1 158025.323267: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 26051 HwBinder:612_3-11297 ( 612) [002] ...1 158025.323425: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 26052 HwBinder:612_3-11297 ( 612) [002] ...1 158025.323538: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 26053 HwBinder:612_3-11297 ( 612) [002] ...1 158025.323564: tracing_mark_write: B|612|HWDevice::Commit:: 26054 HwBinder:612_3-11297 ( 612) [002] ...1 158025.323702: tracing_mark_write: E 26055 HwBinder:612_3-11297 ( 612) [002] ...1 158025.323737: tracing_mark_write: E 26056 HwBinder:612_3-11297 ( 612) [002] ...1 158025.323781: tracing_mark_write: E 26057 surfaceflinger-610 ( 610) [000] ...1 158025.323891: tracing_mark_write: E 26058 HwBinder:755_1-1247 ( 755) [000] ...1 158025.326231: tracing_mark_write: E 26059 SensorService-1249 ( 1136) [006] ...1 158025.326325: tracing_mark_write: E 26060 SensorService-1249 ( 1136) [006] ...1 158025.326392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26061 HwBinder:755_1-1247 ( 755) [000] ...1 158025.326502: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26062 surfaceflinger-610 ( 610) [000] ...1 158025.341406: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client 26063 HwBinder:612_3-11297 ( 612) [002] ...1 158025.341775: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server 26064 HwBinder:612_3-11297 ( 612) [002] ...1 158025.341995: tracing_mark_write: B|612|HWCSession::PresentDisplay:: 26065 HwBinder:612_3-11297 ( 612) [002] ...1 158025.342056: tracing_mark_write: B|612|HWDevice::Commit:: 26066 HwBinder:612_3-11297 ( 612) [002] ...1 158025.342340: tracing_mark_write: E 26067 HwBinder:612_3-11297 ( 612) [002] ...1 158025.342412: tracing_mark_write: E 26068 HwBinder:612_3-11297 ( 612) [002] ...1 158025.342504: tracing_mark_write: E 26069 surfaceflinger-610 ( 610) [000] ...1 158025.342997: tracing_mark_write: E 26070 HwBinder:755_1-1247 ( 755) [001] ...1 158025.348437: tracing_mark_write: E 26071 SensorService-1249 ( 1136) [006] ...1 158025.348657: tracing_mark_write: E 26072 SensorService-1249 ( 1136) [006] ...1 158025.348844: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26073 HwBinder:755_1-1247 ( 755) [001] ...1 158025.349457: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26074 Binder:1136_10-4278 ( 1136) [001] ...1 158025.364442: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client 26075 Binder:1136_10-4278 ( 1136) [001] ...1 158025.364685: tracing_mark_write: E 26076 power@1.1-serv-754 ( 754) [002] ...1 158025.365034: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server 26077 power@1.1-serv-754 ( 754) [002] ...1 158025.365536: tracing_mark_write: E 26078 HwBinder:755_1-1247 ( 755) [001] ...1 158025.368388: tracing_mark_write: E 26079 SensorService-1249 ( 1136) [006] ...1 158025.368571: tracing_mark_write: E 26080 SensorService-1249 ( 1136) [006] ...1 158025.368695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26081 HwBinder:755_1-1247 ( 755) [001] ...1 158025.369367: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26082 HwBinder:755_1-1247 ( 755) [001] ...1 158025.388675: tracing_mark_write: E 26083 SensorService-1249 ( 1136) [006] ...1 158025.388824: tracing_mark_write: E 26084 SensorService-1249 ( 1136) [006] ...1 158025.388931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26085 HwBinder:755_1-1247 ( 755) [001] ...1 158025.389691: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26086 HwBinder:755_1-1247 ( 755) [001] ...1 158025.408655: tracing_mark_write: E 26087 SensorService-1249 ( 1136) [006] ...1 158025.408877: tracing_mark_write: E 26088 SensorService-1249 ( 1136) [006] ...1 158025.408985: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26089 HwBinder:755_1-1247 ( 755) [001] ...1 158025.409183: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26090 HwBinder:755_1-1247 ( 755) [001] ...1 158025.428032: tracing_mark_write: E 26091 SensorService-1249 ( 1136) [006] ...1 158025.428206: tracing_mark_write: E 26092 SensorService-1249 ( 1136) [006] ...1 158025.428284: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26093 sensors@1.0-se-755 ( 755) [001] ...1 158025.428454: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26094 sensors@1.0-se-755 ( 755) [001] ...1 158025.447910: tracing_mark_write: E 26095 SensorService-1249 ( 1136) [006] ...1 158025.448067: tracing_mark_write: E 26096 SensorService-1249 ( 1136) [006] ...1 158025.448148: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26097 sensors@1.0-se-755 ( 755) [001] ...1 158025.448315: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26098 sensors@1.0-se-755 ( 755) [003] ...1 158025.467816: tracing_mark_write: E 26099 SensorService-1249 ( 1136) [006] ...1 158025.468182: tracing_mark_write: E 26100 SensorService-1249 ( 1136) [006] ...1 158025.468267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26101 sensors@1.0-se-755 ( 755) [003] ...1 158025.468806: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26102 sensors@1.0-se-755 ( 755) [003] ...1 158025.487334: tracing_mark_write: E 26103 SensorService-1249 ( 1136) [006] ...1 158025.487573: tracing_mark_write: E 26104 SensorService-1249 ( 1136) [006] ...1 158025.487658: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26105 sensors@1.0-se-755 ( 755) [003] ...1 158025.487830: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26106 sensors@1.0-se-755 ( 755) [003] ...1 158025.507999: tracing_mark_write: E 26107 SensorService-1249 ( 1136) [006] ...1 158025.509168: tracing_mark_write: E 26108 SensorService-1249 ( 1136) [006] ...1 158025.509290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26109 sensors@1.0-se-755 ( 755) [003] ...1 158025.509772: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26110 sensors@1.0-se-755 ( 755) [003] ...1 158025.530003: tracing_mark_write: E 26111 SensorService-1249 ( 1136) [006] ...1 158025.531768: tracing_mark_write: E 26112 SensorService-1249 ( 1136) [006] ...1 158025.532217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26113 sensors@1.0-se-755 ( 755) [003] ...1 158025.532978: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26114 sensors@1.0-se-755 ( 755) [003] ...1 158025.549862: tracing_mark_write: E 26115 SensorService-1249 ( 1136) [006] ...1 158025.551817: tracing_mark_write: E 26116 SensorService-1249 ( 1136) [006] ...1 158025.552194: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26117 sensors@1.0-se-755 ( 755) [003] ...1 158025.554059: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26118 sensors@1.0-se-755 ( 755) [003] ...1 158025.572922: tracing_mark_write: E 26119 SensorService-1249 ( 1136) [006] ...1 158025.573827: tracing_mark_write: E 26120 SensorService-1249 ( 1136) [006] ...1 158025.574121: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26121 sensors@1.0-se-755 ( 755) [003] ...1 158025.574850: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26122 sensors@1.0-se-755 ( 755) [003] ...1 158025.588800: tracing_mark_write: E 26123 SensorService-1249 ( 1136) [006] ...1 158025.589453: tracing_mark_write: E 26124 SensorService-1249 ( 1136) [006] ...1 158025.589678: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26125 sensors@1.0-se-755 ( 755) [003] ...1 158025.590304: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26126 sensors@1.0-se-755 ( 755) [003] ...1 158025.609373: tracing_mark_write: E 26127 SensorService-1249 ( 1136) [006] ...1 158025.610135: tracing_mark_write: E 26128 SensorService-1249 ( 1136) [006] ...1 158025.610373: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26129 sensors@1.0-se-755 ( 755) [003] ...1 158025.611011: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26130 sensors@1.0-se-755 ( 755) [003] ...1 158025.628783: tracing_mark_write: E 26131 SensorService-1249 ( 1136) [006] ...1 158025.629466: tracing_mark_write: E 26132 SensorService-1249 ( 1136) [006] ...1 158025.629711: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26133 sensors@1.0-se-755 ( 755) [003] ...1 158025.630364: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26134 sensors@1.0-se-755 ( 755) [003] ...1 158025.649393: tracing_mark_write: E 26135 SensorService-1249 ( 1136) [006] ...1 158025.650156: tracing_mark_write: E 26136 SensorService-1249 ( 1136) [006] ...1 158025.650420: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26137 sensors@1.0-se-755 ( 755) [003] ...1 158025.651105: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26138 sensors@1.0-se-755 ( 755) [003] ...1 158025.667367: tracing_mark_write: E 26139 SensorService-1249 ( 1136) [006] ...1 158025.668774: tracing_mark_write: E 26140 SensorService-1249 ( 1136) [006] ...1 158025.669004: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26141 sensors@1.0-se-755 ( 755) [003] ...1 158025.669125: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26142 sensors@1.0-se-755 ( 755) [000] ...1 158025.687181: tracing_mark_write: E 26143 SensorService-1249 ( 1136) [006] ...1 158025.688400: tracing_mark_write: E 26144 SensorService-1249 ( 1136) [006] ...1 158025.688683: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26145 sensors@1.0-se-755 ( 755) [000] ...1 158025.688858: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26146 sensors@1.0-se-755 ( 755) [000] ...1 158025.708629: tracing_mark_write: E 26147 SensorService-1249 ( 1136) [006] ...1 158025.708814: tracing_mark_write: E 26148 SensorService-1249 ( 1136) [006] ...1 158025.709035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26149 sensors@1.0-se-755 ( 755) [000] ...1 158025.709616: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26150 sensors@1.0-se-755 ( 755) [000] ...1 158025.728196: tracing_mark_write: E 26151 SensorService-1249 ( 1136) [006] ...1 158025.728808: tracing_mark_write: E 26152 SensorService-1249 ( 1136) [006] ...1 158025.729045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26153 sensors@1.0-se-755 ( 755) [000] ...1 158025.729194: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26154 sensors@1.0-se-755 ( 755) [000] ...1 158025.747967: tracing_mark_write: E 26155 SensorService-1249 ( 1136) [006] ...1 158025.748386: tracing_mark_write: E 26156 SensorService-1249 ( 1136) [006] ...1 158025.748609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26157 sensors@1.0-se-755 ( 755) [000] ...1 158025.748989: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26158 atrace-13734 (13734) [000] ...1 158025.760100: tracing_mark_write: B|13734|HIDL::IServiceManager::list::client 26159 hwservicemanag-584 ( 584) [003] ...1 158025.760445: tracing_mark_write: B|584|HIDL::IServiceManager::list::server 26160 hwservicemanag-584 ( 584) [003] ...1 158025.761032: tracing_mark_write: E 26161 atrace-13734 (13734) [003] ...1 158025.761238: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26162 hwservicemanag-584 ( 584) [003] ...1 158025.761290: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26163 hwservicemanag-584 ( 584) [003] ...1 158025.761541: tracing_mark_write: E 26164 atrace-13734 (13734) [003] ...1 158025.761621: tracing_mark_write: E 26165 atrace-13734 (13734) [003] ...1 158025.761637: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26166 atrace-13734 (13734) [003] ...1 158025.761671: tracing_mark_write: E 26167 atrace-13734 (13734) [003] ...1 158025.761695: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26168 hwservicemanag-584 ( 584) [003] ...1 158025.761735: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26169 HwBinder:610_1-626 ( 610) [000] ...1 158025.761868: tracing_mark_write: B|610|HIDL::IBase::notifySyspropsChanged::server 26170 hwservicemanag-584 ( 584) [003] ...1 158025.761883: tracing_mark_write: E 26171 atrace-13734 (13734) [003] ...1 158025.761953: tracing_mark_write: E 26172 atrace-13734 (13734) [003] ...1 158025.761959: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26173 HwBinder:610_1-626 ( 610) [000] ...1 158025.761973: tracing_mark_write: E 26174 atrace-13734 (13734) [003] ...1 158025.761994: tracing_mark_write: E 26175 atrace-13734 (13734) [003] ...1 158025.762006: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26176 hwservicemanag-584 ( 584) [003] ...1 158025.762045: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26177 hwservicemanag-584 ( 584) [003] ...1 158025.762175: tracing_mark_write: E 26178 atrace-13734 (13734) [003] ...1 158025.762223: tracing_mark_write: E 26179 atrace-13734 (13734) [003] ...1 158025.762229: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26180 atrace-13734 (13734) [003] ...1 158025.762254: tracing_mark_write: E 26181 atrace-13734 (13734) [003] ...1 158025.762267: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26182 hwservicemanag-584 ( 584) [003] ...1 158025.762309: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26183 HwBinder:1136_-1300 ( 1136) [001] ...1 158025.762392: tracing_mark_write: B|1136|HIDL::IBase::notifySyspropsChanged::server 26184 hwservicemanag-584 ( 584) [003] ...1 158025.762430: tracing_mark_write: E 26185 HwBinder:1136_-1267 ( 1136) [000] ...1 158025.762436: tracing_mark_write: B|1136|HIDL::IBase::notifySyspropsChanged::server 26186 atrace-13734 (13734) [003] ...1 158025.762503: tracing_mark_write: E 26187 atrace-13734 (13734) [003] ...1 158025.762510: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26188 atrace-13734 (13734) [003] ...1 158025.762564: tracing_mark_write: E 26189 atrace-13734 (13734) [003] ...1 158025.762577: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26190 hwservicemanag-584 ( 584) [003] ...1 158025.762621: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26191 hwservicemanag-584 ( 584) [003] ...1 158025.762752: tracing_mark_write: E 26192 atrace-13734 (13734) [003] ...1 158025.762807: tracing_mark_write: E 26193 atrace-13734 (13734) [003] ...1 158025.762814: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26194 atrace-13734 (13734) [003] ...1 158025.762845: tracing_mark_write: E 26195 atrace-13734 (13734) [003] ...1 158025.762862: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26196 HwBinder:1136_-1267 ( 1136) [000] ...1 158025.762879: tracing_mark_write: E 26197 hwservicemanag-584 ( 584) [003] ...1 158025.762910: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26198 audio@2.0-serv-734 ( 734) [002] ...1 158025.762939: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server 26199 hwservicemanag-584 ( 584) [003] ...1 158025.763066: tracing_mark_write: E 26200 atrace-13734 (13734) [003] ...1 158025.763146: tracing_mark_write: E 26201 atrace-13734 (13734) [003] ...1 158025.763153: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26202 atrace-13734 (13734) [003] ...1 158025.763207: tracing_mark_write: E 26203 HwBinder:1136_-1300 ( 1136) [001] ...1 158025.763208: tracing_mark_write: E 26204 atrace-13734 (13734) [003] ...1 158025.763222: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26205 audio@2.0-serv-734 ( 734) [002] ...1 158025.763237: tracing_mark_write: E 26206 hwservicemanag-584 ( 584) [003] ...1 158025.763268: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26207 HwBinder:859_1-1104 ( 859) [000] ...1 158025.763313: tracing_mark_write: B|859|HIDL::IBase::notifySyspropsChanged::server 26208 HwBinder:734_2-1170 ( 734) [006] ...1 158025.763329: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server 26209 hwservicemanag-584 ( 584) [003] ...1 158025.763418: tracing_mark_write: E 26210 atrace-13734 (13734) [003] ...1 158025.763491: tracing_mark_write: E 26211 atrace-13734 (13734) [003] ...1 158025.763498: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26212 HwBinder:859_1-1104 ( 859) [000] ...1 158025.763522: tracing_mark_write: E 26213 atrace-13734 (13734) [004] ...1 158025.763640: tracing_mark_write: E 26214 HwBinder:734_2-1170 ( 734) [006] ...1 158025.763721: tracing_mark_write: E 26215 atrace-13734 (13734) [004] ...1 158025.763746: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26216 hwservicemanag-584 ( 584) [003] ...1 158025.764134: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26217 HwBinder:735_1-13239 ( 735) [005] ...1 158025.764135: tracing_mark_write: B|735|HIDL::IBase::notifySyspropsChanged::server 26218 hwservicemanag-584 ( 584) [003] ...1 158025.764399: tracing_mark_write: E 26219 atrace-13734 (13734) [003] ...1 158025.764563: tracing_mark_write: E 26220 atrace-13734 (13734) [003] ...1 158025.764580: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26221 HwBinder:735_1-13239 ( 735) [005] ...1 158025.764720: tracing_mark_write: E 26222 boot@1.0-servi-606 ( 606) [004] ...1 158025.764819: tracing_mark_write: B|606|HIDL::IBase::notifySyspropsChanged::server 26223 boot@1.0-servi-606 ( 606) [004] ...1 158025.765322: tracing_mark_write: E 26224 atrace-13734 (13734) [004] ...1 158025.765566: tracing_mark_write: E 26225 atrace-13734 (13734) [004] ...1 158025.765627: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26226 hwservicemanag-584 ( 584) [003] ...1 158025.765980: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26227 hwservicemanag-584 ( 584) [003] ...1 158025.766127: tracing_mark_write: E 26228 atrace-13734 (13734) [003] ...1 158025.766208: tracing_mark_write: E 26229 atrace-13734 (13734) [003] ...1 158025.766219: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26230 atrace-13734 (13734) [003] ...1 158025.766278: tracing_mark_write: E 26231 atrace-13734 (13734) [003] ...1 158025.766293: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26232 hwservicemanag-584 ( 584) [001] ...1 158025.766382: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26233 HwBinder:736_3-1809 ( 736) [004] ...1 158025.766501: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server 26234 hwservicemanag-584 ( 584) [001] ...1 158025.766522: tracing_mark_write: E 26235 atrace-13734 (13734) [001] ...1 158025.766578: tracing_mark_write: E 26236 atrace-13734 (13734) [001] ...1 158025.766585: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26237 atrace-13734 (13734) [001] ...1 158025.766643: tracing_mark_write: E 26238 atrace-13734 (13734) [001] ...1 158025.766657: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26239 hwservicemanag-584 ( 584) [001] ...1 158025.766699: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26240 hwservicemanag-584 ( 584) [001] ...1 158025.766835: tracing_mark_write: E 26241 HwBinder:736_3-1809 ( 736) [004] ...1 158025.766973: tracing_mark_write: E 26242 cas@1.0-servic-737 ( 737) [007] ...1 158025.767109: tracing_mark_write: B|737|HIDL::IBase::notifySyspropsChanged::server 26243 sensors@1.0-se-755 ( 755) [001] ...1 158025.767171: tracing_mark_write: E 26244 atrace-13734 (13734) [001] ...1 158025.767304: tracing_mark_write: E 26245 atrace-13734 (13734) [001] ...1 158025.767311: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26246 atrace-13734 (13734) [001] ...1 158025.767362: tracing_mark_write: E 26247 atrace-13734 (13734) [001] ...1 158025.767375: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26248 hwservicemanag-584 ( 584) [001] ...1 158025.767424: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26249 hwservicemanag-584 ( 584) [001] ...1 158025.767575: tracing_mark_write: E 26250 SensorService-1249 ( 1136) [006] ...1 158025.767583: tracing_mark_write: E 26251 HwBinder:13242-13554 (13242) [000] ...1 158025.767638: tracing_mark_write: B|13242|HIDL::IBase::notifySyspropsChanged::server 26252 atrace-13734 (13734) [001] ...1 158025.767649: tracing_mark_write: E 26253 atrace-13734 (13734) [001] ...1 158025.767656: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26254 SensorService-1249 ( 1136) [006] ...1 158025.767691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26255 cas@1.0-servic-737 ( 737) [007] ...1 158025.767706: tracing_mark_write: E 26256 sensors@1.0-se-755 ( 755) [001] ...1 158025.767804: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26257 contexthub@1.0-738 ( 738) [001] ...1 158025.767882: tracing_mark_write: B|738|HIDL::IBase::notifySyspropsChanged::server 26258 contexthub@1.0-738 ( 738) [001] ...1 158025.768129: tracing_mark_write: E 26259 atrace-13734 (13734) [001] ...1 158025.768178: tracing_mark_write: E 26260 atrace-13734 (13734) [001] ...1 158025.768195: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26261 hwservicemanag-584 ( 584) [001] ...1 158025.768253: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26262 hwservicemanag-584 ( 584) [001] ...1 158025.768410: tracing_mark_write: E 26263 atrace-13734 (13734) [001] ...1 158025.768490: tracing_mark_write: E 26264 atrace-13734 (13734) [001] ...1 158025.768497: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26265 atrace-13734 (13734) [001] ...1 158025.768571: tracing_mark_write: E 26266 atrace-13734 (13734) [001] ...1 158025.768585: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26267 hwservicemanag-584 ( 584) [001] ...1 158025.768633: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26268 hwservicemanag-584 ( 584) [001] ...1 158025.768762: tracing_mark_write: E 26269 atrace-13734 (13734) [001] ...1 158025.768836: tracing_mark_write: E 26270 atrace-13734 (13734) [001] ...1 158025.768843: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26271 atrace-13734 (13734) [001] ...1 158025.768891: tracing_mark_write: E 26272 atrace-13734 (13734) [001] ...1 158025.768905: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26273 hwservicemanag-584 ( 584) [001] ...1 158025.768949: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26274 hwservicemanag-584 ( 584) [001] ...1 158025.769064: tracing_mark_write: E 26275 HwBinder:739_1-3562 ( 739) [007] ...1 158025.769079: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server 26276 atrace-13734 (13734) [001] ...1 158025.769113: tracing_mark_write: E 26277 atrace-13734 (13734) [001] ...1 158025.769120: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26278 atrace-13734 (13734) [001] ...1 158025.769156: tracing_mark_write: E 26279 atrace-13734 (13734) [001] ...1 158025.769168: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26280 hwservicemanag-584 ( 584) [001] ...1 158025.769208: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26281 hwservicemanag-584 ( 584) [001] ...1 158025.769313: tracing_mark_write: E 26282 atrace-13734 (13734) [001] ...1 158025.769395: tracing_mark_write: E 26283 drm@1.0-servic-740 ( 740) [006] ...1 158025.769398: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server 26284 atrace-13734 (13734) [001] ...1 158025.769401: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26285 HwBinder:740_2-12908 ( 740) [001] ...1 158025.769504: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server 26286 HwBinder:739_1-3562 ( 739) [007] ...1 158025.769599: tracing_mark_write: E 26287 HwBinder:740_2-12908 ( 740) [001] ...1 158025.769758: tracing_mark_write: E 26288 atrace-13734 (13734) [001] ...1 158025.769835: tracing_mark_write: E 26289 atrace-13734 (13734) [001] ...1 158025.769851: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26290 drm@1.0-servic-739 ( 739) [007] ...1 158025.769887: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server 26291 hwservicemanag-584 ( 584) [001] ...1 158025.769900: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26292 drm@1.0-servic-740 ( 740) [006] ...1 158025.769932: tracing_mark_write: E 26293 hwservicemanag-584 ( 584) [001] ...1 158025.770060: tracing_mark_write: E 26294 atrace-13734 (13734) [001] ...1 158025.770139: tracing_mark_write: E 26295 atrace-13734 (13734) [001] ...1 158025.770146: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26296 atrace-13734 (13734) [001] ...1 158025.770208: tracing_mark_write: E 26297 drm@1.0-servic-739 ( 739) [007] ...1 158025.770220: tracing_mark_write: E 26298 atrace-13734 (13734) [001] ...1 158025.770222: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26299 hwservicemanag-584 ( 584) [001] ...1 158025.770270: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26300 hwservicemanag-584 ( 584) [001] ...1 158025.770396: tracing_mark_write: E 26301 atrace-13734 (13734) [001] ...1 158025.770464: tracing_mark_write: E 26302 atrace-13734 (13734) [001] ...1 158025.770470: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26303 atrace-13734 (13734) [001] ...1 158025.770530: tracing_mark_write: E 26304 atrace-13734 (13734) [001] ...1 158025.770543: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26305 dumpstate@1.0--741 ( 741) [000] ...1 158025.770544: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server 26306 hwservicemanag-584 ( 584) [001] ...1 158025.770590: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26307 hwservicemanag-584 ( 584) [001] ...1 158025.770692: tracing_mark_write: E 26308 atrace-13734 (13734) [001] ...1 158025.770759: tracing_mark_write: E 26309 atrace-13734 (13734) [001] ...1 158025.770765: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26310 dumpstate@1.0--741 ( 741) [000] ...1 158025.770787: tracing_mark_write: E 26311 atrace-13734 (13734) [001] ...1 158025.770826: tracing_mark_write: E 26312 atrace-13734 (13734) [001] ...1 158025.770839: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26313 hwservicemanag-584 ( 584) [001] ...1 158025.770920: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26314 gnss@1.0-servi-742 ( 742) [005] ...1 158025.771049: tracing_mark_write: B|742|HIDL::IBase::notifySyspropsChanged::server 26315 hwservicemanag-584 ( 584) [001] ...1 158025.771050: tracing_mark_write: E 26316 atrace-13734 (13734) [001] ...1 158025.771115: tracing_mark_write: E 26317 atrace-13734 (13734) [001] ...1 158025.771122: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26318 atrace-13734 (13734) [001] ...1 158025.771170: tracing_mark_write: E 26319 atrace-13734 (13734) [001] ...1 158025.771183: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26320 hwservicemanag-584 ( 584) [001] ...1 158025.771230: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26321 hwservicemanag-584 ( 584) [001] ...1 158025.771363: tracing_mark_write: E 26322 HwBinder:614_1-982 ( 614) [000] ...1 158025.771407: tracing_mark_write: B|614|HIDL::IBase::notifySyspropsChanged::server 26323 atrace-13734 (13734) [001] ...1 158025.771408: tracing_mark_write: E 26324 atrace-13734 (13734) [001] ...1 158025.771414: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26325 atrace-13734 (13734) [001] ...1 158025.771468: tracing_mark_write: E 26326 atrace-13734 (13734) [001] ...1 158025.771481: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26327 gnss@1.0-servi-742 ( 742) [005] ...1 158025.771502: tracing_mark_write: E 26328 hwservicemanag-584 ( 584) [001] ...1 158025.771528: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26329 HwBinder:614_1-982 ( 614) [000] ...1 158025.771644: tracing_mark_write: E 26330 hwservicemanag-584 ( 584) [001] ...1 158025.771649: tracing_mark_write: E 26331 atrace-13734 (13734) [001] ...1 158025.771698: tracing_mark_write: E 26332 atrace-13734 (13734) [001] ...1 158025.771705: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26333 HwBinder:612_3-11297 ( 612) [002] ...1 158025.771707: tracing_mark_write: B|612|HIDL::IBase::notifySyspropsChanged::server 26334 atrace-13734 (13734) [001] ...1 158025.771746: tracing_mark_write: E 26335 HwBinder:612_3-11297 ( 612) [002] ...1 158025.771929: tracing_mark_write: E 26336 atrace-13734 (13734) [001] ...1 158025.772768: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26337 hwservicemanag-584 ( 584) [001] ...1 158025.772815: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26338 hwservicemanag-584 ( 584) [001] ...1 158025.772977: tracing_mark_write: E 26339 atrace-13734 (13734) [001] ...1 158025.773030: tracing_mark_write: E 26340 atrace-13734 (13734) [001] ...1 158025.773036: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26341 atrace-13734 (13734) [001] ...1 158025.773101: tracing_mark_write: E 26342 atrace-13734 (13734) [001] ...1 158025.773116: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26343 hwservicemanag-584 ( 584) [001] ...1 158025.773160: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26344 hwservicemanag-584 ( 584) [001] ...1 158025.773261: tracing_mark_write: E 26345 keyprimary@3.0--608 ( 608) [005] ...1 158025.773265: tracing_mark_write: B|608|HIDL::IBase::notifySyspropsChanged::server 26346 atrace-13734 (13734) [001] ...1 158025.773328: tracing_mark_write: E 26347 atrace-13734 (13734) [001] ...1 158025.773335: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26348 atrace-13734 (13734) [001] ...1 158025.773389: tracing_mark_write: E 26349 atrace-13734 (13734) [001] ...1 158025.773403: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26350 light@2.0-serv-743 ( 743) [002] ...1 158025.773438: tracing_mark_write: B|743|HIDL::IBase::notifySyspropsChanged::server 26351 hwservicemanag-584 ( 584) [001] ...1 158025.773442: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26352 gatekeeper@1.0-607 ( 607) [004] ...1 158025.773466: tracing_mark_write: B|607|HIDL::IBase::notifySyspropsChanged::server 26353 hwservicemanag-584 ( 584) [001] ...1 158025.773543: tracing_mark_write: E 26354 atrace-13734 (13734) [001] ...1 158025.773590: tracing_mark_write: E 26355 atrace-13734 (13734) [001] ...1 158025.773597: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26356 light@2.0-serv-743 ( 743) [002] ...1 158025.773651: tracing_mark_write: E 26357 atrace-13734 (13734) [001] ...1 158025.773652: tracing_mark_write: E 26358 atrace-13734 (13734) [001] ...1 158025.773666: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26359 hwservicemanag-584 ( 584) [001] ...1 158025.773705: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26360 keyprimary@3.0--608 ( 608) [005] ...1 158025.773725: tracing_mark_write: E 26361 hwservicemanag-584 ( 584) [001] ...1 158025.773820: tracing_mark_write: E 26362 atrace-13734 (13734) [001] ...1 158025.773889: tracing_mark_write: E 26363 atrace-13734 (13734) [001] ...1 158025.773896: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26364 gatekeeper@1.0-607 ( 607) [004] ...1 158025.773906: tracing_mark_write: E 26365 HwBinder:843_A-21839 ( 843) [001] ...1 158025.774059: tracing_mark_write: B|843|HIDL::IBase::notifySyspropsChanged::server 26366 vr_hwc-733 ( 733) [004] ...1 158025.774095: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server 26367 HwBinder:843_7-15743 ( 843) [007] ...1 158025.774097: tracing_mark_write: B|843|HIDL::IBase::notifySyspropsChanged::server 26368 vr_hwc-733 ( 733) [004] ...1 158025.774360: tracing_mark_write: E 26369 HwBinder:843_A-21839 ( 843) [001] ...1 158025.774402: tracing_mark_write: E 26370 atrace-13734 (13734) [001] ...1 158025.774453: tracing_mark_write: E 26371 HwBinder:843_7-15743 ( 843) [007] ...1 158025.774461: tracing_mark_write: E 26372 atrace-13734 (13734) [001] ...1 158025.774470: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26373 hwservicemanag-584 ( 584) [001] ...1 158025.774518: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26374 hwservicemanag-584 ( 584) [001] ...1 158025.774674: tracing_mark_write: E 26375 atrace-13734 (13734) [001] ...1 158025.774752: tracing_mark_write: E 26376 atrace-13734 (13734) [001] ...1 158025.774758: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26377 atrace-13734 (13734) [001] ...1 158025.774817: tracing_mark_write: E 26378 atrace-13734 (13734) [001] ...1 158025.774833: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26379 hwservicemanag-584 ( 584) [001] ...1 158025.774875: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26380 hwservicemanag-584 ( 584) [001] ...1 158025.774973: tracing_mark_write: E 26381 atrace-13734 (13734) [001] ...1 158025.775040: tracing_mark_write: E 26382 atrace-13734 (13734) [001] ...1 158025.775046: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26383 atrace-13734 (13734) [001] ...1 158025.775098: tracing_mark_write: E 26384 atrace-13734 (13734) [001] ...1 158025.775111: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26385 hwservicemanag-584 ( 584) [001] ...1 158025.775152: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26386 memtrack@1.0-s-745 ( 745) [006] ...1 158025.775201: tracing_mark_write: B|745|HIDL::IBase::notifySyspropsChanged::server 26387 hwservicemanag-584 ( 584) [001] ...1 158025.775319: tracing_mark_write: E 26388 atrace-13734 (13734) [001] ...1 158025.775366: tracing_mark_write: E 26389 atrace-13734 (13734) [001] ...1 158025.775372: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26390 atrace-13734 (13734) [001] ...1 158025.775414: tracing_mark_write: E 26391 atrace-13734 (13734) [001] ...1 158025.775427: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26392 nfc@1.0-servic-746 ( 746) [005] ...1 158025.775450: tracing_mark_write: B|746|HIDL::IBase::notifySyspropsChanged::server 26393 hwservicemanag-584 ( 584) [001] ...1 158025.775482: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26394 hwservicemanag-584 ( 584) [001] ...1 158025.775576: tracing_mark_write: E 26395<...>-747 ( 747) [004] ...1 158025.775581: tracing_mark_write: B|747|HIDL::IBase::notifySyspropsChanged::server 26396 atrace-13734 (13734) [001] ...1 158025.775621: tracing_mark_write: E 26397 atrace-13734 (13734) [001] ...1 158025.775627: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26398 memtrack@1.0-s-745 ( 745) [006] ...1 158025.775632: tracing_mark_write: E 26399 atrace-13734 (13734) [001] ...1 158025.775677: tracing_mark_write: E 26400 atrace-13734 (13734) [001] ...1 158025.775690: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26401 hwservicemanag-584 ( 584) [001] ...1 158025.775732: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26402 hwservicemanag-584 ( 584) [001] ...1 158025.775822: tracing_mark_write: E 26403 atrace-13734 (13734) [001] ...1 158025.775876: tracing_mark_write: E 26404 atrace-13734 (13734) [001] ...1 158025.775882: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26405 atrace-13734 (13734) [001] ...1 158025.775896: tracing_mark_write: E 26406 nfc@1.0-servic-746 ( 746) [005] ...1 158025.775904: tracing_mark_write: E 26407 atrace-13734 (13734) [001] ...1 158025.775908: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26408 power@1.1-serv-754 ( 754) [002] ...1 158025.775918: tracing_mark_write: B|754|HIDL::IBase::notifySyspropsChanged::server 26409 hwservicemanag-584 ( 584) [001] ...1 158025.775946: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26410<...>-747 ( 747) [004] ...1 158025.776008: tracing_mark_write: E 26411 hwservicemanag-584 ( 584) [001] ...1 158025.776065: tracing_mark_write: E 26412 power@1.1-serv-754 ( 754) [002] ...1 158025.776101: tracing_mark_write: E 26413 atrace-13734 (13734) [001] ...1 158025.776137: tracing_mark_write: E 26414 power@1.1-serv-754 ( 754) [002] ...1 158025.776137: tracing_mark_write: B|754|HIDL::IBase::notifySyspropsChanged::server 26415 atrace-13734 (13734) [001] ...1 158025.776143: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26416 atrace-13734 (13734) [001] ...1 158025.776197: tracing_mark_write: E 26417 power@1.1-serv-754 ( 754) [002] ...1 158025.776201: tracing_mark_write: E 26418 atrace-13734 (13734) [001] ...1 158025.776210: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26419 hwservicemanag-584 ( 584) [001] ...1 158025.776251: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26420 hwservicemanag-584 ( 584) [001] ...1 158025.776339: tracing_mark_write: E 26421 atrace-13734 (13734) [001] ...1 158025.776402: tracing_mark_write: E 26422 atrace-13734 (13734) [001] ...1 158025.776409: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26423 atrace-13734 (13734) [001] ...1 158025.776447: tracing_mark_write: E 26424 atrace-13734 (13734) [001] ...1 158025.776459: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26425 hwservicemanag-584 ( 584) [001] ...1 158025.776500: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26426 hwservicemanag-584 ( 584) [001] ...1 158025.776585: tracing_mark_write: E 26427 HwBinder:844_1-1230 ( 844) [007] ...1 158025.776639: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26428 atrace-13734 (13734) [001] ...1 158025.776647: tracing_mark_write: E 26429 atrace-13734 (13734) [001] ...1 158025.776653: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26430 atrace-13734 (13734) [001] ...1 158025.776670: tracing_mark_write: E 26431 atrace-13734 (13734) [001] ...1 158025.776681: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26432 hwservicemanag-584 ( 584) [001] ...1 158025.776718: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26433 hwservicemanag-584 ( 584) [001] ...1 158025.776805: tracing_mark_write: E 26434 atrace-13734 (13734) [001] ...1 158025.776850: tracing_mark_write: E 26435 atrace-13734 (13734) [001] ...1 158025.776856: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26436 atrace-13734 (13734) [001] ...1 158025.776870: tracing_mark_write: E 26437 rild-844 ( 844) [006] ...1 158025.776872: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26438 atrace-13734 (13734) [001] ...1 158025.776882: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26439 hwservicemanag-584 ( 584) [001] ...1 158025.776921: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26440 hwservicemanag-584 ( 584) [001] ...1 158025.777008: tracing_mark_write: E 26441 atrace-13734 (13734) [001] ...1 158025.777072: tracing_mark_write: E 26442 HwBinder:844_1-1230 ( 844) [007] ...1 158025.777074: tracing_mark_write: E 26443 atrace-13734 (13734) [001] ...1 158025.777078: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26444 atrace-13734 (13734) [001] ...1 158025.777095: tracing_mark_write: E 26445 atrace-13734 (13734) [001] ...1 158025.777106: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26446 rild-844 ( 844) [006] ...1 158025.777109: tracing_mark_write: E 26447 hwservicemanag-584 ( 584) [001] ...1 158025.777146: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26448 HwBinder:844_1-1230 ( 844) [007] ...1 158025.777176: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26449 rild-844 ( 844) [006] ...1 158025.777180: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26450 hwservicemanag-584 ( 584) [001] ...1 158025.777244: tracing_mark_write: E 26451 atrace-13734 (13734) [001] ...1 158025.777307: tracing_mark_write: E 26452 atrace-13734 (13734) [001] ...1 158025.777313: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26453 atrace-13734 (13734) [001] ...1 158025.777358: tracing_mark_write: E 26454 HwBinder:844_1-1230 ( 844) [007] ...1 158025.777359: tracing_mark_write: E 26455 rild-844 ( 844) [006] ...1 158025.777364: tracing_mark_write: E 26456 atrace-13734 (13734) [001] ...1 158025.777370: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26457 HwBinder:844_1-1230 ( 844) [007] ...1 158025.777414: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26458 hwservicemanag-584 ( 584) [001] ...1 158025.777416: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26459 hwservicemanag-584 ( 584) [001] ...1 158025.777567: tracing_mark_write: E 26460 atrace-13734 (13734) [001] ...1 158025.777637: tracing_mark_write: E 26461 atrace-13734 (13734) [001] ...1 158025.777643: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26462 HwBinder:844_1-1230 ( 844) [007] ...1 158025.777643: tracing_mark_write: E 26463 atrace-13734 (13734) [001] ...1 158025.777674: tracing_mark_write: E 26464 HwBinder:755_1-1247 ( 755) [000] ...1 158025.777676: tracing_mark_write: B|755|HIDL::IBase::notifySyspropsChanged::server 26465 atrace-13734 (13734) [001] ...1 158025.777688: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26466 hwservicemanag-584 ( 584) [001] ...1 158025.777741: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26467 hwservicemanag-584 ( 584) [001] ...1 158025.777914: tracing_mark_write: E 26468 HwBinder:755_1-1247 ( 755) [000] ...1 158025.777947: tracing_mark_write: E 26469 atrace-13734 (13734) [001] ...1 158025.777962: tracing_mark_write: E 26470 atrace-13734 (13734) [001] ...1 158025.777968: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26471 HwBinder:734_2-1170 ( 734) [003] ...1 158025.778000: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server 26472 HwBinder:822_1-870 ( 822) [001] ...1 158025.778116: tracing_mark_write: B|822|HIDL::IBase::notifySyspropsChanged::server 26473 HwBinder:734_2-1170 ( 734) [003] ...1 158025.778149: tracing_mark_write: E 26474 HwBinder:822_1-870 ( 822) [001] ...1 158025.778314: tracing_mark_write: E 26475 atrace-13734 (13734) [001] ...1 158025.778360: tracing_mark_write: E 26476 atrace-13734 (13734) [001] ...1 158025.778378: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26477 hwservicemanag-584 ( 584) [001] ...1 158025.778426: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26478 hwservicemanag-584 ( 584) [001] ...1 158025.778583: tracing_mark_write: E 26479 atrace-13734 (13734) [001] ...1 158025.778657: tracing_mark_write: E 26480 atrace-13734 (13734) [001] ...1 158025.778663: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26481 HwBinder:822_1-870 ( 822) [001] ...1 158025.778700: tracing_mark_write: B|822|HIDL::IBase::notifySyspropsChanged::server 26482 HwBinder:822_1-870 ( 822) [001] ...1 158025.778770: tracing_mark_write: E 26483 atrace-13734 (13734) [001] ...1 158025.778791: tracing_mark_write: E 26484 atrace-13734 (13734) [001] ...1 158025.778806: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26485 hwservicemanag-584 ( 584) [001] ...1 158025.778847: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26486 hwservicemanag-584 ( 584) [001] ...1 158025.778955: tracing_mark_write: E 26487 atrace-13734 (13734) [001] ...1 158025.779021: tracing_mark_write: E 26488 atrace-13734 (13734) [001] ...1 158025.779027: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26489 atrace-13734 (13734) [001] ...1 158025.779073: tracing_mark_write: E 26490 atrace-13734 (13734) [001] ...1 158025.779085: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26491 hwservicemanag-584 ( 584) [001] ...1 158025.779129: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26492 hwservicemanag-584 ( 584) [001] ...1 158025.779236: tracing_mark_write: E 26493 atrace-13734 (13734) [001] ...1 158025.779297: tracing_mark_write: E 26494 atrace-13734 (13734) [001] ...1 158025.779303: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26495 atrace-13734 (13734) [001] ...1 158025.779318: tracing_mark_write: E 26496 atrace-13734 (13734) [001] ...1 158025.779330: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26497 HwBinder:814_1-879 ( 814) [000] ...1 158025.779352: tracing_mark_write: B|814|HIDL::IBase::notifySyspropsChanged::server 26498 hwservicemanag-584 ( 584) [001] ...1 158025.779373: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26499 hwservicemanag-584 ( 584) [001] ...1 158025.779463: tracing_mark_write: E 26500 atrace-13734 (13734) [001] ...1 158025.779510: tracing_mark_write: E 26501 atrace-13734 (13734) [001] ...1 158025.779516: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26502 HwBinder:814_1-879 ( 814) [000] ...1 158025.779546: tracing_mark_write: E 26503 atrace-13734 (13734) [001] ...1 158025.779567: tracing_mark_write: E 26504 atrace-13734 (13734) [001] ...1 158025.779581: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26505 HwBinder:814_1-879 ( 814) [000] ...1 158025.779581: tracing_mark_write: B|814|HIDL::IBase::notifySyspropsChanged::server 26506 hwservicemanag-584 ( 584) [001] ...1 158025.779628: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26507 HwBinder:814_1-879 ( 814) [000] ...1 158025.779646: tracing_mark_write: E 26508 hwservicemanag-584 ( 584) [001] ...1 158025.779716: tracing_mark_write: E 26509 usb@1.1-servic-756 ( 756) [004] ...1 158025.779739: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server 26510 atrace-13734 (13734) [001] ...1 158025.779782: tracing_mark_write: E 26511 atrace-13734 (13734) [001] ...1 158025.779788: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26512 atrace-13734 (13734) [001] ...1 158025.779804: tracing_mark_write: E 26513 atrace-13734 (13734) [001] ...1 158025.779816: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26514 hwservicemanag-584 ( 584) [001] ...1 158025.779855: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26515 hwservicemanag-584 ( 584) [001] ...1 158025.779967: tracing_mark_write: E 26516 atrace-13734 (13734) [001] ...1 158025.780030: tracing_mark_write: E 26517 atrace-13734 (13734) [001] ...1 158025.780036: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26518 atrace-13734 (13734) [001] ...1 158025.780092: tracing_mark_write: E 26519 atrace-13734 (13734) [001] ...1 158025.780105: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26520 hwservicemanag-584 ( 584) [001] ...1 158025.780142: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26521 usb@1.1-servic-756 ( 756) [004] ...1 158025.780166: tracing_mark_write: E 26522 hwservicemanag-584 ( 584) [001] ...1 158025.780250: tracing_mark_write: E 26523 usb@1.1-servic-756 ( 756) [004] ...1 158025.780258: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server 26524 atrace-13734 (13734) [001] ...1 158025.780313: tracing_mark_write: E 26525 atrace-13734 (13734) [001] ...1 158025.780319: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26526 atrace-13734 (13734) [001] ...1 158025.780335: tracing_mark_write: E 26527 atrace-13734 (13734) [001] ...1 158025.780347: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26528 hwservicemanag-584 ( 584) [001] ...1 158025.780385: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26529 usb@1.1-servic-756 ( 756) [004] ...1 158025.780439: tracing_mark_write: E 26530 hwservicemanag-584 ( 584) [001] ...1 158025.780470: tracing_mark_write: E 26531 vibrator@1.1-s-757 ( 757) [007] ...1 158025.780527: tracing_mark_write: B|757|HIDL::IBase::notifySyspropsChanged::server 26532 atrace-13734 (13734) [001] ...1 158025.780536: tracing_mark_write: E 26533 atrace-13734 (13734) [001] ...1 158025.780542: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26534 atrace-13734 (13734) [001] ...1 158025.780593: tracing_mark_write: E 26535 atrace-13734 (13734) [001] ...1 158025.780607: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26536 hwservicemanag-584 ( 584) [001] ...1 158025.780648: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26537 hwservicemanag-584 ( 584) [001] ...1 158025.780747: tracing_mark_write: E 26538 vr@1.0-service-758 ( 758) [004] ...1 158025.780769: tracing_mark_write: B|758|HIDL::IBase::notifySyspropsChanged::server 26539 atrace-13734 (13734) [001] ...1 158025.780812: tracing_mark_write: E 26540 atrace-13734 (13734) [001] ...1 158025.780818: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26541 atrace-13734 (13734) [001] ...1 158025.780926: tracing_mark_write: E 26542 atrace-13734 (13734) [001] ...1 158025.780942: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26543 hwservicemanag-584 ( 584) [001] ...1 158025.780987: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26544 vibrator@1.1-s-757 ( 757) [007] ...1 158025.781031: tracing_mark_write: E 26545 hwservicemanag-584 ( 584) [001] ...1 158025.781109: tracing_mark_write: E 26546 esed-763 ( 763) [005] ...1 158025.781127: tracing_mark_write: B|763|HIDL::IBase::notifySyspropsChanged::server 26547 vibrator@1.1-s-757 ( 757) [007] ...1 158025.781136: tracing_mark_write: B|757|HIDL::IBase::notifySyspropsChanged::server 26548 atrace-13734 (13734) [001] ...1 158025.781161: tracing_mark_write: E 26549 atrace-13734 (13734) [001] ...1 158025.781168: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26550 atrace-13734 (13734) [001] ...1 158025.781211: tracing_mark_write: E 26551 atrace-13734 (13734) [001] ...1 158025.781224: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26552 hwservicemanag-584 ( 584) [001] ...1 158025.781263: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26553 vr@1.0-service-758 ( 758) [004] ...1 158025.781295: tracing_mark_write: E 26554 vibrator@1.1-s-757 ( 757) [007] ...1 158025.781321: tracing_mark_write: E 26555 hwservicemanag-584 ( 584) [001] ...1 158025.781356: tracing_mark_write: E 26556 atrace-13734 (13734) [001] ...1 158025.781404: tracing_mark_write: E 26557 atrace-13734 (13734) [001] ...1 158025.781411: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26558 atrace-13734 (13734) [001] ...1 158025.781463: tracing_mark_write: E 26559 atrace-13734 (13734) [001] ...1 158025.781476: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26560 hwservicemanag-584 ( 584) [001] ...1 158025.781515: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26561 offload@1.0-se-759 ( 759) [004] ...1 158025.781542: tracing_mark_write: B|759|HIDL::IBase::notifySyspropsChanged::server 26562 esed-763 ( 763) [005] ...1 158025.781585: tracing_mark_write: E 26563 hwservicemanag-584 ( 584) [001] ...1 158025.781602: tracing_mark_write: E 26564 atrace-13734 (13734) [001] ...1 158025.781646: tracing_mark_write: E 26565 atrace-13734 (13734) [001] ...1 158025.781652: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26566 atrace-13734 (13734) [001] ...1 158025.781667: tracing_mark_write: E 26567 atrace-13734 (13734) [001] ...1 158025.781679: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26568 hwservicemanag-584 ( 584) [001] ...1 158025.781717: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26569 hwservicemanag-584 ( 584) [001] ...1 158025.781820: tracing_mark_write: E 26570 atrace-13734 (13734) [001] ...1 158025.781865: tracing_mark_write: E 26571 atrace-13734 (13734) [001] ...1 158025.781871: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26572 atrace-13734 (13734) [001] ...1 158025.781934: tracing_mark_write: E 26573 offload@1.0-se-759 ( 759) [004] ...1 158025.781937: tracing_mark_write: E 26574 atrace-13734 (13734) [001] ...1 158025.782020: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26575 hwservicemanag-584 ( 584) [001] ...1 158025.782062: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26576 hwservicemanag-584 ( 584) [001] ...1 158025.782152: tracing_mark_write: E 26577 android.hardwa-760 ( 760) [004] ...1 158025.782190: tracing_mark_write: B|760|HIDL::IBase::notifySyspropsChanged::server 26578 atrace-13734 (13734) [001] ...1 158025.782220: tracing_mark_write: E 26579 atrace-13734 (13734) [001] ...1 158025.782226: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26580 atrace-13734 (13734) [001] ...1 158025.782273: tracing_mark_write: E 26581 atrace-13734 (13734) [001] ...1 158025.782285: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26582 hwservicemanag-584 ( 584) [001] ...1 158025.782331: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26583 allocator@1.0--732 ( 732) [007] ...1 158025.782407: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server 26584 hwservicemanag-584 ( 584) [001] ...1 158025.782414: tracing_mark_write: E 26585 atrace-13734 (13734) [001] ...1 158025.782482: tracing_mark_write: E 26586 atrace-13734 (13734) [001] ...1 158025.782488: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26587 atrace-13734 (13734) [001] ...1 158025.782505: tracing_mark_write: E 26588 atrace-13734 (13734) [001] ...1 158025.782518: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26589 hwservicemanag-584 ( 584) [001] ...1 158025.782563: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26590 hwservicemanag-584 ( 584) [001] ...1 158025.782648: tracing_mark_write: E 26591 android.hardwa-760 ( 760) [004] ...1 158025.782681: tracing_mark_write: E 26592 atrace-13734 (13734) [001] ...1 158025.782713: tracing_mark_write: E 26593 atrace-13734 (13734) [001] ...1 158025.782720: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26594 atrace-13734 (13734) [001] ...1 158025.782765: tracing_mark_write: E 26595 atrace-13734 (13734) [001] ...1 158025.782779: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26596 android.hardwa-760 ( 760) [004] ...1 158025.782795: tracing_mark_write: B|760|HIDL::IBase::notifySyspropsChanged::server 26597 hwservicemanag-584 ( 584) [001] ...1 158025.782827: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26598 allocator@1.0--732 ( 732) [007] ...1 158025.782861: tracing_mark_write: E 26599 HwBinder:817_1-877 ( 817) [002] ...1 158025.782875: tracing_mark_write: B|817|HIDL::IBase::notifySyspropsChanged::server 26600 hwservicemanag-584 ( 584) [001] ...1 158025.782916: tracing_mark_write: E 26601 allocator@1.0--732 ( 732) [007] ...1 158025.782955: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server 26602 atrace-13734 (13734) [001] ...1 158025.782955: tracing_mark_write: E 26603 atrace-13734 (13734) [001] ...1 158025.782964: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26604 android.hardwa-760 ( 760) [004] ...1 158025.782992: tracing_mark_write: E 26605 hwservicemanag-584 ( 584) [001] ...1 158025.783009: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26606 HwBinder:817_1-877 ( 817) [002] ...1 158025.783058: tracing_mark_write: E 26607 allocator@1.0--732 ( 732) [007] ...1 158025.783067: tracing_mark_write: E 26608 hwservicemanag-584 ( 584) [001] ...1 158025.783094: tracing_mark_write: E 26609 atrace-13734 (13734) [001] ...1 158025.783148: tracing_mark_write: E 26610 atrace-13734 (13734) [001] ...1 158025.783154: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26611 atrace-13734 (13734) [001] ...1 158025.783190: tracing_mark_write: E 26612 atrace-13734 (13734) [001] ...1 158025.783204: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26613 hwservicemanag-584 ( 584) [002] ...1 158025.783254: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26614 hwservicemanag-584 ( 584) [002] ...1 158025.783341: tracing_mark_write: E 26615 HwBinder:844_1-1230 ( 844) [004] ...1 158025.783344: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26616 atrace-13734 (13734) [005] ...1 158025.783469: tracing_mark_write: E 26617 atrace-13734 (13734) [005] ...1 158025.783499: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26618 HwBinder:844_1-1230 ( 844) [004] ...1 158025.783557: tracing_mark_write: E 26619 atrace-13734 (13734) [005] ...1 158025.783588: tracing_mark_write: E 26620 atrace-13734 (13734) [005] ...1 158025.783631: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26621 hwservicemanag-584 ( 584) [001] ...1 158025.783908: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26622 HwBinder:736_3-1809 ( 736) [006] ...1 158025.783935: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server 26623 hwservicemanag-584 ( 584) [001] ...1 158025.783995: tracing_mark_write: E 26624 atrace-13734 (13734) [001] ...1 158025.784072: tracing_mark_write: E 26625 atrace-13734 (13734) [001] ...1 158025.784082: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26626 atrace-13734 (13734) [001] ...1 158025.784115: tracing_mark_write: E 26627 atrace-13734 (13734) [001] ...1 158025.784127: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26628 hwservicemanag-584 ( 584) [002] ...1 158025.784172: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26629 HwBinder:844_1-1230 ( 844) [005] ...1 158025.784188: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26630 HwBinder:736_3-1809 ( 736) [006] ...1 158025.784312: tracing_mark_write: E 26631 hwservicemanag-584 ( 584) [002] ...1 158025.784344: tracing_mark_write: E 26632 HwBinder:844_1-1230 ( 844) [005] ...1 158025.784472: tracing_mark_write: E 26633 atrace-13734 (13734) [007] ...1 158025.784827: tracing_mark_write: E 26634 atrace-13734 (13734) [007] ...1 158025.784846: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26635 atrace-13734 (13734) [007] ...1 158025.784900: tracing_mark_write: E 26636 atrace-13734 (13734) [007] ...1 158025.784925: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26637 HwBinder:844_1-1230 ( 844) [006] ...1 158025.784933: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26638 HwBinder:844_1-1230 ( 844) [006] ...1 158025.785064: tracing_mark_write: E 26639 hwservicemanag-584 ( 584) [003] ...1 158025.785241: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26640 hwservicemanag-584 ( 584) [003] ...1 158025.785337: tracing_mark_write: E 26641 atrace-13734 (13734) [003] ...1 158025.785408: tracing_mark_write: E 26642 atrace-13734 (13734) [003] ...1 158025.785417: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26643 atrace-13734 (13734) [003] ...1 158025.785455: tracing_mark_write: E 26644 atrace-13734 (13734) [003] ...1 158025.785468: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26645 vr_hwc-733 ( 733) [005] ...1 158025.785577: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server 26646 vr_hwc-733 ( 733) [005] ...1 158025.785803: tracing_mark_write: E 26647 hwservicemanag-584 ( 584) [001] ...1 158025.786314: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26648 hwservicemanag-584 ( 584) [001] ...1 158025.786404: tracing_mark_write: E 26649 atrace-13734 (13734) [001] ...1 158025.786614: tracing_mark_write: E 26650 atrace-13734 (13734) [001] ...1 158025.786622: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26651 atrace-13734 (13734) [001] ...1 158025.786655: tracing_mark_write: E 26652 atrace-13734 (13734) [001] ...1 158025.786668: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26653 drm@1.0-servic-740 ( 740) [007] ...1 158025.786767: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server 26654 drm@1.0-servic-740 ( 740) [007] ...1 158025.787031: tracing_mark_write: E 26655 sensors@1.0-se-755 ( 755) [000] ...1 158025.787131: tracing_mark_write: E 26656 SensorService-1249 ( 1136) [006] ...1 158025.787270: tracing_mark_write: E 26657 SensorService-1249 ( 1136) [006] ...1 158025.787439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client 26658 hwservicemanag-584 ( 584) [001] ...1 158025.787578: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26659 hwservicemanag-584 ( 584) [001] ...1 158025.787739: tracing_mark_write: E 26660 atrace-13734 (13734) [001] ...1 158025.787812: tracing_mark_write: E 26661 atrace-13734 (13734) [001] ...1 158025.787819: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26662 atrace-13734 (13734) [001] ...1 158025.787845: tracing_mark_write: E 26663 sensors@1.0-se-755 ( 755) [000] ...1 158025.787854: tracing_mark_write: B|755|HIDL::ISensors::poll::server 26664 atrace-13734 (13734) [001] ...1 158025.787858: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26665 hwservicemanag-584 ( 584) [003] ...1 158025.788014: tracing_mark_write: B|584|HIDL::IBase::notifySyspropsChanged::server 26666 hwservicemanag-584 ( 584) [003] ...1 158025.788214: tracing_mark_write: E 26667 hwservicemanag-584 ( 584) [003] ...1 158025.788248: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26668 hwservicemanag-584 ( 584) [003] ...1 158025.788398: tracing_mark_write: E 26669 atrace-13734 (13734) [003] ...1 158025.788462: tracing_mark_write: E 26670 atrace-13734 (13734) [003] ...1 158025.788471: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26671 atrace-13734 (13734) [003] ...1 158025.788496: tracing_mark_write: E 26672 atrace-13734 (13734) [003] ...1 158025.788510: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26673 hwservicemanag-584 ( 584) [001] ...1 158025.788824: tracing_mark_write: B|584|HIDL::IBase::notifySyspropsChanged::server 26674 hwservicemanag-584 ( 584) [001] ...1 158025.788894: tracing_mark_write: E 26675 hwservicemanag-584 ( 584) [001] ...1 158025.788922: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26676 hwservicemanag-584 ( 584) [001] ...1 158025.789055: tracing_mark_write: E 26677 atrace-13734 (13734) [001] ...1 158025.789109: tracing_mark_write: E 26678 atrace-13734 (13734) [001] ...1 158025.789117: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26679 atrace-13734 (13734) [001] ...1 158025.789140: tracing_mark_write: E 26680 atrace-13734 (13734) [001] ...1 158025.789153: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26681 hwservicemanag-584 ( 584) [003] ...1 158025.789414: tracing_mark_write: B|584|HIDL::IBase::notifySyspropsChanged::server 26682 hwservicemanag-584 ( 584) [003] ...1 158025.789459: tracing_mark_write: E 26683 hwservicemanag-584 ( 584) [003] ...1 158025.789487: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26684 hwservicemanag-584 ( 584) [003] ...1 158025.789603: tracing_mark_write: E 26685 atrace-13734 (13734) [003] ...1 158025.789660: tracing_mark_write: E 26686 atrace-13734 (13734) [003] ...1 158025.789668: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26687 atrace-13734 (13734) [003] ...1 158025.789741: tracing_mark_write: E 26688 atrace-13734 (13734) [003] ...1 158025.789754: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26689 hwservicemanag-584 ( 584) [001] ...1 158025.789801: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26690 HwBinder:689_1-718 ( 689) [006] ...1 158025.789824: tracing_mark_write: B|689|HIDL::IBase::notifySyspropsChanged::server 26691 hwservicemanag-584 ( 584) [001] ...1 158025.789919: tracing_mark_write: E 26692 atrace-13734 (13734) [001] ...1 158025.789974: tracing_mark_write: E 26693 atrace-13734 (13734) [001] ...1 158025.789981: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26694 atrace-13734 (13734) [001] ...1 158025.790015: tracing_mark_write: E 26695 atrace-13734 (13734) [001] ...1 158025.790033: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26696 HwBinder:689_1-718 ( 689) [006] ...1 158025.790068: tracing_mark_write: E 26697 HwBinder:833_1-881 ( 833) [003] ...1 158025.790085: tracing_mark_write: B|833|HIDL::IBase::notifySyspropsChanged::server 26698 hwservicemanag-584 ( 584) [001] ...1 158025.790090: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26699 hwservicemanag-584 ( 584) [001] ...1 158025.790210: tracing_mark_write: E 26700 HwBinder:833_1-881 ( 833) [003] ...1 158025.790298: tracing_mark_write: E 26701 atrace-13734 (13734) [006] ...1 158025.794472: tracing_mark_write: E 26702 atrace-13734 (13734) [006] ...1 158025.794492: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26703 HwBinder:844_1-1230 ( 844) [006] ...1 158025.794585: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26704 HwBinder:844_1-1230 ( 844) [006] ...1 158025.794738: tracing_mark_write: E 26705 atrace-13734 (13734) [006] ...1 158025.794782: tracing_mark_write: E 26706 atrace-13734 (13734) [006] ...1 158025.794814: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26707 hwservicemanag-584 ( 584) [001] ...1 158025.795336: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26708 hwservicemanag-584 ( 584) [001] ...1 158025.796071: tracing_mark_write: E 26709 atrace-13734 (13734) [001] ...1 158025.796446: tracing_mark_write: E 26710 atrace-13734 (13734) [001] ...1 158025.796462: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26711 atrace-13734 (13734) [001] ...1 158025.796495: tracing_mark_write: E 26712 atrace-13734 (13734) [001] ...1 158025.796509: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26713 hwservicemanag-584 ( 584) [001] ...1 158025.796578: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26714 hwservicemanag-584 ( 584) [001] ...1 158025.796672: tracing_mark_write: E 26715 HwBinder:844_1-1230 ( 844) [007] ...1 158025.796775: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26716 HwBinder:844_1-1230 ( 844) [007] ...1 158025.796919: tracing_mark_write: E 26717 atrace-13734 (13734) [005] ...1 158025.796966: tracing_mark_write: E 26718 atrace-13734 (13734) [005] ...1 158025.796982: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26719 atrace-13734 (13734) [005] ...1 158025.797033: tracing_mark_write: E 26720 atrace-13734 (13734) [005] ...1 158025.797057: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26721 hwservicemanag-584 ( 584) [001] ...1 158025.797140: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26722 hwservicemanag-584 ( 584) [001] ...1 158025.797236: tracing_mark_write: E 26723 HwBinder:817_1-877 ( 817) [000] ...1 158025.797276: tracing_mark_write: B|817|HIDL::IBase::notifySyspropsChanged::server 26724 atrace-13734 (13734) [001] ...1 158025.797290: tracing_mark_write: E 26725 atrace-13734 (13734) [001] ...1 158025.797299: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26726 atrace-13734 (13734) [001] ...1 158025.797318: tracing_mark_write: E 26727 atrace-13734 (13734) [001] ...1 158025.797331: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26728 hwservicemanag-584 ( 584) [001] ...1 158025.797393: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26729 HwBinder:817_1-877 ( 817) [000] ...1 158025.797406: tracing_mark_write: E 26730 HwBinder:817_1-877 ( 817) [000] ...1 158025.797437: tracing_mark_write: B|817|HIDL::IBase::notifySyspropsChanged::server 26731 hwservicemanag-584 ( 584) [001] ...1 158025.797484: tracing_mark_write: E 26732 HwBinder:817_1-877 ( 817) [000] ...1 158025.797506: tracing_mark_write: E 26733 atrace-13734 (13734) [005] ...1 158025.797578: tracing_mark_write: E 26734 atrace-13734 (13734) [005] ...1 158025.797590: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26735 atrace-13734 (13734) [005] ...1 158025.797630: tracing_mark_write: E 26736 atrace-13734 (13734) [005] ...1 158025.797649: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client 26737 hwservicemanag-584 ( 584) [001] ...1 158025.798128: tracing_mark_write: B|584|HIDL::IServiceManager::get::server 26738 hwservicemanag-584 ( 584) [001] ...1 158025.798223: tracing_mark_write: E 26739 atrace-13734 (13734) [001] ...1 158025.798277: tracing_mark_write: E 26740 atrace-13734 (13734) [001] ...1 158025.798288: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client 26741 atrace-13734 (13734) [001] ...1 158025.798319: tracing_mark_write: E 26742 atrace-13734 (13734) [001] ...1 158025.798329: tracing_mark_write: E 26743 HwBinder:844_1-1230 ( 844) [005] ...1 158025.798362: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server 26744 HwBinder:844_1-1230 ( 844) [005] ...1 158025.798495: tracing_mark_write: E 26745 </script> 26746 <script class="trace-data" type="application/text"> 26747{"traceEvents": [{"category": "process_argv", "name": "process_argv", "args": {"argv": ["/tmp/sar.systrace_sh.sar.1000.n27wtRWE44/systrace_sh.runfiles/google3/third_party/java/android/android_sdk_linux/platforms/experimental/build-tools/systrace/systrace.py", "-e", "HT7BE1A04938", "-o", "/var/www/mh_lab_gen_files/9ae40da7-cd8b-4256-a344-7dfd95827ad9/test_6dcf730e-f238-438a-b9be-2b840dedc960/systrace.html", "nnapi", "hal", "--app=com.google.android.testing.mlts.benchmark.mobileiq", "-b", "131072"]}, "pid": 19043, "ts": 12740237842571.824, "tid": 139631646889728, "ph": "M"}, {"category": "python", "name": "clock_sync", "args": {"issue_ts": 12740277925111.232, "sync_id": "3dcc994f-0459-4a69-8ebe-ce495d65712c"}, "pid": 19043, "ts": 12740277936638.84, "tid": 139631695775488, "ph": "c"}], "metadata": {"clock-domain": "SYSTRACE"}} </script> 26748<!-- END TRACE --> 26749</body> 26750</html> 26751