ember-native-devtools 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/bin/devtools.js +95 -0
  2. package/download/chrome-devtools-frontend.appspot.com/robots.txt/index.html +4 -0
  3. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/3d-center.svg +1 -0
  4. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/3d-pan.svg +1 -0
  5. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/3d-rotate.svg +1 -0
  6. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/Images.js +259 -0
  7. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/accelerometer-back.svg +1 -0
  8. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/accelerometer-bottom.png +0 -0
  9. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/accelerometer-front.svg +1 -0
  10. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/accelerometer-left.png +0 -0
  11. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/accelerometer-right.png +0 -0
  12. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/accelerometer-top.png +0 -0
  13. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/account-box.svg +1 -0
  14. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-center.svg +1 -0
  15. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-end.svg +1 -0
  16. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-space-around.svg +1 -0
  17. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-space-between.svg +1 -0
  18. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-space-evenly.svg +1 -0
  19. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-start.svg +1 -0
  20. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-content-stretch.svg +1 -0
  21. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-items-baseline.svg +1 -0
  22. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-items-center.svg +1 -0
  23. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-items-end.svg +1 -0
  24. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-items-start.svg +1 -0
  25. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-items-stretch.svg +1 -0
  26. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-self-center.svg +1 -0
  27. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-self-end.svg +1 -0
  28. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-self-start.svg +1 -0
  29. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/align-self-stretch.svg +1 -0
  30. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-back.svg +1 -0
  31. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-down.svg +1 -0
  32. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-drop-down-dark.svg +1 -0
  33. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-drop-down-light.svg +1 -0
  34. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-forward.svg +1 -0
  35. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-up-down-circle.svg +1 -0
  36. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-up-down.svg +1 -0
  37. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/arrow-up.svg +1 -0
  38. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bell.svg +1 -0
  39. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bezier-curve-filled.svg +1 -0
  40. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bin.svg +1 -0
  41. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bottom-panel-close.svg +1 -0
  42. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bottom-panel-open.svg +1 -0
  43. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/brackets.svg +1 -0
  44. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/breakpoint-circle.svg +1 -0
  45. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/breakpoint-crossed-filled.svg +1 -0
  46. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/breakpoint-crossed.svg +1 -0
  47. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/brush-filled.svg +1 -0
  48. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/brush.svg +1 -0
  49. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bug.svg +1 -0
  50. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/bundle.svg +1 -0
  51. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/calendar-today.svg +1 -0
  52. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/check-circle.svg +1 -0
  53. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/check-double.svg +1 -0
  54. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/checker.svg +1 -0
  55. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/checkmark.svg +1 -0
  56. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chevron-double-right.svg +1 -0
  57. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chevron-down.svg +1 -0
  58. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chevron-left-dot.svg +1 -0
  59. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chevron-left.svg +1 -0
  60. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chevron-right.svg +1 -0
  61. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chevron-up.svg +1 -0
  62. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chromeLeft.avif +0 -0
  63. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chromeMiddle.avif +0 -0
  64. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/chromeRight.avif +0 -0
  65. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/class.svg +1 -0
  66. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/clear-list.svg +1 -0
  67. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/clear.svg +1 -0
  68. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/cloud.svg +1 -0
  69. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/code-circle.svg +1 -0
  70. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/code.svg +1 -0
  71. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/colon.svg +1 -0
  72. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/color-picker-filled.svg +1 -0
  73. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/color-picker.svg +1 -0
  74. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/console-conditional-breakpoint.svg +1 -0
  75. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/console-logpoint.svg +1 -0
  76. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/cookie.svg +1 -0
  77. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/copy.svg +1 -0
  78. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/corporate-fare.svg +1 -0
  79. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/credit-card.svg +1 -0
  80. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/cross-circle-filled.svg +1 -0
  81. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/cross-circle.svg +1 -0
  82. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/cross.svg +1 -0
  83. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/cssoverview_icons_2x.avif +0 -0
  84. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/custom-typography.svg +1 -0
  85. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/database.svg +1 -0
  86. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/deployed.svg +1 -0
  87. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/device-fold.svg +1 -0
  88. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/devices.svg +1 -0
  89. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/devtools.svg +1 -0
  90. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dock-bottom.svg +1 -0
  91. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dock-left.svg +1 -0
  92. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dock-right.svg +1 -0
  93. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dock-window.svg +1 -0
  94. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/document.svg +1 -0
  95. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dog-paw.svg +1 -0
  96. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dots-horizontal.svg +1 -0
  97. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/dots-vertical.svg +1 -0
  98. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/download.svg +1 -0
  99. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/edit.svg +1 -0
  100. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/empty.svg +1 -0
  101. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/errorWave.svg +1 -0
  102. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/exclamation.svg +1 -0
  103. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/experiment-check.svg +1 -0
  104. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/experiment.svg +1 -0
  105. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/extension.svg +1 -0
  106. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/eye.svg +1 -0
  107. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-document.svg +1 -0
  108. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-fetch-xhr.svg +1 -0
  109. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-font.svg +1 -0
  110. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-generic.svg +1 -0
  111. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-image.svg +1 -0
  112. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-json.svg +1 -0
  113. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-manifest.svg +1 -0
  114. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-media.svg +1 -0
  115. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-script.svg +1 -0
  116. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-snippet.svg +1 -0
  117. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-stylesheet.svg +1 -0
  118. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-wasm.svg +1 -0
  119. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/file-websocket.svg +1 -0
  120. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/filter-clear.svg +1 -0
  121. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/filter-filled.svg +1 -0
  122. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/filter.svg +1 -0
  123. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/flex-direction.svg +1 -0
  124. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/flex-no-wrap.svg +1 -0
  125. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/flex-wrap.svg +1 -0
  126. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/flow.svg +1 -0
  127. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/fold-more.svg +1 -0
  128. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/folder.svg +1 -0
  129. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/frame-crossed.svg +1 -0
  130. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/frame-icon.svg +1 -0
  131. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/frame.svg +1 -0
  132. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/gear-filled.svg +1 -0
  133. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/gear.svg +1 -0
  134. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/gears.svg +1 -0
  135. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/globe.svg +1 -0
  136. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/google.svg +1 -0
  137. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/goto-filled.svg +1 -0
  138. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/heap-snapshot.svg +1 -0
  139. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/heap-snapshots.svg +1 -0
  140. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/help.svg +1 -0
  141. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/hover.svg +1 -0
  142. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/iframe-crossed.svg +1 -0
  143. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/iframe.svg +1 -0
  144. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/import.svg +1 -0
  145. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/indeterminate-question-box.svg +1 -0
  146. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/info-filled.svg +1 -0
  147. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/info.svg +1 -0
  148. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/issue-cross-filled.svg +1 -0
  149. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/issue-exclamation-filled.svg +1 -0
  150. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/issue-questionmark-filled.svg +1 -0
  151. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/issue-text-filled.svg +1 -0
  152. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-content-center.svg +1 -0
  153. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-content-end.svg +1 -0
  154. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-content-space-around.svg +1 -0
  155. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-content-space-between.svg +1 -0
  156. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-content-space-evenly.svg +1 -0
  157. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-content-start.svg +1 -0
  158. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-items-center.svg +1 -0
  159. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-items-end.svg +1 -0
  160. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-items-start.svg +1 -0
  161. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/justify-items-stretch.svg +1 -0
  162. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/keyboard-arrow-right.svg +1 -0
  163. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/keyboard-pen.svg +1 -0
  164. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/keyboard.svg +1 -0
  165. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/large-arrow-right-filled.svg +1 -0
  166. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/layers-filled.svg +1 -0
  167. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/layers.svg +1 -0
  168. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/left-panel-close.svg +1 -0
  169. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/left-panel-open.svg +1 -0
  170. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/lightbulb-spark.svg +1 -0
  171. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/lightbulb.svg +1 -0
  172. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/lighthouse_logo.svg +1 -0
  173. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/list.svg +1 -0
  174. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/location-on.svg +1 -0
  175. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/lock.svg +1 -0
  176. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/match-case.svg +1 -0
  177. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/match-whole-word.svg +1 -0
  178. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/memory.svg +1 -0
  179. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/minus.svg +1 -0
  180. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/mop.svg +1 -0
  181. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/mouse.svg +1 -0
  182. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/navigationControls.png +0 -0
  183. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/navigationControls_2x.png +0 -0
  184. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/network-settings.svg +1 -0
  185. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/nodeIcon.avif +0 -0
  186. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/open-externally.svg +1 -0
  187. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/pause.svg +1 -0
  188. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/pen-spark.svg +1 -0
  189. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/performance.svg +1 -0
  190. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/person.svg +1 -0
  191. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/play.svg +1 -0
  192. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/plus.svg +1 -0
  193. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/policy.svg +1 -0
  194. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/popoverArrows.png +0 -0
  195. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/popup.svg +1 -0
  196. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/preview_feature_video_thumbnail.svg +1 -0
  197. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/profile.svg +1 -0
  198. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/psychiatry.svg +1 -0
  199. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/record-start.svg +1 -0
  200. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/record-stop.svg +1 -0
  201. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/redo.svg +1 -0
  202. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/refresh.svg +1 -0
  203. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/regular-expression.svg +1 -0
  204. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/replace.svg +1 -0
  205. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/replay.svg +1 -0
  206. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/report.svg +1 -0
  207. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/resizeDiagonal.svg +1 -0
  208. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/resizeHorizontal.svg +1 -0
  209. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/resizeVertical.svg +1 -0
  210. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/resume.svg +1 -0
  211. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/review.svg +1 -0
  212. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/right-panel-close.svg +1 -0
  213. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/right-panel-open.svg +1 -0
  214. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/scissors.svg +1 -0
  215. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/screen-rotation.svg +1 -0
  216. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/search.svg +1 -0
  217. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/select-element.svg +1 -0
  218. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/send.svg +1 -0
  219. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/shadow.svg +1 -0
  220. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/small-status-dot.svg +1 -0
  221. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/snippet.svg +1 -0
  222. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/spark-info.svg +1 -0
  223. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/spark.svg +1 -0
  224. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/star.svg +1 -0
  225. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/step-into.svg +1 -0
  226. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/step-out.svg +1 -0
  227. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/step-over.svg +1 -0
  228. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/step.svg +1 -0
  229. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/stop.svg +1 -0
  230. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/symbol.svg +1 -0
  231. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/sync.svg +1 -0
  232. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/table.svg +1 -0
  233. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/thumb-down.svg +1 -0
  234. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/thumb-up.svg +1 -0
  235. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/toolbarResizerVertical.png +0 -0
  236. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/top-panel-close.svg +1 -0
  237. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/top-panel-open.svg +1 -0
  238. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/touch-app.svg +1 -0
  239. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/touchCursor.png +0 -0
  240. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/touchCursor_2x.png +0 -0
  241. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/triangle-bottom-right.svg +1 -0
  242. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/triangle-down.svg +1 -0
  243. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/triangle-left.svg +1 -0
  244. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/triangle-right.svg +1 -0
  245. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/triangle-up.svg +1 -0
  246. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/tune.svg +1 -0
  247. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/undo.svg +1 -0
  248. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/warning-filled.svg +1 -0
  249. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/warning.svg +1 -0
  250. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/watch.svg +1 -0
  251. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/whatsnew.avif +0 -0
  252. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/width.svg +1 -0
  253. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/Images/zoom-in.svg +1 -0
  254. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/common/common.js +1 -0
  255. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/dom_extension/dom_extension.js +1 -0
  256. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/host/host.js +1 -0
  257. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/i18n/i18n.js +1 -0
  258. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/i18n/locales/en-US.json +1 -0
  259. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/platform/platform.js +1 -0
  260. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/protocol_client/protocol_client.js +1 -0
  261. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/root/root.js +1 -0
  262. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/core/sdk/sdk.js +1 -0
  263. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/devtools_app.html +18 -0
  264. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/devtools_compatibility.js +1774 -0
  265. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ember_app.html +26 -0
  266. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/devtools_app/devtools_app.js +1 -0
  267. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/formatter_worker/formatter_worker-entrypoint.js +1 -0
  268. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/formatter_worker/formatter_worker.js +1 -0
  269. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
  270. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
  271. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/inspector/inspector.js +1 -0
  272. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/inspector_main/inspector_main.js +1 -0
  273. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/lighthouse_worker/lighthouse_worker.js +1 -0
  274. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/main/main.js +1 -0
  275. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/shell/shell.js +1 -0
  276. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
  277. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/entrypoints/wasmparser_worker/wasmparser_worker.js +1 -0
  278. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/inspector.html +18 -0
  279. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/autofill_manager/autofill_manager.js +1 -0
  280. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/bindings/bindings.js +1 -0
  281. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/breakpoints/breakpoints.js +1 -0
  282. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/cpu_profile/cpu_profile.js +1 -0
  283. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/crux-manager/crux-manager.js +1 -0
  284. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/emulation/emulation.js +1 -0
  285. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/extensions/extensions.js +1 -0
  286. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/formatter/formatter.js +1 -0
  287. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/har/har.js +1 -0
  288. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/heap_snapshot_model/heap_snapshot_model.js +1 -0
  289. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/issues_manager/issues_manager.js +1 -0
  290. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/javascript_metadata/javascript_metadata.js +1 -0
  291. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/live-metrics/live-metrics.js +1 -0
  292. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/live-metrics/web-vitals-injected/spec/spec.js +1 -0
  293. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/live-metrics/web-vitals-injected/web-vitals-injected.generated.js +1 -0
  294. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/logs/logs.js +1 -0
  295. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/persistence/persistence.js +1 -0
  296. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/source_map_scopes/source_map_scopes.js +1 -0
  297. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/text_utils/text_utils.js +1 -0
  298. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/timeline_model/timeline_model.js +1 -0
  299. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/extras/extras.js +1 -0
  300. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/handlers/handlers.js +1 -0
  301. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/helpers/helpers.js +1 -0
  302. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/insights/insights.js +1 -0
  303. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/lantern/core/core.js +1 -0
  304. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/lantern/graph/graph.js +1 -0
  305. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/lantern/lantern.js +1 -0
  306. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/lantern/metrics/metrics.js +1 -0
  307. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/lantern/simulation/simulation.js +1 -0
  308. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/lantern/types/types.js +1 -0
  309. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/root-causes/root-causes.js +1 -0
  310. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/trace.js +1 -0
  311. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/trace/types/types.js +1 -0
  312. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/workspace/workspace.js +1 -0
  313. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/models/workspace_diff/workspace_diff.js +1 -0
  314. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/accessibility/accessibility.js +1 -0
  315. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/animation/animation.js +1 -0
  316. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/application/application.js +41 -0
  317. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/application/components/components.js +614 -0
  318. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/application/preloading/components/components.js +292 -0
  319. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/application/preloading/helper/helper.js +1 -0
  320. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/autofill/autofill.js +88 -0
  321. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/browser_debugger/browser_debugger.js +1 -0
  322. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/changes/changes.js +1 -0
  323. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/console/console.js +6 -0
  324. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/console_counters/console_counters.js +1 -0
  325. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/coverage/coverage.js +1 -0
  326. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/css_overview/components/components.js +23 -0
  327. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/css_overview/css_overview.js +147 -0
  328. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/developer_resources/developer_resources.js +1 -0
  329. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/elements/components/components.js +272 -0
  330. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/elements/elements.js +8 -0
  331. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/emulation/components/components.js +39 -0
  332. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/emulation/emulation.js +1 -0
  333. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/event_listeners/event_listeners.js +1 -0
  334. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/explain/explain.js +203 -0
  335. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/freestyler/freestyler.js +177 -0
  336. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/issues/components/components.js +14 -0
  337. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/issues/issues.js +1 -0
  338. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/layer_viewer/layer_viewer.js +1 -0
  339. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/layers/layers.js +1 -0
  340. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/lighthouse/lighthouse.js +64 -0
  341. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/linear_memory_inspector/components/components.js +177 -0
  342. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/linear_memory_inspector/linear_memory_inspector.js +1 -0
  343. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/media/media.js +25 -0
  344. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/mobile_throttling/mobile_throttling.js +1 -0
  345. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/network/components/components.js +315 -0
  346. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/network/forward/forward.js +1 -0
  347. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/network/network.js +1 -0
  348. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/performance_monitor/performance_monitor.js +1 -0
  349. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/profiler/profiler.js +8 -0
  350. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/protocol_monitor/components/components.js +180 -0
  351. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/protocol_monitor/protocol_monitor.js +1 -0
  352. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/components/components.js +714 -0
  353. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/controllers/controllers.js +1 -0
  354. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/converters/converters.js +1 -0
  355. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/extensions/extensions.js +1 -0
  356. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/injected/injected.generated.js +1 -0
  357. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/models/models.js +1 -0
  358. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/recorder.js +120 -0
  359. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/recorder/util/util.js +1 -0
  360. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/screencast/screencast.js +1 -0
  361. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/search/search.js +1 -0
  362. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/security/security.js +1 -0
  363. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/sensors/sensors.js +1 -0
  364. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/settings/components/components.js +23 -0
  365. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/settings/emulation/components/components.js +222 -0
  366. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/settings/emulation/emulation.js +1 -0
  367. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/settings/emulation/utils/utils.js +1 -0
  368. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/settings/settings.js +130 -0
  369. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/snippets/snippets.js +1 -0
  370. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/sources/components/components.js +162 -0
  371. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/sources/sources.js +14 -0
  372. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/components/components.js +623 -0
  373. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/components/insights/insights.js +85 -0
  374. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/extensions/extensions.js +1 -0
  375. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/overlays/components/components.js +52 -0
  376. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/overlays/overlays.js +1 -0
  377. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/timeline.js +4 -0
  378. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/timeline/utils/utils.js +1 -0
  379. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/utils/utils.js +1 -0
  380. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/web_audio/graph_visualizer/graph_visualizer.js +1 -0
  381. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/web_audio/web_audio.js +23 -0
  382. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/panels/webauthn/webauthn.js +6 -0
  383. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/services/puppeteer/puppeteer.js +1 -0
  384. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/services/trace_bounds/trace_bounds.js +1 -0
  385. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/services/tracing/tracing.js +1 -0
  386. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/services/window_bounds/window_bounds.js +1 -0
  387. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/setup-ember-extension.js +160 -0
  388. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/acorn/acorn.js +1 -0
  389. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/chromium/client-variations/client-variations.js +1 -0
  390. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/angular.js +2 -0
  391. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/codemirror.js +2 -0
  392. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/cpp.js +2 -0
  393. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/java.js +2 -0
  394. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/legacy.js +2 -0
  395. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/less.js +2 -0
  396. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/markdown.js +2 -0
  397. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/php.js +2 -0
  398. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/python.js +2 -0
  399. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/sass.js +2 -0
  400. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/svelte.js +2 -0
  401. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/vue.js +2 -0
  402. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/wast.js +2 -0
  403. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/chunk/xml.js +2 -0
  404. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/codemirror.next/codemirror.next.js +2 -0
  405. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/csp_evaluator/csp_evaluator.js +194 -0
  406. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/diff/diff.js +1 -0
  407. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/i18n/i18n.js +1 -0
  408. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/intl-messageformat/intl-messageformat.js +15 -0
  409. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/lighthouse/lighthouse-dt-bundle.js +2137 -0
  410. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/lighthouse/report/report.js +39 -0
  411. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/lit/lit.js +110 -0
  412. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/marked/marked.js +1 -0
  413. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/puppeteer/debug/index.html +4 -0
  414. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/puppeteer/puppeteer.js +378 -0
  415. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/puppeteer-replay/lighthouse/index.html +4 -0
  416. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/puppeteer-replay/puppeteer/index.html +4 -0
  417. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/puppeteer-replay/puppeteer-replay.js +1 -0
  418. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/third_party/wasmparser/wasmparser.js +1 -0
  419. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/adorners/adorners.js +3 -0
  420. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/buttons/buttons.js +11 -0
  421. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/chrome_link/chrome_link.js +5 -0
  422. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/code_highlighter/code_highlighter.js +1 -0
  423. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/data_grid/data_grid.js +69 -0
  424. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/dialogs/dialogs.js +81 -0
  425. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/diff_view/diff_view.js +8 -0
  426. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/expandable_list/expandable_list.js +17 -0
  427. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/helpers/helpers.js +1 -0
  428. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/highlighting/highlighting.js +1 -0
  429. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/icon_button/icon_button.js +12 -0
  430. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/input/input.js +1 -0
  431. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/issue_counter/issue_counter.js +9 -0
  432. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/legacy_wrapper/legacy_wrapper.js +1 -0
  433. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/linkifier/linkifier.js +1 -0
  434. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/markdown_view/markdown_view.js +41 -0
  435. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/menus/menus.js +73 -0
  436. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/node_text/node_text.js +3 -0
  437. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/panel_feedback/panel_feedback.js +37 -0
  438. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/panel_introduction_steps/panel_introduction_steps.js +9 -0
  439. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/render_coordinator/render_coordinator.js +1 -0
  440. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/report_view/report_view.js +21 -0
  441. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/request_link_icon/request_link_icon.js +8 -0
  442. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/settings/settings.js +16 -0
  443. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/split_view/split_view.js +9 -0
  444. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/srgb_overlay/srgb_overlay.js +6 -0
  445. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/suggestion_input/suggestion_input.js +29 -0
  446. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/switch/switch.js +10 -0
  447. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/text_editor/text_editor.js +1 -0
  448. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/text_prompt/text_prompt.js +3 -0
  449. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/components/tree_outline/tree_outline.js +30 -0
  450. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/color_picker/color_picker.js +1 -0
  451. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/cookie_table/cookie_table.js +1 -0
  452. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/data_grid/data_grid.js +1 -0
  453. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/inline_editor/inline_editor.js +46 -0
  454. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/object_ui/object_ui.js +9 -0
  455. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/perf_ui/perf_ui.js +59 -0
  456. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/quick_open/quick_open.js +1 -0
  457. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/source_frame/source_frame.js +1 -0
  458. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/components/utils/utils.js +1 -0
  459. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/legacy.js +3 -0
  460. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/legacy/theme_support/theme_support.js +1 -0
  461. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/lit-html/lit-html.js +1 -0
  462. package/download/chrome-devtools-frontend.appspot.com/serve_file/@abb728f8afc6a86cc66b1313f5056728ce422ddd/ui/visual_logging/visual_logging.js +1 -0
  463. package/download/googlechrome.github.io/lighthouse/scorecalc/calc.js +838 -0
  464. package/download/googlechrome.github.io/lighthouse/scorecalc/index.html +78 -0
  465. package/download/googlechrome.github.io/lighthouse/scorecalc/style.css +554 -0
  466. package/download/wicg.github.io/attribution-reporting-api/validate-headers/index.html +104 -0
  467. package/download/wicg.github.io/attribution-reporting-api/validate-headers.js +1 -0
  468. package/package.json +31 -0
@@ -0,0 +1,59 @@
1
+ import*as e from"../../../../core/i18n/i18n.js";import*as t from"../../../../services/window_bounds/window_bounds.js";import*as i from"../../theme_support/theme_support.js";import*as s from"../../../../core/common/common.js";import*as r from"../../../../core/platform/platform.js";import*as n from"../../../../core/root/root.js";import*as o from"../../../components/render_coordinator/render_coordinator.js";import*as a from"../../legacy.js";import*as l from"../../../../core/host/host.js";import*as h from"../../../../models/bindings/bindings.js";import*as d from"../../../../models/trace/trace.js";import*as c from"../../../components/buttons/buttons.js";import*as u from"../../../visual_logging/visual_logging.js";import*as m from"../../../../core/sdk/sdk.js";import*as p from"../../../../models/workspace/workspace.js";import"../source_frame/source_frame.js";import*as g from"../../../components/icon_button/icon_button.js";import*as v from"../../../lit-html/lit-html.js";const f={congrats:"Congrats, you win!",ps:"PS: You can also open the game by typing `fixme`"},w=e.i18n.registerUIStrings("ui/legacy/components/perf_ui/BrickBreaker.ts",f),b=e.i18n.getLocalizedString.bind(void 0,w),T=15,y=10,E=[{light:"rgb(224,240,255)",mediumLighter:"rgb(176,208,255)",mediumDarker:"rgb(112,160,221)",dark:"rgb(0,92,153)"},{light:"rgb(253, 216, 229)",mediumLighter:"rgb(250, 157, 188)",mediumDarker:"rgb(249, 98, 154)",dark:"rgb(254, 5, 105)"},{light:"rgb(254, 234, 234)",mediumLighter:"rgb(255, 216, 216)",mediumDarker:"rgb(255, 195, 195)",dark:"rgb(235, 125, 138)"},{light:"rgb(226,183,206)",mediumLighter:"rgb(219,124,165)",mediumDarker:"rgb(146,60,129)",dark:"rgb(186, 85, 255)"},{light:"rgb(206,255,206)",mediumLighter:"rgb(128,255,128)",mediumDarker:"rgb(0,246,0)",dark:"rgb(0,187,0)"},{light:"rgb(255, 188, 181)",mediumLighter:"rgb(254, 170, 170)",mediumDarker:"rgb(215, 59, 43)",dark:"rgb(187, 37, 23)"},{light:"rgb(236, 254, 250)",mediumLighter:"rgb(204, 255, 245)",mediumDarker:"rgb(164, 240, 233)",dark:"rgb(72,189,144)"},{light:"rgb(255, 225, 185)",mediumLighter:"rgb(255, 204, 141)",mediumDarker:"rgb(240, 140, 115)",dark:"rgb(211, 96, 117)"},{light:"rgb(218, 255, 248)",mediumLighter:"rgb(177, 235, 236)",mediumDarker:"rgb(112, 214, 214)",dark:"rgb(34, 205, 181)"}];class x extends HTMLElement{timelineFlameChart;#e;#t;#i;#s;#r;#n=0;#o=new Set;#a=new Map;#l=this.#h.bind(this);#d=this.#c.bind(this);#u=this.#m.bind(this);#p=this.#g.bind(this);#v=this.#f.bind(this);#w=t.WindowBoundsService.WindowBoundsServiceImpl.instance().getDevToolsBoundingElement();#b=0;#T=!1;#y=devicePixelRatio;#E=0;#x=0;#C=0;#S=0;#L=0;#k=!1;#P=!1;#I=0;#D=0;#R=0;#M=150;#H=150;#O=1500;#B=this.#O-this.#H;#A=0;#G=0;#F;constructor(e){super(),this.timelineFlameChart=e,this.#e=this.createChild("canvas","fill"),this.#t=this.#e.getContext("2d"),this.#i=document.createElement("canvas"),this.#s=this.#i.getContext("2d");const t=Math.floor(Math.random()*E.length);this.#F=E[t],this.#r=this.createChild("div"),this.#r.classList.add("scorePanel"),this.#r.style.borderImage="linear-gradient("+this.#F.mediumDarker+","+this.#F.dark+") 1",this.initButton()}initButton(){const e=this.createChild("div");e.classList.add("game-close-button"),e.innerHTML="<b><span style='font-size: 1.2em; color: white'>x</span></b>",e.style.background=this.#F.dark,e.style.boxShadow=this.#F.dark+" 1px 1px, "+this.#F.mediumDarker+" 3px 3px, "+this.#F.mediumLighter+" 5px 5px",e.addEventListener("click",this.#g.bind(this)),this.appendChild(e)}connectedCallback(){this.#T=!0,this.#z(),this.#w.addEventListener("keydown",this.#l),document.addEventListener("keydown",this.#l,!1),document.addEventListener("keyup",this.#d,!1),document.addEventListener("keypress",this.#u,!1),window.addEventListener("resize",this.#p),document.addEventListener("mousemove",this.#v,!1),this.tabIndex=1,this.focus()}disconnectedCallback(){this.#w.removeEventListener("keydown",this.#l),window.removeEventListener("resize",this.#p),document.removeEventListener("keydown",this.#l,!1),document.removeEventListener("keyup",this.#d,!1),window.removeEventListener("resize",this.#p),document.removeEventListener("keypress",this.#u,!1),document.removeEventListener("mousemove",this.#v,!1)}#W(){const e=window.devicePixelRatio,t=Math.round(this.offsetHeight*e),i=Math.round(this.offsetWidth*e);this.#e.height=t,this.#e.width=i,this.#e.style.height=t/e+"px",this.#e.style.width=i/e+"px"}#g(){this.#T=!1,this.remove()}#z(){this.#W(),this.#A=Math.max(.1,(this.offsetHeight-this.#H)/this.#B),this.#G=10*this.#A;const e=this.timelineFlameChart.drawTrackOnCanvas("Main",this.#t,y);if(null===e||0===e.visibleEntries.size)return console.error("Could not draw game"),void this.#g();this.#n=e.top,this.#o=e.visibleEntries,this.#b=this.#n+this.timelineFlameChart.getCanvas().getBoundingClientRect().top-this.timelineFlameChart.getScrollOffset(),requestAnimationFrame((()=>this.#N(e.top,e.height)))}#N(e,t){if(0===e)return void this.#U();const i=window.devicePixelRatio,s=Math.round(e*i),r=Math.max(e-4,0),n=Math.round(r*i),o=this.#e;this.#i.height=o.height,this.#i.width=o.width,this.#i.style.height=o.style.height,this.#i.style.width=o.style.width,this.#s.drawImage(o,0,s,o.width,t*i,0,n,o.width,t*i),this.#W(),this.#t.drawImage(this.#i,0,0),requestAnimationFrame((()=>this.#N(r,t)))}#c(e){"Right"===e.key||"ArrowRight"===e.key||"d"===e.key?(this.#k=!1,e.preventDefault()):"Left"===e.key||"ArrowLeft"===e.key||"a"===e.key?(this.#P=!1,e.preventDefault()):e.stopImmediatePropagation()}#m(e){e.stopImmediatePropagation(),e.preventDefault()}#h(e){"Escape"===e.key?(this.#g(),e.stopImmediatePropagation()):"Right"===e.key||"ArrowRight"===e.key||"d"===e.key?(this.#k=!0,e.preventDefault()):"Left"===e.key||"ArrowLeft"===e.key||"a"===e.key?(this.#P=!0,e.preventDefault()):(e.preventDefault(),e.stopImmediatePropagation())}#f(e){this.#L=Math.max(e.offsetX-this.#M/2,0),this.#L=Math.min(this.#L,this.offsetWidth-this.#M)}#U(){this.#E=this.offsetWidth/2,this.#x=this.offsetHeight-T-y,this.#C=0,this.#S=-Math.SQRT2*this.#G,this.#L=(this.#e.width-this.#M)/2,this.#k=!1,this.#P=!1,this.#I=this.timelineFlameChart.getBarHeight(),this.#R=this.#o.size,this.#D=Math.max(Math.round(this.#R/17),2),this.#_()}#V(){this.#E=this.offsetWidth/2,this.#x=this.offsetHeight-T-y,this.#C=0,this.#S=-Math.SQRT2*this.#G}#X(){if(!this.#t)return;const e=this.#t.createRadialGradient(this.#E+2.5,this.#x-2.5,0,this.#E+2.5,this.#x-2.5,y);e.addColorStop(.3,this.#F.mediumLighter),e.addColorStop(.6,this.#F.mediumDarker),e.addColorStop(1,this.#F.dark),this.#t.beginPath(),this.#t.arc(this.#E,this.#x,y,0,2*Math.PI),this.#t.fillStyle=e,this.#t.fill(),this.#t.closePath()}#$(){if(!this.#t)return;const e=this.#t.createRadialGradient(this.#L+this.#M/3,this.offsetHeight-T-3.75,0,this.#L+this.#M/3,this.offsetHeight-T-3.75,this.#M/2);e.addColorStop(.3,this.#F.dark),e.addColorStop(1,this.#F.mediumDarker),this.#t.beginPath(),this.#t.rect(this.#L,this.offsetHeight-T,this.#M,T),this.#t.fillStyle=e,this.#t.fill(),this.#t.closePath()}#K(){if(this.#t)for(const e of this.#a.values())this.#t.beginPath(),this.#t.rect(e.x,e.y,e.width+.5,this.#I+.5),this.#t.fillStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-neutral-container",this),this.#t.fill(),this.#t.closePath()}#_(){if(this.#y!==devicePixelRatio&&(this.#T=!1),0===this.#D)return window.alert("GAME OVER"),void this.#g();if(0===this.#R)return void this.#j();this.#t.clearRect(0,0,this.#e.width,this.#e.height),this.#t.drawImage(this.#i,0,0),this.#t.save(),this.#t.scale(devicePixelRatio,devicePixelRatio),this.#s.save(),this.#s.scale(devicePixelRatio,devicePixelRatio),this.#K(),this.#X(),this.#$(),this.#Y();const e=`<div><b><span style='font-size: 1.3em; color: ${this.#F.dark}'>&#x2764;&#xfe0f; ${this.#D}</span></b></div>`,t=`<div><b><span style='font-size: 1.3em; color: ${this.#F.dark}'> 🧱 ${this.#R}</span></b></div>`;if(this.#r.innerHTML=e+t,this.#R=this.#o.size-this.#a.size,this.#G=(10+6*this.#a.size/this.#o.size)*this.#A,this.#M=150-65*this.#a.size/this.#o.size,(this.#E+this.#C>this.offsetWidth-y||this.#E+this.#C<y)&&(this.#C=-this.#C),this.#x+this.#S<y)this.#S=-this.#S;else if(this.#x+this.#S>this.offsetHeight-y&&this.#S>0)if(this.#E>this.#L-y&&this.#E<this.#L+this.#M+y){let e=Math.min(this.#E,this.#L+this.#M);e=Math.max(e,this.#L);const t=(e-this.#L)*this.#G*2/this.#M;this.#C=-this.#G+t,this.#S=-Math.sqrt(2*Math.pow(this.#G,2)-Math.pow(this.#C,2))}else this.#V(),this.#L=(this.offsetWidth-this.#M)/2,this.#D--;const i=Math.round(this.clientWidth/60);this.#k&&this.#L<this.offsetWidth-this.#M?this.#L+=i:this.#P&&this.#L>0&&(this.#L-=i),this.#E+=Math.round(this.#C),this.#x+=Math.round(this.#S),this.#t.restore(),this.#s.restore(),this.#T&&requestAnimationFrame(this.#_.bind(this))}#Y(){const e=this.timelineFlameChart.getCanvas().getBoundingClientRect(),t=this.#x+this.#b-e.top,i=this.timelineFlameChart.coordinatesToEntryIndex(this.#E,t+y),s=this.timelineFlameChart.coordinatesToEntryIndex(this.#E,t-y),r=this.timelineFlameChart.coordinatesToEntryIndex(this.#E+y,t),n=this.timelineFlameChart.coordinatesToEntryIndex(this.#E-y,t),o=y/Math.SQRT2,a=this.timelineFlameChart.coordinatesToEntryIndex(this.#E+o,t+o),l=this.timelineFlameChart.coordinatesToEntryIndex(this.#E-o,t+o),h=this.timelineFlameChart.coordinatesToEntryIndex(this.#E+o,t-o),d=this.timelineFlameChart.coordinatesToEntryIndex(this.#E-o,t-o),c=t=>{const i=this.timelineFlameChart.entryIndexToCoordinates(t);if(i){const s=Math.max(i.x-e.left,0);this.#a.set(t,{x:s-.5,y:i.y-this.#b-.5,width:this.timelineFlameChart.entryWidth(t)})}};if(i>-1&&!this.#a.has(i)&&this.#o.has(i))return this.#S=-this.#S,void c(i);if(s>-1&&!this.#a.has(s)&&this.#o.has(s))return this.#S=-this.#S,void c(s);if(r>-1&&!this.#a.has(r)&&this.#o.has(r))return this.#C=-this.#C,void c(r);if(n>-1&&!this.#a.has(n)&&this.#o.has(n))return this.#C=-this.#C,void c(n);const u=[a,l,h,d];for(const e of u)if(e>-1&&!this.#a.has(e)&&this.#o.has(e))return this.#C=-this.#C,this.#S=-this.#S,void c(e)}#Z(e,t){return Math.floor(Math.random()*(t-e)+e)}#j(){this.#W();let e=0;const t=this.offsetWidth/15,i=.7*this.offsetHeight/15,s=[],r=()=>40*Math.random()-20,n=()=>{for(let e=0;e<75;e++){const n=document.createElement("span");n.className="confetti-100",n.append(this.#q(e%15*t+r(),e%5*i+r())),s.push(window.setTimeout((()=>this.append(n)),100*Math.random())),s.push(window.setTimeout((()=>{n.remove()}),1e3))}++e<6?setTimeout(n,100*Math.random()+400):(window.alert(`${b(f.congrats)}\n${b(f.ps)}`),s.forEach((e=>clearTimeout(e))),this.#g())};n()}#q(e,t){const i=400,s=["💯","🎉","🎊"],r=document.createElement("span");return r.textContent=s[this.#Z(0,s.length)],r.className="confetti-100-particle",r.style.setProperty("--rotation",this.#Z(-1080,1080)+"deg"),r.style.setProperty("--to-X",this.#Z(-400,i)+"px"),r.style.setProperty("--to-Y",this.#Z(-400,i)+"px"),r.style.left=e+"px",r.style.top=t+"px",r}}customElements.define("brick-breaker",x);var C=Object.freeze({__proto__:null,BrickBreaker:x}),S={cssContent:".chart-viewport-v-scroll{position:absolute;top:0;right:0;bottom:0;overflow-x:hidden;z-index:200;padding-left:1px}.chart-viewport-v-scroll.always-show-scrollbar{overflow-y:scroll}:host-context(.platform-mac) .chart-viewport-v-scroll{right:2px;top:3px;bottom:3px}:host-context(.platform-mac) ::-webkit-scrollbar{width:8px}:host-context(.platform-mac) ::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-mac);border-radius:50px}:host-context(.platform-mac) .chart-viewport-v-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-mac-hover)}:host-context(.overlay-scrollbar-enabled) ::-webkit-scrollbar{width:10px}:host-context(.overlay-scrollbar-enabled) ::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-other)}:host-context(.overlay-scrollbar-enabled) .chart-viewport-v-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-other-hover)}.chart-viewport-selection-overlay{position:absolute;z-index:100;background-color:var(--sys-color-state-ripple-primary);border-color:var(--sys-color-primary);border-width:0 1px;border-style:solid;pointer-events:none;top:0;bottom:0;text-align:center}.chart-viewport-selection-overlay .time-span{white-space:nowrap;position:absolute;left:0;right:0;bottom:0}\n/*# sourceURL=chartViewport.css */\n"};let L=null;function k(){if(L)return L;const e=getComputedStyle(document.body);return L=e.fontFamily?e.fontFamily:l.Platform.fontFamily(),L}const P="11px";var I=Object.freeze({__proto__:null,getFontFamilyForCanvas:k,DEFAULT_FONT_SIZE:P});const D=8,R=2,M=4,H=12,O="8px";function B(e,t,i){e.moveTo(0,i),e.lineTo(t,i)}function A(e,t,s,r,n,o="--sys-color-on-surface"){const a=new Path2D(n);e.save(),e.translate(t,s),e.fillStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-cdt-base-container"),e.fillRect(0,0,r,r),e.fillStyle=i.ThemeSupport.instance().getComputedValue(o);const l=r/20;e.scale(l,l),e.fill(a),e.restore()}function G(e,t,s,r,n){e.save(),e.beginPath(),e.fillStyle=r,function(e,t,i,s,r,n){e.save();const o=i+r,a=t+s,l=.25*n;e.beginPath(),e.moveTo(t+n,i),e.lineTo(a-n,i),e.bezierCurveTo(a-l,i,a,i+l,a,i+n),e.lineTo(a,o-n),e.bezierCurveTo(a,o-l,a-l,o,a-n,o),e.lineTo(t+n,o),e.bezierCurveTo(t+l,o,t,o-l,t,o-n),e.lineTo(t,i+n),e.bezierCurveTo(t,i+l,t+l,i,t+n,i),e.closePath(),e.restore()}(e,t,s,D,D,R),e.fill(),e.textBaseline="top",e.fillStyle=i.ThemeSupport.instance().getComputedValue("--color-text-primary"),e.font=`${O} ${k()}`,e.fillText(n,t+D+M,s);const o=e.measureText(n).width,a=t+D+M+o;return e.restore(),a+H}var F={cssContent:'.flame-chart-main-pane{overflow:hidden;--selected-group-background:hsl(215deg 85% 98%);--selected-group-border:hsl(216deg 68% 54%)}:host-context(.theme-with-dark-background) .flame-chart-main-pane{--selected-group-background:hsl(215deg 85% 15%);--selected-group-border:hsl(216deg 68% 46%)}.flame-chart-marker-highlight-element{position:absolute;top:1px;height:18px;width:6px;margin:0 -3px;content:"";display:block}.flame-chart-canvas:focus-visible{border-top:1px solid var(--sys-color-state-focus-ring);border-bottom:1px solid var(--sys-color-state-focus-ring)}.flame-chart-highlight-element{position:absolute;pointer-events:none;background-color:var(--sys-color-state-hover-on-subtle)}.reveal-descendants-arrow-highlight-element{position:absolute;pointer-events:none;background-color:var(--sys-color-state-hover-on-subtle)}.flame-chart-selected-element{position:absolute;pointer-events:none;outline:2px solid var(--sys-color-primary);background-color:var(--sys-color-state-ripple-primary)}.flame-chart-search-element{position:absolute;pointer-events:none;outline:1px solid var(--sys-color-on-surface-subtle);background-color:var(--sys-color-state-ripple-neutral-on-subtle)}.chart-cursor-element{position:absolute;top:0;bottom:0;z-index:100;width:2px;background-color:var(--sys-color-primary);pointer-events:none;&.using-new-overlays{background-color:var(--ref-palette-pink50)}}.flame-chart-entry-info:not(:empty){z-index:2000;position:absolute;contain:content;background-color:var(--sys-color-cdt-base-container);pointer-events:none;padding:4px 8px;white-space:nowrap;max-width:80%;box-shadow:var(--drop-shadow)}.flame-chart-entry-info table tr td:empty{padding:0}.flame-chart-entry-info table tr td:not(:empty){padding:0 5px;white-space:nowrap}.flame-chart-entry-info table tr td:first-child{font-weight:bold}.flame-chart-entry-info table tr td span{margin-right:5px}.flame-chart-edit-confirm{position:fixed;bottom:10px;right:10px}\n/*# sourceURL=flameChart.css */\n'},z={cssContent:".resources-dividers{position:absolute;left:0;right:0;top:0;z-index:-100;bottom:0}.resources-event-dividers{position:absolute;left:0;right:0;height:100%;top:0;z-index:300;pointer-events:none}.resources-dividers-label-bar{position:absolute;top:0;left:0;right:0;background-clip:padding-box;height:20px;z-index:200;pointer-events:none;overflow:hidden}.resources-divider{position:absolute;width:1px;top:0;bottom:0;background-color:var(--sys-color-divider)}.resources-event-divider{position:absolute;width:1px;top:0;bottom:0;z-index:300}.resources-divider-label{position:absolute;top:4px;right:3px;font-size:80%;white-space:nowrap;pointer-events:none}.timeline-grid-header{height:20px;pointer-events:none}\n/*# sourceURL=timelineGrid.css */\n"};const W=new Map;class N{element;dividersElementInternal;gridHeaderElement;eventDividersElement;dividersLabelBarElementInternal;constructor(){this.element=document.createElement("div"),i.ThemeSupport.instance().appendStyle(this.element,z),this.dividersElementInternal=this.element.createChild("div","resources-dividers"),this.gridHeaderElement=document.createElement("div"),this.gridHeaderElement.classList.add("timeline-grid-header"),this.eventDividersElement=this.gridHeaderElement.createChild("div","resources-event-dividers"),this.dividersLabelBarElementInternal=this.gridHeaderElement.createChild("div","resources-dividers-label-bar"),this.element.appendChild(this.gridHeaderElement)}static calculateGridOffsets(e,t){const i=e.computePosition(e.maximumBoundary());let s=i/64,r=e.boundarySpan()/s;const n=i/e.boundarySpan(),o=Math.ceil(Math.log(r)/Math.LN10);r=Math.pow(10,o),r*n>=320&&(r/=5),r*n>=128&&(r/=2);const a=Math.ceil((e.minimumBoundary()-e.zeroTime())/r)*r+e.zeroTime();let l=e.maximumBoundary();l+=64/n,s=Math.ceil((l-a)/r),r||(s=0);const h=[];for(let i=0;i<s;++i){const s=a+100*r*i/100,n=e.computePosition(s);n<(t||0)||h.push({position:Math.floor(n),time:s})}return{offsets:h,precision:Math.max(0,-Math.floor(Math.log(1.01*r)/Math.LN10))}}static drawCanvasGrid(e,t){e.save(),e.scale(window.devicePixelRatio,window.devicePixelRatio);const i=Math.floor(e.canvas.height/window.devicePixelRatio);e.strokeStyle=getComputedStyle(document.body).getPropertyValue("--app-color-strokestyle"),e.lineWidth=1,e.translate(.5,.5),e.beginPath();for(const s of t.offsets)e.moveTo(s.position,0),e.lineTo(s.position,i);e.stroke(),e.restore()}static drawCanvasHeaders(e,t,s,r,n,o){e.save(),e.scale(window.devicePixelRatio,window.devicePixelRatio);const a=Math.ceil(e.canvas.width/window.devicePixelRatio);e.beginPath(),e.fillStyle=i.ThemeSupport.instance().getComputedValue("--color-background-opacity-50"),e.fillRect(0,0,a,n),e.fillStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-on-surface"),e.textBaseline="hanging",e.font=`${P} ${k()}`;for(const i of t.offsets){const t=s(i.time),n=e.measureText(t).width,a=i.position-n-4;(!o||o<a)&&e.fillText(t,a,r)}e.restore()}get dividersElement(){return this.dividersElementInternal}get dividersLabelBarElement(){return this.dividersLabelBarElementInternal}removeDividers(){this.dividersElementInternal.removeChildren(),this.dividersLabelBarElementInternal.removeChildren()}updateDividers(e,t){const i=N.calculateGridOffsets(e,t),s=i.offsets,r=i.precision,n=this.dividersElementInternal.clientWidth;let o=this.dividersElementInternal.firstChild,a=this.dividersLabelBarElementInternal.firstChild;for(let t=0;t<s.length;++t){if(!o){o=document.createElement("div"),o.className="resources-divider",this.dividersElementInternal.appendChild(o),a=document.createElement("div"),a.className="resources-divider";const e=document.createElement("div");e.className="resources-divider-label",W.set(a,e),a.appendChild(e),this.dividersLabelBarElementInternal.appendChild(a)}const i=s[t].time,l=s[t].position;if(a){const t=W.get(a);t&&(t.textContent=e.formatValue(i,r))}const h=100*l/n;o.style.left=h+"%",a&&(a.style.left=h+"%"),o=o.nextSibling,a&&(a=a.nextSibling)}for(;o;){const e=o.nextSibling;if(this.dividersElementInternal.removeChild(o),!e)break;o=e}for(;a;){const e=a.nextSibling;if(this.dividersLabelBarElementInternal.removeChild(a),!e)break;a=e}return!0}addEventDivider(e){this.eventDividersElement.appendChild(e)}addEventDividers(e){this.gridHeaderElement.removeChild(this.eventDividersElement);for(const t of e)this.eventDividersElement.appendChild(t);this.gridHeaderElement.appendChild(this.eventDividersElement)}removeEventDividers(){this.eventDividersElement.removeChildren()}hideEventDividers(){this.eventDividersElement.classList.add("hidden")}showEventDividers(){this.eventDividersElement.classList.remove("hidden")}hideDividers(){this.dividersElementInternal.classList.add("hidden")}showDividers(){this.dividersElementInternal.classList.remove("hidden")}setScrollTop(e){this.dividersLabelBarElementInternal.style.top=e+"px",this.eventDividersElement.style.top=e+"px"}}var U=Object.freeze({__proto__:null,TimelineGrid:N});const _={flameChart:"Flame Chart",sHovered:"{PH1} hovered",sSelected:"{PH1} selected",sExpanded:"{PH1} expanded",sCollapsed:"{PH1} collapsed",hideFunction:"Hide function",hideChildren:"Hide children",hideRepeatingChildren:"Hide repeating children",removeScriptFromIgnoreList:"Remove script from ignore list",addScriptToIgnoreList:"Add script to ignore list",resetChildren:"Reset children",resetTrace:"Reset trace",labelEntry:"Label entry",linkEntries:"Link entries",enterTrackConfigurationMode:"Configure tracks…",exitTrackConfigurationMode:"Finish configuring tracks"},V=e.i18n.registerUIStrings("ui/legacy/components/perf_ui/FlameChart.ts",_),X=e.i18n.getLocalizedString.bind(void 0,V),$=8,K=6+$/2,j=16;class Y extends(s.ObjectWrapper.eventMixin(a.Widget.VBox)){groupExpansionSetting;groupExpansionState;groupHiddenState;flameChartDelegate;chartViewport;dataProvider;candyStripePattern;contextMenu;viewportElement;canvas;popoverElement;markerHighlighElement;highlightElement;revealDescendantsArrowHighlightElement;selectedElement=null;rulerEnabled;barHeight;hitMarginPx;textBaseline;textPadding;highlightedMarkerIndex;highlightedEntryIndex;selectedEntryIndex;rawTimelineDataLength;markerPositions;lastMouseOffsetX;selectedGroupIndex;keyboardFocusedGroup;offsetWidth;offsetHeight;dragStartX;dragStartY;lastMouseOffsetY;minimumBoundaryInternal;maxDragOffset;timelineLevels;visibleLevelOffsets;visibleLevels;visibleLevelHeights;groupOffsets;rawTimelineData;forceDecorationCache;entryColorsCache;totalTime;lastPopoverState;#Q=0;#J;#ee;#te;#ie=[];#se=!1;#re=null;#ne=null;#oe=!0;constructor(e,t,s={}){super(!0),this.#J=`${P} ${k()}`,this.registerRequiredCSS(F),this.contentElement.classList.add("flame-chart-main-pane"),"boolean"==typeof s.selectedElementOutline&&(this.#oe=s.selectedElementOutline),this.groupExpansionSetting=s.groupExpansionSetting,this.groupExpansionState=s.groupExpansionSetting?.get()||{},this.groupHiddenState={},this.flameChartDelegate=t;let r=!0;"boolean"==typeof s.useOverlaysForCursorRuler&&(r=!s.useOverlaysForCursorRuler),this.chartViewport=new ie(this,{enableCursorElement:r}),this.chartViewport.show(this.contentElement),this.dataProvider=e,this.viewportElement=this.chartViewport.viewportElement,this.canvas=this.viewportElement.createChild("canvas","fill"),this.candyStripePattern=null,this.canvas.tabIndex=0,a.ARIAUtils.setLabel(this.canvas,X(_.flameChart)),a.ARIAUtils.markAsTree(this.canvas),this.setDefaultFocusedElement(this.canvas),this.canvas.classList.add("flame-chart-canvas"),this.canvas.addEventListener("mousemove",this.onMouseMove.bind(this),!1),this.canvas.addEventListener("mouseout",this.onMouseOut.bind(this),!1),this.canvas.addEventListener("click",this.onClick.bind(this),!1),this.canvas.addEventListener("keydown",this.onKeyDown.bind(this),!1),this.canvas.addEventListener("contextmenu",this.onContextMenu.bind(this),!1),this.popoverElement=s.tooltipElement||this.viewportElement.createChild("div","flame-chart-entry-info"),this.markerHighlighElement=this.viewportElement.createChild("div","flame-chart-marker-highlight-element"),this.highlightElement=this.viewportElement.createChild("div","flame-chart-highlight-element"),this.revealDescendantsArrowHighlightElement=this.viewportElement.createChild("div","reveal-descendants-arrow-highlight-element"),this.#oe&&(this.selectedElement=this.viewportElement.createChild("div","flame-chart-selected-element")),this.canvas.addEventListener("focus",(()=>{this.dispatchEventToListeners("CanvasFocused")}),!1),a.UIUtils.installDragHandle(this.viewportElement,this.startDragging.bind(this),this.dragging.bind(this),this.endDragging.bind(this),null),this.rulerEnabled=!0,this.barHeight=17,this.hitMarginPx=3,this.textBaseline=5,this.textPadding=5,this.chartViewport.setWindowTimes(e.minimumBoundary(),e.minimumBoundary()+e.totalTime()),this.highlightedMarkerIndex=-1,this.highlightedEntryIndex=-1,this.selectedEntryIndex=-1,this.#te=-1,this.rawTimelineDataLength=0,this.markerPositions=new Map,this.lastMouseOffsetX=0,this.selectedGroupIndex=-1,this.lastPopoverState={entryIndex:-1,groupIndex:-1,hiddenEntriesPopover:!1},this.keyboardFocusedGroup=-1,i.ThemeSupport.instance().addEventListener(i.ThemeChangeEvent.eventName,(()=>{this.scheduleUpdate()}))}willHide(){this.hideHighlight()}canvasBoundingClientRect(){return this.#ne||(this.#ne=this.canvas.getBoundingClientRect()),this.#ne}setTooltipYPixelAdjustment(e){e!==this.#Q&&(this.#Q=e,this.popoverElement.children.length&&this.updatePopoverOffset())}getBarHeight(){return this.barHeight}setBarHeight(e){this.barHeight=e}setTextBaseline(e){this.textBaseline=e}setTextPadding(e){this.textPadding=e}enableRuler(e){this.rulerEnabled=e}alwaysShowVerticalScroll(){this.chartViewport.alwaysShowVerticalScroll()}disableRangeSelection(){this.chartViewport.disableRangeSelection()}highlightEntry(e){this.highlightedEntryIndex!==e&&this.dataProvider.entryColor(e)&&(this.highlightedEntryIndex=e,this.updateElementPosition(this.highlightElement,this.highlightedEntryIndex),this.dispatchEventToListeners("EntryHovered",e),this.#re&&this.dispatchEventToListeners("EntriesLinkAnnotationChanged",{entryFromIndex:this.#re,entryToIndex:this.highlightedEntryIndex}))}highlightAllEntries(e){for(const t of e){const e=this.viewportElement.createChild("div","flame-chart-search-element");this.#ie.push(e),e.id=t.toString(),this.updateElementPosition(e,t)}}removeSearchResultHighlights(){for(const e of this.#ie)e.remove();this.#ie=[]}hideHighlight(){-1===this.#te&&(this.popoverElement.removeChildren(),this.lastPopoverState={entryIndex:-1,groupIndex:-1,hiddenEntriesPopover:!1}),-1!==this.highlightedEntryIndex&&(this.highlightedEntryIndex=-1,this.updateElementPosition(this.highlightElement,this.highlightedEntryIndex),this.dispatchEventToListeners("EntryHovered",-1),this.#re&&this.dispatchEventToListeners("EntriesLinkAnnotationChanged",{entryFromIndex:this.#re}))}createCandyStripePattern(){const e=17,t=document.createElement("canvas");t.width=e,t.height=e;const i=t.getContext("2d");i.translate(8.5,8.5),i.rotate(.25*Math.PI),i.translate(-8.5,-8.5),i.fillStyle="rgba(255, 0, 0, 0.8)";for(let e=-17;e<34;e+=3)i.fillRect(e,-17,1,51);return i.createPattern(t,"repeat")}resetCanvas(){const e=window.devicePixelRatio,t=Math.round(this.offsetWidth*e),i=Math.round(this.offsetHeight*e);this.canvas.width=t,this.canvas.height=i,this.canvas.style.width=t/e+"px",this.canvas.style.height=i/e+"px"}windowChanged(e,t,i){this.flameChartDelegate.windowChanged(e,t,i)}updateRangeSelection(e,t){this.flameChartDelegate.updateRangeSelection(e,t)}setSize(e,t){this.offsetWidth=e,this.offsetHeight=t}startDragging(e){return this.hideHighlight(),this.maxDragOffset=0,this.dragStartX=e.pageX,this.dragStartY=e.pageY,!0}dragging(e){const t=e.pageX-this.dragStartX,i=e.pageY-this.dragStartY;this.maxDragOffset=Math.max(this.maxDragOffset,Math.sqrt(t*t+i*i))}endDragging(e){this.updateHighlight()}timelineData(e){if(!this.dataProvider)return null;const t=this.dataProvider.timelineData(e);return(t!==this.rawTimelineData||t&&t.entryStartTimes.length!==this.rawTimelineDataLength)&&this.processTimelineData(t),this.rawTimelineData||null}revealEntry(e){const t=this.timelineData();if(!t)return;const i=this.chartViewport.windowLeftTime(),s=this.chartViewport.windowRightTime(),r=t.entryStartTimes[e],n=t.entryTotalTimes[e],o=r+n;let a=Math.min(n,s-i);const l=t.entryLevels[e];this.chartViewport.setScrollOffset(this.levelToOffset(l),this.levelHeight(l));const h=(s-i)/this.offsetWidth;if(a=Math.max(a,30*h),i>o){const e=i-o+a;this.windowChanged(i-e,s-e,!0)}else if(s<r){const e=r-s+a;this.windowChanged(i+e,s+e,!0)}}setWindowTimes(e,t,i){this.chartViewport.setWindowTimes(e,t,i),this.updateHighlight()}onMouseMove(e){this.#te=-1;const t=e;if(this.lastMouseOffsetX=t.offsetX,this.lastMouseOffsetY=t.offsetY,!this.enabled())return;if(this.chartViewport.isDragging())return;const i=d.Types.Timing.MilliSeconds(this.chartViewport.pixelToTime(t.offsetX));this.dispatchEventToListeners("MouseMove",{mouseEvent:t,timeInMicroSeconds:d.Helpers.Timing.millisecondsToMicroseconds(i)});const{groupIndex:s,hoverType:r}=this.coordinatesToGroupIndexAndHoverType(t.offsetX,t.offsetY);switch(r){case"TRACK_CONFIG_UP_BUTTON":case"TRACK_CONFIG_DOWN_BUTTON":case"TRACK_CONFIG_HIDE_BUTTON":case"TRACK_CONFIG_SHOW_BUTTON":{this.hideHighlight(),this.viewportElement.style.cursor="pointer";const e=this.#ae(s,r);return void(e&&(this.popoverElement.appendChild(e),this.updatePopoverOffset()))}case"INSIDE_TRACK_HEADER":return this.updateHighlight(),void(this.viewportElement.style.cursor="pointer");case"INSIDE_TRACK":return void this.updateHighlight()}}#ae(e,t){const i=this.rawTimelineData?.groups[e];if(!i)return null;const s=r.StringUtilities.trimMiddle(i.name,20);let n="";switch(t){case"TRACK_CONFIG_UP_BUTTON":n=`Move ${s} track up`;break;case"TRACK_CONFIG_DOWN_BUTTON":n=`Move ${s} track down`;break;case"TRACK_CONFIG_HIDE_BUTTON":n=this.groupIsLastVisibleTopLevel(i)?"Can not hide the last top level track":`Hide ${s} track`;break;case"TRACK_CONFIG_SHOW_BUTTON":n=`Show ${s} track`;break;default:return null}const o=document.createElement("div");return o.createChild("span","timeline-info-title").textContent=n,o}updateHighlight(){const e=this.coordinatesToEntryIndex(this.lastMouseOffsetX,this.lastMouseOffsetY);if(this.updateHiddenChildrenArrowHighlighPosition(e),-1===e){this.hideHighlight();const{groupIndex:e,hoverType:t}=this.coordinatesToGroupIndexAndHoverType(this.lastMouseOffsetX,this.lastMouseOffsetY);return"INSIDE_TRACK_HEADER"===t&&this.#le(e),void(e>=0&&this.rawTimelineData&&this.rawTimelineData.groups&&this.rawTimelineData.groups[e].selectable?this.viewportElement.style.cursor="pointer":this.viewportElement.style.cursor="default")}this.chartViewport.isDragging()||(this.#he(e),this.viewportElement.style.cursor=this.dataProvider.canJumpToEntry(e)?"pointer":"default",this.highlightEntry(e))}onMouseOut(){this.lastMouseOffsetX=-1,this.lastMouseOffsetY=-1,this.hideHighlight()}showPopoverForSearchResult(e){this.#te=e,this.#he(e)}#he(e){const t=this.isMouseOverRevealChildrenArrow(this.lastMouseOffsetX,e);if(e===this.lastPopoverState.entryIndex&&t===this.lastPopoverState.hiddenEntriesPopover)return this.updatePopoverOffset();this.popoverElement.removeChildren();const i=this.timelineData();if(!i)return;const s=i.groups.at(this.selectedGroupIndex),r=t&&s?this.dataProvider.prepareHighlightedHiddenEntriesArrowInfo&&this.dataProvider.prepareHighlightedHiddenEntriesArrowInfo(e):this.dataProvider.prepareHighlightedEntryInfo(e);r&&(this.popoverElement.appendChild(r),this.updatePopoverOffset()),this.lastPopoverState={entryIndex:e,groupIndex:-1,hiddenEntriesPopover:t}}#le(e){if(e===this.lastPopoverState.groupIndex)return this.updatePopoverOffset();this.popoverElement.removeChildren();const t=this.timelineData();if(!t)return;const i=t.groups.at(e);i?.description&&(this.popoverElement.innerText=i?.description,this.updatePopoverOffset()),this.lastPopoverState={groupIndex:e,entryIndex:-1,hiddenEntriesPopover:!1}}updatePopoverOffset(){let e=this.lastMouseOffsetX,t=this.lastMouseOffsetY;if(-1!==this.#te){const i=this.entryIndexToCoordinates(this.selectedEntryIndex),{x:s,y:r}=this.canvas.getBoundingClientRect();e=i?.x?i.x-s:e,t=i?.y?i.y-r:t}const i=this.popoverElement.parentElement?this.popoverElement.parentElement.clientWidth:0,s=this.popoverElement.parentElement?this.popoverElement.parentElement.clientHeight:0,n=this.popoverElement.clientWidth,o=this.popoverElement.clientHeight;let a,l;for(let h=0;h<4;++h){const d=2&h?-10-n:10,c=1&h?-6-o:6;if(a=r.NumberUtilities.clamp(e+d,0,i-n),l=r.NumberUtilities.clamp(t+c,0,s-o),a>=e||e>=a+n||l>=t||t>=l+o)break}this.popoverElement.style.left=a+"px",this.popoverElement.style.top=(l||0)+this.#Q+"px"}onClick(e){const t=e;this.focus();if(this.maxDragOffset>5)return;const{groupIndex:i,hoverType:s}=this.coordinatesToGroupIndexAndHoverType(t.offsetX,t.offsetY);if(i>=0)switch(s){case"TRACK_CONFIG_UP_BUTTON":return void this.moveGroupUp(i);case"TRACK_CONFIG_DOWN_BUTTON":return void this.moveGroupDown(i);case"TRACK_CONFIG_HIDE_BUTTON":if(this.groupIsLastVisibleTopLevel(this.rawTimelineData?.groups[i]))return;return void this.hideGroup(i);case"TRACK_CONFIG_SHOW_BUTTON":return void this.showGroup(i);case"INSIDE_TRACK_HEADER":return this.#de(i),void this.toggleGroupExpand(i);case"INSIDE_TRACK":{this.#de(i);const e=this.timelineData(),s=l.Platform.isMac()?t.metaKey:t.ctrlKey;if(t.shiftKey&&-1!==this.highlightedEntryIndex&&e){const t=e.entryStartTimes[this.highlightedEntryIndex],i=t+e.entryTotalTimes[this.highlightedEntryIndex];this.chartViewport.setRangeSelection(t,i)}else s&&-1!==this.highlightedEntryIndex&&e?this.dispatchEventToListeners("EntryLabelAnnotationAdded",this.highlightedEntryIndex):(this.chartViewport.onClick(t),this.dispatchEventToListeners("EntryInvoked",this.highlightedEntryIndex),this.#re=null);return}}}#de(e){if(e<0||this.selectedGroupIndex===e)return;if(!this.rawTimelineData)return;const t=this.rawTimelineData.groups;if(!t)return;this.keyboardFocusedGroup=e,this.scrollGroupIntoView(e);const i=t[e].name;t[e].selectable?(this.selectedGroupIndex=e,this.flameChartDelegate.updateSelectedGroup(this,t[e]),this.draw(),a.ARIAUtils.alert(X(_.sSelected,{PH1:i}))):(this.deselectAllGroups(),a.ARIAUtils.alert(X(_.sHovered,{PH1:i})))}deselectAllGroups(){this.selectedGroupIndex=-1,this.flameChartDelegate.updateSelectedGroup(this,null),this.draw()}deselectAllEntries(){this.selectedEntryIndex=-1,this.rawTimelineData?.resetFlowData(),this.draw()}isGroupFocused(e){return e===this.selectedGroupIndex||e===this.keyboardFocusedGroup}scrollGroupIntoView(e){if(e<0)return;if(!this.rawTimelineData)return;const t=this.rawTimelineData.groups,i=this.groupOffsets;if(!i||!t)return;const s=i[e];let r=i[e+1];e===t.length-1&&(r+=t[e].style.padding);const n=0===e?0:s,o=Math.min(r-n,this.chartViewport.chartHeight());this.chartViewport.setScrollOffset(n,o)}toggleGroupExpand(e){e<0||!this.isGroupCollapsible(e)||this.rawTimelineData&&this.rawTimelineData.groups&&this.expandGroup(e,!this.rawTimelineData.groups[e].expanded)}expandGroup(e,t=!0,i=!1){if(e<0||!this.isGroupCollapsible(e))return;if(!this.rawTimelineData)return;const s=this.rawTimelineData.groups;if(!s)return;const r=s[e];if(r.expanded=t,this.groupExpansionState[r.name]=r.expanded,this.groupExpansionSetting&&this.groupExpansionSetting.set(this.groupExpansionState),this.updateLevelPositions(),this.updateHighlight(),!r.expanded){const t=this.timelineData();if(t){const i=t.entryLevels[this.selectedEntryIndex];this.selectedEntryIndex>=0&&i>=r.startLevel&&(e>=s.length-1||s[e+1].startLevel>i)&&(this.selectedEntryIndex=-1,this.rawTimelineData.resetFlowData())}}if(this.updateHeight(),this.draw(),this.scrollGroupIntoView(e),!i){const t=s[e].name,i=r.expanded?X(_.sExpanded,{PH1:t}):X(_.sCollapsed,{PH1:t});a.ARIAUtils.alert(i)}}moveGroupUp(e){if(!(e<0)&&this.rawTimelineData&&this.rawTimelineData.groups&&this.#ee){for(let t=0;t<this.#ee.children.length;t++){const i=this.#ee.children[t];if(i.index===e&&t>=1){this.#ee.children[t]=this.#ee.children[t-1],this.#ee.children[t-1]=i;break}}this.updateLevelPositions(),this.updateHighlight(),this.updateHeight(),this.draw()}}moveGroupDown(e){if(!(e<0)&&this.rawTimelineData&&this.rawTimelineData.groups&&this.#ee){for(let t=0;t<this.#ee.children.length;t++){const i=this.#ee.children[t];if(i.index===e&&t<=this.#ee.children.length-2){this.#ee.children[t]=this.#ee.children[t+1],this.#ee.children[t+1]=i;break}}this.updateLevelPositions(),this.updateHighlight(),this.updateHeight(),this.draw()}}hideGroup(e){this.#ce(e,!0)}showGroup(e){this.#ce(e,!1)}#ce(e,t){if(e<0)return;if(!this.rawTimelineData||!this.rawTimelineData.groups)return;const i=this.rawTimelineData.groups;if(!i)return;const s=i[e];s.hidden=t,this.groupHiddenState[s.name]=s.hidden,this.updateLevelPositions(),this.updateHighlight(),this.updateHeight(),this.draw()}modifyTree(e,t){this.timelineData()&&(this.dataProvider.modifyTree?.(t,e),this.dataProvider.timelineData(!0),this.dataProvider.buildFlowForInitiator?.(t),this.update())}getPossibleActions(){const e=this.timelineData();if(!e)return;const t=e.groups.at(this.selectedGroupIndex);return t&&t.expanded&&t.showStackContextMenu?this.dataProvider.findPossibleContextMenuActions?.(this.selectedEntryIndex):void 0}#ue(e){if(this.#se)return;this.contextMenu=new a.ContextMenu.ContextMenu(e,{useSoftMenu:!0});const t=X(_.enterTrackConfigurationMode);this.contextMenu.defaultSection().appendItem(t,(()=>{this.#me()}),{jslogContext:"track-configuration-enter"}),this.contextMenu.show()}#pe(e){if(!1===this.#se)return;this.contextMenu=new a.ContextMenu.ContextMenu(e,{useSoftMenu:!0});const t=X(_.exitTrackConfigurationMode);this.contextMenu.defaultSection().appendItem(t,(()=>{this.#ge()}),{jslogContext:"track-configuration-exit"}),this.contextMenu.show()}#ve(){return Boolean(this.dataProvider.hasTrackConfigurationMode&&this.dataProvider.hasTrackConfigurationMode())}onContextMenu(e){const{groupIndex:t,hoverType:i}=this.coordinatesToGroupIndexAndHoverType(e.offsetX,e.offsetY);if(this.#se)return void this.#pe(e);if("INSIDE_TRACK_HEADER"===i&&this.#ve()&&this.#ue(e),-1===this.highlightedEntryIndex)return;if(this.dispatchEventToListeners("EntryInvoked",this.highlightedEntryIndex),this.setSelectedEntry(this.highlightedEntryIndex),this.#de(t),this.dataProvider.customizedContextMenu&&(this.contextMenu=this.dataProvider.customizedContextMenu(e,this.highlightedEntryIndex),this.contextMenu))return void this.contextMenu.show();if(!this.dataProvider.modifyTree)return;const s=this.getPossibleActions();if(!s)return;this.contextMenu=new a.ContextMenu.ContextMenu(e,{useSoftMenu:!0});this.contextMenu.defaultSection().appendItem(X(_.hideFunction),(()=>{this.modifyTree("MERGE_FUNCTION",this.selectedEntryIndex)}),{disabled:!s?.MERGE_FUNCTION,jslogContext:"hide-function"}).setShortcut("H");this.contextMenu.defaultSection().appendItem(X(_.hideChildren),(()=>{this.modifyTree("COLLAPSE_FUNCTION",this.selectedEntryIndex)}),{disabled:!s?.COLLAPSE_FUNCTION,jslogContext:"hide-children"}).setShortcut("C");this.contextMenu.defaultSection().appendItem(X(_.hideRepeatingChildren),(()=>{this.modifyTree("COLLAPSE_REPEATING_DESCENDANTS",this.selectedEntryIndex)}),{disabled:!s?.COLLAPSE_REPEATING_DESCENDANTS,jslogContext:"hide-repeating-children"}).setShortcut("R");if(this.contextMenu.defaultSection().appendItem(X(_.resetChildren),(()=>{this.modifyTree("RESET_CHILDREN",this.selectedEntryIndex)}),{disabled:!s?.RESET_CHILDREN,jslogContext:"reset-children"}).setShortcut("U"),this.contextMenu.defaultSection().appendItem(X(_.resetTrace),(()=>{this.modifyTree("UNDO_ALL_ACTIONS",this.selectedEntryIndex)}),{disabled:!s?.UNDO_ALL_ACTIONS,jslogContext:"reset-trace"}),n.Runtime.experiments.isEnabled("perf-panel-annotations")){const e=this.contextMenu.section("annotations");e.appendItem(X(_.labelEntry),(()=>{this.dispatchEventToListeners("EntryLabelAnnotationAdded",this.selectedEntryIndex)})).setShortcut("Cmd + Click");e.appendItem(X(_.linkEntries),(()=>{this.#re=this.selectedEntryIndex,this.dispatchEventToListeners("EntriesLinkAnnotationChanged",{entryFromIndex:this.selectedEntryIndex})})).setShortcut("Cmd + Click")}const r=this.dataProvider.eventByIndex?.(this.selectedEntryIndex);if(r&&r instanceof d.Handlers.ModelHandlers.Frames.TimelineFrame==!1){const e=d.Types.TraceEvents.isProfileCall(r)?r.callFrame.url:void 0;e&&(h.IgnoreListManager.IgnoreListManager.instance().isUserIgnoreListedURL(e)?this.contextMenu.defaultSection().appendItem(X(_.removeScriptFromIgnoreList),(()=>{h.IgnoreListManager.IgnoreListManager.instance().unIgnoreListURL(e)}),{jslogContext:"remove-from-ignore-list"}):this.contextMenu.defaultSection().appendItem(X(_.addScriptToIgnoreList),(()=>{h.IgnoreListManager.IgnoreListManager.instance().ignoreListURL(e)}),{jslogContext:"add-to-ignore-list"}))}this.contextMenu.show()}handleFlameChartTransformEvent(e){if(-1===this.selectedEntryIndex)return;const t=this.getPossibleActions();if(!t)return;const i=e;let s=!1;"KeyH"===i.code&&t.MERGE_FUNCTION?(this.modifyTree("MERGE_FUNCTION",this.selectedEntryIndex),s=!0):"KeyC"===i.code&&t.COLLAPSE_FUNCTION?(this.modifyTree("COLLAPSE_FUNCTION",this.selectedEntryIndex),s=!0):"KeyR"===i.code&&t.COLLAPSE_REPEATING_DESCENDANTS?(this.modifyTree("COLLAPSE_REPEATING_DESCENDANTS",this.selectedEntryIndex),s=!0):"KeyU"===i.code&&(this.modifyTree("RESET_CHILDREN",this.selectedEntryIndex),s=!0),s&&i.consume(!0)}onKeyDown(e){if(!a.KeyboardShortcut.KeyboardShortcut.hasNoModifiers(e)||!this.timelineData())return;let t=this.handleSelectionNavigation(e);!t&&this.rawTimelineData&&this.rawTimelineData.groups&&(t=this.handleKeyboardGroupNavigation(e)),t||this.handleFlameChartTransformEvent(e)}bindCanvasEvent(e,t){this.canvas.addEventListener(e,t)}drawTrackOnCanvas(e,t,i){const s=this.timelineData();if(!s)return null;const r=this.offsetWidth,n=this.offsetHeight;t.save();const o=window.devicePixelRatio;t.scale(o,o),t.fillStyle="rgba(0, 0, 0, 0)",t.fillRect(0,0,r,n),t.font=this.#J;const a=this.rawTimelineData?.groups||[],l=this.groupOffsets;if(!a.length||!l)return null;const h=a.findIndex((t=>t.name.includes(e)));if(h<0)return null;this.scrollGroupIntoView(h);const d=a[h].startLevel,c=a[h+1].startLevel,u=l[h],m=l[h+1],{colorBuckets:p,titleIndices:g}=this.getDrawableData(t,s),v=e=>{const t=Math.min(this.#fe(s,e),r);return s.entryLevels[e]>=d&&s.entryLevels[e]<c&&t>i};let f=[];for(const[e,{indexes:i}]of p){const r=i.filter(v);f=[...f,...r],this.#we(t,s,e,r)}const w=g.filter(v);return this.drawEventTitles(t,s,w,r),t.restore(),{top:l[h],height:m-u,visibleEntries:new Set(f)}}handleKeyboardGroupNavigation(e){const t=e;let i=!1,s=!1;return"ArrowUp"===t.code?i=this.selectPreviousGroup():"ArrowDown"===t.code?i=this.selectNextGroup():"ArrowLeft"===t.code?this.keyboardFocusedGroup>=0&&(this.expandGroup(this.keyboardFocusedGroup,!1),i=!0):"ArrowRight"===t.code?this.keyboardFocusedGroup>=0&&(this.expandGroup(this.keyboardFocusedGroup,!0),this.selectFirstChild(),i=!0):"Enter"===t.key&&(s=this.selectFirstEntryInCurrentGroup(),i=s),i&&!s&&this.deselectAllEntries(),i&&t.consume(!0),i}selectFirstEntryInCurrentGroup(){if(!this.rawTimelineData)return!1;const e=this.rawTimelineData.groups;if(this.keyboardFocusedGroup<0||!e)return!1;const t=e[this.keyboardFocusedGroup].startLevel;if(t<0)return!1;if(this.keyboardFocusedGroup<e.length-1&&e[this.keyboardFocusedGroup+1].startLevel===t)return!1;if(!this.timelineLevels)return!1;const i=this.timelineLevels[t][0];return this.expandGroup(this.keyboardFocusedGroup,!0),this.setSelectedEntry(i),!0}selectPreviousGroup(){if(this.keyboardFocusedGroup<=0)return!1;const e=this.getGroupIndexToSelect(-1);return this.#de(e),!0}selectNextGroup(){if(!this.rawTimelineData||!this.rawTimelineData.groups)return!1;if(this.keyboardFocusedGroup>=this.rawTimelineData.groups.length-1)return!1;const e=this.getGroupIndexToSelect(1);return this.#de(e),!0}getGroupIndexToSelect(e){if(!this.rawTimelineData||!this.rawTimelineData.groups)throw new Error("No raw timeline data");const t=this.rawTimelineData.groups;let i,s,r=this.keyboardFocusedGroup;do{r+=e,i=this.rawTimelineData.groups[r].name,s=-1!==this.keyboardFocusedGroup&&t[r].style.nestingLevel>t[this.keyboardFocusedGroup].style.nestingLevel}while(r>0&&r<t.length-1&&(!i||s));return r}selectFirstChild(){if(!this.rawTimelineData||!this.rawTimelineData.groups)return;const e=this.rawTimelineData.groups;if(this.keyboardFocusedGroup<0||this.keyboardFocusedGroup>=e.length-1)return;const t=this.keyboardFocusedGroup+1;e[t].style.nestingLevel>e[this.keyboardFocusedGroup].style.nestingLevel&&this.#de(t)}handleSelectionNavigation(e){if(-1===this.selectedEntryIndex)return!1;const t=this.timelineData();if(!t)return!1;function i(e,i){if(!t)throw new Error("No timeline data");const s=t.entryStartTimes[e],r=t.entryStartTimes[i],n=s+t.entryTotalTimes[e];return s<r+t.entryTotalTimes[i]&&r<n}const s=e,n=a.KeyboardShortcut.Keys;if(s.keyCode===n.Left.code||s.keyCode===n.Right.code){const i=t.entryLevels[this.selectedEntryIndex],o=this.timelineLevels?this.timelineLevels[i]:[];let a=r.ArrayUtilities.lowerBound(o,this.selectedEntryIndex,((e,t)=>e-t));return a+=s.keyCode===n.Left.code?-1:1,e.consume(!0),a>=0&&a<o.length&&this.dispatchEventToListeners("EntrySelected",o[a]),!0}if(s.keyCode===n.Up.code||s.keyCode===n.Down.code){let e=t.entryLevels[this.selectedEntryIndex];if(e+=s.keyCode===n.Up.code?-1:1,e<0||this.timelineLevels&&e>=this.timelineLevels.length)return this.deselectAllEntries(),s.consume(!0),!0;const o=t.entryStartTimes[this.selectedEntryIndex]+t.entryTotalTimes[this.selectedEntryIndex]/2,a=this.timelineLevels?this.timelineLevels[e]:[];let l=r.ArrayUtilities.upperBound(a,o,(function(e,i){if(!t)throw new Error("No timeline data");return e-t.entryStartTimes[i]}))-1;return!i(this.selectedEntryIndex,a[l])&&(++l,l>=a.length||!i(this.selectedEntryIndex,a[l]))?"ArrowDown"!==s.code&&(this.deselectAllEntries(),s.consume(!0),!0):(s.consume(!0),this.dispatchEventToListeners("EntrySelected",a[l]),!0)}return"Enter"===e.key&&(e.consume(!0),this.dispatchEventToListeners("EntryInvoked",this.selectedEntryIndex),!0)}coordinatesToEntryIndex(e,t){if(e<0||t<0)return-1;const i=this.timelineData();if(!i)return-1;if(t+=this.chartViewport.scrollOffset(),!this.visibleLevelOffsets||!this.visibleLevelHeights||!this.visibleLevels)throw new Error("No visible level offsets or heights");let s=-1;for(let e=0;e<this.dataProvider.maxStackDepth();e++)if(t>=this.visibleLevelOffsets[e]&&t<this.visibleLevelOffsets[e]+(this.visibleLevels[e]?this.visibleLevelHeights[e]:0)){s=e;break}if(s<0||!this.visibleLevels[s])return-1;if(t-this.visibleLevelOffsets[s]>this.levelHeight(s))return-1;for(const[t,r]of this.markerPositions)if(i.entryLevels[t]===s&&r.x<=e&&e<r.x+r.width)return t;const n=i.entryStartTimes,o=this.timelineLevels?this.timelineLevels[s]:[];if(!o||!o.length)return-1;const a=this.chartViewport.pixelToTime(e),l=Math.max(r.ArrayUtilities.upperBound(o,a,((e,t)=>e-n[t]))-1,0);function h(t){if(void 0===t)return!1;if(!i)return!1;const s=n[t],r=i.entryTotalTimes[t],o=this.chartViewport.timeToPosition(s),a=this.chartViewport.timeToPosition(s+r);return o-this.hitMarginPx<e&&e<a+this.hitMarginPx}let d=o[l];return h.call(this,d)?d:(d=o[l+1],h.call(this,d)?d:-1)}isMouseOverRevealChildrenArrow(e,t){if(!this.entryHasDecoration(t,"HIDDEN_DESCENDANTS_ARROW"))return!1;const i=this.timelineData();if(!i)return!1;const s=i.entryStartTimes[t],r=i.entryTotalTimes[t],n=this.chartViewport.timeToPosition(s+r);return n-this.#be(i,t)-this.hitMarginPx<e&&e<n+this.hitMarginPx}entryIndexToCoordinates(e){const t=this.timelineData(),{x:i,y:s}=this.canvas.getBoundingClientRect();if(!t||!this.visibleLevelOffsets)return null;return{x:this.chartViewport.timeToPosition(t.entryStartTimes[e])+i,y:this.visibleLevelOffsets[t.entryLevels[e]]-this.chartViewport.scrollOffset()+s}}entryTitle(e){return this.dataProvider.entryTitle(e)}getCanvasOffset(){return this.canvas.getBoundingClientRect()}getCanvas(){return this.canvas}getScrollOffset(){return this.chartViewport.scrollOffset()}getContextMenu(){return this.contextMenu}coordinatesToGroupIndexAndHoverType(e,t){if(!this.rawTimelineData||!this.rawTimelineData.groups||!this.groupOffsets)return{groupIndex:-1,hoverType:"ERROR"};if(e<0||t<0)return{groupIndex:-1,hoverType:"ERROR"};t+=this.chartViewport.scrollOffset();const i=this.rawTimelineData.groups||[];if(this.#ee){const s=[];function r(e){s.push(e.index);for(const t of e.children)r(t)}if(r(this.#ee),s.shift(),s.length!==i.length)return console.warn("The data from the group tree doesn't match the data from DataProvider."),{groupIndex:-1,hoverType:"ERROR"};s.push(i.length);for(let n=0;n<s.length;n++){const o=s[n],a=s[n+1]??s.length;if(t>=this.groupOffsets[o]&&t<this.groupOffsets[a]){const l=this.canvas.getContext("2d");l.save(),l.font=this.#J;const h=6+(this.#se?63:0)+this.labelWidthForGroup(l,i[o]);l.restore();const d=t>=this.groupOffsets[o]&&t<this.groupOffsets[o]+i[o].style.height;if(!this.#se)return d&&e<=h?{groupIndex:o,hoverType:"INSIDE_TRACK_HEADER"}:{groupIndex:o,hoverType:"INSIDE_TRACK"};if(d){if(6<=e&&e<22)return{groupIndex:o,hoverType:"TRACK_CONFIG_UP_BUTTON"};if(25<=e&&e<41)return{groupIndex:o,hoverType:"TRACK_CONFIG_DOWN_BUTTON"};if(44<=e&&e<60)return{groupIndex:o,hoverType:i[o].hidden?"TRACK_CONFIG_SHOW_BUTTON":"TRACK_CONFIG_HIDE_BUTTON"};if(d&&e<=h)return{groupIndex:o,hoverType:"INSIDE_TRACK_HEADER"}}}}}return{groupIndex:-1,hoverType:"OUTSIDE_TRACKS"}}#me(){const e=document.createElement("div");e.classList.add("flame-chart-edit-confirm");const t=new c.Button.Button;t.data={variant:"primary",jslogContext:"track-configuration-exit"},t.innerText=X(_.exitTrackConfigurationMode),e.appendChild(t),t.addEventListener("click",(()=>{this.#ge()})),this.viewportElement.appendChild(e),this.#se=!0,this.updateLevelPositions(),this.draw()}#Te(){const e=this.viewportElement.querySelector(".flame-chart-edit-confirm");e&&this.viewportElement.removeChild(e)}#ge(){this.#Te(),this.#se=!1,this.updateLevelPositions(),this.draw()}markerIndexBeforeTime(e){const t=this.timelineData();if(!t)throw new Error("No timeline data");if(!t.markers)throw new Error("No timeline markers");return r.ArrayUtilities.lowerBound(t.markers,e,((e,t)=>e-t.startTime()))}draw(){const e=this.timelineData();if(!e)return;this.resetCanvas(),this.dispatchEventToListeners("LatestDrawDimensions",{chart:{widthPixels:this.offsetWidth,heightPixels:this.offsetHeight,scrollOffsetPixels:this.chartViewport.scrollOffset(),allGroupsCollapsed:this.rawTimelineData?.groups.every((e=>!e.expanded))??!0},traceWindow:d.Helpers.Timing.traceWindowFromMilliSeconds(this.minimumBoundary(),this.maximumBoundary())});const t=this.offsetWidth,s=this.offsetHeight,r=this.canvas.getContext("2d");r.save();const n=window.devicePixelRatio,o=this.chartViewport.scrollOffset();r.scale(n,n),r.fillStyle="rgba(0, 0, 0, 0)",r.fillRect(0,0,t,s),r.translate(0,-o),r.font=this.#J;const{markerIndices:a,colorBuckets:l,titleIndices:h}=this.getDrawableData(r,e);r.save(),this.forEachGroupInViewport(((e,s,n,o,a)=>{this.isGroupFocused(s)&&(r.fillStyle=i.ThemeSupport.instance().getComputedValue("--selected-group-background",this.contentElement),r.fillRect(0,e,t,a-n.style.padding))})),r.restore();const c=this.rawTimelineData?.groups||[],u=c.findIndex((e=>e.name.includes("Main"))),m=c.at(u),p=m?.startLevel,g=c.at(u+1)?.startLevel,v=i=>{if(u<0||void 0===p||void 0===g)return!1;const s=Math.min(this.#fe(e,i),t);return e.entryLevels[i]>=p&&e.entryLevels[i]<g&&s>10};let f=!1;for(const[t,{indexes:i}]of l)f||(f=i.some(v)),this.#we(r,e,t,i);this.dispatchEventToListeners("ChartPlayableStateChange",f),this.drawMarkers(r,e,a),this.drawEventTitles(r,e,h,t);const w=Array.from(l.values()).map((e=>e.indexes)).flat();this.#ye(r,e,w),r.restore(),this.drawGroupHeaders(t,s),this.drawFlowEvents(r,e),this.drawMarkerLines();const b=N.calculateGridOffsets(this),T=this.dataProvider.mainFrameNavigationStartEvents?.()||[];let y=0;const E=e=>{if(0===T.length)return this.formatValue(e,b.precision);if(T.length>y+1){const t=T[y+1];e>d.Helpers.Timing.microSecondsToMilliseconds(t.ts)&&y++}const t=T[y];if(t){e-=d.Helpers.Timing.microSecondsToMilliseconds(t.ts)-this.zeroTime()}return this.formatValue(e,b.precision)};N.drawCanvasGrid(r,b),this.rulerEnabled&&N.drawCanvasHeaders(r,b,E,3,Z),this.updateElementPosition(this.highlightElement,this.highlightedEntryIndex),this.updateElementPosition(this.selectedElement,this.selectedEntryIndex),-1!==this.#te&&this.showPopoverForSearchResult(this.#te);for(const e of this.#ie)this.updateElementPosition(e,Number(e.id));this.updateMarkerHighlight()}#we(e,t,i,s){e.save(),e.beginPath();for(let i=0;i<s.length;++i){const r=s[i];this.#Ee(e,t,r)}e.fillStyle=i,e.fill(),e.restore()}#ye(e,t,i){const{entryTotalTimes:s,entryStartTimes:r,entryLevels:n}=t;e.save();for(let o=0;o<i.length;++o){const a=i[o],l=t.entryDecorations.at(a);if(!l||l.length<1)continue;l.length>1&&Q(l);const h=r[a],c=s[a],u=this.timeToPositionClipped(h),m=n[a],p=this.#be(t,a),g=this.levelToOffset(m);let v=this.#fe(t,a);for(const i of l)switch(i.type){case"CANDY":{const s=d.Helpers.Timing.microSecondsToMilliseconds(i.startAtTime);if(c<s)continue;this.candyStripePattern||(this.candyStripePattern=this.createCandyStripePattern()),e.save(),e.beginPath();const r=this.timeToPositionClipped(h+s),n=i.endAtTime?d.Helpers.Timing.microSecondsToMilliseconds(i.endAtTime):h+c,o=this.timeToPositionClipped(n);this.#Ee(e,t,a,{startX:r,width:o-r}),e.fillStyle=this.candyStripePattern,e.fill(),e.restore();break}case"WARNING_TRIANGLE":{if(void 0!==i.customEndTime){const e=d.Helpers.Timing.microSecondsToMilliseconds(i.customEndTime);v=this.timeToPositionClipped(e)-u}const t=8;e.save(),e.beginPath(),e.rect(u,g,v,p),e.clip(),e.beginPath(),e.fillStyle="red",e.moveTo(u+v-t,g),e.lineTo(u+v,g),e.lineTo(u+v,g+t),e.fill(),e.restore();break}case"HIDDEN_DESCENDANTS_ARROW":e.save(),e.beginPath(),e.rect(u,g,v,p);if(v>2*p){const t=7,i=5,s=6;e.clip(),e.beginPath(),e.fillStyle="#474747";const r=u+v-t-i,n=g+s;e.moveTo(r,n);const o=u+v-i,a=g+s;e.lineTo(o,a);const l=u+v-i-t/2,h=g+p-s;e.lineTo(l,h)}else{const t=8;e.clip(),e.beginPath(),e.fillStyle="#474747",e.moveTo(u+v-t,g+p),e.lineTo(u+v,g+p),e.lineTo(u+v,g+t)}e.fill(),e.restore();break}}e.restore()}#Ee(e,t,i,s){const{entryTotalTimes:r,entryStartTimes:n,entryLevels:o}=t,a=r[i];if(isNaN(a))return;const l=n[i],h=s?.startX??this.timeToPositionClipped(l),d=o[i],c=this.#be(t,i),u=this.levelToOffset(d),m=s?.width??this.#fe(t,i);0!==m&&e.rect(h,u,m-.5,c-1)}#be(e,t){const{entryLevels:i}=e,s=i[t];return this.levelHeight(s)}entryWidth(e){const t=this.timelineData();return t?this.#fe(t,e):0}#fe(e,t){const{entryTotalTimes:i,entryStartTimes:s}=e,r=i[t],n=s[t],o=this.timeToPositionClipped(n),a=this.timeToPositionClipped(n+r);return Math.max(a-o,1)}getDrawableData(e,t){const i=[],s=[],{entryTotalTimes:n,entryStartTimes:o}=t,l=this.chartViewport.scrollOffset(),h=2*this.textPadding+a.UIUtils.measureTextWidth(e,"…"),d=this.chartViewport.pixelToTimeOffset(h),c=new Map;for(let e=0;e<this.dataProvider.maxStackDepth();++e){if(this.levelToOffset(e)+this.levelHeight(e)<l||this.levelToOffset(e)>l+this.offsetHeight)continue;if(!this.visibleLevels||!this.visibleLevels[e])continue;if(!this.timelineLevels)break;const t=this.timelineLevels[e];let a=1/0;for(let l=r.ArrayUtilities.lowerBound(t,this.chartViewport.windowRightTime(),((e,t)=>e-o[t]))-1;l>=0;--l){const r=t[l],h=n[r];if(isNaN(h)){s.push(r);continue}(h>=d||this.forceDecorationCache?.[r])&&i.push(r);const u=o[r],m=u+h,p=Boolean(this.dataProvider.forceDrawableLevel?.(e));if(m<=this.chartViewport.windowLeftTime()&&!p)break;const g=this.timeToPositionClipped(u);if(!(g>=a)&&(a=g,this.entryColorsCache)){const e=this.entryColorsCache[r];let t=c.get(e);t||(t={indexes:[]},c.set(e,t)),t.indexes.push(r)}}}return{colorBuckets:c,titleIndices:i,markerIndices:s}}drawGroupHeaders(e,t){const r=this.canvas.getContext("2d"),n=this.chartViewport.scrollOffset(),o=window.devicePixelRatio;if(!this.rawTimelineData)return;const l=this.rawTimelineData.groups||[];if(!l.length)return;const h=this.groupOffsets;if(null==h)return;const d=h[h.length-1];r.save(),r.scale(o,o),r.translate(0,-n),r.font=this.#J,r.fillStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-cdt-base-container"),this.forEachGroupInViewport(((t,i,s)=>{const n=s.style.padding;n<5||r.fillRect(0,t-n+2,e,n-4)})),l.length&&d<n+t&&r.fillRect(0,d+2,e,n+t-d),r.strokeStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-neutral-container"),r.beginPath(),this.forEachGroupInViewport(((t,i,s,n)=>{n||s.style.padding<4||B(r,e,t-2.5)})),B(r,e,d+1.5),r.stroke(),this.forEachGroupInViewport(((t,i,s)=>{if(s.style.useFirstLineForOverview)return;if(!this.isGroupCollapsible(i)||s.expanded)return void(!s.style.shareHeaderLine&&this.isGroupFocused(i)&&(r.fillStyle=s.style.backgroundColor,r.fillRect(0,t,e,s.style.height)));let n=i+1;for(;n<l.length&&l[n].style.nestingLevel>s.style.nestingLevel;)n++;const o=n<l.length?l[n].startLevel:this.dataProvider.maxStackDepth();this.drawCollapsedOverviewForGroup(s,t,o)})),r.save();const c=l.length>1,u=this.#se?63:0;this.forEachGroupInViewport(((e,t,n)=>{if(r.font=this.#J,this.isGroupCollapsible(t)&&!n.expanded||n.style.shareHeaderLine){const o=this.labelWidthForGroup(r,n);if(this.isGroupFocused(t))r.fillStyle=i.ThemeSupport.instance().getComputedValue("--selected-group-background",this.contentElement);else{const e=s.Color.parse(n.style.backgroundColor);e&&(r.fillStyle=e.setAlpha(.8).asString())}r.fillRect(u+6,e+2,o,n.style.height-4)}r.fillStyle=this.#se&&n.hidden?i.ThemeSupport.instance().getComputedValue("--sys-color-token-subtle",this.contentElement):n.style.color;const o=u+K*(n.style.nestingLevel+1)+$/2+3;if(r.fillText(n.name,o,e+n.style.height-this.textBaseline),this.#se&&n.hidden&&r.fillRect(o,e+n.style.height/2,a.UIUtils.measureTextWidth(r,n.name),1),n.legends&&n.expanded&&function(e,t,i,s){e.save(),e.translate(t,i);let r=0;for(const t of s)r=G(e,r,4,t.color,t.category);e.restore()}(r,6+this.labelWidthForGroup(r,n)+16,e,n.legends),c&&this.#se){const t=n.hidden?"--sys-color-token-subtle":"--sys-color-on-surface";0===n.style.nestingLevel&&(A(r,6,e,j,"M9.25 17V5.875L7.062 8.062L6 7L10 3L14 7L12.938 8.062L10.75 5.875V17H9.25Z",t),A(r,25,e,j,"M9.25 3V14.125L7.062 11.938L6 13L10 17L14 13L12.938 11.938L10.75 14.125V3H9.25Z",t)),A(r,44,e,j,n.hidden?"M10 13.5C10.972 13.5 11.7983 13.1597 12.479 12.479C13.1597 11.7983 13.5 10.972 13.5 10C13.5 9.028 13.1597 8.20167 12.479 7.521C11.7983 6.84033 10.972 6.5 10 6.5C9.028 6.5 8.20167 6.84033 7.521 7.521C6.84033 8.20167 6.5 9.028 6.5 10C6.5 10.972 6.84033 11.7983 7.521 12.479C8.20167 13.1597 9.028 13.5 10 13.5ZM10 12C9.44467 12 8.97233 11.8057 8.583 11.417C8.19433 11.0277 8 10.5553 8 10C8 9.44467 8.19433 8.97233 8.583 8.583C8.97233 8.19433 9.44467 8 10 8C10.5553 8 11.0277 8.19433 11.417 8.583C11.8057 8.97233 12 9.44467 12 10C12 10.5553 11.8057 11.0277 11.417 11.417C11.0277 11.8057 10.5553 12 10 12ZM10 16C8.014 16 6.20833 15.455 4.583 14.365C2.95833 13.2743 1.764 11.8193 1 10C1.764 8.18067 2.95833 6.72567 4.583 5.635C6.20833 4.545 8.014 4 10 4C11.986 4 13.7917 4.545 15.417 5.635C17.0417 6.72567 18.236 8.18067 19 10C18.236 11.8193 17.0417 13.2743 15.417 14.365C13.7917 15.455 11.986 16 10 16ZM10 14.5C11.5553 14.5 12.9927 14.0973 14.312 13.292C15.632 12.486 16.646 11.3887 17.354 10C16.646 8.61133 15.632 7.514 14.312 6.708C12.9927 5.90267 11.5553 5.5 10 5.5C8.44467 5.5 7.00733 5.90267 5.688 6.708C4.368 7.514 3.354 8.61133 2.646 10C3.354 11.3887 4.368 12.486 5.688 13.292C7.00733 14.0973 8.44467 14.5 10 14.5Z":"M13.2708 11.1459L11.9792 9.85419C12.0347 9.32641 11.875 8.87155 11.5 8.4896C11.125 8.10766 10.6736 7.94446 10.1458 8.00002L8.85417 6.70835C9.03472 6.63891 9.22222 6.58683 9.41667 6.5521C9.61111 6.51738 9.80556 6.50002 10 6.50002C10.9722 6.50002 11.7986 6.8403 12.4792 7.52085C13.1597 8.20141 13.5 9.0278 13.5 10C13.5 10.1945 13.4826 10.3889 13.4479 10.5834C13.4132 10.7778 13.3542 10.9653 13.2708 11.1459ZM16.0417 13.9167L14.9583 12.8334C15.4583 12.4445 15.9132 12.0174 16.3229 11.5521C16.7326 11.0868 17.0764 10.5695 17.3542 10C16.6736 8.59724 15.6701 7.49655 14.3438 6.69794C13.0174 5.89933 11.5694 5.50002 10 5.50002C9.63889 5.50002 9.28472 5.52085 8.9375 5.56252C8.59028 5.60419 8.25 5.67363 7.91667 5.77085L6.70833 4.56252C7.23611 4.35419 7.77431 4.20835 8.32292 4.12502C8.87153 4.04169 9.43056 4.00002 10 4.00002C11.9861 4.00002 13.8021 4.53821 15.4479 5.6146C17.0938 6.69099 18.2778 8.1528 19 10C18.6944 10.7917 18.2882 11.5104 17.7813 12.1563C17.2743 12.8021 16.6944 13.3889 16.0417 13.9167ZM16 18.125L13.2917 15.4167C12.7639 15.6111 12.2257 15.757 11.6771 15.8542C11.1285 15.9514 10.5694 16 10 16C8.01389 16 6.19792 15.4618 4.55208 14.3854C2.90625 13.309 1.72222 11.8472 1 10C1.30556 9.20835 1.70833 8.48613 2.20833 7.83335C2.70833 7.18058 3.29167 6.5903 3.95833 6.06252L1.875 3.97919L2.9375 2.91669L17.0625 17.0625L16 18.125ZM5.02083 7.14585C4.53472 7.53474 4.08333 7.96183 3.66667 8.4271C3.25 8.89238 2.90972 9.41669 2.64583 10C3.32639 11.4028 4.32986 12.5035 5.65625 13.3021C6.98264 14.1007 8.43056 14.5 10 14.5C10.3611 14.5 10.7153 14.4757 11.0625 14.4271C11.4097 14.3785 11.7569 14.3125 12.1042 14.2292L11.1667 13.2917C10.9722 13.3611 10.7778 13.4132 10.5833 13.4479C10.3889 13.4827 10.1944 13.5 10 13.5C9.02778 13.5 8.20139 13.1597 7.52083 12.4792C6.84028 11.7986 6.5 10.9722 6.5 10C6.5 9.80558 6.52431 9.61113 6.57292 9.41669C6.62153 9.22224 6.66667 9.0278 6.70833 8.83335L5.02083 7.14585Z",this.groupIsLastVisibleTopLevel(n)?"--sys-color-state-disabled":t)}})),r.restore(),r.fillStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-token-subtle"),this.forEachGroupInViewport(((e,t,i)=>{this.isGroupCollapsible(t)&&function(e,t,i,s){const r=$*Math.sqrt(3)/2,n=Math.round(r/2);e.save(),e.beginPath(),e.translate(t,i),e.rotate(s?Math.PI/2:0),e.moveTo(-n,-$/2),e.lineTo(-n,$/2),e.lineTo(r-n,0),e.fill(),e.restore()}(r,u+K*(i.style.nestingLevel+1),e+i.style.height-this.textBaseline-$/2,!this.#se&&Boolean(i.expanded))})),r.strokeStyle=i.ThemeSupport.instance().getComputedValue("--sys-color-neutral-outline"),r.beginPath(),r.stroke(),this.forEachGroupInViewport(((e,t,s,n,o)=>{if(this.isGroupFocused(t)){const t=2,n=10;r.fillStyle=i.ThemeSupport.instance().getComputedValue("--selected-group-border",this.contentElement),r.fillRect(0,e-t,t,o-s.style.padding+2*t),r.fillRect(0,e-t,n,t),r.fillRect(0,e+o-s.style.padding,n,t)}})),r.restore()}drawMarkers(e,t,i){const{entryStartTimes:s,entryLevels:r}=t;this.markerPositions.clear(),e.textBaseline="alphabetic",e.save(),e.beginPath();let n=-1,o=-1/0;for(let t=i.length-1;t>=0;--t){const l=i[t],h=this.dataProvider.entryTitle(l);if(!h)continue;const d=s[l],c=r[l];n!==c&&(o=-1/0);const u=Math.max(this.chartViewport.timeToPosition(d),o),m=this.levelToOffset(c),p=this.levelHeight(c),g=4,v=Math.ceil(a.UIUtils.measureTextWidth(e,h))+2*g;o=u+v+1,n=c,this.markerPositions.set(l,{x:u,width:v}),e.fillStyle=this.dataProvider.entryColor(l),e.fillRect(u,m,v,p-1),e.fillStyle="white",e.fillText(h,u+g,m+p-this.textBaseline)}e.strokeStyle="rgba(0, 0, 0, 0.2)",e.stroke(),e.restore()}drawEventTitles(e,t,i,s){const r=this.chartViewport.timeToPixel(),n=this.textPadding;e.save(),e.beginPath();const{entryStartTimes:o,entryLevels:l}=t;for(let h=0;h<i.length;++h){const d=i[h],c=o[d],u=this.timeToPositionClipped(c),m=Math.min(this.#fe(t,d),s),p=l[d],g=this.levelToOffset(p);let v=this.dataProvider.entryTitle(d);const f=this.#be(t,d);if(v&&v.length){e.font=this.#J;const t=this.entryHasDecoration(d,"HIDDEN_DESCENDANTS_ARROW")&&m>2*f?m-n-this.barHeight:m-2*n;v=a.UIUtils.trimTextMiddle(e,v,t)}const w=this.chartViewport.timeToPosition(c);this.dataProvider.decorateEntry(d,e,v,u,g,m,f,w,r)||v&&v.length&&(e.fillStyle=this.dataProvider.textColor(d),e.fillText(v,u+n,g+f-this.textBaseline))}e.restore()}forEachGroup(e){if(!this.rawTimelineData)return;const t=this.rawTimelineData.groups||[];if(!t.length)return;const i=this.groupOffsets;if(!i)return;const s=[{nestingLevel:-1,visible:!0}];for(let r=0;r<t.length;++r){const n=i[r],o=t[r];let a=!0,l=s[s.length-1];for(;l&&l.nestingLevel>=o.style.nestingLevel;)s.pop(),a=!1,l=s[s.length-1];l=s[s.length-1];const h=!!l&&l.visible,d=!o.hidden&&h&&(!this.isGroupCollapsible(r)||o.expanded);if(s.push({nestingLevel:o.style.nestingLevel,visible:Boolean(d)}),!this.#ee)return;const c=[];function u(e){c.push(e.index);for(const t of e.children)u(t)}if(u(this.#ee),c.shift(),c.length!==t.length)return void console.warn("The data from the group tree doesn't match the data from DataProvider.");c.push(t.length);const m=c.indexOf(r),p=i[c[m+1]];(this.#se||h&&!o.hidden)&&e(n,r,o,a,p-n)}}forEachGroupInViewport(e){const t=this.chartViewport.scrollOffset();this.forEachGroup(((i,s,r,n,o)=>{i-r.style.padding>t+this.offsetHeight||i+o<t||e(i,s,r,n,o)}))}labelWidthForGroup(e,t){return K*(t.style.nestingLevel+1)+$/2+3+a.UIUtils.measureTextWidth(e,t.name)+3-6}drawCollapsedOverviewForGroup(e,t,i){const n=new s.SegmentedRange.SegmentedRange((function(e,t){return e.data===t.data&&e.end+.4>t.end?e:null})),o=this.chartViewport.windowLeftTime(),a=this.chartViewport.windowRightTime(),l=this.canvas.getContext("2d"),h=e.style.height;if(!this.rawTimelineData)return;const d=this.rawTimelineData.entryStartTimes,c=this.rawTimelineData.entryTotalTimes,u=this.chartViewport.timeToPixel();for(let m=e.startLevel;m<i;++m){const i=this.timelineLevels?this.timelineLevels[m]:[];let p=1/0;for(let m=r.ArrayUtilities.lowerBound(i,a,((e,t)=>e-d[t]))-1;m>=0;--m){const r=i[m],a=d[r],g=this.timeToPositionClipped(a),v=a+c[r];if(isNaN(v)||g>=p)continue;if(v<=o)break;p=g;const f=this.entryColorsCache?this.entryColorsCache[r]:"",w=this.timeToPositionClipped(v);if(e.style.useDecoratorsForOverview&&this.dataProvider.forceDecoration(r)){const e=this.chartViewport.timeToPosition(a),i=this.#fe(this.rawTimelineData,r);l.beginPath(),l.fillStyle=f,l.fillRect(g,t,i,h-1),this.dataProvider.decorateEntry(r,l,"",g,t,i,h,e,u)}else n.append(new s.SegmentedRange.Segment(g,w,f))}}const m=n.segments().slice().sort(((e,t)=>e.data.localeCompare(t.data)));let p;l.beginPath();for(let e=0;e<m.length;++e){const i=m[e];p!==m[e].data&&(l.fill(),l.beginPath(),p=m[e].data,l.fillStyle=p),l.rect(i.begin,t,i.end-i.begin,h)}l.fill()}drawFlowEvents(e,t){const i=this.timelineData();if(!i)return;const{entryTotalTimes:s,entryStartTimes:r,entryLevels:n}=t,o=window.devicePixelRatio,a=this.chartViewport.scrollOffset();e.save(),e.scale(o,o),e.translate(0,-a),e.fillStyle="#7f5050",e.strokeStyle="#7f5050";for(let o=0;o<i.initiatorsData.length;++o){const a=i.initiatorsData[o],l=r[a.initiatorIndex],h=r[a.initiatorIndex]+s[a.initiatorIndex],d=r[a.eventIndex],c=h<d,u=c?h:Math.max(l,this.chartViewport.pixelToTime(5)),m=d;if(m<this.chartViewport.windowLeftTime())continue;let p=this.chartViewport.timeToPosition(u),g=this.chartViewport.timeToPosition(m);if(a.isInitiatorHidden){const{circleEndX:i}=this.drawCircleAroundCollapseArrow(a.initiatorIndex,e,t);i&&(p=i)}if(a.isEntryHidden){const{circleStartX:i}=this.drawCircleAroundCollapseArrow(a.eventIndex,e,t);i&&(g=i)}const v=n[a.initiatorIndex],f=n[a.eventIndex],w=this.levelToOffset(v)+this.levelHeight(v)/2,b=this.levelToOffset(f)+this.levelHeight(f)/2,T=g-p;T>3?(e.lineWidth=.5,e.beginPath(),e.moveTo(g,b),e.lineTo(g-6,b-3),e.lineTo(g-6,b+3),e.fill()):e.lineWidth=.2,c?(e.beginPath(),e.moveTo(p,w),e.lineTo(p+T/2,w),e.lineTo(p+T/2,b),e.lineTo(g,b),e.stroke()):(e.beginPath(),e.moveTo(p,w),e.lineTo(p,b),e.lineTo(g,b),e.stroke())}e.restore()}drawCircleAroundCollapseArrow(e,t,i){const s=i.entryDecorations.at(e);if(!s||!s.find((e=>"HIDDEN_DESCENDANTS_ARROW"===e.type)))return{};const{entryStartTimes:r,entryLevels:n}=i,o=this.#fe(i,e);if(o<2*this.barHeight)return{};const a=r[e],l=this.timeToPositionClipped(a),h=n[e],d=this.#be(i,e),c=this.levelToOffset(h);t.save(),t.beginPath(),t.rect(l,c,o,d),t.clip(),t.lineWidth=1,t.beginPath(),t.fillStyle="#474747";const u=l+o-this.barHeight/2,m=c+this.barHeight/2;return t.beginPath(),t.arc(u,m,6,0,2*Math.PI),t.stroke(),t.restore(),{circleStartX:u-6,circleEndX:u+6}}drawMarkerLines(){const e=this.timelineData();if(!e)return;const t=e.markers,i=this.markerIndexBeforeTime(this.minimumBoundary()),s=this.maximumBoundary(),r=this.chartViewport.timeToPixel(),n=this.canvas.getContext("2d");n.save();const o=window.devicePixelRatio;n.scale(o,o),n.translate(0,3);const a=Z-1;for(let e=i;e<t.length;e++){const i=t[e].startTime();if(i>s)break;t[e].draw(n,this.chartViewport.timeToPosition(i),a,r)}n.restore()}updateMarkerHighlight(){const e=this.markerHighlighElement;e.parentElement&&e.remove();const t=this.highlightedMarkerIndex;if(-1===t)return;const i=this.timelineData();if(!i)return;const s=i.markers[t],r=this.timeToPositionClipped(s.startTime());a.Tooltip.Tooltip.install(e,s.title()||"");const n=e.style;n.left=r+"px",n.backgroundColor=s.color(),this.viewportElement.appendChild(e)}processTimelineData(e){if(!e)return this.timelineLevels=null,this.visibleLevelOffsets=null,this.visibleLevels=null,this.groupOffsets=null,this.rawTimelineData=null,this.forceDecorationCache=null,this.entryColorsCache=null,this.rawTimelineDataLength=0,this.#ee=null,this.selectedGroupIndex=-1,this.keyboardFocusedGroup=-1,void this.flameChartDelegate.updateSelectedGroup(this,null);this.rawTimelineData=e,this.rawTimelineDataLength=e.entryStartTimes.length,this.forceDecorationCache=new Array(this.rawTimelineDataLength),this.entryColorsCache=new Array(this.rawTimelineDataLength);for(let e=0;e<this.rawTimelineDataLength;++e)this.forceDecorationCache[e]=this.dataProvider.forceDecoration(e)??!1,this.entryColorsCache[e]=this.dataProvider.entryColor(e);const t=new Uint32Array(this.dataProvider.maxStackDepth()+1);for(let i=0;i<e.entryLevels.length;++i)++t[e.entryLevels[i]];const i=new Array(t.length);for(let e=0;e<i.length;++e)i[e]=new Uint32Array(t[e]),t[e]=0;for(let s=0;s<e.entryLevels.length;++s){const r=e.entryLevels[s];i[r][t[r]++]=s}this.timelineLevels=i;const s=this.rawTimelineData.groups||[];for(let e=0;e<s.length;++e){const t=this.groupExpansionState[s[e].name],i=this.groupHiddenState[s[e].name];void 0!==t&&(s[e].expanded=t),void 0!==i&&(s[e].hidden=i)}this.#ee?this.updateGroupTree(s,this.#ee):this.#ee=this.buildGroupTree(s),this.updateLevelPositions(),this.updateHeight(),-1===this.selectedGroupIndex&&(this.selectedGroupIndex=e.selectedGroup?s.indexOf(e.selectedGroup):-1),this.keyboardFocusedGroup=this.selectedGroupIndex,this.flameChartDelegate.updateSelectedGroup(this,e.selectedGroup)}#xe(e,t,i){return{index:t,nestingLevel:e.style.nestingLevel,startLevel:e.startLevel,endLevel:i,children:[]}}buildGroupTree(e){const t={index:-1,nestingLevel:-1,startLevel:0,endLevel:e.length?e[0].startLevel:this.dataProvider.maxStackDepth(),children:[]},i=[t];for(let t=0;t<e.length;t++){const s=e[t],r=s.style.nestingLevel;let n=i[i.length-1];for(;n&&n.nestingLevel>=r;)i.pop(),n=i[i.length-1];const o=e[t+1],a=o?.startLevel??this.dataProvider.maxStackDepth(),l=this.#xe(s,t,a);n.children.push(l),i.push(l)}return t}updateGroupTree(e,t){const i=this.dataProvider.maxStackDepth();!function t(s){const r=s.index;if(r<0)s.startLevel=0,s.endLevel=e.length?e[0].startLevel:i;else{if(!e[r])return void console.warn("The |groups| is changed. Please make sure the flamechart is reset after data change in the data provider");s.startLevel=e[r].startLevel;const t=e[r+1];s.endLevel=t?.startLevel??i}for(const e of s.children)t(e)}(t)}#Ce(e,t,i){if(!(this.visibleLevels&&this.visibleLevelOffsets&&this.visibleLevelHeights&&this.groupOffsets))return t;const s=this.rawTimelineData?.groups;if(!s)return t;if(e.index>=s.length)return console.warn("The data from the group tree is outdated. Please make sure the flamechart is reset after data change in the data provider"),t;e.index>=0&&(this.groupOffsets[e.index]=t,(this.#se&&s[e.index].name||!s[e.index].hidden&&i&&!s[e.index].style.shareHeaderLine)&&(t+=s[e.index].style.height));let r=!1;if(e.index<0)r=!0;else{const t=!(this.isGroupCollapsible(e.index)&&!s[e.index].expanded);r=!s[e.index].hidden&&t}const n=r&&i;for(let r=e.startLevel;r<e.endLevel;r++){if(r>=this.dataProvider.maxStackDepth())return console.warn("The data from the group tree is outdated. Please make sure the flamechart is reset after data change in the data provider"),t;const o=r===e.startLevel;let a,l;if(e.index<0)a=!0;else{const t=o&&s[e.index].style.useFirstLineForOverview;a=!s[e.index].hidden&&i&&(n||t)}if(s[e.index]){const t=o&&!s[e.index].style.shareHeaderLine,i=this.isGroupCollapsible(e.index)&&!s[e.index].expanded;l=t||i?s[e.index].style.height:s[e.index].style.itemsHeight??this.barHeight}else l=this.barHeight;this.visibleLevels[r]=!this.#se&&Boolean(a),this.visibleLevelOffsets[r]=t,this.visibleLevelHeights[r]=this.#se?0:l,(e.index<0||!s[e.index].hidden&&(a||i&&s[e.index].style.shareHeaderLine&&o))&&(t+=this.visibleLevelHeights[r])}if(0===e.children.length)return t;for(const i of e.children)(this.#se&&s[i.index].name||n&&!s[i.index]?.hidden&&i!==e.children[0])&&(t+=s[i.index].style.padding??0),t=this.#Ce(i,t,n);return t}updateLevelPositions(){if(!this.#ee)return void console.warn("Please make sure the new timeline data is processed before update the level positions.");const e=this.dataProvider.maxStackDepth(),t=this.rawTimelineData?.groups||[];this.visibleLevelOffsets=new Uint32Array(e+1),this.visibleLevelHeights=new Uint32Array(e),this.visibleLevels=new Array(e),this.groupOffsets=new Uint32Array(t.length+1);let i=this.rulerEnabled?Z+2:2;i=this.#Ce(this.#ee,i,!0),this.groupOffsets[t.length]=i,this.visibleLevelOffsets[e]=i}isGroupCollapsible(e){if(!this.rawTimelineData||e<0)return;const t=this.rawTimelineData.groups||[],i=t[e].style;if(!i.shareHeaderLine||!i.collapsible)return Boolean(i.collapsible);const s=e+1>=t.length;if(!s&&t[e+1].style.nestingLevel>i.nestingLevel)return!0;return(s?this.dataProvider.maxStackDepth():t[e+1].startLevel)!==t[e].startLevel+1||i.height!==i.itemsHeight}groupIsLastVisibleTopLevel(e){if(!e)return!0;const t=this.#ee?.children.filter((e=>!this.rawTimelineData?.groups[e.index].hidden)).length;return 1===t&&0===e.style.nestingLevel&&!e.hidden}setSelectedEntry(e){this.isMouseOverRevealChildrenArrow(this.lastMouseOffsetX,e)&&this.modifyTree("RESET_CHILDREN",e),this.selectedEntryIndex!==e&&(-1!==e&&this.chartViewport.hideRangeSelection(),this.selectedEntryIndex=e,this.revealEntry(e),this.updateElementPosition(this.selectedElement,this.selectedEntryIndex),this.update())}entryHasDecoration(e,t){const i=this.timelineData();if(!i)return!1;const s=i.entryDecorations.at(e);return!!(s&&s.length>=1)&&s.some((e=>e.type===t))}getMarkerPixelsForEntryIndex(e){return this.markerPositions.get(e)??null}updateElementPosition(e,t,i){if(!e)return;if(e.classList.add("hidden"),-1===t)return;const s=this.timelineData();if(!s)return;const r=s.entryStartTimes[t],n=s.entryTotalTimes[t];let o=0,a=0,l=!0;if(Number.isNaN(n)){const e=this.markerPositions.get(t);e?(o=e.x,a=e.width):l=!1}else o=this.chartViewport.timeToPosition(r),a=n*this.chartViewport.timeToPixel();if(o+a<=0||o>=this.offsetWidth)return;const h=o+a/2;a=Math.max(a,2),o=h-a/2;const d=s.entryLevels[t],c=this.levelToOffset(d)-this.chartViewport.scrollOffset(),u=this.levelHeight(d),m=e.style;i?(m.top=c+"px",m.width=u+"px",m.height=u+"px",m.left=o+a-u+"px"):(m.top=c+"px",m.width=a+"px",m.height=u-1+"px",m.left=o+"px"),e.classList.toggle("hidden",!l),this.viewportElement.appendChild(e)}updateHiddenChildrenArrowHighlighPosition(e){this.revealDescendantsArrowHighlightElement.classList.add("hidden"),-1!==e&&this.isMouseOverRevealChildrenArrow(this.lastMouseOffsetX,e)&&this.updateElementPosition(this.revealDescendantsArrowHighlightElement,e,!0)}timeToPositionClipped(e){return r.NumberUtilities.clamp(this.chartViewport.timeToPosition(e),0,this.offsetWidth)}groupIndexToOffsetForTest(e){if(!this.groupOffsets)throw new Error("No visible group offsets");return this.groupOffsets[e]}setEditModeForTest(e){this.#se=e}levelIsVisible(e){if(!this.visibleLevels)throw new Error("No level visiblibities");return this.visibleLevels[e]}levelToOffset(e){if(!this.visibleLevelOffsets)throw new Error("No visible level offsets");return this.visibleLevelOffsets[e]}levelHeight(e){if(!this.visibleLevelHeights)throw new Error("No visible level heights");return this.visibleLevelHeights[e]}updateBoundaries(){this.totalTime=this.dataProvider.totalTime(),this.minimumBoundaryInternal=this.dataProvider.minimumBoundary(),this.chartViewport.setBoundaries(this.minimumBoundaryInternal,this.totalTime)}updateHeight(){const e=this.levelToOffset(this.dataProvider.maxStackDepth())+2;this.chartViewport.setContentHeight(e)}onResize(){this.#ne=null,this.scheduleUpdate()}update(){this.timelineData()&&(this.updateHeight(),this.updateBoundaries(),this.draw(),this.chartViewport.isDragging()||this.updateHighlight())}reset(){this.#se&&(this.#Te(),this.#se=!1),this.chartViewport.reset(),this.rawTimelineData=null,this.rawTimelineDataLength=0,this.#ee=null,this.highlightedMarkerIndex=-1,this.highlightedEntryIndex=-1,this.selectedEntryIndex=-1,this.selectedGroupIndex=-1}scheduleUpdate(){this.chartViewport.scheduleUpdate()}enabled(){return 0!==this.rawTimelineDataLength}computePosition(e){return this.chartViewport.timeToPosition(e)}formatValue(e,t){return this.dataProvider.formatValue(e-this.zeroTime(),t)}maximumBoundary(){return d.Types.Timing.MilliSeconds(this.chartViewport.windowRightTime())}minimumBoundary(){return d.Types.Timing.MilliSeconds(this.chartViewport.windowLeftTime())}zeroTime(){return d.Types.Timing.MilliSeconds(this.dataProvider.minimumBoundary())}boundarySpan(){return d.Types.Timing.MilliSeconds(this.maximumBoundary()-this.minimumBoundary())}}const Z=15,q={CANDY:1,WARNING_TRIANGLE:2,HIDDEN_DESCENDANTS_ARROW:3};function Q(e){e.sort(((e,t)=>q[e.type]-q[t.type]))}class J{entryLevels;entryTotalTimes;entryStartTimes;entryDecorations;groups;markers;initiatorsData;selectedGroup;constructor(e,t,i,s,r=[],n=[]){this.entryLevels=e,this.entryTotalTimes=t,this.entryStartTimes=i,this.entryDecorations=r,this.groups=s||[],this.markers=[],this.initiatorsData=n||[],this.selectedGroup=null}static create(e){return new J(e.entryLevels,e.entryTotalTimes,e.entryStartTimes,e.groups,e.entryDecorations||[],e.initiatorsData||[])}static createEmpty(){return new J([],[],[],[])}resetFlowData(){this.initiatorsData=[]}}var ee=Object.freeze({__proto__:null,ARROW_SIDE:$,EDIT_ICON_WIDTH:j,FlameChartDelegate:class{windowChanged(e,t,i){}updateRangeSelection(e,t){}updateSelectedGroup(e,t){}},FlameChart:Y,RulerHeight:Z,MinimalTimeWindowMs:.5,sortDecorationsForRenderingOrder:Q,FlameChartTimelineData:J});const te=o.RenderCoordinator.RenderCoordinator.instance();class ie extends a.Widget.VBox{delegate;viewportElement;alwaysShowVerticalScrollInternal;rangeSelectionEnabled;vScrollElement;vScrollContent;selectionOverlay;selectedTimeSpanLabel;cursorElement;isDraggingInternal;totalHeight;offsetHeight;scrollTop;rangeSelectionStart;rangeSelectionEnd;dragStartPointX;dragStartPointY;dragStartScrollTop;visibleLeftTime;visibleRightTime;offsetWidth;targetLeftTime;targetRightTime;selectionOffsetShiftX;selectionStartX;lastMouseOffsetX;minimumBoundary;totalTime;isUpdateScheduled;cancelWindowTimesAnimation;#Se;#Le=n.Runtime.experiments.isEnabled("perf-panel-annotations");constructor(e,t){super(),this.#Se=t,this.registerRequiredCSS(S),this.delegate=e,this.viewportElement=this.contentElement.createChild("div","fill"),this.viewportElement.addEventListener("mousemove",this.updateCursorPosition.bind(this),!1),this.viewportElement.addEventListener("mouseout",this.onMouseOut.bind(this),!1),this.viewportElement.addEventListener("wheel",this.onMouseWheel.bind(this),!1),this.viewportElement.addEventListener("keydown",this.onChartKeyDown.bind(this),!1),this.viewportElement.addEventListener("keyup",this.onChartKeyUp.bind(this),!1),a.UIUtils.installDragHandle(this.viewportElement,this.startDragging.bind(this),this.dragging.bind(this),this.endDragging.bind(this),"-webkit-grabbing",null),a.UIUtils.installDragHandle(this.viewportElement,this.startRangeSelection.bind(this),this.rangeSelectionDragging.bind(this),this.endRangeSelection.bind(this),"text",null),this.alwaysShowVerticalScrollInternal=!1,this.rangeSelectionEnabled=!0,this.vScrollElement=this.contentElement.createChild("div","chart-viewport-v-scroll"),this.vScrollContent=this.vScrollElement.createChild("div"),this.vScrollElement.addEventListener("scroll",this.onScroll.bind(this),!1),this.selectionOverlay=this.contentElement.createChild("div","chart-viewport-selection-overlay hidden"),this.selectedTimeSpanLabel=this.selectionOverlay.createChild("div","time-span"),this.cursorElement=this.contentElement.createChild("div","chart-cursor-element hidden"),this.#Le&&this.cursorElement.classList.add("using-new-overlays"),this.reset(),this.rangeSelectionStart=null,this.rangeSelectionEnd=null}alwaysShowVerticalScroll(){this.alwaysShowVerticalScrollInternal=!0,this.vScrollElement.classList.add("always-show-scrollbar")}disableRangeSelection(){this.rangeSelectionEnabled=!1,this.rangeSelectionStart=null,this.rangeSelectionEnd=null,this.updateRangeSelectionOverlay()}isDragging(){return this.isDraggingInternal}elementsToRestoreScrollPositionsFor(){return[this.vScrollElement]}updateScrollBar(){const e=this.alwaysShowVerticalScrollInternal||this.totalHeight>this.offsetHeight;this.vScrollElement.classList.contains("hidden")===e&&(this.vScrollElement.classList.toggle("hidden",!e),this.updateContentElementSize())}onResize(){this.updateScrollBar(),this.updateContentElementSize(),this.scheduleUpdate()}reset(){this.vScrollElement.scrollTop=0,this.scrollTop=0,this.rangeSelectionStart=null,this.rangeSelectionEnd=null,this.isDraggingInternal=!1,this.dragStartPointX=0,this.dragStartPointY=0,this.dragStartScrollTop=0,this.visibleLeftTime=0,this.visibleRightTime=0,this.offsetWidth=0,this.offsetHeight=0,this.totalHeight=0,this.targetLeftTime=0,this.targetRightTime=0,this.isUpdateScheduled=!1,this.updateContentElementSize()}updateContentElementSize(){let e=this.vScrollElement.offsetLeft;e||(e=this.contentElement.offsetWidth),this.offsetWidth=e,this.offsetHeight=this.contentElement.offsetHeight,this.delegate.setSize(this.offsetWidth,this.offsetHeight)}setContentHeight(e){this.totalHeight=e,this.vScrollContent.style.height=e+"px",this.updateScrollBar(),this.updateContentElementSize(),this.scrollTop+this.offsetHeight<=e||(this.scrollTop=Math.max(0,e-this.offsetHeight),this.vScrollElement.scrollTop=this.scrollTop)}setScrollOffset(e,t){t=t||0,this.vScrollElement.scrollTop>e?this.vScrollElement.scrollTop=e:this.vScrollElement.scrollTop<e-this.offsetHeight+t&&(this.vScrollElement.scrollTop=e-this.offsetHeight+t)}scrollOffset(){return this.vScrollElement.scrollTop}chartHeight(){return this.offsetHeight}setBoundaries(e,t){this.minimumBoundary=e,this.totalTime=t}onMouseWheel(e){const t=e,i=t.shiftKey!==("zoom"===s.Settings.Settings.instance().moduleSetting("flamechart-mouse-wheel-action").get()),r=!i&&(t.deltaY||53===Math.abs(t.deltaX)),n=i&&Math.abs(t.deltaX)>Math.abs(t.deltaY);if(r)this.vScrollElement.scrollTop+=(t.deltaY||t.deltaX)/53*this.offsetHeight/8;else if(n)this.handlePanGesture(t.deltaX,!0);else{const e=1/53;this.handleZoomGesture(Math.pow(1.2,(t.deltaY||t.deltaX)*e)-1)}e.consume(!0)}startDragging(e){return!e.shiftKey&&(this.isDraggingInternal=!0,this.dragStartPointX=e.pageX,this.dragStartPointY=e.pageY,this.dragStartScrollTop=this.vScrollElement.scrollTop,this.viewportElement.style.cursor="",!0)}dragging(e){const t=this.dragStartPointX-e.pageX;this.dragStartPointX=e.pageX,this.handlePanGesture(t);const i=this.dragStartPointY-e.pageY;this.vScrollElement.scrollTop=this.dragStartScrollTop+i}endDragging(){this.isDraggingInternal=!1}startRangeSelection(e){if(!e.shiftKey||!this.rangeSelectionEnabled)return!1;if(this.isDraggingInternal=!0,this.selectionOffsetShiftX=e.offsetX-e.pageX,this.selectionStartX=e.offsetX,!this.#Le){const e=this.selectionOverlay.style;e.left=this.selectionStartX+"px",e.width="1px",this.selectedTimeSpanLabel.textContent="",this.selectionOverlay.classList.remove("hidden")}return!0}endRangeSelection(){this.isDraggingInternal=!1,this.selectionStartX=null}hideRangeSelection(){this.selectionOverlay.classList.add("hidden"),this.rangeSelectionStart=null,this.rangeSelectionEnd=null}setRangeSelection(e,t){this.rangeSelectionEnabled&&(this.rangeSelectionStart=Math.min(e,t),this.rangeSelectionEnd=Math.max(e,t),this.updateRangeSelectionOverlay(),this.delegate.updateRangeSelection(this.rangeSelectionStart,this.rangeSelectionEnd))}onClick(e){const t=e,i=this.pixelToTime(t.offsetX);null!==this.rangeSelectionStart&&null!==this.rangeSelectionEnd&&i>=this.rangeSelectionStart&&i<=this.rangeSelectionEnd||this.hideRangeSelection()}rangeSelectionDragging(e){const t=r.NumberUtilities.clamp(e.pageX+this.selectionOffsetShiftX,0,this.offsetWidth),i=this.pixelToTime(this.selectionStartX||0),s=this.pixelToTime(t);this.setRangeSelection(i,s)}updateRangeSelectionOverlay(){if(this.#Le)return;const t=this.rangeSelectionStart||0,i=this.rangeSelectionEnd||0,s=100,n=r.NumberUtilities.clamp(this.timeToPosition(t),-100,this.offsetWidth+s),o=r.NumberUtilities.clamp(this.timeToPosition(i),-100,this.offsetWidth+s),a=this.selectionOverlay.style;a.left=n+"px",a.width=o-n+"px";const l=i-t;this.selectedTimeSpanLabel.textContent=e.TimeUtilities.preciseMillisToString(l,2)}onScroll(){this.scrollTop=this.vScrollElement.scrollTop,this.scheduleUpdate()}onMouseOut(){this.lastMouseOffsetX=-1,this.showCursor(!1)}updateCursorPosition(e){const t=e;this.lastMouseOffsetX=t.offsetX;const i=this.#Se.enableCursorElement&&t.shiftKey&&!t.metaKey;this.showCursor(i),i&&(this.cursorElement.style.left=t.offsetX+"px")}pixelToTime(e){return this.pixelToTimeOffset(e)+this.visibleLeftTime}pixelToTimeOffset(e){return e*(this.visibleRightTime-this.visibleLeftTime)/this.offsetWidth}timeToPosition(e){return Math.floor((e-this.visibleLeftTime)/(this.visibleRightTime-this.visibleLeftTime)*this.offsetWidth)}timeToPixel(){return this.offsetWidth/(this.visibleRightTime-this.visibleLeftTime)}showCursor(e){this.cursorElement.classList.toggle("hidden",!e||this.isDraggingInternal)}onChartKeyDown(e){const t=e;this.showCursor(t.shiftKey),this.handleZoomPanKeys(e)}onChartKeyUp(e){const t=e;this.showCursor(t.shiftKey)}handleZoomPanKeys(e){if(!a.KeyboardShortcut.KeyboardShortcut.hasNoModifiers(e))return;const t=e,i=t.shiftKey?.8:.3,s=t.shiftKey?320:160;switch(t.code){case"KeyA":this.handlePanGesture(-s,!0);break;case"KeyD":this.handlePanGesture(s,!0);break;case"KeyW":this.handleZoomGesture(-i);break;case"KeyS":this.handleZoomGesture(i);break;default:return}e.consume(!0)}handleZoomGesture(e){const t={left:this.targetLeftTime,right:this.targetRightTime},i=this.pixelToTime(this.lastMouseOffsetX||0);t.left+=(t.left-i)*e,t.right+=(t.right-i)*e,this.requestWindowTimes(t,!0)}handlePanGesture(e,t){const i={left:this.targetLeftTime,right:this.targetRightTime},s=r.NumberUtilities.clamp(this.pixelToTimeOffset(e),this.minimumBoundary-i.left,this.totalTime+this.minimumBoundary-i.right);i.left+=s,i.right+=s,this.requestWindowTimes(i,Boolean(t))}requestWindowTimes(e,t){const i=this.minimumBoundary+this.totalTime;e.left<this.minimumBoundary?(e.right=Math.min(e.right+this.minimumBoundary-e.left,i),e.left=this.minimumBoundary):e.right>i&&(e.left=Math.max(e.left-e.right+i,this.minimumBoundary),e.right=i),e.right-e.left<.5||this.delegate.windowChanged(e.left,e.right,t)}scheduleUpdate(){this.cancelWindowTimesAnimation||this.isUpdateScheduled||(this.isUpdateScheduled=!0,te.write((()=>{this.isUpdateScheduled=!1,this.update()})))}update(){this.updateRangeSelectionOverlay(),this.delegate.update()}setWindowTimes(e,t,i){if(e!==this.targetLeftTime||t!==this.targetRightTime){if(!i||0===this.visibleLeftTime||this.visibleRightTime===1/0||0===e&&t===1/0||e===1/0&&t===1/0)return this.targetLeftTime=e,this.targetRightTime=t,this.visibleLeftTime=e,this.visibleRightTime=t,void this.scheduleUpdate();this.cancelWindowTimesAnimation&&(this.cancelWindowTimesAnimation(),this.visibleLeftTime=this.targetLeftTime,this.visibleRightTime=this.targetRightTime),this.targetLeftTime=e,this.targetRightTime=t,this.cancelWindowTimesAnimation=a.UIUtils.animateFunction(this.element.window(),function(e,t){this.visibleLeftTime=e,this.visibleRightTime=t,this.update()}.bind(this),[{from:this.visibleLeftTime,to:e},{from:this.visibleRightTime,to:t}],100,(()=>{this.cancelWindowTimesAnimation=null}))}}windowLeftTime(){return this.visibleLeftTime}windowRightTime(){return this.visibleRightTime}}var se=Object.freeze({__proto__:null,ChartViewport:ie}),re={cssContent:".film-strip-view{overflow-x:auto;overflow-y:hidden;align-content:flex-start;min-height:81px}.film-strip-view .frame .time{font-size:10px;margin-top:2px}.film-strip-view .label{margin:auto;font-size:18px;color:var(--sys-color-token-subtle)}.film-strip-view .frame{background:none;border:none;display:flex;flex-direction:column;align-items:center;padding:4px;flex:none;cursor:pointer}.film-strip-view .frame .thumbnail{min-width:24px;display:flex;flex-direction:row;align-items:center;pointer-events:none;margin:4px 0 2px;border:2px solid transparent}.film-strip-view .frame:hover .thumbnail,\n.film-strip-view .frame:focus .thumbnail{border-color:var(--sys-color-primary)}.film-strip-view .frame .thumbnail img{height:auto;width:auto;max-width:80px;max-height:50px;pointer-events:none;box-shadow:0 0 3px var(--box-shadow-outline-color);flex:0 0 auto}.film-strip-view .frame:hover .thumbnail img,\n.film-strip-view .frame:focus .thumbnail img{box-shadow:none}\n/*# sourceURL=filmStripView.css */\n"};const ne={doubleclickToZoomImageClickTo:"Doubleclick to zoom image. Click to view preceding requests.",screenshotForSSelectToView:"Screenshot for {PH1} - select to view preceding requests.",screenshot:"Screenshot",previousFrame:"Previous frame",nextFrame:"Next frame"},oe=e.i18n.registerUIStrings("ui/legacy/components/perf_ui/FilmStripView.ts",ne),ae=e.i18n.getLocalizedString.bind(void 0,oe);class le extends(s.ObjectWrapper.eventMixin(a.Widget.HBox)){statusLabel;zeroTime=d.Types.Timing.MilliSeconds(0);#ke=null;constructor(){super(!0),this.registerRequiredCSS(re),this.contentElement.classList.add("film-strip-view"),this.statusLabel=this.contentElement.createChild("div","label"),this.reset()}static setImageData(e,t){t&&(e.src=t)}setModel(e){this.#ke=e,this.zeroTime=d.Helpers.Timing.microSecondsToMilliseconds(e.zeroTime),this.#ke.frames.length?this.update():this.reset()}createFrameElement(t){const i=d.Helpers.Timing.microSecondsToMilliseconds(t.screenshotEvent.ts),s=e.TimeUtilities.millisToString(i-this.zeroTime),r=document.createElement("button");r.classList.add("frame"),a.Tooltip.Tooltip.install(r,ae(ne.doubleclickToZoomImageClickTo)),r.createChild("div","time").textContent=s,r.tabIndex=0,r.setAttribute("jslog",`${u.preview("film-strip").track({click:!0,dblclick:!0})}`),r.setAttribute("aria-label",ae(ne.screenshotForSSelectToView,{PH1:s})),a.ARIAUtils.markAsButton(r);const n=r.createChild("div","thumbnail").createChild("img");return n.alt=ae(ne.screenshot),r.addEventListener("mousedown",this.onMouseEvent.bind(this,"FrameSelected",i),!1),r.addEventListener("mouseenter",this.onMouseEvent.bind(this,"FrameEnter",i),!1),r.addEventListener("mouseout",this.onMouseEvent.bind(this,"FrameExit",i),!1),r.addEventListener("dblclick",this.onDoubleClick.bind(this,t),!1),r.addEventListener("focusin",this.onMouseEvent.bind(this,"FrameEnter",i),!1),r.addEventListener("focusout",this.onMouseEvent.bind(this,"FrameExit",i),!1),le.setImageData(n,t.screenshotEvent.args.dataUri),r}update(){const e=this.#ke?.frames;if(!e||e.length<1)return;const t=e.map((e=>this.createFrameElement(e)));this.contentElement.removeChildren();for(const e of t)this.contentElement.appendChild(e)}onMouseEvent(e,t){this.dispatchEventToListeners(e,t)}onDoubleClick(e){this.#ke&&he.fromFilmStrip(this.#ke,e.index)}reset(){this.zeroTime=d.Types.Timing.MilliSeconds(0),this.contentElement.removeChildren(),this.contentElement.appendChild(this.statusLabel)}setStatusText(e){this.statusLabel.textContent=e}}class he{fragment;widget;index;dialog=null;#Pe;static fromFilmStrip(e,t){const i={source:"TraceEngine",frames:e.frames,index:t,zeroTime:d.Helpers.Timing.microSecondsToMilliseconds(e.zeroTime)};return new he(i)}constructor(e){this.#Pe=e,this.index=e.index;const t=a.UIUtils.createTextButton("◀",this.onPrevFrame.bind(this));a.Tooltip.Tooltip.install(t,ae(ne.previousFrame));const i=a.UIUtils.createTextButton("▶",this.onNextFrame.bind(this));a.Tooltip.Tooltip.install(i,ae(ne.nextFrame)),this.fragment=a.Fragment.Fragment.build`
2
+ <x-widget flex=none margin=12px>
3
+ <x-hbox overflow=auto border='1px solid #ddd'>
4
+ <img $='image' data-film-strip-dialog-img style="max-height: 80vh; max-width: 80vw;"></img>
5
+ </x-hbox>
6
+ <x-hbox x-center justify-content=center margin-top=10px>
7
+ ${t}
8
+ <x-hbox $='time' margin=8px></x-hbox>
9
+ ${i}
10
+ </x-hbox>
11
+ </x-widget>
12
+ `,this.widget=this.fragment.element(),this.widget.tabIndex=0,this.widget.addEventListener("keydown",this.keyDown.bind(this),!1),this.dialog=null,this.render()}hide(){this.dialog&&this.dialog.hide()}#Ie(){return this.#Pe.frames.length}#De(){return this.#Pe.zeroTime}resize(){this.dialog||(this.dialog=new a.Dialog.Dialog,this.dialog.contentElement.appendChild(this.widget),this.dialog.setDefaultFocusedElement(this.widget),this.dialog.show()),this.dialog.setSizeBehavior("MeasureContent")}keyDown(e){const t=e;switch(t.key){case"ArrowLeft":l.Platform.isMac()&&t.metaKey?this.onFirstFrame():this.onPrevFrame();break;case"ArrowRight":l.Platform.isMac()&&t.metaKey?this.onLastFrame():this.onNextFrame();break;case"Home":this.onFirstFrame();break;case"End":this.onLastFrame()}}onPrevFrame(){this.index>0&&--this.index,this.render()}onNextFrame(){this.index<this.#Ie()-1&&++this.index,this.render()}onFirstFrame(){this.index=0,this.render()}onLastFrame(){this.index=this.#Ie()-1,this.render()}render(){const t=this.#Pe.frames[this.index],i=d.Helpers.Timing.microSecondsToMilliseconds(t.screenshotEvent.ts);this.fragment.$("time").textContent=e.TimeUtilities.millisToString(i-this.#De());const s=this.fragment.$("image");s.setAttribute("data-frame-index",this.index.toString()),le.setImageData(s,t.screenshotEvent.args.dataUri),this.resize()}}var de=Object.freeze({__proto__:null,FilmStripView:le,Dialog:he});var ce=Object.freeze({__proto__:null,GCActionDelegate:class{handleAction(e,t){for(const e of m.TargetManager.TargetManager.instance().models(m.HeapProfilerModel.HeapProfilerModel))e.collectGarbage();return!0}}});let ue,me;class pe{helper;constructor(){this.helper=new ve("performance")}static instance(e={forceNew:null}){const{forceNew:t}=e;return ue&&!t||(ue=new pe),ue}reset(){this.helper.reset()}appendLegacyCPUProfile(e,t){const i=[e.profileHead],s=(e.profileEndTime-e.profileStartTime)/e.totalHitCount;for(;i.length;){const e=i.pop().children;for(let r=0;r<e.length;++r){const n=e[r];if(i.push(n),n.url&&n.positionTicks)for(let e=0;e<n.positionTicks.length;++e){const i=n.positionTicks[e],r=i.line,o=i.ticks*s;this.helper.addLineData(t,n.url,r,o)}}}}appendCPUProfile(e,t){if(!e.lines)return this.appendLegacyCPUProfile(e,t),void this.helper.scheduleUpdate();if(e.samples){for(let i=1;i<e.samples.length;++i){const s=e.lines[i];if(!s)continue;const r=e.nodeByIndex(i);if(!r)continue;const n=Number(r.scriptId)||r.url;if(!n)continue;const o=e.timestamps[i]-e.timestamps[i-1];this.helper.addLineData(t,n,s,o)}this.helper.scheduleUpdate()}}}class ge{helper;constructor(){this.helper=new ve("memory")}static instance(e={forceNew:null}){const{forceNew:t}=e;return me&&!t||(me=new ge),me}reset(){this.helper.reset()}appendHeapProfile(e,t){const i=this.helper;!function e(s){if(s.children.forEach(e),!s.selfSize)return;const r=Number(s.callFrame.scriptId)||s.callFrame.url;if(!r)return;const n=s.callFrame.lineNumber+1;i.addLineData(t,r,n,s.selfSize)}(e.head),i.scheduleUpdate()}}class ve{type;locationPool;updateTimer;lineData;constructor(e){this.type=e,this.locationPool=new h.LiveLocation.LiveLocationPool,this.updateTimer=null,this.reset()}reset(){this.lineData=new Map,this.scheduleUpdate()}addLineData(e,t,i,s){let r=this.lineData.get(e);r||(r=new Map,this.lineData.set(e,r));let n=r.get(t);n||(n=new Map,r.set(t,n)),n.set(i,(n.get(i)||0)+s)}scheduleUpdate(){this.updateTimer||(this.updateTimer=window.setTimeout((()=>{this.updateTimer=null,this.doUpdate()}),0))}async doUpdate(){this.locationPool.disposeAll();const e=new Map,t=[];for(const[i,s]of this.lineData){const r=i?i.model(m.DebuggerModel.DebuggerModel):null;for(const[i,n]of s){const s=p.Workspace.WorkspaceImpl.instance();if(r){const s=h.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();for(const o of n){const n=o[0]-1,a=o[1],l="string"==typeof i?r.createRawLocationByURL(i,n,0):r.createRawLocationByScriptId(String(i),n,0);l&&t.push(s.rawLocationToUILocation(l).then((t=>{if(t){let i=e.get(t.uiSourceCode);i||(i=new Map,e.set(t.uiSourceCode,i)),i.set(t.lineNumber+1,a)}})))}}else if("string"==typeof i){const t=s.uiSourceCodeForURL(i);t&&e.set(t,n)}}await Promise.all(t);for(const[t,i]of e)t.setDecorationData(this.type,i)}for(const t of p.Workspace.WorkspaceImpl.instance().uiSourceCodes())e.has(t)||t.setDecorationData(this.type,void 0)}}var fe=Object.freeze({__proto__:null,Performance:pe,Memory:ge,Helper:ve});let we;class be{running;sessionId;loadEventCallback;setting;constructor(){this.running=!1,this.sessionId=0,this.loadEventCallback=()=>{},this.setting=s.Settings.Settings.instance().moduleSetting("memory-live-heap-profile"),this.setting.addChangeListener((e=>e.data?this.startProfiling():this.stopProfiling())),this.setting.get()&&this.startProfiling()}static instance(e={forceNew:null}){const{forceNew:t}=e;return we&&!t||(we=new be),we}async run(){}modelAdded(e){e.startSampling(1e4)}modelRemoved(e){}async startProfiling(){if(this.running)return;this.running=!0;const e=this.sessionId;m.TargetManager.TargetManager.instance().observeModels(m.HeapProfilerModel.HeapProfilerModel,this),m.TargetManager.TargetManager.instance().addModelListener(m.ResourceTreeModel.ResourceTreeModel,m.ResourceTreeModel.Events.Load,this.loadEventFired,this);do{const t=m.TargetManager.TargetManager.instance().models(m.HeapProfilerModel.HeapProfilerModel),i=await Promise.all(t.map((e=>e.getSamplingProfile())));if(e!==this.sessionId)break;ge.instance().reset();for(let e=0;e<i.length;++e){const s=i[e];s&&ge.instance().appendHeapProfile(s,t[e].target())}await Promise.race([new Promise((e=>window.setTimeout(e,l.InspectorFrontendHost.isUnderTest()?10:5e3))),new Promise((e=>{this.loadEventCallback=e}))])}while(e===this.sessionId);m.TargetManager.TargetManager.instance().unobserveModels(m.HeapProfilerModel.HeapProfilerModel,this),m.TargetManager.TargetManager.instance().removeModelListener(m.ResourceTreeModel.ResourceTreeModel,m.ResourceTreeModel.Events.Load,this.loadEventFired,this);for(const e of m.TargetManager.TargetManager.instance().models(m.HeapProfilerModel.HeapProfilerModel))e.stopSampling();ge.instance().reset()}stopProfiling(){this.running&&(this.running=!1,this.sessionId++)}loadEventFired(){this.loadEventCallback()}}var Te=Object.freeze({__proto__:null,LiveHeapProfile:be});const ye={lowest:"Lowest",low:"Low",medium:"Medium",high:"High",highest:"Highest"},Ee=e.i18n.registerUIStrings("ui/legacy/components/perf_ui/NetworkPriorities.ts",ye),xe=e.i18n.getLocalizedString.bind(void 0,Ee);const Ce=new Map;const Se=new Map;function Le(){return 0===Se.size&&(Se.set("VeryLow",xe(ye.lowest)),Se.set("Low",xe(ye.low)),Se.set("Medium",xe(ye.medium)),Se.set("High",xe(ye.high)),Se.set("VeryHigh",xe(ye.highest))),Se}const ke=new Map;var Pe=Object.freeze({__proto__:null,uiLabelForNetworkPriority:function(e){return Le().get(e)||""},uiLabelToNetworkPriority:function(e){0===Ce.size&&Le().forEach(((e,t)=>Ce.set(e,t)));const t=Ce.get(e);if(t)return t;throw new Error("Priority not found")},priorityUILabelMap:Le,networkPriorityWeight:function(e){return 0===ke.size&&(ke.set("VeryLow",1),ke.set("Low",2),ke.set("Medium",3),ke.set("High",4),ke.set("VeryHigh",5)),ke.get(e)||0}}),Ie={cssContent:'.overview-grid-window-selector{position:absolute;top:0;bottom:0;background-color:var(--sys-color-state-ripple-primary);z-index:250;pointer-events:none}.overview-grid-window-resizer{position:absolute;top:0;height:19px;width:10px;margin-left:-5px;background-color:var(--sys-color-tonal-container);border:1px solid var(--sys-color-tonal-outline);z-index:500;border-radius:3px}.overview-grid-window-resizer::before,\n.overview-grid-window-resizer::after{content:"";width:1px;background:var(--sys-color-primary);height:7px;position:absolute;left:2px;top:5px;border-radius:1px}.overview-grid-window-resizer::after{left:5px}.overview-grid-window-resizer:focus-visible{background-color:var(--sys-color-state-focus-highlight)}.overview-grid-cursor-area{position:absolute;left:0;right:0;top:20px;bottom:0;z-index:500;cursor:text}.overview-grid-cursor-position{position:absolute;top:0;bottom:0;width:2px;background-color:var(--sys-color-primary);z-index:500;pointer-events:none;visibility:hidden;overflow:hidden}.window-curtain-left,\n.window-curtain-right{background-color:var(--sys-color-state-ripple-primary);position:absolute;top:0;height:100%;z-index:300;pointer-events:none;border:2px none var(--sys-color-tonal-outline)}.window-curtain-left{left:0;border-right-style:solid}.window-curtain-right{right:0;border-left-style:solid}.create-breadcrumb-button-container{visibility:hidden;opacity:0%;transition:opacity 100ms 250ms;display:flex;position:absolute;top:15px;justify-content:center;z-index:600;left:0;right:0}.is-breadcrumb-button-visible{visibility:visible;opacity:100%}.create-breadcrumb-button-container.with-screenshots{top:20px}.create-breadcrumb-button{display:flex;flex-shrink:0;align-items:center;background:var(--sys-color-cdt-base-container);box-shadow:var(--drop-shadow-depth-3);border-radius:50px;padding:5px 10px;gap:2px}.create-breadcrumb-button:active{cursor:default}.create-breadcrumb-button:hover{background:var(--sys-color-neutral-container)}@media (forced-colors: active){.overview-grid-cursor-position{forced-color-adjust:none;background-color:Highlight}.window-curtain-left,\n .window-curtain-right{background-color:transparent;border-color:ButtonText}.overview-grid-window-resizer{background-color:ButtonText}.overview-grid-window-resizer:hover,\n .overview-grid-window-resizer:active,\n .overview-grid-window-resizer:focus-visible{forced-color-adjust:none;background-color:Highlight}}\n/*# sourceURL=overviewGrid.css */\n'};const De={overviewGridWindow:"Overview grid window",leftResizer:"Left Resizer",rightResizer:"Right Resizer"},Re=e.i18n.registerUIStrings("ui/legacy/components/perf_ui/OverviewGrid.ts",De),Me=e.i18n.getLocalizedString.bind(void 0,Re);class He{element;grid;window;constructor(e,t){this.element=document.createElement("div"),this.element.id=e+"-overview-container",this.grid=new N,this.grid.element.id=e+"-overview-grid",this.grid.setScrollTop(0),this.element.appendChild(this.grid.element),this.window=new Ae(this.element,this.grid.dividersLabelBarElement,t)}enableCreateBreadcrumbsButton(){return this.window.enableCreateBreadcrumbsButton()}set showingScreenshots(e){this.window.showingScreenshots=e}clientWidth(){return this.element.clientWidth}updateDividers(e){this.grid.updateDividers(e)}addEventDividers(e){this.grid.addEventDividers(e)}removeEventDividers(){this.grid.removeEventDividers()}reset(){this.window.reset()}windowLeft(){return this.window.windowLeft||0}windowRight(){return this.window.windowRight||0}setWindow(e,t){this.window.setWindow(e,t)}addEventListener(e,t,i){return this.window.addEventListener(e,t,i)}setClickHandler(e){this.window.setClickHandler(e)}zoom(e,t){this.window.zoom(e,t)}setResizeEnabled(e){this.window.setEnabled(e)}}const Oe=14,Be=10;class Ae extends s.ObjectWrapper.ObjectWrapper{parentElement;calculator;leftResizeElement;rightResizeElement;leftCurtainElement;rightCurtainElement;breadcrumbButtonContainerElement;createBreadcrumbButton;curtainsRange;breadcrumbZoomIcon;overviewWindowSelector;offsetLeft;dragStartPoint;dragStartLeft;dragStartRight;windowLeft;windowRight;enabled;clickHandler;resizerParentOffsetLeft;#Re=!1;#Me=!1;constructor(e,t,s){super(),this.parentElement=e,this.parentElement.classList.add("parent-element"),a.ARIAUtils.markAsGroup(this.parentElement),this.calculator=s,a.ARIAUtils.setLabel(this.parentElement,Me(De.overviewGridWindow)),a.UIUtils.installDragHandle(this.parentElement,this.startWindowSelectorDragging.bind(this),this.windowSelectorDragging.bind(this),this.endWindowSelectorDragging.bind(this),"text",null),t&&a.UIUtils.installDragHandle(t,this.startWindowDragging.bind(this),this.windowDragging.bind(this),null,"-webkit-grabbing","-webkit-grab"),this.parentElement.addEventListener("wheel",this.onMouseWheel.bind(this),!0),this.parentElement.addEventListener("dblclick",this.resizeWindowMaximum.bind(this),!0),i.ThemeSupport.instance().appendStyle(this.parentElement,Ie),this.leftResizeElement=e.createChild("div","overview-grid-window-resizer"),a.UIUtils.installDragHandle(this.leftResizeElement,this.resizerElementStartDragging.bind(this),this.leftResizeElementDragging.bind(this),null,"ew-resize"),this.rightResizeElement=e.createChild("div","overview-grid-window-resizer"),a.UIUtils.installDragHandle(this.rightResizeElement,this.resizerElementStartDragging.bind(this),this.rightResizeElementDragging.bind(this),null,"ew-resize"),a.ARIAUtils.setLabel(this.leftResizeElement,Me(De.leftResizer)),a.ARIAUtils.markAsSlider(this.leftResizeElement);this.leftResizeElement.addEventListener("keydown",(e=>this.handleKeyboardResizing(e,!1))),this.leftResizeElement.addEventListener("click",this.onResizerClicked),a.ARIAUtils.setLabel(this.rightResizeElement,Me(De.rightResizer)),a.ARIAUtils.markAsSlider(this.rightResizeElement);this.rightResizeElement.addEventListener("keydown",(e=>this.handleKeyboardResizing(e,!0))),this.rightResizeElement.addEventListener("focus",this.onRightResizeElementFocused.bind(this)),this.rightResizeElement.addEventListener("click",this.onResizerClicked),this.leftCurtainElement=e.createChild("div","window-curtain-left"),this.rightCurtainElement=e.createChild("div","window-curtain-right"),this.breadcrumbButtonContainerElement=e.createChild("div","create-breadcrumb-button-container"),this.createBreadcrumbButton=this.breadcrumbButtonContainerElement.createChild("div","create-breadcrumb-button"),this.createBreadcrumbButton.setAttribute("jslog",`${u.action("timeline.create-breadcrumb").track({click:!0})}`),this.reset()}enableCreateBreadcrumbsButton(){return this.curtainsRange=this.createBreadcrumbButton.createChild("div"),this.breadcrumbZoomIcon=new g.Icon.Icon,this.breadcrumbZoomIcon.data={iconName:"zoom-in",color:"var(--icon-default)",width:"20px",height:"20px"},this.createBreadcrumbButton.appendChild(this.breadcrumbZoomIcon),this.createBreadcrumbButton.addEventListener("click",(()=>{this.#He()})),this.#Re=!0,this.#Oe(this.parentElement),this.#Oe(this.rightResizeElement),this.#Oe(this.leftResizeElement),this.breadcrumbButtonContainerElement}set showingScreenshots(e){this.breadcrumbButtonContainerElement.classList.toggle("with-screenshots",e)}#Oe(e){this.#Re&&(e.addEventListener("mouseover",(()=>{(this.windowLeft??0)<=0&&(this.windowRight??1)>=1?(this.breadcrumbButtonContainerElement.classList.toggle("is-breadcrumb-button-visible",!1),this.#Me=!1):(this.breadcrumbButtonContainerElement.classList.toggle("is-breadcrumb-button-visible",!0),this.#Me=!0)})),e.addEventListener("mouseout",(()=>{this.breadcrumbButtonContainerElement.classList.toggle("is-breadcrumb-button-visible",!1),this.#Me=!1})))}onResizerClicked(e){e.target&&e.target.focus()}onRightResizeElementFocused(){this.parentElement.scrollLeft=0}reset(){this.windowLeft=0,this.windowRight=1,this.setEnabled(!0),this.updateCurtains()}setEnabled(e){this.enabled=e,this.rightResizeElement.tabIndex=e?0:-1,this.leftResizeElement.tabIndex=e?0:-1}setClickHandler(e){this.clickHandler=e}resizerElementStartDragging(e){const t=e,i=e.target;return!!this.enabled&&(this.resizerParentOffsetLeft=t.pageX-t.offsetX-i.offsetLeft,e.stopPropagation(),!0)}leftResizeElementDragging(e){const t=e;this.resizeWindowLeft(t.pageX-(this.resizerParentOffsetLeft||0)),e.preventDefault()}rightResizeElementDragging(e){const t=e;this.resizeWindowRight(t.pageX-(this.resizerParentOffsetLeft||0)),e.preventDefault()}handleKeyboardResizing(e,t){const i=e,s=e.target;let r=!1;if("ArrowLeft"===i.key||"ArrowRight"===i.key){"ArrowRight"===i.key&&(r=!0);const n=this.getNewResizerPosition(s.offsetLeft,r,i.ctrlKey);t?this.resizeWindowRight(n):this.resizeWindowLeft(n),e.consume(!0)}}getNewResizerPosition(e,t,i){let s,r=i?10:2;r=t?r:-Math.abs(r);return s=e+5+r,t&&s<Be?s=Be:!t&&s>this.parentElement.clientWidth-Be&&(s=this.parentElement.clientWidth-Be),s}startWindowSelectorDragging(e){if(!this.enabled)return!1;const t=e;this.offsetLeft=this.parentElement.getBoundingClientRect().left;const i=t.x-this.offsetLeft;return this.overviewWindowSelector=new Ge(this.parentElement,i),!0}windowSelectorDragging(e){if(this.#Me=!0,!this.overviewWindowSelector)return;const t=e;this.overviewWindowSelector.updatePosition(t.x-this.offsetLeft),e.preventDefault()}endWindowSelectorDragging(e){if(!this.overviewWindowSelector)return;const t=e,i=this.overviewWindowSelector.close(t.x-this.offsetLeft);if(this.#Re&&i.start===i.end)return;delete this.overviewWindowSelector;if(i.end-i.start<3){if(this.clickHandler&&this.clickHandler.call(null,e))return;const t=i.end;i.start=Math.max(0,t-7),i.end=Math.min(this.parentElement.clientWidth,t+7)}else i.end-i.start<Oe&&(this.parentElement.clientWidth-i.end>Oe?i.end=i.start+Oe:i.start=i.end-Oe);this.setWindowPosition(i.start,i.end)}startWindowDragging(e){const t=e;return this.dragStartPoint=t.pageX,this.dragStartLeft=this.windowLeft||0,this.dragStartRight=this.windowRight||0,e.stopPropagation(),!0}windowDragging(e){this.#Me=!0,this.#Re&&this.breadcrumbButtonContainerElement.classList.toggle("is-breadcrumb-button-visible",!0);const t=e;t.preventDefault();let i=(t.pageX-this.dragStartPoint)/this.parentElement.clientWidth;this.dragStartLeft+i<0&&(i=-this.dragStartLeft),this.dragStartRight+i>1&&(i=1-this.dragStartRight),this.setWindow(this.dragStartLeft+i,this.dragStartRight+i)}resizeWindowLeft(e){this.#Me=!0,e<Be?e=0:e>this.rightResizeElement.offsetLeft-4&&(e=this.rightResizeElement.offsetLeft-4),this.setWindowPosition(e,null)}resizeWindowRight(e){this.#Me=!0,e>this.parentElement.clientWidth-Be?e=this.parentElement.clientWidth:e<this.leftResizeElement.offsetLeft+Oe&&(e=this.leftResizeElement.offsetLeft+Oe),this.setWindowPosition(null,e)}resizeWindowMaximum(){this.setWindowPosition(0,this.parentElement.clientWidth)}getRawSliderValue(e){if(!this.calculator)throw new Error("No calculator to calculate boundaries");const t=this.calculator.minimumBoundary(),i=this.calculator.maximumBoundary()-t;return e?t+i*(this.windowLeft||0):t+i*(this.windowRight||0)}updateResizeElementPositionValue(e,t){const i=e.toFixed(2),s=t.toFixed(2);a.ARIAUtils.setAriaValueNow(this.leftResizeElement,i),a.ARIAUtils.setAriaValueNow(this.rightResizeElement,s);const r=Number(s)-.5,n=Number(i)+.5;a.ARIAUtils.setAriaValueMinMax(this.leftResizeElement,"0",r.toString()),a.ARIAUtils.setAriaValueMinMax(this.rightResizeElement,n.toString(),"100")}updateResizeElementPositionLabels(){if(!this.calculator)return;const e=this.calculator.formatValue(d.Types.Timing.MilliSeconds(this.getRawSliderValue(!0))),t=this.calculator.formatValue(d.Types.Timing.MilliSeconds(this.getRawSliderValue(!1)));a.ARIAUtils.setAriaValueText(this.leftResizeElement,String(e)),a.ARIAUtils.setAriaValueText(this.rightResizeElement,String(t))}updateResizeElementPercentageLabels(e,t){a.ARIAUtils.setAriaValueText(this.leftResizeElement,e),a.ARIAUtils.setAriaValueText(this.rightResizeElement,t)}calculateWindowPosition(){return{rawStartValue:Number(this.getRawSliderValue(!0)),rawEndValue:Number(this.getRawSliderValue(!1))}}setWindow(e,t){this.windowLeft=e,this.windowRight=t,this.updateCurtains(),this.calculator&&this.dispatchEventToListeners("WindowChangedWithPosition",this.calculateWindowPosition()),this.dispatchEventToListeners("WindowChanged"),this.#Be(e,t)}#Be(e,t){this.#Re&&(t>=1&&e<=0||!this.#Me?this.breadcrumbButtonContainerElement.classList.toggle("is-breadcrumb-button-visible",!1):this.breadcrumbButtonContainerElement.classList.toggle("is-breadcrumb-button-visible",!0))}#He(){this.dispatchEventToListeners("BreadcrumbAdded",this.calculateWindowPosition())}updateCurtains(){const e=this.windowLeft||0,t=this.windowRight||0;let i=e,s=t;const r=s-i;if(0!==this.parentElement.clientWidth){const n=r*this.parentElement.clientWidth,o=7;if(n<o){const a=o/n;i=(t+e-r*a)/2,s=(t+e+r*a)/2}}const n=100*i,o=100*s,a=100-100*s,l=n+"%",h=o+"%";this.leftResizeElement.style.left=l,this.rightResizeElement.style.left=h,this.leftCurtainElement.style.width=l,this.rightCurtainElement.style.width=a+"%",this.breadcrumbButtonContainerElement.style.marginLeft=n>0?n+"%":"0%",this.breadcrumbButtonContainerElement.style.marginRight=a>0?a+"%":"0%",this.curtainsRange&&(this.curtainsRange.textContent=this.getWindowRange().toFixed(0)+" ms"),this.updateResizeElementPositionValue(n,o),this.calculator?this.updateResizeElementPositionLabels():this.updateResizeElementPercentageLabels(l,h),this.toggleZoomButtonDisplay()}toggleZoomButtonDisplay(){this.breadcrumbZoomIcon&&(this.getWindowRange()<4.5?(this.breadcrumbZoomIcon.style.display="none",this.breadcrumbButtonContainerElement.style.pointerEvents="none"):(this.breadcrumbZoomIcon.style.display="flex",this.breadcrumbButtonContainerElement.style.pointerEvents="auto"))}getWindowRange(){if(!this.calculator)throw new Error("No calculator to calculate window range");const e=this.windowLeft&&this.windowLeft>0?this.windowLeft:0,t=this.windowRight&&this.windowRight<1?this.windowRight:1;return this.calculator.boundarySpan()*(t-e)}setWindowPosition(e,t){const i=this.parentElement.clientWidth,s="number"==typeof e?e/i:this.windowLeft,r="number"==typeof t?t/i:this.windowRight;this.setWindow(s||0,r||0)}onMouseWheel(e){const t=e;if(this.enabled){if(t.deltaY){const e=1.1,i=1/53,s=t.offsetX/this.parentElement.clientWidth;this.zoom(Math.pow(e,t.deltaY*i),s)}if(t.deltaX){let e=Math.round(.3*t.deltaX);const i=this.leftResizeElement.offsetLeft+5,s=this.rightResizeElement.offsetLeft+5;i-e<0&&(e=i),s-e>this.parentElement.clientWidth&&(e=s-this.parentElement.clientWidth),this.setWindowPosition(i-e,s-e),t.preventDefault()}}}zoom(e,t){let i=this.windowLeft||0,s=this.windowRight||0;const n=s-i;let o=e*n;o>1&&(o=1,e=o/n),i=t+(i-t)*e,i=r.NumberUtilities.clamp(i,0,1-o),s=t+(s-t)*e,s=r.NumberUtilities.clamp(s,o,1),this.setWindow(i,s)}}class Ge{startPosition;width;windowSelector;constructor(e,t){this.startPosition=t,this.width=e.offsetWidth,this.windowSelector=document.createElement("div"),this.windowSelector.className="overview-grid-window-selector",this.windowSelector.style.left=this.startPosition+"px",this.windowSelector.style.right=this.width-this.startPosition+"px",e.appendChild(this.windowSelector)}close(e){return e=Math.max(0,Math.min(e,this.width)),this.windowSelector.remove(),this.startPosition<e?{start:this.startPosition,end:e}:{start:e,end:this.startPosition}}updatePosition(e){(e=Math.max(0,Math.min(e,this.width)))<this.startPosition?(this.windowSelector.style.left=e+"px",this.windowSelector.style.right=this.width-this.startPosition+"px"):(this.windowSelector.style.left=this.startPosition+"px",this.windowSelector.style.right=this.width-e+"px")}}var Fe=Object.freeze({__proto__:null,OverviewGrid:He,MinSelectableSize:Oe,WindowScrollSpeedFactor:.3,ResizerOffset:5,OffsetFromWindowEnds:Be,Window:Ae,WindowSelector:Ge});const ze=new CSSStyleSheet;ze.replaceSync(".root{align-items:flex-start;display:flex;min-width:fit-content;white-space:nowrap}.chart-root{position:relative;overflow:hidden}.pie-chart-foreground{position:absolute;width:100%;height:100%;z-index:10;top:0;display:flex;pointer-events:none}.pie-chart-total{margin:auto;padding:2px 5px;pointer-events:auto}:focus{outline-width:0}.pie-chart-total.selected{font-weight:bold}.chart-root .slice.selected{stroke:var(--sys-color-primary);stroke-opacity:1;stroke-width:0.04;stroke-linecap:round;stroke-linejoin:round}.pie-chart-legend{margin-left:30px}.pie-chart-legend-row{margin:5px 2px 5px auto;padding-right:25px}.pie-chart-legend-row.selected{font-weight:bold}.pie-chart-legend-row:focus-visible{box-shadow:0 0 0 2px var(--sys-color-state-focus-ring)!important}.pie-chart-swatch{display:inline-block;width:11px;height:11px;margin:0 6px;top:1px;position:relative;border:1px solid var(--sys-color-neutral-outline)}.pie-chart-name{display:inline-block}.pie-chart-size{display:inline-block;text-align:right;width:70px}@media (forced-colors: active){.pie-chart-swatch{forced-color-adjust:none;border-color:ButtonText}.pie-chart-total{forced-color-adjust:none;background-color:canvas}}\n/*# sourceURL=pieChart.css */\n");const{render:We,html:Ne,svg:Ue}=v,_e={total:"Total"},Ve=e.i18n.registerUIStrings("ui/legacy/components/perf_ui/PieChart.ts",_e),Xe=e.i18n.getLocalizedString.bind(void 0,Ve);class $e extends HTMLElement{static litTagName=v.literal`devtools-perf-piechart`;shadow=this.attachShadow({mode:"open"});chartName="";size=0;formatter=e=>String(e);showLegend=!1;total=0;slices=[];totalSelected=!0;sliceSelected=-1;innerR=.618;lastAngle=-Math.PI/2;connectedCallback(){this.shadow.adoptedStyleSheets=[ze]}set data(e){this.chartName=e.chartName,this.size=e.size,this.formatter=e.formatter,this.showLegend=e.showLegend,this.total=e.total,this.slices=e.slices,this.render()}render(){this.lastAngle=-Math.PI/2;const e=Ne`
13
+ <div class="root" role="group" @keydown=${this.onKeyDown} aria-label=${this.chartName}
14
+ jslog=${u.pieChart().track({keydown:"ArrowUp|ArrowDown"})}>
15
+ <div class="chart-root" style="width: ${this.size}px; height: ${this.size}px;">
16
+ ${Ue`
17
+ <svg>
18
+ <g transform="scale(${this.size/2}) translate(1, 1) scale(0.99, 0.99)">
19
+ <circle r="1" stroke="hsl(0, 0%, 80%)" fill="transparent" stroke-width=${1/this.size}></circle>
20
+ <circle r=${this.innerR} stroke="hsl(0, 0%, 80%)" fill="transparent" stroke-width=${1/this.size}></circle>
21
+ ${this.slices.map(((e,t)=>{const i=this.sliceSelected===t,s=i&&!this.showLegend?"0":"-1";return Ue`<path class="slice ${i?"selected":""}"
22
+ jslog=${u.pieChartSlice().track({click:!0})}
23
+ @click=${this.onSliceClicked(t)} tabIndex=${s}
24
+ fill=${e.color} d=${this.getPathStringForSlice(e)}
25
+ aria-label=${e.title} id=${i?"selectedSlice":""}></path>`}))}
26
+ <!-- This is so that the selected slice is re-drawn on top, to avoid re-ordering slices
27
+ just to render them properly. -->
28
+ <use href="#selectedSlice" />
29
+ </g>
30
+ </svg>
31
+ `}
32
+ <div class="pie-chart-foreground">
33
+ <div class="pie-chart-total ${this.totalSelected?"selected":""}" @click=${this.selectTotal}
34
+ jslog=${u.pieChartTotal("select-total").track({click:!0})}
35
+ tabIndex=${this.totalSelected&&!this.showLegend?"1":"-1"}>
36
+ ${this.total?this.formatter(this.total):""}
37
+ </div>
38
+ </div>
39
+ </div>
40
+ ${this.showLegend?Ne`
41
+ <div class="pie-chart-legend" jslog=${u.section("legend")}>
42
+ ${this.slices.map(((e,t)=>{const i=this.sliceSelected===t;return Ne`
43
+ <div class="pie-chart-legend-row ${i?"selected":""}"
44
+ jslog=${u.pieChartSlice().track({click:!0})}
45
+ @click=${this.onSliceClicked(t)} tabIndex=${i?"0":"-1"}>
46
+ <div class="pie-chart-size">${this.formatter(e.value)}</div>
47
+ <div class="pie-chart-swatch" style="background-color: ${e.color};"></div>
48
+ <div class="pie-chart-name">${e.title}</div>
49
+ </div>`}))}
50
+ <div class="pie-chart-legend-row ${this.totalSelected?"selected":""}"
51
+ jslog=${u.pieChartTotal("select-total").track({click:!0})}
52
+ @click=${this.selectTotal} tabIndex=${this.totalSelected?"0":"-1"}>
53
+ <div class="pie-chart-size">${this.formatter(this.total)}</div>
54
+ <div class="pie-chart-swatch"></div>
55
+ <div class="pie-chart-name">${Xe(_e.total)}</div>
56
+ </div>
57
+ </div>
58
+ `:""}
59
+ `;We(e,this.shadow,{host:this})}onSliceClicked(e){return()=>{this.selectSlice(e)}}selectSlice(e){this.totalSelected=!1,this.sliceSelected=e,this.render()}selectTotal(){this.totalSelected=!0,this.sliceSelected=-1,this.render()}selectAndFocusTotal(){this.selectTotal();const e=this.shadow.querySelector(".pie-chart-legend > :last-child");e&&e.focus()}selectAndFocusSlice(e){this.selectSlice(e);const t=this.shadow.querySelector(`.pie-chart-legend > :nth-child(${e+1})`);t&&t.focus()}focusNextElement(){this.totalSelected?this.selectAndFocusSlice(0):this.sliceSelected===this.slices.length-1?this.selectAndFocusTotal():this.selectAndFocusSlice(this.sliceSelected+1)}focusPreviousElement(){this.totalSelected?this.selectAndFocusSlice(this.slices.length-1):0===this.sliceSelected?this.selectAndFocusTotal():this.selectAndFocusSlice(this.sliceSelected-1)}onKeyDown(e){let t=!1;"ArrowDown"===e.key?(this.focusNextElement(),t=!0):"ArrowUp"===e.key&&(this.focusPreviousElement(),t=!0),t&&(e.stopImmediatePropagation(),e.preventDefault())}getPathStringForSlice(e){let t=e.value/this.total*2*Math.PI;if(!isFinite(t))return;t=Math.min(t,2*Math.PI*.9999);const i=Math.cos(this.lastAngle),s=Math.sin(this.lastAngle);this.lastAngle+=t;const r=Math.cos(this.lastAngle),n=Math.sin(this.lastAngle),o=this.innerR,a=r*o,l=n*o,h=i*o,d=s*o,c=t>Math.PI?1:0;return`M${i},${s} A1,1,0,${c},1,${r},${n} L${a},${l} A${o},${o},0,${c},0,${h},${d} Z`}}customElements.define("devtools-perf-piechart",$e);var Ke=Object.freeze({__proto__:null,PieChart:$e});class je{#Ae=d.Types.Timing.MilliSeconds(0);#Ge=d.Types.Timing.MilliSeconds(100);workingArea;navStartTimes;computePosition(e){return(e-this.#Ae)/this.boundarySpan()*this.workingArea}positionToTime(e){return e/this.workingArea*this.boundarySpan()+this.#Ae}setBounds(e,t){this.#Ae=e,this.#Ge=t}setNavStartTimes(e){this.navStartTimes=e}setDisplayWidth(e){this.workingArea=e}reset(){this.setBounds(d.Types.Timing.MilliSeconds(0),d.Types.Timing.MilliSeconds(100))}formatValue(t,i){if(this.navStartTimes)for(let e=this.navStartTimes.length-1;e>=0;e--){const i=d.Helpers.Timing.microSecondsToMilliseconds(this.navStartTimes[e].ts);if(t>i){t-=i-this.zeroTime();break}}return e.TimeUtilities.preciseMillisToString(t-this.zeroTime(),i)}maximumBoundary(){return this.#Ge}minimumBoundary(){return this.#Ae}zeroTime(){return this.#Ae}boundarySpan(){return d.Types.Timing.MilliSeconds(this.#Ge-this.#Ae)}}var Ye=Object.freeze({__proto__:null,TimelineOverviewCalculator:je});const Ze=new CSSStyleSheet;Ze.replaceSync(".overview-info:not(:empty){display:flex;background:var(--sys-color-cdt-base-container);box-shadow:var(--drop-shadow);padding:3px}.overview-info .frame .time{display:none}.overview-info .frame .thumbnail img{max-width:50vw;max-height:50vh}\n/*# sourceURL=timelineOverviewInfo.css */\n");class qe extends(s.ObjectWrapper.eventMixin(a.Widget.VBox)){overviewCalculator;overviewGrid;cursorArea;cursorElement;overviewControls;markers;overviewInfo;updateThrottler;cursorEnabled;cursorPosition;lastWidth;windowStartTime;windowEndTime;muteOnWindowChanged;constructor(e){super(),this.element.id=e+"-overview-pane",this.overviewCalculator=new je,this.overviewGrid=new He(e,this.overviewCalculator),this.overviewGrid.element.setAttribute("jslog",`${u.timeline(`${e}-overview`).track({click:!0,drag:!0,hover:!0})}`),this.element.appendChild(this.overviewGrid.element),this.cursorArea=this.overviewGrid.element.createChild("div","overview-grid-cursor-area"),this.cursorElement=this.overviewGrid.element.createChild("div","overview-grid-cursor-position"),this.cursorArea.addEventListener("mousemove",this.onMouseMove.bind(this),!0),this.cursorArea.addEventListener("mouseleave",this.hideCursor.bind(this),!0),this.overviewGrid.setResizeEnabled(!1),this.overviewGrid.addEventListener("WindowChangedWithPosition",this.onWindowChanged,this),this.overviewGrid.addEventListener("BreadcrumbAdded",this.onBreadcrumbAdded,this),this.overviewGrid.setClickHandler(this.onClick.bind(this)),this.overviewControls=[],this.markers=new Map,this.overviewInfo=new Je(this.cursorElement),this.updateThrottler=new s.Throttler.Throttler(100),this.cursorEnabled=!1,this.cursorPosition=0,this.lastWidth=0,this.windowStartTime=0,this.windowEndTime=1/0,this.muteOnWindowChanged=!1}enableCreateBreadcrumbsButton(){const e=this.overviewGrid.enableCreateBreadcrumbsButton();e.addEventListener("mousemove",this.onMouseMove.bind(this),!0),e.addEventListener("mouseleave",this.hideCursor.bind(this),!0)}onMouseMove(e){if(!this.cursorEnabled)return;const t=e,i=e.target.getBoundingClientRect().left-this.cursorArea.getBoundingClientRect().left;this.cursorPosition=t.offsetX+i,this.cursorElement.style.left=this.cursorPosition+"px",this.cursorElement.style.visibility="visible",this.overviewInfo.setContent(this.buildOverviewInfo())}async buildOverviewInfo(){const e=this.element.ownerDocument,t=this.cursorPosition,i=await Promise.all(this.overviewControls.map((e=>e.overviewInfoPromise(t)))),s=e.createDocumentFragment(),r=i.filter((e=>null!==e));return s.append(...r),s}hideCursor(){this.cursorElement.style.visibility="hidden",this.overviewInfo.hide()}wasShown(){this.update()}willHide(){this.overviewInfo.hide()}onResize(){const e=this.element.offsetWidth;e!==this.lastWidth&&(this.lastWidth=e,this.scheduleUpdate())}setOverviewControls(e){for(let e=0;e<this.overviewControls.length;++e)this.overviewControls[e].dispose();for(let t=0;t<e.length;++t)e[t].setCalculator(this.overviewCalculator),e[t].show(this.overviewGrid.element);this.overviewControls=e,this.update()}set showingScreenshots(e){this.overviewGrid.showingScreenshots=e}setBounds(e,t){e===this.overviewCalculator.minimumBoundary()&&t===this.overviewCalculator.maximumBoundary()||(this.overviewCalculator.setBounds(e,t),this.overviewGrid.setResizeEnabled(!0),this.cursorEnabled=!0,this.scheduleUpdate(e,t))}setNavStartTimes(e){this.overviewCalculator.setNavStartTimes(e)}scheduleUpdate(e,t){this.updateThrottler.schedule((async()=>{this.update(e,t)}))}update(e,t){if(this.isShowing()){this.overviewCalculator.setDisplayWidth(this.overviewGrid.clientWidth());for(let i=0;i<this.overviewControls.length;++i)this.overviewControls[i].update(e,t);this.overviewGrid.updateDividers(this.overviewCalculator),this.updateMarkers(),this.updateWindow()}}setMarkers(e){this.markers=e}getMarkers(){return this.markers}updateMarkers(){const e=new Map;for(const t of this.markers.keys()){const i=this.markers.get(t),s=Math.round(this.overviewCalculator.computePosition(d.Types.Timing.MilliSeconds(t)));e.has(s)||(e.set(s,i),i.style.left=s+"px")}this.overviewGrid.removeEventDividers(),this.overviewGrid.addEventDividers([...e.values()])}reset(){this.windowStartTime=0,this.windowEndTime=1/0,this.overviewCalculator.reset(),this.overviewGrid.reset(),this.overviewGrid.setResizeEnabled(!1),this.cursorEnabled=!1,this.hideCursor(),this.markers=new Map;for(const e of this.overviewControls)e.reset();this.overviewInfo.hide(),this.scheduleUpdate()}onClick(e){return this.overviewControls.some((t=>t.onClick(e)))}onBreadcrumbAdded(){this.dispatchEventToListeners("OverviewPaneBreadcrumbAdded",{startTime:d.Types.Timing.MilliSeconds(this.windowStartTime),endTime:d.Types.Timing.MilliSeconds(this.windowEndTime)})}onWindowChanged(e){if(this.muteOnWindowChanged)return;if(!this.overviewControls.length)return;this.windowStartTime=e.data.rawStartValue===this.overviewCalculator.minimumBoundary()?0:e.data.rawStartValue,this.windowEndTime=e.data.rawEndValue===this.overviewCalculator.maximumBoundary()?1/0:e.data.rawEndValue;const t={startTime:d.Types.Timing.MilliSeconds(this.windowStartTime),endTime:d.Types.Timing.MilliSeconds(this.windowEndTime)};this.dispatchEventToListeners("OverviewPaneWindowChanged",t)}setWindowTimes(e,t){e===this.windowStartTime&&t===this.windowEndTime||(this.windowStartTime=e,this.windowEndTime=t,this.updateWindow(),this.dispatchEventToListeners("OverviewPaneWindowChanged",{startTime:d.Types.Timing.MilliSeconds(e),endTime:d.Types.Timing.MilliSeconds(t)}))}updateWindow(){if(!this.overviewControls.length)return;const e=this.overviewCalculator.minimumBoundary(),t=this.overviewCalculator.maximumBoundary()-e,i=e>0,s=i&&this.windowStartTime?Math.min((this.windowStartTime-e)/t,1):0,r=i&&this.windowEndTime<1/0?(this.windowEndTime-e)/t:1;this.muteOnWindowChanged=!0,this.overviewGrid.setWindow(s,r),this.muteOnWindowChanged=!1}}class Qe extends a.Widget.VBox{calculatorInternal;canvas;contextInternal;constructor(){super(),this.calculatorInternal=null,this.canvas=this.element.createChild("canvas","fill"),this.contextInternal=this.canvas.getContext("2d")}width(){return this.canvas.width}height(){return this.canvas.height}context(){if(!this.contextInternal)throw new Error("Unable to retrieve canvas context");return this.contextInternal}calculator(){return this.calculatorInternal}update(){throw new Error("Not implemented")}dispose(){this.detach()}reset(){}async overviewInfoPromise(e){return null}setCalculator(e){this.calculatorInternal=e}onClick(e){return!1}resetCanvas(){this.element.clientWidth&&this.setCanvasSize(this.element.clientWidth,this.element.clientHeight)}setCanvasSize(e,t){this.canvas.width=e*window.devicePixelRatio,this.canvas.height=t*window.devicePixelRatio}}class Je{anchorElement;glassPane;visible;element;constructor(e){this.anchorElement=e,this.glassPane=new a.GlassPane.GlassPane,this.glassPane.setPointerEventsBehavior("PierceContents"),this.glassPane.setMarginBehavior("Arrow"),this.glassPane.setSizeBehavior("MeasureContent"),this.visible=!1,this.element=a.UIUtils.createShadowRootWithCoreStyles(this.glassPane.contentElement,{cssFile:[Ze],delegatesFocus:void 0}).createChild("div","overview-info")}async setContent(e){this.visible=!0;const t=await e;this.visible&&(this.element.removeChildren(),this.element.appendChild(t),this.glassPane.setContentAnchorBox(this.anchorElement.boxInWindow()),this.glassPane.isShowing()||this.glassPane.show(this.anchorElement.ownerDocument))}hide(){this.visible=!1,this.glassPane.hide()}}var et=Object.freeze({__proto__:null,TimelineOverviewPane:qe,TimelineOverviewBase:Qe,OverviewInfo:Je});export{C as BrickBreaker,se as ChartViewport,de as FilmStripView,ee as FlameChart,I as Font,ce as GCActionDelegate,fe as LineLevelProfile,Te as LiveHeapProfile,Pe as NetworkPriorities,Fe as OverviewGrid,Ke as PieChart,U as TimelineGrid,Ye as TimelineOverviewCalculator,et as TimelineOverviewPane};
@@ -0,0 +1 @@
1
+ import*as e from"../../../../core/common/common.js";import*as t from"../../../../core/host/host.js";import*as i from"../../../../core/i18n/i18n.js";import*as s from"../../../../core/platform/platform.js";import*as r from"../../../../third_party/diff/diff.js";import*as o from"../../legacy.js";import*as n from"../../../../models/text_utils/text_utils.js";import*as l from"../../../components/text_prompt/text_prompt.js";import*as a from"../../../visual_logging/visual_logging.js";import*as d from"../../../components/icon_button/icon_button.js";const c=new CSSStyleSheet;c.replaceSync('.filtered-list-widget{display:flex;flex-direction:column;flex:auto;border:1px solid transparent}.hbox{flex:0 0 40px;align-items:center}.filtered-list-widget-hint{color:var(--sys-color-token-subtle);padding:12px}devtools-text-prompt{flex-grow:1;font-size:14px;font-family:".SFNSDisplay-Regular","Helvetica Neue","Lucida Grande",sans-serif;line-height:16px;padding:12px}.filtered-list-widget-progress{flex:none;background:rgb(0 0 0/20%);height:1px}.filtered-list-widget-progress-bar{background-color:var(--sys-color-primary-bright);height:2px;width:100%;transform:scaleX(0);transform-origin:top left;opacity:100%;transition:none}.filtered-widget-progress-fade{opacity:0%;transition:opacity 500ms}.filtered-list-widget .vbox > div.container{flex:auto;overflow-x:hidden;overflow-y:auto}.filtered-list-widget-item-wrapper{color:var(--sys-color-on-surface);display:flex;border-bottom:1px solid var(--sys-color-divider);font-family:".SFNSDisplay-Regular","Helvetica Neue","Lucida Grande",sans-serif;padding-left:8px;padding-right:8px}.filtered-list-widget-item-wrapper devtools-icon{align-self:center;flex:none;padding-right:8px}.filtered-list-widget-item-wrapper.selected{background-color:var(--sys-color-tonal-container)}.filtered-list-widget-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:center;font-size:12px;flex:auto}.filtered-list-widget-item.is-ignore-listed{opacity:50%}.filtered-list-widget-item.two-rows span.highlight{color:var(--sys-color-primary)}.filtered-list-widget-item.one-row span.highlight{font-weight:bold}.filtered-list-widget-item .filtered-list-widget-title{flex:initial;overflow:hidden;text-overflow:ellipsis}.filtered-list-widget-item .filtered-list-widget-subtitle{flex:none;overflow:hidden;text-overflow:ellipsis;color:var(--sys-color-token-subtle);display:flex;white-space:pre}.filtered-list-widget-item .filtered-list-widget-subtitle .first-part{flex-shrink:1000;overflow:hidden;text-overflow:ellipsis}.filtered-list-widget-item-wrapper .tag{padding:0 12px;border-radius:4px;line-height:24px;height:24px;align-self:center;flex-shrink:0}.filtered-list-widget-item-wrapper .deprecated-tag{font-size:11px;color:var(--sys-color-token-subtle)}.filtered-list-widget-item-wrapper.selected .deprecated-tag{color:var(--sys-color-on-tonal-container)}.filtered-list-widget-item-wrapper.selected .filtered-list-widget-item span.highlight{color:var(--sys-color-on-tonal-container);background-color:var(--sys-color-state-focus-select)}.filtered-list-widget-item-wrapper.selected .filtered-list-widget-title,\n.filtered-list-widget-item-wrapper.selected .filtered-list-widget-subtitle,\n.filtered-list-widget-item-wrapper.selected .tag{color:var(--sys-color-on-tonal-container)}.filtered-list-widget-item.one-row{height:36px;line-height:20px;padding-top:8px;padding-bottom:8px;display:flex}.filtered-list-widget-item.one-row .filtered-list-widget-title{padding-right:8px}.filtered-list-widget-item.two-rows{height:45px;padding-top:8px;padding-bottom:8px}.filtered-list-widget-item.two-rows .filtered-list-widget-title{font-weight:bold}.not-found-text{height:34px;line-height:34px;padding-left:8px;font-style:italic;color:var(--sys-color-state-disabled);background:var(--sys-color-state-disabled-container)}.quickpick-description{flex:none;overflow:hidden;text-overflow:ellipsis;color:var(--sys-color-state-disabled);padding-left:15px}@media (forced-colors: active){.filtered-list-widget{forced-color-adjust:none;border-color:ButtonText}.filtered-list-widget-item-wrapper .filtered-list-widget-title,\n .filtered-list-widget-item-wrapper .filtered-list-widget-subtitle,\n .quickpick-description{color:ButtonText}.filtered-list-widget-item-wrapper.selected{background-color:Highlight}.filtered-list-widget-item-wrapper.selected .filtered-list-widget-item .filtered-list-widget-title,\n .filtered-list-widget-item-wrapper.selected .filtered-list-widget-item .filtered-list-widget-subtitle{color:HighlightText}devtools-text-prompt{border-color:ButtonText}}\n/*# sourceURL=filteredListWidget.css */\n');const h={quickOpenPrompt:"Quick open prompt",quickOpen:"Quick open",noResultsFound:"No results found",sItemSOfS:"{PH1}, item {PH2} of {PH3}"},m=i.i18n.registerUIStrings("ui/legacy/components/quick_open/FilteredListWidget.ts",h),g=i.i18n.getLocalizedString.bind(void 0,m);class p extends(e.ObjectWrapper.eventMixin(o.Widget.VBox)){promptHistory;scoringTimer;filterTimer;loadTimeout;refreshListWithCurrentResult;dialog;query="";inputBoxElement;hintElement;bottomElementsContainer;progressElement;progressBarElement;items;list;itemElementsContainer;notFoundElement;prefix="";provider;queryChangedCallback;constructor(e,t,i){super(!0),this.promptHistory=t||[],this.scoringTimer=0,this.filterTimer=0,this.loadTimeout=0,this.contentElement.classList.add("filtered-list-widget");const s=this.onKeyDown.bind(this);this.contentElement.addEventListener("keydown",s),o.ARIAUtils.markAsCombobox(this.contentElement);const r=this.contentElement.createChild("div","hbox");this.inputBoxElement=new l.TextPrompt.TextPrompt,this.inputBoxElement.data={ariaLabel:g(h.quickOpenPrompt),prefix:"",suggestion:""},this.inputBoxElement.addEventListener(l.TextPrompt.PromptInputEvent.eventName,this.onInput.bind(this),!1),this.inputBoxElement.setAttribute("jslog",`${a.textField().track({change:!0,keydown:"ArrowUp|ArrowDown|PageUp|PageDown|Enter|Tab|>|@|:|?|!"})}`),r.appendChild(this.inputBoxElement),this.hintElement=r.createChild("span","filtered-list-widget-hint"),this.bottomElementsContainer=this.contentElement.createChild("div","vbox"),this.progressElement=this.bottomElementsContainer.createChild("div","filtered-list-widget-progress"),this.progressBarElement=this.progressElement.createChild("div","filtered-list-widget-progress-bar"),this.items=new o.ListModel.ListModel,this.list=new o.ListControl.ListControl(this.items,this,o.ListControl.ListMode.EqualHeightItems),this.itemElementsContainer=this.list.element,this.itemElementsContainer.classList.add("container"),this.bottomElementsContainer.appendChild(this.itemElementsContainer),this.itemElementsContainer.addEventListener("click",this.onClick.bind(this),!1),this.itemElementsContainer.addEventListener("mousemove",this.onMouseMove.bind(this),!1),o.ARIAUtils.markAsListBox(this.itemElementsContainer),o.ARIAUtils.setControls(this.inputBoxElement,this.itemElementsContainer),o.ARIAUtils.setAutocomplete(this.inputBoxElement,"list"),this.notFoundElement=this.bottomElementsContainer.createChild("div","not-found-text"),this.notFoundElement.classList.add("hidden"),this.setDefaultFocusedElement(this.inputBoxElement),this.provider=e,this.queryChangedCallback=i}static highlightRanges(e,t,i){if(!t)return!1;function s(e,t){const i=r.Diff.DiffWrapper.charDiff(t,e);let s=0;const o=[];for(let e=0;e<i.length;++e){const t=i[e];if(t[0]===r.Diff.Operation.Equal)o.push(new n.TextRange.SourceRange(s,t[1].length));else if(t[0]!==r.Diff.Operation.Insert)return null;s+=t[1].length}return o}if(null===e.textContent)return!1;const l=e.textContent;let a=s(l,t);return a&&!i||(a=s(l.toUpperCase(),t.toUpperCase())),!!a&&(o.UIUtils.highlightRangesWithStyleClass(e,a,"highlight"),!0)}setCommandPrefix(e){this.inputBoxElement.setPrefix(e)}setCommandSuggestion(e){this.inputBoxElement.setSuggestion(e)}setHintElement(e){this.hintElement.textContent=e}setPromptTitle(e){o.ARIAUtils.setLabel(this.inputBoxElement,e)}showAsDialog(e){e||(e=g(h.quickOpen)),this.dialog=new o.Dialog.Dialog("quick-open"),o.ARIAUtils.setLabel(this.dialog.contentElement,e),this.dialog.setMaxContentSize(new o.Geometry.Size(504,340)),this.dialog.setSizeBehavior("SetExactWidthMaxHeight"),this.dialog.setContentPosition(null,22),this.dialog.contentElement.style.setProperty("border-radius","4px"),this.show(this.dialog.contentElement),o.ARIAUtils.setExpanded(this.contentElement,!0),this.dialog.once("hidden").then((()=>{this.dispatchEventToListeners("hidden")})),this.dialog.show()}setPrefix(e){this.prefix=e}setProvider(e){e!==this.provider&&(this.provider&&this.provider.detach(),this.clearTimers(),this.provider=e,this.isShowing()&&this.attachProvider())}setQuerySelectedRange(e,t){this.inputBoxElement.setSelectedRange(e,t)}attachProvider(){this.items.replaceAll([]),this.list.invalidateItemHeight(),this.provider&&(this.provider.setRefreshCallback(this.itemsLoaded.bind(this,this.provider)),this.provider.attach()),this.itemsLoaded(this.provider)}cleanValue(){return this.query.substring(this.prefix.length).trim()}wasShown(){this.registerCSSFiles([c]),this.attachProvider()}willHide(){this.provider&&this.provider.detach(),this.clearTimers(),o.ARIAUtils.setExpanded(this.contentElement,!1)}clearTimers(){clearTimeout(this.filterTimer),clearTimeout(this.scoringTimer),clearTimeout(this.loadTimeout),this.filterTimer=0,this.scoringTimer=0,this.loadTimeout=0,this.refreshListWithCurrentResult=void 0}onEnter(e){if(!this.provider)return;e.preventDefault();const t=this.list.selectedIndex();if(t<0)return;const i=this.list.elementAtIndex(t);i&&a.logClick(i,e);const s=this.provider.itemCount()?this.list.selectedItem():null;this.selectItem(s),this.dialog&&this.dialog.hide()}itemsLoaded(e){this.loadTimeout||e!==this.provider||(this.loadTimeout=window.setTimeout(this.updateAfterItemsLoaded.bind(this),0))}updateAfterItemsLoaded(){this.loadTimeout=0,this.filterItems()}createElementForItem(e){const t=document.createElement("div");t.className="filtered-list-widget-item-wrapper";const i=t.createChild("div"),s=this.provider&&this.provider.renderAsTwoRows();i.className="filtered-list-widget-item "+(s?"two-rows":"one-row");const r=i.createChild("div","filtered-list-widget-title"),n=i.createChild("div","filtered-list-widget-subtitle");return n.textContent="​",this.provider&&(this.provider.renderItem(e,this.cleanValue(),r,n),t.setAttribute("jslog",`${a.item(this.provider.jslogContextAt(e)).track({click:!0})}`)),o.ARIAUtils.markAsOption(i),t}heightForItem(e){return 0}isItemSelectable(e){return!0}selectedItemChanged(e,t,i,s){i&&i.classList.remove("selected"),s&&s.classList.add("selected"),o.ARIAUtils.setActiveDescendant(this.inputBoxElement,s)}onClick(e){const t=this.list.itemForNode(e.target);null!==t&&(e.consume(!0),this.selectItem(t),this.dialog&&this.dialog.hide())}onMouseMove(e){const t=this.list.itemForNode(e.target);if(null===t)return;this.list.selectItem(t);const i=this.list.elementAtIndex(this.list.selectedIndex())?.textContent;i&&o.ARIAUtils.alert(g(h.sItemSOfS,{PH1:i,PH2:this.list.selectedIndex()+1,PH3:this.items.length}))}setQuery(e){this.query=e,this.inputBoxElement.focus(),this.inputBoxElement.setText(e),this.queryChanged(),this.scheduleFilter()}tabKeyPressed(){const e=this.query;let t;for(let i=this.promptHistory.length-1;i>=0;i--)if(this.promptHistory[i]!==e&&this.promptHistory[i].startsWith(e)){t=this.promptHistory[i];break}if(t){const i=this.inputBoxElement.getComponentSelection();return i&&""!==i.toString().trim()?(this.setQuery(t),!0):(this.inputBoxElement.focus(),this.inputBoxElement.setText(t),this.setQuerySelectedRange(e.length,t.length),!0)}return this.list.selectNextItem(!0,!1)}itemsFilteredForTest(){}filterItems(){if(this.filterTimer=0,this.scoringTimer&&(clearTimeout(this.scoringTimer),this.scoringTimer=0,this.refreshListWithCurrentResult&&this.refreshListWithCurrentResult()),!this.provider)return this.bottomElementsContainer.classList.toggle("hidden",!0),void this.itemsFilteredForTest();this.bottomElementsContainer.classList.toggle("hidden",!1),this.progressBarElement.style.transform="scaleX(0)",this.progressBarElement.classList.remove("filtered-widget-progress-fade","hidden");const e=this.provider.rewriteQuery(this.cleanValue()),t=e?s.StringUtilities.filterRegex(e):null,i=[],r=[],o=[],n=100;let l=0;const a=[],d=window.performance.now(),c=s.NumberUtilities.clamp(10,500,this.provider.itemCount()/10|0);function h(e,t){return t-e}(function m(g){if(!this.provider)return;this.scoringTimer=0;let p,u=0;for(p=g;p<this.provider.itemCount()&&u<c;++p){if(t&&!t.test(this.provider.itemKeyAt(p)))continue;const d=this.provider.itemScoreAt(p,e);if(e&&u++,d>l||r.length<n){const e=s.ArrayUtilities.upperBound(r,d,h);if(r.splice(e,0,d),o.splice(e,0,p),r.length>n){const e=o[o.length-1];e&&a.push(e),r.length=n,o.length=n}const t=r[r.length-1];t&&(l=t)}else i.push(p)}if(this.refreshListWithCurrentResult=this.refreshList.bind(this,o,a,i),p<this.provider.itemCount())return this.scoringTimer=window.setTimeout(m.bind(this,p),0),void(window.performance.now()-d>50&&(this.progressBarElement.style.transform="scaleX("+p/this.provider.itemCount()+")"));window.performance.now()-d>100?(this.progressBarElement.style.transform="scaleX(1)",this.progressBarElement.classList.add("filtered-widget-progress-fade")):this.progressBarElement.classList.add("hidden");this.refreshListWithCurrentResult()}).call(this,0)}refreshList(e,t,i){this.refreshListWithCurrentResult=void 0,i=[...e,...t,...i],this.updateNotFoundMessage(Boolean(i.length));const s=this.list.element.offsetHeight;this.items.replaceAll(i),i.length&&this.list.selectItem(i[0]),this.list.element.offsetHeight!==s&&this.list.viewportResized(),this.itemsFilteredForTest()}updateNotFoundMessage(e){this.list.element.classList.toggle("hidden",!e),this.notFoundElement.classList.toggle("hidden",e),!e&&this.provider&&(this.notFoundElement.textContent=this.provider.notFoundText(this.cleanValue()),o.ARIAUtils.alert(this.notFoundElement.textContent))}onInput(e){this.query=e.data,this.queryChanged(),this.scheduleFilter()}async queryChanged(){this.hintElement.classList.toggle("hidden",Boolean(this.query)),this.queryChangedCallback&&await this.queryChangedCallback(this.query),this.provider&&this.provider.queryChanged(this.cleanValue())}updateSelectedItemARIA(e,t){return!1}onKeyDown(e){let t=!1;switch(e.key){case s.KeyboardUtilities.ENTER_KEY:return void this.onEnter(e);case s.KeyboardUtilities.TAB_KEY:if(e.shiftKey){t=this.list.selectPreviousItem(!0,!1);break}t=this.tabKeyPressed();break;case"ArrowUp":t=this.list.selectPreviousItem(!0,!1);break;case"ArrowDown":t=this.list.selectNextItem(!0,!1);break;case"PageUp":t=this.list.selectItemPreviousPage(!1);break;case"PageDown":t=this.list.selectItemNextPage(!1)}if(t){e.consume(!0);const t=this.list.elementAtIndex(this.list.selectedIndex())?.textContent;t&&o.ARIAUtils.alert(g(h.sItemSOfS,{PH1:t,PH2:this.list.selectedIndex()+1,PH3:this.items.length}))}}scheduleFilter(){this.filterTimer||(this.filterTimer=window.setTimeout(this.filterItems.bind(this),0))}selectItem(e){this.promptHistory.push(this.query),this.promptHistory.length>100&&this.promptHistory.shift(),this.provider&&this.provider.selectItem(e,this.cleanValue())}}class u{refreshCallback;jslogContext;constructor(e){this.jslogContext=e}setRefreshCallback(e){this.refreshCallback=e}attach(){}itemCount(){return 0}itemKeyAt(e){return""}itemScoreAt(e,t){return 1}renderItem(e,t,i,s){}jslogContextAt(e){return this.jslogContext}renderAsTwoRows(){return!1}selectItem(e,t){}refresh(){this.refreshCallback&&this.refreshCallback()}rewriteQuery(e){return e}queryChanged(e){}notFoundText(e){return g(h.noResultsFound)}detach(){}}const f=[];function w(e){f.push(e)}function x(){return f}var v=Object.freeze({__proto__:null,FilteredListWidget:p,Provider:u,registerProvider:w,getRegisteredProviders:x});const C={typeToSeeAvailableCommands:"Type ? to see available commands"},y=i.i18n.registerUIStrings("ui/legacy/components/quick_open/QuickOpen.ts",C),b=i.i18n.getLocalizedString.bind(void 0,y),E=[];class A{prefix;prefixes;providers;filteredListWidget;constructor(){this.prefix=null,this.prefixes=[],this.providers=new Map,this.filteredListWidget=null,x().forEach(this.addProvider.bind(this)),this.prefixes.sort(((e,t)=>t.length-e.length))}static show(e){const t=new this,i=new p(null,E,t.queryChanged.bind(t));t.filteredListWidget=i,i.setHintElement(b(C.typeToSeeAvailableCommands)),i.showAsDialog(),i.setQuery(e)}addProvider(e){const t=e.prefix;null!==t&&(this.prefixes.push(t),this.providers.set(t,{provider:e.provider,titlePrefix:e.titlePrefix,titleSuggestion:e.titleSuggestion}))}async queryChanged(e){const t=this.prefixes.find((t=>e.startsWith(t)));if("string"!=typeof t)return;if(!this.filteredListWidget)return;this.filteredListWidget.setPrefix(t);const i=this.providers.get(t)?.titlePrefix;this.filteredListWidget.setCommandPrefix(i?i():"");const s=e===t&&this.providers.get(t)?.titleSuggestion;if(this.filteredListWidget.setCommandSuggestion(s?s():""),this.prefix===t)return;this.prefix=t,this.filteredListWidget.setProvider(null);const r=this.providers.get(t)?.provider;if(!r)return;const o=await r();this.prefix===t&&this.filteredListWidget&&(this.filteredListWidget.setProvider(o),this.providerLoadedForTest(o))}providerLoadedForTest(e){}}var I=Object.freeze({__proto__:null,history:E,QuickOpenImpl:A,ShowActionDelegate:class{handleAction(e,t){return"quick-open.show"===t&&(A.show(""),!0)}}});const S={oneOrMoreSettingsHaveChanged:"One or more settings have changed which requires a reload to take effect.",noCommandsFound:"No commands found",run:"Run",command:"Command",deprecated:"— deprecated"},L=i.i18n.registerUIStrings("ui/legacy/components/quick_open/CommandMenu.ts",S),k=i.i18n.getLocalizedString.bind(void 0,L);let T;class P{commandsInternal;constructor(){this.commandsInternal=[],this.loadCommands()}static instance(e={forceNew:null}){const{forceNew:t}=e;return T&&!t||(T=new P),T}static createCommand(e){const{category:i,keys:s,title:r,shortcut:o,jslogContext:n,executeHandler:l,availableHandler:a,userActionCode:d,deprecationWarning:c,isPanelOrDrawer:h}=e;let m=l;if(d){const e=d;m=()=>{t.userMetrics.actionTaken(e),l()}}return new H(i,r,s,o,n,m,a,c,h)}static createSettingCommand(i,r,n){const l=i.category();if(!l)throw new Error(`Creating '${r}' setting command failed. Setting has no category.`);const a=i.tags()||"",d=Boolean(i.reloadRequired());return P.createCommand({category:e.Settings.getLocalizedSettingsCategory(l),keys:a,title:r,shortcut:"",jslogContext:s.StringUtilities.toKebabCase(`${i.name}-${n}`),executeHandler:()=>{!i.deprecation?.disabled||i.deprecation?.experiment&&!i.deprecation.experiment.isEnabled()?(i.set(n),"emulate-page-focus"===i.name&&t.userMetrics.actionTaken(t.UserMetrics.Action.ToggleEmulateFocusedPageFromCommandMenu),"show-web-vitals"===i.name&&t.userMetrics.actionTaken(t.UserMetrics.Action.ToggleShowWebVitals),d&&o.InspectorView.InspectorView.instance().displayReloadRequiredWarning(k(S.oneOrMoreSettingsHaveChanged))):e.Revealer.reveal(i)},availableHandler:function(){return i.get()!==n},userActionCode:void 0,deprecationWarning:i.deprecation?.warning})}static createActionCommand(e){const{action:t,userActionCode:i}=e,s=t.category();if(!s)throw new Error(`Creating '${t.title()}' action command failed. Action has no category.`);let r;"DRAWER"===s&&(r="DRAWER");const n=o.ShortcutRegistry.ShortcutRegistry.instance().shortcutTitleForAction(t.id())||"";return P.createCommand({category:o.ActionRegistration.getLocalizedActionCategory(s),keys:t.tags()||"",title:t.title(),shortcut:n,jslogContext:t.id(),executeHandler:t.execute.bind(t),userActionCode:i,availableHandler:void 0,isPanelOrDrawer:r})}static createRevealViewCommand(e){const{title:i,tags:s,category:r,userActionCode:n,id:l}=e;if(!r)throw new Error(`Creating '${i}' reveal view command failed. Reveal view has no category.`);let a;"PANEL"===r?a="PANEL":"DRAWER"===r&&(a="DRAWER");return P.createCommand({category:o.ViewManager.getLocalizedViewLocationCategory(r),keys:s,title:i,shortcut:"",jslogContext:l,executeHandler:()=>("issues-pane"===l&&t.userMetrics.issuesPanelOpenedFrom(5),o.ViewManager.ViewManager.instance().showView(l,!0)),userActionCode:n,availableHandler:void 0,isPanelOrDrawer:a})}loadCommands(){const t=new Map;for(const{category:e,name:i}of o.ViewManager.getRegisteredLocationResolvers())e&&i&&t.set(i,e);const i=o.ViewManager.getRegisteredViewExtensions(e.Settings.Settings.instance().getHostConfig());for(const e of i){const i=e.location(),s=i&&t.get(i);if(!s)continue;const r={title:e.commandPrompt(),tags:e.tags()||"",category:s,userActionCode:void 0,id:e.viewId()};this.commandsInternal.push(P.createRevealViewCommand(r))}const s=e.Settings.Settings.instance().getRegisteredSettings();for(const t of s){const i=t.options;if(i&&t.category)for(const s of i){const i=e.Settings.Settings.instance().moduleSetting(t.settingName);this.commandsInternal.push(P.createSettingCommand(i,s.title(),s.value))}}}commands(){return this.commandsInternal}}class R extends u{commands;constructor(e=[]){super("command"),this.commands=e}attach(){const e=P.instance().commands(),t=o.ActionRegistry.ActionRegistry.instance().availableActions();for(const e of t){if(!e.category())continue;const t={action:e,userActionCode:void 0};this.commands.push(P.createActionCommand(t))}for(const t of e)t.available()&&(this.commands.find((({title:e,category:i})=>e===t.title&&i===t.category))||this.commands.push(t));this.commands=this.commands.sort((function(e,t){const i=s.StringUtilities.compare(e.category,t.category);return i||s.StringUtilities.compare(e.title,t.title)}))}detach(){this.commands=[]}itemCount(){return this.commands.length}itemKeyAt(e){return this.commands[e].key}itemScoreAt(e,t){const i=this.commands[e];let s=r.Diff.DiffWrapper.characterScore(t.toLowerCase(),i.title.toLowerCase());return"PANEL"===i.isPanelOrDrawer?s+=2:"DRAWER"===i.isPanelOrDrawer&&(s+=1),s}renderItem(e,t,i,r){const n=this.commands[e];i.removeChildren(),o.UIUtils.createTextChild(i,n.title),p.highlightRanges(i,t,!0),r.textContent=n.shortcut;const l=n.deprecationWarning;if(l){const e=i.parentElement?.createChild("span","deprecated-tag");e&&(e.textContent=k(S.deprecated),e.title=l)}const a=i.parentElement?.parentElement?.createChild("span","tag");if(!a)return;const d=s.StringUtilities.hashCode(n.category)%F.length;a.style.backgroundColor=F[d],a.style.color="#fff",a.textContent=n.category}jslogContextAt(e){return this.commands[e].jslogContext}selectItem(e,i){null!==e&&(this.commands[e].execute(),t.userMetrics.actionTaken(t.UserMetrics.Action.SelectCommandFromCommandMenu))}notFoundText(){return k(S.noCommandsFound)}}const F=["#F44336","#E91E63","#9C27B0","#673AB7","#3F51B5","#03A9F4","#00BCD4","#009688","#4CAF50","#8BC34A","#CDDC39","#FFC107","#FF9800","#FF5722","#795548","#9E9E9E","#607D8B"];class H{category;title;key;shortcut;jslogContext;deprecationWarning;isPanelOrDrawer;#e;#t;constructor(e,t,i,s,r,o,n,l,a){this.category=e,this.title=t,this.key=e+"\0"+t+"\0"+i,this.shortcut=s,this.jslogContext=r,this.#e=o,this.#t=n,this.deprecationWarning=l,this.isPanelOrDrawer=a}available(){return!this.#t||this.#t()}execute(){return this.#e()}}w({prefix:">",iconName:"chevron-right",iconWidth:"20px",provider:()=>Promise.resolve(new R),titlePrefix:()=>k(S.run),titleSuggestion:()=>k(S.command)});var W=Object.freeze({__proto__:null,CommandMenu:P,CommandMenuProvider:R,MaterialPaletteColors:F,Command:H,ShowActionDelegate:class{handleAction(e,i){return t.InspectorFrontendHost.InspectorFrontendHostInstance.bringToFront(),A.show(">"),!0}}});class B extends u{providers;constructor(e){super(e),this.providers=[],x().forEach(this.addProvider.bind(this))}async addProvider(e){e.titleSuggestion&&this.providers.push({prefix:e.prefix||"",iconName:e.iconName,iconWidth:e.iconWidth,title:e.titlePrefix()+" "+e.titleSuggestion(),jslogContext:(await e.provider()).jslogContext})}itemCount(){return this.providers.length}itemKeyAt(e){return this.providers[e].prefix}itemScoreAt(e,t){return-this.providers[e].prefix.length}renderItem(e,t,i,s){const r=this.providers[e],n=new d.Icon.Icon;n.data={iconName:r.iconName,color:"var(--icon-default)",width:r.iconWidth},i.parentElement?.parentElement?.insertBefore(n,i.parentElement),o.UIUtils.createTextChild(i,r.title)}jslogContextAt(e){return this.providers[e].jslogContext}selectItem(e,t){null!==e&&A.show(this.providers[e].prefix)}renderAsTwoRows(){return!1}}w({prefix:"?",iconName:"help",iconWidth:"20px",provider:()=>Promise.resolve(new B("help")),titlePrefix:()=>"Help",titleSuggestion:void 0});var U=Object.freeze({__proto__:null,HelpQuickOpen:B});export{W as CommandMenu,v as FilteredListWidget,U as HelpQuickOpen,I as QuickOpen};
@@ -0,0 +1 @@
1
+ import*as e from"../../../../models/text_utils/text_utils.js";import*as t from"../../../../core/common/common.js";import*as s from"../../../../core/i18n/i18n.js";import*as n from"../../legacy.js";import*as i from"../../../../core/host/host.js";import*as r from"../../../../core/platform/platform.js";import*as o from"../../../../core/root/root.js";import*as a from"../../../../models/formatter/formatter.js";import*as l from"../../../../third_party/codemirror.next/codemirror.next.js";import"../../../components/buttons/buttons.js";import*as c from"../../../components/code_highlighter/code_highlighter.js";import*as h from"../../../components/text_editor/text_editor.js";import*as d from"../../../visual_logging/visual_logging.js";import*as u from"../../../../models/workspace/workspace.js";import*as m from"../../../../core/sdk/sdk.js";import*as p from"../object_ui/object_ui.js";const g=["application/javascript","application/json","application/manifest+json","text/css","text/html","text/javascript"];var w={cssContent:".searchable-view{flex:1}.toolbar{background-color:var(--sys-color-cdt-base-container);border-top:1px solid var(--sys-color-divider)}\n/*# sourceURL=resourceSourceFrame.css */\n"},f={cssContent:".widget{padding:20px}.title{font-size:larger}.title,\n.message,\n.button,\n.text-input{margin:5px}.button{text-align:right;margin-top:10px;display:flex;justify-content:flex-end;gap:var(--sys-size-6)}.button button{min-width:80px}.dialog-close-button{position:absolute;right:9px;top:9px;z-index:1}\n/*# sourceURL=selfXssDialog.css */\n"};const x={source:"Source",prettyPrint:"Pretty print",loading:"Loading…",dSelectionRegions:"{PH1} selection regions",bytecodePositionXs:"Bytecode position `0x`{PH1}",lineSColumnS:"Line {PH1}, Column {PH2}",dCharactersSelected:"{PH1} characters selected",dLinesDCharactersSelected:"{PH1} lines, {PH2} characters selected",doYouTrustThisCode:"Do you trust this code?",doNotPaste:"Don't paste code you do not understand or have not reviewed yourself into DevTools. This could allow attackers to steal your identity or take control of your computer. Please type ''{PH1}'' below to allow pasting.",allowPasting:"allow pasting",cancel:"Cancel",allow:"Allow",typeAllowPasting:"Type ''{PH1}''"},S=s.i18n.registerUIStrings("ui/legacy/components/source_frame/SourceFrame.ts",x),b=s.i18n.getLocalizedString.bind(void 0,S),y=l.Facet.define({combine:e=>0===e.length?e=>e.toString():e[0]});class C extends(t.ObjectWrapper.eventMixin(n.View.SimpleView)){options;lazyContent;prettyInternal;rawContent;formattedMap;prettyToggle;shouldAutoPrettyPrint;progressToolbarItem;textEditorInternal;baseDoc;prettyBaseDoc=null;displayedSelection=null;searchConfig;delayedFindSearchMatches;currentSearchResultIndex;searchResults;searchRegex;loadError;muteChangeEventsForSetContent;sourcePosition;searchableView;editable;positionToReveal;lineToScrollTo;selectionToSet;loadedInternal;contentRequested;wasmDisassemblyInternal;contentSet;selfXssWarningDisabledSetting;constructor(e,s={}){super(b(x.source)),this.options=s,this.lazyContent=e,this.prettyInternal=!1,this.rawContent=null,this.formattedMap=null,this.prettyToggle=new n.Toolbar.ToolbarToggle(b(x.prettyPrint),"brackets",void 0,"pretty-print"),this.prettyToggle.addEventListener("Click",(()=>{this.setPretty(this.prettyToggle.isToggled())})),this.shouldAutoPrettyPrint=!1,this.prettyToggle.setVisible(!1),this.progressToolbarItem=new n.Toolbar.ToolbarItem(document.createElement("div")),this.textEditorInternal=new h.TextEditor.TextEditor(this.placeholderEditorState("")),this.textEditorInternal.style.flexGrow="1",this.element.appendChild(this.textEditorInternal),this.element.addEventListener("keydown",(e=>{e.defaultPrevented&&e.stopPropagation()})),this.baseDoc=this.textEditorInternal.state.doc,this.searchConfig=null,this.delayedFindSearchMatches=null,this.currentSearchResultIndex=-1,this.searchResults=[],this.searchRegex=null,this.loadError=!1,this.muteChangeEventsForSetContent=!1,this.sourcePosition=new n.Toolbar.ToolbarText,this.searchableView=null,this.editable=!1,this.positionToReveal=null,this.lineToScrollTo=null,this.selectionToSet=null,this.loadedInternal=!1,this.contentRequested=!1,this.wasmDisassemblyInternal=null,this.contentSet=!1,this.selfXssWarningDisabledSetting=t.Settings.Settings.instance().createSetting("disable-self-xss-warning",!1,"Synced"),t.Settings.Settings.instance().moduleSetting("text-editor-indent").addChangeListener(this.#e,this)}disposeView(){t.Settings.Settings.instance().moduleSetting("text-editor-indent").removeChangeListener(this.#e,this)}async#e(){this.prettyInternal&&(await this.setPretty(!1),await this.setPretty(!0))}placeholderEditorState(e){return l.EditorState.create({doc:e,extensions:[l.EditorState.readOnly.of(!0),!1!==this.options.lineNumbers?l.lineNumbers():[],h.Config.theme()]})}editorConfiguration(e){return[l.EditorView.updateListener.of((e=>this.dispatchEventToListeners("EditorUpdate",e))),h.Config.baseConfiguration(e),h.Config.closeBrackets.instance(),h.Config.autocompletion.instance(),h.Config.showWhitespace.instance(),h.Config.allowScrollPastEof.instance(),l.Prec.lowest(h.Config.codeFolding.instance()),h.Config.autoDetectIndent.instance(),U,l.EditorView.domEventHandlers({focus:()=>this.onFocus(),blur:()=>this.onBlur(),paste:()=>this.onPaste(),scroll:()=>this.dispatchEventToListeners("EditorScroll"),contextmenu:e=>this.onContextMenu(e)}),l.lineNumbers({domEventHandlers:{contextmenu:(e,t,s)=>this.onLineGutterContextMenu(t.from,s)}}),l.EditorView.updateListener.of((e=>{(e.selectionSet||e.docChanged)&&this.updateSourcePosition(),e.docChanged&&this.onTextChanged()})),R,l.Prec.lowest(D),E.language.of([]),this.wasmDisassemblyInternal?(t=this.wasmDisassemblyInternal,M.init((e=>{const s=[];for(const n of t.nonBreakableLineNumbers())n<e.doc.lines&&s.push(V.range(e.doc.line(n+1).from));return l.RangeSet.of(s)}))):M,this.options.lineWrapping?l.EditorView.lineWrapping:[],!1!==this.options.lineNumbers?l.lineNumbers():[],o.Runtime.experiments.isEnabled("sources-frame-indentation-markers-temporarily-disable")?[]:l.indentationMarkers({colors:{light:"var(--sys-color-divider)",activeLight:"var(--sys-color-divider-prominent)",dark:"var(--sys-color-divider)",activeDark:"var(--sys-color-divider-prominent)"}})];var t}onBlur(){}onFocus(){this.resetCurrentSearchResultIndex()}onPaste(){return!(o.Runtime.Runtime.queryParam("isChromeForTesting")||o.Runtime.Runtime.queryParam("disableSelfXssWarnings")||this.selfXssWarningDisabledSetting.get())&&(this.showSelfXssWarning(),!0)}async showSelfXssWarning(){await new Promise((e=>setTimeout(e,0)));await v.show()&&(this.selfXssWarningDisabledSetting.set(!0),i.userMetrics.actionTaken(i.UserMetrics.Action.SelfXssAllowPastingInDialog))}get wasmDisassembly(){return this.wasmDisassemblyInternal}editorLocationToUILocation(e,t){return this.wasmDisassemblyInternal?(t=this.wasmDisassemblyInternal.lineNumberToBytecodeOffset(e),e=0):this.prettyInternal&&([e,t]=this.prettyToRawLocation(e,t)),{lineNumber:e,columnNumber:t}}uiLocationToEditorLocation(e,t=0){return this.wasmDisassemblyInternal?(e=this.wasmDisassemblyInternal.bytecodeOffsetToLineNumber(t),t=0):this.prettyInternal&&([e,t]=this.rawToPrettyLocation(e,t)),{lineNumber:e,columnNumber:t}}setCanPrettyPrint(e,s){this.shouldAutoPrettyPrint=!0===s&&t.Settings.Settings.instance().moduleSetting("auto-pretty-print-minified").get(),this.prettyToggle.setVisible(e)}setEditable(e){this.editable=e,this.loaded&&e!==!this.textEditor.state.readOnly&&this.textEditor.dispatch({effects:E.editable.reconfigure(l.EditorState.readOnly.of(!e))})}async setPretty(e){this.prettyInternal=e,this.prettyToggle.setEnabled(!1);const t=this.loaded,{textEditor:s}=this,n=s.state.selection.main,i=s.toLineColumn(n.from),r=s.toLineColumn(n.to);let o;if(this.prettyInternal){const e=this.rawContent instanceof l.Text?this.rawContent.sliceString(0):this.rawContent||"",t=await a.ScriptFormatter.formatScriptContent(this.contentType,e);this.formattedMap=t.formattedMapping,await this.setContent(t.formattedContent),this.prettyBaseDoc=s.state.doc;const n=this.rawToPrettyLocation(i.lineNumber,i.columnNumber),c=this.rawToPrettyLocation(r.lineNumber,r.columnNumber);o=s.createSelection({lineNumber:n[0],columnNumber:n[1]},{lineNumber:c[0],columnNumber:c[1]})}else{await this.setContent(this.rawContent||""),this.baseDoc=s.state.doc;const e=this.prettyToRawLocation(i.lineNumber,i.columnNumber),t=this.prettyToRawLocation(r.lineNumber,r.columnNumber);o=s.createSelection({lineNumber:e[0],columnNumber:e[1]},{lineNumber:t[0],columnNumber:t[1]})}t&&s.revealPosition(o,!1),this.prettyToggle.setEnabled(!0),this.updatePrettyPrintState()}getLineNumberFormatter(){if(!1===this.options.lineNumbers)return[];let e;if(this.wasmDisassemblyInternal){const t=this.wasmDisassemblyInternal,s=t.lineNumberToBytecodeOffset(t.lineNumbers-1).toString(16).length+1;e=e=>`0x${t.lineNumberToBytecodeOffset(Math.min(t.lineNumbers,e)-1).toString(16).padStart(s,"0")}`}else this.prettyInternal&&(e=(e,t)=>{if(e<2||e>t.doc.lines)return String(e);const[s]=this.prettyToRawLocation(e-1),[n]=this.prettyToRawLocation(e-2);return s!==n?String(s+1):"-"});return e?[l.lineNumbers({formatNumber:e}),y.of(e)]:[]}updateLineNumberFormatter(){this.textEditor.dispatch({effects:E.lineNumbers.reconfigure(this.getLineNumberFormatter())}),this.textEditor.shadowRoot?.querySelector(".cm-lineNumbers")?.setAttribute("jslog",`${d.gutter("line-numbers").track({click:!0})}`)}updatePrettyPrintState(){this.prettyToggle.setToggled(this.prettyInternal),this.textEditorInternal.classList.toggle("pretty-printed",this.prettyInternal),this.updateLineNumberFormatter()}prettyToRawLocation(e,t=0){return this.formattedMap?this.formattedMap.formattedToOriginal(e,t):[e,t]}rawToPrettyLocation(e,t){return this.formattedMap?this.formattedMap.originalToFormatted(e,t):[e,t]}hasLoadError(){return this.loadError}wasShown(){this.ensureContentLoaded(),this.wasShownOrLoaded()}willHide(){super.willHide(),this.clearPositionToReveal()}async toolbarItems(){return[this.prettyToggle,this.sourcePosition,this.progressToolbarItem]}get loaded(){return this.loadedInternal}get textEditor(){return this.textEditorInternal}get pretty(){return this.prettyInternal}get contentType(){return this.loadError?"":this.getContentType()}getContentType(){return""}async ensureContentLoaded(){this.contentRequested||(this.contentRequested=!0,await this.setContentDataOrError(this.lazyContent()),this.contentSet=!0)}async setContentDataOrError(t){const s=new n.ProgressIndicator.ProgressIndicator;s.setTitle(b(x.loading)),s.setTotalWork(100),this.progressToolbarItem.element.appendChild(s.element),s.setWorked(1);const i=await t;let r,o,a=!1;e.ContentData.ContentData.isError(i)?(r=i.error,o=i.error):i instanceof e.WasmDisassembly.WasmDisassembly?(o=l.Text.of(i.lines),this.wasmDisassemblyInternal=i):(o=i.text,a=e.TextUtils.isMinified(i.text),this.wasmDisassemblyInternal=null),s.setWorked(100),s.done(),this.rawContent!==o&&(this.rawContent=o,this.formattedMap=null,this.prettyToggle.setEnabled(!0),r?(this.loadError=!0,this.textEditor.state=this.placeholderEditorState(r),this.prettyToggle.setEnabled(!1)):this.shouldAutoPrettyPrint&&a?await this.setPretty(!0):await this.setContent(this.rawContent||""))}revealPosition(e,t){if(this.lineToScrollTo=null,this.selectionToSet=null,"number"==typeof e){let s=0,n=0;const{doc:i}=this.textEditor.state;if(e>i.length)s=i.lines-1;else if(e>=0){const t=i.lineAt(e);s=t.number-1,n=e-t.from}this.positionToReveal={to:{lineNumber:s,columnNumber:n},shouldHighlight:t}}else if("lineNumber"in e){const{lineNumber:s,columnNumber:n}=e;this.positionToReveal={to:{lineNumber:s,columnNumber:n??0},shouldHighlight:t}}else this.positionToReveal={...e,shouldHighlight:t};this.innerRevealPositionIfNeeded()}innerRevealPositionIfNeeded(){if(!this.positionToReveal)return;if(!this.loaded||!this.isShowing())return;const{from:e,to:t,shouldHighlight:s}=this.positionToReveal,n=this.uiLocationToEditorLocation(t.lineNumber,t.columnNumber),i=e?this.uiLocationToEditorLocation(e.lineNumber,e.columnNumber):void 0,{textEditor:r}=this;r.revealPosition(r.createSelection(n,i),s),this.positionToReveal=null}clearPositionToReveal(){this.positionToReveal=null}scrollToLine(e){this.clearPositionToReveal(),this.lineToScrollTo=e,this.innerScrollToLineIfNeeded()}innerScrollToLineIfNeeded(){if(null!==this.lineToScrollTo&&this.loaded&&this.isShowing()){const{textEditor:e}=this,t=e.toOffset({lineNumber:this.lineToScrollTo,columnNumber:0});e.dispatch({effects:l.EditorView.scrollIntoView(t,{y:"start",yMargin:0})}),this.lineToScrollTo=null}}setSelection(e){this.selectionToSet=e,this.innerSetSelectionIfNeeded()}innerSetSelectionIfNeeded(){const e=this.selectionToSet;if(e&&this.loaded&&this.isShowing()){const{textEditor:t}=this;t.dispatch({selection:t.createSelection({lineNumber:e.startLine,columnNumber:e.startColumn},{lineNumber:e.endLine,columnNumber:e.endColumn})}),this.selectionToSet=null}}wasShownOrLoaded(){this.innerRevealPositionIfNeeded(),this.innerSetSelectionIfNeeded(),this.innerScrollToLineIfNeeded(),this.textEditor.shadowRoot?.querySelector(".cm-lineNumbers")?.setAttribute("jslog",`${d.gutter("line-numbers").track({click:!0})}`),this.textEditor.shadowRoot?.querySelector(".cm-foldGutter")?.setAttribute("jslog",`${d.gutter("fold")}`),this.textEditor.setAttribute("jslog",`${d.textField().track({change:!0})}`)}onTextChanged(){const e=this.pretty;this.prettyInternal=Boolean(this.prettyBaseDoc&&this.textEditor.state.doc.eq(this.prettyBaseDoc)),this.prettyInternal!==e&&this.updatePrettyPrintState(),this.prettyToggle.setEnabled(this.isClean()),this.searchConfig&&this.searchableView&&this.performSearch(this.searchConfig,!1,!1)}isClean(){return this.textEditor.state.doc.eq(this.baseDoc)||null!==this.prettyBaseDoc&&this.textEditor.state.doc.eq(this.prettyBaseDoc)}contentCommitted(){this.baseDoc=this.textEditorInternal.state.doc,this.prettyBaseDoc=null,this.rawContent=this.textEditor.state.doc.toString(),this.formattedMap=null,this.prettyInternal&&(this.prettyInternal=!1,this.updatePrettyPrintState()),this.prettyToggle.setEnabled(!0)}async getLanguageSupport(e){let{contentType:t}=this;"text/x.vue"===t&&((e="string"==typeof e?e:e.sliceString(0)).trimStart().startsWith("<")||(t="text/javascript"));const s=await c.CodeHighlighter.languageFromMIME(t);return s?[s,l.javascript.javascriptLanguage.data.of({autocomplete:l.completeAnyWord})]:[]}async updateLanguageMode(e){const t=await this.getLanguageSupport(e);this.textEditor.dispatch({effects:E.language.reconfigure(t)})}async setContent(e){this.muteChangeEventsForSetContent=!0;const{textEditor:t}=this,s=this.loadedInternal,n=t.editor.scrollDOM.scrollTop;this.loadedInternal=!0;const i=await this.getLanguageSupport(e),r=l.EditorState.create({doc:e,extensions:[this.editorConfiguration(e),i,E.lineNumbers.of(this.getLineNumberFormatter()),E.editable.of(this.editable?[]:l.EditorState.readOnly.of(!0))]});this.baseDoc=r.doc,t.state=r,s&&(t.editor.scrollDOM.scrollTop=n),this.wasShownOrLoaded(),this.delayedFindSearchMatches&&(this.delayedFindSearchMatches(),this.delayedFindSearchMatches=null),this.muteChangeEventsForSetContent=!1}setSearchableView(e){this.searchableView=e}doFindSearchMatches(e,t,s){this.currentSearchResultIndex=-1,this.searchRegex=e.toSearchRegex(!0),this.searchResults=this.collectRegexMatches(this.searchRegex),this.searchableView&&this.searchableView.updateSearchMatchesCount(this.searchResults.length);const n=this.textEditor;this.searchResults.length?t&&s?this.jumpToPreviousSearchResult():t?this.jumpToNextSearchResult():n.dispatch({effects:P.of(new I(this.searchRegex,null))}):n.state.field(R)&&n.dispatch({effects:P.of(null)})}performSearch(e,t,s){this.searchableView&&this.searchableView.updateSearchMatchesCount(0),this.resetSearch(),this.searchConfig=e,this.loaded?this.doFindSearchMatches(e,t,Boolean(s)):this.delayedFindSearchMatches=this.doFindSearchMatches.bind(this,e,t,Boolean(s)),this.ensureContentLoaded()}resetCurrentSearchResultIndex(){if(!this.searchResults.length)return;this.currentSearchResultIndex=-1,this.searchableView&&this.searchableView.updateCurrentMatchIndex(this.currentSearchResultIndex);const e=this.textEditor,t=e.state.field(R);t&&t.currentRange&&e.dispatch({effects:P.of(new I(t.regexp,null))})}resetSearch(){this.searchConfig=null,this.delayedFindSearchMatches=null,this.currentSearchResultIndex=-1,this.searchResults=[],this.searchRegex=null}onSearchCanceled(){const e=-1!==this.currentSearchResultIndex?this.searchResults[this.currentSearchResultIndex]:null;if(this.resetSearch(),!this.loaded)return;this.textEditor.dispatch({effects:P.of(null),selection:e?{anchor:e.from,head:e.to}:void 0,scrollIntoView:!0,userEvent:"select.search.cancel"})}jumpToLastSearchResult(){this.jumpToSearchResult(this.searchResults.length-1)}searchResultIndexForCurrentSelection(){return r.ArrayUtilities.lowerBound(this.searchResults,this.textEditor.state.selection.main,((e,t)=>e.to-t.to))}jumpToNextSearchResult(){const e=this.searchResultIndexForCurrentSelection(),t=-1===this.currentSearchResultIndex?e:e+1;this.jumpToSearchResult(t)}jumpToPreviousSearchResult(){const e=this.searchResultIndexForCurrentSelection();this.jumpToSearchResult(e-1)}supportsCaseSensitiveSearch(){return!0}supportsRegexSearch(){return!0}jumpToSearchResult(e){if(!this.loaded||!this.searchResults.length||!this.searchRegex)return;this.currentSearchResultIndex=(e+this.searchResults.length)%this.searchResults.length,this.searchableView&&this.searchableView.updateCurrentMatchIndex(this.currentSearchResultIndex);const t=this.textEditor,s=this.searchResults[this.currentSearchResultIndex];t.dispatch({effects:P.of(new I(this.searchRegex,s)),selection:{anchor:s.from,head:s.to},scrollIntoView:!0,userEvent:"select.search"})}replaceSelectionWith(e,t){const s=this.searchResults[this.currentSearchResultIndex];if(!s)return;const n=this.searchRegex?.fromQuery?s.insertPlaceholders(t):t,i=this.textEditor,r=i.state.changes({from:s.from,to:s.to,insert:n});i.dispatch({changes:r,selection:{anchor:r.mapPos(i.state.selection.main.to,1)},userEvent:"input.replace"})}replaceAllWith(e,t){this.resetCurrentSearchResultIndex();const s=e.toSearchRegex(!0),n=this.collectRegexMatches(s);if(!n.length)return;const i=s.fromQuery,r=n.map((e=>({from:e.from,to:e.to,insert:i?e.insertPlaceholders(t):t})));this.textEditor.dispatch({changes:r,scrollIntoView:!0,userEvent:"input.replace.all"})}collectRegexMatches({regex:e}){const t=[];let s=0;for(const n of this.textEditor.state.doc.iterLines()){for(e.lastIndex=0;;){const i=e.exec(n);if(!i)break;if(i[0].length){const e=s+i.index;t.push(new T(e,e+i[0].length,i))}else e.lastIndex=i.index+1}s+=n.length+1}return t}canEditSource(){return this.editable}updateSourcePosition(){const{textEditor:e}=this,{state:t}=e,{selection:s}=t;if(this.displayedSelection?.eq(s))return;if(this.displayedSelection=s,s.ranges.length>1)return void this.sourcePosition.setText(b(x.dSelectionRegions,{PH1:s.ranges.length}));const{main:n}=t.selection;if(n.empty){const{lineNumber:t,columnNumber:s}=e.toLineColumn(n.head),i=this.prettyToRawLocation(t,s);if(this.wasmDisassemblyInternal){const e=this.wasmDisassemblyInternal,t=e.lineNumberToBytecodeOffset(e.lineNumbers-1).toString(16).length,s=e.lineNumberToBytecodeOffset(i[0]);this.sourcePosition.setText(b(x.bytecodePositionXs,{PH1:s.toString(16).padStart(t,"0")}))}else this.sourcePosition.setText(b(x.lineSColumnS,{PH1:i[0]+1,PH2:i[1]+1}))}else{const e=t.doc.lineAt(n.from),s=t.doc.lineAt(n.to);e.number===s.number?this.sourcePosition.setText(b(x.dCharactersSelected,{PH1:n.to-n.from})):this.sourcePosition.setText(b(x.dLinesDCharactersSelected,{PH1:s.number-e.number+1,PH2:n.to-n.from}))}}onContextMenu(e){e.consume(!0);const t=new n.ContextMenu.ContextMenu(e),{state:s}=this.textEditor,i=s.selection.main.from,r=s.doc.lineAt(i);return this.populateTextAreaContextMenu(t,r.number-1,i-r.from),t.appendApplicableItems(this),t.show(),!0}populateTextAreaContextMenu(e,t,s){}onLineGutterContextMenu(e,t){t.consume(!0);const s=new n.ContextMenu.ContextMenu(t),i=this.textEditor.state.doc.lineAt(e).number-1;return this.populateLineGutterContextMenu(s,i),s.appendApplicableItems(this),s.show(),!0}populateLineGutterContextMenu(e,t){}focus(){this.textEditor.focus()}}class T{from;to;match;constructor(e,t,s){this.from=e,this.to=t,this.match=s}insertPlaceholders(e){return e.replace(/\$(\$|&|\d+|<[^>]+>)/g,((e,t)=>"$"===t?"$":"&"===t?this.match[0]:"<"===t[0]?this.match.groups&&this.match.groups[t.slice(1,t.length-1)]||"":this.match[Number.parseInt(t,10)]||""))}}class v{static async show(){const e=new n.Dialog.Dialog("self-xss-warning");e.setMaxContentSize(new n.Geometry.Size(504,340)),e.setSizeBehavior("SetExactWidthMaxHeight"),e.setDimmed(!0);const t=n.UIUtils.createShadowRootWithCoreStyles(e.contentElement,{cssFile:f,delegatesFocus:void 0}).createChild("div","widget"),s=await new Promise((s=>{const r=t.createChild("div","dialog-close-button","dt-close-button");r.setTabbable(!0),self.onInvokeElement(r,(t=>{e.hide(),t.consume(!0),s(!1)})),t.createChild("div","title").textContent=b(x.doYouTrustThisCode),t.createChild("div","message").textContent=b(x.doNotPaste,{PH1:b(x.allowPasting)});const o=n.UIUtils.createInput("text-input","text","allow-pasting");o.placeholder=b(x.typeAllowPasting,{PH1:b(x.allowPasting)}),t.appendChild(o);const a=t.createChild("div","button"),l=n.UIUtils.createTextButton(b(x.cancel),(()=>s(!1)),{jslogContext:"cancel"});a.appendChild(l);const c=n.UIUtils.createTextButton(b(x.allow),(()=>{s(o.value===b(x.allowPasting))}),{jslogContext:"confirm",variant:"primary"});c.disabled=!0,a.appendChild(c),o.addEventListener("input",(()=>{c.disabled=!Boolean(o.value)}),!1),o.addEventListener("paste",(e=>e.preventDefault())),o.addEventListener("drop",(e=>e.preventDefault())),e.setOutsideClickCallback((e=>{e.consume(),s(!1)})),e.show(),i.userMetrics.actionTaken(i.UserMetrics.Action.SelfXssWarningDialogShown)}));return e.hide(),s}}const E={editable:new l.Compartment,language:new l.Compartment,lineNumbers:new l.Compartment};class I{regexp;currentRange;constructor(e,t){this.regexp=e,this.currentRange=t}map(e){return e.empty||!this.currentRange?this:new I(this.regexp,{from:e.mapPos(this.currentRange.from),to:e.mapPos(this.currentRange.to)})}static eq(e,t){return Boolean(e===t||e&&t&&e.currentRange?.from===t.currentRange?.from&&e.currentRange?.to===t.currentRange?.to&&e.regexp.regex.source===t.regexp.regex.source&&e.regexp.regex.flags===t.regexp.regex.flags)}}const P=l.StateEffect.define({map:(e,t)=>e&&e.map(t)}),R=l.StateField.define({create:()=>null,update:(e,t)=>t.effects.reduce(((e,t)=>t.is(P)?t.value:e),e&&e.map(t.changes))}),L=l.Decoration.mark({class:"cm-searchMatch"}),N=l.Decoration.mark({class:"cm-searchMatch cm-searchMatch-selected"}),D=l.ViewPlugin.fromClass(class{decorations;constructor(e){this.decorations=this.computeDecorations(e)}update(e){const t=e.state.field(R);(!I.eq(t,e.startState.field(R))||t&&(e.viewportChanged||e.docChanged))&&(this.decorations=this.computeDecorations(e.view))}computeDecorations(e){const t=e.state.field(R);if(!t)return l.Decoration.none;const s=new l.RangeSetBuilder,{doc:n}=e.state;for(const{from:i,to:r}of e.visibleRanges){let e=i;for(const o of n.iterRange(i,r)){if("\n"!==o)for(t.regexp.regex.lastIndex=0;;){const n=t.regexp.regex.exec(o);if(!n)break;if(n[0].length){const i=e+n.index,r=i+n[0].length,o=t.currentRange&&t.currentRange.from===i&&t.currentRange.to===r;s.add(i,r,o?N:L)}else t.regexp.regex.lastIndex=n.index+1}e+=o.length}}return s.finish()}},{decorations:e=>e.decorations}),V=new class extends l.GutterMarker{elementClass="cm-nonBreakableLine"},F=l.StateEffect.define(),M=l.StateField.define({create:()=>l.RangeSet.empty,update:(e,t)=>t.effects.reduce(((e,t)=>t.is(F)?e.update({add:t.value.map((e=>V.range(e)))}):e),e.map(t.changes)),provide:e=>l.lineNumberMarkers.from(e)});const U=l.EditorView.theme({"&.cm-editor":{height:"100%"},".cm-scroller":{overflow:"auto"},".cm-lineNumbers .cm-gutterElement.cm-nonBreakableLine":{color:"var(--sys-color-state-disabled) !important"},".cm-searchMatch":{border:"1px solid var(--sys-color-outline)",borderRadius:"3px",margin:"0 -1px","&.cm-searchMatch-selected":{borderRadius:"1px",backgroundColor:"var(--sys-color-yellow-container)",borderColor:"var(--sys-color-yellow-outline)","&, & *":{color:"var(--sys-color-on-surface) !important"}}},":host-context(.pretty-printed) & .cm-lineNumbers .cm-gutterElement":{color:"var(--sys-color-primary)"}});var j=Object.freeze({__proto__:null,LINE_NUMBER_FORMATTER:y,SourceFrameImpl:C,SelfXssWarningDialog:v,addNonBreakableLines:F,isBreakableLine:function(e,t){const s=e.field(M);if(!s.size)return!0;let n=!1;return s.between(t.from,t.from,(()=>{n=!0})),!n}});const O={find:"Find"},A=s.i18n.registerUIStrings("ui/legacy/components/source_frame/ResourceSourceFrame.ts",O),H=s.i18n.getLocalizedString.bind(void 0,A);class k extends C{resourceInternal;#t;constructor(t,s,n){const i=e.ContentProvider.isStreamingContentProvider(t);super(i?()=>t.requestStreamingContent().then(e.StreamingContentData.asContentDataOrError):()=>t.requestContentData(),n),this.#t=s,this.resourceInternal=t,i&&t.requestStreamingContent().then((t=>{e.StreamingContentData.isError(t)||t.addEventListener("ChunkAdded",(()=>{this.setContentDataOrError(Promise.resolve(t.content()))}))}))}static createSearchableView(e,t){return new _(e,t)}getContentType(){return this.#t}get resource(){return this.resourceInternal}populateTextAreaContextMenu(e,t,s){super.populateTextAreaContextMenu(e,t,s),e.appendApplicableItems(this.resourceInternal)}}class _ extends n.Widget.VBox{sourceFrame;constructor(e,s){super(!0),this.registerRequiredCSS(w);const i=t.ResourceType.ResourceType.simplifyContentType(s),r=new k(e,i);this.sourceFrame=r;const o=g.includes(i);r.setCanPrettyPrint(o,!0);const a=new n.SearchableView.SearchableView(r,r);a.element.classList.add("searchable-view"),a.setPlaceholder(H(O.find)),r.show(a.element),r.setSearchableView(a),a.show(this.contentElement);const l=new n.Toolbar.Toolbar("toolbar",this.contentElement);r.toolbarItems().then((e=>{e.map((e=>l.appendToolbarItem(e)))}))}async revealPosition(e){this.sourceFrame.revealPosition(e,!0)}}var z=Object.freeze({__proto__:null,ResourceSourceFrame:k,SearchableContainer:_});class W{base64content;contentUrl;resourceType;arrayPromise;hexPromise;utf8Promise;constructor(e,t,s){this.base64content=e,this.contentUrl=t,this.resourceType=s,this.arrayPromise=null,this.hexPromise=null,this.utf8Promise=null}async fetchContentAsArray(){return this.arrayPromise||(this.arrayPromise=new Promise((async e=>{const t=await fetch("data:;base64,"+this.base64content);e(new Uint8Array(await t.arrayBuffer()))}))),await this.arrayPromise}async hex(){return this.hexPromise||(this.hexPromise=new Promise((async e=>{const t=await this.fetchContentAsArray();e(W.uint8ArrayToHexString(t))}))),this.hexPromise}base64(){return this.base64content}async utf8(){return this.utf8Promise||(this.utf8Promise=new Promise((async e=>{const t=await this.fetchContentAsArray();e(new TextDecoder("utf8").decode(t))}))),this.utf8Promise}createBase64View(){return new k(e.StaticContentProvider.StaticContentProvider.fromString(this.contentUrl,this.resourceType,this.base64content),this.resourceType.canonicalMimeType(),{lineNumbers:!1,lineWrapping:!0})}createHexView(){const t=new e.StaticContentProvider.StaticContentProvider(this.contentUrl,this.resourceType,(async()=>{const t=await this.fetchContentAsArray(),s=W.uint8ArrayToHexViewer(t);return new e.ContentData.ContentData(s,!1,"text/plain")}));return new k(t,this.resourceType.canonicalMimeType(),{lineNumbers:!1,lineWrapping:!1})}createUtf8View(){const t=new e.StaticContentProvider.StaticContentProvider(this.contentUrl,this.resourceType,(()=>this.utf8().then((t=>new e.ContentData.ContentData(t,!1,"text/plain")))));return new k(t,this.resourceType.canonicalMimeType(),{lineNumbers:!0,lineWrapping:!0})}static uint8ArrayToHexString(e){let t="";for(let s=0;s<e.length;s++)t+=W.numberToHex(e[s],2);return t}static numberToHex(e,t){let s=e.toString(16);for(;s.length<t;)s="0"+s;return s}static uint8ArrayToHexViewer(e){let t="",s=0;for(;16*s<e.length;){const n=e.slice(16*s,16*(s+1));t+=W.numberToHex(s,8)+":";let i=0;for(let e=0;e<n.length;e++)e%2==0&&(t+=" ",i++),t+=W.numberToHex(n[e],2),i+=2;for(;i<42;)t+=" ",i++;for(let e=0;e<n.length;e++){const s=n[e];t+=s>=32&&s<=126?String.fromCharCode(s):"."}t+="\n",s++}return t}}var B=Object.freeze({__proto__:null,BinaryResourceViewFactory:W}),q={cssContent:".font-view{font-size:60px;white-space:pre-wrap;word-wrap:break-word;text-align:center;padding:15px}\n/*# sourceURL=fontView.css */\n"};const X={font:"Font",previewOfFontFromS:"Preview of font from {PH1}"},J=s.i18n.registerUIStrings("ui/legacy/components/source_frame/FontView.ts",X),$=s.i18n.getLocalizedString.bind(void 0,J);class G extends n.View.SimpleView{url;contentProvider;mimeTypeLabel;fontPreviewElement;dummyElement;fontStyleElement;inResize;constructor(e,t){super($(X.font)),this.registerRequiredCSS(q),this.element.classList.add("font-view"),this.element.setAttribute("jslog",`${d.pane("font-view")}`),this.url=t.contentURL(),n.ARIAUtils.setLabel(this.element,$(X.previewOfFontFromS,{PH1:this.url})),this.contentProvider=t,this.mimeTypeLabel=new n.Toolbar.ToolbarText(e)}async toolbarItems(){return[this.mimeTypeLabel]}onFontContentLoaded(t,s){const n=e.ContentData.ContentData.isError(s)?this.url:s.asDataUrl();this.fontStyleElement&&(this.fontStyleElement.textContent=r.StringUtilities.sprintf('@font-face { font-family: "%s"; src: url(%s); }',t,n),this.updateFontPreviewSize())}createContentIfNeeded(){if(this.fontPreviewElement)return;const e="WebInspectorFontPreview"+ ++Q;this.fontStyleElement=document.createElement("style"),this.contentProvider.requestContentData().then((t=>{this.onFontContentLoaded(e,t)})),this.element.appendChild(this.fontStyleElement);const t=document.createElement("div");for(let e=0;e<Y.length;++e)e>0&&t.createChild("br"),n.UIUtils.createTextChild(t,Y[e]);this.fontPreviewElement=t.cloneNode(!0),this.fontPreviewElement&&(n.ARIAUtils.markAsHidden(this.fontPreviewElement),this.fontPreviewElement.style.overflow="hidden",this.fontPreviewElement.style.setProperty("font-family",e),this.fontPreviewElement.style.setProperty("visibility","hidden"),this.dummyElement=t,this.dummyElement.style.visibility="hidden",this.dummyElement.style.zIndex="-1",this.dummyElement.style.display="inline",this.dummyElement.style.position="absolute",this.dummyElement.style.setProperty("font-family",e),this.dummyElement.style.setProperty("font-size",K+"px"),this.element.appendChild(this.fontPreviewElement))}wasShown(){this.createContentIfNeeded(),this.updateFontPreviewSize()}onResize(){if(!this.inResize){this.inResize=!0;try{this.updateFontPreviewSize()}finally{this.inResize=null}}}measureElement(){if(!this.dummyElement)throw new Error("No font preview loaded");this.element.appendChild(this.dummyElement);const e={width:this.dummyElement.offsetWidth,height:this.dummyElement.offsetHeight};return this.element.removeChild(this.dummyElement),e}updateFontPreviewSize(){if(!this.fontPreviewElement||!this.isShowing())return;this.fontPreviewElement.style.removeProperty("visibility");const e=this.measureElement(),t=e.height,s=e.width,n=this.element.offsetWidth-50,i=this.element.offsetHeight-30;if(!(t&&s&&n&&i))return void this.fontPreviewElement.style.removeProperty("font-size");const r=n/s,o=i/t,a=Math.floor(K*Math.min(r,o))-2;this.fontPreviewElement.style.setProperty("font-size",a+"px",void 0)}}let Q=0;const Y=["ABCDEFGHIJKLM","NOPQRSTUVWXYZ","abcdefghijklm","nopqrstuvwxyz","1234567890"],K=50;var Z=Object.freeze({__proto__:null,FontView:G}),ee={cssContent:".image-view{overflow:auto}.image-view > .image{padding:20px 20px 10px;text-align:center}.image-view img.resource-image-view{max-width:100%;max-height:1000px;background-image:var(--image-file-checker);box-shadow:0 5px 10px var(--sys-color-outline);user-select:text;-webkit-user-drag:auto}\n/*# sourceURL=imageView.css */\n"};const te={image:"Image",dropImageFileHere:"Drop image file here",imageFromS:"Image from {PH1}",dD:"{PH1} × {PH2}",copyImageUrl:"Copy image URL",copyImageAsDataUri:"Copy image as data URI",openImageInNewTab:"Open image in new tab",saveImageAs:"Save image as...",download:"download"},se=s.i18n.registerUIStrings("ui/legacy/components/source_frame/ImageView.ts",te),ne=s.i18n.getLocalizedString.bind(void 0,se);class ie extends n.View.SimpleView{url;parsedURL;mimeType;contentProvider;uiSourceCode;sizeLabel;dimensionsLabel;aspectRatioLabel;mimeTypeLabel;container;imagePreviewElement;cachedContent;constructor(e,s){super(ne(te.image)),this.registerRequiredCSS(ee),this.element.tabIndex=-1,this.element.classList.add("image-view"),this.element.setAttribute("jslog",`${d.pane("image-view")}`),this.url=s.contentURL(),this.parsedURL=new t.ParsedURL.ParsedURL(this.url),this.mimeType=e,this.contentProvider=s,this.uiSourceCode=s instanceof u.UISourceCode.UISourceCode?s:null,this.uiSourceCode&&(this.uiSourceCode.addEventListener(u.UISourceCode.Events.WorkingCopyCommitted,this.workingCopyCommitted,this),new n.DropTarget.DropTarget(this.element,[n.DropTarget.Type.ImageFile,n.DropTarget.Type.URI],ne(te.dropImageFileHere),this.handleDrop.bind(this))),this.sizeLabel=new n.Toolbar.ToolbarText,this.dimensionsLabel=new n.Toolbar.ToolbarText,this.aspectRatioLabel=new n.Toolbar.ToolbarText,this.mimeTypeLabel=new n.Toolbar.ToolbarText(e),this.container=this.element.createChild("div","image"),this.imagePreviewElement=this.container.createChild("img","resource-image-view"),this.imagePreviewElement.addEventListener("contextmenu",this.contextMenu.bind(this),!0)}async toolbarItems(){return await this.updateContentIfNeeded(),[this.sizeLabel,new n.Toolbar.ToolbarSeparator,this.dimensionsLabel,new n.Toolbar.ToolbarSeparator,this.aspectRatioLabel,new n.Toolbar.ToolbarSeparator,this.mimeTypeLabel]}wasShown(){this.updateContentIfNeeded()}disposeView(){this.uiSourceCode&&this.uiSourceCode.removeEventListener(u.UISourceCode.Events.WorkingCopyCommitted,this.workingCopyCommitted,this)}workingCopyCommitted(){this.updateContentIfNeeded()}async updateContentIfNeeded(){const t=await this.contentProvider.requestContentData();if(e.ContentData.ContentData.isError(t)||this.cachedContent?.contentEqualTo(t))return;this.cachedContent=t;const s=t.asDataUrl()??this.url,n=new Promise((e=>{this.imagePreviewElement.onload=e}));this.imagePreviewElement.src=s,this.imagePreviewElement.alt=ne(te.imageFromS,{PH1:this.url});const i=t.isTextContent?t.text.length:r.StringUtilities.base64ToSize(t.base64);this.sizeLabel.setText(r.NumberUtilities.bytesToString(i)),await n,this.dimensionsLabel.setText(ne(te.dD,{PH1:this.imagePreviewElement.naturalWidth,PH2:this.imagePreviewElement.naturalHeight})),this.aspectRatioLabel.setText(r.NumberUtilities.aspectRatio(this.imagePreviewElement.naturalWidth,this.imagePreviewElement.naturalHeight))}contextMenu(e){const s=new n.ContextMenu.ContextMenu(e),i=new t.ParsedURL.ParsedURL(this.imagePreviewElement.src);this.parsedURL.isDataURL()||s.clipboardSection().appendItem(ne(te.copyImageUrl),this.copyImageURL.bind(this),{jslogContext:"image-view.copy-image-url"}),i.isDataURL()&&s.clipboardSection().appendItem(ne(te.copyImageAsDataUri),this.copyImageAsDataURL.bind(this),{jslogContext:"image-view.copy-image-as-data-url"}),s.clipboardSection().appendItem(ne(te.openImageInNewTab),this.openInNewTab.bind(this),{jslogContext:"image-view.open-in-new-tab"}),s.clipboardSection().appendItem(ne(te.saveImageAs),this.saveImage.bind(this),{jslogContext:"image-view.save-image"}),s.show()}copyImageAsDataURL(){i.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(this.imagePreviewElement.src)}copyImageURL(){i.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(this.url)}async saveImage(){const e=this.cachedContent?.asDataUrl();if(!e)return;const t=document.createElement("a");t.href=e,t.download=this.parsedURL.isDataURL()?ne(te.download):decodeURIComponent(this.parsedURL.displayName),t.click(),t.remove()}openInNewTab(){i.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(this.url)}async handleDrop(e){const t=e.items;if(!t.length||"file"!==t[0].kind)return;const s=t[0].getAsFile();if(!s)return;const n=!s.name.endsWith(".svg");(e=>{const t=new FileReader;t.onloadend=()=>{let e;try{e=t.result}catch(t){e=null,console.error("Can't read file: "+t)}"string"==typeof e&&this.uiSourceCode&&this.uiSourceCode.setContent(n?btoa(e):e,n)},n?t.readAsBinaryString(e):t.readAsText(e)})(s)}}var re=Object.freeze({__proto__:null,ImageView:ie}),oe={cssContent:".json-view{padding:2px 6px;overflow:auto}\n/*# sourceURL=jsonView.css */\n"};const ae={find:"Find"},le=s.i18n.registerUIStrings("ui/legacy/components/source_frame/JSONView.ts",ae),ce=s.i18n.getLocalizedString.bind(void 0,le);class he extends n.Widget.VBox{initialized;parsedJSON;startCollapsed;searchableView;treeOutline;currentSearchFocusIndex;currentSearchTreeElements;searchRegex;constructor(e,t){super(),this.initialized=!1,this.registerRequiredCSS(oe),this.parsedJSON=e,this.startCollapsed=Boolean(t),this.element.classList.add("json-view"),this.element.setAttribute("jslog",`${d.section("json-view")}`),this.currentSearchFocusIndex=0,this.currentSearchTreeElements=[],this.searchRegex=null}static async createView(e){const t=await he.parseJSON(e);if(!t||"object"!=typeof t.data)return null;const s=new he(t),i=new n.SearchableView.SearchableView(s,null);return i.setPlaceholder(ce(ae.find)),s.searchableView=i,s.show(i.element),i}static createViewSync(e){const t=new he(new de(e,"","")),s=new n.SearchableView.SearchableView(t,null);return s.setPlaceholder(ce(ae.find)),t.searchableView=s,t.show(s.element),t.element.tabIndex=0,s}static parseJSON(e){let t=null;if(e&&(t=he.extractJSON(e)),!t)return Promise.resolve(null);try{const e=JSON.parse(t.data);if(!e)return Promise.resolve(null);t.data=e}catch(e){t=null}return Promise.resolve(t)}static extractJSON(e){if(e.startsWith("<"))return null;let t=he.findBrackets(e,"{","}");const s=he.findBrackets(e,"[","]");if(t=s.length>t.length?s:t,-1===t.length||e.length-t.length>80)return null;const n=e.substring(0,t.start),i=e.substring(t.end+1);return e=e.substring(t.start,t.end+1),!i.trim().length||i.trim().startsWith(")")&&n.trim().endsWith("(")?new de(e,n,i):null}static findBrackets(e,t,s){const n=e.indexOf(t),i=e.lastIndexOf(s);let r=i-n-1;return(-1===n||-1===i||i<n)&&(r=-1),{start:n,end:i,length:r}}wasShown(){this.initialize()}initialize(){if(this.initialized)return;this.initialized=!0;const e=m.RemoteObject.RemoteObject.fromLocalObject(this.parsedJSON.data),t=this.parsedJSON.prefix+e.description+this.parsedJSON.suffix;this.treeOutline=new p.ObjectPropertiesSection.ObjectPropertiesSection(e,t,void 0,!0),this.treeOutline.enableContextMenu(),this.treeOutline.setEditable(!1),this.startCollapsed||this.treeOutline.expand(),this.element.appendChild(this.treeOutline.element);const s=this.treeOutline.firstChild();s&&s.select(!0,!1)}jumpToMatch(e){if(!this.searchRegex)return;const t=this.currentSearchTreeElements[this.currentSearchFocusIndex];t&&t.setSearchRegex(this.searchRegex);const s=this.currentSearchTreeElements[e];s?(this.updateSearchIndex(e),s.setSearchRegex(this.searchRegex,n.UIUtils.highlightedCurrentSearchResultClassName),s.reveal()):this.updateSearchIndex(0)}updateSearchCount(e){this.searchableView&&this.searchableView.updateSearchMatchesCount(e)}updateSearchIndex(e){this.currentSearchFocusIndex=e,this.searchableView&&this.searchableView.updateCurrentMatchIndex(e)}onSearchCanceled(){let e;for(this.searchRegex=null,this.currentSearchTreeElements=[],e=this.treeOutline.rootElement();e;e=e.traverseNextTreeElement(!1))e instanceof p.ObjectPropertiesSection.ObjectPropertyTreeElement&&e.revertHighlightChanges();this.updateSearchCount(0),this.updateSearchIndex(0)}performSearch(e,t,s){let n=this.currentSearchFocusIndex;const i=this.currentSearchTreeElements[n];let o;for(this.onSearchCanceled(),this.searchRegex=e.toSearchRegex(!0).regex,o=this.treeOutline.rootElement();o;o=o.traverseNextTreeElement(!1)){if(!(o instanceof p.ObjectPropertiesSection.ObjectPropertyTreeElement))continue;const e=o.setSearchRegex(this.searchRegex);if(e&&this.currentSearchTreeElements.push(o),i===o){const t=this.currentSearchTreeElements.length-1;n=e||s?t:t+1}}this.updateSearchCount(this.currentSearchTreeElements.length),this.currentSearchTreeElements.length?(n=r.NumberUtilities.mod(n,this.currentSearchTreeElements.length),this.jumpToMatch(n)):this.updateSearchIndex(-1)}jumpToNextSearchResult(){if(!this.currentSearchTreeElements.length)return;const e=r.NumberUtilities.mod(this.currentSearchFocusIndex+1,this.currentSearchTreeElements.length);this.jumpToMatch(e)}jumpToPreviousSearchResult(){if(!this.currentSearchTreeElements.length)return;const e=r.NumberUtilities.mod(this.currentSearchFocusIndex-1,this.currentSearchTreeElements.length);this.jumpToMatch(e)}supportsCaseSensitiveSearch(){return!0}supportsRegexSearch(){return!0}}class de{data;prefix;suffix;constructor(e,t,s){this.data=e,this.prefix=t,this.suffix=s}}var ue=Object.freeze({__proto__:null,JSONView:he,ParsedJSON:de}),me={cssContent:".tree-outline ol{list-style:none;padding:0;margin:0;padding-inline-start:16px}ol.tree-outline{padding-inline-start:0}.tree-outline li{min-height:12px}.tree-outline li.shadow-xml-view-close-tag{margin-left:-16px}.shadow-xml-view-tag{color:var(--sys-color-purple)}.shadow-xml-view-comment{color:var(--sys-color-green)}.shadow-xml-view-processing-instruction{color:var(--sys-color-green)}.shadow-xml-view-attribute-name{color:var(--sys-color-orange)}.shadow-xml-view-attribute-value{color:var(--sys-color-blue)}.shadow-xml-view-text{color:var(--sys-color-on-surface);white-space:pre}.shadow-xml-view-cdata{color:var(--sys-color-on-surface)}\n/*# sourceURL=xmlTree.css */\n"},pe={cssContent:".shadow-xml-view{user-select:text;overflow:auto;padding:2px 4px}\n/*# sourceURL=xmlView.css */\n"};const ge={find:"Find"},we=s.i18n.registerUIStrings("ui/legacy/components/source_frame/XMLView.ts",ge),fe=s.i18n.getLocalizedString.bind(void 0,we);class xe extends n.Widget.Widget{treeOutline;searchableView;currentSearchFocusIndex;currentSearchTreeElements;searchConfig;constructor(e){super(!0),this.registerRequiredCSS(pe),this.contentElement.classList.add("shadow-xml-view","source-code"),this.treeOutline=new n.TreeOutline.TreeOutlineInShadow,this.treeOutline.registerRequiredCSS(me),this.contentElement.appendChild(this.treeOutline.element),this.currentSearchFocusIndex=0,this.currentSearchTreeElements=[],Se.populate(this.treeOutline,e,this);const t=this.treeOutline.firstChild();t&&t.select(!0,!1)}static createSearchableView(e){const t=new xe(e),s=new n.SearchableView.SearchableView(t,null);return s.setPlaceholder(fe(ge.find)),t.searchableView=s,t.show(s.element),s}static parseXML(e,t){let s;try{switch(t){case"application/xhtml+xml":case"application/xml":case"image/svg+xml":case"text/html":case"text/xml":s=(new DOMParser).parseFromString(e,t)}}catch(e){return null}return!s||s.body?null:s}jumpToMatch(e,t){if(!this.searchConfig)return;const{regex:s}=this.searchConfig.toSearchRegex(!0),i=this.currentSearchTreeElements[this.currentSearchFocusIndex];i&&i.setSearchRegex(s);const r=this.currentSearchTreeElements[e];r?(this.updateSearchIndex(e),t&&r.reveal(!0),r.setSearchRegex(s,n.UIUtils.highlightedCurrentSearchResultClassName)):this.updateSearchIndex(0)}updateSearchCount(e){this.searchableView&&this.searchableView.updateSearchMatchesCount(e)}updateSearchIndex(e){this.currentSearchFocusIndex=e,this.searchableView&&this.searchableView.updateCurrentMatchIndex(e)}innerPerformSearch(e,t){if(!this.searchConfig)return;let s=this.currentSearchFocusIndex;const n=this.currentSearchTreeElements[s];this.innerSearchCanceled(),this.currentSearchTreeElements=[];const{regex:i}=this.searchConfig.toSearchRegex(!0);for(let e=this.treeOutline.rootElement();e;e=e.traverseNextTreeElement(!1)){if(!(e instanceof Se))continue;const r=e.setSearchRegex(i);if(r&&this.currentSearchTreeElements.push(e),n===e){const e=this.currentSearchTreeElements.length-1;s=r||t?e:e+1}}this.updateSearchCount(this.currentSearchTreeElements.length),this.currentSearchTreeElements.length?(s=r.NumberUtilities.mod(s,this.currentSearchTreeElements.length),this.jumpToMatch(s,e)):this.updateSearchIndex(0)}innerSearchCanceled(){for(let e=this.treeOutline.rootElement();e;e=e.traverseNextTreeElement(!1))e instanceof Se&&e.revertHighlightChanges();this.updateSearchCount(0),this.updateSearchIndex(0)}onSearchCanceled(){this.searchConfig=null,this.currentSearchTreeElements=[],this.innerSearchCanceled()}performSearch(e,t,s){this.searchConfig=e,this.innerPerformSearch(t,s)}jumpToNextSearchResult(){if(!this.currentSearchTreeElements.length)return;const e=r.NumberUtilities.mod(this.currentSearchFocusIndex+1,this.currentSearchTreeElements.length);this.jumpToMatch(e,!0)}jumpToPreviousSearchResult(){if(!this.currentSearchTreeElements.length)return;const e=r.NumberUtilities.mod(this.currentSearchFocusIndex-1,this.currentSearchTreeElements.length);this.jumpToMatch(e,!0)}supportsCaseSensitiveSearch(){return!0}supportsRegexSearch(){return!0}}class Se extends n.TreeOutline.TreeElement{node;closeTag;highlightChanges;xmlView;constructor(e,t,s){super("",!t&&"childElementCount"in e&&Boolean(e.childElementCount)),this.node=e,this.closeTag=t,this.selectable=!0,this.highlightChanges=[],this.xmlView=s,this.updateTitle()}static populate(e,t,s){if(!(t instanceof Node))return;let n=t.firstChild;for(;n;){const t=n;n=n.nextSibling;const i=t.nodeType;3===i&&t.nodeValue&&t.nodeValue.match(/\s+/)||(1!==i&&3!==i&&4!==i&&7!==i&&8!==i||e.appendChild(new Se(t,!1,s)))}}setSearchRegex(t,s){if(this.revertHighlightChanges(),!t)return!1;if(this.closeTag&&this.parent&&!this.parent.expanded)return!1;t.lastIndex=0;let i=n.UIUtils.highlightedSearchResultClassName;if(s&&(i+=" "+s),!this.listItemElement.textContent)return!1;const r=this.listItemElement.textContent.replace(/\xA0/g," ");let o=t.exec(r);const a=[];for(;o;)a.push(new e.TextRange.SourceRange(o.index,o[0].length)),o=t.exec(r);return a.length&&n.UIUtils.highlightRangesWithStyleClass(this.listItemElement,a,i,this.highlightChanges),Boolean(this.highlightChanges.length)}revertHighlightChanges(){n.UIUtils.revertDomChanges(this.highlightChanges),this.highlightChanges=[]}updateTitle(){const e=this.node;if("nodeType"in e)switch(e.nodeType){case 1:if(e instanceof Element){const t=e.tagName;if(this.closeTag)return void this.setTitle(["</"+t+">","shadow-xml-view-tag"]);const s=["<"+t,"shadow-xml-view-tag"],n=e.attributes;for(let e=0;e<n.length;++e){const t=n.item(e);if(!t)return;s.push(" ","shadow-xml-view-tag",t.name,"shadow-xml-view-attribute-name",'="',"shadow-xml-view-tag",t.value,"shadow-xml-view-attribute-value",'"',"shadow-xml-view-tag")}return this.expanded||(e.childElementCount?s.push(">","shadow-xml-view-tag","…","shadow-xml-view-comment","</"+t,"shadow-xml-view-tag"):e.textContent?s.push(">","shadow-xml-view-tag",e.textContent,"shadow-xml-view-text","</"+t,"shadow-xml-view-tag"):s.push(" /","shadow-xml-view-tag")),s.push(">","shadow-xml-view-tag"),void this.setTitle(s)}return;case 3:return void(e.nodeValue&&this.setTitle([e.nodeValue,"shadow-xml-view-text"]));case 4:return void(e.nodeValue&&this.setTitle(["<![CDATA[","shadow-xml-view-cdata",e.nodeValue,"shadow-xml-view-text","]]>","shadow-xml-view-cdata"]));case 7:return void(e.nodeValue&&this.setTitle(["<?"+e.nodeName+" "+e.nodeValue+"?>","shadow-xml-view-processing-instruction"]));case 8:return void this.setTitle(["\x3c!--"+e.nodeValue+"--\x3e","shadow-xml-view-comment"])}}setTitle(e){const t=document.createDocumentFragment();for(let s=0;s<e.length;s+=2)t.createChild("span",e[s+1]).textContent=e[s];this.title=t,this.xmlView.innerPerformSearch(!1,!1)}onattach(){this.listItemElement.classList.toggle("shadow-xml-view-close-tag",this.closeTag)}onexpand(){this.updateTitle()}oncollapse(){this.updateTitle()}async onpopulate(){Se.populate(this,this.node,this.xmlView),this.appendChild(new Se(this.node,!0,this.xmlView))}}var be=Object.freeze({__proto__:null,XMLView:xe,XMLViewNode:Se});const ye={nothingToPreview:"Nothing to preview"},Ce=s.i18n.registerUIStrings("ui/legacy/components/source_frame/PreviewFactory.ts",ye),Te=s.i18n.getLocalizedString.bind(void 0,Ce);var ve=Object.freeze({__proto__:null,PreviewFactory:class{static async createPreview(s,i){let r=t.ResourceType.ResourceType.fromMimeType(i);switch(r===t.ResourceType.resourceTypes.Other&&(r=s.contentType()),r){case t.ResourceType.resourceTypes.Image:return new ie(i,s);case t.ResourceType.resourceTypes.Font:return new G(i,s)}const o=await s.requestContentData();if(e.ContentData.ContentData.isError(o))return new n.EmptyWidget.EmptyWidget(o.error);if(!o.isTextContent)return null;if(!o.text)return new n.EmptyWidget.EmptyWidget(Te(ye.nothingToPreview));const a=xe.parseXML(o.text,o.mimeType);if(a)return xe.createSearchableView(a);const l=await he.createView(o.text);if(l)return l;const c=i.replace(/;.*/,"")||s.contentType().canonicalMimeType();return k.createSearchableView(s,c)}}});export{B as BinaryResourceViewFactory,Z as FontView,re as ImageView,ue as JSONView,ve as PreviewFactory,z as ResourceSourceFrame,j as SourceFrame,be as XMLView};