// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/third_party/chromium/chrome_track_event.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenEnum, GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { TrackEvent } from "../../perfetto/trace/track_event/track_event_pb";
import { file_protos_perfetto_trace_track_event_track_event } from "../../perfetto/trace/track_event/track_event_pb";
import type { DebugAnnotation } from "../../perfetto/trace/track_event/debug_annotation_pb";
import { file_protos_perfetto_trace_track_event_debug_annotation } from "../../perfetto/trace/track_event/debug_annotation_pb";
import type { SourceLocation } from "../../perfetto/trace/track_event/source_location_pb";
import { file_protos_perfetto_trace_track_event_source_location } from "../../perfetto/trace/track_event/source_location_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/third_party/chromium/chrome_track_event.proto.
 */
export const file_protos_third_party_chromium_chrome_track_event: GenFile = /*@__PURE__*/
  fileDesc("CjRwcm90b3MvdGhpcmRfcGFydHkvY2hyb21pdW0vY2hyb21lX3RyYWNrX2V2ZW50LnByb3RvEg9wZXJmZXR0by5wcm90b3MidgogQ2hyb21lTWVtb3J5UHJlc3N1cmVOb3RpZmljYXRpb24SMwoFbGV2ZWwYASABKA4yJC5wZXJmZXR0by5wcm90b3MuTWVtb3J5UHJlc3N1cmVMZXZlbBIdChVjcmVhdGlvbl9sb2NhdGlvbl9paWQYAiABKAQilAQKDkJsaW5rVGFza1Njb3BlEjsKBHR5cGUYASABKA4yLS5wZXJmZXR0by5wcm90b3MuQmxpbmtUYXNrU2NvcGUuVGFza1Njb3BlVHlwZRIVCg1zY29wZV90YXNrX2lkGAIgASgDEiYKHnJ1bm5pbmdfdGFza19pZF90b19iZV9yZXN0b3JlZBgDIAEoAyLEAgoNVGFza1Njb3BlVHlwZRIWChJUQVNLX1NDT1BFX1VOS05PV04QABIXChNUQVNLX1NDT1BFX0NBTExCQUNLEAESHwobVEFTS19TQ09QRV9TQ0hFRFVMRURfQUNUSU9OEAISHwobVEFTS19TQ09QRV9TQ1JJUFRfRVhFQ1VUSU9OEAMSGwoXVEFTS19TQ09QRV9QT1NUX01FU1NBR0UQBBIYChRUQVNLX1NDT1BFX1BPUF9TVEFURRAFEiIKHlRBU0tfU0NPUEVfU0NIRURVTEVSX1BPU1RfVEFTSxAGEiQKIFRBU0tfU0NPUEVfUkVRVUVTVF9JRExFX0NBTExCQUNLEAcSHwobVEFTS19TQ09QRV9YTUxfSFRUUF9SRVFVRVNUEAgSHgoaVEFTS19TQ09QRV9TT0ZUX05BVklHQVRJT04QCUoECAQQBUoECAUQBlIjY29udGludWF0aW9uX3Rhc2tfaWRfdG9fYmVfcmVzdG9yZWRSDnBhcmVudF90YXNrX2lkItUBChNDaHJvbWVUYXNrQW5ub3RhdG9yEhAKCGlwY19oYXNoGAEgASgNEhUKDXRhc2tfZGVsYXlfdXMYAiABKAQSRgoMZGVsYXlfcG9saWN5GAMgASgOMjAucGVyZmV0dG8ucHJvdG9zLkNocm9tZVRhc2tBbm5vdGF0b3IuRGVsYXlQb2xpY3kiTQoLRGVsYXlQb2xpY3kSFgoSRkxFWElCTEVfTk9fU09PTkVSEAASGQoVRkxFWElCTEVfUFJFRkVSX0VBUkxZEAESCwoHUFJFQ0lTRRACIigKFENocm9tZUJyb3dzZXJDb250ZXh0EgoKAmlkGAIgASgJSgQIARACIsQBChZDaHJvbWVQcm9maWxlRGVzdHJveWVyEhMKC3Byb2ZpbGVfcHRyGAEgASgGEhkKEWlzX29mZl90aGVfcmVjb3JkGAIgASgIEhYKDm90cl9wcm9maWxlX2lkGAMgASgJEh4KFmhvc3RfY291bnRfYXRfY3JlYXRpb24YBCABKA0SIQoZaG9zdF9jb3VudF9hdF9kZXN0cnVjdGlvbhgFIAEoDRIfChdyZW5kZXJfcHJvY2Vzc19ob3N0X3B0chgGIAEoBiKJAQofQ2hyb21lVGFza1Bvc3RlZFRvRGlzYWJsZWRRdWV1ZRIXCg90YXNrX3F1ZXVlX25hbWUYASABKAkSHgoWdGltZV9zaW5jZV9kaXNhYmxlZF9tcxgCIAEoBBIQCghpcGNfaGFzaBgDIAEoDRIbChNzb3VyY2VfbG9jYXRpb25faWlkGAQgASgEIi8KEENocm9tZVJhc3RlclRhc2sSGwoTc291cmNlX2ZyYW1lX251bWJlchgBIAEoAyJMChZDaHJvbWVNZXNzYWdlUHVtcEZvclVJEhIKCm1lc3NhZ2VfaWQYASABKA0SHgoWd2FpdF9mb3Jfb2JqZWN0X3Jlc3VsdBgCIAEoDSKzAQoXUmVuZGVyRnJhbWVJbXBsRGVsZXRpb24SNQoGaW50ZW50GAEgASgOMiUucGVyZmV0dG8ucHJvdG9zLkZyYW1lRGVsZXRlSW50ZW50aW9uEhoKEmhhc19wZW5kaW5nX2NvbW1pdBgCIAEoCBIpCiFoYXNfcGVuZGluZ19jcm9zc19kb2N1bWVudF9jb21taXQYAyABKAgSGgoSZnJhbWVfdHJlZV9ub2RlX2lkGAQgASgEInwKIVNob3VsZFN3YXBCcm93c2luZ0luc3RhbmNlc1Jlc3VsdBIaChJmcmFtZV90cmVlX25vZGVfaWQYASABKAQSOwoGcmVzdWx0GAIgASgOMisucGVyZmV0dG8ucHJvdG9zLlNob3VsZFN3YXBCcm93c2luZ0luc3RhbmNlIvADChFGcmFtZVRyZWVOb2RlSW5mbxIaChJmcmFtZV90cmVlX25vZGVfaWQYASABKAQSFQoNaXNfbWFpbl9mcmFtZRgCIAEoCBIpCiFoYXNfc3BlY3VsYXRpdmVfcmVuZGVyX2ZyYW1lX2hvc3QYAyABKAgSPAoSY3VycmVudF9mcmFtZV9ob3N0GAQgASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBJAChZzcGVjdWxhdGl2ZV9mcmFtZV9ob3N0GAUgASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBJACgpmcmFtZV90eXBlGAYgASgOMiwucGVyZmV0dG8ucHJvdG9zLkZyYW1lVHJlZU5vZGVJbmZvLkZyYW1lVHlwZRI7ChFkZWJ1Z19hbm5vdGF0aW9ucxhjIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZWJ1Z0Fubm90YXRpb24ifgoJRnJhbWVUeXBlEhoKFlVOU1BFQ0lGSUVEX0ZSQU1FX1RZUEUQABIMCghTVUJGUkFNRRABEhYKElBSSU1BUllfTUFJTl9GUkFNRRACEhgKFFBSRVJFTkRFUl9NQUlOX0ZSQU1FEAMSFQoRRkVOQ0VEX0ZSQU1FX1JPT1QQBCKWAQobQ2hyb21lSGFzaGVkUGVyZm9ybWFuY2VNYXJrEhEKCXNpdGVfaGFzaBgBIAEoDRIMCgRzaXRlGAIgASgJEhEKCW1hcmtfaGFzaBgDIAEoDRIMCgRtYXJrGAQgASgJEhwKFGV4ZWN1dGlvbl9jb250ZXh0X2lkGAUgASgNEhcKD3NlcXVlbmNlX251bWJlchgGIAEoDSKOAgoUQ2hyb21lU3FsRGlhZ25vc3RpY3MSIgoacmVwb3J0ZWRfc3FsaXRlX2Vycm9yX2NvZGUYASABKAUSEgoKZXJyb3JfY29kZRgCIAEoBRISCgpsYXN0X2Vycm5vGAMgASgFEhUKDXNxbF9zdGF0ZW1lbnQYBCABKAkSDwoHdmVyc2lvbhgFIAEoBRIXCg9zY2hlbWFfc3FsX3Jvd3MYBiADKAkSHgoWc2NoZW1hX290aGVyX3Jvd19uYW1lcxgHIAMoCRIYChBoYXNfdmFsaWRfaGVhZGVyGAggASgIEhgKEGhhc192YWxpZF9zY2hlbWEYCSABKAgSFQoNZXJyb3JfbWVzc2FnZRgKIAEoCSLPAQoXQ2hyb21lV2ViQXBwQmFkTmF2aWdhdGUSEAoIaXNfa2lvc2sYASABKAgSIQoZaGFzX2hvc3RlZF9hcHBfY29udHJvbGxlchgCIAEoCBIQCghhcHBfbmFtZRgDIAEoCRIXCg9zeXN0ZW1fYXBwX3R5cGUYBCABKA0SJwofd2ViX2FwcF9wcm92aWRlcl9yZWdpc3RyeV9yZWFkeRgFIAEoCBIrCiNzeXN0ZW1fd2ViX2FwcF9tYW5hZ2VyX3N5bmNocm9uaXplZBgGIAEoCCIlCg5SZXNvdXJjZUJ1bmRsZRITCgtyZXNvdXJjZV9pZBgBIAEoDSLMAQoRUmVuZGVyUHJvY2Vzc0hvc3QSCgoCaWQYASABKA0SFAoMcHJvY2Vzc19sb2NrGAIgASgJEhgKEGNoaWxkX3Byb2Nlc3NfaWQYAyABKAUSPgoPYnJvd3Nlcl9jb250ZXh0GAQgASgLMiUucGVyZmV0dG8ucHJvdG9zLkNocm9tZUJyb3dzZXJDb250ZXh0EjsKEWRlYnVnX2Fubm90YXRpb25zGGMgAygLMiAucGVyZmV0dG8ucHJvdG9zLkRlYnVnQW5ub3RhdGlvbiIvChlSZW5kZXJQcm9jZXNzSG9zdExpc3RlbmVyEhIKCnJvdXRpbmdfaWQYASABKA0i1wEKGFJlbmRlclByb2Nlc3NIb3N0Q2xlYW51cBIWCg5saXN0ZW5lcl9jb3VudBgBIAEoDRIcChRrZWVwX2FsaXZlX3JlZl9jb3VudBgCIAEoDRIgChhzaHV0ZG93bl9kZWxheV9yZWZfY291bnQYAyABKA0SGAoQd29ya2VyX3JlZl9jb3VudBgEIAEoDRIfChdwZW5kaW5nX3JldXNlX3JlZl9jb3VudBgFIAEoDRIoCiBuYXZpZ2F0aW9uX3N0YXRlX2tlZXBhbGl2ZV9jb3VudBgGIAEoDSL4AQocQ2hpbGRQcm9jZXNzTGF1bmNoZXJQcmlvcml0eRIXCg9pc19iYWNrZ3JvdW5kZWQYASABKAgSGQoRaGFzX3BlbmRpbmdfdmlld3MYAiABKAgSTAoKaW1wb3J0YW5jZRgDIAEoDjI4LnBlcmZldHRvLnByb3Rvcy5DaGlsZFByb2Nlc3NMYXVuY2hlclByaW9yaXR5LkltcG9ydGFuY2UiVgoKSW1wb3J0YW5jZRIVChFJTVBPUlRBTkNFX05PUk1BTBABEhcKE0lNUE9SVEFOQ0VfTU9ERVJBVEUQAhIYChRJTVBPUlRBTkNFX0lNUE9SVEFOVBADIk0KEUNocm9tZUV4dGVuc2lvbklkEhQKDGV4dGVuc2lvbl9pZBgBIAEoCRIiChpwc2V1ZG9ueW1pemVkX2V4dGVuc2lvbl9pZBgCIAEoDSKuAgoMU2l0ZUluc3RhbmNlEhgKEHNpdGVfaW5zdGFuY2VfaWQYASABKAUSHAoUYnJvd3NpbmdfaW5zdGFuY2VfaWQYAiABKAUSEgoKaXNfZGVmYXVsdBgDIAEoCBITCgtoYXNfcHJvY2VzcxgEIAEoCBIlCh1yZWxhdGVkX2FjdGl2ZV9jb250ZW50c19jb3VudBgFIAEoBRIYChBhY3RpdmVfcmZoX2NvdW50GAYgASgFEj8KE3NpdGVfaW5zdGFuY2VfZ3JvdXAYByABKAsyIi5wZXJmZXR0by5wcm90b3MuU2l0ZUluc3RhbmNlR3JvdXASOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uIsEBChFTaXRlSW5zdGFuY2VHcm91cBIeChZzaXRlX2luc3RhbmNlX2dyb3VwX2lkGAEgASgFEhoKEmFjdGl2ZV9mcmFtZV9jb3VudBgCIAEoBRIzCgdwcm9jZXNzGAMgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0EjsKEWRlYnVnX2Fubm90YXRpb25zGGMgAygLMiAucGVyZmV0dG8ucHJvdG9zLkRlYnVnQW5ub3RhdGlvbiJfChdXZWJFeHBvc2VkSXNvbGF0aW9uSW5mbxITCgtpc19pc29sYXRlZBgBIAEoCBIOCgZvcmlnaW4YAiABKAkSHwoXaXNfaXNvbGF0ZWRfYXBwbGljYXRpb24YAyABKAgitgIKB1VybEluZm8SCwoDdXJsGAEgASgJEg4KBm9yaWdpbhgCIAEoCRIUCgxpc19zYW5kYm94ZWQYAyABKAgSDgoGaXNfcGRmGAQgASgIEiMKG2lzX2Nvb3BfaXNvbGF0aW9uX3JlcXVlc3RlZBgFIAEoCBIgChhvcmlnaW5faXNvbGF0aW9uX3JlcXVlc3QYBiABKAUSMQopaXNfcHJlZmV0Y2hfd2l0aF9jcm9zc19zaXRlX2NvbnRhbWluYXRpb24YByABKAgSTAoad2ViX2V4cG9zZWRfaXNvbGF0aW9uX2luZm8YCCABKAsyKC5wZXJmZXR0by5wcm90b3MuV2ViRXhwb3NlZElzb2xhdGlvbkluZm8SIAoYc3RvcmFnZV9wYXJ0aXRpb25fY29uZmlnGAkgASgJIv8BCg5SZW5kZXJWaWV3SG9zdBISCgpydmhfbWFwX2lkGAEgASgFEhIKCnJvdXRpbmdfaWQYAiABKAUSEgoKcHJvY2Vzc19pZBgDIAEoBRIzCgdwcm9jZXNzGAYgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0EiAKGGlzX2luX2JhY2tfZm9yd2FyZF9jYWNoZRgEIAEoCBIdChVyZW5kZXJlcl92aWV3X2NyZWF0ZWQYBSABKAgSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uIu0BChRSZW5kZXJGcmFtZVByb3h5SG9zdBISCgpyb3V0aW5nX2lkGAEgASgFEhIKCnByb2Nlc3NfaWQYAiABKAUSEgoKcnZoX21hcF9pZBgDIAEoBRIYChBzaXRlX2luc3RhbmNlX2lkGAQgASgFEiIKGmlzX3JlbmRlcl9mcmFtZV9wcm94eV9saXZlGAUgASgIEh4KFnNpdGVfaW5zdGFuY2VfZ3JvdXBfaWQYBiABKAUSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uInsKC0FuZHJvaWRWaWV3EgoKAmlkGAEgASgFEhEKCXBhcmVudF9pZBgCIAEoBRIQCghpc19zaG93bhgDIAEoCBIQCghpc19kaXJ0eRgEIAEoCBISCgpjbGFzc19uYW1lGAUgASgJEhUKDXJlc291cmNlX25hbWUYBiABKAkiSwoPQW5kcm9pZEFjdGl2aXR5EgwKBG5hbWUYASABKAkSKgoEdmlldxgCIAMoCzIcLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkVmlldyJFCg9BbmRyb2lkVmlld0R1bXASMgoIYWN0aXZpdHkYASADKAsyIC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEFjdGl2aXR5IjgKIlBhcmthYmxlU3RyaW5nQ29tcHJlc3NJbkJhY2tncm91bmQSEgoKc2l6ZV9ieXRlcxgBIAEoBSJSChRQYXJrYWJsZVN0cmluZ1VucGFyaxISCgpzaXplX2J5dGVzGAEgASgFEiYKHnRpbWVfc2luY2VfbGFzdF9kaXNrX3dyaXRlX3NlYxgCIAEoBSLBAgolQ2hyb21lU2FtcGxpbmdQcm9maWxlclNhbXBsZUNvbGxlY3RlZBITCgtmcmFtZV9jb3VudBgBIAEoBRJYCgx3cml0ZV9zdGF0dXMYAiABKA4yQi5wZXJmZXR0by5wcm90b3MuQ2hyb21lU2FtcGxpbmdQcm9maWxlclNhbXBsZUNvbGxlY3RlZC5Xcml0ZVN0YXR1cxIZChFzYW1wbGVkX3RocmVhZF9pZBgDIAEoBSKNAQoLV3JpdGVTdGF0dXMSFQoRV1JJVEVfU1RBVFVTX05PTkUQABIhCh1XUklURV9TVEFUVVNfQlVGRkVSSU5HX1NBTVBMRRABEiEKHVdSSVRFX1NUQVRVU19XUklUSU5HX0JVRkZFUkVEEAISIQodV1JJVEVfU1RBVFVTX1dSSVRJTkdfVE9fVFJBQ0UQAyL1AgojU2VuZEJlZ2luTWFpbkZyYW1lVG9Db21taXRCcmVha2Rvd24SHgoWaGFuZGxlX2lucHV0X2V2ZW50c191cxgBIAEoBBISCgphbmltYXRlX3VzGAIgASgEEhcKD3N0eWxlX3VwZGF0ZV91cxgDIAEoBBIYChBsYXlvdXRfdXBkYXRlX3VzGAQgASgEEh8KF2FjY2Vzc2liaWxpdHlfdXBkYXRlX3VzGAwgASgEEhMKC3ByZXBhaW50X3VzGAUgASgEEh0KFWNvbXBvc2l0aW5nX2lucHV0c191cxgGIAEoBBIiChpjb21wb3NpdGluZ19hc3NpZ25tZW50c191cxgHIAEoBBIQCghwYWludF91cxgIIAEoBBIbChNjb21wb3NpdGVfY29tbWl0X3VzGAkgASgEEhgKEHVwZGF0ZV9sYXllcnNfdXMYCiABKAQSJQodYmVnaW5fbWFpbl9zZW50X3RvX3N0YXJ0ZWRfdXMYCyABKAQiQQoXR2xvYmFsUmVuZGVyRnJhbWVIb3N0SWQSEgoKcm91dGluZ19pZBgBIAEoBRISCgpwcm9jZXNzX2lkGAIgASgFIrYBChRCcm93c2luZ0NvbnRleHRTdGF0ZRIcChRicm93c2luZ19pbnN0YW5jZV9pZBgBIAEoBRIhChVjb29wX3JlbGF0ZWRfZ3JvdXBfaWQYAiABKAVCAhgBEiAKGGNvb3BfcmVsYXRlZF9ncm91cF90b2tlbhgDIAEoCRI7ChFkZWJ1Z19hbm5vdGF0aW9ucxhjIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZWJ1Z0Fubm90YXRpb24i5QYKD1JlbmRlckZyYW1lSG9zdBIzCgdwcm9jZXNzGAEgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0EkYKFHJlbmRlcl9mcmFtZV9ob3N0X2lkGAIgASgLMigucGVyZmV0dG8ucHJvdG9zLkdsb2JhbFJlbmRlckZyYW1lSG9zdElkEkgKD2xpZmVjeWNsZV9zdGF0ZRgDIAEoDjIvLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJGcmFtZUhvc3QuTGlmZWN5Y2xlU3RhdGUSDgoGb3JpZ2luGAQgASgJEgsKA3VybBgFIAEoCRIaChJmcmFtZV90cmVlX25vZGVfaWQYBiABKAQSNAoNc2l0ZV9pbnN0YW5jZRgHIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5TaXRlSW5zdGFuY2USMAoGcGFyZW50GAggASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBI4Cg5vdXRlcl9kb2N1bWVudBgJIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJGcmFtZUhvc3QSMgoIZW1iZWRkZXIYCiABKAsyIC5wZXJmZXR0by5wcm90b3MuUmVuZGVyRnJhbWVIb3N0EkUKFmJyb3dzaW5nX2NvbnRleHRfc3RhdGUYCyABKAsyJS5wZXJmZXR0by5wcm90b3MuQnJvd3NpbmdDb250ZXh0U3RhdGUSQAoKZnJhbWVfdHlwZRgMIAEoDjIsLnBlcmZldHRvLnByb3Rvcy5GcmFtZVRyZWVOb2RlSW5mby5GcmFtZVR5cGUSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uIrUBCg5MaWZlY3ljbGVTdGF0ZRIPCgtVTlNQRUNJRklFRBAAEg8KC1NQRUNVTEFUSVZFEAESEgoOUEVORElOR19DT01NSVQQAhIQCgxQUkVSRU5ERVJJTkcQAxIKCgZBQ1RJVkUQBBIZChVJTl9CQUNLX0ZPUldBUkRfQ0FDSEUQBRIbChdSVU5OSU5HX1VOTE9BRF9IQU5ETEVSUxAGEhcKE1JFQURZX1RPX0JFX0RFTEVURUQQByLlBQoUQ2hyb21lVGhyZWFkUG9vbFRhc2sSRQoNdGFza19wcmlvcml0eRgBIAEoDjIuLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVUaHJlYWRQb29sVGFzay5Qcmlvcml0eRJLCg5leGVjdXRpb25fbW9kZRgCIAEoDjIzLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVUaHJlYWRQb29sVGFzay5FeGVjdXRpb25Nb2RlEhYKDnNlcXVlbmNlX3Rva2VuGAMgASgDElEKEXNodXRkb3duX2JlaGF2aW9yGAQgASgOMjYucGVyZmV0dG8ucHJvdG9zLkNocm9tZVRocmVhZFBvb2xUYXNrLlNodXRkb3duQmVoYXZpb3IidQoIUHJpb3JpdHkSGAoUUFJJT1JJVFlfVU5TUEVDSUZJRUQQABIYChRQUklPUklUWV9CRVNUX0VGRk9SVBABEhkKFVBSSU9SSVRZX1VTRVJfVklTSUJMRRACEhoKFlBSSU9SSVRZX1VTRVJfQkxPQ0tJTkcQAyKkAQoNRXhlY3V0aW9uTW9kZRIeChpFWEVDVFVJT05fTU9ERV9VTlNQRUNJRklFRBAAEhsKF0VYRUNVVElPTl9NT0RFX1BBUkFMTEVMEAESHAoYRVhFQ1VUSU9OX01PREVfU0VRVUVOQ0VEEAISIAocRVhFQ1VUSU9OX01PREVfU0lOR0xFX1RIUkVBRBADEhYKEkVYRUNVVElPTl9NT0RFX0pPQhAEIq8BChBTaHV0ZG93bkJlaGF2aW9yEiEKHVNIVVRET1dOX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASKgomU0hVVERPV05fQkVIQVZJT1JfQ09OVElOVUVfT05fU0hVVERPV04QARImCiJTSFVURE9XTl9CRUhBVklPUl9TS0lQX09OX1NIVVRET1dOEAISJAogU0hVVERPV05fQkVIQVZJT1JfQkxPQ0tfU0hVVERPV04QAyLtEQomQmFja0ZvcndhcmRDYWNoZUNhblN0b3JlRG9jdW1lbnRSZXN1bHQSiQEKJmJhY2tfZm9yd2FyZF9jYWNoZV9ub3RfcmVzdG9yZWRfcmVhc29uGAEgASgOMlkucGVyZmV0dG8ucHJvdG9zLkJhY2tGb3J3YXJkQ2FjaGVDYW5TdG9yZURvY3VtZW50UmVzdWx0LkJhY2tGb3J3YXJkQ2FjaGVOb3RSZXN0b3JlZFJlYXNvbiK2EAohQmFja0ZvcndhcmRDYWNoZU5vdFJlc3RvcmVkUmVhc29uEhIKDk5PVF9NQUlOX0ZSQU1FEAESHwobQkFDS19GT1JXQVJEX0NBQ0hFX0RJU0FCTEVEEAISIQodUkVMQVRFRF9BQ1RJVkVfQ09OVEVOVFNfRVhJU1QQAxIWChJIVFRQX1NUQVRVU19OT1RfT0sQBBIcChhTQ0hFTUVfTk9UX0hUVFBfT1JfSFRUUFMQBRILCgdMT0FESU5HEAYSHAoYV0FTX0dSQU5URURfTUVESUFfQUNDRVNTEAcSGAoUQkxPQ0tMSVNURURfRkVBVFVSRVMQCBIoCiRESVNBQkxFX0ZPUl9SRU5ERVJfRlJBTUVfSE9TVF9DQUxMRUQQCRIWChJET01BSU5fTk9UX0FMTE9XRUQQChIXChNIVFRQX01FVEhPRF9OT1RfR0VUEAsSGgoWU1VCRlJBTUVfSVNfTkFWSUdBVElORxAMEgsKB1RJTUVPVVQQDRIPCgtDQUNIRV9MSU1JVBAOEhgKFEpBVkFTQ1JJUFRfRVhFQ1VUSU9OEA8SGwoXUkVOREVSRVJfUFJPQ0VTU19LSUxMRUQQEBIcChhSRU5ERVJFUl9QUk9DRVNTX0NSQVNIRUQQERIfChtHUkFOVEVEX01FRElBX1NUUkVBTV9BQ0NFU1MQExIiCh5TQ0hFRFVMRVJfVFJBQ0tFRF9GRUFUVVJFX1VTRUQQFBIhCh1DT05GTElDVElOR19CUk9XU0lOR19JTlNUQU5DRRAVEhEKDUNBQ0hFX0ZMVVNIRUQQFhIlCiFTRVJWSUNFX1dPUktFUl9WRVJTSU9OX0FDVElWQVRJT04QFxIUChBTRVNTSU9OX1JFU1RPUkVEEBgSCwoHVU5LTk9XThAZEh8KG1NFUlZJQ0VfV09SS0VSX1BPU1RfTUVTU0FHRRAaEj8KO0VOVEVSRURfQkFDS19GT1JXQVJEX0NBQ0hFX0JFRk9SRV9TRVJWSUNFX1dPUktFUl9IT1NUX0FEREVEEBsSJAogTk9UX01PU1RfUkVDRU5UX05BVklHQVRJT05fRU5UUlkQHBIYChRTRVJWSUNFX1dPUktFUl9DTEFJTRAdEhoKFklHTk9SRV9FVkVOVF9BTkRfRVZJQ1QQHhIXChNIQVZFX0lOTkVSX0NPTlRFTlRTEB8SHAoYVElNRU9VVF9QVVRUSU5HX0lOX0NBQ0hFECASLQopQkFDS19GT1JXQVJEX0NBQ0hFX0RJU0FCTEVEX0JZX0xPV19NRU1PUlkQIRIvCitCQUNLX0ZPUldBUkRfQ0FDSEVfRElTQUJMRURfQllfQ09NTUFORF9MSU5FECISHgoaTkVUV09SS19SRVFVRVNUX1JFRElSRUNURUQQIxIbChdORVRXT1JLX1JFUVVFU1RfVElNRU9VVBAkEiAKHE5FVFdPUktfRVhDRUVEU19CVUZGRVJfTElNSVQQJRIoCiROQVZJR0FUSU9OX0NBTkNFTExFRF9XSElMRV9SRVNUT1JJTkcQJhItCilCQUNLX0ZPUldBUkRfQ0FDSEVfRElTQUJMRURfRk9SX1BSRVJFTkRFUhAnEh8KG1VTRVJfQUdFTlRfT1ZFUlJJREVfRElGRkVSUxAoEjYKMk5FVFdPUktfUkVRVUVTVF9EQVRBUElQRV9EUkFJTkVEX0FTX0JZVEVTX0NPTlNVTUVSECkSGgoWRk9SRUdST1VORF9DQUNIRV9MSU1JVBAqEiEKHUJST1dTSU5HX0lOU1RBTkNFX05PVF9TV0FQUEVEECsSLAooQkFDS19GT1JXQVJEX0NBQ0hFX0RJU0FCTEVEX0ZPUl9ERUxFR0FURRAsEiQKIE9QVF9JTl9VTkxPQURfSEVBREVSX05PVF9QUkVTRU5UEC0SJwojVU5MT0FEX0hBTkRMRVJfRVhJU1RTX0lOX01BSU5fRlJBTUUQLhIlCiFVTkxPQURfSEFORExFUl9FWElTVFNfSU5fU1VCRlJBTUUQLxIhCh1TRVJWSUNFX1dPUktFUl9VTlJFR0lTVFJBVElPThAwEhoKFkNBQ0hFX0NPTlRST0xfTk9fU1RPUkUQMRIqCiZDQUNIRV9DT05UUk9MX05PX1NUT1JFX0NPT0tJRV9NT0RJRklFRBAyEjQKMENBQ0hFX0NPTlRST0xfTk9fU1RPUkVfSFRUUF9PTkxZX0NPT0tJRV9NT0RJRklFRBAzEhQKEE5PX1JFU1BPTlNFX0hFQUQQNBI0CjBBQ1RJVkFUSU9OX05BVklHQVRJT05fRElTQUxMT1dFRF9GT1JfQlVHXzEyMzQ4NTcQNRISCg5FUlJPUl9ET0NVTUVOVBA2EhoKFkZFTkNFRF9GUkFNRVNfRU1CRURERVIQNxITCg9DT09LSUVfRElTQUJMRUQQOBIWChJIVFRQX0FVVEhfUkVRVUlSRUQQORISCg5DT09LSUVfRkxVU0hFRBA6EiAKHEJST0FEQ0FTVF9DSEFOTkVMX09OX01FU1NBR0UQOxIcChhXRUJWSUVXX1NFVFRJTkdTX0NIQU5HRUQQPBIlCiFXRUJWSUVXX0pBVkFTQ1JJUFRfT0JKRUNUX0NIQU5HRUQQPRIlCiFXRUJWSUVXX01FU1NBR0VfTElTVEVORVJfSU5KRUNURUQQPhIrCidXRUJWSUVXX1NBRkVfQlJPV1NJTkdfQUxMT1dMSVNUX0NIQU5HRUQQPxItCilXRUJWSUVXX0RPQ1VNRU5UX1NUQVJUX0pBVkFTQ1JJUFRfQ0hBTkdFRBBAIr8aCh9SZW5kZXJlck1haW5UaHJlYWRUYXNrRXhlY3V0aW9uEkwKCXRhc2tfdHlwZRgBIAEoDjI5LnBlcmZldHRvLnByb3Rvcy5SZW5kZXJlck1haW5UaHJlYWRUYXNrRXhlY3V0aW9uLlRhc2tUeXBlEhUKDWZyYW1lX3Zpc2libGUYAiABKAgSFAoMcGFnZV92aXNpYmxlGAMgASgIEk4KCmZyYW1lX3R5cGUYBCABKA4yOi5wZXJmZXR0by5wcm90b3MuUmVuZGVyZXJNYWluVGhyZWFkVGFza0V4ZWN1dGlvbi5GcmFtZVR5cGUSEwoLaXNfYWRfZnJhbWUYBSABKAgiqxcKCFRhc2tUeXBlEhUKEVRBU0tfVFlQRV9VTktOT1dOEAASHgoaVEFTS19UWVBFX0RPTV9NQU5JUFVMQVRJT04QARIeChpUQVNLX1RZUEVfVVNFUl9JTlRFUkFDVElPThACEhgKFFRBU0tfVFlQRV9ORVRXT1JLSU5HEAMSIAocVEFTS19UWVBFX05FVFdPUktJTkdfQ09OVFJPTBAEEh8KG1RBU0tfVFlQRV9ISVNUT1JZX1RSQVZFUlNBTBAFEhMKD1RBU0tfVFlQRV9FTUJFRBAGEiEKHVRBU0tfVFlQRV9NRURJQV9FTEVNRU5UX0VWRU5UEAcSJwojVEFTS19UWVBFX0NBTlZBU19CTE9CX1NFUklBTElaQVRJT04QCBIXChNUQVNLX1RZUEVfTUlDUk9UQVNLEAkSMwovVEFTS19UWVBFX0pBVkFTQ1JJUFRfVElNRVJfREVMQVlFRF9ISUdIX05FU1RJTkcQChIaChZUQVNLX1RZUEVfUkVNT1RFX0VWRU5UEAsSGAoUVEFTS19UWVBFX1dFQl9TT0NLRVQQDBIcChhUQVNLX1RZUEVfUE9TVEVEX01FU1NBR0UQDRIkCiBUQVNLX1RZUEVfVU5TSElQUEVEX1BPUlRfTUVTU0FHRRAOEhoKFlRBU0tfVFlQRV9GSUxFX1JFQURJTkcQDxIdChlUQVNLX1RZUEVfREFUQUJBU0VfQUNDRVNTEBASGgoWVEFTS19UWVBFX1BSRVNFTlRBVElPThAREhQKEFRBU0tfVFlQRV9TRU5TT1IQEhIiCh5UQVNLX1RZUEVfUEVSRk9STUFOQ0VfVElNRUxJTkUQExIUChBUQVNLX1RZUEVfV0VCX0dMEBQSFwoTVEFTS19UWVBFX0lETEVfVEFTSxAVEh8KG1RBU0tfVFlQRV9NSVNDX1BMQVRGT1JNX0FQSRAWEh4KGlRBU0tfVFlQRV9JTlRFUk5BTF9ERUZBVUxUEBcSHgoaVEFTS19UWVBFX0lOVEVSTkFMX0xPQURJTkcQGBIbChdUQVNLX1RZUEVfSU5URVJOQUxfVEVTVBAaEiEKHVRBU0tfVFlQRV9JTlRFUk5BTF9XRUJfQ1JZUFRPEBsSHAoYVEFTS19UWVBFX0lOVEVSTkFMX01FRElBEB0SJQohVEFTS19UWVBFX0lOVEVSTkFMX01FRElBX1JFQUxUSU1FEB4SJwojVEFTS19UWVBFX0lOVEVSTkFMX1VTRVJfSU5URVJBQ1RJT04QIBIgChxUQVNLX1RZUEVfSU5URVJOQUxfSU5TUEVDVE9SECESJwojVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfVjgQJRIvCitUQVNLX1RZUEVfTUFJTl9USFJFQURfVEFTS19RVUVVRV9DT01QT1NJVE9SECYSLAooVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfREVGQVVMVBAnEioKJlRBU0tfVFlQRV9NQUlOX1RIUkVBRF9UQVNLX1FVRVVFX0lOUFVUECgSKQolVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfSURMRRApEiwKKFRBU0tfVFlQRV9NQUlOX1RIUkVBRF9UQVNLX1FVRVVFX0NPTlRST0wQKxIsCihUQVNLX1RZUEVfSU5URVJOQUxfSU5URVJTRUNUSU9OX09CU0VSVkVSECwSMgouVEFTS19UWVBFX0NPTVBPU0lUT1JfVEhSRUFEX1RBU0tfUVVFVUVfREVGQVVMVBAtEi4KKlRBU0tfVFlQRV9XT1JLRVJfVEhSRUFEX1RBU0tfUVVFVUVfREVGQVVMVBAuEikKJVRBU0tfVFlQRV9XT1JLRVJfVEhSRUFEX1RBU0tfUVVFVUVfVjgQLxIxCi1UQVNLX1RZUEVfV09SS0VSX1RIUkVBRF9UQVNLX1FVRVVFX0NPTVBPU0lUT1IQMBIwCixUQVNLX1RZUEVfQ09NUE9TSVRPUl9USFJFQURfVEFTS19RVUVVRV9JTlBVVBAxEjMKL1RBU0tfVFlQRV9ORVRXT1JLSU5HX1dJVEhfVVJMX0xPQURFUl9BTk5PVEFUSU9OEDISHgoaVEFTS19UWVBFX1dPUktFUl9BTklNQVRJT04QMxIiCh5UQVNLX1RZUEVfSU5URVJOQUxfVFJBTlNMQVRJT04QNxIaChZUQVNLX1RZUEVfRk9OVF9MT0FESU5HEDgSIwofVEFTS19UWVBFX0FQUExJQ0FUSU9OX0xJRkVDWUNMRRA5Eh4KGlRBU0tfVFlQRV9CQUNLR1JPVU5EX0ZFVENIEDoSGAoUVEFTS19UWVBFX1BFUk1JU1NJT04QOxIrCidUQVNLX1RZUEVfU0VSVklDRV9XT1JLRVJfQ0xJRU5UX01FU1NBR0UQPBImCiJUQVNLX1RZUEVfSU5URVJOQUxfQ09OVEVOVF9DQVBUVVJFED0SMQotVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfTUVNT1JZX1BVUkdFED4SLAooVEFTS19UWVBFX0lOVEVSTkFMX05BVklHQVRJT05fQVNTT0NJQVRFRBA/EjgKNFRBU0tfVFlQRV9JTlRFUk5BTF9OQVZJR0FUSU9OX0FTU09DSUFURURfVU5GUkVFWkFCTEUQQBIuCipUQVNLX1RZUEVfSU5URVJOQUxfQ09OVElOVUVfU0NSSVBUX0xPQURJTkcQQRIXChNUQVNLX1RZUEVfV0VCX0xPQ0tTEEISKAokVEFTS19UWVBFX1dFQl9TQ0hFRFVMSU5HX1BPU1RFRF9UQVNLEEMSLworVEFTS19UWVBFX0lOVEVSTkFMX0ZSQU1FX0xJRkVfQ1lDTEVfQ09OVFJPTBBEEi8KK1RBU0tfVFlQRV9NQUlOX1RIUkVBRF9UQVNLX1FVRVVFX05PTl9XQUtJTkcQRRIjCh9UQVNLX1RZUEVfSU5URVJOQUxfRklORF9JTl9QQUdFEEYSMAosVEFTS19UWVBFX0lOVEVSTkFMX0hJR0hfUFJJT1JJVFlfTE9DQUxfRlJBTUUQRxIoCiRUQVNLX1RZUEVfSkFWQVNDUklQVF9USU1FUl9JTU1FRElBVEUQSBIyCi5UQVNLX1RZUEVfSkFWQVNDUklQVF9USU1FUl9ERUxBWUVEX0xPV19ORVNUSU5HEEkSMQotVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfSVBDX1RSQUNLSU5HEEoSJAogVEFTS19UWVBFX05FVFdPUktJTkdfVU5GUkVFWkFCTEUQSxIXChNUQVNLX1RZUEVfV0FLRV9MT0NLEEwSJQohVEFTS19UWVBFX0lOVEVSTkFMX0lOUFVUX0JMT0NLSU5HEE0SFQoRVEFTS19UWVBFX1dFQl9HUFUQThIuCipUQVNLX1RZUEVfSU5URVJOQUxfUE9TVF9NRVNTQUdFX0ZPUldBUkRJTkcQTxIuCipUQVNLX1RZUEVfSU5URVJOQUxfTkFWSUdBVElPTl9DQU5DRUxMQVRJT04QUBIrCidUQVNLX1RZUEVfTE9XX1BSSU9SSVRZX1NDUklQVF9FWEVDVVRJT04QURIVChFUQVNLX1RZUEVfU1RPUkFHRRBSEjwKOFRBU0tfVFlQRV9ORVRXT1JLSU5HX1VORlJFRVpBQkxFX1JFTkRFUl9CTE9DS0lOR19MT0FESU5HEFMSNAowVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfVjhfVVNFUl9WSVNJQkxFEFQSFwoTVEFTS19UWVBFX0NMSVBCT0FSRBBVEh4KGlRBU0tfVFlQRV9NQUNISU5FX0xFQVJOSU5HEFYSMwovVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfVjhfQkVTVF9FRkZPUlQQVyKNAQoJRnJhbWVUeXBlEhoKFkZSQU1FX1RZUEVfVU5TUEVDSUZJRUQQABIZChVGUkFNRV9UWVBFX01BSU5fRlJBTUUQARIjCh9GUkFNRV9UWVBFX1NBTUVfT1JJR0lOX1NVQkZSQU1FEAISJAogRlJBTUVfVFlQRV9DUk9TU19PUklHSU5fU1VCRlJBTUUQAyLwBgoMRXZlbnRMYXRlbmN5EjsKCmV2ZW50X3R5cGUYASABKA4yJy5wZXJmZXR0by5wcm90b3MuRXZlbnRMYXRlbmN5LkV2ZW50VHlwZRIYChBoYXNfaGlnaF9sYXRlbmN5GAIgASgIEhoKEmhpZ2hfbGF0ZW5jeV9zdGFnZRgDIAMoCRIYChBldmVudF9sYXRlbmN5X2lkGAQgASgDEh8KF2lzX2phbmt5X3Njcm9sbGVkX2ZyYW1lGAUgASgIEhkKEXZzeW5jX2ludGVydmFsX21zGAYgASgBIpYFCglFdmVudFR5cGUSGgoWRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEhEKDU1PVVNFX1BSRVNTRUQQARISCg5NT1VTRV9SRUxFQVNFRBACEg8KC01PVVNFX1dIRUVMEAMSDwoLS0VZX1BSRVNTRUQQBBIQCgxLRVlfUkVMRUFTRUQQBRIRCg1UT1VDSF9QUkVTU0VEEAYSEgoOVE9VQ0hfUkVMRUFTRUQQBxIPCgtUT1VDSF9NT1ZFRBAIEhgKFEdFU1RVUkVfU0NST0xMX0JFR0lOEAkSGQoVR0VTVFVSRV9TQ1JPTExfVVBEQVRFEAoSFgoSR0VTVFVSRV9TQ1JPTExfRU5EEAsSFgoSR0VTVFVSRV9ET1VCTEVfVEFQEAwSFgoSR0VTVFVSRV9MT05HX1BSRVNTEA0SFAoQR0VTVFVSRV9MT05HX1RBUBAOEhYKEkdFU1RVUkVfU0hPV19QUkVTUxAPEg8KC0dFU1RVUkVfVEFQEBASFgoSR0VTVFVSRV9UQVBfQ0FOQ0VMEBESFAoQR0VTVFVSRV9UQVBfRE9XThASEhsKF0dFU1RVUkVfVEFQX1VOQ09ORklSTUVEEBMSGgoWR0VTVFVSRV9UV09fRklOR0VSX1RBUBAUEh8KG0ZJUlNUX0dFU1RVUkVfU0NST0xMX1VQREFURRAVEhEKDU1PVVNFX0RSQUdHRUQQFhIXChNHRVNUVVJFX1BJTkNIX0JFR0lOEBcSFQoRR0VTVFVSRV9QSU5DSF9FTkQQGBIYChRHRVNUVVJFX1BJTkNIX1VQREFURRAZEiIKHklORVJUSUFMX0dFU1RVUkVfU0NST0xMX1VQREFURRAaEhUKEU1PVVNFX01PVkVEX0VWRU5UEBsiugcKEFByb2Nlc3NTaW5nbGV0b24SawohcmVtb3RlX3Byb2Nlc3NfaW50ZXJhY3Rpb25fcmVzdWx0GAEgASgOMkAucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NTaW5nbGV0b24uUmVtb3RlUHJvY2Vzc0ludGVyYWN0aW9uUmVzdWx0EmsKH3JlbW90ZV9wcm9jZXNzX3Rlcm1pbmF0ZV9yZWFzb24YAiABKA4yQi5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1NpbmdsZXRvbi5SZW1vdGVIdW5nUHJvY2Vzc1Rlcm1pbmF0ZVJlYXNvbiL5AwoeUmVtb3RlUHJvY2Vzc0ludGVyYWN0aW9uUmVzdWx0EiIKHklOVEVSQUNUSU9OX1JFU1VMVF9VTlNQRUNJRklFRBAAEhQKEFRFUk1JTkFURV9GQUlMRUQQARIcChhSRU1PVEVfUFJPQ0VTU19OT1RfRk9VTkQQAhIaChZURVJNSU5BVEVfV0FJVF9USU1FT1VUEAMSIAocUlVOTklOR19QUk9DRVNTX05PVElGWV9FUlJPUhAEEiQKIFRFUk1JTkFURV9OT1RfRU5PVUdIX1BFUk1JU1NJT05TEAUSIAocUkVNT1RFX1BST0NFU1NfU0hVVFRJTkdfRE9XThAGEhQKEFBST0ZJTEVfVU5MT0NLRUQQBxIgChxQUk9GSUxFX1VOTE9DS0VEX0JFRk9SRV9LSUxMEAgSGQoVU0FNRV9CUk9XU0VSX0lOU1RBTkNFEAkSJQohU0FNRV9CUk9XU0VSX0lOU1RBTkNFX0JFRk9SRV9LSUxMEAoSGQoVRkFJTEVEX1RPX0VYVFJBQ1RfUElEEAsSFQoRSU5WQUxJRF9MT0NLX0ZJTEUQDBIWChJPUlBIQU5FRF9MT0NLX0ZJTEUQDRIcChhVU0VSX1JFRlVTRURfVEVSTUlOQVRJT04QDhIXChNURVJNSU5BVEVfU1VDQ0VFREVEEGQizwEKIFJlbW90ZUh1bmdQcm9jZXNzVGVybWluYXRlUmVhc29uEiAKHFRFUk1JTkFURV9SRUFTT05fVU5TUEVDSUZJRUQQABIdChlVU0VSX0FDQ0VQVEVEX1RFUk1JTkFUSU9OEAESGwoXTk9fVklTSUJMRV9XSU5ET1dfRk9VTkQQAhIcChhOT1RJRllfQVRURU1QVFNfRVhDRUVERUQQAxIXChNTT0NLRVRfV1JJVEVfRkFJTEVEEAQSFgoSU09DS0VUX1JFQURfRkFJTEVEEAUijgIKEE5hdmlnYXRpb25IYW5kbGUSFQoNbmF2aWdhdGlvbl9pZBgBIAEoAxIVCg1oYXNfY29tbWl0dGVkGAIgASgIEhUKDWlzX2Vycm9yX3BhZ2UYAyABKAgSOwoPZnJhbWVfdHJlZV9ub2RlGAQgASgLMiIucGVyZmV0dG8ucHJvdG9zLkZyYW1lVHJlZU5vZGVJbmZvEjsKEXJlbmRlcl9mcmFtZV9ob3N0GAUgASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBI7ChFkZWJ1Z19hbm5vdGF0aW9ucxhjIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZWJ1Z0Fubm90YXRpb24iKgoKQW5kcm9pZElQQxIMCgRuYW1lGAEgASgJEg4KBmR1cl9tcxgCIAEoAyL6DgoTU2VxdWVuY2VNYW5hZ2VyVGFzaxI/Cghwcmlvcml0eRgBIAEoDjItLnBlcmZldHRvLnByb3Rvcy5TZXF1ZW5jZU1hbmFnZXJUYXNrLlByaW9yaXR5EkIKCnF1ZXVlX25hbWUYAiABKA4yLi5wZXJmZXR0by5wcm90b3MuU2VxdWVuY2VNYW5hZ2VyVGFzay5RdWV1ZU5hbWUirQIKCFByaW9yaXR5EgsKB1VOS05PV04QABIUChBDT05UUk9MX1BSSU9SSVRZEAESFAoQSElHSEVTVF9QUklPUklUWRACEhYKElZFUllfSElHSF9QUklPUklUWRADEhEKDUhJR0hfUFJJT1JJVFkQBBITCg9OT1JNQUxfUFJJT1JJVFkQBRIQCgxMT1dfUFJJT1JJVFkQBhIYChRCRVNUX0VGRk9SVF9QUklPUklUWRAHEh4KGkhJR0hfUFJJT1JJVFlfQ09OVElOVUFUSU9OEAgSIAocTk9STUFMX1BSSU9SSVRZX0NPTlRJTlVBVElPThAJEh0KGUxPV19QUklPUklUWV9DT05USU5VQVRJT04QChIbChdFWFRSRU1FTFlfSElHSF9QUklPUklUWRALIq0LCglRdWV1ZU5hbWUSDgoKVU5LTk9XTl9UURAAEg4KCkRFRkFVTFRfVFEQARIfChtUQVNLX0VOVklST05NRU5UX0RFRkFVTFRfVFEQAhIMCghURVNUMl9UURADEgsKB1RFU1RfVFEQBBIOCgpDT05UUk9MX1RREAUSGAoUU1VCVEhSRUFEX0NPTlRST0xfVFEQBhIYChRTVUJUSFJFQURfREVGQVVMVF9UURAHEhYKElNVQlRIUkVBRF9JTlBVVF9UURAIEhUKEVVJX0JFU1RfRUZGT1JUX1RREAkSEwoPVUlfQk9PVFNUUkFQX1RREAoSEQoNVUlfQ09OVFJPTF9UURALEhEKDVVJX0RFRkFVTFRfVFEQDBIlCiFVSV9OQVZJR0FUSU9OX05FVFdPUktfUkVTUE9OU0VfVFEQDRIZChVVSV9SVU5fQUxMX1BFTkRJTkdfVFEQDhIxCi1VSV9TRVJWSUNFX1dPUktFUl9TVE9SQUdFX0NPTlRST0xfUkVTUE9OU0VfVFEQDxIQCgxVSV9USFJFQURfVFEQEBIXChNVSV9VU0VSX0JMT0NLSU5HX1RREBESFAoQVUlfVVNFUl9JTlBVVF9UURASEhYKElVJX1VTRVJfVklTSUJMRV9UURATEhUKEUlPX0JFU1RfRUZGT1JUX1RREBQSEwoPSU9fQk9PVFNUUkFQX1RREBUSEQoNSU9fQ09OVFJPTF9UURAWEhEKDUlPX0RFRkFVTFRfVFEQFxIlCiFJT19OQVZJR0FUSU9OX05FVFdPUktfUkVTUE9OU0VfVFEQGBIZChVJT19SVU5fQUxMX1BFTkRJTkdfVFEQGRIxCi1JT19TRVJWSUNFX1dPUktFUl9TVE9SQUdFX0NPTlRST0xfUkVTUE9OU0VfVFEQGhIQCgxJT19USFJFQURfVFEQGxIXChNJT19VU0VSX0JMT0NLSU5HX1RREBwSFAoQSU9fVVNFUl9JTlBVVF9UURAdEhYKEklPX1VTRVJfVklTSUJMRV9UURAeEhEKDUNPTVBPU0lUT1JfVFEQHxIPCgtERVRBQ0hFRF9UURAgEhcKE0ZSQU1FX0RFRkVSUkFCTEVfVFEQIRIcChhGUkFNRV9MT0FESU5HX0NPTlRST0xfVFEQIhIUChBGUkFNRV9MT0FESU5HX1RRECMSFQoRRlJBTUVfUEFVU0FCTEVfVFEQJBIZChVGUkFNRV9USFJPVFRMRUFCTEVfVFEQJRIXChNGUkFNRV9VTlBBVVNBQkxFX1RRECYSCwoHSURMRV9UURAnEgwKCElOUFVUX1RRECgSJAogSVBDX1RSQUNLSU5HX0ZPUl9DQUNIRURfUEFHRVNfVFEQKRIRCg1OT05fV0FLSU5HX1RRECoSDAoIT1RIRVJfVFEQKxIJCgVWOF9UURAsEhUKEVdFQl9TQ0hFRFVMSU5HX1RREC0SEgoOV09SS0VSX0lETEVfVFEQLhIWChJXT1JLRVJfUEFVU0FCTEVfVFEQLxIdChlXT1JLRVJfVEhSRUFEX0lOVEVSTkFMX1RREDASGgoWV09SS0VSX1RIUk9UVExFQUJMRV9UURAxEhgKFFdPUktFUl9VTlBBVVNBQkxFX1RREDISHAoYV09SS0VSX1dFQl9TQ0hFRFVMSU5HX1RREDMSIgoeVUlfVVNFUl9CTE9DS0lOR19ERUZFUlJBQkxFX1RREDQSIgoeSU9fVVNFUl9CTE9DS0lOR19ERUZFUlJBQkxFX1RREDUSKAokVUlfQkVGT1JFX1VOTE9BRF9CUk9XU0VSX1JFU1BPTlNFX1RREDYSKAokSU9fQkVGT1JFX1VOTE9BRF9CUk9XU0VSX1JFU1BPTlNFX1RREDcSFgoSVjhfVVNFUl9WSVNJQkxFX1RREDgSFQoRVjhfQkVTVF9FRkZPUlRfVFEQOSKUCgoOQW5kcm9pZFRvb2xiYXISUAoUYmxvY2tfY2FwdHVyZV9yZWFzb24YASABKA4yMi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFRvb2xiYXIuQmxvY2tDYXB0dXJlUmVhc29uElAKFGFsbG93X2NhcHR1cmVfcmVhc29uGAIgASgOMjIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRUb29sYmFyLkFsbG93Q2FwdHVyZVJlYXNvbhJPChNzbmFwc2hvdF9kaWZmZXJlbmNlGAMgASgOMjIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRUb29sYmFyLlNuYXBzaG90RGlmZmVyZW5jZSLmAwoSQmxvY2tDYXB0dXJlUmVhc29uEhMKD0JMT0NLRURfVU5LTk9XThAAEiIKHkJMT0NLRURfVE9PTEJBUl9PUl9SRVNVTFRfTlVMTBABEhoKFkJMT0NLRURfVklFV19OT1RfRElSVFkQAhIZChVCTE9DS0VEX1NOQVBTSE9UX1NBTUUQAxIdChlCTE9DS0VEX1VSTF9CQVJfSEFTX0ZPQ1VTEAQSJQohQkxPQ0tFRF9VUkxfQkFSX0ZPQ1VTX0lOX1BST0dSRVNTEAUSMQotQkxPQ0tFRF9PUFRJT05BTF9CVVRUT05fQU5JTUFUSU9OX0lOX1BST0dSRVNTEAYSLQopQkxPQ0tFRF9TVEFUVVNfSUNPTl9BTklNQVRJT05fSU5fUFJPR1JFU1MQBxIbChdCTE9DS0VEX1NDUk9MTF9BQkxBVElPThAIEiMKH0JMT0NLRURfQlJPV1NFUl9DT05UUk9MU19MT0NLRUQQCRIdChlCTE9DS0VEX1RBQl9TV0lUQ0hFUl9NT0RFEAoSIAocQkxPQ0tFRF9DT01QT1NJVE9SX0lOX01PVElPThALEh0KGUJMT0NLRURfTlRQX1lfVFJBTlNMQVRJT04QDBIWChJCTE9DS0VEX0ZVTExTQ1JFRU4QDSJlChJBbGxvd0NhcHR1cmVSZWFzb24SEwoPQUxMT1dFRF9VTktOT1dOEAASGQoVQUxMT1dFRF9GT1JDRV9DQVBUVVJFEAESHwobQUxMT1dFRF9TTkFQU0hPVF9ESUZGRVJFTkNFEAIivAMKElNuYXBzaG90RGlmZmVyZW5jZRINCglESUZGX05PTkUQABINCglESUZGX05VTEwQARINCglESUZGX1RJTlQQAhISCg5ESUZGX1RBQl9DT1VOVBADEhgKFERJRkZfT1BUSU9OQUxfQlVUVE9OEAQSFQoRRElGRl9WSVNVQUxfU1RBVEUQBRIWChJESUZGX1NFQ1VSSVRZX0lDT04QBhIdChlESUZGX1NIT1dJTkdfVVBEQVRFX0JBREdFEAcSFgoSRElGRl9QQUlOVF9QUkVWSUVXEAgSEQoNRElGRl9QUk9HUkVTUxAJEhsKF0RJRkZfTE9DQVRJT05fQkFSX1dJRFRIEAoSEQoNRElGRl9VUkxfVEVYVBALEhQKEERJRkZfSE9NRV9CVVRUT04QDBITCg9ESUZGX1RJVExFX1RFWFQQDRIWChJESUZGX0NDVF9BTklNQVRJT04QDhIYChRESUZGX0JPT0tNQVJLX0JVVFRPThAPEhQKEERJRkZfQkFDS19CVVRUT04QEBIXChNESUZGX0ZPUldBUkRfQlVUVE9OEBESFgoSRElGRl9SRUxPQURfQlVUVE9OEBIiHgoPQWN0aXZlUHJvY2Vzc2VzEgsKA3BpZBgBIAMoBSK7AQoXVWttUGFnZUxvYWRUaW1pbmdVcGRhdGUSFQoNdWttX3NvdXJjZV9pZBgBIAEoAxISCgpsYXRlc3RfdXJsGAIgASgJEiYKHmxhdGVzdF9jdW11bGF0aXZlX2xheW91dF9zaGlmdBgDIAEoAhIqCiJsYXRlc3RfbGFyZ2VzdF9jb250ZW50ZnVsX3BhaW50X21zGAQgASgBEiEKGWZpcnN0X2NvbnRlbnRmdWxfcGFpbnRfbXMYBSABKAEivgEKDFY4U3RhY2tGcmFtZRIVCg1mdW5jdGlvbl9uYW1lGAEgASgJEkUKD3NjcmlwdF9sb2NhdGlvbhgCIAEoCzIsLnBlcmZldHRvLnByb3Rvcy5WOFN0YWNrRnJhbWUuU2NyaXB0TG9jYXRpb24aUAoOU2NyaXB0TG9jYXRpb24SEgoKc291cmNlX3VybBgBIAEoCRITCgtsaW5lX251bWJlchgCIAEoAxIVCg1jb2x1bW5fbnVtYmVyGAMgASgDIoIEChVCbGlua0V4ZWN1dGlvbkNvbnRleHQSQAoEdHlwZRgBIAEoDjIyLnBlcmZldHRvLnByb3Rvcy5CbGlua0V4ZWN1dGlvbkNvbnRleHQuQ29udGV4dFR5cGUSCwoDdXJsGAIgASgJEg4KBm9yaWdpbhgDIAEoCRJECgp3b3JsZF90eXBlGAQgASgOMjAucGVyZmV0dG8ucHJvdG9zLkJsaW5rRXhlY3V0aW9uQ29udGV4dC5Xb3JsZFR5cGUieAoLQ29udGV4dFR5cGUSEwoPVU5LTk9XTl9DT05URVhUEAASCgoGV0lORE9XEAESCwoHV09SS0xFVBACEhQKEERFRElDQVRFRF9XT1JLRVIQAxIRCg1TSEFSRURfV09SS0VSEAQSEgoOU0VSVklDRV9XT1JLRVIQBSLJAQoJV29ybGRUeXBlEhEKDVdPUkxEX1VOS05PV04QABIOCgpXT1JMRF9NQUlOEAESEgoOV09STERfSVNPTEFURUQQAhIcChhXT1JMRF9JTlNQRUNUT1JfSVNPTEFURUQQAxIRCg1XT1JMRF9SRUdfRVhQEAQSKgomV09STERfRk9SX1Y4X0NPTlRFWFRfU05BUFNIT1RfTk9OX01BSU4QBRIQCgxXT1JMRF9XT1JLRVIQBhIWChJXT1JMRF9TSEFET1dfUkVBTE0QByLCAQoTQmxpbmtTb3VyY2VMb2NhdGlvbhIVCg1mdW5jdGlvbl9uYW1lGAEgASgJEhEKCXNjcmlwdF9pZBgCIAEoBRILCgN1cmwYAyABKAkSEwoLbGluZV9udW1iZXIYBCABKAUSFQoNY29sdW1uX251bWJlchgFIAEoBRITCgtzdGFja190cmFjZRgGIAEoCRIzCgxzdGFja19mcmFtZXMYByADKAsyHS5wZXJmZXR0by5wcm90b3MuVjhTdGFja0ZyYW1lIv8HChNCbGlua0hpZ2hFbnRyb3B5QVBJEkEKEWV4ZWN1dGlvbl9jb250ZXh0GAEgASgLMiYucGVyZmV0dG8ucHJvdG9zLkJsaW5rRXhlY3V0aW9uQ29udGV4dBJECgpjYWxsZWRfYXBpGAIgASgLMjAucGVyZmV0dG8ucHJvdG9zLkJsaW5rSGlnaEVudHJvcHlBUEkuQ2FsbGVkSnNBcGkSPQoPc291cmNlX2xvY2F0aW9uGAMgASgLMiQucGVyZmV0dG8ucHJvdG9zLkJsaW5rU291cmNlTG9jYXRpb24SRAoLZm9udF9sb29rdXAYBCABKAsyLy5wZXJmZXR0by5wcm90b3MuQmxpbmtIaWdoRW50cm9weUFQSS5Gb250TG9va3VwGo8CChJKU0Z1bmN0aW9uQXJndW1lbnQSUgoEdHlwZRgBIAEoDjJELnBlcmZldHRvLnByb3Rvcy5CbGlua0hpZ2hFbnRyb3B5QVBJLkpTRnVuY3Rpb25Bcmd1bWVudC5Bcmd1bWVudFR5cGUSDQoFdmFsdWUYAiABKAkilQEKDEFyZ3VtZW50VHlwZRIQCgxVTktOT1dOX1RZUEUQABINCglOVUxMX1RZUEUQARINCglVTkRFRklORUQQAhIKCgZCSUdJTlQQAxILCgdCT09MRUFOEAQSDAoIRlVOQ1RJT04QBRIKCgZOVU1CRVIQBhIKCgZTVFJJTkcQBxIKCgZTWU1CT0wQCBIKCgZPQkpFQ1QQCRq1AQoLQ2FsbGVkSnNBcGkSEgoKaWRlbnRpZmllchgBIAEoCRJPCg5mdW5jX2FyZ3VtZW50cxgCIAMoCzI3LnBlcmZldHRvLnByb3Rvcy5CbGlua0hpZ2hFbnRyb3B5QVBJLkpTRnVuY3Rpb25Bcmd1bWVudBJBCg9zb3VyY2VfbG9jYXRpb24YAyABKAsyJC5wZXJmZXR0by5wcm90b3MuQmxpbmtTb3VyY2VMb2NhdGlvbkICGAEajwIKCkZvbnRMb29rdXASTAoEdHlwZRgBIAEoDjI+LnBlcmZldHRvLnByb3Rvcy5CbGlua0hpZ2hFbnRyb3B5QVBJLkZvbnRMb29rdXAuRm9udExvb2t1cFR5cGUSDAoEbmFtZRgCIAEoCRIOCgZ3ZWlnaHQYAyABKAQSDQoFd2lkdGgYBCABKAQSDQoFc2xvcGUYBSABKAQidwoORm9udExvb2t1cFR5cGUSHAoYRk9OVF9MT09LVVBfVU5LTk9XTl9UWVBFEAASJQohRk9OVF9MT09LVVBfVU5JUVVFX09SX0ZBTUlMWV9OQU1FEAESIAocRk9OVF9MT09LVVBfVU5JUVVFX05BTUVfT05MWRACIokDChRUYWJTd2l0Y2hNZWFzdXJlbWVudBI8CgZyZXN1bHQYASABKA4yLC5wZXJmZXR0by5wcm90b3MuVGFiU3dpdGNoTWVhc3VyZW1lbnQuUmVzdWx0EkEKCXRhYl9zdGF0ZRgCIAEoDjIuLnBlcmZldHRvLnByb3Rvcy5UYWJTd2l0Y2hNZWFzdXJlbWVudC5UYWJTdGF0ZSJnCgZSZXN1bHQSFgoSUkVTVUxUX1VOU1BFQ0lGSUVEEAASEgoOUkVTVUxUX1NVQ0NFU1MQARIVChFSRVNVTFRfSU5DT01QTEVURRACEhoKFlJFU1VMVF9NSVNTRURfVEFCX0hJREUQAyKGAQoIVGFiU3RhdGUSFQoRU1RBVEVfVU5TUEVDSUZJRUQQABIbChdTVEFURV9XSVRIX1NBVkVEX0ZSQU1FUxABEiAKHFNUQVRFX0xPQURFRF9OT19TQVZFRF9GUkFNRVMQAhIkCiBTVEFURV9OT1RfTE9BREVEX05PX1NBVkVEX0ZSQU1FUxADIu0DCgxTY3JvbGxEZWx0YXMSEAoIdHJhY2VfaWQYASABKAMSGAoQb3JpZ2luYWxfZGVsdGFfeBgCIAEoAhIYChBvcmlnaW5hbF9kZWx0YV95GAMgASgCEh0KFWNvYWxlc2NlZF90b190cmFjZV9pZBgEIAEoAxImCh5wcm92aWRlZF90b19jb21wb3NpdG9yX2RlbHRhX3gYBSABKAISJgoecHJvdmlkZWRfdG9fY29tcG9zaXRvcl9kZWx0YV95GAYgASgCEhcKD3Zpc3VhbF9vZmZzZXRfeBgHIAEoAxIXCg92aXN1YWxfb2Zmc2V0X3kYCCABKAMSIAoYZXZlbnRfY291bnRfaW5fZ3B1X2ZyYW1lGAkgASgFEh4KFnRyYWNlX2lkc19pbl9ncHVfZnJhbWUYCiADKAMSJQodb3JpZ2luYWxfZGVsdGFfaW5fZ3B1X2ZyYW1lX3kYCyABKAISJgoecHJlZGljdGVkX2RlbHRhX2luX2dwdV9mcmFtZV95GAwgASgCEjEKKXNlZ3JlZ2F0ZWRfb3JpZ2luYWxfZGVsdGFzX2luX2dwdV9mcmFtZV95GA0gAygCEjIKKnNlZ3JlZ2F0ZWRfcHJlZGljdGVkX2RlbHRhc19pbl9ncHVfZnJhbWVfeRgOIAMoAiKtAwoYV2luUmVuZGVyQXVkaW9Gcm9tU291cmNlEicKH2lhdWRpb2NsaWVudF9idWZmZXJfc2l6ZV9mcmFtZXMYASABKA0SKwojaWF1ZGlvY2xpZW50X2J1ZmZlcl91bmZpbGxlZF9mcmFtZXMYAiABKA0SGgoScGFja2V0X3NpemVfZnJhbWVzGAMgASgNEhoKEm51bV93cml0dGVuX2ZyYW1lcxgEIAEoBBIdChVudW1fcGxheWVkX291dF9mcmFtZXMYBSABKAQSJAocaWF1ZGlvY2xvY2tfZGV2aWNlX2ZyZXF1ZW5jeRgGIAEoBBIjChtpYXVkaW9jbG9ja19zdHJlYW1fcG9zaXRpb24YByABKAQSIAoYaWF1ZGlvY2xvY2tfcXBjX3Bvc2l0aW9uGAggASgEEi8KJ2lhdWRpb2Nsb2NrX3N0cmVhbV9wb3NpdGlvbl9pbmNyZWFzZV9tcxgJIAEoAxIsCiRpYXVkaW9jbG9ja19xcGNfcG9zaXRpb25faW5jcmVhc2VfbXMYCiABKAMSGAoQcGxheW91dF9kZWxheV9tcxgLIAEoAyKRBAoOTWFjQVVIQUxTdHJlYW0SGQoRaW5wdXRfYnVmZmVyX3NpemUYASABKAUSGgoSb3V0cHV0X2J1ZmZlcl9zaXplGAIgASgNEhMKC3NhbXBsZV9yYXRlGAMgASgFEicKH29zX3JlcXVlc3RfcGxheW91dF90aW1ldGlja3NfdXMYBCABKAMSHQoVc291cmNlX3JlcXVlc3RfZnJhbWVzGAUgASgFEicKH3NvdXJjZV9yZXF1ZXN0X3BsYXlvdXRfZGVsYXlfdXMYBiABKAMSKwojc291cmNlX3JlcXVlc3RfcGxheW91dF90aW1ldGlja3NfdXMYByABKAMSKwojc291cmNlX3JlcXVlc3RfY3VycmVudF90aW1ldGlja3NfdXMYCCABKAMSGwoTaGFyZHdhcmVfbGF0ZW5jeV91cxgJIAEoAxImCh5hdWRpb3RpbWVzdGFtcF9ob3N0X3RpbWVfdmFsaWQYCiABKAgSKAogYXVkaW90aW1lc3RhbXBfbWFjaF90aW1ldGlja3NfdXMYCyABKAMSKQohYXVkaW90aW1lc3RhbXBfc2FtcGxlX3RpbWVfZnJhbWVzGAwgASgBEi4KJmF1ZGlvdGltZXN0YW1wX2xhc3Rfc2FtcGxlX3RpbWVfZnJhbWVzGA0gASgBEh4KFmxvc3RfYXVkaW9fZHVyYXRpb25fdXMYDiABKAMikgIKD0xpbnV4QWxzYU91dHB1dBInCh9zb3VyY2VfcmVxdWVzdF9wbGF5b3V0X2RlbGF5X3VzGAEgASgDEhUKDWZvcndhcmRfYnl0ZXMYAiABKAUSEwoLc2FtcGxlX3JhdGUYAyABKAUSKAogZ2V0Y3VycmVudGRlbGF5X3BjbV9kZWxheV9mcmFtZXMYBCABKAUSKgoiZ2V0Y3VycmVudGRlbGF5X2Fsc2FfYnVmZmVyX2ZyYW1lcxgFIAEoBRIoCiBnZXRjdXJyZW50ZGVsYXlfYXZhaWxhYmxlX2ZyYW1lcxgGIAEoBRIqCiJnZXRjdXJyZW50ZGVsYXlfZmluYWxfZGVsYXlfZnJhbWVzGAcgASgFIqoBChBMaW51eFB1bHNlT3V0cHV0EicKH3NvdXJjZV9yZXF1ZXN0X3BsYXlvdXRfZGVsYXlfdXMYASABKAMSEwoLc2FtcGxlX3JhdGUYAiABKAUSIAoYaW5wdXRfYnVmZmVyX3NpemVfZnJhbWVzGAMgASgFEhwKFHN0cmVhbV9yZXF1ZXN0X2J5dGVzGAQgASgNEhgKEGZyYW1lX3NpemVfYnl0ZXMYBSABKA0izQEKC0NyYXNVbmlmaWVkEhwKFHVuZGVycnVuX2R1cmF0aW9uX3VzGAEgASgDEiEKGWxhc3RfdW5kZXJydW5fZHVyYXRpb25fdXMYAiABKAMSIwobdW5kZXJydW5fZ2xpdGNoX2R1cmF0aW9uX3VzGAMgASgDEhIKCmxhdGVuY3lfdXMYBCABKAMSGAoQcmVxdWVzdGVkX2ZyYW1lcxgFIAEoBRIVCg1maWxsZWRfZnJhbWVzGAYgASgNEhMKC3NhbXBsZV9yYXRlGAcgASgFIj8KFkNocm9tZVVuZ3Vlc3NhYmxlVG9rZW4SEQoJbG93X3Rva2VuGAEgASgEEhIKCmhpZ2hfdG9rZW4YAiABKAQiQgoLRnJhbWVTaW5rSWQSHAoUZnJhbWVfc2lua19jbGllbnRfaWQYASABKA0SFQoNZnJhbWVfc2lua19pZBgCIAEoDSKTAQoOTG9jYWxTdXJmYWNlSWQSHgoWcGFyZW50X3NlcXVlbmNlX251bWJlchgBIAEoDRIdChVjaGlsZF9zZXF1ZW5jZV9udW1iZXIYAiABKA0SQgoRdW5ndWVzc2FibGVfdG9rZW4YAyABKAsyJy5wZXJmZXR0by5wcm90b3MuQ2hyb21lVW5ndWVzc2FibGVUb2tlbiKpDAoWQ2hyb21lR3JhcGhpY3NQaXBlbGluZRI+CgRzdGVwGAEgASgOMjAucGVyZmV0dG8ucHJvdG9zLkNocm9tZUdyYXBoaWNzUGlwZWxpbmUuU3RlcE5hbWUSMwoNZnJhbWVfc2lua19pZBgCIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5GcmFtZVNpbmtJZBIeChZzdXJmYWNlX2ZyYW1lX3RyYWNlX2lkGAogASgDEhgKEGRpc3BsYXlfdHJhY2VfaWQYAyABKAMSKgoiYWdncmVnYXRlZF9zdXJmYWNlX2ZyYW1lX3RyYWNlX2lkcxgIIAMoAxI5ChBsb2NhbF9zdXJmYWNlX2lkGAQgASgLMh8ucGVyZmV0dG8ucHJvdG9zLkxvY2FsU3VyZmFjZUlkEhYKDmZyYW1lX3NlcXVlbmNlGAUgASgDElgKFGZyYW1lX3NraXBwZWRfcmVhc29uGAYgASgOMjoucGVyZmV0dG8ucHJvdG9zLkNocm9tZUdyYXBoaWNzUGlwZWxpbmUuRnJhbWVTa2lwcGVkUmVhc29uEhgKEGJhY2tlbmRfZnJhbWVfaWQYByABKAMSEwoLbGF0ZW5jeV9pZHMYCSADKAMimwcKCFN0ZXBOYW1lEhAKDFNURVBfVU5LTk9XThAAEh4KGlNURVBfRElEX05PVF9QUk9EVUNFX0ZSQU1FEAESKQolU1RFUF9ESURfTk9UX1BST0RVQ0VfQ09NUE9TSVRPUl9GUkFNRRAWEiIKHlNURVBfR0VORVJBVEVfQ09NUE9TSVRPUl9GUkFNRRACEh0KGVNURVBfR0VORVJBVEVfUkVOREVSX1BBU1MQAxIaChZTVEVQX0lTU1VFX0JFR0lOX0ZSQU1FEAQSIQodU1RFUF9SRUNFSVZFX0NPTVBPU0lUT1JfRlJBTUUQBRIcChhTVEVQX1JFQ0VJVkVfQkVHSU5fRlJBTUUQBhIkCiBTVEVQX1JFQ0VJVkVfQkVHSU5fRlJBTUVfRElTQ0FSRBAHEiIKGlNURVBfU0VORF9CRUdJTl9NQUlOX0ZSQU1FEAgaAggBEiAKHFNURVBfU1VCTUlUX0NPTVBPU0lUT1JfRlJBTUUQCRIWChJTVEVQX0RSQVdfQU5EX1NXQVAQFRIcChhTVEVQX1NVUkZBQ0VfQUdHUkVHQVRJT04QChIZChVTVEVQX1NFTkRfQlVGRkVSX1NXQVAQCxIgChxTVEVQX0JVRkZFUl9TV0FQX1BPU1RfU1VCTUlUEAwSGwoXU1RFUF9GSU5JU0hfQlVGRkVSX1NXQVAQDRIZChVTVEVQX1NXQVBfQlVGRkVSU19BQ0sQDhInCiNTVEVQX0VYT19DT05TVFJVQ1RfQ09NUE9TSVRPUl9GUkFNRRAPEiQKIFNURVBfRVhPX1NVQk1JVF9DT01QT1NJVE9SX0ZSQU1FEBASJQohU1RFUF9FWE9fRElTQ0FSRF9DT01QT1NJVE9SX0ZSQU1FEBESIQodU1RFUF9CQUNLRU5EX1NFTkRfQlVGRkVSX1NXQVAQEhIoCiRTVEVQX0JBQ0tFTkRfU0VORF9CVUZGRVJfUE9TVF9TVUJNSVQQExIjCh9TVEVQX0JBQ0tFTkRfRklOSVNIX0JVRkZFUl9TV0FQEBQSKQolU1RFUF9TRU5EX09OX0JFR0lOX0ZSQU1FX01PSk9fTUVTU0FHRRAXEjQKMFNURVBfU0VORF9PTl9TVEFOREFMT05FX0JFR0lOX0ZSQU1FX01PSk9fTUVTU0FHRRAYEjIKLlNURVBfU0VORF9TVUJNSVRfQ09NUE9TSVRPUl9GUkFNRV9NT0pPX01FU1NBR0UQGSK5AQoSRnJhbWVTa2lwcGVkUmVhc29uEhoKFlNLSVBQRURfUkVBU09OX1VOS05PV04QABIiCh5TS0lQUEVEX1JFQVNPTl9SRUNPVkVSX0xBVEVOQ1kQARIcChhTS0lQUEVEX1JFQVNPTl9OT19EQU1BR0UQAhIiCh5TS0lQUEVEX1JFQVNPTl9XQUlUSU5HX09OX01BSU4QAxIhCh1TS0lQUEVEX1JFQVNPTl9EUkFXX1RIUk9UVExFRBAEIv8DChZMaWJ1bndpbmRzdGFja1Vud2luZGVyEkUKCmVycm9yX2NvZGUYASABKA4yMS5wZXJmZXR0by5wcm90b3MuTGlidW53aW5kc3RhY2tVbndpbmRlci5FcnJvckNvZGUSEgoKbnVtX2ZyYW1lcxgCIAEoBSKJAwoJRXJyb3JDb2RlEg4KCkVSUk9SX05PTkUQABIYChRFUlJPUl9NRU1PUllfSU5WQUxJRBABEhUKEUVSUk9SX1VOV0lORF9JTkZPEAISFQoRRVJST1JfVU5TVVBQT1JURUQQAxIVChFFUlJPUl9JTlZBTElEX01BUBAEEh0KGUVSUk9SX01BWF9GUkFNRVNfRVhDRUVERUQQBRIYChRFUlJPUl9SRVBFQVRFRF9GUkFNRRAGEhUKEUVSUk9SX0lOVkFMSURfRUxGEAcSHwobRVJST1JfVEhSRUFEX0RPRVNfTk9UX0VYSVNUEAgSGAoURVJST1JfVEhSRUFEX1RJTUVPVVQQCRIVChFFUlJPUl9TWVNURU1fQ0FMTBAKEhIKDkVSUk9SX0JBRF9BUkNIEAsSFAoQRVJST1JfTUFQU19QQVJTRRAMEioKJkVSUk9SX0lOVkFMSURfUEFSQU1FVEVSX0xJQlVOV0lORFNUQUNLEA0SFQoRRVJST1JfUFRSQUNFX0NBTEwQDiK4AwoWU2Nyb2xsUHJlZGljdG9yTWV0cmljcxJXChZwcmV2X2V2ZW50X2ZyYW1lX3ZhbHVlGAEgASgLMjcucGVyZmV0dG8ucHJvdG9zLlNjcm9sbFByZWRpY3Rvck1ldHJpY3MuRXZlbnRGcmFtZVZhbHVlElYKFWN1cl9ldmVudF9mcmFtZV92YWx1ZRgCIAEoCzI3LnBlcmZldHRvLnByb3Rvcy5TY3JvbGxQcmVkaWN0b3JNZXRyaWNzLkV2ZW50RnJhbWVWYWx1ZRJXChZuZXh0X2V2ZW50X2ZyYW1lX3ZhbHVlGAMgASgLMjcucGVyZmV0dG8ucHJvdG9zLlNjcm9sbFByZWRpY3Rvck1ldHJpY3MuRXZlbnRGcmFtZVZhbHVlEhoKEmphbmt5X3ZhbHVlX3BpeGVscxgEIAEoAhIZChFoYXNfbWlzc2VkX3ZzeW5jcxgFIAEoCBIWCg5pc19zbG93X3Njcm9sbBgGIAEoCBpFCg9FdmVudEZyYW1lVmFsdWUSFgoOZXZlbnRfdHJhY2VfaWQYASABKAMSGgoSZGVsdGFfdmFsdWVfcGl4ZWxzGAIgASgCIi4KCFBhZ2VMb2FkEhUKDW5hdmlnYXRpb25faWQYASABKAMSCwoDdXJsGAIgASgJIsEECgdTdGFydFVwEhMKC2FjdGl2aXR5X2lkGAEgASgDEj4KDGxhdW5jaF9jYXVzZRgDIAEoDjIoLnBlcmZldHRvLnByb3Rvcy5TdGFydFVwLkxhdW5jaENhdXNlVHlwZSLgAwoPTGF1bmNoQ2F1c2VUeXBlEhoKDVVOSU5JVElBTElaRUQQ////////////ARIJCgVPVEhFUhAAEg4KCkNVU1RPTV9UQUIQARIHCgNUV0EQAhILCgdSRUNFTlRTEAMSEwoPUkVDRU5UU19PUl9CQUNLEAQSGgoWRk9SRUdST1VORF9XSEVOX0xPQ0tFRBAFEhYKEk1BSU5fTEFVTkNIRVJfSUNPThAGEh8KG01BSU5fTEFVTkNIRVJfSUNPTl9TSE9SVENVVBAHEhYKEkhPTUVfU0NSRUVOX1dJREdFVBAIEh0KGU9QRU5fSU5fQlJPV1NFUl9GUk9NX01FTlUQCRIhCh1FWFRFUk5BTF9TRUFSQ0hfQUNUSU9OX0lOVEVOVBAKEhAKDE5PVElGSUNBVElPThALEhgKFEVYVEVSTkFMX1ZJRVdfSU5URU5UEAwSEAoMT1RIRVJfQ0hST01FEA0SHQoZV0VCQVBLX0NIUk9NRV9ESVNUUklCVVRPUhAOEhwKGFdFQkFQS19PVEhFUl9ESVNUUklCVVRPUhAPEhgKFEhPTUVfU0NSRUVOX1NIT1JUQ1VUEBASEAoMU0hBUkVfSU5URU5UEBESBwoDTkZDEBISDAoIQVVUSF9UQUIQEyLhAQoVV2ViQ29udGVudEludGVyYWN0aW9uEjkKBHR5cGUYASABKA4yKy5wZXJmZXR0by5wcm90b3MuV2ViQ29udGVudEludGVyYWN0aW9uLlR5cGUSGQoRdG90YWxfZHVyYXRpb25fbXMYAiABKAMicgoEVHlwZRIbChdJTlRFUkFDVElPTl9VTlNQRUNJRklFRBAAEhgKFElOVEVSQUNUSU9OX0tFWUJPQVJEEAESGQoVSU5URVJBQ1RJT05fQ0xJQ0tfVEFQEAISGAoQSU5URVJBQ1RJT05fRFJBRxADGgIIASKvAQoNU2Nyb2xsTWV0cmljcxITCgtmcmFtZV9jb3VudBgBIAEoAxITCgt2c3luY19jb3VudBgCIAEoAxIYChBtaXNzZWRfdnN5bmNfbWF4GAMgASgDEhgKEG1pc3NlZF92c3luY19zdW0YBCABKAMSGwoTZGVsYXllZF9mcmFtZV9jb3VudBgFIAEoAxIjChtwcmVkaWN0b3JfamFua3lfZnJhbWVfY291bnQYBiABKAMiqAEKDkV2ZW50Rm9yd2FyZGVyEhQKDGhpc3Rvcnlfc2l6ZRgBIAEoBRIWCg5vbGRlc3RfdGltZV9ucxgCIAEoAxIWCg5sYXRlc3RfdGltZV9ucxgFIAEoAxIPCgd4X3BpeGVsGAMgASgCEg8KB3lfcGl4ZWwYBCABKAISFgoOaGFzX3hfbW92ZW1lbnQYBiABKAgSFgoOaGFzX3lfbW92ZW1lbnQYByABKAgiNgodVG91Y2hEaXNwb3NpdGlvbkdlc3R1cmVGaWx0ZXISFQoNZ2VzdHVyZV9jb3VudBgBIAEoBSIdCg1WaWV3Q2xhc3NOYW1lEgwKBG5hbWUYASABKAki8ggKIENocm9tZUNvbXBvc2l0b3JTY2hlZHVsZXJTdGF0ZVYyEkYKDXN0YXRlX21hY2hpbmUYASABKAsyLy5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyEiQKHG9ic2VydmluZ19iZWdpbl9mcmFtZV9zb3VyY2UYAiABKAgSJgoeYmVnaW5faW1wbF9mcmFtZV9kZWFkbGluZV90YXNrGAMgASgIEiAKGHBlbmRpbmdfYmVnaW5fZnJhbWVfdGFzaxgEIAEoCBIzCitza2lwcGVkX2xhc3RfZnJhbWVfbWlzc2VkX2V4Y2VlZGVkX2RlYWRsaW5lGAUgASgIEkkKDWluc2lkZV9hY3Rpb24YByABKA4yMi5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlckFjdGlvblYyEmMKDWRlYWRsaW5lX21vZGUYCCABKA4yTC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlclN0YXRlVjIuQmVnaW5JbXBsRnJhbWVEZWFkbGluZU1vZGUSEwoLZGVhZGxpbmVfdXMYCSABKAMSIAoYZGVhZGxpbmVfc2NoZWR1bGVkX2F0X3VzGAogASgDEg4KBm5vd191cxgLIAEoAxIgChhub3dfdG9fZGVhZGxpbmVfZGVsdGFfdXMYDCABKAMSLQolbm93X3RvX2RlYWRsaW5lX3NjaGVkdWxlZF9hdF9kZWx0YV91cxgNIAEoAxJEChViZWdpbl9pbXBsX2ZyYW1lX2FyZ3MYDiABKAsyJS5wZXJmZXR0by5wcm90b3MuQmVnaW5JbXBsRnJhbWVBcmdzVjISTgoaYmVnaW5fZnJhbWVfb2JzZXJ2ZXJfc3RhdGUYDyABKAsyKi5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZU9ic2VydmVyU3RhdGVWMhJKChhiZWdpbl9mcmFtZV9zb3VyY2Vfc3RhdGUYECABKAsyKC5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZVNvdXJjZVN0YXRlVjISTQoZY29tcG9zaXRvcl90aW1pbmdfaGlzdG9yeRgRIAEoCzIqLnBlcmZldHRvLnByb3Rvcy5Db21wb3NpdG9yVGltaW5nSGlzdG9yeVYyIuEBChpCZWdpbkltcGxGcmFtZURlYWRsaW5lTW9kZRIdChlERUFETElORV9NT0RFX1VOU1BFQ0lGSUVEEAASFgoSREVBRExJTkVfTU9ERV9OT05FEAESGwoXREVBRExJTkVfTU9ERV9JTU1FRElBVEUQAhIZChVERUFETElORV9NT0RFX1JFR1VMQVIQAxIWChJERUFETElORV9NT0RFX0xBVEUQBBIZChVERUFETElORV9NT0RFX0JMT0NLRUQQBRIhCh1ERUFETElORV9NT0RFX1dBSVRfRk9SX1NDUk9MTBAGSgQIBhAHIr4dCh5DaHJvbWVDb21wb3NpdG9yU3RhdGVNYWNoaW5lVjISUQoLbWFqb3Jfc3RhdGUYASABKAsyPC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMhJRCgttaW5vcl9zdGF0ZRgCIAEoCzI8LnBlcmZldHRvLnByb3Rvcy5DaHJvbWVDb21wb3NpdG9yU3RhdGVNYWNoaW5lVjIuTWlub3JTdGF0ZVYyGqcKCgxNYWpvclN0YXRlVjISRwoLbmV4dF9hY3Rpb24YASABKA4yMi5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlckFjdGlvblYyEnAKFmJlZ2luX2ltcGxfZnJhbWVfc3RhdGUYAiABKA4yUC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMi5CZWdpbkltcGxGcmFtZVN0YXRlEnAKFmJlZ2luX21haW5fZnJhbWVfc3RhdGUYAyABKA4yUC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMi5CZWdpbk1haW5GcmFtZVN0YXRlEnkKG2xheWVyX3RyZWVfZnJhbWVfc2lua19zdGF0ZRgEIAEoDjJULnBlcmZldHRvLnByb3Rvcy5DaHJvbWVDb21wb3NpdG9yU3RhdGVNYWNoaW5lVjIuTWFqb3JTdGF0ZVYyLkxheWVyVHJlZUZyYW1lU2lua1N0YXRlEnQKE2ZvcmNlZF9yZWRyYXdfc3RhdGUYBSABKA4yVy5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMi5Gb3JjZWRSZWRyYXdPblRpbWVvdXRTdGF0ZSKhAQoTQmVnaW5JbXBsRnJhbWVTdGF0ZRIgChxCRUdJTl9JTVBMX0ZSQU1FX1VOU1BFQ0lGSUVEEAASGQoVQkVHSU5fSU1QTF9GUkFNRV9JRExFEAESJwojQkVHSU5fSU1QTF9GUkFNRV9JTlNJREVfQkVHSU5fRlJBTUUQAhIkCiBCRUdJTl9JTVBMX0ZSQU1FX0lOU0lERV9ERUFETElORRADIpMBChNCZWdpbk1haW5GcmFtZVN0YXRlEiAKHEJFR0lOX01BSU5fRlJBTUVfVU5TUEVDSUZJRUQQABIZChVCRUdJTl9NQUlOX0ZSQU1FX0lETEUQARIZChVCRUdJTl9NQUlOX0ZSQU1FX1NFTlQQAhIkCiBCRUdJTl9NQUlOX0ZSQU1FX1JFQURZX1RPX0NPTU1JVBADIvQBChdMYXllclRyZWVGcmFtZVNpbmtTdGF0ZRIgChxMQVlFUl9UUkVFX0ZSQU1FX1VOU1BFQ0lGSUVEEAASGQoVTEFZRVJfVFJFRV9GUkFNRV9OT05FEAESGwoXTEFZRVJfVFJFRV9GUkFNRV9BQ1RJVkUQAhIdChlMQVlFUl9UUkVFX0ZSQU1FX0NSRUFUSU5HEAMSLQopTEFZRVJfVFJFRV9GUkFNRV9XQUlUSU5HX0ZPUl9GSVJTVF9DT01NSVQQBBIxCi1MQVlFUl9UUkVFX0ZSQU1FX1dBSVRJTkdfRk9SX0ZJUlNUX0FDVElWQVRJT04QBSLHAQoaRm9yY2VkUmVkcmF3T25UaW1lb3V0U3RhdGUSHQoZRk9SQ0VEX1JFRFJBV19VTlNQRUNJRklFRBAAEhYKEkZPUkNFRF9SRURSQVdfSURMRRABEiQKIEZPUkNFRF9SRURSQVdfV0FJVElOR19GT1JfQ09NTUlUEAISKAokRk9SQ0VEX1JFRFJBV19XQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OEAMSIgoeRk9SQ0VEX1JFRFJBV19XQUlUSU5HX0ZPUl9EUkFXEAQayxEKDE1pbm9yU3RhdGVWMhIUCgxjb21taXRfY291bnQYASABKAUSHAoUY3VycmVudF9mcmFtZV9udW1iZXIYAiABKAUSKgoibGFzdF9mcmFtZV9udW1iZXJfc3VibWl0X3BlcmZvcm1lZBgDIAEoBRIoCiBsYXN0X2ZyYW1lX251bWJlcl9kcmF3X3BlcmZvcm1lZBgEIAEoBRIvCidsYXN0X2ZyYW1lX251bWJlcl9iZWdpbl9tYWluX2ZyYW1lX3NlbnQYBSABKAUSEAoIZGlkX2RyYXcYBiABKAgSMworZGlkX3NlbmRfYmVnaW5fbWFpbl9mcmFtZV9mb3JfY3VycmVudF9mcmFtZRgHIAEoCBI2Ci5kaWRfbm90aWZ5X2JlZ2luX21haW5fZnJhbWVfbm90X2V4cGVjdGVkX3VudGlsGAggASgIEjUKLWRpZF9ub3RpZnlfYmVnaW5fbWFpbl9mcmFtZV9ub3RfZXhwZWN0ZWRfc29vbhgJIAEoCBIrCiN3YW50c19iZWdpbl9tYWluX2ZyYW1lX25vdF9leHBlY3RlZBgKIAEoCBIfChdkaWRfY29tbWl0X2R1cmluZ19mcmFtZRgLIAEoCBIsCiRkaWRfaW52YWxpZGF0ZV9sYXllcl90cmVlX2ZyYW1lX3NpbmsYDCABKAgSKQohZGlkX3BlcmZvcm1faW1wbF9zaWRlX2ludmFsaWRhaW9uGA0gASgIEhkKEWRpZF9wcmVwYXJlX3RpbGVzGA4gASgIEisKI2NvbnNlY3V0aXZlX2NoZWNrZXJib2FyZF9hbmltYXRpb25zGA8gASgFEh0KFXBlbmRpbmdfc3VibWl0X2ZyYW1lcxgQIAEoBRI4CjBzdWJtaXRfZnJhbWVzX3dpdGhfY3VycmVudF9sYXllcl90cmVlX2ZyYW1lX3NpbmsYESABKAUSFAoMbmVlZHNfcmVkcmF3GBIgASgIEhsKE25lZWRzX3ByZXBhcmVfdGlsZXMYEyABKAgSHgoWbmVlZHNfYmVnaW5fbWFpbl9mcmFtZRgUIAEoCBIiChpuZWVkc19vbmVfYmVnaW5faW1wbF9mcmFtZRgVIAEoCBIPCgd2aXNpYmxlGBYgASgIEiEKGWJlZ2luX2ZyYW1lX3NvdXJjZV9wYXVzZWQYFyABKAgSEAoIY2FuX2RyYXcYGCABKAgSGQoRcmVzb3VyY2VsZXNzX2RyYXcYGSABKAgSGAoQaGFzX3BlbmRpbmdfdHJlZRgaIAEoCBIsCiRwZW5kaW5nX3RyZWVfaXNfcmVhZHlfZm9yX2FjdGl2YXRpb24YGyABKAgSJAocYWN0aXZlX3RyZWVfbmVlZHNfZmlyc3RfZHJhdxgcIAEoCBIkChxhY3RpdmVfdHJlZV9pc19yZWFkeV90b19kcmF3GB0gASgIEj0KNWRpZF9jcmVhdGVfYW5kX2luaXRpYWxpemVfZmlyc3RfbGF5ZXJfdHJlZV9mcmFtZV9zaW5rGB4gASgIEmAKDXRyZWVfcHJpb3JpdHkYHyABKA4ySS5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1pbm9yU3RhdGVWMi5UcmVlUHJpb3JpdHkSbQoUc2Nyb2xsX2hhbmRsZXJfc3RhdGUYICABKA4yTy5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1pbm9yU3RhdGVWMi5TY3JvbGxIYW5kbGVyU3RhdGUSNQotY3JpdGljYWxfYmVnaW5fbWFpbl9mcmFtZV90b19hY3RpdmF0ZV9pc19mYXN0GCEgASgIEigKIG1haW5fdGhyZWFkX21pc3NlZF9sYXN0X2RlYWRsaW5lGCIgASgIEiAKGHZpZGVvX25lZWRzX2JlZ2luX2ZyYW1lcxgkIAEoCBIeChZkZWZlcl9iZWdpbl9tYWluX2ZyYW1lGCUgASgIEiIKGmxhc3RfY29tbWl0X2hhZF9ub191cGRhdGVzGCYgASgIEh4KFmRpZF9kcmF3X2luX2xhc3RfZnJhbWUYJyABKAgSIAoYZGlkX3N1Ym1pdF9pbl9sYXN0X2ZyYW1lGCggASgIEiQKHG5lZWRzX2ltcGxfc2lkZV9pbnZhbGlkYXRpb24YKSABKAgSKQohY3VycmVudF9wZW5kaW5nX3RyZWVfaXNfaW1wbF9zaWRlGCogASgIEisKI3ByZXZpb3VzX3BlbmRpbmdfdHJlZV93YXNfaW1wbF9zaWRlGCsgASgIEjUKLXByb2Nlc3NpbmdfYW5pbWF0aW9uX3dvcmtsZXRzX2Zvcl9hY3RpdmVfdHJlZRgsIAEoCBI2Ci5wcm9jZXNzaW5nX2FuaW1hdGlvbl93b3JrbGV0c19mb3JfcGVuZGluZ190cmVlGC0gASgIEjIKKnByb2Nlc3NpbmdfcGFpbnRfd29ya2xldHNfZm9yX3BlbmRpbmdfdHJlZRguIAEoCBIWCg5zaG91bGRfd2FybV91cBgvIAEoCCK4AQoMVHJlZVByaW9yaXR5Eh0KGVRSRUVfUFJJT1JJVFlfVU5TUEVDSUZJRUQQABIuCipUUkVFX1BSSU9SSVRZX1NBTUVfUFJJT1JJVFlfRk9SX0JPVEhfVFJFRVMQARIrCidUUkVFX1BSSU9SSVRZX1NNT09USE5FU1NfVEFLRVNfUFJJT1JJVFkQAhIsCihUUkVFX1BSSU9SSVRZX05FV19DT05URU5UX1RBS0VTX1BSSU9SSVRZEAMiggEKElNjcm9sbEhhbmRsZXJTdGF0ZRIeChpTQ1JPTExfSEFORExFUl9VTlNQRUNJRklFRBAAEiEKHVNDUk9MTF9BRkZFQ1RTX1NDUk9MTF9IQU5ETEVSEAESKQolU0NST0xMX0RPRVNfTk9UX0FGRkVDVF9TQ1JPTExfSEFORExFUhACSgQIIxAkIq4EChBCZWdpbkZyYW1lQXJnc1YyEkIKBHR5cGUYASABKA4yNC5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZUFyZ3NWMi5CZWdpbkZyYW1lQXJnc1R5cGUSEQoJc291cmNlX2lkGAIgASgEEhcKD3NlcXVlbmNlX251bWJlchgDIAEoBBIVCg1mcmFtZV90aW1lX3VzGAQgASgDEhMKC2RlYWRsaW5lX3VzGAUgASgDEhkKEWludGVydmFsX2RlbHRhX3VzGAYgASgDEhgKEG9uX2NyaXRpY2FsX3BhdGgYByABKAgSFAoMYW5pbWF0ZV9vbmx5GAggASgIEh0KE3NvdXJjZV9sb2NhdGlvbl9paWQYCSABKARIABI6Cg9zb3VyY2VfbG9jYXRpb24YCiABKAsyHy5wZXJmZXR0by5wcm90b3MuU291cmNlTG9jYXRpb25IABIjChtmcmFtZXNfdGhyb3R0bGVkX3NpbmNlX2xhc3QYCyABKAMiogEKEkJlZ2luRnJhbWVBcmdzVHlwZRIlCiFCRUdJTl9GUkFNRV9BUkdTX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1CRUdJTl9GUkFNRV9BUkdTX1RZUEVfSU5WQUxJRBABEiAKHEJFR0lOX0ZSQU1FX0FSR1NfVFlQRV9OT1JNQUwQAhIgChxCRUdJTl9GUkFNRV9BUkdTX1RZUEVfTUlTU0VEEANCDgoMY3JlYXRlZF9mcm9tIsoEChRCZWdpbkltcGxGcmFtZUFyZ3NWMhIVCg11cGRhdGVkX2F0X3VzGAEgASgDEhYKDmZpbmlzaGVkX2F0X3VzGAIgASgDEjoKBXN0YXRlGAMgASgOMisucGVyZmV0dG8ucHJvdG9zLkJlZ2luSW1wbEZyYW1lQXJnc1YyLlN0YXRlEjkKDGN1cnJlbnRfYXJncxgEIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lQXJnc1YySAASNgoJbGFzdF9hcmdzGAUgASgLMiEucGVyZmV0dG8ucHJvdG9zLkJlZ2luRnJhbWVBcmdzVjJIABJOChB0aW1lc3RhbXBzX2luX3VzGAYgASgLMjQucGVyZmV0dG8ucHJvdG9zLkJlZ2luSW1wbEZyYW1lQXJnc1YyLlRpbWVzdGFtcHNJblVzGsEBCg5UaW1lc3RhbXBzSW5VcxIWCg5pbnRlcnZhbF9kZWx0YRgBIAEoAxIdChVub3dfdG9fZGVhZGxpbmVfZGVsdGEYAiABKAMSHwoXZnJhbWVfdGltZV90b19ub3dfZGVsdGEYAyABKAMSJAocZnJhbWVfdGltZV90b19kZWFkbGluZV9kZWx0YRgEIAEoAxILCgNub3cYBSABKAMSEgoKZnJhbWVfdGltZRgGIAEoAxIQCghkZWFkbGluZRgHIAEoAyI4CgVTdGF0ZRIYChRCRUdJTl9GUkFNRV9GSU5JU0hFRBAAEhUKEUJFR0lOX0ZSQU1FX1VTSU5HEAFCBgoEYXJncyJ/ChlCZWdpbkZyYW1lT2JzZXJ2ZXJTdGF0ZVYyEiAKGGRyb3BwZWRfYmVnaW5fZnJhbWVfYXJncxgBIAEoAxJAChVsYXN0X2JlZ2luX2ZyYW1lX2FyZ3MYAiABKAsyIS5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZUFyZ3NWMiKVAQoXQmVnaW5GcmFtZVNvdXJjZVN0YXRlVjISEQoJc291cmNlX2lkGAEgASgNEg4KBnBhdXNlZBgCIAEoCBIVCg1udW1fb2JzZXJ2ZXJzGAMgASgNEkAKFWxhc3RfYmVnaW5fZnJhbWVfYXJncxgEIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lQXJnc1YyIv4CChlDb21wb3NpdG9yVGltaW5nSGlzdG9yeVYyEjkKMWJlZ2luX21haW5fZnJhbWVfcXVldWVfY3JpdGljYWxfZXN0aW1hdGVfZGVsdGFfdXMYASABKAMSPQo1YmVnaW5fbWFpbl9mcmFtZV9xdWV1ZV9ub3RfY3JpdGljYWxfZXN0aW1hdGVfZGVsdGFfdXMYAiABKAMSQwo7YmVnaW5fbWFpbl9mcmFtZV9zdGFydF90b19yZWFkeV90b19jb21taXRfZXN0aW1hdGVfZGVsdGFfdXMYAyABKAMSNQotY29tbWl0X3RvX3JlYWR5X3RvX2FjdGl2YXRlX2VzdGltYXRlX2RlbHRhX3VzGAQgASgDEicKH3ByZXBhcmVfdGlsZXNfZXN0aW1hdGVfZGVsdGFfdXMYBSABKAMSIgoaYWN0aXZhdGVfZXN0aW1hdGVfZGVsdGFfdXMYBiABKAMSHgoWZHJhd19lc3RpbWF0ZV9kZWx0YV91cxgHIAEoAyK6AwoOV2ViVmlld1N0YXJ0dXASFgoOZnJvbV91aV90aHJlYWQYASABKAgSOwoJY2FsbF9zaXRlGAIgASgOMigucGVyZmV0dG8ucHJvdG9zLldlYlZpZXdTdGFydHVwLkNhbGxTaXRlItICCghDYWxsU2l0ZRIdChlHRVRfQVdfVFJBQ0lOR19DT05UUk9MTEVSEAASGwoXR0VUX0FXX1BST1hZX0NPTlRST0xMRVIQARIUChBXRUJWSUVXX0lOU1RBTkNFEAISDwoLR0VUX1NUQVRJQ1MQAxInCiNHRVRfREVGQVVMVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OUxAEEikKJUdFVF9ERUZBVUxUX1NFUlZJQ0VfV09SS0VSX0NPTlRST0xMRVIQBRIZChVHRVRfV0VCX0lDT05fREFUQUJBU0UQBhIbChdHRVRfREVGQVVMVF9XRUJfU1RPUkFHRRAHEiAKHEdFVF9ERUZBVUxUX1dFQlZJRVdfREFUQUJBU0UQCBIaChZHRVRfVFJBQ0lOR19DT05UUk9MTEVSEAkSGQoVQVNZTkNfV0VCVklFV19TVEFSVFVQEAoimQEKGEFuaW1hdGlvbkZyYW1lVGltaW5nSW5mbxIcChRibG9ja2luZ19kdXJhdGlvbl9tcxgBIAEoAxITCgtkdXJhdGlvbl9tcxgCIAEoAxITCgtudW1fc2NyaXB0cxgDIAEoAxI1Cg5iZWdpbl9mcmFtZV9pZBgEIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lSWQiywcKHkFuaW1hdGlvbkZyYW1lU2NyaXB0VGltaW5nSW5mbxIZChFzdHlsZV9kdXJhdGlvbl9tcxgBIAEoAxIaChJsYXlvdXRfZHVyYXRpb25fbXMYAiABKAMSGQoRcGF1c2VfZHVyYXRpb25fbXMYAyABKAMSFwoPY2xhc3NfbGlrZV9uYW1lGAQgASgJEhoKEnByb3BlcnR5X2xpa2VfbmFtZRgFIAEoCRIbChNzb3VyY2VfbG9jYXRpb25fdXJsGAYgASgJEiUKHXNvdXJjZV9sb2NhdGlvbl9mdW5jdGlvbl9uYW1lGAcgASgJEiUKHXNvdXJjZV9sb2NhdGlvbl9jaGFyX3Bvc2l0aW9uGAggASgDElEKDGludm9rZXJfdHlwZRgJIAEoDjI7LnBlcmZldHRvLnByb3Rvcy5BbmltYXRpb25GcmFtZVNjcmlwdFRpbWluZ0luZm8uSW52b2tlclR5cGUSZAoWdGhpcmRfcGFydHlfdGVjaG5vbG9neRgKIAEoDjJELnBlcmZldHRvLnByb3Rvcy5BbmltYXRpb25GcmFtZVNjcmlwdFRpbWluZ0luZm8uVGhpcmRQYXJ0eVRlY2hub2xvZ3kikgEKC0ludm9rZXJUeXBlEg0KCVVOREVGSU5FRBAAEhIKDkNMQVNTSUNfU0NSSVBUEAESEQoNTU9EVUxFX1NDUklQVBACEhEKDVVTRVJfQ0FMTEJBQ0sQAxIRCg1FVkVOVF9IQU5ETEVSEAQSEwoPUFJPTUlTRV9SRVNPTFZFEAUSEgoOUFJPTUlTRV9SRUpFQ1QQBiLoAgoUVGhpcmRQYXJ0eVRlY2hub2xvZ3kSDwoLVU5TUEVDSUZJRUQQABIICgROT05FEAESDgoKV09SRF9QUkVTUxACEhQKEEdPT0dMRV9BTkFMWVRJQ1MQAxITCg9HT09HTEVfRk9OVF9BUEkQBBIWChJHT09HTEVfVEFHX01BTkFHRVIQBRIPCgtHT09HTEVfTUFQUxAGEg4KCk1FVEFfUElYRUwQBxILCgdZT1VUVUJFEAgSEwoPQURPQkVfQU5BTFlUSUNTEAkSEAoMVElLVE9LX1BJWEVMEAoSCgoGSE9USkFSEAsSEgoOR09PR0xFX0FEU0VOU0UQDBIYChRHT09HTEVfUFVCTElTSEVSX1RBRxANEhgKFEdPT0dMRV9BRFNfTElCUkFSSUVTEA4SEwoPRlVORElOR19DSE9JQ0VTEA8SDQoJRUxFTUVOVE9SEBASFQoRU0xJREVSX1JFVk9MVVRJT04QESI6CgxCZWdpbkZyYW1lSWQSEQoJc291cmNlX2lkGAEgASgEEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBCLHBQoRTWFpbkZyYW1lUGlwZWxpbmUSFQoNbWFpbl9mcmFtZV9pZBgBIAEoBBI1CgRzdGVwGAIgASgOMicucGVyZmV0dG8ucHJvdG9zLk1haW5GcmFtZVBpcGVsaW5lLlN0ZXASNQoOYmVnaW5fZnJhbWVfaWQYAyABKAsyHS5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZUlkElYKFmFib3J0ZWRfb25fbWFpbl9yZWFzb24YBCABKA4yNi5wZXJmZXR0by5wcm90b3MuTWFpbkZyYW1lUGlwZWxpbmUuQWJvcnRlZE9uTWFpblJlYXNvbhJMCiVsYXN0X2JlZ2luX2ZyYW1lX2lkX2R1cmluZ19maXJzdF9kcmF3GAUgASgLMh0ucGVyZmV0dG8ucHJvdG9zLkJlZ2luRnJhbWVJZCL7AQoEU3RlcBILCgdVTktOT1dOEAASGQoVU0VORF9CRUdJTl9NQUlOX0ZSQU1FEAESFAoQQkVHSU5fTUFJTl9GUkFNRRACEhMKD0FCT1JURURfT05fTUFJThADEhIKDkNPTU1JVF9PTl9NQUlOEAQSGwoXUkVBRFlfVE9fQ09NTUlUX09OX0lNUEwQBRISCg5DT01NSVRfT05fSU1QTBAGEhMKD0NPTU1JVF9DT01QTEVURRAHEhUKEVJFQURZX1RPX0FDVElWQVRFEAgSDAoIQUNUSVZBVEUQCRIICgREUkFXEAoSFwoTVVBEQVRFX0RJU1BMQVlfVFJFRRALIogBChNBYm9ydGVkT25NYWluUmVhc29uEh8KG0FCT1JURURfTUFJTl9SRUFTT05fVU5LTk9XThAAEg8KC05PVF9WSVNJQkxFEAESEwoPREVGRVJSRURfVVBEQVRFEAISGwoXREVGRVJSRURfQ09NTUlUX0FCT1JURUQQAxINCglOT19VUERBVEUQBCKTAQoLQ3VycmVudFRhc2sSLAokZXZlbnRfb2Zmc2V0X2Zyb21fdGFza19zdGFydF90aW1lX3VzGAEgASgEEhoKEnRhc2tfc3RhcnRfdGltZV91cxgCIAEoBBIdChV0YXNrX3F1ZXVlaW5nX3RpbWVfdXMYAyABKAQSGwoTdGFza19xdWV1ZWRfdGltZV91cxgEIAEoBCLwGAoSQ2hyb21lTGF0ZW5jeUluZm8yEhAKCHRyYWNlX2lkGAEgASgDEjYKBHN0ZXAYAiABKA4yKC5wZXJmZXR0by5wcm90b3MuQ2hyb21lTGF0ZW5jeUluZm8yLlN0ZXASGgoSZnJhbWVfdHJlZV9ub2RlX2lkGAMgASgFEkkKDmNvbXBvbmVudF9pbmZvGAQgAygLMjEucGVyZmV0dG8ucHJvdG9zLkNocm9tZUxhdGVuY3lJbmZvMi5Db21wb25lbnRJbmZvEhQKDGlzX2NvYWxlc2NlZBgFIAEoCBIZChFnZXN0dXJlX3Njcm9sbF9pZBgGIAEoAxIQCgh0b3VjaF9pZBgHIAEoAxJBCgppbnB1dF90eXBlGAggASgOMi0ucGVyZmV0dG8ucHJvdG9zLkNocm9tZUxhdGVuY3lJbmZvMi5JbnB1dFR5cGUSUAoSaW5wdXRfcmVzdWx0X3N0YXRlGAkgASgOMjQucGVyZmV0dG8ucHJvdG9zLkNocm9tZUxhdGVuY3lJbmZvMi5JbnB1dFJlc3VsdFN0YXRlEhsKE2NvYWxlc2NlZF90cmFjZV9pZHMYCiADKAMacgoNQ29tcG9uZW50SW5mbxJQCg5jb21wb25lbnRfdHlwZRgBIAEoDjI4LnBlcmZldHRvLnByb3Rvcy5DaHJvbWVMYXRlbmN5SW5mbzIuTGF0ZW5jeUNvbXBvbmVudFR5cGUSDwoHdGltZV91cxgCIAEoBCKoBAoEU3RlcBIUChBTVEVQX1VOU1BFQ0lGSUVEEAASHAoYU1RFUF9TRU5EX0lOUFVUX0VWRU5UX1VJEAMSKQolU1RFUF9TRU5EX0RJU1BBVENIX0VWRU5UX01PSk9fTUVTU0FHRRAPEiAKHFNURVBfSEFORExFX0lOUFVUX0VWRU5UX0lNUEwQBRIfChtTVEVQX1JFU0FNUExFX1NDUk9MTF9FVkVOVFMQDhIoCiRTVEVQX0RJRF9IQU5ETEVfSU5QVVRfQU5EX09WRVJTQ1JPTEwQCBIgChxTVEVQX0hBTkRMRV9JTlBVVF9FVkVOVF9NQUlOEAQSIgoeU1RFUF9NQUlOX1RIUkVBRF9TQ1JPTExfVVBEQVRFEAISJwojU1RFUF9IQU5ETEVfSU5QVVRfRVZFTlRfTUFJTl9DT01NSVQQARIpCiVTVEVQX0hBTkRMRURfSU5QVVRfRVZFTlRfTUFJTl9PUl9JTVBMEAkSIQodU1RFUF9IQU5ETEVEX0lOUFVUX0VWRU5UX0lNUEwQChIcChhTVEVQX1RPVUNIX0VWRU5UX0hBTkRMRUQQDBIeChpTVEVQX0dFU1RVUkVfRVZFTlRfSEFORExFRBANEhkKEVNURVBfU1dBUF9CVUZGRVJTEAYaAggBEhoKElNURVBfRFJBV19BTkRfU1dBUBAHGgIIARIiChpTVEVQX0ZJTklTSEVEX1NXQVBfQlVGRkVSUxALGgIIASL1BQoUTGF0ZW5jeUNvbXBvbmVudFR5cGUSGQoVQ09NUE9ORU5UX1VOU1BFQ0lGSUVEEAASKwonQ09NUE9ORU5UX0lOUFVUX0VWRU5UX0xBVEVOQ1lfQkVHSU5fUldIEAESOAo0Q09NUE9ORU5UX0lOUFVUX0VWRU5UX0xBVEVOQ1lfU0NST0xMX1VQREFURV9PUklHSU5BTBACEj4KOkNPTVBPTkVOVF9JTlBVVF9FVkVOVF9MQVRFTkNZX0ZJUlNUX1NDUk9MTF9VUERBVEVfT1JJR0lOQUwQAxIqCiZDT01QT05FTlRfSU5QVVRfRVZFTlRfTEFURU5DWV9PUklHSU5BTBAEEiQKIENPTVBPTkVOVF9JTlBVVF9FVkVOVF9MQVRFTkNZX1VJEAUSLworQ09NUE9ORU5UX0lOUFVUX0VWRU5UX0xBVEVOQ1lfUkVOREVSRVJfTUFJThAGEjoKNkNPTVBPTkVOVF9JTlBVVF9FVkVOVF9MQVRFTkNZX1JFTkRFUklOR19TQ0hFRFVMRURfTUFJThAHEjoKNkNPTVBPTkVOVF9JTlBVVF9FVkVOVF9MQVRFTkNZX1JFTkRFUklOR19TQ0hFRFVMRURfSU1QTBAIEjoKNkNPTVBPTkVOVF9JTlBVVF9FVkVOVF9MQVRFTkNZX1NDUk9MTF9VUERBVEVfTEFTVF9FVkVOVBAJEikKJUNPTVBPTkVOVF9JTlBVVF9FVkVOVF9MQVRFTkNZX0FDS19SV0gQChIvCitDT01QT05FTlRfSU5QVVRfRVZFTlRfTEFURU5DWV9SRU5ERVJFUl9TV0FQEAsSLworQ09NUE9ORU5UX0RJU1BMQVlfQ09NUE9TSVRPUl9SRUNFSVZFRF9GUkFNRRAMEikKJUNPTVBPTkVOVF9JTlBVVF9FVkVOVF9HUFVfU1dBUF9CVUZGRVIQDRIsCihDT01QT05FTlRfSU5QVVRfRVZFTlRfTEFURU5DWV9GUkFNRV9TV0FQEA4i/AgKCUlucHV0VHlwZRITCg9VTkRFRklORURfRVZFTlQQABIUChBNT1VTRV9ET1dOX0VWRU5UEAESEgoOTU9VU0VfVVBfRVZFTlQQAhIUChBNT1VTRV9NT1ZFX0VWRU5UEAMSFQoRTU9VU0VfRU5URVJfRVZFTlQQBBIVChFNT1VTRV9MRUFWRV9FVkVOVBAFEhYKEkNPTlRFWFRfTUVOVV9FVkVOVBAGEhUKEU1PVVNFX1dIRUVMX0VWRU5UEAcSFgoSUkFXX0tFWV9ET1dOX0VWRU5UEAgSEgoOS0VZX0RPV05fRVZFTlQQCRIQCgxLRVlfVVBfRVZFTlQQChIOCgpDSEFSX0VWRU5UEAsSHgoaR0VTVFVSRV9TQ1JPTExfQkVHSU5fRVZFTlQQDBIcChhHRVNUVVJFX1NDUk9MTF9FTkRfRVZFTlQQDRIfChtHRVNUVVJFX1NDUk9MTF9VUERBVEVfRVZFTlQQDhIdChlHRVNUVVJFX0ZMSU5HX1NUQVJUX0VWRU5UEA8SHgoaR0VTVFVSRV9GTElOR19DQU5DRUxfRVZFTlQQEBIdChlHRVNUVVJFX1BJTkNIX0JFR0lOX0VWRU5UEBESGwoXR0VTVFVSRV9QSU5DSF9FTkRfRVZFTlQQEhIeChpHRVNUVVJFX1BJTkNIX1VQREFURV9FVkVOVBATEhcKE0dFU1RVUkVfQkVHSU5fRVZFTlQQFBIaChZHRVNUVVJFX1RBUF9ET1dOX0VWRU5UEBUSHAoYR0VTVFVSRV9TSE9XX1BSRVNTX0VWRU5UEBYSFQoRR0VTVFVSRV9UQVBfRVZFTlQQFxIcChhHRVNUVVJFX1RBUF9DQU5DRUxfRVZFTlQQGBIdChlHRVNUVVJFX1NIT1JUX1BSRVNTX0VWRU5UEBkSHAoYR0VTVFVSRV9MT05HX1BSRVNTX0VWRU5UEBoSGgoWR0VTVFVSRV9MT05HX1RBUF9FVkVOVBAbEiAKHEdFU1RVUkVfVFdPX0ZJTkdFUl9UQVBfRVZFTlQQHBIhCh1HRVNUVVJFX1RBUF9VTkNPTkZJUk1FRF9FVkVOVBAdEhwKGEdFU1RVUkVfRE9VQkxFX1RBUF9FVkVOVBAeEhUKEUdFU1RVUkVfRU5EX0VWRU5UEB8SFQoRVE9VQ0hfU1RBUlRfRVZFTlQQIBIUChBUT1VDSF9NT1ZFX0VWRU5UECESEwoPVE9VQ0hfRU5EX0VWRU5UECISFgoSVE9VQ0hfQ0FOQ0VMX0VWRU5UECMSHgoaVE9VQ0hfU0NST0xMX1NUQVJURURfRVZFTlQQJBIWChJQT0lOVEVSX0RPV05fRVZFTlQQJRIUChBQT0lOVEVSX1VQX0VWRU5UECYSFgoSUE9JTlRFUl9NT1ZFX0VWRU5UECcSHAoYUE9JTlRFUl9SQVdfVVBEQVRFX0VWRU5UECgSGAoUUE9JTlRFUl9DQU5DRUxfRVZFTlQQKRIiCh5QT0lOVEVSX0NBVVNFRF9VQV9BQ1RJT05fRVZFTlQQKiKdAQoQSW5wdXRSZXN1bHRTdGF0ZRILCgdVTktOT1dOEAASDAoIQ09OU1VNRUQQARIQCgxOT1RfQ09OU1VNRUQQAhIWChJOT19DT05TVU1FUl9FWElTVFMQAxILCgdJR05PUkVEEAQSFAoQU0VUX05PTl9CTE9DS0lORxAFEiEKHVNFVF9OT05fQkxPQ0tJTkdfRFVFX1RPX0ZMSU5HEAYiwggKC0V2ZW50VGltaW5nEhIKCmNhbmNlbGFibGUYASABKAgSDQoFZnJhbWUYAiABKAkSFgoOaW50ZXJhY3Rpb25faWQYAyABKA0SGgoSaW50ZXJhY3Rpb25fb2Zmc2V0GAQgASgNEg8KB25vZGVfaWQYBSABKAMSEAoIa2V5X2NvZGUYBiABKAMSEgoKcG9pbnRlcl9pZBgHIAEoBRIYChBmYWxsYmFja190aW1lX3VzGAggASgEEjQKBHR5cGUYCSABKA4yJi5wZXJmZXR0by5wcm90b3MuRXZlbnRUaW1pbmcuRXZlbnRUeXBlItQGCglFdmVudFR5cGUSDQoJVU5ERUZJTkVEEAASEwoPQVVYX0NMSUNLX0VWRU5UEAESDwoLQ0xJQ0tfRVZFTlQQAhIWChJDT05URVhUX01FTlVfRVZFTlQQAxIWChJET1VCTEVfQ0xJQ0tfRVZFTlQQBBIUChBNT1VTRV9ET1dOX0VWRU5UEAUSFQoRTU9VU0VfRU5URVJfRVZFTlQQBhIVChFNT1VTRV9MRUFWRV9FVkVOVBAHEhMKD01PVVNFX09VVF9FVkVOVBAJEhQKEE1PVVNFX09WRVJfRVZFTlQQChISCg5NT1VTRV9VUF9FVkVOVBALEhYKElBPSU5URVJfT1ZFUl9FVkVOVBAMEhcKE1BPSU5URVJfRU5URVJfRVZFTlQQDRIWChJQT0lOVEVSX0RPV05fRVZFTlQQDhIUChBQT0lOVEVSX1VQX0VWRU5UEA8SGAoUUE9JTlRFUl9DQU5DRUxfRVZFTlQQEBIVChFQT0lOVEVSX09VVF9FVkVOVBAREhcKE1BPSU5URVJfTEVBVkVfRVZFTlQQEhIdChlHT1RfUE9JTlRFUl9DQVBUVVJFX0VWRU5UEBMSHgoaTE9TVF9QT0lOVEVSX0NBUFRVUkVfRVZFTlQQFBIVChFUT1VDSF9TVEFSVF9FVkVOVBAVEhMKD1RPVUNIX0VORF9FVkVOVBAWEhYKElRPVUNIX0NBTkNFTF9FVkVOVBAXEhIKDktFWV9ET1dOX0VWRU5UEBgSEwoPS0VZX1BSRVNTX0VWRU5UEBkSEAoMS0VZX1VQX0VWRU5UEBoSFgoSQkVGT1JFX0lOUFVUX0VWRU5UEBsSDwoLSU5QVVRfRVZFTlQQHBIbChdDT01QT1NJVElPTl9TVEFSVF9FVkVOVBAdEhwKGENPTVBPU0lUSU9OX1VQREFURV9FVkVOVBAeEhkKFUNPTVBPU0lUSU9OX0VORF9FVkVOVBAfEhQKEERSQUdfU1RBUlRfRVZFTlQQIBISCg5EUkFHX0VORF9FVkVOVBAhEhQKEERSQUdfRU5URVJfRVZFTlQQIhIUChBEUkFHX0xFQVZFX0VWRU5UECMSEwoPRFJBR19PVkVSX0VWRU5UECQSDgoKRFJPUF9FVkVOVBAlIpkCCiVBbmRyb2lkQ2hvcmVvZ3JhcGhlckZyYW1lQ2FsbGJhY2tEYXRhEhUKDWZyYW1lX3RpbWVfdXMYASABKAMSXAoOZnJhbWVfdGltZWxpbmUYAiADKAsyRC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZENob3Jlb2dyYXBoZXJGcmFtZUNhbGxiYWNrRGF0YS5GcmFtZVRpbWVsaW5lEiYKHnByZWZlcnJlZF9mcmFtZV90aW1lbGluZV9pbmRleBgDIAEoAxpTCg1GcmFtZVRpbWVsaW5lEhAKCHZzeW5jX2lkGAEgASgDEhYKDmxhdGNoX2RlbHRhX3VzGAIgASgDEhgKEHByZXNlbnRfZGVsdGFfdXMYAyABKAMi+UcKEENocm9tZVRyYWNrRXZlbnQyZwoQY2hyb21lX2FwcF9zdGF0ZRIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GOgHIAEoDjIfLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVBcHBTdGF0ZVIOY2hyb21lQXBwU3RhdGUyngEKI2Nocm9tZV9tZW1vcnlfcHJlc3N1cmVfbm90aWZpY2F0aW9uEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY6QcgASgLMjEucGVyZmV0dG8ucHJvdG9zLkNocm9tZU1lbW9yeVByZXNzdXJlTm90aWZpY2F0aW9uUiBjaHJvbWVNZW1vcnlQcmVzc3VyZU5vdGlmaWNhdGlvbjJ2ChVjaHJvbWVfdGFza19hbm5vdGF0b3ISGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBjqByABKAsyJC5wZXJmZXR0by5wcm90b3MuQ2hyb21lVGFza0Fubm90YXRvclITY2hyb21lVGFza0Fubm90YXRvcjJ5ChZjaHJvbWVfYnJvd3Nlcl9jb250ZXh0EhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY6wcgASgLMiUucGVyZmV0dG8ucHJvdG9zLkNocm9tZUJyb3dzZXJDb250ZXh0UhRjaHJvbWVCcm93c2VyQ29udGV4dDJ/ChhjaHJvbWVfcHJvZmlsZV9kZXN0cm95ZXISGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBjsByABKAsyJy5wZXJmZXR0by5wcm90b3MuQ2hyb21lUHJvZmlsZURlc3Ryb3llclIWY2hyb21lUHJvZmlsZURlc3Ryb3llcjKdAQokY2hyb21lX3Rhc2tfcG9zdGVkX3RvX2Rpc2FibGVkX3F1ZXVlEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY7QcgASgLMjAucGVyZmV0dG8ucHJvdG9zLkNocm9tZVRhc2tQb3N0ZWRUb0Rpc2FibGVkUXVldWVSH2Nocm9tZVRhc2tQb3N0ZWRUb0Rpc2FibGVkUXVldWUybQoSY2hyb21lX3Jhc3Rlcl90YXNrEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY7gcgASgLMiEucGVyZmV0dG8ucHJvdG9zLkNocm9tZVJhc3RlclRhc2tSEGNocm9tZVJhc3RlclRhc2sygQEKGmNocm9tZV9tZXNzYWdlX3B1bXBfZm9yX3VpEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY7wcgASgLMicucGVyZmV0dG8ucHJvdG9zLkNocm9tZU1lc3NhZ2VQdW1wRm9yVUlSFmNocm9tZU1lc3NhZ2VQdW1wRm9yVWkygwEKGnJlbmRlcl9mcmFtZV9pbXBsX2RlbGV0aW9uEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY8AcgASgLMigucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSW1wbERlbGV0aW9uUhdyZW5kZXJGcmFtZUltcGxEZWxldGlvbjKiAQolc2hvdWxkX3N3YXBfYnJvd3NpbmdfaW5zdGFuY2VzX3Jlc3VsdBIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GPEHIAEoCzIyLnBlcmZldHRvLnByb3Rvcy5TaG91bGRTd2FwQnJvd3NpbmdJbnN0YW5jZXNSZXN1bHRSIXNob3VsZFN3YXBCcm93c2luZ0luc3RhbmNlc1Jlc3VsdDJxChRmcmFtZV90cmVlX25vZGVfaW5mbxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GPIHIAEoCzIiLnBlcmZldHRvLnByb3Rvcy5GcmFtZVRyZWVOb2RlSW5mb1IRZnJhbWVUcmVlTm9kZUluZm8yjwEKHmNocm9tZV9oYXNoZWRfcGVyZm9ybWFuY2VfbWFyaxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GPMHIAEoCzIsLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVIYXNoZWRQZXJmb3JtYW5jZU1hcmtSG2Nocm9tZUhhc2hlZFBlcmZvcm1hbmNlTWFyazJwChNyZW5kZXJfcHJvY2Vzc19ob3N0EhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY9AcgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0UhFyZW5kZXJQcm9jZXNzSG9zdDKGAQobcmVuZGVyX3Byb2Nlc3NfaG9zdF9jbGVhbnVwEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY9QcgASgLMikucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0Q2xlYW51cFIYcmVuZGVyUHJvY2Vzc0hvc3RDbGVhbnVwMpgBCiRyZW5kZXJfcHJvY2Vzc19ob3N0X2xpc3RlbmVyX2NoYW5nZWQSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj2ByABKAsyKi5wZXJmZXR0by5wcm90b3MuUmVuZGVyUHJvY2Vzc0hvc3RMaXN0ZW5lclIgcmVuZGVyUHJvY2Vzc0hvc3RMaXN0ZW5lckNoYW5nZWQykgEKH2NoaWxkX3Byb2Nlc3NfbGF1bmNoZXJfcHJpb3JpdHkSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj3ByABKAsyLS5wZXJmZXR0by5wcm90b3MuQ2hpbGRQcm9jZXNzTGF1bmNoZXJQcmlvcml0eVIcY2hpbGRQcm9jZXNzTGF1bmNoZXJQcmlvcml0eTJmCg9yZXNvdXJjZV9idW5kbGUSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj4ByABKAsyHy5wZXJmZXR0by5wcm90b3MuUmVzb3VyY2VCdW5kbGVSDnJlc291cmNlQnVuZGxlMoQBChtjaHJvbWVfd2ViX2FwcF9iYWRfbmF2aWdhdGUSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj5ByABKAsyKC5wZXJmZXR0by5wcm90b3MuQ2hyb21lV2ViQXBwQmFkTmF2aWdhdGVSF2Nocm9tZVdlYkFwcEJhZE5hdmlnYXRlMnAKE2Nocm9tZV9leHRlbnNpb25faWQSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj6ByABKAsyIi5wZXJmZXR0by5wcm90b3MuQ2hyb21lRXh0ZW5zaW9uSWRSEWNocm9tZUV4dGVuc2lvbklkMmAKDXNpdGVfaW5zdGFuY2USGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj7ByABKAsyHS5wZXJmZXR0by5wcm90b3MuU2l0ZUluc3RhbmNlUgxzaXRlSW5zdGFuY2UyZwoQcmVuZGVyX3ZpZXdfaG9zdBIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GPwHIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJWaWV3SG9zdFIOcmVuZGVyVmlld0hvc3QyegoXcmVuZGVyX2ZyYW1lX3Byb3h5X2hvc3QSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBj9ByABKAsyJS5wZXJmZXR0by5wcm90b3MuUmVuZGVyRnJhbWVQcm94eUhvc3RSFHJlbmRlckZyYW1lUHJveHlIb3N0MmoKEWFuZHJvaWRfdmlld19kdW1wEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQY/gcgASgLMiAucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRWaWV3RHVtcFIPYW5kcm9pZFZpZXdEdW1wMqUBCiZwYXJrYWJsZV9zdHJpbmdfY29tcHJlc3NfaW5fYmFja2dyb3VuZBIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GP8HIAEoCzIzLnBlcmZldHRvLnByb3Rvcy5QYXJrYWJsZVN0cmluZ0NvbXByZXNzSW5CYWNrZ3JvdW5kUiJwYXJrYWJsZVN0cmluZ0NvbXByZXNzSW5CYWNrZ3JvdW5kMnkKFnBhcmthYmxlX3N0cmluZ191bnBhcmsSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiACCABKAsyJS5wZXJmZXR0by5wcm90b3MuUGFya2FibGVTdHJpbmdVbnBhcmtSFHBhcmthYmxlU3RyaW5nVW5wYXJrMq4BCiljaHJvbWVfc2FtcGxpbmdfcHJvZmlsZXJfc2FtcGxlX2NvbXBsZXRlZBIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GIEIIAEoCzI2LnBlcmZldHRvLnByb3Rvcy5DaHJvbWVTYW1wbGluZ1Byb2ZpbGVyU2FtcGxlQ29sbGVjdGVkUiVjaHJvbWVTYW1wbGluZ1Byb2ZpbGVyU2FtcGxlQ29tcGxldGVkMqkBCihzZW5kX2JlZ2luX21haW5mcmFtZV90b19jb21taXRfYnJlYWtkb3duEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYggggASgLMjQucGVyZmV0dG8ucHJvdG9zLlNlbmRCZWdpbk1haW5GcmFtZVRvQ29tbWl0QnJlYWtkb3duUiNzZW5kQmVnaW5NYWluZnJhbWVUb0NvbW1pdEJyZWFrZG93bjKEAQobZ2xvYmFsX3JlbmRlcl9mcmFtZV9ob3N0X2lkEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYgwggASgLMigucGVyZmV0dG8ucHJvdG9zLkdsb2JhbFJlbmRlckZyYW1lSG9zdElkUhdnbG9iYWxSZW5kZXJGcmFtZUhvc3RJZDJqChFyZW5kZXJfZnJhbWVfaG9zdBIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GIQIIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJGcmFtZUhvc3RSD3JlbmRlckZyYW1lSG9zdDJtChB0aHJlYWRfcG9vbF90YXNrEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYhQggASgLMiUucGVyZmV0dG8ucHJvdG9zLkNocm9tZVRocmVhZFBvb2xUYXNrUg50aHJlYWRQb29sVGFzazKzAQosYmFja19mb3J3YXJkX2NhY2hlX2Nhbl9zdG9yZV9kb2N1bWVudF9yZXN1bHQSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiGCCABKAsyNy5wZXJmZXR0by5wcm90b3MuQmFja0ZvcndhcmRDYWNoZUNhblN0b3JlRG9jdW1lbnRSZXN1bHRSJmJhY2tGb3J3YXJkQ2FjaGVDYW5TdG9yZURvY3VtZW50UmVzdWx0MpwBCiNyZW5kZXJlcl9tYWluX3RocmVhZF90YXNrX2V4ZWN1dGlvbhIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GIcIIAEoCzIwLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJlck1haW5UaHJlYWRUYXNrRXhlY3V0aW9uUh9yZW5kZXJlck1haW5UaHJlYWRUYXNrRXhlY3V0aW9uMmAKDWV2ZW50X2xhdGVuY3kSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiICCABKAsyHS5wZXJmZXR0by5wcm90b3MuRXZlbnRMYXRlbmN5UgxldmVudExhdGVuY3kybAoRcHJvY2Vzc19zaW5nbGV0b24SGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiJCCABKAsyIS5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1NpbmdsZXRvblIQcHJvY2Vzc1NpbmdsZXRvbjJwChNzaXRlX2luc3RhbmNlX2dyb3VwEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYigggASgLMiIucGVyZmV0dG8ucHJvdG9zLlNpdGVJbnN0YW5jZUdyb3VwUhFzaXRlSW5zdGFuY2VHcm91cDJ5ChZicm93c2luZ19jb250ZXh0X3N0YXRlEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYiwggASgLMiUucGVyZmV0dG8ucHJvdG9zLkJyb3dzaW5nQ29udGV4dFN0YXRlUhRicm93c2luZ0NvbnRleHRTdGF0ZTJzChRkZXZpY2VfdGhlcm1hbF9zdGF0ZRIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GIwIIAEoDjIjLnBlcmZldHRvLnByb3Rvcy5EZXZpY2VUaGVybWFsU3RhdGVSEmRldmljZVRoZXJtYWxTdGF0ZTJfCgpuYXZpZ2F0aW9uEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYjQggASgLMiEucGVyZmV0dG8ucHJvdG9zLk5hdmlnYXRpb25IYW5kbGVSCm5hdmlnYXRpb24yWgoLYW5kcm9pZF9pcGMSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiOCCABKAsyGy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZElQQ1IKYW5kcm9pZElwYzJsCg9zcWxfZGlhZ25vc3RpY3MSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiPCCABKAsyJS5wZXJmZXR0by5wcm90b3MuQ2hyb21lU3FsRGlhZ25vc3RpY3NSDnNxbERpYWdub3N0aWNzMnYKFXNlcXVlbmNlX21hbmFnZXJfdGFzaxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GJAIIAEoCzIkLnBlcmZldHRvLnByb3Rvcy5TZXF1ZW5jZU1hbmFnZXJUYXNrUhNzZXF1ZW5jZU1hbmFnZXJUYXNrMmYKD2FuZHJvaWRfdG9vbGJhchIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GJEIIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkVG9vbGJhclIOYW5kcm9pZFRvb2xiYXIyaQoQYWN0aXZlX3Byb2Nlc3NlcxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GJIIIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5BY3RpdmVQcm9jZXNzZXNSD2FjdGl2ZVByb2Nlc3NlczJnChBibGlua190YXNrX3Njb3BlEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYkwggASgLMh8ucGVyZmV0dG8ucHJvdG9zLkJsaW5rVGFza1Njb3BlUg5ibGlua1Rhc2tTY29wZTKEAQobdWttX3BhZ2VfbG9hZF90aW1pbmdfdXBkYXRlEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYlAggASgLMigucGVyZmV0dG8ucHJvdG9zLlVrbVBhZ2VMb2FkVGltaW5nVXBkYXRlUhd1a21QYWdlTG9hZFRpbWluZ1VwZGF0ZTJsChBoaWdoX2VudHJvcHlfYXBpEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYlQggASgLMiQucGVyZmV0dG8ucHJvdG9zLkJsaW5rSGlnaEVudHJvcHlBUElSDmhpZ2hFbnRyb3B5QXBpMnkKFnRhYl9zd2l0Y2hfbWVhc3VyZW1lbnQSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiWCCABKAsyJS5wZXJmZXR0by5wcm90b3MuVGFiU3dpdGNoTWVhc3VyZW1lbnRSFHRhYlN3aXRjaE1lYXN1cmVtZW50MmAKDXNjcm9sbF9kZWx0YXMSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiXCCABKAsyHS5wZXJmZXR0by5wcm90b3MuU2Nyb2xsRGVsdGFzUgxzY3JvbGxEZWx0YXMyhwEKHHdpbl9yZW5kZXJfYXVkaW9fZnJvbV9zb3VyY2USGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiYCCABKAsyKS5wZXJmZXR0by5wcm90b3MuV2luUmVuZGVyQXVkaW9Gcm9tU291cmNlUhh3aW5SZW5kZXJBdWRpb0Zyb21Tb3VyY2UyZwoQbWFjX2F1aGFsX3N0cmVhbRIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GJkIIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5NYWNBVUhBTFN0cmVhbVIObWFjQXVoYWxTdHJlYW0yagoRbGludXhfYWxzYV9vdXRwdXQSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiaCCABKAsyIC5wZXJmZXR0by5wcm90b3MuTGludXhBbHNhT3V0cHV0Ug9saW51eEFsc2FPdXRwdXQybQoSbGludXhfcHVsc2Vfb3V0cHV0EhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYmwggASgLMiEucGVyZmV0dG8ucHJvdG9zLkxpbnV4UHVsc2VPdXRwdXRSEGxpbnV4UHVsc2VPdXRwdXQyfwoYY2hyb21lX2dyYXBoaWNzX3BpcGVsaW5lEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYnAggASgLMicucGVyZmV0dG8ucHJvdG9zLkNocm9tZUdyYXBoaWNzUGlwZWxpbmVSFmNocm9tZUdyYXBoaWNzUGlwZWxpbmUybgoVY2hyb21lb3NfY3Jhc191bmlmaWVkEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYnQggASgLMhwucGVyZmV0dG8ucHJvdG9zLkNyYXNVbmlmaWVkUhNjaHJvbWVvc0NyYXNVbmlmaWVkMn4KF2xpYnVud2luZHN0YWNrX3Vud2luZGVyEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYngggASgLMicucGVyZmV0dG8ucHJvdG9zLkxpYnVud2luZHN0YWNrVW53aW5kZXJSFmxpYnVud2luZHN0YWNrVW53aW5kZXIyfwoYc2Nyb2xsX3ByZWRpY3Rvcl9tZXRyaWNzEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYnwggASgLMicucGVyZmV0dG8ucHJvdG9zLlNjcm9sbFByZWRpY3Rvck1ldHJpY3NSFnNjcm9sbFByZWRpY3Rvck1ldHJpY3MyVAoJcGFnZV9sb2FkEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYoAggASgLMhkucGVyZmV0dG8ucHJvdG9zLlBhZ2VMb2FkUghwYWdlTG9hZDJQCgdzdGFydHVwEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYoQggASgLMhgucGVyZmV0dG8ucHJvdG9zLlN0YXJ0VXBSB3N0YXJ0dXAyfAoXd2ViX2NvbnRlbnRfaW50ZXJhY3Rpb24SGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiiCCABKAsyJi5wZXJmZXR0by5wcm90b3MuV2ViQ29udGVudEludGVyYWN0aW9uUhV3ZWJDb250ZW50SW50ZXJhY3Rpb24yZgoPZXZlbnRfZm9yd2FyZGVyEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYowggASgLMh8ucGVyZmV0dG8ucHJvdG9zLkV2ZW50Rm9yd2FyZGVyUg5ldmVudEZvcndhcmRlcjKVAQogdG91Y2hfZGlzcG9zaXRpb25fZ2VzdHVyZV9maWx0ZXISGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBikCCABKAsyLi5wZXJmZXR0by5wcm90b3MuVG91Y2hEaXNwb3NpdGlvbkdlc3R1cmVGaWx0ZXJSHXRvdWNoRGlzcG9zaXRpb25HZXN0dXJlRmlsdGVyMmQKD3ZpZXdfY2xhc3NfbmFtZRIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GKUIIAEoCzIeLnBlcmZldHRvLnByb3Rvcy5WaWV3Q2xhc3NOYW1lUg12aWV3Q2xhc3NOYW1lMn0KEmNjX3NjaGVkdWxlcl9zdGF0ZRIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GKYIIAEoCzIxLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVDb21wb3NpdG9yU2NoZWR1bGVyU3RhdGVWMlIQY2NTY2hlZHVsZXJTdGF0ZTJmCg93ZWJ2aWV3X3N0YXJ0dXASGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBinCCABKAsyHy5wZXJmZXR0by5wcm90b3MuV2ViVmlld1N0YXJ0dXBSDndlYnZpZXdTdGFydHVwMoYBChthbmltYXRpb25fZnJhbWVfdGltaW5nX2luZm8SGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBioCCABKAsyKS5wZXJmZXR0by5wcm90b3MuQW5pbWF0aW9uRnJhbWVUaW1pbmdJbmZvUhhhbmltYXRpb25GcmFtZVRpbWluZ0luZm8ymQEKImFuaW1hdGlvbl9mcmFtZV9zY3JpcHRfdGltaW5nX2luZm8SGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBipCCABKAsyLy5wZXJmZXR0by5wcm90b3MuQW5pbWF0aW9uRnJhbWVTY3JpcHRUaW1pbmdJbmZvUh5hbmltYXRpb25GcmFtZVNjcmlwdFRpbWluZ0luZm8yYwoOc2Nyb2xsX21ldHJpY3MSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiqCCABKAsyHi5wZXJmZXR0by5wcm90b3MuU2Nyb2xsTWV0cmljc1INc2Nyb2xsTWV0cmljczJwChNtYWluX2ZyYW1lX3BpcGVsaW5lEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYqwggASgLMiIucGVyZmV0dG8ucHJvdG9zLk1haW5GcmFtZVBpcGVsaW5lUhFtYWluRnJhbWVQaXBlbGluZTJxChNjaHJvbWVfbGF0ZW5jeV9pbmZvEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYrAggASgLMiMucGVyZmV0dG8ucHJvdG9zLkNocm9tZUxhdGVuY3lJbmZvMlIRY2hyb21lTGF0ZW5jeUluZm8yXQoMZXZlbnRfdGltaW5nEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYrQggASgLMhwucGVyZmV0dG8ucHJvdG9zLkV2ZW50VGltaW5nUgtldmVudFRpbWluZzKuAQopYW5kcm9pZF9jaG9yZW9ncmFwaGVyX2ZyYW1lX2NhbGxiYWNrX2RhdGESGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBiuCCABKAsyNi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZENob3Jlb2dyYXBoZXJGcmFtZUNhbGxiYWNrRGF0YVIlYW5kcm9pZENob3Jlb2dyYXBoZXJGcmFtZUNhbGxiYWNrRGF0YTJdCgxjdXJyZW50X3Rhc2sSGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBivCCABKAsyHC5wZXJmZXR0by5wcm90b3MuQ3VycmVudFRhc2tSC2N1cnJlbnRUYXNrMoMBChp3ZWJfZXhwb3NlZF9pc29sYXRpb25faW5mbxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GLAIIAEoCzIoLnBlcmZldHRvLnByb3Rvcy5XZWJFeHBvc2VkSXNvbGF0aW9uSW5mb1IXd2ViRXhwb3NlZElzb2xhdGlvbkluZm8yUQoIdXJsX2luZm8SGy5wZXJmZXR0by5wcm90b3MuVHJhY2tFdmVudBixCCABKAsyGC5wZXJmZXR0by5wcm90b3MuVXJsSW5mb1IHdXJsSW5mbzJhCg5iZWdpbl9mcmFtZV9pZBIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GLIIIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lSWRSDGJlZ2luRnJhbWVJZCpECg5DaHJvbWVBcHBTdGF0ZRIYChRBUFBfU1RBVEVfRk9SRUdST1VORBABEhgKFEFQUF9TVEFURV9CQUNLR1JPVU5EEAIqfQoTTWVtb3J5UHJlc3N1cmVMZXZlbBIeChpNRU1PUllfUFJFU1NVUkVfTEVWRUxfTk9ORRAAEiIKHk1FTU9SWV9QUkVTU1VSRV9MRVZFTF9NT0RFUkFURRABEiIKHk1FTU9SWV9QUkVTU1VSRV9MRVZFTF9DUklUSUNBTBACKs0BChRGcmFtZURlbGV0ZUludGVudGlvbhIpCiVGUkFNRV9ERUxFVEVfSU5URU5USU9OX05PVF9NQUlOX0ZSQU1FEAASPgo6RlJBTUVfREVMRVRFX0lOVEVOVElPTl9TUEVDVUxBVElWRV9NQUlOX0ZSQU1FX0ZPUl9TSFVURE9XThABEkoKRkZSQU1FX0RFTEVURV9JTlRFTlRJT05fU1BFQ1VMQVRJVkVfTUFJTl9GUkFNRV9GT1JfTkFWSUdBVElPTl9DQU5DRUxMRUQQAirvCwoaU2hvdWxkU3dhcEJyb3dzaW5nSW5zdGFuY2USJAogU0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfTk8QABIwCixTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9ZRVNfRk9SQ0VfU1dBUBABEj8KO1NIT1VMRF9TV0FQX0JST1dTSU5HX0lOU1RBTkNFX1lFU19DUk9TU19TSVRFX1BST0FDVElWRV9TV0FQEAISPgo6U0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfWUVTX1NBTUVfU0lURV9QUk9BQ1RJVkVfU1dBUBADEjwKOFNIT1VMRF9TV0FQX0JST1dTSU5HX0lOU1RBTkNFX05PX1BST0FDVElWRV9TV0FQX0RJU0FCTEVEEAQSMwovU0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfTk9fTk9UX01BSU5fRlJBTUUQBRJACjxTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19IQVNfUkVMQVRFRF9BQ1RJVkVfQ09OVEVOVFMQBhI3CjNTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19ET0VTX05PVF9IQVZFX1NJVEUQBxJICkRTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19TT1VSQ0VfVVJMX1NDSEVNRV9OT1RfSFRUUF9PUl9IVFRQUxAIEk0KSVNIT1VMRF9TV0FQX0JST1dTSU5HX0lOU1RBTkNFX05PX0RFU1RJTkFUSU9OX1VSTF9TQ0hFTUVfTk9UX0hUVFBfT1JfSFRUUFMQCRI5CjVTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19TQU1FX1NJVEVfTkFWSUdBVElPThAKEjkKNVNIT1VMRF9TV0FQX0JST1dTSU5HX0lOU1RBTkNFX05PX1JFTE9BRElOR19FUlJPUl9QQUdFEAsSSwpHU0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfTk9fQUxSRUFEWV9IQVNfTUFUQ0hJTkdfQlJPV1NJTkdfSU5TVEFOQ0UQDBI3CjNTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19SRU5ERVJFUl9ERUJVR19VUkwQDRJGCkJTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19OT1RfTkVFREVEX0ZPUl9CQUNLX0ZPUldBUkRfQ0FDSEUQDhI9CjlTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19TQU1FX0RPQ1VNRU5UX05BVklHQVRJT04QDxI4CjRTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19TQU1FX1VSTF9OQVZJR0FUSU9OEBASNwozU0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfTk9fV0lMTF9SRVBMQUNFX0VOVFJZEBESKwonU0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfTk9fUkVMT0FEEBISKgomU0hPVUxEX1NXQVBfQlJPV1NJTkdfSU5TVEFOQ0VfTk9fR1VFU1QQExJFCkFTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19IQVNfTk9UX0NPTU1JVFRFRF9BTllfTkFWSUdBVElPThAUElIKTlNIT1VMRF9TV0FQX0JST1dTSU5HX0lOU1RBTkNFX05PX1VOTE9BRF9IQU5ETEVSX0VYSVNUU19PTl9TQU1FX1NJVEVfTkFWSUdBVElPThAVEjsKN1NIT1VMRF9TV0FQX0JST1dTSU5HX0lOU1RBTkNFX05PX05PVF9QUklNQVJZX01BSU5fRlJBTUUQFhJKCkZTSE9VTERfU1dBUF9CUk9XU0lOR19JTlNUQU5DRV9OT19JTklUSUFUT1JfUkVRVUVTVEVEX05PX1BST0FDVElWRV9TV0FQEBcqvAEKEkRldmljZVRoZXJtYWxTdGF0ZRIgChxERVZJQ0VfVEhFUk1BTF9TVEFURV9VTktOT1dOEAASIAocREVWSUNFX1RIRVJNQUxfU1RBVEVfTk9NSU5BTBABEh0KGURFVklDRV9USEVSTUFMX1NUQVRFX0ZBSVIQAhIgChxERVZJQ0VfVEhFUk1BTF9TVEFURV9TRVJJT1VTEAMSIQodREVWSUNFX1RIRVJNQUxfU1RBVEVfQ1JJVElDQUwQBCq0BgohQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlckFjdGlvblYyEiYKIkNDX1NDSEVEVUxFUl9BQ1RJT05fVjJfVU5TUEVDSUZJRUQQABIfChtDQ19TQ0hFRFVMRVJfQUNUSU9OX1YyX05PTkUQARIwCixDQ19TQ0hFRFVMRVJfQUNUSU9OX1YyX1NFTkRfQkVHSU5fTUFJTl9GUkFNRRACEiEKHUNDX1NDSEVEVUxFUl9BQ1RJT05fVjJfQ09NTUlUEAMSJgoiQ0NfU0NIRURVTEVSX0FDVElPTl9WMl9QT1NUX0NPTU1JVBAOEi0KKUNDX1NDSEVEVUxFUl9BQ1RJT05fVjJfQUNUSVZBVEVfU1lOQ19UUkVFEAQSKwonQ0NfU0NIRURVTEVSX0FDVElPTl9WMl9EUkFXX0lGX1BPU1NJQkxFEAUSJgoiQ0NfU0NIRURVTEVSX0FDVElPTl9WMl9EUkFXX0ZPUkNFRBAGEiUKIUNDX1NDSEVEVUxFUl9BQ1RJT05fVjJfRFJBV19BQk9SVBAHEi4KKkNDX1NDSEVEVUxFUl9BQ1RJT05fVjJfVVBEQVRFX0RJU1BMQVlfVFJFRRAPEj8KO0NDX1NDSEVEVUxFUl9BQ1RJT05fVjJfQkVHSU5fTEFZRVJfVFJFRV9GUkFNRV9TSU5LX0NSRUFUSU9OEAgSKAokQ0NfU0NIRURVTEVSX0FDVElPTl9WMl9QUkVQQVJFX1RJTEVTEAkSOwo3Q0NfU0NIRURVTEVSX0FDVElPTl9WMl9JTlZBTElEQVRFX0xBWUVSX1RSRUVfRlJBTUVfU0lOSxAKEjkKNUNDX1NDSEVEVUxFUl9BQ1RJT05fVjJfUEVSRk9STV9JTVBMX1NJREVfSU5WQUxJREFUSU9OEAsSRQpBQ0NfU0NIRURVTEVSX0FDVElPTl9WMl9OT1RJRllfQkVHSU5fTUFJTl9GUkFNRV9OT1RfRVhQRUNURURfVU5USUwQDBJECkBDQ19TQ0hFRFVMRVJfQUNUSU9OX1YyX05PVElGWV9CRUdJTl9NQUlOX0ZSQU1FX05PVF9FWFBFQ1RFRF9TT09OEA1QAFABUAI", [file_protos_perfetto_trace_track_event_track_event, file_protos_perfetto_trace_track_event_debug_annotation, file_protos_perfetto_trace_track_event_source_location]);

/**
 * @generated from message perfetto.protos.ChromeMemoryPressureNotification
 */
export type ChromeMemoryPressureNotification = Message<"perfetto.protos.ChromeMemoryPressureNotification"> & {
  /**
   * @generated from field: optional perfetto.protos.MemoryPressureLevel level = 1;
   */
  level: MemoryPressureLevel;

  /**
   * ID of interned source location where MemoryPressureListener was created
   *
   * @generated from field: optional uint64 creation_location_iid = 2;
   */
  creationLocationIid: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeMemoryPressureNotification.
 * Use `create(ChromeMemoryPressureNotificationSchema)` to create a new message.
 */
export const ChromeMemoryPressureNotificationSchema: GenMessage<ChromeMemoryPressureNotification> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 0);

/**
 * @generated from message perfetto.protos.BlinkTaskScope
 */
export type BlinkTaskScope = Message<"perfetto.protos.BlinkTaskScope"> & {
  /**
   * @generated from field: optional perfetto.protos.BlinkTaskScope.TaskScopeType type = 1;
   */
  type: BlinkTaskScope_TaskScopeType;

  /**
   * @generated from field: optional int64 scope_task_id = 2;
   */
  scopeTaskId: bigint;

  /**
   * @generated from field: optional int64 running_task_id_to_be_restored = 3;
   */
  runningTaskIdToBeRestored: bigint;
};

/**
 * Describes the message perfetto.protos.BlinkTaskScope.
 * Use `create(BlinkTaskScopeSchema)` to create a new message.
 */
export const BlinkTaskScopeSchema: GenMessage<BlinkTaskScope> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 1);

/**
 * @generated from enum perfetto.protos.BlinkTaskScope.TaskScopeType
 */
export enum BlinkTaskScope_TaskScopeType {
  /**
   * @generated from enum value: TASK_SCOPE_UNKNOWN = 0;
   */
  TASK_SCOPE_UNKNOWN = 0,

  /**
   * @generated from enum value: TASK_SCOPE_CALLBACK = 1;
   */
  TASK_SCOPE_CALLBACK = 1,

  /**
   * @generated from enum value: TASK_SCOPE_SCHEDULED_ACTION = 2;
   */
  TASK_SCOPE_SCHEDULED_ACTION = 2,

  /**
   * @generated from enum value: TASK_SCOPE_SCRIPT_EXECUTION = 3;
   */
  TASK_SCOPE_SCRIPT_EXECUTION = 3,

  /**
   * @generated from enum value: TASK_SCOPE_POST_MESSAGE = 4;
   */
  TASK_SCOPE_POST_MESSAGE = 4,

  /**
   * @generated from enum value: TASK_SCOPE_POP_STATE = 5;
   */
  TASK_SCOPE_POP_STATE = 5,

  /**
   * @generated from enum value: TASK_SCOPE_SCHEDULER_POST_TASK = 6;
   */
  TASK_SCOPE_SCHEDULER_POST_TASK = 6,

  /**
   * @generated from enum value: TASK_SCOPE_REQUEST_IDLE_CALLBACK = 7;
   */
  TASK_SCOPE_REQUEST_IDLE_CALLBACK = 7,

  /**
   * @generated from enum value: TASK_SCOPE_XML_HTTP_REQUEST = 8;
   */
  TASK_SCOPE_XML_HTTP_REQUEST = 8,

  /**
   * @generated from enum value: TASK_SCOPE_SOFT_NAVIGATION = 9;
   */
  TASK_SCOPE_SOFT_NAVIGATION = 9,
}

/**
 * Describes the enum perfetto.protos.BlinkTaskScope.TaskScopeType.
 */
export const BlinkTaskScope_TaskScopeTypeSchema: GenEnum<BlinkTaskScope_TaskScopeType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 1, 0);

/**
 * @generated from message perfetto.protos.ChromeTaskAnnotator
 */
export type ChromeTaskAnnotator = Message<"perfetto.protos.ChromeTaskAnnotator"> & {
  /**
   * @generated from field: optional uint32 ipc_hash = 1;
   */
  ipcHash: number;

  /**
   * The delay in microseconds that was specified, if any, when this task was
   * posted. This is only valid for delayed tasks.
   *
   * @generated from field: optional uint64 task_delay_us = 2;
   */
  taskDelayUs: bigint;

  /**
   * @generated from field: optional perfetto.protos.ChromeTaskAnnotator.DelayPolicy delay_policy = 3;
   */
  delayPolicy: ChromeTaskAnnotator_DelayPolicy;
};

/**
 * Describes the message perfetto.protos.ChromeTaskAnnotator.
 * Use `create(ChromeTaskAnnotatorSchema)` to create a new message.
 */
export const ChromeTaskAnnotatorSchema: GenMessage<ChromeTaskAnnotator> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 2);

/**
 * @generated from enum perfetto.protos.ChromeTaskAnnotator.DelayPolicy
 */
export enum ChromeTaskAnnotator_DelayPolicy {
  /**
   * @generated from enum value: FLEXIBLE_NO_SOONER = 0;
   */
  FLEXIBLE_NO_SOONER = 0,

  /**
   * @generated from enum value: FLEXIBLE_PREFER_EARLY = 1;
   */
  FLEXIBLE_PREFER_EARLY = 1,

  /**
   * @generated from enum value: PRECISE = 2;
   */
  PRECISE = 2,
}

/**
 * Describes the enum perfetto.protos.ChromeTaskAnnotator.DelayPolicy.
 */
export const ChromeTaskAnnotator_DelayPolicySchema: GenEnum<ChromeTaskAnnotator_DelayPolicy> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 2, 0);

/**
 * @generated from message perfetto.protos.ChromeBrowserContext
 */
export type ChromeBrowserContext = Message<"perfetto.protos.ChromeBrowserContext"> & {
  /**
   * @generated from field: optional string id = 2;
   */
  id: string;
};

/**
 * Describes the message perfetto.protos.ChromeBrowserContext.
 * Use `create(ChromeBrowserContextSchema)` to create a new message.
 */
export const ChromeBrowserContextSchema: GenMessage<ChromeBrowserContext> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 3);

/**
 * @generated from message perfetto.protos.ChromeProfileDestroyer
 */
export type ChromeProfileDestroyer = Message<"perfetto.protos.ChromeProfileDestroyer"> & {
  /**
   * @generated from field: optional fixed64 profile_ptr = 1;
   */
  profilePtr: bigint;

  /**
   * @generated from field: optional bool is_off_the_record = 2;
   */
  isOffTheRecord: boolean;

  /**
   * @generated from field: optional string otr_profile_id = 3;
   */
  otrProfileId: string;

  /**
   * @generated from field: optional uint32 host_count_at_creation = 4;
   */
  hostCountAtCreation: number;

  /**
   * @generated from field: optional uint32 host_count_at_destruction = 5;
   */
  hostCountAtDestruction: number;

  /**
   * @generated from field: optional fixed64 render_process_host_ptr = 6;
   */
  renderProcessHostPtr: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeProfileDestroyer.
 * Use `create(ChromeProfileDestroyerSchema)` to create a new message.
 */
export const ChromeProfileDestroyerSchema: GenMessage<ChromeProfileDestroyer> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 4);

/**
 * @generated from message perfetto.protos.ChromeTaskPostedToDisabledQueue
 */
export type ChromeTaskPostedToDisabledQueue = Message<"perfetto.protos.ChromeTaskPostedToDisabledQueue"> & {
  /**
   * @generated from field: optional string task_queue_name = 1;
   */
  taskQueueName: string;

  /**
   * @generated from field: optional uint64 time_since_disabled_ms = 2;
   */
  timeSinceDisabledMs: bigint;

  /**
   * @generated from field: optional uint32 ipc_hash = 3;
   */
  ipcHash: number;

  /**
   * @generated from field: optional uint64 source_location_iid = 4;
   */
  sourceLocationIid: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeTaskPostedToDisabledQueue.
 * Use `create(ChromeTaskPostedToDisabledQueueSchema)` to create a new message.
 */
export const ChromeTaskPostedToDisabledQueueSchema: GenMessage<ChromeTaskPostedToDisabledQueue> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 5);

/**
 * @generated from message perfetto.protos.ChromeRasterTask
 */
export type ChromeRasterTask = Message<"perfetto.protos.ChromeRasterTask"> & {
  /**
   * @generated from field: optional int64 source_frame_number = 1;
   */
  sourceFrameNumber: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeRasterTask.
 * Use `create(ChromeRasterTaskSchema)` to create a new message.
 */
export const ChromeRasterTaskSchema: GenMessage<ChromeRasterTask> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 6);

/**
 * @generated from message perfetto.protos.ChromeMessagePumpForUI
 */
export type ChromeMessagePumpForUI = Message<"perfetto.protos.ChromeMessagePumpForUI"> & {
  /**
   * The MSG defined in winuser.h.
   *
   * @generated from field: optional uint32 message_id = 1;
   */
  messageId: number;

  /**
   * The result of the Win32 API call WaitForMultipleObjectsEx().
   *
   * @generated from field: optional uint32 wait_for_object_result = 2;
   */
  waitForObjectResult: number;
};

/**
 * Describes the message perfetto.protos.ChromeMessagePumpForUI.
 * Use `create(ChromeMessagePumpForUISchema)` to create a new message.
 */
export const ChromeMessagePumpForUISchema: GenMessage<ChromeMessagePumpForUI> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 7);

/**
 * @generated from message perfetto.protos.RenderFrameImplDeletion
 */
export type RenderFrameImplDeletion = Message<"perfetto.protos.RenderFrameImplDeletion"> & {
  /**
   * The intent for the deletion.
   *
   * @generated from field: optional perfetto.protos.FrameDeleteIntention intent = 1;
   */
  intent: FrameDeleteIntention;

  /**
   * Whether the frame that's about to be deleted has a pending navigation
   * commit.
   *
   * @generated from field: optional bool has_pending_commit = 2;
   */
  hasPendingCommit: boolean;

  /**
   * Whether the frame that's about to be deleted has a pending cross-document
   * navigation commit.
   *
   * @generated from field: optional bool has_pending_cross_document_commit = 3;
   */
  hasPendingCrossDocumentCommit: boolean;

  /**
   * The FrameTreeNode ID of the frame that's about to be deleted.
   *
   * @generated from field: optional uint64 frame_tree_node_id = 4;
   */
  frameTreeNodeId: bigint;
};

/**
 * Describes the message perfetto.protos.RenderFrameImplDeletion.
 * Use `create(RenderFrameImplDeletionSchema)` to create a new message.
 */
export const RenderFrameImplDeletionSchema: GenMessage<RenderFrameImplDeletion> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 8);

/**
 * @generated from message perfetto.protos.ShouldSwapBrowsingInstancesResult
 */
export type ShouldSwapBrowsingInstancesResult = Message<"perfetto.protos.ShouldSwapBrowsingInstancesResult"> & {
  /**
   * The FrameTreeNode ID.
   *
   * @generated from field: optional uint64 frame_tree_node_id = 1;
   */
  frameTreeNodeId: bigint;

  /**
   * Whether a navigation will do a BrowsingInstance swap or not.
   *
   * @generated from field: optional perfetto.protos.ShouldSwapBrowsingInstance result = 2;
   */
  result: ShouldSwapBrowsingInstance;
};

/**
 * Describes the message perfetto.protos.ShouldSwapBrowsingInstancesResult.
 * Use `create(ShouldSwapBrowsingInstancesResultSchema)` to create a new message.
 */
export const ShouldSwapBrowsingInstancesResultSchema: GenMessage<ShouldSwapBrowsingInstancesResult> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 9);

/**
 * @generated from message perfetto.protos.FrameTreeNodeInfo
 */
export type FrameTreeNodeInfo = Message<"perfetto.protos.FrameTreeNodeInfo"> & {
  /**
   * The FrameTreeNode ID.
   *
   * @generated from field: optional uint64 frame_tree_node_id = 1;
   */
  frameTreeNodeId: bigint;

  /**
   * Whether the frame is a main frame or not.
   *
   * @generated from field: optional bool is_main_frame = 2;
   */
  isMainFrame: boolean;

  /**
   * Whether there's a speculative RenderFrameHost or not.
   *
   * @generated from field: optional bool has_speculative_render_frame_host = 3;
   */
  hasSpeculativeRenderFrameHost: boolean;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost current_frame_host = 4;
   */
  currentFrameHost?: RenderFrameHost;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost speculative_frame_host = 5;
   */
  speculativeFrameHost?: RenderFrameHost;

  /**
   * @generated from field: optional perfetto.protos.FrameTreeNodeInfo.FrameType frame_type = 6;
   */
  frameType: FrameTreeNodeInfo_FrameType;

  /**
   * Additional untyped debug information associated with this
   * FrameTreeNode, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.FrameTreeNodeInfo.
 * Use `create(FrameTreeNodeInfoSchema)` to create a new message.
 */
export const FrameTreeNodeInfoSchema: GenMessage<FrameTreeNodeInfo> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 10);

/**
 * NOTE: this proto must be kept consistent with
 * content::FrameType.
 *
 * @generated from enum perfetto.protos.FrameTreeNodeInfo.FrameType
 */
export enum FrameTreeNodeInfo_FrameType {
  /**
   * @generated from enum value: UNSPECIFIED_FRAME_TYPE = 0;
   */
  UNSPECIFIED_FRAME_TYPE = 0,

  /**
   * @generated from enum value: SUBFRAME = 1;
   */
  SUBFRAME = 1,

  /**
   * @generated from enum value: PRIMARY_MAIN_FRAME = 2;
   */
  PRIMARY_MAIN_FRAME = 2,

  /**
   * @generated from enum value: PRERENDER_MAIN_FRAME = 3;
   */
  PRERENDER_MAIN_FRAME = 3,

  /**
   * @generated from enum value: FENCED_FRAME_ROOT = 4;
   */
  FENCED_FRAME_ROOT = 4,
}

/**
 * Describes the enum perfetto.protos.FrameTreeNodeInfo.FrameType.
 */
export const FrameTreeNodeInfo_FrameTypeSchema: GenEnum<FrameTreeNodeInfo_FrameType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 10, 0);

/**
 * @generated from message perfetto.protos.ChromeHashedPerformanceMark
 */
export type ChromeHashedPerformanceMark = Message<"perfetto.protos.ChromeHashedPerformanceMark"> & {
  /**
   * @generated from field: optional uint32 site_hash = 1;
   */
  siteHash: number;

  /**
   * @generated from field: optional string site = 2;
   */
  site: string;

  /**
   * @generated from field: optional uint32 mark_hash = 3;
   */
  markHash: number;

  /**
   * @generated from field: optional string mark = 4;
   */
  mark: string;

  /**
   * A randomly generated unique identifier for a given ExecutionContext
   * (document, worker, etc). Used to be able to correlate events in a process
   * where there are multiple execution contexts from the same site.
   *
   * @generated from field: optional uint32 execution_context_id = 5;
   */
  executionContextId: number;

  /**
   * Indicates the sequence number of this particular mark being emitted from
   * a particular site in the scope of a single ExecutionContext. Typical
   * sites emit batches of events that are correlated in time (a thing started,
   * a thing reached a given milestone, a thing completed). When these events
   * are intermixed it is useful to know which ones are semantically related.
   * The value is generated by the content itself, but shifted by a fixed
   * random offset at runtime so as to limit usage as a side channel.
   *
   * @generated from field: optional uint32 sequence_number = 6;
   */
  sequenceNumber: number;
};

/**
 * Describes the message perfetto.protos.ChromeHashedPerformanceMark.
 * Use `create(ChromeHashedPerformanceMarkSchema)` to create a new message.
 */
export const ChromeHashedPerformanceMarkSchema: GenMessage<ChromeHashedPerformanceMark> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 11);

/**
 * Sent on SQL errors where we need string diagnostics. Corresponds to
 * `Database::DatabaseDiagnostics` in the Chrome SQL code. Does not contain any
 * PII, because the bound values are not included in the SQL statement.
 *
 * @generated from message perfetto.protos.ChromeSqlDiagnostics
 */
export type ChromeSqlDiagnostics = Message<"perfetto.protos.ChromeSqlDiagnostics"> & {
  /**
   * @generated from field: optional int32 reported_sqlite_error_code = 1;
   */
  reportedSqliteErrorCode: number;

  /**
   * @generated from field: optional int32 error_code = 2;
   */
  errorCode: number;

  /**
   * @generated from field: optional int32 last_errno = 3;
   */
  lastErrno: number;

  /**
   * @generated from field: optional string sql_statement = 4;
   */
  sqlStatement: string;

  /**
   * @generated from field: optional int32 version = 5;
   */
  version: number;

  /**
   * Most rows in 'sql_schema' have a non-NULL 'sql' column. Those rows' 'sql'
   * contents are logged here, one element per row.
   *
   * @generated from field: repeated string schema_sql_rows = 6;
   */
  schemaSqlRows: string[];

  /**
   * Some rows of 'sql_schema' have a NULL 'sql' column. They are typically
   * autogenerated indices, like "sqlite_autoindex_downloads_slices_1". These
   * are also logged here by their 'name' column, one element per row.
   *
   * @generated from field: repeated string schema_other_row_names = 7;
   */
  schemaOtherRowNames: string[];

  /**
   * @generated from field: optional bool has_valid_header = 8;
   */
  hasValidHeader: boolean;

  /**
   * @generated from field: optional bool has_valid_schema = 9;
   */
  hasValidSchema: boolean;

  /**
   * @generated from field: optional string error_message = 10;
   */
  errorMessage: string;
};

/**
 * Describes the message perfetto.protos.ChromeSqlDiagnostics.
 * Use `create(ChromeSqlDiagnosticsSchema)` to create a new message.
 */
export const ChromeSqlDiagnosticsSchema: GenMessage<ChromeSqlDiagnostics> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 12);

/**
 * @generated from message perfetto.protos.ChromeWebAppBadNavigate
 */
export type ChromeWebAppBadNavigate = Message<"perfetto.protos.ChromeWebAppBadNavigate"> & {
  /**
   * @generated from field: optional bool is_kiosk = 1;
   */
  isKiosk: boolean;

  /**
   * @generated from field: optional bool has_hosted_app_controller = 2;
   */
  hasHostedAppController: boolean;

  /**
   * @generated from field: optional string app_name = 3;
   */
  appName: string;

  /**
   * @generated from field: optional uint32 system_app_type = 4;
   */
  systemAppType: number;

  /**
   * @generated from field: optional bool web_app_provider_registry_ready = 5;
   */
  webAppProviderRegistryReady: boolean;

  /**
   * @generated from field: optional bool system_web_app_manager_synchronized = 6;
   */
  systemWebAppManagerSynchronized: boolean;
};

/**
 * Describes the message perfetto.protos.ChromeWebAppBadNavigate.
 * Use `create(ChromeWebAppBadNavigateSchema)` to create a new message.
 */
export const ChromeWebAppBadNavigateSchema: GenMessage<ChromeWebAppBadNavigate> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 13);

/**
 * These IDs are generated at compile time and differ for each chrome version.
 * IDs are stable on for a given chrome version but are changing when resources
 * are added or removed to chrome.
 *
 * @generated from message perfetto.protos.ResourceBundle
 */
export type ResourceBundle = Message<"perfetto.protos.ResourceBundle"> & {
  /**
   * @generated from field: optional uint32 resource_id = 1;
   */
  resourceId: number;
};

/**
 * Describes the message perfetto.protos.ResourceBundle.
 * Use `create(ResourceBundleSchema)` to create a new message.
 */
export const ResourceBundleSchema: GenMessage<ResourceBundle> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 14);

/**
 * Information about RenderProcessHost.
 *
 * @generated from message perfetto.protos.RenderProcessHost
 */
export type RenderProcessHost = Message<"perfetto.protos.RenderProcessHost"> & {
  /**
   * Unique Id to identify the RenderProcessHost. This is the browser-side,
   * persistent id for this RenderProcessHost that stays constant even across OS
   * layer processes managed by this RenderProcessHost.
   *
   * @generated from field: optional uint32 id = 1;
   */
  id: number;

  /**
   * See ProcessLock::ToString().
   *
   * @generated from field: optional string process_lock = 2;
   */
  processLock: string;

  /**
   * The PID of the child process.
   *
   * @generated from field: optional int32 child_process_id = 3;
   */
  childProcessId: number;

  /**
   * Details about the associated browser context.
   *
   * @generated from field: optional perfetto.protos.ChromeBrowserContext browser_context = 4;
   */
  browserContext?: ChromeBrowserContext;

  /**
   * Additional untyped debug information associated with this
   * RenderProcessHost, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.RenderProcessHost.
 * Use `create(RenderProcessHostSchema)` to create a new message.
 */
export const RenderProcessHostSchema: GenMessage<RenderProcessHost> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 15);

/**
 * @generated from message perfetto.protos.RenderProcessHostListener
 */
export type RenderProcessHostListener = Message<"perfetto.protos.RenderProcessHostListener"> & {
  /**
   * Routing ID of the listener to the RenderProcessHost, recorded when a new ID
   * is added or when an ID is removed.
   *
   * @generated from field: optional uint32 routing_id = 1;
   */
  routingId: number;
};

/**
 * Describes the message perfetto.protos.RenderProcessHostListener.
 * Use `create(RenderProcessHostListenerSchema)` to create a new message.
 */
export const RenderProcessHostListenerSchema: GenMessage<RenderProcessHostListener> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 16);

/**
 * @generated from message perfetto.protos.RenderProcessHostCleanup
 */
export type RenderProcessHostCleanup = Message<"perfetto.protos.RenderProcessHostCleanup"> & {
  /**
   * Number of IPC listeners registered to the host when Cleanup() was called.
   *
   * @generated from field: optional uint32 listener_count = 1;
   */
  listenerCount: number;

  /**
   * Number of "keep alive" references active in the RenderProcessHost, recorded
   * when Cleanup() was called.
   *
   * @generated from field: optional uint32 keep_alive_ref_count = 2;
   */
  keepAliveRefCount: number;

  /**
   * Number of "shutdown delay" references active in the RenderProcessHost,
   * recorded when Cleanup() was called.
   *
   * @generated from field: optional uint32 shutdown_delay_ref_count = 3;
   */
  shutdownDelayRefCount: number;

  /**
   * Number of "worker delay" references active in the RenderProcessHost,
   * recorded when Cleanup() was called.
   *
   * @generated from field: optional uint32 worker_ref_count = 4;
   */
  workerRefCount: number;

  /**
   * Number of "pending reuse" references active in the RenderProcessHost,
   * recorded when Cleanup() was called.
   *
   * @generated from field: optional uint32 pending_reuse_ref_count = 5;
   */
  pendingReuseRefCount: number;

  /**
   * Number of NavigationStateKeepAlive references active in the
   * RenderProcessHost, recorded when Cleanup() was called.
   *
   * @generated from field: optional uint32 navigation_state_keepalive_count = 6;
   */
  navigationStateKeepaliveCount: number;
};

/**
 * Describes the message perfetto.protos.RenderProcessHostCleanup.
 * Use `create(RenderProcessHostCleanupSchema)` to create a new message.
 */
export const RenderProcessHostCleanupSchema: GenMessage<RenderProcessHostCleanup> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 17);

/**
 * @generated from message perfetto.protos.ChildProcessLauncherPriority
 */
export type ChildProcessLauncherPriority = Message<"perfetto.protos.ChildProcessLauncherPriority"> & {
  /**
   * True if the new priority set to background.
   *
   * @generated from field: optional bool is_backgrounded = 1;
   */
  isBackgrounded: boolean;

  /**
   * True if the renderer proecss has pending views.
   *
   * @generated from field: optional bool has_pending_views = 2;
   */
  hasPendingViews: boolean;

  /**
   * @generated from field: optional perfetto.protos.ChildProcessLauncherPriority.Importance importance = 3;
   */
  importance: ChildProcessLauncherPriority_Importance;
};

/**
 * Describes the message perfetto.protos.ChildProcessLauncherPriority.
 * Use `create(ChildProcessLauncherPrioritySchema)` to create a new message.
 */
export const ChildProcessLauncherPrioritySchema: GenMessage<ChildProcessLauncherPriority> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 18);

/**
 * Importance of the child process in Android.
 *
 * @generated from enum perfetto.protos.ChildProcessLauncherPriority.Importance
 */
export enum ChildProcessLauncherPriority_Importance {
  /**
   * @generated from enum value: IMPORTANCE_NORMAL = 1;
   */
  NORMAL = 1,

  /**
   * @generated from enum value: IMPORTANCE_MODERATE = 2;
   */
  MODERATE = 2,

  /**
   * @generated from enum value: IMPORTANCE_IMPORTANT = 3;
   */
  IMPORTANT = 3,
}

/**
 * Describes the enum perfetto.protos.ChildProcessLauncherPriority.Importance.
 */
export const ChildProcessLauncherPriority_ImportanceSchema: GenEnum<ChildProcessLauncherPriority_Importance> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 18, 0);

/**
 * Information that identifies a Chrome Extension.
 *
 * @generated from message perfetto.protos.ChromeExtensionId
 */
export type ChromeExtensionId = Message<"perfetto.protos.ChromeExtensionId"> & {
  /**
   * Unique id that identifies a Chrome Extension.
   *
   * @generated from field: optional string extension_id = 1;
   */
  extensionId: string;

  /**
   * Pseudonymized `extension_id` field (see also
   * content::PseudonymizationUtil::PseudonymizeString method).
   *
   * @generated from field: optional uint32 pseudonymized_extension_id = 2;
   */
  pseudonymizedExtensionId: number;
};

/**
 * Describes the message perfetto.protos.ChromeExtensionId.
 * Use `create(ChromeExtensionIdSchema)` to create a new message.
 */
export const ChromeExtensionIdSchema: GenMessage<ChromeExtensionId> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 19);

/**
 * @generated from message perfetto.protos.SiteInstance
 */
export type SiteInstance = Message<"perfetto.protos.SiteInstance"> & {
  /**
   * The ID of the SiteInstance.
   *
   * @generated from field: optional int32 site_instance_id = 1;
   */
  siteInstanceId: number;

  /**
   * The ID of the BrowsingInstance that the SiteInstance belongs to.
   *
   * @generated from field: optional int32 browsing_instance_id = 2;
   */
  browsingInstanceId: number;

  /**
   * Whether the SiteInstance is the "default SiteInstance" or not. Non-isolated
   * sites on Android are not assigned to their own specific per-site process,
   * and shares SiteInstances with each other (the default SiteInstance).
   *
   * @generated from field: optional bool is_default = 3;
   */
  isDefault: boolean;

  /**
   * Whether this SiteInstance has a running process associated with it.
   *
   * @generated from field: optional bool has_process = 4;
   */
  hasProcess: boolean;

  /**
   * Returns the total active WebContents count for this SiteInstance and all
   * related SiteInstances in the same BrowsingInstance.
   *
   * @generated from field: optional int32 related_active_contents_count = 5;
   */
  relatedActiveContentsCount: number;

  /**
   * The number of active RenderFrameHosts this SiteInstance's SiteInstanceGroup
   * has.
   *
   * @generated from field: optional int32 active_rfh_count = 6;
   */
  activeRfhCount: number;

  /**
   * The SiteInstanceGroup this SiteInstance belongs to.
   *
   * @generated from field: optional perfetto.protos.SiteInstanceGroup site_instance_group = 7;
   */
  siteInstanceGroup?: SiteInstanceGroup;

  /**
   * Additional untyped debug information associated with this
   * SiteInstance, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.SiteInstance.
 * Use `create(SiteInstanceSchema)` to create a new message.
 */
export const SiteInstanceSchema: GenMessage<SiteInstance> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 20);

/**
 * @generated from message perfetto.protos.SiteInstanceGroup
 */
export type SiteInstanceGroup = Message<"perfetto.protos.SiteInstanceGroup"> & {
  /**
   * The ID of the SiteInstanceGroup.
   *
   * @generated from field: optional int32 site_instance_group_id = 1;
   */
  siteInstanceGroupId: number;

  /**
   * The number of active frames in this SiteInstanceGroup.
   *
   * @generated from field: optional int32 active_frame_count = 2;
   */
  activeFrameCount: number;

  /**
   * The process ID of the SiteInstanceGroup.
   *
   * @generated from field: optional perfetto.protos.RenderProcessHost process = 3;
   */
  process?: RenderProcessHost;

  /**
   * Additional untyped debug information associated with this
   * SiteInstanceGroup, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.SiteInstanceGroup.
 * Use `create(SiteInstanceGroupSchema)` to create a new message.
 */
export const SiteInstanceGroupSchema: GenMessage<SiteInstanceGroup> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 21);

/**
 * Describes the CrossOriginIsolated state of a page. See the definition of
 * WebExposedIsolationInfo for more information.
 *
 * @generated from message perfetto.protos.WebExposedIsolationInfo
 */
export type WebExposedIsolationInfo = Message<"perfetto.protos.WebExposedIsolationInfo"> & {
  /**
   * @generated from field: optional bool is_isolated = 1;
   */
  isIsolated: boolean;

  /**
   * @generated from field: optional string origin = 2;
   */
  origin: string;

  /**
   * @generated from field: optional bool is_isolated_application = 3;
   */
  isIsolatedApplication: boolean;
};

/**
 * Describes the message perfetto.protos.WebExposedIsolationInfo.
 * Use `create(WebExposedIsolationInfoSchema)` to create a new message.
 */
export const WebExposedIsolationInfoSchema: GenMessage<WebExposedIsolationInfo> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 22);

/**
 * Contains the URL and some additional information necessary to pick a
 * SiteInstance and process during a navigation. See the definition of UrlInfo
 * for more information about individual fields.
 *
 * @generated from message perfetto.protos.UrlInfo
 */
export type UrlInfo = Message<"perfetto.protos.UrlInfo"> & {
  /**
   * @generated from field: optional string url = 1;
   */
  url: string;

  /**
   * @generated from field: optional string origin = 2;
   */
  origin: string;

  /**
   * @generated from field: optional bool is_sandboxed = 3;
   */
  isSandboxed: boolean;

  /**
   * @generated from field: optional bool is_pdf = 4;
   */
  isPdf: boolean;

  /**
   * @generated from field: optional bool is_coop_isolation_requested = 5;
   */
  isCoopIsolationRequested: boolean;

  /**
   * @generated from field: optional int32 origin_isolation_request = 6;
   */
  originIsolationRequest: number;

  /**
   * @generated from field: optional bool is_prefetch_with_cross_site_contamination = 7;
   */
  isPrefetchWithCrossSiteContamination: boolean;

  /**
   * @generated from field: optional perfetto.protos.WebExposedIsolationInfo web_exposed_isolation_info = 8;
   */
  webExposedIsolationInfo?: WebExposedIsolationInfo;

  /**
   * @generated from field: optional string storage_partition_config = 9;
   */
  storagePartitionConfig: string;
};

/**
 * Describes the message perfetto.protos.UrlInfo.
 * Use `create(UrlInfoSchema)` to create a new message.
 */
export const UrlInfoSchema: GenMessage<UrlInfo> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 23);

/**
 * Next ID: 7
 *
 * @generated from message perfetto.protos.RenderViewHost
 */
export type RenderViewHost = Message<"perfetto.protos.RenderViewHost"> & {
  /**
   * The RenderViewHostMapId for the RenderViewHost.
   *
   * @generated from field: optional int32 rvh_map_id = 1;
   */
  rvhMapId: number;

  /**
   * The routing ID for the RenderViewHost.
   *
   * @generated from field: optional int32 routing_id = 2;
   */
  routingId: number;

  /**
   * The process ID of the RenderViewHost. Deprecated in favour of |process|.
   *
   * @generated from field: optional int32 process_id = 3;
   */
  processId: number;

  /**
   * Process this RenderViewHost is associated with.
   *
   * @generated from field: optional perfetto.protos.RenderProcessHost process = 6;
   */
  process?: RenderProcessHost;

  /**
   * Whether the RenderViewHost is in back/forward cache or not.
   *
   * @generated from field: optional bool is_in_back_forward_cache = 4;
   */
  isInBackForwardCache: boolean;

  /**
   * Whether the renderer-side RenderView is created.
   *
   * @generated from field: optional bool renderer_view_created = 5;
   */
  rendererViewCreated: boolean;

  /**
   * Additional untyped debug information associated with this
   * RenderViewHost, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.RenderViewHost.
 * Use `create(RenderViewHostSchema)` to create a new message.
 */
export const RenderViewHostSchema: GenMessage<RenderViewHost> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 24);

/**
 * @generated from message perfetto.protos.RenderFrameProxyHost
 */
export type RenderFrameProxyHost = Message<"perfetto.protos.RenderFrameProxyHost"> & {
  /**
   * The routing ID for the RenderFrameProxyHost.
   *
   * @generated from field: optional int32 routing_id = 1;
   */
  routingId: number;

  /**
   * The process ID of the RenderFrameProxyHost.
   *
   * @generated from field: optional int32 process_id = 2;
   */
  processId: number;

  /**
   * The RenderViewHostMapId of the RenderViewHost associated with the
   * RenderFrameProxyHost.
   *
   * @generated from field: optional int32 rvh_map_id = 3;
   */
  rvhMapId: number;

  /**
   * The SiteInstanceId of the SiteInstance associated with the
   * RenderFrameProxyHost.
   *
   * @generated from field: optional int32 site_instance_id = 4;
   */
  siteInstanceId: number;

  /**
   * Whether the renderer-side RenderFrameProxy is live or not.
   *
   * @generated from field: optional bool is_render_frame_proxy_live = 5;
   */
  isRenderFrameProxyLive: boolean;

  /**
   * The SiteInstanceGroupId of the SiteInstanceGroup associated with the
   * RenderFrameProxyHost.
   *
   * @generated from field: optional int32 site_instance_group_id = 6;
   */
  siteInstanceGroupId: number;

  /**
   * Additional untyped debug information associated with this
   * RenderFrameProxyHost, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.RenderFrameProxyHost.
 * Use `create(RenderFrameProxyHostSchema)` to create a new message.
 */
export const RenderFrameProxyHostSchema: GenMessage<RenderFrameProxyHost> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 25);

/**
 * @generated from message perfetto.protos.AndroidView
 */
export type AndroidView = Message<"perfetto.protos.AndroidView"> & {
  /**
   * @generated from field: optional int32 id = 1;
   */
  id: number;

  /**
   * @generated from field: optional int32 parent_id = 2;
   */
  parentId: number;

  /**
   * @generated from field: optional bool is_shown = 3;
   */
  isShown: boolean;

  /**
   * @generated from field: optional bool is_dirty = 4;
   */
  isDirty: boolean;

  /**
   * @generated from field: optional string class_name = 5;
   */
  className: string;

  /**
   * @generated from field: optional string resource_name = 6;
   */
  resourceName: string;
};

/**
 * Describes the message perfetto.protos.AndroidView.
 * Use `create(AndroidViewSchema)` to create a new message.
 */
export const AndroidViewSchema: GenMessage<AndroidView> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 26);

/**
 * @generated from message perfetto.protos.AndroidActivity
 */
export type AndroidActivity = Message<"perfetto.protos.AndroidActivity"> & {
  /**
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * @generated from field: repeated perfetto.protos.AndroidView view = 2;
   */
  view: AndroidView[];
};

/**
 * Describes the message perfetto.protos.AndroidActivity.
 * Use `create(AndroidActivitySchema)` to create a new message.
 */
export const AndroidActivitySchema: GenMessage<AndroidActivity> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 27);

/**
 * @generated from message perfetto.protos.AndroidViewDump
 */
export type AndroidViewDump = Message<"perfetto.protos.AndroidViewDump"> & {
  /**
   * @generated from field: repeated perfetto.protos.AndroidActivity activity = 1;
   */
  activity: AndroidActivity[];
};

/**
 * Describes the message perfetto.protos.AndroidViewDump.
 * Use `create(AndroidViewDumpSchema)` to create a new message.
 */
export const AndroidViewDumpSchema: GenMessage<AndroidViewDump> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 28);

/**
 * @generated from message perfetto.protos.ParkableStringCompressInBackground
 */
export type ParkableStringCompressInBackground = Message<"perfetto.protos.ParkableStringCompressInBackground"> & {
  /**
   * The size of the string that is being compressed, in bytes.
   *
   * @generated from field: optional int32 size_bytes = 1;
   */
  sizeBytes: number;
};

/**
 * Describes the message perfetto.protos.ParkableStringCompressInBackground.
 * Use `create(ParkableStringCompressInBackgroundSchema)` to create a new message.
 */
export const ParkableStringCompressInBackgroundSchema: GenMessage<ParkableStringCompressInBackground> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 29);

/**
 * @generated from message perfetto.protos.ParkableStringUnpark
 */
export type ParkableStringUnpark = Message<"perfetto.protos.ParkableStringUnpark"> & {
  /**
   * The size of the string that is being unparked, in bytes.
   *
   * @generated from field: optional int32 size_bytes = 1;
   */
  sizeBytes: number;

  /**
   * The elapsed time since the string was written to disk (in seconds), or -1
   * if it hadn't yet been written to disk.
   *
   * @generated from field: optional int32 time_since_last_disk_write_sec = 2;
   */
  timeSinceLastDiskWriteSec: number;
};

/**
 * Describes the message perfetto.protos.ParkableStringUnpark.
 * Use `create(ParkableStringUnparkSchema)` to create a new message.
 */
export const ParkableStringUnparkSchema: GenMessage<ParkableStringUnpark> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 30);

/**
 * @generated from message perfetto.protos.ChromeSamplingProfilerSampleCollected
 */
export type ChromeSamplingProfilerSampleCollected = Message<"perfetto.protos.ChromeSamplingProfilerSampleCollected"> & {
  /**
   * @generated from field: optional int32 frame_count = 1;
   */
  frameCount: number;

  /**
   * @generated from field: optional perfetto.protos.ChromeSamplingProfilerSampleCollected.WriteStatus write_status = 2;
   */
  writeStatus: ChromeSamplingProfilerSampleCollected_WriteStatus;

  /**
   * @generated from field: optional int32 sampled_thread_id = 3;
   */
  sampledThreadId: number;
};

/**
 * Describes the message perfetto.protos.ChromeSamplingProfilerSampleCollected.
 * Use `create(ChromeSamplingProfilerSampleCollectedSchema)` to create a new message.
 */
export const ChromeSamplingProfilerSampleCollectedSchema: GenMessage<ChromeSamplingProfilerSampleCollected> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 31);

/**
 * @generated from enum perfetto.protos.ChromeSamplingProfilerSampleCollected.WriteStatus
 */
export enum ChromeSamplingProfilerSampleCollected_WriteStatus {
  /**
   * @generated from enum value: WRITE_STATUS_NONE = 0;
   */
  NONE = 0,

  /**
   * @generated from enum value: WRITE_STATUS_BUFFERING_SAMPLE = 1;
   */
  BUFFERING_SAMPLE = 1,

  /**
   * @generated from enum value: WRITE_STATUS_WRITING_BUFFERED = 2;
   */
  WRITING_BUFFERED = 2,

  /**
   * @generated from enum value: WRITE_STATUS_WRITING_TO_TRACE = 3;
   */
  WRITING_TO_TRACE = 3,
}

/**
 * Describes the enum perfetto.protos.ChromeSamplingProfilerSampleCollected.WriteStatus.
 */
export const ChromeSamplingProfilerSampleCollected_WriteStatusSchema: GenEnum<ChromeSamplingProfilerSampleCollected_WriteStatus> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 31, 0);

/**
 * Reports the latency caused by each breakdown in the
 * SendBeginMainFrameToCommit stage of the PipelineReporter.
 *
 * @generated from message perfetto.protos.SendBeginMainFrameToCommitBreakdown
 */
export type SendBeginMainFrameToCommitBreakdown = Message<"perfetto.protos.SendBeginMainFrameToCommitBreakdown"> & {
  /**
   * Handle input events breakdown
   *
   * @generated from field: optional uint64 handle_input_events_us = 1;
   */
  handleInputEventsUs: bigint;

  /**
   * Animate breakdown
   *
   * @generated from field: optional uint64 animate_us = 2;
   */
  animateUs: bigint;

  /**
   * Style update breakdown
   *
   * @generated from field: optional uint64 style_update_us = 3;
   */
  styleUpdateUs: bigint;

  /**
   * Layout update breakdown
   *
   * @generated from field: optional uint64 layout_update_us = 4;
   */
  layoutUpdateUs: bigint;

  /**
   * Accessibility update breakdown
   *
   * @generated from field: optional uint64 accessibility_update_us = 12;
   */
  accessibilityUpdateUs: bigint;

  /**
   * Prepaint breakdown
   *
   * @generated from field: optional uint64 prepaint_us = 5;
   */
  prepaintUs: bigint;

  /**
   * Compositing inputs breakdown
   *
   * @generated from field: optional uint64 compositing_inputs_us = 6;
   */
  compositingInputsUs: bigint;

  /**
   * Compositing assignments breakdown
   *
   * @generated from field: optional uint64 compositing_assignments_us = 7;
   */
  compositingAssignmentsUs: bigint;

  /**
   * Paint breakdown
   *
   * @generated from field: optional uint64 paint_us = 8;
   */
  paintUs: bigint;

  /**
   * Composite commit breakdown
   *
   * @generated from field: optional uint64 composite_commit_us = 9;
   */
  compositeCommitUs: bigint;

  /**
   * Update layers breakdown
   *
   * @generated from field: optional uint64 update_layers_us = 10;
   */
  updateLayersUs: bigint;

  /**
   * Beginmainsenttostarted breakdown
   *
   * @generated from field: optional uint64 begin_main_sent_to_started_us = 11;
   */
  beginMainSentToStartedUs: bigint;
};

/**
 * Describes the message perfetto.protos.SendBeginMainFrameToCommitBreakdown.
 * Use `create(SendBeginMainFrameToCommitBreakdownSchema)` to create a new message.
 */
export const SendBeginMainFrameToCommitBreakdownSchema: GenMessage<SendBeginMainFrameToCommitBreakdown> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 32);

/**
 * @generated from message perfetto.protos.GlobalRenderFrameHostId
 */
export type GlobalRenderFrameHostId = Message<"perfetto.protos.GlobalRenderFrameHostId"> & {
  /**
   * @generated from field: optional int32 routing_id = 1;
   */
  routingId: number;

  /**
   * @generated from field: optional int32 process_id = 2;
   */
  processId: number;
};

/**
 * Describes the message perfetto.protos.GlobalRenderFrameHostId.
 * Use `create(GlobalRenderFrameHostIdSchema)` to create a new message.
 */
export const GlobalRenderFrameHostIdSchema: GenMessage<GlobalRenderFrameHostId> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 33);

/**
 * @generated from message perfetto.protos.BrowsingContextState
 */
export type BrowsingContextState = Message<"perfetto.protos.BrowsingContextState"> & {
  /**
   * The ID of the BrowsingInstance that the BrowsingContextState belongs to.
   *
   * @generated from field: optional int32 browsing_instance_id = 1;
   */
  browsingInstanceId: number;

  /**
   * The ID of the CoopRelatedGroup that the BrowsingContextState belongs to.
   *
   * @generated from field: optional int32 coop_related_group_id = 2 [deprecated = true];
   * @deprecated
   */
  coopRelatedGroupId: number;

  /**
   * The token of the CoopRelatedGroup that the BrowsingContextState belongs to.
   *
   * @generated from field: optional string coop_related_group_token = 3;
   */
  coopRelatedGroupToken: string;

  /**
   * Additional untyped debug information associated with this
   * FrameTreeNode, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.BrowsingContextState.
 * Use `create(BrowsingContextStateSchema)` to create a new message.
 */
export const BrowsingContextStateSchema: GenMessage<BrowsingContextState> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 34);

/**
 * @generated from message perfetto.protos.RenderFrameHost
 */
export type RenderFrameHost = Message<"perfetto.protos.RenderFrameHost"> & {
  /**
   * @generated from field: optional perfetto.protos.RenderProcessHost process = 1;
   */
  process?: RenderProcessHost;

  /**
   * @generated from field: optional perfetto.protos.GlobalRenderFrameHostId render_frame_host_id = 2;
   */
  renderFrameHostId?: GlobalRenderFrameHostId;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost.LifecycleState lifecycle_state = 3;
   */
  lifecycleState: RenderFrameHost_LifecycleState;

  /**
   * @generated from field: optional string origin = 4;
   */
  origin: string;

  /**
   * @generated from field: optional string url = 5;
   */
  url: string;

  /**
   * @generated from field: optional uint64 frame_tree_node_id = 6;
   */
  frameTreeNodeId: bigint;

  /**
   * @generated from field: optional perfetto.protos.SiteInstance site_instance = 7;
   */
  siteInstance?: SiteInstance;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost parent = 8;
   */
  parent?: RenderFrameHost;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost outer_document = 9;
   */
  outerDocument?: RenderFrameHost;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost embedder = 10;
   */
  embedder?: RenderFrameHost;

  /**
   * @generated from field: optional perfetto.protos.BrowsingContextState browsing_context_state = 11;
   */
  browsingContextState?: BrowsingContextState;

  /**
   * @generated from field: optional perfetto.protos.FrameTreeNodeInfo.FrameType frame_type = 12;
   */
  frameType: FrameTreeNodeInfo_FrameType;

  /**
   * Additional untyped debug information associated with this
   * RenderViewHost, populated via TracedProto::AddDebugAnnotations API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.RenderFrameHost.
 * Use `create(RenderFrameHostSchema)` to create a new message.
 */
export const RenderFrameHostSchema: GenMessage<RenderFrameHost> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 35);

/**
 * NOTE: this proto must be kept consistent with
 * RenderFrameHostImpl::LifecycleStateImpl.
 *
 * @generated from enum perfetto.protos.RenderFrameHost.LifecycleState
 */
export enum RenderFrameHost_LifecycleState {
  /**
   * @generated from enum value: UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: SPECULATIVE = 1;
   */
  SPECULATIVE = 1,

  /**
   * @generated from enum value: PENDING_COMMIT = 2;
   */
  PENDING_COMMIT = 2,

  /**
   * @generated from enum value: PRERENDERING = 3;
   */
  PRERENDERING = 3,

  /**
   * @generated from enum value: ACTIVE = 4;
   */
  ACTIVE = 4,

  /**
   * @generated from enum value: IN_BACK_FORWARD_CACHE = 5;
   */
  IN_BACK_FORWARD_CACHE = 5,

  /**
   * @generated from enum value: RUNNING_UNLOAD_HANDLERS = 6;
   */
  RUNNING_UNLOAD_HANDLERS = 6,

  /**
   * @generated from enum value: READY_TO_BE_DELETED = 7;
   */
  READY_TO_BE_DELETED = 7,
}

/**
 * Describes the enum perfetto.protos.RenderFrameHost.LifecycleState.
 */
export const RenderFrameHost_LifecycleStateSchema: GenEnum<RenderFrameHost_LifecycleState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 35, 0);

/**
 * @generated from message perfetto.protos.ChromeThreadPoolTask
 */
export type ChromeThreadPoolTask = Message<"perfetto.protos.ChromeThreadPoolTask"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeThreadPoolTask.Priority task_priority = 1;
   */
  taskPriority: ChromeThreadPoolTask_Priority;

  /**
   * @generated from field: optional perfetto.protos.ChromeThreadPoolTask.ExecutionMode execution_mode = 2;
   */
  executionMode: ChromeThreadPoolTask_ExecutionMode;

  /**
   * @generated from field: optional int64 sequence_token = 3;
   */
  sequenceToken: bigint;

  /**
   * @generated from field: optional perfetto.protos.ChromeThreadPoolTask.ShutdownBehavior shutdown_behavior = 4;
   */
  shutdownBehavior: ChromeThreadPoolTask_ShutdownBehavior;
};

/**
 * Describes the message perfetto.protos.ChromeThreadPoolTask.
 * Use `create(ChromeThreadPoolTaskSchema)` to create a new message.
 */
export const ChromeThreadPoolTaskSchema: GenMessage<ChromeThreadPoolTask> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 36);

/**
 * @generated from enum perfetto.protos.ChromeThreadPoolTask.Priority
 */
export enum ChromeThreadPoolTask_Priority {
  /**
   * @generated from enum value: PRIORITY_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: PRIORITY_BEST_EFFORT = 1;
   */
  BEST_EFFORT = 1,

  /**
   * @generated from enum value: PRIORITY_USER_VISIBLE = 2;
   */
  USER_VISIBLE = 2,

  /**
   * @generated from enum value: PRIORITY_USER_BLOCKING = 3;
   */
  USER_BLOCKING = 3,
}

/**
 * Describes the enum perfetto.protos.ChromeThreadPoolTask.Priority.
 */
export const ChromeThreadPoolTask_PrioritySchema: GenEnum<ChromeThreadPoolTask_Priority> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 36, 0);

/**
 * @generated from enum perfetto.protos.ChromeThreadPoolTask.ExecutionMode
 */
export enum ChromeThreadPoolTask_ExecutionMode {
  /**
   * @generated from enum value: EXECTUION_MODE_UNSPECIFIED = 0;
   */
  EXECTUION_MODE_UNSPECIFIED = 0,

  /**
   * @generated from enum value: EXECUTION_MODE_PARALLEL = 1;
   */
  EXECUTION_MODE_PARALLEL = 1,

  /**
   * @generated from enum value: EXECUTION_MODE_SEQUENCED = 2;
   */
  EXECUTION_MODE_SEQUENCED = 2,

  /**
   * @generated from enum value: EXECUTION_MODE_SINGLE_THREAD = 3;
   */
  EXECUTION_MODE_SINGLE_THREAD = 3,

  /**
   * @generated from enum value: EXECUTION_MODE_JOB = 4;
   */
  EXECUTION_MODE_JOB = 4,
}

/**
 * Describes the enum perfetto.protos.ChromeThreadPoolTask.ExecutionMode.
 */
export const ChromeThreadPoolTask_ExecutionModeSchema: GenEnum<ChromeThreadPoolTask_ExecutionMode> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 36, 1);

/**
 * @generated from enum perfetto.protos.ChromeThreadPoolTask.ShutdownBehavior
 */
export enum ChromeThreadPoolTask_ShutdownBehavior {
  /**
   * @generated from enum value: SHUTDOWN_BEHAVIOR_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: SHUTDOWN_BEHAVIOR_CONTINUE_ON_SHUTDOWN = 1;
   */
  CONTINUE_ON_SHUTDOWN = 1,

  /**
   * @generated from enum value: SHUTDOWN_BEHAVIOR_SKIP_ON_SHUTDOWN = 2;
   */
  SKIP_ON_SHUTDOWN = 2,

  /**
   * @generated from enum value: SHUTDOWN_BEHAVIOR_BLOCK_SHUTDOWN = 3;
   */
  BLOCK_SHUTDOWN = 3,
}

/**
 * Describes the enum perfetto.protos.ChromeThreadPoolTask.ShutdownBehavior.
 */
export const ChromeThreadPoolTask_ShutdownBehaviorSchema: GenEnum<ChromeThreadPoolTask_ShutdownBehavior> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 36, 2);

/**
 * TODO(crbug.com/40797026): Add more information.
 *
 * @generated from message perfetto.protos.BackForwardCacheCanStoreDocumentResult
 */
export type BackForwardCacheCanStoreDocumentResult = Message<"perfetto.protos.BackForwardCacheCanStoreDocumentResult"> & {
  /**
   * @generated from field: optional perfetto.protos.BackForwardCacheCanStoreDocumentResult.BackForwardCacheNotRestoredReason back_forward_cache_not_restored_reason = 1;
   */
  backForwardCacheNotRestoredReason: BackForwardCacheCanStoreDocumentResult_BackForwardCacheNotRestoredReason;
};

/**
 * Describes the message perfetto.protos.BackForwardCacheCanStoreDocumentResult.
 * Use `create(BackForwardCacheCanStoreDocumentResultSchema)` to create a new message.
 */
export const BackForwardCacheCanStoreDocumentResultSchema: GenMessage<BackForwardCacheCanStoreDocumentResult> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 37);

/**
 * @generated from enum perfetto.protos.BackForwardCacheCanStoreDocumentResult.BackForwardCacheNotRestoredReason
 */
export enum BackForwardCacheCanStoreDocumentResult_BackForwardCacheNotRestoredReason {
  /**
   * @generated from enum value: NOT_MAIN_FRAME = 1;
   */
  NOT_MAIN_FRAME = 1,

  /**
   * BackForwardCache is disabled due to low memory device, base::Feature or
   * command line. Note that the more specific NotRestoredReasons
   * BACK_FORWARD_CACHE_DISABLED_BY_LOW_MEMORY and
   * BACK_FORWARD_CACHE_DISABLED_BY_COMMAND_LINE will also be set as other
   * reasons along with this when appropriate.
   *
   * @generated from enum value: BACK_FORWARD_CACHE_DISABLED = 2;
   */
  BACK_FORWARD_CACHE_DISABLED = 2,

  /**
   * @generated from enum value: RELATED_ACTIVE_CONTENTS_EXIST = 3;
   */
  RELATED_ACTIVE_CONTENTS_EXIST = 3,

  /**
   * @generated from enum value: HTTP_STATUS_NOT_OK = 4;
   */
  HTTP_STATUS_NOT_OK = 4,

  /**
   * @generated from enum value: SCHEME_NOT_HTTP_OR_HTTPS = 5;
   */
  SCHEME_NOT_HTTP_OR_HTTPS = 5,

  /**
   * @generated from enum value: LOADING = 6;
   */
  LOADING = 6,

  /**
   * @generated from enum value: WAS_GRANTED_MEDIA_ACCESS = 7;
   */
  WAS_GRANTED_MEDIA_ACCESS = 7,

  /**
   * @generated from enum value: BLOCKLISTED_FEATURES = 8;
   */
  BLOCKLISTED_FEATURES = 8,

  /**
   * @generated from enum value: DISABLE_FOR_RENDER_FRAME_HOST_CALLED = 9;
   */
  DISABLE_FOR_RENDER_FRAME_HOST_CALLED = 9,

  /**
   * @generated from enum value: DOMAIN_NOT_ALLOWED = 10;
   */
  DOMAIN_NOT_ALLOWED = 10,

  /**
   * @generated from enum value: HTTP_METHOD_NOT_GET = 11;
   */
  HTTP_METHOD_NOT_GET = 11,

  /**
   * @generated from enum value: SUBFRAME_IS_NAVIGATING = 12;
   */
  SUBFRAME_IS_NAVIGATING = 12,

  /**
   * @generated from enum value: TIMEOUT = 13;
   */
  TIMEOUT = 13,

  /**
   * @generated from enum value: CACHE_LIMIT = 14;
   */
  CACHE_LIMIT = 14,

  /**
   * @generated from enum value: JAVASCRIPT_EXECUTION = 15;
   */
  JAVASCRIPT_EXECUTION = 15,

  /**
   * @generated from enum value: RENDERER_PROCESS_KILLED = 16;
   */
  RENDERER_PROCESS_KILLED = 16,

  /**
   * @generated from enum value: RENDERER_PROCESS_CRASHED = 17;
   */
  RENDERER_PROCESS_CRASHED = 17,

  /**
   * @generated from enum value: GRANTED_MEDIA_STREAM_ACCESS = 19;
   */
  GRANTED_MEDIA_STREAM_ACCESS = 19,

  /**
   * @generated from enum value: SCHEDULER_TRACKED_FEATURE_USED = 20;
   */
  SCHEDULER_TRACKED_FEATURE_USED = 20,

  /**
   * @generated from enum value: CONFLICTING_BROWSING_INSTANCE = 21;
   */
  CONFLICTING_BROWSING_INSTANCE = 21,

  /**
   * @generated from enum value: CACHE_FLUSHED = 22;
   */
  CACHE_FLUSHED = 22,

  /**
   * @generated from enum value: SERVICE_WORKER_VERSION_ACTIVATION = 23;
   */
  SERVICE_WORKER_VERSION_ACTIVATION = 23,

  /**
   * @generated from enum value: SESSION_RESTORED = 24;
   */
  SESSION_RESTORED = 24,

  /**
   * @generated from enum value: UNKNOWN = 25;
   */
  UNKNOWN = 25,

  /**
   * @generated from enum value: SERVICE_WORKER_POST_MESSAGE = 26;
   */
  SERVICE_WORKER_POST_MESSAGE = 26,

  /**
   * @generated from enum value: ENTERED_BACK_FORWARD_CACHE_BEFORE_SERVICE_WORKER_HOST_ADDED = 27;
   */
  ENTERED_BACK_FORWARD_CACHE_BEFORE_SERVICE_WORKER_HOST_ADDED = 27,

  /**
   * @generated from enum value: NOT_MOST_RECENT_NAVIGATION_ENTRY = 28;
   */
  NOT_MOST_RECENT_NAVIGATION_ENTRY = 28,

  /**
   * @generated from enum value: SERVICE_WORKER_CLAIM = 29;
   */
  SERVICE_WORKER_CLAIM = 29,

  /**
   * @generated from enum value: IGNORE_EVENT_AND_EVICT = 30;
   */
  IGNORE_EVENT_AND_EVICT = 30,

  /**
   * @generated from enum value: HAVE_INNER_CONTENTS = 31;
   */
  HAVE_INNER_CONTENTS = 31,

  /**
   * @generated from enum value: TIMEOUT_PUTTING_IN_CACHE = 32;
   */
  TIMEOUT_PUTTING_IN_CACHE = 32,

  /**
   * BackForwardCache is disabled due to low memory device.
   *
   * @generated from enum value: BACK_FORWARD_CACHE_DISABLED_BY_LOW_MEMORY = 33;
   */
  BACK_FORWARD_CACHE_DISABLED_BY_LOW_MEMORY = 33,

  /**
   * BackForwardCache is disabled due to command-line switch (may include
   * cases where the embedder disabled it due to, e.g., enterprise policy).
   *
   * @generated from enum value: BACK_FORWARD_CACHE_DISABLED_BY_COMMAND_LINE = 34;
   */
  BACK_FORWARD_CACHE_DISABLED_BY_COMMAND_LINE = 34,

  /**
   * @generated from enum value: NETWORK_REQUEST_REDIRECTED = 35;
   */
  NETWORK_REQUEST_REDIRECTED = 35,

  /**
   * @generated from enum value: NETWORK_REQUEST_TIMEOUT = 36;
   */
  NETWORK_REQUEST_TIMEOUT = 36,

  /**
   * @generated from enum value: NETWORK_EXCEEDS_BUFFER_LIMIT = 37;
   */
  NETWORK_EXCEEDS_BUFFER_LIMIT = 37,

  /**
   * @generated from enum value: NAVIGATION_CANCELLED_WHILE_RESTORING = 38;
   */
  NAVIGATION_CANCELLED_WHILE_RESTORING = 38,

  /**
   * @generated from enum value: BACK_FORWARD_CACHE_DISABLED_FOR_PRERENDER = 39;
   */
  BACK_FORWARD_CACHE_DISABLED_FOR_PRERENDER = 39,

  /**
   * @generated from enum value: USER_AGENT_OVERRIDE_DIFFERS = 40;
   */
  USER_AGENT_OVERRIDE_DIFFERS = 40,

  /**
   * @generated from enum value: NETWORK_REQUEST_DATAPIPE_DRAINED_AS_BYTES_CONSUMER = 41;
   */
  NETWORK_REQUEST_DATAPIPE_DRAINED_AS_BYTES_CONSUMER = 41,

  /**
   * @generated from enum value: FOREGROUND_CACHE_LIMIT = 42;
   */
  FOREGROUND_CACHE_LIMIT = 42,

  /**
   * @generated from enum value: BROWSING_INSTANCE_NOT_SWAPPED = 43;
   */
  BROWSING_INSTANCE_NOT_SWAPPED = 43,

  /**
   * @generated from enum value: BACK_FORWARD_CACHE_DISABLED_FOR_DELEGATE = 44;
   */
  BACK_FORWARD_CACHE_DISABLED_FOR_DELEGATE = 44,

  /**
   * @generated from enum value: OPT_IN_UNLOAD_HEADER_NOT_PRESENT = 45;
   */
  OPT_IN_UNLOAD_HEADER_NOT_PRESENT = 45,

  /**
   * @generated from enum value: UNLOAD_HANDLER_EXISTS_IN_MAIN_FRAME = 46;
   */
  UNLOAD_HANDLER_EXISTS_IN_MAIN_FRAME = 46,

  /**
   * @generated from enum value: UNLOAD_HANDLER_EXISTS_IN_SUBFRAME = 47;
   */
  UNLOAD_HANDLER_EXISTS_IN_SUBFRAME = 47,

  /**
   * @generated from enum value: SERVICE_WORKER_UNREGISTRATION = 48;
   */
  SERVICE_WORKER_UNREGISTRATION = 48,

  /**
   * @generated from enum value: CACHE_CONTROL_NO_STORE = 49;
   */
  CACHE_CONTROL_NO_STORE = 49,

  /**
   * @generated from enum value: CACHE_CONTROL_NO_STORE_COOKIE_MODIFIED = 50;
   */
  CACHE_CONTROL_NO_STORE_COOKIE_MODIFIED = 50,

  /**
   * @generated from enum value: CACHE_CONTROL_NO_STORE_HTTP_ONLY_COOKIE_MODIFIED = 51;
   */
  CACHE_CONTROL_NO_STORE_HTTP_ONLY_COOKIE_MODIFIED = 51,

  /**
   * @generated from enum value: NO_RESPONSE_HEAD = 52;
   */
  NO_RESPONSE_HEAD = 52,

  /**
   * @generated from enum value: ACTIVATION_NAVIGATION_DISALLOWED_FOR_BUG_1234857 = 53;
   */
  ACTIVATION_NAVIGATION_DISALLOWED_FOR_BUG_1234857 = 53,

  /**
   * @generated from enum value: ERROR_DOCUMENT = 54;
   */
  ERROR_DOCUMENT = 54,

  /**
   * @generated from enum value: FENCED_FRAMES_EMBEDDER = 55;
   */
  FENCED_FRAMES_EMBEDDER = 55,

  /**
   * @generated from enum value: COOKIE_DISABLED = 56;
   */
  COOKIE_DISABLED = 56,

  /**
   * @generated from enum value: HTTP_AUTH_REQUIRED = 57;
   */
  HTTP_AUTH_REQUIRED = 57,

  /**
   * @generated from enum value: COOKIE_FLUSHED = 58;
   */
  COOKIE_FLUSHED = 58,

  /**
   * @generated from enum value: BROADCAST_CHANNEL_ON_MESSAGE = 59;
   */
  BROADCAST_CHANNEL_ON_MESSAGE = 59,

  /**
   * @generated from enum value: WEBVIEW_SETTINGS_CHANGED = 60;
   */
  WEBVIEW_SETTINGS_CHANGED = 60,

  /**
   * @generated from enum value: WEBVIEW_JAVASCRIPT_OBJECT_CHANGED = 61;
   */
  WEBVIEW_JAVASCRIPT_OBJECT_CHANGED = 61,

  /**
   * @generated from enum value: WEBVIEW_MESSAGE_LISTENER_INJECTED = 62;
   */
  WEBVIEW_MESSAGE_LISTENER_INJECTED = 62,

  /**
   * @generated from enum value: WEBVIEW_SAFE_BROWSING_ALLOWLIST_CHANGED = 63;
   */
  WEBVIEW_SAFE_BROWSING_ALLOWLIST_CHANGED = 63,

  /**
   * @generated from enum value: WEBVIEW_DOCUMENT_START_JAVASCRIPT_CHANGED = 64;
   */
  WEBVIEW_DOCUMENT_START_JAVASCRIPT_CHANGED = 64,
}

/**
 * Describes the enum perfetto.protos.BackForwardCacheCanStoreDocumentResult.BackForwardCacheNotRestoredReason.
 */
export const BackForwardCacheCanStoreDocumentResult_BackForwardCacheNotRestoredReasonSchema: GenEnum<BackForwardCacheCanStoreDocumentResult_BackForwardCacheNotRestoredReason> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 37, 0);

/**
 * @generated from message perfetto.protos.RendererMainThreadTaskExecution
 */
export type RendererMainThreadTaskExecution = Message<"perfetto.protos.RendererMainThreadTaskExecution"> & {
  /**
   * @generated from field: optional perfetto.protos.RendererMainThreadTaskExecution.TaskType task_type = 1;
   */
  taskType: RendererMainThreadTaskExecution_TaskType;

  /**
   * FrameScheduler related data
   *
   * @generated from field: optional bool frame_visible = 2;
   */
  frameVisible: boolean;

  /**
   * @generated from field: optional bool page_visible = 3;
   */
  pageVisible: boolean;

  /**
   * @generated from field: optional perfetto.protos.RendererMainThreadTaskExecution.FrameType frame_type = 4;
   */
  frameType: RendererMainThreadTaskExecution_FrameType;

  /**
   * @generated from field: optional bool is_ad_frame = 5;
   */
  isAdFrame: boolean;
};

/**
 * Describes the message perfetto.protos.RendererMainThreadTaskExecution.
 * Use `create(RendererMainThreadTaskExecutionSchema)` to create a new message.
 */
export const RendererMainThreadTaskExecutionSchema: GenMessage<RendererMainThreadTaskExecution> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 38);

/**
 * @generated from enum perfetto.protos.RendererMainThreadTaskExecution.TaskType
 */
export enum RendererMainThreadTaskExecution_TaskType {
  /**
   * @generated from enum value: TASK_TYPE_UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: TASK_TYPE_DOM_MANIPULATION = 1;
   */
  DOM_MANIPULATION = 1,

  /**
   * @generated from enum value: TASK_TYPE_USER_INTERACTION = 2;
   */
  USER_INTERACTION = 2,

  /**
   * @generated from enum value: TASK_TYPE_NETWORKING = 3;
   */
  NETWORKING = 3,

  /**
   * @generated from enum value: TASK_TYPE_NETWORKING_CONTROL = 4;
   */
  NETWORKING_CONTROL = 4,

  /**
   * @generated from enum value: TASK_TYPE_HISTORY_TRAVERSAL = 5;
   */
  HISTORY_TRAVERSAL = 5,

  /**
   * @generated from enum value: TASK_TYPE_EMBED = 6;
   */
  EMBED = 6,

  /**
   * @generated from enum value: TASK_TYPE_MEDIA_ELEMENT_EVENT = 7;
   */
  MEDIA_ELEMENT_EVENT = 7,

  /**
   * @generated from enum value: TASK_TYPE_CANVAS_BLOB_SERIALIZATION = 8;
   */
  CANVAS_BLOB_SERIALIZATION = 8,

  /**
   * @generated from enum value: TASK_TYPE_MICROTASK = 9;
   */
  MICROTASK = 9,

  /**
   * @generated from enum value: TASK_TYPE_JAVASCRIPT_TIMER_DELAYED_HIGH_NESTING = 10;
   */
  JAVASCRIPT_TIMER_DELAYED_HIGH_NESTING = 10,

  /**
   * @generated from enum value: TASK_TYPE_REMOTE_EVENT = 11;
   */
  REMOTE_EVENT = 11,

  /**
   * @generated from enum value: TASK_TYPE_WEB_SOCKET = 12;
   */
  WEB_SOCKET = 12,

  /**
   * @generated from enum value: TASK_TYPE_POSTED_MESSAGE = 13;
   */
  POSTED_MESSAGE = 13,

  /**
   * @generated from enum value: TASK_TYPE_UNSHIPPED_PORT_MESSAGE = 14;
   */
  UNSHIPPED_PORT_MESSAGE = 14,

  /**
   * @generated from enum value: TASK_TYPE_FILE_READING = 15;
   */
  FILE_READING = 15,

  /**
   * @generated from enum value: TASK_TYPE_DATABASE_ACCESS = 16;
   */
  DATABASE_ACCESS = 16,

  /**
   * @generated from enum value: TASK_TYPE_PRESENTATION = 17;
   */
  PRESENTATION = 17,

  /**
   * @generated from enum value: TASK_TYPE_SENSOR = 18;
   */
  SENSOR = 18,

  /**
   * @generated from enum value: TASK_TYPE_PERFORMANCE_TIMELINE = 19;
   */
  PERFORMANCE_TIMELINE = 19,

  /**
   * @generated from enum value: TASK_TYPE_WEB_GL = 20;
   */
  WEB_GL = 20,

  /**
   * @generated from enum value: TASK_TYPE_IDLE_TASK = 21;
   */
  IDLE_TASK = 21,

  /**
   * @generated from enum value: TASK_TYPE_MISC_PLATFORM_API = 22;
   */
  MISC_PLATFORM_API = 22,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_DEFAULT = 23;
   */
  INTERNAL_DEFAULT = 23,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_LOADING = 24;
   */
  INTERNAL_LOADING = 24,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_TEST = 26;
   */
  INTERNAL_TEST = 26,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_WEB_CRYPTO = 27;
   */
  INTERNAL_WEB_CRYPTO = 27,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_MEDIA = 29;
   */
  INTERNAL_MEDIA = 29,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_MEDIA_REALTIME = 30;
   */
  INTERNAL_MEDIA_REALTIME = 30,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_USER_INTERACTION = 32;
   */
  INTERNAL_USER_INTERACTION = 32,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_INSPECTOR = 33;
   */
  INTERNAL_INSPECTOR = 33,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_V8 = 37;
   */
  MAIN_THREAD_TASK_QUEUE_V8 = 37,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_COMPOSITOR = 38;
   */
  MAIN_THREAD_TASK_QUEUE_COMPOSITOR = 38,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_DEFAULT = 39;
   */
  MAIN_THREAD_TASK_QUEUE_DEFAULT = 39,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_INPUT = 40;
   */
  MAIN_THREAD_TASK_QUEUE_INPUT = 40,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_IDLE = 41;
   */
  MAIN_THREAD_TASK_QUEUE_IDLE = 41,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_CONTROL = 43;
   */
  MAIN_THREAD_TASK_QUEUE_CONTROL = 43,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_INTERSECTION_OBSERVER = 44;
   */
  INTERNAL_INTERSECTION_OBSERVER = 44,

  /**
   * @generated from enum value: TASK_TYPE_COMPOSITOR_THREAD_TASK_QUEUE_DEFAULT = 45;
   */
  COMPOSITOR_THREAD_TASK_QUEUE_DEFAULT = 45,

  /**
   * @generated from enum value: TASK_TYPE_WORKER_THREAD_TASK_QUEUE_DEFAULT = 46;
   */
  WORKER_THREAD_TASK_QUEUE_DEFAULT = 46,

  /**
   * @generated from enum value: TASK_TYPE_WORKER_THREAD_TASK_QUEUE_V8 = 47;
   */
  WORKER_THREAD_TASK_QUEUE_V8 = 47,

  /**
   * @generated from enum value: TASK_TYPE_WORKER_THREAD_TASK_QUEUE_COMPOSITOR = 48;
   */
  WORKER_THREAD_TASK_QUEUE_COMPOSITOR = 48,

  /**
   * @generated from enum value: TASK_TYPE_COMPOSITOR_THREAD_TASK_QUEUE_INPUT = 49;
   */
  COMPOSITOR_THREAD_TASK_QUEUE_INPUT = 49,

  /**
   * TODO(crbug.com/40583778): Obsolete. Remove.
   *
   * @generated from enum value: TASK_TYPE_NETWORKING_WITH_URL_LOADER_ANNOTATION = 50;
   */
  NETWORKING_WITH_URL_LOADER_ANNOTATION = 50,

  /**
   * @generated from enum value: TASK_TYPE_WORKER_ANIMATION = 51;
   */
  WORKER_ANIMATION = 51,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_TRANSLATION = 55;
   */
  INTERNAL_TRANSLATION = 55,

  /**
   * @generated from enum value: TASK_TYPE_FONT_LOADING = 56;
   */
  FONT_LOADING = 56,

  /**
   * @generated from enum value: TASK_TYPE_APPLICATION_LIFECYCLE = 57;
   */
  APPLICATION_LIFECYCLE = 57,

  /**
   * @generated from enum value: TASK_TYPE_BACKGROUND_FETCH = 58;
   */
  BACKGROUND_FETCH = 58,

  /**
   * @generated from enum value: TASK_TYPE_PERMISSION = 59;
   */
  PERMISSION = 59,

  /**
   * @generated from enum value: TASK_TYPE_SERVICE_WORKER_CLIENT_MESSAGE = 60;
   */
  SERVICE_WORKER_CLIENT_MESSAGE = 60,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_CONTENT_CAPTURE = 61;
   */
  INTERNAL_CONTENT_CAPTURE = 61,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_MEMORY_PURGE = 62;
   */
  MAIN_THREAD_TASK_QUEUE_MEMORY_PURGE = 62,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_NAVIGATION_ASSOCIATED = 63;
   */
  INTERNAL_NAVIGATION_ASSOCIATED = 63,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_NAVIGATION_ASSOCIATED_UNFREEZABLE = 64;
   */
  INTERNAL_NAVIGATION_ASSOCIATED_UNFREEZABLE = 64,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_CONTINUE_SCRIPT_LOADING = 65;
   */
  INTERNAL_CONTINUE_SCRIPT_LOADING = 65,

  /**
   * @generated from enum value: TASK_TYPE_WEB_LOCKS = 66;
   */
  WEB_LOCKS = 66,

  /**
   * @generated from enum value: TASK_TYPE_WEB_SCHEDULING_POSTED_TASK = 67;
   */
  WEB_SCHEDULING_POSTED_TASK = 67,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_FRAME_LIFE_CYCLE_CONTROL = 68;
   */
  INTERNAL_FRAME_LIFE_CYCLE_CONTROL = 68,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_NON_WAKING = 69;
   */
  MAIN_THREAD_TASK_QUEUE_NON_WAKING = 69,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_FIND_IN_PAGE = 70;
   */
  INTERNAL_FIND_IN_PAGE = 70,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_HIGH_PRIORITY_LOCAL_FRAME = 71;
   */
  INTERNAL_HIGH_PRIORITY_LOCAL_FRAME = 71,

  /**
   * @generated from enum value: TASK_TYPE_JAVASCRIPT_TIMER_IMMEDIATE = 72;
   */
  JAVASCRIPT_TIMER_IMMEDIATE = 72,

  /**
   * @generated from enum value: TASK_TYPE_JAVASCRIPT_TIMER_DELAYED_LOW_NESTING = 73;
   */
  JAVASCRIPT_TIMER_DELAYED_LOW_NESTING = 73,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_IPC_TRACKING = 74;
   */
  MAIN_THREAD_TASK_QUEUE_IPC_TRACKING = 74,

  /**
   * @generated from enum value: TASK_TYPE_NETWORKING_UNFREEZABLE = 75;
   */
  NETWORKING_UNFREEZABLE = 75,

  /**
   * @generated from enum value: TASK_TYPE_WAKE_LOCK = 76;
   */
  WAKE_LOCK = 76,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_INPUT_BLOCKING = 77;
   */
  INTERNAL_INPUT_BLOCKING = 77,

  /**
   * @generated from enum value: TASK_TYPE_WEB_GPU = 78;
   */
  WEB_GPU = 78,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_POST_MESSAGE_FORWARDING = 79;
   */
  INTERNAL_POST_MESSAGE_FORWARDING = 79,

  /**
   * @generated from enum value: TASK_TYPE_INTERNAL_NAVIGATION_CANCELLATION = 80;
   */
  INTERNAL_NAVIGATION_CANCELLATION = 80,

  /**
   * @generated from enum value: TASK_TYPE_LOW_PRIORITY_SCRIPT_EXECUTION = 81;
   */
  LOW_PRIORITY_SCRIPT_EXECUTION = 81,

  /**
   * @generated from enum value: TASK_TYPE_STORAGE = 82;
   */
  STORAGE = 82,

  /**
   * @generated from enum value: TASK_TYPE_NETWORKING_UNFREEZABLE_RENDER_BLOCKING_LOADING = 83;
   */
  NETWORKING_UNFREEZABLE_RENDER_BLOCKING_LOADING = 83,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_V8_USER_VISIBLE = 84;
   */
  MAIN_THREAD_TASK_QUEUE_V8_USER_VISIBLE = 84,

  /**
   * @generated from enum value: TASK_TYPE_CLIPBOARD = 85;
   */
  CLIPBOARD = 85,

  /**
   * @generated from enum value: TASK_TYPE_MACHINE_LEARNING = 86;
   */
  MACHINE_LEARNING = 86,

  /**
   * @generated from enum value: TASK_TYPE_MAIN_THREAD_TASK_QUEUE_V8_BEST_EFFORT = 87;
   */
  MAIN_THREAD_TASK_QUEUE_V8_BEST_EFFORT = 87,
}

/**
 * Describes the enum perfetto.protos.RendererMainThreadTaskExecution.TaskType.
 */
export const RendererMainThreadTaskExecution_TaskTypeSchema: GenEnum<RendererMainThreadTaskExecution_TaskType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 38, 0);

/**
 * @generated from enum perfetto.protos.RendererMainThreadTaskExecution.FrameType
 */
export enum RendererMainThreadTaskExecution_FrameType {
  /**
   * @generated from enum value: FRAME_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: FRAME_TYPE_MAIN_FRAME = 1;
   */
  MAIN_FRAME = 1,

  /**
   * @generated from enum value: FRAME_TYPE_SAME_ORIGIN_SUBFRAME = 2;
   */
  SAME_ORIGIN_SUBFRAME = 2,

  /**
   * @generated from enum value: FRAME_TYPE_CROSS_ORIGIN_SUBFRAME = 3;
   */
  CROSS_ORIGIN_SUBFRAME = 3,
}

/**
 * Describes the enum perfetto.protos.RendererMainThreadTaskExecution.FrameType.
 */
export const RendererMainThreadTaskExecution_FrameTypeSchema: GenEnum<RendererMainThreadTaskExecution_FrameType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 38, 1);

/**
 * @generated from message perfetto.protos.EventLatency
 */
export type EventLatency = Message<"perfetto.protos.EventLatency"> & {
  /**
   * @generated from field: optional perfetto.protos.EventLatency.EventType event_type = 1;
   */
  eventType: EventLatency_EventType;

  /**
   * @generated from field: optional bool has_high_latency = 2;
   */
  hasHighLatency: boolean;

  /**
   * @generated from field: repeated string high_latency_stage = 3;
   */
  highLatencyStage: string[];

  /**
   * This is same as LatencyInfo's trace_id, using the name event_latency_id to
   * move away from the generic trace_id name used at other places as well.
   *
   * @generated from field: optional int64 event_latency_id = 4;
   */
  eventLatencyId: bigint;

  /**
   * This is set only for scroll updates and is based on the
   * Event.ScrollJank.DelayedFramesPercentage.FixedWindow metric.
   *
   * @generated from field: optional bool is_janky_scrolled_frame = 5;
   */
  isJankyScrolledFrame: boolean;

  /**
   * The interval that this frame was produced for according to the
   * BeginFrameArgs.
   *
   * @generated from field: optional double vsync_interval_ms = 6;
   */
  vsyncIntervalMs: number;
};

/**
 * Describes the message perfetto.protos.EventLatency.
 * Use `create(EventLatencySchema)` to create a new message.
 */
export const EventLatencySchema: GenMessage<EventLatency> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 39);

/**
 * @generated from enum perfetto.protos.EventLatency.EventType
 */
export enum EventLatency_EventType {
  /**
   * @generated from enum value: EVENT_TYPE_UNSPECIFIED = 0;
   */
  EVENT_TYPE_UNSPECIFIED = 0,

  /**
   * @generated from enum value: MOUSE_PRESSED = 1;
   */
  MOUSE_PRESSED = 1,

  /**
   * @generated from enum value: MOUSE_RELEASED = 2;
   */
  MOUSE_RELEASED = 2,

  /**
   * @generated from enum value: MOUSE_WHEEL = 3;
   */
  MOUSE_WHEEL = 3,

  /**
   * @generated from enum value: KEY_PRESSED = 4;
   */
  KEY_PRESSED = 4,

  /**
   * @generated from enum value: KEY_RELEASED = 5;
   */
  KEY_RELEASED = 5,

  /**
   * @generated from enum value: TOUCH_PRESSED = 6;
   */
  TOUCH_PRESSED = 6,

  /**
   * @generated from enum value: TOUCH_RELEASED = 7;
   */
  TOUCH_RELEASED = 7,

  /**
   * @generated from enum value: TOUCH_MOVED = 8;
   */
  TOUCH_MOVED = 8,

  /**
   * @generated from enum value: GESTURE_SCROLL_BEGIN = 9;
   */
  GESTURE_SCROLL_BEGIN = 9,

  /**
   * @generated from enum value: GESTURE_SCROLL_UPDATE = 10;
   */
  GESTURE_SCROLL_UPDATE = 10,

  /**
   * @generated from enum value: GESTURE_SCROLL_END = 11;
   */
  GESTURE_SCROLL_END = 11,

  /**
   * @generated from enum value: GESTURE_DOUBLE_TAP = 12;
   */
  GESTURE_DOUBLE_TAP = 12,

  /**
   * @generated from enum value: GESTURE_LONG_PRESS = 13;
   */
  GESTURE_LONG_PRESS = 13,

  /**
   * @generated from enum value: GESTURE_LONG_TAP = 14;
   */
  GESTURE_LONG_TAP = 14,

  /**
   * @generated from enum value: GESTURE_SHOW_PRESS = 15;
   */
  GESTURE_SHOW_PRESS = 15,

  /**
   * @generated from enum value: GESTURE_TAP = 16;
   */
  GESTURE_TAP = 16,

  /**
   * @generated from enum value: GESTURE_TAP_CANCEL = 17;
   */
  GESTURE_TAP_CANCEL = 17,

  /**
   * @generated from enum value: GESTURE_TAP_DOWN = 18;
   */
  GESTURE_TAP_DOWN = 18,

  /**
   * @generated from enum value: GESTURE_TAP_UNCONFIRMED = 19;
   */
  GESTURE_TAP_UNCONFIRMED = 19,

  /**
   * @generated from enum value: GESTURE_TWO_FINGER_TAP = 20;
   */
  GESTURE_TWO_FINGER_TAP = 20,

  /**
   * @generated from enum value: FIRST_GESTURE_SCROLL_UPDATE = 21;
   */
  FIRST_GESTURE_SCROLL_UPDATE = 21,

  /**
   * @generated from enum value: MOUSE_DRAGGED = 22;
   */
  MOUSE_DRAGGED = 22,

  /**
   * @generated from enum value: GESTURE_PINCH_BEGIN = 23;
   */
  GESTURE_PINCH_BEGIN = 23,

  /**
   * @generated from enum value: GESTURE_PINCH_END = 24;
   */
  GESTURE_PINCH_END = 24,

  /**
   * @generated from enum value: GESTURE_PINCH_UPDATE = 25;
   */
  GESTURE_PINCH_UPDATE = 25,

  /**
   * @generated from enum value: INERTIAL_GESTURE_SCROLL_UPDATE = 26;
   */
  INERTIAL_GESTURE_SCROLL_UPDATE = 26,

  /**
   * @generated from enum value: MOUSE_MOVED_EVENT = 27;
   */
  MOUSE_MOVED_EVENT = 27,
}

/**
 * Describes the enum perfetto.protos.EventLatency.EventType.
 */
export const EventLatency_EventTypeSchema: GenEnum<EventLatency_EventType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 39, 0);

/**
 * @generated from message perfetto.protos.ProcessSingleton
 */
export type ProcessSingleton = Message<"perfetto.protos.ProcessSingleton"> & {
  /**
   * @generated from field: optional perfetto.protos.ProcessSingleton.RemoteProcessInteractionResult remote_process_interaction_result = 1;
   */
  remoteProcessInteractionResult: ProcessSingleton_RemoteProcessInteractionResult;

  /**
   * @generated from field: optional perfetto.protos.ProcessSingleton.RemoteHungProcessTerminateReason remote_process_terminate_reason = 2;
   */
  remoteProcessTerminateReason: ProcessSingleton_RemoteHungProcessTerminateReason;
};

/**
 * Describes the message perfetto.protos.ProcessSingleton.
 * Use `create(ProcessSingletonSchema)` to create a new message.
 */
export const ProcessSingletonSchema: GenMessage<ProcessSingleton> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 40);

/**
 * @generated from enum perfetto.protos.ProcessSingleton.RemoteProcessInteractionResult
 */
export enum ProcessSingleton_RemoteProcessInteractionResult {
  /**
   * @generated from enum value: INTERACTION_RESULT_UNSPECIFIED = 0;
   */
  INTERACTION_RESULT_UNSPECIFIED = 0,

  /**
   * @generated from enum value: TERMINATE_FAILED = 1;
   */
  TERMINATE_FAILED = 1,

  /**
   * @generated from enum value: REMOTE_PROCESS_NOT_FOUND = 2;
   */
  REMOTE_PROCESS_NOT_FOUND = 2,

  /**
   * @generated from enum value: TERMINATE_WAIT_TIMEOUT = 3;
   */
  TERMINATE_WAIT_TIMEOUT = 3,

  /**
   * @generated from enum value: RUNNING_PROCESS_NOTIFY_ERROR = 4;
   */
  RUNNING_PROCESS_NOTIFY_ERROR = 4,

  /**
   * @generated from enum value: TERMINATE_NOT_ENOUGH_PERMISSIONS = 5;
   */
  TERMINATE_NOT_ENOUGH_PERMISSIONS = 5,

  /**
   * @generated from enum value: REMOTE_PROCESS_SHUTTING_DOWN = 6;
   */
  REMOTE_PROCESS_SHUTTING_DOWN = 6,

  /**
   * @generated from enum value: PROFILE_UNLOCKED = 7;
   */
  PROFILE_UNLOCKED = 7,

  /**
   * @generated from enum value: PROFILE_UNLOCKED_BEFORE_KILL = 8;
   */
  PROFILE_UNLOCKED_BEFORE_KILL = 8,

  /**
   * @generated from enum value: SAME_BROWSER_INSTANCE = 9;
   */
  SAME_BROWSER_INSTANCE = 9,

  /**
   * @generated from enum value: SAME_BROWSER_INSTANCE_BEFORE_KILL = 10;
   */
  SAME_BROWSER_INSTANCE_BEFORE_KILL = 10,

  /**
   * @generated from enum value: FAILED_TO_EXTRACT_PID = 11;
   */
  FAILED_TO_EXTRACT_PID = 11,

  /**
   * @generated from enum value: INVALID_LOCK_FILE = 12;
   */
  INVALID_LOCK_FILE = 12,

  /**
   * @generated from enum value: ORPHANED_LOCK_FILE = 13;
   */
  ORPHANED_LOCK_FILE = 13,

  /**
   * @generated from enum value: USER_REFUSED_TERMINATION = 14;
   */
  USER_REFUSED_TERMINATION = 14,

  /**
   * @generated from enum value: TERMINATE_SUCCEEDED = 100;
   */
  TERMINATE_SUCCEEDED = 100,
}

/**
 * Describes the enum perfetto.protos.ProcessSingleton.RemoteProcessInteractionResult.
 */
export const ProcessSingleton_RemoteProcessInteractionResultSchema: GenEnum<ProcessSingleton_RemoteProcessInteractionResult> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 40, 0);

/**
 * @generated from enum perfetto.protos.ProcessSingleton.RemoteHungProcessTerminateReason
 */
export enum ProcessSingleton_RemoteHungProcessTerminateReason {
  /**
   * @generated from enum value: TERMINATE_REASON_UNSPECIFIED = 0;
   */
  TERMINATE_REASON_UNSPECIFIED = 0,

  /**
   * @generated from enum value: USER_ACCEPTED_TERMINATION = 1;
   */
  USER_ACCEPTED_TERMINATION = 1,

  /**
   * @generated from enum value: NO_VISIBLE_WINDOW_FOUND = 2;
   */
  NO_VISIBLE_WINDOW_FOUND = 2,

  /**
   * @generated from enum value: NOTIFY_ATTEMPTS_EXCEEDED = 3;
   */
  NOTIFY_ATTEMPTS_EXCEEDED = 3,

  /**
   * @generated from enum value: SOCKET_WRITE_FAILED = 4;
   */
  SOCKET_WRITE_FAILED = 4,

  /**
   * @generated from enum value: SOCKET_READ_FAILED = 5;
   */
  SOCKET_READ_FAILED = 5,
}

/**
 * Describes the enum perfetto.protos.ProcessSingleton.RemoteHungProcessTerminateReason.
 */
export const ProcessSingleton_RemoteHungProcessTerminateReasonSchema: GenEnum<ProcessSingleton_RemoteHungProcessTerminateReason> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 40, 1);

/**
 * @generated from message perfetto.protos.NavigationHandle
 */
export type NavigationHandle = Message<"perfetto.protos.NavigationHandle"> & {
  /**
   * @generated from field: optional int64 navigation_id = 1;
   */
  navigationId: bigint;

  /**
   * @generated from field: optional bool has_committed = 2;
   */
  hasCommitted: boolean;

  /**
   * @generated from field: optional bool is_error_page = 3;
   */
  isErrorPage: boolean;

  /**
   * @generated from field: optional perfetto.protos.FrameTreeNodeInfo frame_tree_node = 4;
   */
  frameTreeNode?: FrameTreeNodeInfo;

  /**
   * @generated from field: optional perfetto.protos.RenderFrameHost render_frame_host = 5;
   */
  renderFrameHost?: RenderFrameHost;

  /**
   * Additional untyped debug information associated with this
   * NavigationHandle/Request, populated via TracedProto::AddDebugAnnotations
   * API.
   *
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

/**
 * Describes the message perfetto.protos.NavigationHandle.
 * Use `create(NavigationHandleSchema)` to create a new message.
 */
export const NavigationHandleSchema: GenMessage<NavigationHandle> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 41);

/**
 * Used to log which Android IPC was called and how long it took.
 *
 * @generated from message perfetto.protos.AndroidIPC
 */
export type AndroidIPC = Message<"perfetto.protos.AndroidIPC"> & {
  /**
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * @generated from field: optional int64 dur_ms = 2;
   */
  durMs: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidIPC.
 * Use `create(AndroidIPCSchema)` to create a new message.
 */
export const AndroidIPCSchema: GenMessage<AndroidIPC> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 42);

/**
 * @generated from message perfetto.protos.SequenceManagerTask
 */
export type SequenceManagerTask = Message<"perfetto.protos.SequenceManagerTask"> & {
  /**
   * @generated from field: optional perfetto.protos.SequenceManagerTask.Priority priority = 1;
   */
  priority: SequenceManagerTask_Priority;

  /**
   * @generated from field: optional perfetto.protos.SequenceManagerTask.QueueName queue_name = 2;
   */
  queueName: SequenceManagerTask_QueueName;
};

/**
 * Describes the message perfetto.protos.SequenceManagerTask.
 * Use `create(SequenceManagerTaskSchema)` to create a new message.
 */
export const SequenceManagerTaskSchema: GenMessage<SequenceManagerTask> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 43);

/**
 * @generated from enum perfetto.protos.SequenceManagerTask.Priority
 */
export enum SequenceManagerTask_Priority {
  /**
   * @generated from enum value: UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: CONTROL_PRIORITY = 1;
   */
  CONTROL_PRIORITY = 1,

  /**
   * @generated from enum value: HIGHEST_PRIORITY = 2;
   */
  HIGHEST_PRIORITY = 2,

  /**
   * @generated from enum value: VERY_HIGH_PRIORITY = 3;
   */
  VERY_HIGH_PRIORITY = 3,

  /**
   * @generated from enum value: HIGH_PRIORITY = 4;
   */
  HIGH_PRIORITY = 4,

  /**
   * @generated from enum value: NORMAL_PRIORITY = 5;
   */
  NORMAL_PRIORITY = 5,

  /**
   * @generated from enum value: LOW_PRIORITY = 6;
   */
  LOW_PRIORITY = 6,

  /**
   * @generated from enum value: BEST_EFFORT_PRIORITY = 7;
   */
  BEST_EFFORT_PRIORITY = 7,

  /**
   * Renderer-specific priorities.
   *
   * @generated from enum value: HIGH_PRIORITY_CONTINUATION = 8;
   */
  HIGH_PRIORITY_CONTINUATION = 8,

  /**
   * @generated from enum value: NORMAL_PRIORITY_CONTINUATION = 9;
   */
  NORMAL_PRIORITY_CONTINUATION = 9,

  /**
   * @generated from enum value: LOW_PRIORITY_CONTINUATION = 10;
   */
  LOW_PRIORITY_CONTINUATION = 10,

  /**
   * @generated from enum value: EXTREMELY_HIGH_PRIORITY = 11;
   */
  EXTREMELY_HIGH_PRIORITY = 11,
}

/**
 * Describes the enum perfetto.protos.SequenceManagerTask.Priority.
 */
export const SequenceManagerTask_PrioritySchema: GenEnum<SequenceManagerTask_Priority> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 43, 0);

/**
 * @generated from enum perfetto.protos.SequenceManagerTask.QueueName
 */
export enum SequenceManagerTask_QueueName {
  /**
   * @generated from enum value: UNKNOWN_TQ = 0;
   */
  UNKNOWN_TQ = 0,

  /**
   * @generated from enum value: DEFAULT_TQ = 1;
   */
  DEFAULT_TQ = 1,

  /**
   * @generated from enum value: TASK_ENVIRONMENT_DEFAULT_TQ = 2;
   */
  TASK_ENVIRONMENT_DEFAULT_TQ = 2,

  /**
   * @generated from enum value: TEST2_TQ = 3;
   */
  TEST2_TQ = 3,

  /**
   * @generated from enum value: TEST_TQ = 4;
   */
  TEST_TQ = 4,

  /**
   * @generated from enum value: CONTROL_TQ = 5;
   */
  CONTROL_TQ = 5,

  /**
   * @generated from enum value: SUBTHREAD_CONTROL_TQ = 6;
   */
  SUBTHREAD_CONTROL_TQ = 6,

  /**
   * @generated from enum value: SUBTHREAD_DEFAULT_TQ = 7;
   */
  SUBTHREAD_DEFAULT_TQ = 7,

  /**
   * @generated from enum value: SUBTHREAD_INPUT_TQ = 8;
   */
  SUBTHREAD_INPUT_TQ = 8,

  /**
   * @generated from enum value: UI_BEST_EFFORT_TQ = 9;
   */
  UI_BEST_EFFORT_TQ = 9,

  /**
   * @generated from enum value: UI_BOOTSTRAP_TQ = 10;
   */
  UI_BOOTSTRAP_TQ = 10,

  /**
   * @generated from enum value: UI_CONTROL_TQ = 11;
   */
  UI_CONTROL_TQ = 11,

  /**
   * @generated from enum value: UI_DEFAULT_TQ = 12;
   */
  UI_DEFAULT_TQ = 12,

  /**
   * @generated from enum value: UI_NAVIGATION_NETWORK_RESPONSE_TQ = 13;
   */
  UI_NAVIGATION_NETWORK_RESPONSE_TQ = 13,

  /**
   * @generated from enum value: UI_RUN_ALL_PENDING_TQ = 14;
   */
  UI_RUN_ALL_PENDING_TQ = 14,

  /**
   * @generated from enum value: UI_SERVICE_WORKER_STORAGE_CONTROL_RESPONSE_TQ = 15;
   */
  UI_SERVICE_WORKER_STORAGE_CONTROL_RESPONSE_TQ = 15,

  /**
   * @generated from enum value: UI_THREAD_TQ = 16;
   */
  UI_THREAD_TQ = 16,

  /**
   * @generated from enum value: UI_USER_BLOCKING_TQ = 17;
   */
  UI_USER_BLOCKING_TQ = 17,

  /**
   * @generated from enum value: UI_USER_INPUT_TQ = 18;
   */
  UI_USER_INPUT_TQ = 18,

  /**
   * @generated from enum value: UI_USER_VISIBLE_TQ = 19;
   */
  UI_USER_VISIBLE_TQ = 19,

  /**
   * @generated from enum value: IO_BEST_EFFORT_TQ = 20;
   */
  IO_BEST_EFFORT_TQ = 20,

  /**
   * @generated from enum value: IO_BOOTSTRAP_TQ = 21;
   */
  IO_BOOTSTRAP_TQ = 21,

  /**
   * @generated from enum value: IO_CONTROL_TQ = 22;
   */
  IO_CONTROL_TQ = 22,

  /**
   * @generated from enum value: IO_DEFAULT_TQ = 23;
   */
  IO_DEFAULT_TQ = 23,

  /**
   * @generated from enum value: IO_NAVIGATION_NETWORK_RESPONSE_TQ = 24;
   */
  IO_NAVIGATION_NETWORK_RESPONSE_TQ = 24,

  /**
   * @generated from enum value: IO_RUN_ALL_PENDING_TQ = 25;
   */
  IO_RUN_ALL_PENDING_TQ = 25,

  /**
   * @generated from enum value: IO_SERVICE_WORKER_STORAGE_CONTROL_RESPONSE_TQ = 26;
   */
  IO_SERVICE_WORKER_STORAGE_CONTROL_RESPONSE_TQ = 26,

  /**
   * @generated from enum value: IO_THREAD_TQ = 27;
   */
  IO_THREAD_TQ = 27,

  /**
   * @generated from enum value: IO_USER_BLOCKING_TQ = 28;
   */
  IO_USER_BLOCKING_TQ = 28,

  /**
   * @generated from enum value: IO_USER_INPUT_TQ = 29;
   */
  IO_USER_INPUT_TQ = 29,

  /**
   * @generated from enum value: IO_USER_VISIBLE_TQ = 30;
   */
  IO_USER_VISIBLE_TQ = 30,

  /**
   * @generated from enum value: COMPOSITOR_TQ = 31;
   */
  COMPOSITOR_TQ = 31,

  /**
   * @generated from enum value: DETACHED_TQ = 32;
   */
  DETACHED_TQ = 32,

  /**
   * @generated from enum value: FRAME_DEFERRABLE_TQ = 33;
   */
  FRAME_DEFERRABLE_TQ = 33,

  /**
   * @generated from enum value: FRAME_LOADING_CONTROL_TQ = 34;
   */
  FRAME_LOADING_CONTROL_TQ = 34,

  /**
   * @generated from enum value: FRAME_LOADING_TQ = 35;
   */
  FRAME_LOADING_TQ = 35,

  /**
   * @generated from enum value: FRAME_PAUSABLE_TQ = 36;
   */
  FRAME_PAUSABLE_TQ = 36,

  /**
   * @generated from enum value: FRAME_THROTTLEABLE_TQ = 37;
   */
  FRAME_THROTTLEABLE_TQ = 37,

  /**
   * @generated from enum value: FRAME_UNPAUSABLE_TQ = 38;
   */
  FRAME_UNPAUSABLE_TQ = 38,

  /**
   * @generated from enum value: IDLE_TQ = 39;
   */
  IDLE_TQ = 39,

  /**
   * @generated from enum value: INPUT_TQ = 40;
   */
  INPUT_TQ = 40,

  /**
   * @generated from enum value: IPC_TRACKING_FOR_CACHED_PAGES_TQ = 41;
   */
  IPC_TRACKING_FOR_CACHED_PAGES_TQ = 41,

  /**
   * @generated from enum value: NON_WAKING_TQ = 42;
   */
  NON_WAKING_TQ = 42,

  /**
   * @generated from enum value: OTHER_TQ = 43;
   */
  OTHER_TQ = 43,

  /**
   * @generated from enum value: V8_TQ = 44;
   */
  V8_TQ = 44,

  /**
   * @generated from enum value: WEB_SCHEDULING_TQ = 45;
   */
  WEB_SCHEDULING_TQ = 45,

  /**
   * @generated from enum value: WORKER_IDLE_TQ = 46;
   */
  WORKER_IDLE_TQ = 46,

  /**
   * @generated from enum value: WORKER_PAUSABLE_TQ = 47;
   */
  WORKER_PAUSABLE_TQ = 47,

  /**
   * @generated from enum value: WORKER_THREAD_INTERNAL_TQ = 48;
   */
  WORKER_THREAD_INTERNAL_TQ = 48,

  /**
   * @generated from enum value: WORKER_THROTTLEABLE_TQ = 49;
   */
  WORKER_THROTTLEABLE_TQ = 49,

  /**
   * @generated from enum value: WORKER_UNPAUSABLE_TQ = 50;
   */
  WORKER_UNPAUSABLE_TQ = 50,

  /**
   * @generated from enum value: WORKER_WEB_SCHEDULING_TQ = 51;
   */
  WORKER_WEB_SCHEDULING_TQ = 51,

  /**
   * @generated from enum value: UI_USER_BLOCKING_DEFERRABLE_TQ = 52;
   */
  UI_USER_BLOCKING_DEFERRABLE_TQ = 52,

  /**
   * @generated from enum value: IO_USER_BLOCKING_DEFERRABLE_TQ = 53;
   */
  IO_USER_BLOCKING_DEFERRABLE_TQ = 53,

  /**
   * @generated from enum value: UI_BEFORE_UNLOAD_BROWSER_RESPONSE_TQ = 54;
   */
  UI_BEFORE_UNLOAD_BROWSER_RESPONSE_TQ = 54,

  /**
   * @generated from enum value: IO_BEFORE_UNLOAD_BROWSER_RESPONSE_TQ = 55;
   */
  IO_BEFORE_UNLOAD_BROWSER_RESPONSE_TQ = 55,

  /**
   * @generated from enum value: V8_USER_VISIBLE_TQ = 56;
   */
  V8_USER_VISIBLE_TQ = 56,

  /**
   * @generated from enum value: V8_BEST_EFFORT_TQ = 57;
   */
  V8_BEST_EFFORT_TQ = 57,
}

/**
 * Describes the enum perfetto.protos.SequenceManagerTask.QueueName.
 */
export const SequenceManagerTask_QueueNameSchema: GenEnum<SequenceManagerTask_QueueName> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 43, 1);

/**
 * @generated from message perfetto.protos.AndroidToolbar
 */
export type AndroidToolbar = Message<"perfetto.protos.AndroidToolbar"> & {
  /**
   * @generated from field: optional perfetto.protos.AndroidToolbar.BlockCaptureReason block_capture_reason = 1;
   */
  blockCaptureReason: AndroidToolbar_BlockCaptureReason;

  /**
   * @generated from field: optional perfetto.protos.AndroidToolbar.AllowCaptureReason allow_capture_reason = 2;
   */
  allowCaptureReason: AndroidToolbar_AllowCaptureReason;

  /**
   * @generated from field: optional perfetto.protos.AndroidToolbar.SnapshotDifference snapshot_difference = 3;
   */
  snapshotDifference: AndroidToolbar_SnapshotDifference;
};

/**
 * Describes the message perfetto.protos.AndroidToolbar.
 * Use `create(AndroidToolbarSchema)` to create a new message.
 */
export const AndroidToolbarSchema: GenMessage<AndroidToolbar> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 44);

/**
 * @generated from enum perfetto.protos.AndroidToolbar.BlockCaptureReason
 */
export enum AndroidToolbar_BlockCaptureReason {
  /**
   * @generated from enum value: BLOCKED_UNKNOWN = 0;
   */
  BLOCKED_UNKNOWN = 0,

  /**
   * @generated from enum value: BLOCKED_TOOLBAR_OR_RESULT_NULL = 1;
   */
  BLOCKED_TOOLBAR_OR_RESULT_NULL = 1,

  /**
   * @generated from enum value: BLOCKED_VIEW_NOT_DIRTY = 2;
   */
  BLOCKED_VIEW_NOT_DIRTY = 2,

  /**
   * @generated from enum value: BLOCKED_SNAPSHOT_SAME = 3;
   */
  BLOCKED_SNAPSHOT_SAME = 3,

  /**
   * @generated from enum value: BLOCKED_URL_BAR_HAS_FOCUS = 4;
   */
  BLOCKED_URL_BAR_HAS_FOCUS = 4,

  /**
   * @generated from enum value: BLOCKED_URL_BAR_FOCUS_IN_PROGRESS = 5;
   */
  BLOCKED_URL_BAR_FOCUS_IN_PROGRESS = 5,

  /**
   * @generated from enum value: BLOCKED_OPTIONAL_BUTTON_ANIMATION_IN_PROGRESS = 6;
   */
  BLOCKED_OPTIONAL_BUTTON_ANIMATION_IN_PROGRESS = 6,

  /**
   * @generated from enum value: BLOCKED_STATUS_ICON_ANIMATION_IN_PROGRESS = 7;
   */
  BLOCKED_STATUS_ICON_ANIMATION_IN_PROGRESS = 7,

  /**
   * @generated from enum value: BLOCKED_SCROLL_ABLATION = 8;
   */
  BLOCKED_SCROLL_ABLATION = 8,

  /**
   * @generated from enum value: BLOCKED_BROWSER_CONTROLS_LOCKED = 9;
   */
  BLOCKED_BROWSER_CONTROLS_LOCKED = 9,

  /**
   * @generated from enum value: BLOCKED_TAB_SWITCHER_MODE = 10;
   */
  BLOCKED_TAB_SWITCHER_MODE = 10,

  /**
   * @generated from enum value: BLOCKED_COMPOSITOR_IN_MOTION = 11;
   */
  BLOCKED_COMPOSITOR_IN_MOTION = 11,

  /**
   * @generated from enum value: BLOCKED_NTP_Y_TRANSLATION = 12;
   */
  BLOCKED_NTP_Y_TRANSLATION = 12,

  /**
   * @generated from enum value: BLOCKED_FULLSCREEN = 13;
   */
  BLOCKED_FULLSCREEN = 13,
}

/**
 * Describes the enum perfetto.protos.AndroidToolbar.BlockCaptureReason.
 */
export const AndroidToolbar_BlockCaptureReasonSchema: GenEnum<AndroidToolbar_BlockCaptureReason> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 44, 0);

/**
 * @generated from enum perfetto.protos.AndroidToolbar.AllowCaptureReason
 */
export enum AndroidToolbar_AllowCaptureReason {
  /**
   * @generated from enum value: ALLOWED_UNKNOWN = 0;
   */
  ALLOWED_UNKNOWN = 0,

  /**
   * @generated from enum value: ALLOWED_FORCE_CAPTURE = 1;
   */
  ALLOWED_FORCE_CAPTURE = 1,

  /**
   * @generated from enum value: ALLOWED_SNAPSHOT_DIFFERENCE = 2;
   */
  ALLOWED_SNAPSHOT_DIFFERENCE = 2,
}

/**
 * Describes the enum perfetto.protos.AndroidToolbar.AllowCaptureReason.
 */
export const AndroidToolbar_AllowCaptureReasonSchema: GenEnum<AndroidToolbar_AllowCaptureReason> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 44, 1);

/**
 * @generated from enum perfetto.protos.AndroidToolbar.SnapshotDifference
 */
export enum AndroidToolbar_SnapshotDifference {
  /**
   * @generated from enum value: DIFF_NONE = 0;
   */
  DIFF_NONE = 0,

  /**
   * @generated from enum value: DIFF_NULL = 1;
   */
  DIFF_NULL = 1,

  /**
   * @generated from enum value: DIFF_TINT = 2;
   */
  DIFF_TINT = 2,

  /**
   * @generated from enum value: DIFF_TAB_COUNT = 3;
   */
  DIFF_TAB_COUNT = 3,

  /**
   * @generated from enum value: DIFF_OPTIONAL_BUTTON = 4;
   */
  DIFF_OPTIONAL_BUTTON = 4,

  /**
   * @generated from enum value: DIFF_VISUAL_STATE = 5;
   */
  DIFF_VISUAL_STATE = 5,

  /**
   * @generated from enum value: DIFF_SECURITY_ICON = 6;
   */
  DIFF_SECURITY_ICON = 6,

  /**
   * @generated from enum value: DIFF_SHOWING_UPDATE_BADGE = 7;
   */
  DIFF_SHOWING_UPDATE_BADGE = 7,

  /**
   * @generated from enum value: DIFF_PAINT_PREVIEW = 8;
   */
  DIFF_PAINT_PREVIEW = 8,

  /**
   * @generated from enum value: DIFF_PROGRESS = 9;
   */
  DIFF_PROGRESS = 9,

  /**
   * @generated from enum value: DIFF_LOCATION_BAR_WIDTH = 10;
   */
  DIFF_LOCATION_BAR_WIDTH = 10,

  /**
   * @generated from enum value: DIFF_URL_TEXT = 11;
   */
  DIFF_URL_TEXT = 11,

  /**
   * @generated from enum value: DIFF_HOME_BUTTON = 12;
   */
  DIFF_HOME_BUTTON = 12,

  /**
   * @generated from enum value: DIFF_TITLE_TEXT = 13;
   */
  DIFF_TITLE_TEXT = 13,

  /**
   * @generated from enum value: DIFF_CCT_ANIMATION = 14;
   */
  DIFF_CCT_ANIMATION = 14,

  /**
   * @generated from enum value: DIFF_BOOKMARK_BUTTON = 15;
   */
  DIFF_BOOKMARK_BUTTON = 15,

  /**
   * @generated from enum value: DIFF_BACK_BUTTON = 16;
   */
  DIFF_BACK_BUTTON = 16,

  /**
   * @generated from enum value: DIFF_FORWARD_BUTTON = 17;
   */
  DIFF_FORWARD_BUTTON = 17,

  /**
   * @generated from enum value: DIFF_RELOAD_BUTTON = 18;
   */
  DIFF_RELOAD_BUTTON = 18,
}

/**
 * Describes the enum perfetto.protos.AndroidToolbar.SnapshotDifference.
 */
export const AndroidToolbar_SnapshotDifferenceSchema: GenEnum<AndroidToolbar_SnapshotDifference> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 44, 2);

/**
 * @generated from message perfetto.protos.ActiveProcesses
 */
export type ActiveProcesses = Message<"perfetto.protos.ActiveProcesses"> & {
  /**
   * @generated from field: repeated int32 pid = 1;
   */
  pid: number[];
};

/**
 * Describes the message perfetto.protos.ActiveProcesses.
 * Use `create(ActiveProcessesSchema)` to create a new message.
 */
export const ActiveProcessesSchema: GenMessage<ActiveProcesses> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 45);

/**
 * @generated from message perfetto.protos.UkmPageLoadTimingUpdate
 */
export type UkmPageLoadTimingUpdate = Message<"perfetto.protos.UkmPageLoadTimingUpdate"> & {
  /**
   * This can be used to uniquely identify a navigation from the point of view
   * of UKM.
   *
   * @generated from field: optional int64 ukm_source_id = 1;
   */
  ukmSourceId: bigint;

  /**
   * The URL of a page can change throughout its lifetime. This is the current
   * url when this timing update was dispatched.
   *
   * @generated from field: optional string latest_url = 2;
   */
  latestUrl: string;

  /**
   * Latest fully aggregated value of Cumulative Layout Shift.
   *
   * @generated from field: optional float latest_cumulative_layout_shift = 3;
   */
  latestCumulativeLayoutShift: number;

  /**
   * Latest fully aggregated value of Largest Contentful Paint.
   *
   * @generated from field: optional double latest_largest_contentful_paint_ms = 4;
   */
  latestLargestContentfulPaintMs: number;

  /**
   * @generated from field: optional double first_contentful_paint_ms = 5;
   */
  firstContentfulPaintMs: number;
};

/**
 * Describes the message perfetto.protos.UkmPageLoadTimingUpdate.
 * Use `create(UkmPageLoadTimingUpdateSchema)` to create a new message.
 */
export const UkmPageLoadTimingUpdateSchema: GenMessage<UkmPageLoadTimingUpdate> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 46);

/**
 * A serialisation of v8StackFrame class.
 *
 * @generated from message perfetto.protos.V8StackFrame
 */
export type V8StackFrame = Message<"perfetto.protos.V8StackFrame"> & {
  /**
   * The name of the function that was called
   *
   * @generated from field: optional string function_name = 1;
   */
  functionName: string;

  /**
   * If the function was defined in a script, contains the location within the
   * script.
   *
   * @generated from field: optional perfetto.protos.V8StackFrame.ScriptLocation script_location = 2;
   */
  scriptLocation?: V8StackFrame_ScriptLocation;
};

/**
 * Describes the message perfetto.protos.V8StackFrame.
 * Use `create(V8StackFrameSchema)` to create a new message.
 */
export const V8StackFrameSchema: GenMessage<V8StackFrame> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 47);

/**
 * Code location (path to the script and line/column number)
 *
 * @generated from message perfetto.protos.V8StackFrame.ScriptLocation
 */
export type V8StackFrame_ScriptLocation = Message<"perfetto.protos.V8StackFrame.ScriptLocation"> & {
  /**
   * @generated from field: optional string source_url = 1;
   */
  sourceUrl: string;

  /**
   * @generated from field: optional int64 line_number = 2;
   */
  lineNumber: bigint;

  /**
   * @generated from field: optional int64 column_number = 3;
   */
  columnNumber: bigint;
};

/**
 * Describes the message perfetto.protos.V8StackFrame.ScriptLocation.
 * Use `create(V8StackFrame_ScriptLocationSchema)` to create a new message.
 */
export const V8StackFrame_ScriptLocationSchema: GenMessage<V8StackFrame_ScriptLocation> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 47, 0);

/**
 * Serializes the blink::ExecutionContext object.
 *
 * @generated from message perfetto.protos.BlinkExecutionContext
 */
export type BlinkExecutionContext = Message<"perfetto.protos.BlinkExecutionContext"> & {
  /**
   * @generated from field: optional perfetto.protos.BlinkExecutionContext.ContextType type = 1;
   */
  type: BlinkExecutionContext_ContextType;

  /**
   * Contains url of frame or worker.
   *
   * @generated from field: optional string url = 2;
   */
  url: string;

  /**
   * The origin of the execution context.
   *
   * @generated from field: optional string origin = 3;
   */
  origin: string;

  /**
   * The world type of the execution context.
   *
   * @generated from field: optional perfetto.protos.BlinkExecutionContext.WorldType world_type = 4;
   */
  worldType: BlinkExecutionContext_WorldType;
};

/**
 * Describes the message perfetto.protos.BlinkExecutionContext.
 * Use `create(BlinkExecutionContextSchema)` to create a new message.
 */
export const BlinkExecutionContextSchema: GenMessage<BlinkExecutionContext> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 48);

/**
 * Definition of different context types.
 *
 * @generated from enum perfetto.protos.BlinkExecutionContext.ContextType
 */
export enum BlinkExecutionContext_ContextType {
  /**
   * @generated from enum value: UNKNOWN_CONTEXT = 0;
   */
  UNKNOWN_CONTEXT = 0,

  /**
   * @generated from enum value: WINDOW = 1;
   */
  WINDOW = 1,

  /**
   * @generated from enum value: WORKLET = 2;
   */
  WORKLET = 2,

  /**
   * @generated from enum value: DEDICATED_WORKER = 3;
   */
  DEDICATED_WORKER = 3,

  /**
   * @generated from enum value: SHARED_WORKER = 4;
   */
  SHARED_WORKER = 4,

  /**
   * @generated from enum value: SERVICE_WORKER = 5;
   */
  SERVICE_WORKER = 5,
}

/**
 * Describes the enum perfetto.protos.BlinkExecutionContext.ContextType.
 */
export const BlinkExecutionContext_ContextTypeSchema: GenEnum<BlinkExecutionContext_ContextType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 48, 0);

/**
 * Definition of world type.
 *
 * @generated from enum perfetto.protos.BlinkExecutionContext.WorldType
 */
export enum BlinkExecutionContext_WorldType {
  /**
   * @generated from enum value: WORLD_UNKNOWN = 0;
   */
  WORLD_UNKNOWN = 0,

  /**
   * @generated from enum value: WORLD_MAIN = 1;
   */
  WORLD_MAIN = 1,

  /**
   * @generated from enum value: WORLD_ISOLATED = 2;
   */
  WORLD_ISOLATED = 2,

  /**
   * @generated from enum value: WORLD_INSPECTOR_ISOLATED = 3;
   */
  WORLD_INSPECTOR_ISOLATED = 3,

  /**
   * @generated from enum value: WORLD_REG_EXP = 4;
   */
  WORLD_REG_EXP = 4,

  /**
   * @generated from enum value: WORLD_FOR_V8_CONTEXT_SNAPSHOT_NON_MAIN = 5;
   */
  WORLD_FOR_V8_CONTEXT_SNAPSHOT_NON_MAIN = 5,

  /**
   * @generated from enum value: WORLD_WORKER = 6;
   */
  WORLD_WORKER = 6,

  /**
   * @generated from enum value: WORLD_SHADOW_REALM = 7;
   */
  WORLD_SHADOW_REALM = 7,
}

/**
 * Describes the enum perfetto.protos.BlinkExecutionContext.WorldType.
 */
export const BlinkExecutionContext_WorldTypeSchema: GenEnum<BlinkExecutionContext_WorldType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 48, 1);

/**
 * Serializes the blink::SourceLocation object.
 *
 * @generated from message perfetto.protos.BlinkSourceLocation
 */
export type BlinkSourceLocation = Message<"perfetto.protos.BlinkSourceLocation"> & {
  /**
   * @generated from field: optional string function_name = 1;
   */
  functionName: string;

  /**
   * @generated from field: optional int32 script_id = 2;
   */
  scriptId: number;

  /**
   * @generated from field: optional string url = 3;
   */
  url: string;

  /**
   * @generated from field: optional int32 line_number = 4;
   */
  lineNumber: number;

  /**
   * @generated from field: optional int32 column_number = 5;
   */
  columnNumber: number;

  /**
   * @generated from field: optional string stack_trace = 6;
   */
  stackTrace: string;

  /**
   * @generated from field: repeated perfetto.protos.V8StackFrame stack_frames = 7;
   */
  stackFrames: V8StackFrame[];
};

/**
 * Describes the message perfetto.protos.BlinkSourceLocation.
 * Use `create(BlinkSourceLocationSchema)` to create a new message.
 */
export const BlinkSourceLocationSchema: GenMessage<BlinkSourceLocation> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 49);

/**
 * Contains the meta information for high entropy events (like api calls)
 * that are to be traced for debugging in the context of identifiability study.
 *
 * @generated from message perfetto.protos.BlinkHighEntropyAPI
 */
export type BlinkHighEntropyAPI = Message<"perfetto.protos.BlinkHighEntropyAPI"> & {
  /**
   * @generated from field: optional perfetto.protos.BlinkExecutionContext execution_context = 1;
   */
  executionContext?: BlinkExecutionContext;

  /**
   * @generated from field: optional perfetto.protos.BlinkHighEntropyAPI.CalledJsApi called_api = 2;
   */
  calledApi?: BlinkHighEntropyAPI_CalledJsApi;

  /**
   * @generated from field: optional perfetto.protos.BlinkSourceLocation source_location = 3;
   */
  sourceLocation?: BlinkSourceLocation;

  /**
   * @generated from field: optional perfetto.protos.BlinkHighEntropyAPI.FontLookup font_lookup = 4;
   */
  fontLookup?: BlinkHighEntropyAPI_FontLookup;
};

/**
 * Describes the message perfetto.protos.BlinkHighEntropyAPI.
 * Use `create(BlinkHighEntropyAPISchema)` to create a new message.
 */
export const BlinkHighEntropyAPISchema: GenMessage<BlinkHighEntropyAPI> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 50);

/**
 * Serialization of a parameter passed to a javascript function.
 * Contains the stringified type of the object and some string representation
 * of its value.
 *
 * @generated from message perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument
 */
export type BlinkHighEntropyAPI_JSFunctionArgument = Message<"perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument"> & {
  /**
   * @generated from field: optional perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument.ArgumentType type = 1;
   */
  type: BlinkHighEntropyAPI_JSFunctionArgument_ArgumentType;

  /**
   * @generated from field: optional string value = 2;
   */
  value: string;
};

/**
 * Describes the message perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument.
 * Use `create(BlinkHighEntropyAPI_JSFunctionArgumentSchema)` to create a new message.
 */
export const BlinkHighEntropyAPI_JSFunctionArgumentSchema: GenMessage<BlinkHighEntropyAPI_JSFunctionArgument> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 50, 0);

/**
 * Definition of different types of function parameters.
 *
 * @generated from enum perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument.ArgumentType
 */
export enum BlinkHighEntropyAPI_JSFunctionArgument_ArgumentType {
  /**
   * @generated from enum value: UNKNOWN_TYPE = 0;
   */
  UNKNOWN_TYPE = 0,

  /**
   * @generated from enum value: NULL_TYPE = 1;
   */
  NULL_TYPE = 1,

  /**
   * @generated from enum value: UNDEFINED = 2;
   */
  UNDEFINED = 2,

  /**
   * @generated from enum value: BIGINT = 3;
   */
  BIGINT = 3,

  /**
   * @generated from enum value: BOOLEAN = 4;
   */
  BOOLEAN = 4,

  /**
   * @generated from enum value: FUNCTION = 5;
   */
  FUNCTION = 5,

  /**
   * @generated from enum value: NUMBER = 6;
   */
  NUMBER = 6,

  /**
   * @generated from enum value: STRING = 7;
   */
  STRING = 7,

  /**
   * @generated from enum value: SYMBOL = 8;
   */
  SYMBOL = 8,

  /**
   * @generated from enum value: OBJECT = 9;
   */
  OBJECT = 9,
}

/**
 * Describes the enum perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument.ArgumentType.
 */
export const BlinkHighEntropyAPI_JSFunctionArgument_ArgumentTypeSchema: GenEnum<BlinkHighEntropyAPI_JSFunctionArgument_ArgumentType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 50, 0, 0);

/**
 * Describes a Javascript API call.
 *
 * @generated from message perfetto.protos.BlinkHighEntropyAPI.CalledJsApi
 */
export type BlinkHighEntropyAPI_CalledJsApi = Message<"perfetto.protos.BlinkHighEntropyAPI.CalledJsApi"> & {
  /**
   * Contains class and function name of api called
   * similar to "Navigator.languages.get".
   *
   * @generated from field: optional string identifier = 1;
   */
  identifier: string;

  /**
   * @generated from field: repeated perfetto.protos.BlinkHighEntropyAPI.JSFunctionArgument func_arguments = 2;
   */
  funcArguments: BlinkHighEntropyAPI_JSFunctionArgument[];

  /**
   * Deprecated in favour of outer source_location. Not filled anymore in
   * newer versions of chrome.
   *
   * @generated from field: optional perfetto.protos.BlinkSourceLocation source_location = 3 [deprecated = true];
   * @deprecated
   */
  sourceLocation?: BlinkSourceLocation;
};

/**
 * Describes the message perfetto.protos.BlinkHighEntropyAPI.CalledJsApi.
 * Use `create(BlinkHighEntropyAPI_CalledJsApiSchema)` to create a new message.
 */
export const BlinkHighEntropyAPI_CalledJsApiSchema: GenMessage<BlinkHighEntropyAPI_CalledJsApi> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 50, 1);

/**
 * Describes lookup of a font.
 *
 * @generated from message perfetto.protos.BlinkHighEntropyAPI.FontLookup
 */
export type BlinkHighEntropyAPI_FontLookup = Message<"perfetto.protos.BlinkHighEntropyAPI.FontLookup"> & {
  /**
   * @generated from field: optional perfetto.protos.BlinkHighEntropyAPI.FontLookup.FontLookupType type = 1;
   */
  type: BlinkHighEntropyAPI_FontLookup_FontLookupType;

  /**
   * @generated from field: optional string name = 2;
   */
  name: string;

  /**
   * @generated from field: optional uint64 weight = 3;
   */
  weight: bigint;

  /**
   * @generated from field: optional uint64 width = 4;
   */
  width: bigint;

  /**
   * @generated from field: optional uint64 slope = 5;
   */
  slope: bigint;
};

/**
 * Describes the message perfetto.protos.BlinkHighEntropyAPI.FontLookup.
 * Use `create(BlinkHighEntropyAPI_FontLookupSchema)` to create a new message.
 */
export const BlinkHighEntropyAPI_FontLookupSchema: GenMessage<BlinkHighEntropyAPI_FontLookup> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 50, 2);

/**
 * @generated from enum perfetto.protos.BlinkHighEntropyAPI.FontLookup.FontLookupType
 */
export enum BlinkHighEntropyAPI_FontLookup_FontLookupType {
  /**
   * @generated from enum value: FONT_LOOKUP_UNKNOWN_TYPE = 0;
   */
  FONT_LOOKUP_UNKNOWN_TYPE = 0,

  /**
   * @generated from enum value: FONT_LOOKUP_UNIQUE_OR_FAMILY_NAME = 1;
   */
  FONT_LOOKUP_UNIQUE_OR_FAMILY_NAME = 1,

  /**
   * @generated from enum value: FONT_LOOKUP_UNIQUE_NAME_ONLY = 2;
   */
  FONT_LOOKUP_UNIQUE_NAME_ONLY = 2,
}

/**
 * Describes the enum perfetto.protos.BlinkHighEntropyAPI.FontLookup.FontLookupType.
 */
export const BlinkHighEntropyAPI_FontLookup_FontLookupTypeSchema: GenEnum<BlinkHighEntropyAPI_FontLookup_FontLookupType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 50, 2, 0);

/**
 * Contains information about a tab switch measurement.
 *
 * @generated from message perfetto.protos.TabSwitchMeasurement
 */
export type TabSwitchMeasurement = Message<"perfetto.protos.TabSwitchMeasurement"> & {
  /**
   * @generated from field: optional perfetto.protos.TabSwitchMeasurement.Result result = 1;
   */
  result: TabSwitchMeasurement_Result;

  /**
   * @generated from field: optional perfetto.protos.TabSwitchMeasurement.TabState tab_state = 2;
   */
  tabState: TabSwitchMeasurement_TabState;
};

/**
 * Describes the message perfetto.protos.TabSwitchMeasurement.
 * Use `create(TabSwitchMeasurementSchema)` to create a new message.
 */
export const TabSwitchMeasurementSchema: GenMessage<TabSwitchMeasurement> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 51);

/**
 * Possible outcomes of a tab switch. Maps to
 * blink::ContentToVisibleTimeReporter::TabSwitchResult.
 *
 * @generated from enum perfetto.protos.TabSwitchMeasurement.Result
 */
export enum TabSwitchMeasurement_Result {
  /**
   * @generated from enum value: RESULT_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * A frame was successfully presented after a tab switch.
   *
   * @generated from enum value: RESULT_SUCCESS = 1;
   */
  SUCCESS = 1,

  /**
   * Tab was hidden before a frame was presented after a tab switch.
   *
   * @generated from enum value: RESULT_INCOMPLETE = 2;
   */
  INCOMPLETE = 2,

  /**
   * TabWasShown called twice for a frame without TabWasHidden between. Treat
   * the first TabWasShown as an incomplete tab switch.
   *
   * @generated from enum value: RESULT_MISSED_TAB_HIDE = 3;
   */
  MISSED_TAB_HIDE = 3,
}

/**
 * Describes the enum perfetto.protos.TabSwitchMeasurement.Result.
 */
export const TabSwitchMeasurement_ResultSchema: GenEnum<TabSwitchMeasurement_Result> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 51, 0);

/**
 * State of the target tab. Corresponds to the suffixes of the
 * Browser.TabSwitchResult2.* histograms.
 *
 * @generated from enum perfetto.protos.TabSwitchMeasurement.TabState
 */
export enum TabSwitchMeasurement_TabState {
  /**
   * @generated from enum value: STATE_UNSPECIFIED = 0;
   */
  STATE_UNSPECIFIED = 0,

  /**
   * The tab has frames in the frame cache, which can be composited in the
   * browser process.
   *
   * @generated from enum value: STATE_WITH_SAVED_FRAMES = 1;
   */
  STATE_WITH_SAVED_FRAMES = 1,

  /**
   * The tab has no frames in the frame cache so must be rendered and
   * composited in a renderer process.
   *
   * @generated from enum value: STATE_LOADED_NO_SAVED_FRAMES = 2;
   */
  STATE_LOADED_NO_SAVED_FRAMES = 2,

  /**
   * The tab has no frames in the frame cache and is not fully loaded, so it
   * must be reloaded before it can be rendered and composited in a renderer
   * process.
   *
   * @generated from enum value: STATE_NOT_LOADED_NO_SAVED_FRAMES = 3;
   */
  STATE_NOT_LOADED_NO_SAVED_FRAMES = 3,
}

/**
 * Describes the enum perfetto.protos.TabSwitchMeasurement.TabState.
 */
export const TabSwitchMeasurement_TabStateSchema: GenEnum<TabSwitchMeasurement_TabState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 51, 1);

/**
 * Data about scroll deltas and offsets.
 * All values are in physical screen pixels.
 *
 * @generated from message perfetto.protos.ScrollDeltas
 */
export type ScrollDeltas = Message<"perfetto.protos.ScrollDeltas"> & {
  /**
   * The trace_id of the current input.
   *
   * @generated from field: optional int64 trace_id = 1;
   */
  traceId: bigint;

  /**
   * The original delta for current input. That is, this is the delta that
   * the Browser receives from Android, but already scaled to the device's
   * screen.
   *
   * @generated from field: optional float original_delta_x = 2;
   */
  originalDeltaX: number;

  /**
   * @generated from field: optional float original_delta_y = 3;
   */
  originalDeltaY: number;

  /**
   * The trace_id of the input that the current input is coalesced with.
   * If input is not coalesced, this field is null.
   *
   * @generated from field: optional int64 coalesced_to_trace_id = 4;
   */
  coalescedToTraceId: bigint;

  /**
   * The delta which arrived to compositor.
   * This is the sum of all the inputs coalesced together
   * with the resampler applied to them.
   * This delta is used to calculate a |visual_offset|.
   *
   * @generated from field: optional float provided_to_compositor_delta_x = 5;
   */
  providedToCompositorDeltaX: number;

  /**
   * @generated from field: optional float provided_to_compositor_delta_y = 6;
   */
  providedToCompositorDeltaY: number;

  /**
   * The offset which compositor set.
   *
   * @generated from field: optional int64 visual_offset_x = 7;
   */
  visualOffsetX: bigint;

  /**
   * @generated from field: optional int64 visual_offset_y = 8;
   */
  visualOffsetY: bigint;

  /**
   * Data which GPU returns.
   * Number of inputs which were shown together in one GPU frame.
   *
   * @generated from field: optional int32 event_count_in_gpu_frame = 9;
   */
  eventCountInGpuFrame: number;

  /**
   * The trace_ids of inputs which were shown together in one GPU frame.
   *
   * @generated from field: repeated int64 trace_ids_in_gpu_frame = 10;
   */
  traceIdsInGpuFrame: bigint[];

  /**
   * The sum of original deltas of inputs which were shown together in one GPU
   * frame.
   *
   * @generated from field: optional float original_delta_in_gpu_frame_y = 11;
   */
  originalDeltaInGpuFrameY: number;

  /**
   * The sum of predicted deltas of inputs which were shown together in one GPU
   * frame.
   *
   * @generated from field: optional float predicted_delta_in_gpu_frame_y = 12;
   */
  predictedDeltaInGpuFrameY: number;

  /**
   * The array of original deltas of inputs which were shown together in one GPU
   * frame.
   *
   * @generated from field: repeated float segregated_original_deltas_in_gpu_frame_y = 13;
   */
  segregatedOriginalDeltasInGpuFrameY: number[];

  /**
   * The array of predicted deltas of inputs which were shown together in one
   * GPU frame.
   *
   * @generated from field: repeated float segregated_predicted_deltas_in_gpu_frame_y = 14;
   */
  segregatedPredictedDeltasInGpuFrameY: number[];
};

/**
 * Describes the message perfetto.protos.ScrollDeltas.
 * Use `create(ScrollDeltasSchema)` to create a new message.
 */
export const ScrollDeltasSchema: GenMessage<ScrollDeltas> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 52);

/**
 * Debug information for system layer of audio rendering on Windows.
 *
 * @generated from message perfetto.protos.WinRenderAudioFromSource
 */
export type WinRenderAudioFromSource = Message<"perfetto.protos.WinRenderAudioFromSource"> & {
  /**
   * Buffer size used by the platform.
   *
   * @generated from field: optional uint32 iaudioclient_buffer_size_frames = 1;
   */
  iaudioclientBufferSizeFrames: number;

  /**
   * Number of available frames in the platform buffer.
   *
   * @generated from field: optional uint32 iaudioclient_buffer_unfilled_frames = 2;
   */
  iaudioclientBufferUnfilledFrames: number;

  /**
   * Number of frames requested from the audio stream client.
   *
   * @generated from field: optional uint32 packet_size_frames = 3;
   */
  packetSizeFrames: number;

  /**
   * Total number of frames requested from the client and written to the
   * platform buffer during the stream lifetime.
   *
   * @generated from field: optional uint64 num_written_frames = 4;
   */
  numWrittenFrames: bigint;

  /**
   * Total number of frames played by the platform during the stream lifetime.
   *
   * @generated from field: optional uint64 num_played_out_frames = 5;
   */
  numPlayedOutFrames: bigint;

  /**
   * Device frequency reported by the platform; used to convert the stream
   * position to frames.
   *
   * @generated from field: optional uint64 iaudioclock_device_frequency = 6;
   */
  iaudioclockDeviceFrequency: bigint;

  /**
   * Stream position reported by the platform.
   *
   * @generated from field: optional uint64 iaudioclock_stream_position = 7;
   */
  iaudioclockStreamPosition: bigint;

  /**
   * Performance counter position reported by the platform.
   *
   * @generated from field: optional uint64 iaudioclock_qpc_position = 8;
   */
  iaudioclockQpcPosition: bigint;

  /**
   * Stream position increase since the last call, converted to milliseconds.
   *
   * @generated from field: optional int64 iaudioclock_stream_position_increase_ms = 9;
   */
  iaudioclockStreamPositionIncreaseMs: bigint;

  /**
   * Performance counter position since the last call, converted to
   * milliseconds.
   *
   * @generated from field: optional int64 iaudioclock_qpc_position_increase_ms = 10;
   */
  iaudioclockQpcPositionIncreaseMs: bigint;

  /**
   * Estimated playout delay, milliseconds.
   *
   * @generated from field: optional int64 playout_delay_ms = 11;
   */
  playoutDelayMs: bigint;
};

/**
 * Describes the message perfetto.protos.WinRenderAudioFromSource.
 * Use `create(WinRenderAudioFromSourceSchema)` to create a new message.
 */
export const WinRenderAudioFromSourceSchema: GenMessage<WinRenderAudioFromSource> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 53);

/**
 * Debug information for system layer of audio rendering on Mac.
 *
 * @generated from message perfetto.protos.MacAUHALStream
 */
export type MacAUHALStream = Message<"perfetto.protos.MacAUHALStream"> & {
  /**
   * The number of frames that the stream requests from the audio source.
   *
   * @generated from field: optional int32 input_buffer_size = 1;
   */
  inputBufferSize: number;

  /**
   * The number of frames that the OS requests for playout.
   *
   * @generated from field: optional uint32 output_buffer_size = 2;
   */
  outputBufferSize: number;

  /**
   * Sample rate of the stream.
   *
   * @generated from field: optional int32 sample_rate = 3;
   */
  sampleRate: number;

  /**
   * The time that the audio requested by the OS is expected to play out.
   *
   * @generated from field: optional int64 os_request_playout_timeticks_us = 4;
   */
  osRequestPlayoutTimeticksUs: bigint;

  /**
   * Total number of frames requested from the audio source.
   *
   * @generated from field: optional int32 source_request_frames = 5;
   */
  sourceRequestFrames: number;

  /**
   * The delay between the request for audio from the source and when the audio
   * is expected to be played out.
   *
   * @generated from field: optional int64 source_request_playout_delay_us = 6;
   */
  sourceRequestPlayoutDelayUs: bigint;

  /**
   * The time when the audio that is requested from the source is expected to
   * play out.
   *
   * @generated from field: optional int64 source_request_playout_timeticks_us = 7;
   */
  sourceRequestPlayoutTimeticksUs: bigint;

  /**
   * The time when audio audio is requested from the source.
   *
   * @generated from field: optional int64 source_request_current_timeticks_us = 8;
   */
  sourceRequestCurrentTimeticksUs: bigint;

  /**
   * The audio playout latency that comes from hardware, in milliseconds.
   *
   * @generated from field: optional int64 hardware_latency_us = 9;
   */
  hardwareLatencyUs: bigint;

  /**
   * Whether the kAudioTimeStampHostTimeValid is set on the output
   * AudioTimeStamp.
   *
   * @generated from field: optional bool audiotimestamp_host_time_valid = 10;
   */
  audiotimestampHostTimeValid: boolean;

  /**
   * The playout time based on the machine time from AudioTimeStamp.
   *
   * @generated from field: optional int64 audiotimestamp_mach_timeticks_us = 11;
   */
  audiotimestampMachTimeticksUs: bigint;

  /**
   * The time that the audio requested by the os is expected to be consumed by
   * the hardware. Measured in frames since the start of playout.
   *
   * @generated from field: optional double audiotimestamp_sample_time_frames = 12;
   */
  audiotimestampSampleTimeFrames: number;

  /**
   * The time that the previous audio requested by the os was expected to be
   * consumed by the hardware. Measured in frames since the start of playout.
   *
   * @generated from field: optional double audiotimestamp_last_sample_time_frames = 13;
   */
  audiotimestampLastSampleTimeFrames: number;

  /**
   * The duration of audio that was estimated to be lost in the case of a
   * glitch.
   *
   * @generated from field: optional int64 lost_audio_duration_us = 14;
   */
  lostAudioDurationUs: bigint;
};

/**
 * Describes the message perfetto.protos.MacAUHALStream.
 * Use `create(MacAUHALStreamSchema)` to create a new message.
 */
export const MacAUHALStreamSchema: GenMessage<MacAUHALStream> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 54);

/**
 * Debug information for system layer of audio rendering using ALSA on Linux.
 *
 * @generated from message perfetto.protos.LinuxAlsaOutput
 */
export type LinuxAlsaOutput = Message<"perfetto.protos.LinuxAlsaOutput"> & {
  /**
   * The delay between the request for audio from the source and when the audio
   * is expected to be played out.
   *
   * @generated from field: optional int64 source_request_playout_delay_us = 1;
   */
  sourceRequestPlayoutDelayUs: bigint;

  /**
   * The number of bytes that are already present in the buffer on a call to
   * BufferPacket.
   *
   * @generated from field: optional int32 forward_bytes = 2;
   */
  forwardBytes: number;

  /**
   * Sample rate of the stream.
   *
   * @generated from field: optional int32 sample_rate = 3;
   */
  sampleRate: number;

  /**
   * Delay obtained by the OS in frames.
   *
   * @generated from field: optional int32 getcurrentdelay_pcm_delay_frames = 4;
   */
  getcurrentdelayPcmDelayFrames: number;

  /**
   * The number of frames in ALSA's buffer.
   *
   * @generated from field: optional int32 getcurrentdelay_alsa_buffer_frames = 5;
   */
  getcurrentdelayAlsaBufferFrames: number;

  /**
   * The number of frames that can be written to in ALSA's buffer.
   *
   * @generated from field: optional int32 getcurrentdelay_available_frames = 6;
   */
  getcurrentdelayAvailableFrames: number;

  /**
   * The final delay that GetCurrentDelay arrives on, in frames.
   *
   * @generated from field: optional int32 getcurrentdelay_final_delay_frames = 7;
   */
  getcurrentdelayFinalDelayFrames: number;
};

/**
 * Describes the message perfetto.protos.LinuxAlsaOutput.
 * Use `create(LinuxAlsaOutputSchema)` to create a new message.
 */
export const LinuxAlsaOutputSchema: GenMessage<LinuxAlsaOutput> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 55);

/**
 * Debug information for system layer of audio rendering using Pulse on Linux.
 *
 * @generated from message perfetto.protos.LinuxPulseOutput
 */
export type LinuxPulseOutput = Message<"perfetto.protos.LinuxPulseOutput"> & {
  /**
   * The delay between the request for audio from the source and when the audio
   * is expected to be played out.
   *
   * @generated from field: optional int64 source_request_playout_delay_us = 1;
   */
  sourceRequestPlayoutDelayUs: bigint;

  /**
   * Sample rate of the stream.
   *
   * @generated from field: optional int32 sample_rate = 2;
   */
  sampleRate: number;

  /**
   * The number of frames that the stream requests from the audio source.
   *
   * @generated from field: optional int32 input_buffer_size_frames = 3;
   */
  inputBufferSizeFrames: number;

  /**
   * The number of bytes that the OS requests.
   *
   * @generated from field: optional uint32 stream_request_bytes = 4;
   */
  streamRequestBytes: number;

  /**
   * The number of bytes in a single frame.
   *
   * @generated from field: optional uint32 frame_size_bytes = 5;
   */
  frameSizeBytes: number;
};

/**
 * Describes the message perfetto.protos.LinuxPulseOutput.
 * Use `create(LinuxPulseOutputSchema)` to create a new message.
 */
export const LinuxPulseOutputSchema: GenMessage<LinuxPulseOutput> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 56);

/**
 * Debug information for system layer of audio rendering on ChromeOS.
 *
 * @generated from message perfetto.protos.CrasUnified
 */
export type CrasUnified = Message<"perfetto.protos.CrasUnified"> & {
  /**
   * The total duration of silence due to missing samples during the stream.
   *
   * @generated from field: optional int64 underrun_duration_us = 1;
   */
  underrunDurationUs: bigint;

  /**
   * Previous underrun duration, used for calculating the length of silence
   * since the last callback.
   *
   * @generated from field: optional int64 last_underrun_duration_us = 2;
   */
  lastUnderrunDurationUs: bigint;

  /**
   * Difference in total underrun duration since the last callback. Logged only
   * when positive, which is when a glitch occurs.
   *
   * @generated from field: optional int64 underrun_glitch_duration_us = 3;
   */
  underrunGlitchDurationUs: bigint;

  /**
   * OS playout latency reported by cras.
   *
   * @generated from field: optional int64 latency_us = 4;
   */
  latencyUs: bigint;

  /**
   * The number of frames that the stream requests from the audio source.
   *
   * @generated from field: optional int32 requested_frames = 5;
   */
  requestedFrames: number;

  /**
   * The number of frames that the source provided.
   *
   * @generated from field: optional uint32 filled_frames = 6;
   */
  filledFrames: number;

  /**
   * Sample rate of the stream.
   *
   * @generated from field: optional int32 sample_rate = 7;
   */
  sampleRate: number;
};

/**
 * Describes the message perfetto.protos.CrasUnified.
 * Use `create(CrasUnifiedSchema)` to create a new message.
 */
export const CrasUnifiedSchema: GenMessage<CrasUnified> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 57);

/**
 * @generated from message perfetto.protos.ChromeUnguessableToken
 */
export type ChromeUnguessableToken = Message<"perfetto.protos.ChromeUnguessableToken"> & {
  /**
   * @generated from field: optional uint64 low_token = 1;
   */
  lowToken: bigint;

  /**
   * @generated from field: optional uint64 high_token = 2;
   */
  highToken: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeUnguessableToken.
 * Use `create(ChromeUnguessableTokenSchema)` to create a new message.
 */
export const ChromeUnguessableTokenSchema: GenMessage<ChromeUnguessableToken> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 58);

/**
 * @generated from message perfetto.protos.FrameSinkId
 */
export type FrameSinkId = Message<"perfetto.protos.FrameSinkId"> & {
  /**
   * @generated from field: optional uint32 frame_sink_client_id = 1;
   */
  frameSinkClientId: number;

  /**
   * @generated from field: optional uint32 frame_sink_id = 2;
   */
  frameSinkId: number;
};

/**
 * Describes the message perfetto.protos.FrameSinkId.
 * Use `create(FrameSinkIdSchema)` to create a new message.
 */
export const FrameSinkIdSchema: GenMessage<FrameSinkId> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 59);

/**
 * @generated from message perfetto.protos.LocalSurfaceId
 */
export type LocalSurfaceId = Message<"perfetto.protos.LocalSurfaceId"> & {
  /**
   * @generated from field: optional uint32 parent_sequence_number = 1;
   */
  parentSequenceNumber: number;

  /**
   * @generated from field: optional uint32 child_sequence_number = 2;
   */
  childSequenceNumber: number;

  /**
   * @generated from field: optional perfetto.protos.ChromeUnguessableToken unguessable_token = 3;
   */
  unguessableToken?: ChromeUnguessableToken;
};

/**
 * Describes the message perfetto.protos.LocalSurfaceId.
 * Use `create(LocalSurfaceIdSchema)` to create a new message.
 */
export const LocalSurfaceIdSchema: GenMessage<LocalSurfaceId> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 60);

/**
 * @generated from message perfetto.protos.ChromeGraphicsPipeline
 */
export type ChromeGraphicsPipeline = Message<"perfetto.protos.ChromeGraphicsPipeline"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeGraphicsPipeline.StepName step = 1;
   */
  step: ChromeGraphicsPipeline_StepName;

  /**
   * @generated from field: optional perfetto.protos.FrameSinkId frame_sink_id = 2;
   */
  frameSinkId?: FrameSinkId;

  /**
   * Id used to link `ChromeGraphicsPipeline`s corresponding to work done by a
   * Viz client to produce a frame. This corresponds to
   * `viz::BeginFrameAck.trace_id`. Covers steps:
   * * STEP_ISSUE_BEGIN_FRAME
   * * STEP_RECEIVE_BEGIN_FRAME
   * * STEP_GENERATE_RENDER_PASS
   * * STEP_GENERATE_COMPOSITOR_FRAME
   * * STEP_SUBMIT_COMPOSITOR_FRAME
   * * STEP_RECEIVE_COMPOSITOR_FRAME
   * * STEP_RECEIVE_BEGIN_FRAME_DISCARD
   * * STEP_DID_NOT_PRODUCE_FRAME
   * * STEP_DID_NOT_PRODUCE_COMPOSITOR_FRAME
   *
   * @generated from field: optional int64 surface_frame_trace_id = 10;
   */
  surfaceFrameTraceId: bigint;

  /**
   * Id used to link `ChromeGraphicsPipeline`s corresponding to work done
   * on creating and presenting one frame *after* surface aggregation. Covers
   * steps:
   * * STEP_DRAW_AND_SWAP
   * * STEP_SURFACE_AGGREGATION
   * * STEP_SEND_BUFFER_SWAP
   * * STEP_BUFFER_SWAP_POST_SUBMIT
   * * STEP_FINISH_BUFFER_SWAP
   * * STEP_SWAP_BUFFERS_ACK
   *
   * @generated from field: optional int64 display_trace_id = 3;
   */
  displayTraceId: bigint;

  /**
   * `viz::BeginFrameAck.trace_id`s for frames aggregated at this step.
   * Used with `STEP_SURFACE_AGGREGATION` only. This can be "joined" with
   * `surface_frame_trace_id`.
   *
   * @generated from field: repeated int64 aggregated_surface_frame_trace_ids = 8;
   */
  aggregatedSurfaceFrameTraceIds: bigint[];

  /**
   * @generated from field: optional perfetto.protos.LocalSurfaceId local_surface_id = 4;
   */
  localSurfaceId?: LocalSurfaceId;

  /**
   * @generated from field: optional int64 frame_sequence = 5;
   */
  frameSequence: bigint;

  /**
   * @generated from field: optional perfetto.protos.ChromeGraphicsPipeline.FrameSkippedReason frame_skipped_reason = 6;
   */
  frameSkippedReason: ChromeGraphicsPipeline_FrameSkippedReason;

  /**
   * Optional variable that can be set together with STEP_BACKEND*.
   *
   * @generated from field: optional int64 backend_frame_id = 7;
   */
  backendFrameId: bigint;

  /**
   * List of LatencyInfo.trace_ids associated with this frame, which
   * should allow us to match input to frame production.
   *
   * @generated from field: repeated int64 latency_ids = 9;
   */
  latencyIds: bigint[];
};

/**
 * Describes the message perfetto.protos.ChromeGraphicsPipeline.
 * Use `create(ChromeGraphicsPipelineSchema)` to create a new message.
 */
export const ChromeGraphicsPipelineSchema: GenMessage<ChromeGraphicsPipeline> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 61);

/**
 * Next id: 26
 *
 * @generated from enum perfetto.protos.ChromeGraphicsPipeline.StepName
 */
export enum ChromeGraphicsPipeline_StepName {
  /**
   * @generated from enum value: STEP_UNKNOWN = 0;
   */
  STEP_UNKNOWN = 0,

  /**
   * @generated from enum value: STEP_DID_NOT_PRODUCE_FRAME = 1;
   */
  STEP_DID_NOT_PRODUCE_FRAME = 1,

  /**
   * @generated from enum value: STEP_DID_NOT_PRODUCE_COMPOSITOR_FRAME = 22;
   */
  STEP_DID_NOT_PRODUCE_COMPOSITOR_FRAME = 22,

  /**
   * @generated from enum value: STEP_GENERATE_COMPOSITOR_FRAME = 2;
   */
  STEP_GENERATE_COMPOSITOR_FRAME = 2,

  /**
   * @generated from enum value: STEP_GENERATE_RENDER_PASS = 3;
   */
  STEP_GENERATE_RENDER_PASS = 3,

  /**
   * @generated from enum value: STEP_ISSUE_BEGIN_FRAME = 4;
   */
  STEP_ISSUE_BEGIN_FRAME = 4,

  /**
   * @generated from enum value: STEP_RECEIVE_COMPOSITOR_FRAME = 5;
   */
  STEP_RECEIVE_COMPOSITOR_FRAME = 5,

  /**
   * @generated from enum value: STEP_RECEIVE_BEGIN_FRAME = 6;
   */
  STEP_RECEIVE_BEGIN_FRAME = 6,

  /**
   * @generated from enum value: STEP_RECEIVE_BEGIN_FRAME_DISCARD = 7;
   */
  STEP_RECEIVE_BEGIN_FRAME_DISCARD = 7,

  /**
   * @generated from enum value: STEP_SEND_BEGIN_MAIN_FRAME = 8 [deprecated = true];
   * @deprecated
   */
  STEP_SEND_BEGIN_MAIN_FRAME = 8,

  /**
   * @generated from enum value: STEP_SUBMIT_COMPOSITOR_FRAME = 9;
   */
  STEP_SUBMIT_COMPOSITOR_FRAME = 9,

  /**
   * @generated from enum value: STEP_DRAW_AND_SWAP = 21;
   */
  STEP_DRAW_AND_SWAP = 21,

  /**
   * @generated from enum value: STEP_SURFACE_AGGREGATION = 10;
   */
  STEP_SURFACE_AGGREGATION = 10,

  /**
   * @generated from enum value: STEP_SEND_BUFFER_SWAP = 11;
   */
  STEP_SEND_BUFFER_SWAP = 11,

  /**
   * @generated from enum value: STEP_BUFFER_SWAP_POST_SUBMIT = 12;
   */
  STEP_BUFFER_SWAP_POST_SUBMIT = 12,

  /**
   * @generated from enum value: STEP_FINISH_BUFFER_SWAP = 13;
   */
  STEP_FINISH_BUFFER_SWAP = 13,

  /**
   * @generated from enum value: STEP_SWAP_BUFFERS_ACK = 14;
   */
  STEP_SWAP_BUFFERS_ACK = 14,

  /**
   * Frame submission stages when Exo (Wayland server implementation in Ash
   * browser process) is involved. Wayland clients (such as Lacros or ARC++)
   * submit visual contents via Wayland surface commits, with which Exo
   * constructs compositor frames and forwards to Ash Viz.
   *
   * @generated from enum value: STEP_EXO_CONSTRUCT_COMPOSITOR_FRAME = 15;
   */
  STEP_EXO_CONSTRUCT_COMPOSITOR_FRAME = 15,

  /**
   * @generated from enum value: STEP_EXO_SUBMIT_COMPOSITOR_FRAME = 16;
   */
  STEP_EXO_SUBMIT_COMPOSITOR_FRAME = 16,

  /**
   * @generated from enum value: STEP_EXO_DISCARD_COMPOSITOR_FRAME = 17;
   */
  STEP_EXO_DISCARD_COMPOSITOR_FRAME = 17,

  /**
   * Frame submission stages in backends that viz uses to submit frames to
   * the gpu or to the system compositor. See the explanation above how these
   * stages can be used.
   *
   * @generated from enum value: STEP_BACKEND_SEND_BUFFER_SWAP = 18;
   */
  STEP_BACKEND_SEND_BUFFER_SWAP = 18,

  /**
   * @generated from enum value: STEP_BACKEND_SEND_BUFFER_POST_SUBMIT = 19;
   */
  STEP_BACKEND_SEND_BUFFER_POST_SUBMIT = 19,

  /**
   * @generated from enum value: STEP_BACKEND_FINISH_BUFFER_SWAP = 20;
   */
  STEP_BACKEND_FINISH_BUFFER_SWAP = 20,

  /**
   * Send viz.mojom.CompositorFrameSinkClient::OnBeginFrame Mojo message from
   * Viz to a renderer's compositor.
   *
   * @generated from enum value: STEP_SEND_ON_BEGIN_FRAME_MOJO_MESSAGE = 23;
   */
  STEP_SEND_ON_BEGIN_FRAME_MOJO_MESSAGE = 23,

  /**
   * Send viz.mojom.BeginFrameObserver::OnStandaloneBeginFrame Mojo message
   * from Viz to the browser main thread (for flings).
   *
   * @generated from enum value: STEP_SEND_ON_STANDALONE_BEGIN_FRAME_MOJO_MESSAGE = 24;
   */
  STEP_SEND_ON_STANDALONE_BEGIN_FRAME_MOJO_MESSAGE = 24,

  /**
   * Send viz.mojom.CompositorFrameSink::SubmitCompositorFrame Mojo message
   * from a renderer's compositor to Viz.
   *
   * @generated from enum value: STEP_SEND_SUBMIT_COMPOSITOR_FRAME_MOJO_MESSAGE = 25;
   */
  STEP_SEND_SUBMIT_COMPOSITOR_FRAME_MOJO_MESSAGE = 25,
}

/**
 * Describes the enum perfetto.protos.ChromeGraphicsPipeline.StepName.
 */
export const ChromeGraphicsPipeline_StepNameSchema: GenEnum<ChromeGraphicsPipeline_StepName> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 61, 0);

/**
 * @generated from enum perfetto.protos.ChromeGraphicsPipeline.FrameSkippedReason
 */
export enum ChromeGraphicsPipeline_FrameSkippedReason {
  /**
   * @generated from enum value: SKIPPED_REASON_UNKNOWN = 0;
   */
  SKIPPED_REASON_UNKNOWN = 0,

  /**
   * @generated from enum value: SKIPPED_REASON_RECOVER_LATENCY = 1;
   */
  SKIPPED_REASON_RECOVER_LATENCY = 1,

  /**
   * @generated from enum value: SKIPPED_REASON_NO_DAMAGE = 2;
   */
  SKIPPED_REASON_NO_DAMAGE = 2,

  /**
   * @generated from enum value: SKIPPED_REASON_WAITING_ON_MAIN = 3;
   */
  SKIPPED_REASON_WAITING_ON_MAIN = 3,

  /**
   * @generated from enum value: SKIPPED_REASON_DRAW_THROTTLED = 4;
   */
  SKIPPED_REASON_DRAW_THROTTLED = 4,
}

/**
 * Describes the enum perfetto.protos.ChromeGraphicsPipeline.FrameSkippedReason.
 */
export const ChromeGraphicsPipeline_FrameSkippedReasonSchema: GenEnum<ChromeGraphicsPipeline_FrameSkippedReason> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 61, 1);

/**
 * @generated from message perfetto.protos.LibunwindstackUnwinder
 */
export type LibunwindstackUnwinder = Message<"perfetto.protos.LibunwindstackUnwinder"> & {
  /**
   * @generated from field: optional perfetto.protos.LibunwindstackUnwinder.ErrorCode error_code = 1;
   */
  errorCode: LibunwindstackUnwinder_ErrorCode;

  /**
   * @generated from field: optional int32 num_frames = 2;
   */
  numFrames: number;
};

/**
 * Describes the message perfetto.protos.LibunwindstackUnwinder.
 * Use `create(LibunwindstackUnwinderSchema)` to create a new message.
 */
export const LibunwindstackUnwinderSchema: GenMessage<LibunwindstackUnwinder> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 62);

/**
 * The enum is a copy of ErrorCode enum inside third_party/libunwindstack,
 * ideally this should be in sync with that.
 *
 * @generated from enum perfetto.protos.LibunwindstackUnwinder.ErrorCode
 */
export enum LibunwindstackUnwinder_ErrorCode {
  /**
   * No error.
   *
   * @generated from enum value: ERROR_NONE = 0;
   */
  ERROR_NONE = 0,

  /**
   * Memory read failed.
   *
   * @generated from enum value: ERROR_MEMORY_INVALID = 1;
   */
  ERROR_MEMORY_INVALID = 1,

  /**
   * Unable to use unwind information to unwind.
   *
   * @generated from enum value: ERROR_UNWIND_INFO = 2;
   */
  ERROR_UNWIND_INFO = 2,

  /**
   * Encountered unsupported feature.
   *
   * @generated from enum value: ERROR_UNSUPPORTED = 3;
   */
  ERROR_UNSUPPORTED = 3,

  /**
   * Unwind in an invalid map.
   *
   * @generated from enum value: ERROR_INVALID_MAP = 4;
   */
  ERROR_INVALID_MAP = 4,

  /**
   * The number of frames exceed the total
   *
   * @generated from enum value: ERROR_MAX_FRAMES_EXCEEDED = 5;
   */
  ERROR_MAX_FRAMES_EXCEEDED = 5,

  /**
   * allowed.
   *
   * The last frame has the same pc/sp as the next.
   *
   * @generated from enum value: ERROR_REPEATED_FRAME = 6;
   */
  ERROR_REPEATED_FRAME = 6,

  /**
   * Unwind in an invalid elf.
   *
   * @generated from enum value: ERROR_INVALID_ELF = 7;
   */
  ERROR_INVALID_ELF = 7,

  /**
   * Attempt to unwind a local thread that
   *
   * @generated from enum value: ERROR_THREAD_DOES_NOT_EXIST = 8;
   */
  ERROR_THREAD_DOES_NOT_EXIST = 8,

  /**
   * does not exist.
   *
   * Timeout trying to unwind a local thread.
   *
   * @generated from enum value: ERROR_THREAD_TIMEOUT = 9;
   */
  ERROR_THREAD_TIMEOUT = 9,

  /**
   * System call failed while unwinding.
   *
   * @generated from enum value: ERROR_SYSTEM_CALL = 10;
   */
  ERROR_SYSTEM_CALL = 10,

  /**
   * Arch invalid (none, or mismatched).
   *
   * @generated from enum value: ERROR_BAD_ARCH = 11;
   */
  ERROR_BAD_ARCH = 11,

  /**
   * Failed to parse maps data.
   *
   * @generated from enum value: ERROR_MAPS_PARSE = 12;
   */
  ERROR_MAPS_PARSE = 12,

  /**
   * Invalid parameter passed to function.
   *
   * @generated from enum value: ERROR_INVALID_PARAMETER_LIBUNWINDSTACK = 13;
   */
  ERROR_INVALID_PARAMETER_LIBUNWINDSTACK = 13,

  /**
   * Ptrace call failed while unwinding.
   *
   * @generated from enum value: ERROR_PTRACE_CALL = 14;
   */
  ERROR_PTRACE_CALL = 14,
}

/**
 * Describes the enum perfetto.protos.LibunwindstackUnwinder.ErrorCode.
 */
export const LibunwindstackUnwinder_ErrorCodeSchema: GenEnum<LibunwindstackUnwinder_ErrorCode> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 62, 0);

/**
 * @generated from message perfetto.protos.ScrollPredictorMetrics
 */
export type ScrollPredictorMetrics = Message<"perfetto.protos.ScrollPredictorMetrics"> & {
  /**
   * Data from the previous, current, and next frame used to determine the
   * values below as according to the metric doc:
   * http://doc/1Y0u0Tq5eUZff75nYUzQVw6JxmbZAW9m64pJidmnGWsY.
   *
   * @generated from field: optional perfetto.protos.ScrollPredictorMetrics.EventFrameValue prev_event_frame_value = 1;
   */
  prevEventFrameValue?: ScrollPredictorMetrics_EventFrameValue;

  /**
   * @generated from field: optional perfetto.protos.ScrollPredictorMetrics.EventFrameValue cur_event_frame_value = 2;
   */
  curEventFrameValue?: ScrollPredictorMetrics_EventFrameValue;

  /**
   * @generated from field: optional perfetto.protos.ScrollPredictorMetrics.EventFrameValue next_event_frame_value = 3;
   */
  nextEventFrameValue?: ScrollPredictorMetrics_EventFrameValue;

  /**
   * This is the amount of delta processed in this frame that was above the
   * janky threshold (as defined by
   * http://doc/1Y0u0Tq5eUZff75nYUzQVw6JxmbZAW9m64pJidmnGWsY)
   *
   * @generated from field: optional float janky_value_pixels = 4;
   */
  jankyValuePixels: number;

  /**
   * True if we are also missing frames (so multiple frames are being presented
   * at once).
   *
   * @generated from field: optional bool has_missed_vsyncs = 5;
   */
  hasMissedVsyncs: boolean;

  /**
   * True if we're moving less than the slow scroll threshold as defined by the
   * doc above.
   *
   * @generated from field: optional bool is_slow_scroll = 6;
   */
  isSlowScroll: boolean;
};

/**
 * Describes the message perfetto.protos.ScrollPredictorMetrics.
 * Use `create(ScrollPredictorMetricsSchema)` to create a new message.
 */
export const ScrollPredictorMetricsSchema: GenMessage<ScrollPredictorMetrics> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 63);

/**
 * @generated from message perfetto.protos.ScrollPredictorMetrics.EventFrameValue
 */
export type ScrollPredictorMetrics_EventFrameValue = Message<"perfetto.protos.ScrollPredictorMetrics.EventFrameValue"> & {
  /**
   * @generated from field: optional int64 event_trace_id = 1;
   */
  eventTraceId: bigint;

  /**
   * The fractional pixels (can be fractional after the predictor adjusts in
   * resampling of input) that the page was scrolled by this frame.
   *
   * @generated from field: optional float delta_value_pixels = 2;
   */
  deltaValuePixels: number;
};

/**
 * Describes the message perfetto.protos.ScrollPredictorMetrics.EventFrameValue.
 * Use `create(ScrollPredictorMetrics_EventFrameValueSchema)` to create a new message.
 */
export const ScrollPredictorMetrics_EventFrameValueSchema: GenMessage<ScrollPredictorMetrics_EventFrameValue> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 63, 0);

/**
 * @generated from message perfetto.protos.PageLoad
 */
export type PageLoad = Message<"perfetto.protos.PageLoad"> & {
  /**
   * @generated from field: optional int64 navigation_id = 1;
   */
  navigationId: bigint;

  /**
   * @generated from field: optional string url = 2;
   */
  url: string;
};

/**
 * Describes the message perfetto.protos.PageLoad.
 * Use `create(PageLoadSchema)` to create a new message.
 */
export const PageLoadSchema: GenMessage<PageLoad> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 64);

/**
 * @generated from message perfetto.protos.StartUp
 */
export type StartUp = Message<"perfetto.protos.StartUp"> & {
  /**
   * @generated from field: optional int64 activity_id = 1;
   */
  activityId: bigint;

  /**
   * deprecated field 2.
   *
   * @generated from field: optional perfetto.protos.StartUp.LaunchCauseType launch_cause = 3;
   */
  launchCause: StartUp_LaunchCauseType;
};

/**
 * Describes the message perfetto.protos.StartUp.
 * Use `create(StartUpSchema)` to create a new message.
 */
export const StartUpSchema: GenMessage<StartUp> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 65);

/**
 * This enum must be kept up to date with LaunchCauseMetrics.LaunchCause.
 *
 * @generated from enum perfetto.protos.StartUp.LaunchCauseType
 */
export enum StartUp_LaunchCauseType {
  /**
   * @generated from enum value: UNINITIALIZED = -1;
   */
  UNINITIALIZED = -1,

  /**
   * @generated from enum value: OTHER = 0;
   */
  OTHER = 0,

  /**
   * @generated from enum value: CUSTOM_TAB = 1;
   */
  CUSTOM_TAB = 1,

  /**
   * @generated from enum value: TWA = 2;
   */
  TWA = 2,

  /**
   * @generated from enum value: RECENTS = 3;
   */
  RECENTS = 3,

  /**
   * @generated from enum value: RECENTS_OR_BACK = 4;
   */
  RECENTS_OR_BACK = 4,

  /**
   * @generated from enum value: FOREGROUND_WHEN_LOCKED = 5;
   */
  FOREGROUND_WHEN_LOCKED = 5,

  /**
   * @generated from enum value: MAIN_LAUNCHER_ICON = 6;
   */
  MAIN_LAUNCHER_ICON = 6,

  /**
   * @generated from enum value: MAIN_LAUNCHER_ICON_SHORTCUT = 7;
   */
  MAIN_LAUNCHER_ICON_SHORTCUT = 7,

  /**
   * @generated from enum value: HOME_SCREEN_WIDGET = 8;
   */
  HOME_SCREEN_WIDGET = 8,

  /**
   * @generated from enum value: OPEN_IN_BROWSER_FROM_MENU = 9;
   */
  OPEN_IN_BROWSER_FROM_MENU = 9,

  /**
   * @generated from enum value: EXTERNAL_SEARCH_ACTION_INTENT = 10;
   */
  EXTERNAL_SEARCH_ACTION_INTENT = 10,

  /**
   * @generated from enum value: NOTIFICATION = 11;
   */
  NOTIFICATION = 11,

  /**
   * @generated from enum value: EXTERNAL_VIEW_INTENT = 12;
   */
  EXTERNAL_VIEW_INTENT = 12,

  /**
   * @generated from enum value: OTHER_CHROME = 13;
   */
  OTHER_CHROME = 13,

  /**
   * @generated from enum value: WEBAPK_CHROME_DISTRIBUTOR = 14;
   */
  WEBAPK_CHROME_DISTRIBUTOR = 14,

  /**
   * @generated from enum value: WEBAPK_OTHER_DISTRIBUTOR = 15;
   */
  WEBAPK_OTHER_DISTRIBUTOR = 15,

  /**
   * @generated from enum value: HOME_SCREEN_SHORTCUT = 16;
   */
  HOME_SCREEN_SHORTCUT = 16,

  /**
   * @generated from enum value: SHARE_INTENT = 17;
   */
  SHARE_INTENT = 17,

  /**
   * @generated from enum value: NFC = 18;
   */
  NFC = 18,

  /**
   * @generated from enum value: AUTH_TAB = 19;
   */
  AUTH_TAB = 19,
}

/**
 * Describes the enum perfetto.protos.StartUp.LaunchCauseType.
 */
export const StartUp_LaunchCauseTypeSchema: GenEnum<StartUp_LaunchCauseType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 65, 0);

/**
 * @generated from message perfetto.protos.WebContentInteraction
 */
export type WebContentInteraction = Message<"perfetto.protos.WebContentInteraction"> & {
  /**
   * @generated from field: optional perfetto.protos.WebContentInteraction.Type type = 1;
   */
  type: WebContentInteraction_Type;

  /**
   * @generated from field: optional int64 total_duration_ms = 2;
   */
  totalDurationMs: bigint;
};

/**
 * Describes the message perfetto.protos.WebContentInteraction.
 * Use `create(WebContentInteractionSchema)` to create a new message.
 */
export const WebContentInteractionSchema: GenMessage<WebContentInteraction> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 66);

/**
 * @generated from enum perfetto.protos.WebContentInteraction.Type
 */
export enum WebContentInteraction_Type {
  /**
   * @generated from enum value: INTERACTION_UNSPECIFIED = 0;
   */
  INTERACTION_UNSPECIFIED = 0,

  /**
   * @generated from enum value: INTERACTION_KEYBOARD = 1;
   */
  INTERACTION_KEYBOARD = 1,

  /**
   * @generated from enum value: INTERACTION_CLICK_TAP = 2;
   */
  INTERACTION_CLICK_TAP = 2,

  /**
   * @generated from enum value: INTERACTION_DRAG = 3 [deprecated = true];
   * @deprecated
   */
  INTERACTION_DRAG = 3,
}

/**
 * Describes the enum perfetto.protos.WebContentInteraction.Type.
 */
export const WebContentInteraction_TypeSchema: GenEnum<WebContentInteraction_Type> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 66, 0);

/**
 * @generated from message perfetto.protos.ScrollMetrics
 */
export type ScrollMetrics = Message<"perfetto.protos.ScrollMetrics"> & {
  /**
   * @generated from field: optional int64 frame_count = 1;
   */
  frameCount: bigint;

  /**
   * @generated from field: optional int64 vsync_count = 2;
   */
  vsyncCount: bigint;

  /**
   * @generated from field: optional int64 missed_vsync_max = 3;
   */
  missedVsyncMax: bigint;

  /**
   * @generated from field: optional int64 missed_vsync_sum = 4;
   */
  missedVsyncSum: bigint;

  /**
   * @generated from field: optional int64 delayed_frame_count = 5;
   */
  delayedFrameCount: bigint;

  /**
   * @generated from field: optional int64 predictor_janky_frame_count = 6;
   */
  predictorJankyFrameCount: bigint;
};

/**
 * Describes the message perfetto.protos.ScrollMetrics.
 * Use `create(ScrollMetricsSchema)` to create a new message.
 */
export const ScrollMetricsSchema: GenMessage<ScrollMetrics> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 67);

/**
 * The EventForwarder is a subsystem in android that forwards events from Java
 * code to Chromium's native implementation. In this case we register how many
 * events there was, what time this event occurred and the current x & y on the
 * device screen (pixels).
 *
 * All data comes from MotionEvent getters so read these for more context:
 * https://developer.android.com/reference/android/view/MotionEvent
 *
 * @generated from message perfetto.protos.EventForwarder
 */
export type EventForwarder = Message<"perfetto.protos.EventForwarder"> & {
  /**
   * The events getHistorySize().
   *
   * @generated from field: optional int32 history_size = 1;
   */
  historySize: number;

  /**
   * The time of the oldest event (getHistoricalEventTimeNanos(0)).
   *
   * @generated from field: optional int64 oldest_time_ns = 2;
   */
  oldestTimeNs: bigint;

  /**
   * The time of the newest event (getEventTimeNanos(0)).
   *
   * @generated from field: optional int64 latest_time_ns = 5;
   */
  latestTimeNs: bigint;

  /**
   * The X coordinate of the event as reported by MotionEvent.getX().
   *
   * @generated from field: optional float x_pixel = 3;
   */
  xPixel: number;

  /**
   * The Y coordinate of the event as reported by MotionEvent.getY().
   *
   * @generated from field: optional float y_pixel = 4;
   */
  yPixel: number;

  /**
   * Determine if the previous forwarded event changed x coordinate.
   *
   * @generated from field: optional bool has_x_movement = 6;
   */
  hasXMovement: boolean;

  /**
   * Determine if the previous forwarded event changed y coordinate.
   *
   * @generated from field: optional bool has_y_movement = 7;
   */
  hasYMovement: boolean;
};

/**
 * Describes the message perfetto.protos.EventForwarder.
 * Use `create(EventForwarderSchema)` to create a new message.
 */
export const EventForwarderSchema: GenMessage<EventForwarder> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 68);

/**
 * TouchDispositionGestureFilter is a class on android that detects and forwards
 * along gesture events based on touch acks and other information.
 *
 * @generated from message perfetto.protos.TouchDispositionGestureFilter
 */
export type TouchDispositionGestureFilter = Message<"perfetto.protos.TouchDispositionGestureFilter"> & {
  /**
   * The number of gesture's inside of a GestureEventDataPacket.
   *
   * @generated from field: optional int32 gesture_count = 1;
   */
  gestureCount: number;
};

/**
 * Describes the message perfetto.protos.TouchDispositionGestureFilter.
 * Use `create(TouchDispositionGestureFilterSchema)` to create a new message.
 */
export const TouchDispositionGestureFilterSchema: GenMessage<TouchDispositionGestureFilter> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 69);

/**
 * @generated from message perfetto.protos.ViewClassName
 */
export type ViewClassName = Message<"perfetto.protos.ViewClassName"> & {
  /**
   * The name associated with a View class in browser UI. The class name is set
   * by the view class itself through metadata macros and contains no data that
   * can be modified by a user.
   *
   * @generated from field: optional string name = 1;
   */
  name: string;
};

/**
 * Describes the message perfetto.protos.ViewClassName.
 * Use `create(ViewClassNameSchema)` to create a new message.
 */
export const ViewClassNameSchema: GenMessage<ViewClassName> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 70);

/**
 * Next id: 18
 *
 * @generated from message perfetto.protos.ChromeCompositorSchedulerStateV2
 */
export type ChromeCompositorSchedulerStateV2 = Message<"perfetto.protos.ChromeCompositorSchedulerStateV2"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2 state_machine = 1;
   */
  stateMachine?: ChromeCompositorStateMachineV2;

  /**
   * @generated from field: optional bool observing_begin_frame_source = 2;
   */
  observingBeginFrameSource: boolean;

  /**
   * @generated from field: optional bool begin_impl_frame_deadline_task = 3;
   */
  beginImplFrameDeadlineTask: boolean;

  /**
   * @generated from field: optional bool pending_begin_frame_task = 4;
   */
  pendingBeginFrameTask: boolean;

  /**
   * @generated from field: optional bool skipped_last_frame_missed_exceeded_deadline = 5;
   */
  skippedLastFrameMissedExceededDeadline: boolean;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorSchedulerActionV2 inside_action = 7;
   */
  insideAction: ChromeCompositorSchedulerActionV2;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorSchedulerStateV2.BeginImplFrameDeadlineMode deadline_mode = 8;
   */
  deadlineMode: ChromeCompositorSchedulerStateV2_BeginImplFrameDeadlineMode;

  /**
   * @generated from field: optional int64 deadline_us = 9;
   */
  deadlineUs: bigint;

  /**
   * @generated from field: optional int64 deadline_scheduled_at_us = 10;
   */
  deadlineScheduledAtUs: bigint;

  /**
   * @generated from field: optional int64 now_us = 11;
   */
  nowUs: bigint;

  /**
   * @generated from field: optional int64 now_to_deadline_delta_us = 12;
   */
  nowToDeadlineDeltaUs: bigint;

  /**
   * @generated from field: optional int64 now_to_deadline_scheduled_at_delta_us = 13;
   */
  nowToDeadlineScheduledAtDeltaUs: bigint;

  /**
   * @generated from field: optional perfetto.protos.BeginImplFrameArgsV2 begin_impl_frame_args = 14;
   */
  beginImplFrameArgs?: BeginImplFrameArgsV2;

  /**
   * @generated from field: optional perfetto.protos.BeginFrameObserverStateV2 begin_frame_observer_state = 15;
   */
  beginFrameObserverState?: BeginFrameObserverStateV2;

  /**
   * @generated from field: optional perfetto.protos.BeginFrameSourceStateV2 begin_frame_source_state = 16;
   */
  beginFrameSourceState?: BeginFrameSourceStateV2;

  /**
   * @generated from field: optional perfetto.protos.CompositorTimingHistoryV2 compositor_timing_history = 17;
   */
  compositorTimingHistory?: CompositorTimingHistoryV2;
};

/**
 * Describes the message perfetto.protos.ChromeCompositorSchedulerStateV2.
 * Use `create(ChromeCompositorSchedulerStateV2Schema)` to create a new message.
 */
export const ChromeCompositorSchedulerStateV2Schema: GenMessage<ChromeCompositorSchedulerStateV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 71);

/**
 * @generated from enum perfetto.protos.ChromeCompositorSchedulerStateV2.BeginImplFrameDeadlineMode
 */
export enum ChromeCompositorSchedulerStateV2_BeginImplFrameDeadlineMode {
  /**
   * @generated from enum value: DEADLINE_MODE_UNSPECIFIED = 0;
   */
  DEADLINE_MODE_UNSPECIFIED = 0,

  /**
   * @generated from enum value: DEADLINE_MODE_NONE = 1;
   */
  DEADLINE_MODE_NONE = 1,

  /**
   * @generated from enum value: DEADLINE_MODE_IMMEDIATE = 2;
   */
  DEADLINE_MODE_IMMEDIATE = 2,

  /**
   * @generated from enum value: DEADLINE_MODE_REGULAR = 3;
   */
  DEADLINE_MODE_REGULAR = 3,

  /**
   * @generated from enum value: DEADLINE_MODE_LATE = 4;
   */
  DEADLINE_MODE_LATE = 4,

  /**
   * @generated from enum value: DEADLINE_MODE_BLOCKED = 5;
   */
  DEADLINE_MODE_BLOCKED = 5,

  /**
   * @generated from enum value: DEADLINE_MODE_WAIT_FOR_SCROLL = 6;
   */
  DEADLINE_MODE_WAIT_FOR_SCROLL = 6,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorSchedulerStateV2.BeginImplFrameDeadlineMode.
 */
export const ChromeCompositorSchedulerStateV2_BeginImplFrameDeadlineModeSchema: GenEnum<ChromeCompositorSchedulerStateV2_BeginImplFrameDeadlineMode> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 71, 0);

/**
 * Describes the current values stored in the Chrome Compositor state machine.
 * Next id: 3
 *
 * @generated from message perfetto.protos.ChromeCompositorStateMachineV2
 */
export type ChromeCompositorStateMachineV2 = Message<"perfetto.protos.ChromeCompositorStateMachineV2"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2 major_state = 1;
   */
  majorState?: ChromeCompositorStateMachineV2_MajorStateV2;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2 minor_state = 2;
   */
  minorState?: ChromeCompositorStateMachineV2_MinorStateV2;
};

/**
 * Describes the message perfetto.protos.ChromeCompositorStateMachineV2.
 * Use `create(ChromeCompositorStateMachineV2Schema)` to create a new message.
 */
export const ChromeCompositorStateMachineV2Schema: GenMessage<ChromeCompositorStateMachineV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 72);

/**
 * Next id: 6
 *
 * @generated from message perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2
 */
export type ChromeCompositorStateMachineV2_MajorStateV2 = Message<"perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorSchedulerActionV2 next_action = 1;
   */
  nextAction: ChromeCompositorSchedulerActionV2;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.BeginImplFrameState begin_impl_frame_state = 2;
   */
  beginImplFrameState: ChromeCompositorStateMachineV2_MajorStateV2_BeginImplFrameState;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.BeginMainFrameState begin_main_frame_state = 3;
   */
  beginMainFrameState: ChromeCompositorStateMachineV2_MajorStateV2_BeginMainFrameState;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.LayerTreeFrameSinkState layer_tree_frame_sink_state = 4;
   */
  layerTreeFrameSinkState: ChromeCompositorStateMachineV2_MajorStateV2_LayerTreeFrameSinkState;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.ForcedRedrawOnTimeoutState forced_redraw_state = 5;
   */
  forcedRedrawState: ChromeCompositorStateMachineV2_MajorStateV2_ForcedRedrawOnTimeoutState;
};

/**
 * Describes the message perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.
 * Use `create(ChromeCompositorStateMachineV2_MajorStateV2Schema)` to create a new message.
 */
export const ChromeCompositorStateMachineV2_MajorStateV2Schema: GenMessage<ChromeCompositorStateMachineV2_MajorStateV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 72, 0);

/**
 * @generated from enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.BeginImplFrameState
 */
export enum ChromeCompositorStateMachineV2_MajorStateV2_BeginImplFrameState {
  /**
   * @generated from enum value: BEGIN_IMPL_FRAME_UNSPECIFIED = 0;
   */
  BEGIN_IMPL_FRAME_UNSPECIFIED = 0,

  /**
   * @generated from enum value: BEGIN_IMPL_FRAME_IDLE = 1;
   */
  BEGIN_IMPL_FRAME_IDLE = 1,

  /**
   * @generated from enum value: BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME = 2;
   */
  BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME = 2,

  /**
   * @generated from enum value: BEGIN_IMPL_FRAME_INSIDE_DEADLINE = 3;
   */
  BEGIN_IMPL_FRAME_INSIDE_DEADLINE = 3,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.BeginImplFrameState.
 */
export const ChromeCompositorStateMachineV2_MajorStateV2_BeginImplFrameStateSchema: GenEnum<ChromeCompositorStateMachineV2_MajorStateV2_BeginImplFrameState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 72, 0, 0);

/**
 * @generated from enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.BeginMainFrameState
 */
export enum ChromeCompositorStateMachineV2_MajorStateV2_BeginMainFrameState {
  /**
   * @generated from enum value: BEGIN_MAIN_FRAME_UNSPECIFIED = 0;
   */
  BEGIN_MAIN_FRAME_UNSPECIFIED = 0,

  /**
   * @generated from enum value: BEGIN_MAIN_FRAME_IDLE = 1;
   */
  BEGIN_MAIN_FRAME_IDLE = 1,

  /**
   * @generated from enum value: BEGIN_MAIN_FRAME_SENT = 2;
   */
  BEGIN_MAIN_FRAME_SENT = 2,

  /**
   * @generated from enum value: BEGIN_MAIN_FRAME_READY_TO_COMMIT = 3;
   */
  BEGIN_MAIN_FRAME_READY_TO_COMMIT = 3,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.BeginMainFrameState.
 */
export const ChromeCompositorStateMachineV2_MajorStateV2_BeginMainFrameStateSchema: GenEnum<ChromeCompositorStateMachineV2_MajorStateV2_BeginMainFrameState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 72, 0, 1);

/**
 * @generated from enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.LayerTreeFrameSinkState
 */
export enum ChromeCompositorStateMachineV2_MajorStateV2_LayerTreeFrameSinkState {
  /**
   * @generated from enum value: LAYER_TREE_FRAME_UNSPECIFIED = 0;
   */
  LAYER_TREE_FRAME_UNSPECIFIED = 0,

  /**
   * @generated from enum value: LAYER_TREE_FRAME_NONE = 1;
   */
  LAYER_TREE_FRAME_NONE = 1,

  /**
   * @generated from enum value: LAYER_TREE_FRAME_ACTIVE = 2;
   */
  LAYER_TREE_FRAME_ACTIVE = 2,

  /**
   * @generated from enum value: LAYER_TREE_FRAME_CREATING = 3;
   */
  LAYER_TREE_FRAME_CREATING = 3,

  /**
   * @generated from enum value: LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT = 4;
   */
  LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT = 4,

  /**
   * @generated from enum value: LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION = 5;
   */
  LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION = 5,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.LayerTreeFrameSinkState.
 */
export const ChromeCompositorStateMachineV2_MajorStateV2_LayerTreeFrameSinkStateSchema: GenEnum<ChromeCompositorStateMachineV2_MajorStateV2_LayerTreeFrameSinkState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 72, 0, 2);

/**
 * @generated from enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.ForcedRedrawOnTimeoutState
 */
export enum ChromeCompositorStateMachineV2_MajorStateV2_ForcedRedrawOnTimeoutState {
  /**
   * @generated from enum value: FORCED_REDRAW_UNSPECIFIED = 0;
   */
  FORCED_REDRAW_UNSPECIFIED = 0,

  /**
   * @generated from enum value: FORCED_REDRAW_IDLE = 1;
   */
  FORCED_REDRAW_IDLE = 1,

  /**
   * @generated from enum value: FORCED_REDRAW_WAITING_FOR_COMMIT = 2;
   */
  FORCED_REDRAW_WAITING_FOR_COMMIT = 2,

  /**
   * @generated from enum value: FORCED_REDRAW_WAITING_FOR_ACTIVATION = 3;
   */
  FORCED_REDRAW_WAITING_FOR_ACTIVATION = 3,

  /**
   * @generated from enum value: FORCED_REDRAW_WAITING_FOR_DRAW = 4;
   */
  FORCED_REDRAW_WAITING_FOR_DRAW = 4,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorStateMachineV2.MajorStateV2.ForcedRedrawOnTimeoutState.
 */
export const ChromeCompositorStateMachineV2_MajorStateV2_ForcedRedrawOnTimeoutStateSchema: GenEnum<ChromeCompositorStateMachineV2_MajorStateV2_ForcedRedrawOnTimeoutState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 72, 0, 3);

/**
 * Next id: 48
 *
 * @generated from message perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2
 */
export type ChromeCompositorStateMachineV2_MinorStateV2 = Message<"perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2"> & {
  /**
   * @generated from field: optional int32 commit_count = 1;
   */
  commitCount: number;

  /**
   * @generated from field: optional int32 current_frame_number = 2;
   */
  currentFrameNumber: number;

  /**
   * @generated from field: optional int32 last_frame_number_submit_performed = 3;
   */
  lastFrameNumberSubmitPerformed: number;

  /**
   * @generated from field: optional int32 last_frame_number_draw_performed = 4;
   */
  lastFrameNumberDrawPerformed: number;

  /**
   * @generated from field: optional int32 last_frame_number_begin_main_frame_sent = 5;
   */
  lastFrameNumberBeginMainFrameSent: number;

  /**
   * @generated from field: optional bool did_draw = 6;
   */
  didDraw: boolean;

  /**
   * @generated from field: optional bool did_send_begin_main_frame_for_current_frame = 7;
   */
  didSendBeginMainFrameForCurrentFrame: boolean;

  /**
   * @generated from field: optional bool did_notify_begin_main_frame_not_expected_until = 8;
   */
  didNotifyBeginMainFrameNotExpectedUntil: boolean;

  /**
   * @generated from field: optional bool did_notify_begin_main_frame_not_expected_soon = 9;
   */
  didNotifyBeginMainFrameNotExpectedSoon: boolean;

  /**
   * @generated from field: optional bool wants_begin_main_frame_not_expected = 10;
   */
  wantsBeginMainFrameNotExpected: boolean;

  /**
   * @generated from field: optional bool did_commit_during_frame = 11;
   */
  didCommitDuringFrame: boolean;

  /**
   * @generated from field: optional bool did_invalidate_layer_tree_frame_sink = 12;
   */
  didInvalidateLayerTreeFrameSink: boolean;

  /**
   * @generated from field: optional bool did_perform_impl_side_invalidaion = 13;
   */
  didPerformImplSideInvalidaion: boolean;

  /**
   * @generated from field: optional bool did_prepare_tiles = 14;
   */
  didPrepareTiles: boolean;

  /**
   * @generated from field: optional int32 consecutive_checkerboard_animations = 15;
   */
  consecutiveCheckerboardAnimations: number;

  /**
   * @generated from field: optional int32 pending_submit_frames = 16;
   */
  pendingSubmitFrames: number;

  /**
   * @generated from field: optional int32 submit_frames_with_current_layer_tree_frame_sink = 17;
   */
  submitFramesWithCurrentLayerTreeFrameSink: number;

  /**
   * @generated from field: optional bool needs_redraw = 18;
   */
  needsRedraw: boolean;

  /**
   * @generated from field: optional bool needs_prepare_tiles = 19;
   */
  needsPrepareTiles: boolean;

  /**
   * @generated from field: optional bool needs_begin_main_frame = 20;
   */
  needsBeginMainFrame: boolean;

  /**
   * @generated from field: optional bool needs_one_begin_impl_frame = 21;
   */
  needsOneBeginImplFrame: boolean;

  /**
   * @generated from field: optional bool visible = 22;
   */
  visible: boolean;

  /**
   * @generated from field: optional bool begin_frame_source_paused = 23;
   */
  beginFrameSourcePaused: boolean;

  /**
   * @generated from field: optional bool can_draw = 24;
   */
  canDraw: boolean;

  /**
   * @generated from field: optional bool resourceless_draw = 25;
   */
  resourcelessDraw: boolean;

  /**
   * @generated from field: optional bool has_pending_tree = 26;
   */
  hasPendingTree: boolean;

  /**
   * @generated from field: optional bool pending_tree_is_ready_for_activation = 27;
   */
  pendingTreeIsReadyForActivation: boolean;

  /**
   * @generated from field: optional bool active_tree_needs_first_draw = 28;
   */
  activeTreeNeedsFirstDraw: boolean;

  /**
   * @generated from field: optional bool active_tree_is_ready_to_draw = 29;
   */
  activeTreeIsReadyToDraw: boolean;

  /**
   * @generated from field: optional bool did_create_and_initialize_first_layer_tree_frame_sink = 30;
   */
  didCreateAndInitializeFirstLayerTreeFrameSink: boolean;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.TreePriority tree_priority = 31;
   */
  treePriority: ChromeCompositorStateMachineV2_MinorStateV2_TreePriority;

  /**
   * @generated from field: optional perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.ScrollHandlerState scroll_handler_state = 32;
   */
  scrollHandlerState: ChromeCompositorStateMachineV2_MinorStateV2_ScrollHandlerState;

  /**
   * @generated from field: optional bool critical_begin_main_frame_to_activate_is_fast = 33;
   */
  criticalBeginMainFrameToActivateIsFast: boolean;

  /**
   * @generated from field: optional bool main_thread_missed_last_deadline = 34;
   */
  mainThreadMissedLastDeadline: boolean;

  /**
   * @generated from field: optional bool video_needs_begin_frames = 36;
   */
  videoNeedsBeginFrames: boolean;

  /**
   * @generated from field: optional bool defer_begin_main_frame = 37;
   */
  deferBeginMainFrame: boolean;

  /**
   * @generated from field: optional bool last_commit_had_no_updates = 38;
   */
  lastCommitHadNoUpdates: boolean;

  /**
   * @generated from field: optional bool did_draw_in_last_frame = 39;
   */
  didDrawInLastFrame: boolean;

  /**
   * @generated from field: optional bool did_submit_in_last_frame = 40;
   */
  didSubmitInLastFrame: boolean;

  /**
   * @generated from field: optional bool needs_impl_side_invalidation = 41;
   */
  needsImplSideInvalidation: boolean;

  /**
   * @generated from field: optional bool current_pending_tree_is_impl_side = 42;
   */
  currentPendingTreeIsImplSide: boolean;

  /**
   * @generated from field: optional bool previous_pending_tree_was_impl_side = 43;
   */
  previousPendingTreeWasImplSide: boolean;

  /**
   * @generated from field: optional bool processing_animation_worklets_for_active_tree = 44;
   */
  processingAnimationWorkletsForActiveTree: boolean;

  /**
   * @generated from field: optional bool processing_animation_worklets_for_pending_tree = 45;
   */
  processingAnimationWorkletsForPendingTree: boolean;

  /**
   * @generated from field: optional bool processing_paint_worklets_for_pending_tree = 46;
   */
  processingPaintWorkletsForPendingTree: boolean;

  /**
   * @generated from field: optional bool should_warm_up = 47;
   */
  shouldWarmUp: boolean;
};

/**
 * Describes the message perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.
 * Use `create(ChromeCompositorStateMachineV2_MinorStateV2Schema)` to create a new message.
 */
export const ChromeCompositorStateMachineV2_MinorStateV2Schema: GenMessage<ChromeCompositorStateMachineV2_MinorStateV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 72, 1);

/**
 * @generated from enum perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.TreePriority
 */
export enum ChromeCompositorStateMachineV2_MinorStateV2_TreePriority {
  /**
   * @generated from enum value: TREE_PRIORITY_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES = 1;
   */
  SAME_PRIORITY_FOR_BOTH_TREES = 1,

  /**
   * @generated from enum value: TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY = 2;
   */
  SMOOTHNESS_TAKES_PRIORITY = 2,

  /**
   * @generated from enum value: TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY = 3;
   */
  NEW_CONTENT_TAKES_PRIORITY = 3,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.TreePriority.
 */
export const ChromeCompositorStateMachineV2_MinorStateV2_TreePrioritySchema: GenEnum<ChromeCompositorStateMachineV2_MinorStateV2_TreePriority> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 72, 1, 0);

/**
 * @generated from enum perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.ScrollHandlerState
 */
export enum ChromeCompositorStateMachineV2_MinorStateV2_ScrollHandlerState {
  /**
   * @generated from enum value: SCROLL_HANDLER_UNSPECIFIED = 0;
   */
  SCROLL_HANDLER_UNSPECIFIED = 0,

  /**
   * @generated from enum value: SCROLL_AFFECTS_SCROLL_HANDLER = 1;
   */
  SCROLL_AFFECTS_SCROLL_HANDLER = 1,

  /**
   * @generated from enum value: SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER = 2;
   */
  SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER = 2,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorStateMachineV2.MinorStateV2.ScrollHandlerState.
 */
export const ChromeCompositorStateMachineV2_MinorStateV2_ScrollHandlerStateSchema: GenEnum<ChromeCompositorStateMachineV2_MinorStateV2_ScrollHandlerState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 72, 1, 1);

/**
 * Next id: 12
 *
 * @generated from message perfetto.protos.BeginFrameArgsV2
 */
export type BeginFrameArgsV2 = Message<"perfetto.protos.BeginFrameArgsV2"> & {
  /**
   * @generated from field: optional perfetto.protos.BeginFrameArgsV2.BeginFrameArgsType type = 1;
   */
  type: BeginFrameArgsV2_BeginFrameArgsType;

  /**
   * @generated from field: optional uint64 source_id = 2;
   */
  sourceId: bigint;

  /**
   * @generated from field: optional uint64 sequence_number = 3;
   */
  sequenceNumber: bigint;

  /**
   * @generated from field: optional int64 frame_time_us = 4;
   */
  frameTimeUs: bigint;

  /**
   * @generated from field: optional int64 deadline_us = 5;
   */
  deadlineUs: bigint;

  /**
   * @generated from field: optional int64 interval_delta_us = 6;
   */
  intervalDeltaUs: bigint;

  /**
   * @generated from field: optional bool on_critical_path = 7;
   */
  onCriticalPath: boolean;

  /**
   * @generated from field: optional bool animate_only = 8;
   */
  animateOnly: boolean;

  /**
   * @generated from oneof perfetto.protos.BeginFrameArgsV2.created_from
   */
  createdFrom: {
    /**
     * The interned SourceLocation.
     *
     * @generated from field: uint64 source_location_iid = 9;
     */
    value: bigint;
    case: "sourceLocationIid";
  } | {
    /**
     * The SourceLocation that this args was created from.
     * TODO(nuskos): Eventually we will support interning inside of
     * TypedArgument TraceEvents and then we shouldn't need this SourceLocation
     * since we can emit it as part of the InternedData message. When we can
     * remove this |source_location|.
     *
     * @generated from field: perfetto.protos.SourceLocation source_location = 10;
     */
    value: SourceLocation;
    case: "sourceLocation";
  } | { case: undefined; value?: undefined };

  /**
   * @generated from field: optional int64 frames_throttled_since_last = 11;
   */
  framesThrottledSinceLast: bigint;
};

/**
 * Describes the message perfetto.protos.BeginFrameArgsV2.
 * Use `create(BeginFrameArgsV2Schema)` to create a new message.
 */
export const BeginFrameArgsV2Schema: GenMessage<BeginFrameArgsV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 73);

/**
 * JSON format has a "type" field that was always just "BeginFrameArgs" we
 * drop this in the proto representation, and instead make the JSON format
 * "subtype" field become the type field.
 *
 * @generated from enum perfetto.protos.BeginFrameArgsV2.BeginFrameArgsType
 */
export enum BeginFrameArgsV2_BeginFrameArgsType {
  /**
   * @generated from enum value: BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: BEGIN_FRAME_ARGS_TYPE_INVALID = 1;
   */
  INVALID = 1,

  /**
   * @generated from enum value: BEGIN_FRAME_ARGS_TYPE_NORMAL = 2;
   */
  NORMAL = 2,

  /**
   * @generated from enum value: BEGIN_FRAME_ARGS_TYPE_MISSED = 3;
   */
  MISSED = 3,
}

/**
 * Describes the enum perfetto.protos.BeginFrameArgsV2.BeginFrameArgsType.
 */
export const BeginFrameArgsV2_BeginFrameArgsTypeSchema: GenEnum<BeginFrameArgsV2_BeginFrameArgsType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 73, 0);

/**
 * Next id: 7
 *
 * @generated from message perfetto.protos.BeginImplFrameArgsV2
 */
export type BeginImplFrameArgsV2 = Message<"perfetto.protos.BeginImplFrameArgsV2"> & {
  /**
   * @generated from field: optional int64 updated_at_us = 1;
   */
  updatedAtUs: bigint;

  /**
   * @generated from field: optional int64 finished_at_us = 2;
   */
  finishedAtUs: bigint;

  /**
   * @generated from field: optional perfetto.protos.BeginImplFrameArgsV2.State state = 3;
   */
  state: BeginImplFrameArgsV2_State;

  /**
   * @generated from oneof perfetto.protos.BeginImplFrameArgsV2.args
   */
  args: {
    /**
     * Only set if |state| is BEGIN_FRAME_FINISHED.
     *
     * @generated from field: perfetto.protos.BeginFrameArgsV2 current_args = 4;
     */
    value: BeginFrameArgsV2;
    case: "currentArgs";
  } | {
    /**
     * Only set if |state| is BEGIN_FRAME_USING.
     *
     * @generated from field: perfetto.protos.BeginFrameArgsV2 last_args = 5;
     */
    value: BeginFrameArgsV2;
    case: "lastArgs";
  } | { case: undefined; value?: undefined };

  /**
   * @generated from field: optional perfetto.protos.BeginImplFrameArgsV2.TimestampsInUs timestamps_in_us = 6;
   */
  timestampsInUs?: BeginImplFrameArgsV2_TimestampsInUs;
};

/**
 * Describes the message perfetto.protos.BeginImplFrameArgsV2.
 * Use `create(BeginImplFrameArgsV2Schema)` to create a new message.
 */
export const BeginImplFrameArgsV2Schema: GenMessage<BeginImplFrameArgsV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 74);

/**
 * @generated from message perfetto.protos.BeginImplFrameArgsV2.TimestampsInUs
 */
export type BeginImplFrameArgsV2_TimestampsInUs = Message<"perfetto.protos.BeginImplFrameArgsV2.TimestampsInUs"> & {
  /**
   * @generated from field: optional int64 interval_delta = 1;
   */
  intervalDelta: bigint;

  /**
   * @generated from field: optional int64 now_to_deadline_delta = 2;
   */
  nowToDeadlineDelta: bigint;

  /**
   * @generated from field: optional int64 frame_time_to_now_delta = 3;
   */
  frameTimeToNowDelta: bigint;

  /**
   * @generated from field: optional int64 frame_time_to_deadline_delta = 4;
   */
  frameTimeToDeadlineDelta: bigint;

  /**
   * @generated from field: optional int64 now = 5;
   */
  now: bigint;

  /**
   * @generated from field: optional int64 frame_time = 6;
   */
  frameTime: bigint;

  /**
   * @generated from field: optional int64 deadline = 7;
   */
  deadline: bigint;
};

/**
 * Describes the message perfetto.protos.BeginImplFrameArgsV2.TimestampsInUs.
 * Use `create(BeginImplFrameArgsV2_TimestampsInUsSchema)` to create a new message.
 */
export const BeginImplFrameArgsV2_TimestampsInUsSchema: GenMessage<BeginImplFrameArgsV2_TimestampsInUs> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 74, 0);

/**
 * @generated from enum perfetto.protos.BeginImplFrameArgsV2.State
 */
export enum BeginImplFrameArgsV2_State {
  /**
   * @generated from enum value: BEGIN_FRAME_FINISHED = 0;
   */
  BEGIN_FRAME_FINISHED = 0,

  /**
   * @generated from enum value: BEGIN_FRAME_USING = 1;
   */
  BEGIN_FRAME_USING = 1,
}

/**
 * Describes the enum perfetto.protos.BeginImplFrameArgsV2.State.
 */
export const BeginImplFrameArgsV2_StateSchema: GenEnum<BeginImplFrameArgsV2_State> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 74, 0);

/**
 * @generated from message perfetto.protos.BeginFrameObserverStateV2
 */
export type BeginFrameObserverStateV2 = Message<"perfetto.protos.BeginFrameObserverStateV2"> & {
  /**
   * @generated from field: optional int64 dropped_begin_frame_args = 1;
   */
  droppedBeginFrameArgs: bigint;

  /**
   * @generated from field: optional perfetto.protos.BeginFrameArgsV2 last_begin_frame_args = 2;
   */
  lastBeginFrameArgs?: BeginFrameArgsV2;
};

/**
 * Describes the message perfetto.protos.BeginFrameObserverStateV2.
 * Use `create(BeginFrameObserverStateV2Schema)` to create a new message.
 */
export const BeginFrameObserverStateV2Schema: GenMessage<BeginFrameObserverStateV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 75);

/**
 * @generated from message perfetto.protos.BeginFrameSourceStateV2
 */
export type BeginFrameSourceStateV2 = Message<"perfetto.protos.BeginFrameSourceStateV2"> & {
  /**
   * @generated from field: optional uint32 source_id = 1;
   */
  sourceId: number;

  /**
   * @generated from field: optional bool paused = 2;
   */
  paused: boolean;

  /**
   * @generated from field: optional uint32 num_observers = 3;
   */
  numObservers: number;

  /**
   * @generated from field: optional perfetto.protos.BeginFrameArgsV2 last_begin_frame_args = 4;
   */
  lastBeginFrameArgs?: BeginFrameArgsV2;
};

/**
 * Describes the message perfetto.protos.BeginFrameSourceStateV2.
 * Use `create(BeginFrameSourceStateV2Schema)` to create a new message.
 */
export const BeginFrameSourceStateV2Schema: GenMessage<BeginFrameSourceStateV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 76);

/**
 * @generated from message perfetto.protos.CompositorTimingHistoryV2
 */
export type CompositorTimingHistoryV2 = Message<"perfetto.protos.CompositorTimingHistoryV2"> & {
  /**
   * @generated from field: optional int64 begin_main_frame_queue_critical_estimate_delta_us = 1;
   */
  beginMainFrameQueueCriticalEstimateDeltaUs: bigint;

  /**
   * @generated from field: optional int64 begin_main_frame_queue_not_critical_estimate_delta_us = 2;
   */
  beginMainFrameQueueNotCriticalEstimateDeltaUs: bigint;

  /**
   * @generated from field: optional int64 begin_main_frame_start_to_ready_to_commit_estimate_delta_us = 3;
   */
  beginMainFrameStartToReadyToCommitEstimateDeltaUs: bigint;

  /**
   * @generated from field: optional int64 commit_to_ready_to_activate_estimate_delta_us = 4;
   */
  commitToReadyToActivateEstimateDeltaUs: bigint;

  /**
   * @generated from field: optional int64 prepare_tiles_estimate_delta_us = 5;
   */
  prepareTilesEstimateDeltaUs: bigint;

  /**
   * @generated from field: optional int64 activate_estimate_delta_us = 6;
   */
  activateEstimateDeltaUs: bigint;

  /**
   * @generated from field: optional int64 draw_estimate_delta_us = 7;
   */
  drawEstimateDeltaUs: bigint;
};

/**
 * Describes the message perfetto.protos.CompositorTimingHistoryV2.
 * Use `create(CompositorTimingHistoryV2Schema)` to create a new message.
 */
export const CompositorTimingHistoryV2Schema: GenMessage<CompositorTimingHistoryV2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 77);

/**
 * @generated from message perfetto.protos.WebViewStartup
 */
export type WebViewStartup = Message<"perfetto.protos.WebViewStartup"> & {
  /**
   * @generated from field: optional bool from_ui_thread = 1;
   */
  fromUiThread: boolean;

  /**
   * @generated from field: optional perfetto.protos.WebViewStartup.CallSite call_site = 2;
   */
  callSite: WebViewStartup_CallSite;
};

/**
 * Describes the message perfetto.protos.WebViewStartup.
 * Use `create(WebViewStartupSchema)` to create a new message.
 */
export const WebViewStartupSchema: GenMessage<WebViewStartup> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 78);

/**
 * This enum must be kept in sync with WebViewChromiumAwInit.CallSite
 *
 * @generated from enum perfetto.protos.WebViewStartup.CallSite
 */
export enum WebViewStartup_CallSite {
  /**
   * @generated from enum value: GET_AW_TRACING_CONTROLLER = 0;
   */
  GET_AW_TRACING_CONTROLLER = 0,

  /**
   * @generated from enum value: GET_AW_PROXY_CONTROLLER = 1;
   */
  GET_AW_PROXY_CONTROLLER = 1,

  /**
   * @generated from enum value: WEBVIEW_INSTANCE = 2;
   */
  WEBVIEW_INSTANCE = 2,

  /**
   * @generated from enum value: GET_STATICS = 3;
   */
  GET_STATICS = 3,

  /**
   * @generated from enum value: GET_DEFAULT_GEOLOCATION_PERMISSIONS = 4;
   */
  GET_DEFAULT_GEOLOCATION_PERMISSIONS = 4,

  /**
   * @generated from enum value: GET_DEFAULT_SERVICE_WORKER_CONTROLLER = 5;
   */
  GET_DEFAULT_SERVICE_WORKER_CONTROLLER = 5,

  /**
   * @generated from enum value: GET_WEB_ICON_DATABASE = 6;
   */
  GET_WEB_ICON_DATABASE = 6,

  /**
   * @generated from enum value: GET_DEFAULT_WEB_STORAGE = 7;
   */
  GET_DEFAULT_WEB_STORAGE = 7,

  /**
   * @generated from enum value: GET_DEFAULT_WEBVIEW_DATABASE = 8;
   */
  GET_DEFAULT_WEBVIEW_DATABASE = 8,

  /**
   * @generated from enum value: GET_TRACING_CONTROLLER = 9;
   */
  GET_TRACING_CONTROLLER = 9,

  /**
   * @generated from enum value: ASYNC_WEBVIEW_STARTUP = 10;
   */
  ASYNC_WEBVIEW_STARTUP = 10,
}

/**
 * Describes the enum perfetto.protos.WebViewStartup.CallSite.
 */
export const WebViewStartup_CallSiteSchema: GenEnum<WebViewStartup_CallSite> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 78, 0);

/**
 * @generated from message perfetto.protos.AnimationFrameTimingInfo
 */
export type AnimationFrameTimingInfo = Message<"perfetto.protos.AnimationFrameTimingInfo"> & {
  /**
   * @generated from field: optional int64 blocking_duration_ms = 1;
   */
  blockingDurationMs: bigint;

  /**
   * @generated from field: optional int64 duration_ms = 2;
   */
  durationMs: bigint;

  /**
   * @generated from field: optional int64 num_scripts = 3;
   */
  numScripts: bigint;

  /**
   * Id for the BeginFrame, which triggered this animation frame.
   *
   * @generated from field: optional perfetto.protos.BeginFrameId begin_frame_id = 4;
   */
  beginFrameId?: BeginFrameId;
};

/**
 * Describes the message perfetto.protos.AnimationFrameTimingInfo.
 * Use `create(AnimationFrameTimingInfoSchema)` to create a new message.
 */
export const AnimationFrameTimingInfoSchema: GenMessage<AnimationFrameTimingInfo> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 79);

/**
 * @generated from message perfetto.protos.AnimationFrameScriptTimingInfo
 */
export type AnimationFrameScriptTimingInfo = Message<"perfetto.protos.AnimationFrameScriptTimingInfo"> & {
  /**
   * @generated from field: optional int64 style_duration_ms = 1;
   */
  styleDurationMs: bigint;

  /**
   * @generated from field: optional int64 layout_duration_ms = 2;
   */
  layoutDurationMs: bigint;

  /**
   * @generated from field: optional int64 pause_duration_ms = 3;
   */
  pauseDurationMs: bigint;

  /**
   * @generated from field: optional string class_like_name = 4;
   */
  classLikeName: string;

  /**
   * @generated from field: optional string property_like_name = 5;
   */
  propertyLikeName: string;

  /**
   * @generated from field: optional string source_location_url = 6;
   */
  sourceLocationUrl: string;

  /**
   * @generated from field: optional string source_location_function_name = 7;
   */
  sourceLocationFunctionName: string;

  /**
   * @generated from field: optional int64 source_location_char_position = 8;
   */
  sourceLocationCharPosition: bigint;

  /**
   * @generated from field: optional perfetto.protos.AnimationFrameScriptTimingInfo.InvokerType invoker_type = 9;
   */
  invokerType: AnimationFrameScriptTimingInfo_InvokerType;

  /**
   * @generated from field: optional perfetto.protos.AnimationFrameScriptTimingInfo.ThirdPartyTechnology third_party_technology = 10;
   */
  thirdPartyTechnology: AnimationFrameScriptTimingInfo_ThirdPartyTechnology;
};

/**
 * Describes the message perfetto.protos.AnimationFrameScriptTimingInfo.
 * Use `create(AnimationFrameScriptTimingInfoSchema)` to create a new message.
 */
export const AnimationFrameScriptTimingInfoSchema: GenMessage<AnimationFrameScriptTimingInfo> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 80);

/**
 * @generated from enum perfetto.protos.AnimationFrameScriptTimingInfo.InvokerType
 */
export enum AnimationFrameScriptTimingInfo_InvokerType {
  /**
   * @generated from enum value: UNDEFINED = 0;
   */
  UNDEFINED = 0,

  /**
   * @generated from enum value: CLASSIC_SCRIPT = 1;
   */
  CLASSIC_SCRIPT = 1,

  /**
   * @generated from enum value: MODULE_SCRIPT = 2;
   */
  MODULE_SCRIPT = 2,

  /**
   * @generated from enum value: USER_CALLBACK = 3;
   */
  USER_CALLBACK = 3,

  /**
   * @generated from enum value: EVENT_HANDLER = 4;
   */
  EVENT_HANDLER = 4,

  /**
   * @generated from enum value: PROMISE_RESOLVE = 5;
   */
  PROMISE_RESOLVE = 5,

  /**
   * @generated from enum value: PROMISE_REJECT = 6;
   */
  PROMISE_REJECT = 6,
}

/**
 * Describes the enum perfetto.protos.AnimationFrameScriptTimingInfo.InvokerType.
 */
export const AnimationFrameScriptTimingInfo_InvokerTypeSchema: GenEnum<AnimationFrameScriptTimingInfo_InvokerType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 80, 0);

/**
 * @generated from enum perfetto.protos.AnimationFrameScriptTimingInfo.ThirdPartyTechnology
 */
export enum AnimationFrameScriptTimingInfo_ThirdPartyTechnology {
  /**
   * @generated from enum value: UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: NONE = 1;
   */
  NONE = 1,

  /**
   * @generated from enum value: WORD_PRESS = 2;
   */
  WORD_PRESS = 2,

  /**
   * @generated from enum value: GOOGLE_ANALYTICS = 3;
   */
  GOOGLE_ANALYTICS = 3,

  /**
   * @generated from enum value: GOOGLE_FONT_API = 4;
   */
  GOOGLE_FONT_API = 4,

  /**
   * @generated from enum value: GOOGLE_TAG_MANAGER = 5;
   */
  GOOGLE_TAG_MANAGER = 5,

  /**
   * @generated from enum value: GOOGLE_MAPS = 6;
   */
  GOOGLE_MAPS = 6,

  /**
   * @generated from enum value: META_PIXEL = 7;
   */
  META_PIXEL = 7,

  /**
   * @generated from enum value: YOUTUBE = 8;
   */
  YOUTUBE = 8,

  /**
   * @generated from enum value: ADOBE_ANALYTICS = 9;
   */
  ADOBE_ANALYTICS = 9,

  /**
   * @generated from enum value: TIKTOK_PIXEL = 10;
   */
  TIKTOK_PIXEL = 10,

  /**
   * @generated from enum value: HOTJAR = 11;
   */
  HOTJAR = 11,

  /**
   * @generated from enum value: GOOGLE_ADSENSE = 12;
   */
  GOOGLE_ADSENSE = 12,

  /**
   * @generated from enum value: GOOGLE_PUBLISHER_TAG = 13;
   */
  GOOGLE_PUBLISHER_TAG = 13,

  /**
   * @generated from enum value: GOOGLE_ADS_LIBRARIES = 14;
   */
  GOOGLE_ADS_LIBRARIES = 14,

  /**
   * @generated from enum value: FUNDING_CHOICES = 15;
   */
  FUNDING_CHOICES = 15,

  /**
   * @generated from enum value: ELEMENTOR = 16;
   */
  ELEMENTOR = 16,

  /**
   * @generated from enum value: SLIDER_REVOLUTION = 17;
   */
  SLIDER_REVOLUTION = 17,
}

/**
 * Describes the enum perfetto.protos.AnimationFrameScriptTimingInfo.ThirdPartyTechnology.
 */
export const AnimationFrameScriptTimingInfo_ThirdPartyTechnologySchema: GenEnum<AnimationFrameScriptTimingInfo_ThirdPartyTechnology> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 80, 1);

/**
 * @generated from message perfetto.protos.BeginFrameId
 */
export type BeginFrameId = Message<"perfetto.protos.BeginFrameId"> & {
  /**
   * @generated from field: optional uint64 source_id = 1;
   */
  sourceId: bigint;

  /**
   * @generated from field: optional uint64 sequence_number = 2;
   */
  sequenceNumber: bigint;
};

/**
 * Describes the message perfetto.protos.BeginFrameId.
 * Use `create(BeginFrameIdSchema)` to create a new message.
 */
export const BeginFrameIdSchema: GenMessage<BeginFrameId> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 81);

/**
 * @generated from message perfetto.protos.MainFramePipeline
 */
export type MainFramePipeline = Message<"perfetto.protos.MainFramePipeline"> & {
  /**
   * Id connecting the steps of the pipeline together.
   *
   * @generated from field: optional uint64 main_frame_id = 1;
   */
  mainFrameId: bigint;

  /**
   * @generated from field: optional perfetto.protos.MainFramePipeline.Step step = 2;
   */
  step: MainFramePipeline_Step;

  /**
   * Id for the BeginFrame, which triggered this main frame.
   * Set for the SEND_BEGIN_MAIN_FRAME step.
   *
   * @generated from field: optional perfetto.protos.BeginFrameId begin_frame_id = 3;
   */
  beginFrameId?: BeginFrameId;

  /**
   * @generated from field: optional perfetto.protos.MainFramePipeline.AbortedOnMainReason aborted_on_main_reason = 4;
   */
  abortedOnMainReason: MainFramePipeline_AbortedOnMainReason;

  /**
   * Id of the last begin frame id issued by renderer compositor by the time
   * this main frame is drawn for the first time.
   * The difference between `begin_frame_id` and
   * `last_begin_frame_id_during_first_draw` can be used to reason about the
   * main frame latency. Set for the first DRAW step.
   *
   * @generated from field: optional perfetto.protos.BeginFrameId last_begin_frame_id_during_first_draw = 5;
   */
  lastBeginFrameIdDuringFirstDraw?: BeginFrameId;
};

/**
 * Describes the message perfetto.protos.MainFramePipeline.
 * Use `create(MainFramePipelineSchema)` to create a new message.
 */
export const MainFramePipelineSchema: GenMessage<MainFramePipeline> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 82);

/**
 * @generated from enum perfetto.protos.MainFramePipeline.Step
 */
export enum MainFramePipeline_Step {
  /**
   * @generated from enum value: UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: SEND_BEGIN_MAIN_FRAME = 1;
   */
  SEND_BEGIN_MAIN_FRAME = 1,

  /**
   * @generated from enum value: BEGIN_MAIN_FRAME = 2;
   */
  BEGIN_MAIN_FRAME = 2,

  /**
   * @generated from enum value: ABORTED_ON_MAIN = 3;
   */
  ABORTED_ON_MAIN = 3,

  /**
   * @generated from enum value: COMMIT_ON_MAIN = 4;
   */
  COMMIT_ON_MAIN = 4,

  /**
   * @generated from enum value: READY_TO_COMMIT_ON_IMPL = 5;
   */
  READY_TO_COMMIT_ON_IMPL = 5,

  /**
   * @generated from enum value: COMMIT_ON_IMPL = 6;
   */
  COMMIT_ON_IMPL = 6,

  /**
   * @generated from enum value: COMMIT_COMPLETE = 7;
   */
  COMMIT_COMPLETE = 7,

  /**
   * @generated from enum value: READY_TO_ACTIVATE = 8;
   */
  READY_TO_ACTIVATE = 8,

  /**
   * @generated from enum value: ACTIVATE = 9;
   */
  ACTIVATE = 9,

  /**
   * @generated from enum value: DRAW = 10;
   */
  DRAW = 10,

  /**
   * @generated from enum value: UPDATE_DISPLAY_TREE = 11;
   */
  UPDATE_DISPLAY_TREE = 11,
}

/**
 * Describes the enum perfetto.protos.MainFramePipeline.Step.
 */
export const MainFramePipeline_StepSchema: GenEnum<MainFramePipeline_Step> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 82, 0);

/**
 * If the step is ABORTED_ON_MAIN, this field will contain the reason.
 *
 * @generated from enum perfetto.protos.MainFramePipeline.AbortedOnMainReason
 */
export enum MainFramePipeline_AbortedOnMainReason {
  /**
   * @generated from enum value: ABORTED_MAIN_REASON_UNKNOWN = 0;
   */
  ABORTED_MAIN_REASON_UNKNOWN = 0,

  /**
   * @generated from enum value: NOT_VISIBLE = 1;
   */
  NOT_VISIBLE = 1,

  /**
   * @generated from enum value: DEFERRED_UPDATE = 2;
   */
  DEFERRED_UPDATE = 2,

  /**
   * @generated from enum value: DEFERRED_COMMIT_ABORTED = 3;
   */
  DEFERRED_COMMIT_ABORTED = 3,

  /**
   * @generated from enum value: NO_UPDATE = 4;
   */
  NO_UPDATE = 4,
}

/**
 * Describes the enum perfetto.protos.MainFramePipeline.AbortedOnMainReason.
 */
export const MainFramePipeline_AbortedOnMainReasonSchema: GenEnum<MainFramePipeline_AbortedOnMainReason> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 82, 1);

/**
 * @generated from message perfetto.protos.CurrentTask
 */
export type CurrentTask = Message<"perfetto.protos.CurrentTask"> & {
  /**
   * t1 - t0, where t1 is the start timestamp of this slice and t0 is the start
   * timestamp of the task containing this slice.
   *
   * @generated from field: optional uint64 event_offset_from_task_start_time_us = 1;
   */
  eventOffsetFromTaskStartTimeUs: bigint;

  /**
   * Timestamp in microseconds of the start of the task containing this slice.
   *
   * @generated from field: optional uint64 task_start_time_us = 2;
   */
  taskStartTimeUs: bigint;

  /**
   * t1 - t0, where t1 is the start timestamp of this slice and t0 is the
   * timestamp of the time when the task containing this slice
   * was queued.
   *
   * @generated from field: optional uint64 task_queueing_time_us = 3;
   */
  taskQueueingTimeUs: bigint;

  /**
   * Timestamp in microseconds of the time when the task containing
   * this slice was queued.
   *
   * @generated from field: optional uint64 task_queued_time_us = 4;
   */
  taskQueuedTimeUs: bigint;
};

/**
 * Describes the message perfetto.protos.CurrentTask.
 * Use `create(CurrentTaskSchema)` to create a new message.
 */
export const CurrentTaskSchema: GenMessage<CurrentTask> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 83);

/**
 * @generated from message perfetto.protos.ChromeLatencyInfo2
 */
export type ChromeLatencyInfo2 = Message<"perfetto.protos.ChromeLatencyInfo2"> & {
  /**
   * @generated from field: optional int64 trace_id = 1;
   */
  traceId: bigint;

  /**
   * @generated from field: optional perfetto.protos.ChromeLatencyInfo2.Step step = 2;
   */
  step: ChromeLatencyInfo2_Step;

  /**
   * @generated from field: optional int32 frame_tree_node_id = 3;
   */
  frameTreeNodeId: number;

  /**
   * @generated from field: repeated perfetto.protos.ChromeLatencyInfo2.ComponentInfo component_info = 4;
   */
  componentInfo: ChromeLatencyInfo2_ComponentInfo[];

  /**
   * @generated from field: optional bool is_coalesced = 5;
   */
  isCoalesced: boolean;

  /**
   * @generated from field: optional int64 gesture_scroll_id = 6;
   */
  gestureScrollId: bigint;

  /**
   * @generated from field: optional int64 touch_id = 7;
   */
  touchId: bigint;

  /**
   * The type of input corresponding to this `ChromeLatencyInfo`.
   *
   * @generated from field: optional perfetto.protos.ChromeLatencyInfo2.InputType input_type = 8;
   */
  inputType: ChromeLatencyInfo2_InputType;

  /**
   * If applicable, the result of handling the input corresponding to this
   * `ChromeLatencyInfo`.
   *
   * @generated from field: optional perfetto.protos.ChromeLatencyInfo2.InputResultState input_result_state = 9;
   */
  inputResultState: ChromeLatencyInfo2_InputResultState;

  /**
   * `trace_id` values corresponding to inputs that were coalesced/combined into
   * the input for this `ChromeLatencyInfo`.
   *
   * @generated from field: repeated int64 coalesced_trace_ids = 10;
   */
  coalescedTraceIds: bigint[];
};

/**
 * Describes the message perfetto.protos.ChromeLatencyInfo2.
 * Use `create(ChromeLatencyInfo2Schema)` to create a new message.
 */
export const ChromeLatencyInfo2Schema: GenMessage<ChromeLatencyInfo2> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 84);

/**
 * @generated from message perfetto.protos.ChromeLatencyInfo2.ComponentInfo
 */
export type ChromeLatencyInfo2_ComponentInfo = Message<"perfetto.protos.ChromeLatencyInfo2.ComponentInfo"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeLatencyInfo2.LatencyComponentType component_type = 1;
   */
  componentType: ChromeLatencyInfo2_LatencyComponentType;

  /**
   * Microsecond timestamp in CLOCK_MONOTONIC domain
   *
   * @generated from field: optional uint64 time_us = 2;
   */
  timeUs: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeLatencyInfo2.ComponentInfo.
 * Use `create(ChromeLatencyInfo2_ComponentInfoSchema)` to create a new message.
 */
export const ChromeLatencyInfo2_ComponentInfoSchema: GenMessage<ChromeLatencyInfo2_ComponentInfo> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 84, 0);

/**
 * NEXT ID: 16
 * All step are optional but the enum is ordered (not by number) below in the
 * order we expect them to appear if they are emitted in trace in a blocking
 * fashion.
 *
 * @generated from enum perfetto.protos.ChromeLatencyInfo2.Step
 */
export enum ChromeLatencyInfo2_Step {
  /**
   * @generated from enum value: STEP_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * Emitted on the browser main thread.
   *
   * @generated from enum value: STEP_SEND_INPUT_EVENT_UI = 3;
   */
  SEND_INPUT_EVENT_UI = 3,

  /**
   * The browser main thread sends a
   * blink.mojom.WidgetInputHandler::DispatchEvent Mojo message to the
   * renderer's compositor.
   *
   * @generated from enum value: STEP_SEND_DISPATCH_EVENT_MOJO_MESSAGE = 15;
   */
  SEND_DISPATCH_EVENT_MOJO_MESSAGE = 15,

  /**
   * Happens on the renderer's compositor.
   *
   * @generated from enum value: STEP_HANDLE_INPUT_EVENT_IMPL = 5;
   */
  HANDLE_INPUT_EVENT_IMPL = 5,

  /**
   * @generated from enum value: STEP_RESAMPLE_SCROLL_EVENTS = 14;
   */
  RESAMPLE_SCROLL_EVENTS = 14,

  /**
   * @generated from enum value: STEP_DID_HANDLE_INPUT_AND_OVERSCROLL = 8;
   */
  DID_HANDLE_INPUT_AND_OVERSCROLL = 8,

  /**
   * Occurs on the Renderer's main thread.
   *
   * @generated from enum value: STEP_HANDLE_INPUT_EVENT_MAIN = 4;
   */
  HANDLE_INPUT_EVENT_MAIN = 4,

  /**
   * @generated from enum value: STEP_MAIN_THREAD_SCROLL_UPDATE = 2;
   */
  MAIN_THREAD_SCROLL_UPDATE = 2,

  /**
   * @generated from enum value: STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT = 1;
   */
  HANDLE_INPUT_EVENT_MAIN_COMMIT = 1,

  /**
   * Could be emitted on both the renderer's main OR compositor.
   *
   * @generated from enum value: STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL = 9;
   */
  HANDLED_INPUT_EVENT_MAIN_OR_IMPL = 9,

  /**
   * Optionally sometimes HANDLED_INPUT_EVENT_MAIN_OR_IMPL will proxy to the
   * renderer's compositor and this will be emitted.
   *
   * @generated from enum value: STEP_HANDLED_INPUT_EVENT_IMPL = 10;
   */
  HANDLED_INPUT_EVENT_IMPL = 10,

  /**
   * Occurs on Browser Main.
   *
   * @generated from enum value: STEP_TOUCH_EVENT_HANDLED = 12;
   */
  TOUCH_EVENT_HANDLED = 12,

  /**
   * Occurs on Browser Main.
   *
   * @generated from enum value: STEP_GESTURE_EVENT_HANDLED = 13;
   */
  GESTURE_EVENT_HANDLED = 13,

  /**
   * Renderer's compositor.
   *
   * @generated from enum value: STEP_SWAP_BUFFERS = 6 [deprecated = true];
   * @deprecated
   */
  SWAP_BUFFERS = 6,

  /**
   * Happens on the VizCompositor in the GPU process.
   *
   * @generated from enum value: STEP_DRAW_AND_SWAP = 7 [deprecated = true];
   * @deprecated
   */
  DRAW_AND_SWAP = 7,

  /**
   * Happens on the GPU main thread after the swap has completed.
   *
   * See above for NEXT ID, enum steps are not ordered by tag number.
   *
   * @generated from enum value: STEP_FINISHED_SWAP_BUFFERS = 11 [deprecated = true];
   * @deprecated
   */
  FINISHED_SWAP_BUFFERS = 11,
}

/**
 * Describes the enum perfetto.protos.ChromeLatencyInfo2.Step.
 */
export const ChromeLatencyInfo2_StepSchema: GenEnum<ChromeLatencyInfo2_Step> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 84, 0);

/**
 * This enum is a copy of LatencyComponentType enum in Chrome, located in
 * ui/latency/latency_info.h, modulo added UNKNOWN value per protobuf
 * practices.
 *
 * @generated from enum perfetto.protos.ChromeLatencyInfo2.LatencyComponentType
 */
export enum ChromeLatencyInfo2_LatencyComponentType {
  /**
   * @generated from enum value: COMPONENT_UNSPECIFIED = 0;
   */
  COMPONENT_UNSPECIFIED = 0,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH = 1;
   */
  COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH = 1,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL = 2;
   */
  COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL = 2,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL = 3;
   */
  COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL = 3,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL = 4;
   */
  COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL = 4,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_UI = 5;
   */
  COMPONENT_INPUT_EVENT_LATENCY_UI = 5,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN = 6;
   */
  COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN = 6,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN = 7;
   */
  COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN = 7,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL = 8;
   */
  COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL = 8,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT = 9;
   */
  COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT = 9,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH = 10;
   */
  COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH = 10,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP = 11;
   */
  COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP = 11,

  /**
   * @generated from enum value: COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME = 12;
   */
  COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME = 12,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER = 13;
   */
  COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER = 13,

  /**
   * @generated from enum value: COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP = 14;
   */
  COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP = 14,
}

/**
 * Describes the enum perfetto.protos.ChromeLatencyInfo2.LatencyComponentType.
 */
export const ChromeLatencyInfo2_LatencyComponentTypeSchema: GenEnum<ChromeLatencyInfo2_LatencyComponentType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 84, 1);

/**
 * Must be kept in sync with blink::mojom::EventType.
 * All values are incremented by one for consistency with other proto enums.
 *
 * @generated from enum perfetto.protos.ChromeLatencyInfo2.InputType
 */
export enum ChromeLatencyInfo2_InputType {
  /**
   * @generated from enum value: UNDEFINED_EVENT = 0;
   */
  UNDEFINED_EVENT = 0,

  /**
   * @generated from enum value: MOUSE_DOWN_EVENT = 1;
   */
  MOUSE_DOWN_EVENT = 1,

  /**
   * @generated from enum value: MOUSE_UP_EVENT = 2;
   */
  MOUSE_UP_EVENT = 2,

  /**
   * @generated from enum value: MOUSE_MOVE_EVENT = 3;
   */
  MOUSE_MOVE_EVENT = 3,

  /**
   * @generated from enum value: MOUSE_ENTER_EVENT = 4;
   */
  MOUSE_ENTER_EVENT = 4,

  /**
   * @generated from enum value: MOUSE_LEAVE_EVENT = 5;
   */
  MOUSE_LEAVE_EVENT = 5,

  /**
   * @generated from enum value: CONTEXT_MENU_EVENT = 6;
   */
  CONTEXT_MENU_EVENT = 6,

  /**
   * @generated from enum value: MOUSE_WHEEL_EVENT = 7;
   */
  MOUSE_WHEEL_EVENT = 7,

  /**
   * @generated from enum value: RAW_KEY_DOWN_EVENT = 8;
   */
  RAW_KEY_DOWN_EVENT = 8,

  /**
   * @generated from enum value: KEY_DOWN_EVENT = 9;
   */
  KEY_DOWN_EVENT = 9,

  /**
   * @generated from enum value: KEY_UP_EVENT = 10;
   */
  KEY_UP_EVENT = 10,

  /**
   * @generated from enum value: CHAR_EVENT = 11;
   */
  CHAR_EVENT = 11,

  /**
   * @generated from enum value: GESTURE_SCROLL_BEGIN_EVENT = 12;
   */
  GESTURE_SCROLL_BEGIN_EVENT = 12,

  /**
   * @generated from enum value: GESTURE_SCROLL_END_EVENT = 13;
   */
  GESTURE_SCROLL_END_EVENT = 13,

  /**
   * @generated from enum value: GESTURE_SCROLL_UPDATE_EVENT = 14;
   */
  GESTURE_SCROLL_UPDATE_EVENT = 14,

  /**
   * @generated from enum value: GESTURE_FLING_START_EVENT = 15;
   */
  GESTURE_FLING_START_EVENT = 15,

  /**
   * @generated from enum value: GESTURE_FLING_CANCEL_EVENT = 16;
   */
  GESTURE_FLING_CANCEL_EVENT = 16,

  /**
   * @generated from enum value: GESTURE_PINCH_BEGIN_EVENT = 17;
   */
  GESTURE_PINCH_BEGIN_EVENT = 17,

  /**
   * @generated from enum value: GESTURE_PINCH_END_EVENT = 18;
   */
  GESTURE_PINCH_END_EVENT = 18,

  /**
   * @generated from enum value: GESTURE_PINCH_UPDATE_EVENT = 19;
   */
  GESTURE_PINCH_UPDATE_EVENT = 19,

  /**
   * @generated from enum value: GESTURE_BEGIN_EVENT = 20;
   */
  GESTURE_BEGIN_EVENT = 20,

  /**
   * @generated from enum value: GESTURE_TAP_DOWN_EVENT = 21;
   */
  GESTURE_TAP_DOWN_EVENT = 21,

  /**
   * @generated from enum value: GESTURE_SHOW_PRESS_EVENT = 22;
   */
  GESTURE_SHOW_PRESS_EVENT = 22,

  /**
   * @generated from enum value: GESTURE_TAP_EVENT = 23;
   */
  GESTURE_TAP_EVENT = 23,

  /**
   * @generated from enum value: GESTURE_TAP_CANCEL_EVENT = 24;
   */
  GESTURE_TAP_CANCEL_EVENT = 24,

  /**
   * @generated from enum value: GESTURE_SHORT_PRESS_EVENT = 25;
   */
  GESTURE_SHORT_PRESS_EVENT = 25,

  /**
   * @generated from enum value: GESTURE_LONG_PRESS_EVENT = 26;
   */
  GESTURE_LONG_PRESS_EVENT = 26,

  /**
   * @generated from enum value: GESTURE_LONG_TAP_EVENT = 27;
   */
  GESTURE_LONG_TAP_EVENT = 27,

  /**
   * @generated from enum value: GESTURE_TWO_FINGER_TAP_EVENT = 28;
   */
  GESTURE_TWO_FINGER_TAP_EVENT = 28,

  /**
   * @generated from enum value: GESTURE_TAP_UNCONFIRMED_EVENT = 29;
   */
  GESTURE_TAP_UNCONFIRMED_EVENT = 29,

  /**
   * @generated from enum value: GESTURE_DOUBLE_TAP_EVENT = 30;
   */
  GESTURE_DOUBLE_TAP_EVENT = 30,

  /**
   * @generated from enum value: GESTURE_END_EVENT = 31;
   */
  GESTURE_END_EVENT = 31,

  /**
   * @generated from enum value: TOUCH_START_EVENT = 32;
   */
  TOUCH_START_EVENT = 32,

  /**
   * @generated from enum value: TOUCH_MOVE_EVENT = 33;
   */
  TOUCH_MOVE_EVENT = 33,

  /**
   * @generated from enum value: TOUCH_END_EVENT = 34;
   */
  TOUCH_END_EVENT = 34,

  /**
   * @generated from enum value: TOUCH_CANCEL_EVENT = 35;
   */
  TOUCH_CANCEL_EVENT = 35,

  /**
   * @generated from enum value: TOUCH_SCROLL_STARTED_EVENT = 36;
   */
  TOUCH_SCROLL_STARTED_EVENT = 36,

  /**
   * @generated from enum value: POINTER_DOWN_EVENT = 37;
   */
  POINTER_DOWN_EVENT = 37,

  /**
   * @generated from enum value: POINTER_UP_EVENT = 38;
   */
  POINTER_UP_EVENT = 38,

  /**
   * @generated from enum value: POINTER_MOVE_EVENT = 39;
   */
  POINTER_MOVE_EVENT = 39,

  /**
   * @generated from enum value: POINTER_RAW_UPDATE_EVENT = 40;
   */
  POINTER_RAW_UPDATE_EVENT = 40,

  /**
   * @generated from enum value: POINTER_CANCEL_EVENT = 41;
   */
  POINTER_CANCEL_EVENT = 41,

  /**
   * @generated from enum value: POINTER_CAUSED_UA_ACTION_EVENT = 42;
   */
  POINTER_CAUSED_UA_ACTION_EVENT = 42,
}

/**
 * Describes the enum perfetto.protos.ChromeLatencyInfo2.InputType.
 */
export const ChromeLatencyInfo2_InputTypeSchema: GenEnum<ChromeLatencyInfo2_InputType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 84, 2);

/**
 * Intended to mirror `blink::mojom::InputEventResultState`.
 *
 * @generated from enum perfetto.protos.ChromeLatencyInfo2.InputResultState
 */
export enum ChromeLatencyInfo2_InputResultState {
  /**
   * @generated from enum value: UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: CONSUMED = 1;
   */
  CONSUMED = 1,

  /**
   * @generated from enum value: NOT_CONSUMED = 2;
   */
  NOT_CONSUMED = 2,

  /**
   * @generated from enum value: NO_CONSUMER_EXISTS = 3;
   */
  NO_CONSUMER_EXISTS = 3,

  /**
   * @generated from enum value: IGNORED = 4;
   */
  IGNORED = 4,

  /**
   * @generated from enum value: SET_NON_BLOCKING = 5;
   */
  SET_NON_BLOCKING = 5,

  /**
   * @generated from enum value: SET_NON_BLOCKING_DUE_TO_FLING = 6;
   */
  SET_NON_BLOCKING_DUE_TO_FLING = 6,
}

/**
 * Describes the enum perfetto.protos.ChromeLatencyInfo2.InputResultState.
 */
export const ChromeLatencyInfo2_InputResultStateSchema: GenEnum<ChromeLatencyInfo2_InputResultState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 84, 3);

/**
 * @generated from message perfetto.protos.EventTiming
 */
export type EventTiming = Message<"perfetto.protos.EventTiming"> & {
  /**
   * @generated from field: optional bool cancelable = 1;
   */
  cancelable: boolean;

  /**
   * @generated from field: optional string frame = 2;
   */
  frame: string;

  /**
   * @generated from field: optional uint32 interaction_id = 3;
   */
  interactionId: number;

  /**
   * @generated from field: optional uint32 interaction_offset = 4;
   */
  interactionOffset: number;

  /**
   * @generated from field: optional int64 node_id = 5;
   */
  nodeId: bigint;

  /**
   * @generated from field: optional int64 key_code = 6;
   */
  keyCode: bigint;

  /**
   * @generated from field: optional int32 pointer_id = 7;
   */
  pointerId: number;

  /**
   * @generated from field: optional uint64 fallback_time_us = 8;
   */
  fallbackTimeUs: bigint;

  /**
   * @generated from field: optional perfetto.protos.EventTiming.EventType type = 9;
   */
  type: EventTiming_EventType;
};

/**
 * Describes the message perfetto.protos.EventTiming.
 * Use `create(EventTimingSchema)` to create a new message.
 */
export const EventTimingSchema: GenMessage<EventTiming> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 85);

/**
 * @generated from enum perfetto.protos.EventTiming.EventType
 */
export enum EventTiming_EventType {
  /**
   * @generated from enum value: UNDEFINED = 0;
   */
  UNDEFINED = 0,

  /**
   * @generated from enum value: AUX_CLICK_EVENT = 1;
   */
  AUX_CLICK_EVENT = 1,

  /**
   * @generated from enum value: CLICK_EVENT = 2;
   */
  CLICK_EVENT = 2,

  /**
   * @generated from enum value: CONTEXT_MENU_EVENT = 3;
   */
  CONTEXT_MENU_EVENT = 3,

  /**
   * @generated from enum value: DOUBLE_CLICK_EVENT = 4;
   */
  DOUBLE_CLICK_EVENT = 4,

  /**
   * @generated from enum value: MOUSE_DOWN_EVENT = 5;
   */
  MOUSE_DOWN_EVENT = 5,

  /**
   * @generated from enum value: MOUSE_ENTER_EVENT = 6;
   */
  MOUSE_ENTER_EVENT = 6,

  /**
   * @generated from enum value: MOUSE_LEAVE_EVENT = 7;
   */
  MOUSE_LEAVE_EVENT = 7,

  /**
   * @generated from enum value: MOUSE_OUT_EVENT = 9;
   */
  MOUSE_OUT_EVENT = 9,

  /**
   * @generated from enum value: MOUSE_OVER_EVENT = 10;
   */
  MOUSE_OVER_EVENT = 10,

  /**
   * @generated from enum value: MOUSE_UP_EVENT = 11;
   */
  MOUSE_UP_EVENT = 11,

  /**
   * @generated from enum value: POINTER_OVER_EVENT = 12;
   */
  POINTER_OVER_EVENT = 12,

  /**
   * @generated from enum value: POINTER_ENTER_EVENT = 13;
   */
  POINTER_ENTER_EVENT = 13,

  /**
   * @generated from enum value: POINTER_DOWN_EVENT = 14;
   */
  POINTER_DOWN_EVENT = 14,

  /**
   * @generated from enum value: POINTER_UP_EVENT = 15;
   */
  POINTER_UP_EVENT = 15,

  /**
   * @generated from enum value: POINTER_CANCEL_EVENT = 16;
   */
  POINTER_CANCEL_EVENT = 16,

  /**
   * @generated from enum value: POINTER_OUT_EVENT = 17;
   */
  POINTER_OUT_EVENT = 17,

  /**
   * @generated from enum value: POINTER_LEAVE_EVENT = 18;
   */
  POINTER_LEAVE_EVENT = 18,

  /**
   * @generated from enum value: GOT_POINTER_CAPTURE_EVENT = 19;
   */
  GOT_POINTER_CAPTURE_EVENT = 19,

  /**
   * @generated from enum value: LOST_POINTER_CAPTURE_EVENT = 20;
   */
  LOST_POINTER_CAPTURE_EVENT = 20,

  /**
   * @generated from enum value: TOUCH_START_EVENT = 21;
   */
  TOUCH_START_EVENT = 21,

  /**
   * @generated from enum value: TOUCH_END_EVENT = 22;
   */
  TOUCH_END_EVENT = 22,

  /**
   * @generated from enum value: TOUCH_CANCEL_EVENT = 23;
   */
  TOUCH_CANCEL_EVENT = 23,

  /**
   * @generated from enum value: KEY_DOWN_EVENT = 24;
   */
  KEY_DOWN_EVENT = 24,

  /**
   * @generated from enum value: KEY_PRESS_EVENT = 25;
   */
  KEY_PRESS_EVENT = 25,

  /**
   * @generated from enum value: KEY_UP_EVENT = 26;
   */
  KEY_UP_EVENT = 26,

  /**
   * @generated from enum value: BEFORE_INPUT_EVENT = 27;
   */
  BEFORE_INPUT_EVENT = 27,

  /**
   * @generated from enum value: INPUT_EVENT = 28;
   */
  INPUT_EVENT = 28,

  /**
   * @generated from enum value: COMPOSITION_START_EVENT = 29;
   */
  COMPOSITION_START_EVENT = 29,

  /**
   * @generated from enum value: COMPOSITION_UPDATE_EVENT = 30;
   */
  COMPOSITION_UPDATE_EVENT = 30,

  /**
   * @generated from enum value: COMPOSITION_END_EVENT = 31;
   */
  COMPOSITION_END_EVENT = 31,

  /**
   * @generated from enum value: DRAG_START_EVENT = 32;
   */
  DRAG_START_EVENT = 32,

  /**
   * @generated from enum value: DRAG_END_EVENT = 33;
   */
  DRAG_END_EVENT = 33,

  /**
   * @generated from enum value: DRAG_ENTER_EVENT = 34;
   */
  DRAG_ENTER_EVENT = 34,

  /**
   * @generated from enum value: DRAG_LEAVE_EVENT = 35;
   */
  DRAG_LEAVE_EVENT = 35,

  /**
   * @generated from enum value: DRAG_OVER_EVENT = 36;
   */
  DRAG_OVER_EVENT = 36,

  /**
   * @generated from enum value: DROP_EVENT = 37;
   */
  DROP_EVENT = 37,
}

/**
 * Describes the enum perfetto.protos.EventTiming.EventType.
 */
export const EventTiming_EventTypeSchema: GenEnum<EventTiming_EventType> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 85, 0);

/**
 * Frame information provided by Android's Choreographer.
 * See
 * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata.
 * Next ID: 4
 *
 * @generated from message perfetto.protos.AndroidChoreographerFrameCallbackData
 */
export type AndroidChoreographerFrameCallbackData = Message<"perfetto.protos.AndroidChoreographerFrameCallbackData"> & {
  /**
   * The time in microseconds at which the frame started being rendered.
   * See
   * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata_getframetimenanos.
   *
   * @generated from field: optional int64 frame_time_us = 1;
   */
  frameTimeUs: bigint;

  /**
   * Possible frame timelines.
   * See
   * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata_getframetimelineslength.
   *
   * @generated from field: repeated perfetto.protos.AndroidChoreographerFrameCallbackData.FrameTimeline frame_timeline = 2;
   */
  frameTimeline: AndroidChoreographerFrameCallbackData_FrameTimeline[];

  /**
   * The index (into frame_timeline) of the platform-preferred frame timeline.
   * See
   * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata_getpreferredframetimelineindex.
   *
   * @generated from field: optional int64 preferred_frame_timeline_index = 3;
   */
  preferredFrameTimelineIndex: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidChoreographerFrameCallbackData.
 * Use `create(AndroidChoreographerFrameCallbackDataSchema)` to create a new message.
 */
export const AndroidChoreographerFrameCallbackDataSchema: GenMessage<AndroidChoreographerFrameCallbackData> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 86);

/**
 * @generated from message perfetto.protos.AndroidChoreographerFrameCallbackData.FrameTimeline
 */
export type AndroidChoreographerFrameCallbackData_FrameTimeline = Message<"perfetto.protos.AndroidChoreographerFrameCallbackData.FrameTimeline"> & {
  /**
   * The token used by the platform to identify the frame timeline.
   * See
   * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata_getframetimelinevsyncid.
   *
   * @generated from field: optional int64 vsync_id = 1;
   */
  vsyncId: bigint;

  /**
   * The difference in microseconds between:
   * (A) the time at which the frame needs to be ready by in order to be
   *     presented on time and
   * (B) the time at which the frame started being rendered (frame_time_us).
   * See
   * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata_getframetimelinedeadlinenanos.
   *
   * @generated from field: optional int64 latch_delta_us = 2;
   */
  latchDeltaUs: bigint;

  /**
   * The difference in microseconds between:
   * (A) the time at which the frame is expected to be presented and
   * (B) the time at which the frame started being rendered (frame_time_us).
   * See
   * https://developer.android.com/ndk/reference/group/choreographer#achoreographerframecallbackdata_getframetimelineexpectedpresentationtimenanos.
   *
   * @generated from field: optional int64 present_delta_us = 3;
   */
  presentDeltaUs: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidChoreographerFrameCallbackData.FrameTimeline.
 * Use `create(AndroidChoreographerFrameCallbackData_FrameTimelineSchema)` to create a new message.
 */
export const AndroidChoreographerFrameCallbackData_FrameTimelineSchema: GenMessage<AndroidChoreographerFrameCallbackData_FrameTimeline> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 86, 0);

/**
 * @generated from message perfetto.protos.ChromeTrackEvent
 */
export type ChromeTrackEvent = Message<"perfetto.protos.ChromeTrackEvent"> & {
};

/**
 * Describes the message perfetto.protos.ChromeTrackEvent.
 * Use `create(ChromeTrackEventSchema)` to create a new message.
 */
export const ChromeTrackEventSchema: GenMessage<ChromeTrackEvent> = /*@__PURE__*/
  messageDesc(file_protos_third_party_chromium_chrome_track_event, 87);

/**
 * @generated from extension: optional perfetto.protos.ChromeAppState chrome_app_state = 1000;
 */
export const ChromeTrackEvent_chrome_app_state: GenExtension<TrackEvent, ChromeAppState> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 0);

/**
 * @generated from extension: optional perfetto.protos.ChromeMemoryPressureNotification chrome_memory_pressure_notification = 1001;
 */
export const ChromeTrackEvent_chrome_memory_pressure_notification: GenExtension<TrackEvent, ChromeMemoryPressureNotification> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 1);

/**
 * @generated from extension: optional perfetto.protos.ChromeTaskAnnotator chrome_task_annotator = 1002;
 */
export const ChromeTrackEvent_chrome_task_annotator: GenExtension<TrackEvent, ChromeTaskAnnotator> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 2);

/**
 * @generated from extension: optional perfetto.protos.ChromeBrowserContext chrome_browser_context = 1003;
 */
export const ChromeTrackEvent_chrome_browser_context: GenExtension<TrackEvent, ChromeBrowserContext> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 3);

/**
 * @generated from extension: optional perfetto.protos.ChromeProfileDestroyer chrome_profile_destroyer = 1004;
 */
export const ChromeTrackEvent_chrome_profile_destroyer: GenExtension<TrackEvent, ChromeProfileDestroyer> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 4);

/**
 * @generated from extension: optional perfetto.protos.ChromeTaskPostedToDisabledQueue chrome_task_posted_to_disabled_queue = 1005;
 */
export const ChromeTrackEvent_chrome_task_posted_to_disabled_queue: GenExtension<TrackEvent, ChromeTaskPostedToDisabledQueue> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 5);

/**
 * @generated from extension: optional perfetto.protos.ChromeRasterTask chrome_raster_task = 1006;
 */
export const ChromeTrackEvent_chrome_raster_task: GenExtension<TrackEvent, ChromeRasterTask> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 6);

/**
 * @generated from extension: optional perfetto.protos.ChromeMessagePumpForUI chrome_message_pump_for_ui = 1007;
 */
export const ChromeTrackEvent_chrome_message_pump_for_ui: GenExtension<TrackEvent, ChromeMessagePumpForUI> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 7);

/**
 * @generated from extension: optional perfetto.protos.RenderFrameImplDeletion render_frame_impl_deletion = 1008;
 */
export const ChromeTrackEvent_render_frame_impl_deletion: GenExtension<TrackEvent, RenderFrameImplDeletion> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 8);

/**
 * @generated from extension: optional perfetto.protos.ShouldSwapBrowsingInstancesResult should_swap_browsing_instances_result = 1009;
 */
export const ChromeTrackEvent_should_swap_browsing_instances_result: GenExtension<TrackEvent, ShouldSwapBrowsingInstancesResult> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 9);

/**
 * @generated from extension: optional perfetto.protos.FrameTreeNodeInfo frame_tree_node_info = 1010;
 */
export const ChromeTrackEvent_frame_tree_node_info: GenExtension<TrackEvent, FrameTreeNodeInfo> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 10);

/**
 * @generated from extension: optional perfetto.protos.ChromeHashedPerformanceMark chrome_hashed_performance_mark = 1011;
 */
export const ChromeTrackEvent_chrome_hashed_performance_mark: GenExtension<TrackEvent, ChromeHashedPerformanceMark> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 11);

/**
 * @generated from extension: optional perfetto.protos.RenderProcessHost render_process_host = 1012;
 */
export const ChromeTrackEvent_render_process_host: GenExtension<TrackEvent, RenderProcessHost> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 12);

/**
 * @generated from extension: optional perfetto.protos.RenderProcessHostCleanup render_process_host_cleanup = 1013;
 */
export const ChromeTrackEvent_render_process_host_cleanup: GenExtension<TrackEvent, RenderProcessHostCleanup> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 13);

/**
 * @generated from extension: optional perfetto.protos.RenderProcessHostListener render_process_host_listener_changed = 1014;
 */
export const ChromeTrackEvent_render_process_host_listener_changed: GenExtension<TrackEvent, RenderProcessHostListener> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 14);

/**
 * @generated from extension: optional perfetto.protos.ChildProcessLauncherPriority child_process_launcher_priority = 1015;
 */
export const ChromeTrackEvent_child_process_launcher_priority: GenExtension<TrackEvent, ChildProcessLauncherPriority> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 15);

/**
 * @generated from extension: optional perfetto.protos.ResourceBundle resource_bundle = 1016;
 */
export const ChromeTrackEvent_resource_bundle: GenExtension<TrackEvent, ResourceBundle> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 16);

/**
 * @generated from extension: optional perfetto.protos.ChromeWebAppBadNavigate chrome_web_app_bad_navigate = 1017;
 */
export const ChromeTrackEvent_chrome_web_app_bad_navigate: GenExtension<TrackEvent, ChromeWebAppBadNavigate> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 17);

/**
 * @generated from extension: optional perfetto.protos.ChromeExtensionId chrome_extension_id = 1018;
 */
export const ChromeTrackEvent_chrome_extension_id: GenExtension<TrackEvent, ChromeExtensionId> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 18);

/**
 * @generated from extension: optional perfetto.protos.SiteInstance site_instance = 1019;
 */
export const ChromeTrackEvent_site_instance: GenExtension<TrackEvent, SiteInstance> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 19);

/**
 * @generated from extension: optional perfetto.protos.RenderViewHost render_view_host = 1020;
 */
export const ChromeTrackEvent_render_view_host: GenExtension<TrackEvent, RenderViewHost> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 20);

/**
 * @generated from extension: optional perfetto.protos.RenderFrameProxyHost render_frame_proxy_host = 1021;
 */
export const ChromeTrackEvent_render_frame_proxy_host: GenExtension<TrackEvent, RenderFrameProxyHost> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 21);

/**
 * @generated from extension: optional perfetto.protos.AndroidViewDump android_view_dump = 1022;
 */
export const ChromeTrackEvent_android_view_dump: GenExtension<TrackEvent, AndroidViewDump> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 22);

/**
 * @generated from extension: optional perfetto.protos.ParkableStringCompressInBackground parkable_string_compress_in_background = 1023;
 */
export const ChromeTrackEvent_parkable_string_compress_in_background: GenExtension<TrackEvent, ParkableStringCompressInBackground> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 23);

/**
 * @generated from extension: optional perfetto.protos.ParkableStringUnpark parkable_string_unpark = 1024;
 */
export const ChromeTrackEvent_parkable_string_unpark: GenExtension<TrackEvent, ParkableStringUnpark> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 24);

/**
 * @generated from extension: optional perfetto.protos.ChromeSamplingProfilerSampleCollected chrome_sampling_profiler_sample_completed = 1025;
 */
export const ChromeTrackEvent_chrome_sampling_profiler_sample_completed: GenExtension<TrackEvent, ChromeSamplingProfilerSampleCollected> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 25);

/**
 * @generated from extension: optional perfetto.protos.SendBeginMainFrameToCommitBreakdown send_begin_mainframe_to_commit_breakdown = 1026;
 */
export const ChromeTrackEvent_send_begin_mainframe_to_commit_breakdown: GenExtension<TrackEvent, SendBeginMainFrameToCommitBreakdown> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 26);

/**
 * @generated from extension: optional perfetto.protos.GlobalRenderFrameHostId global_render_frame_host_id = 1027;
 */
export const ChromeTrackEvent_global_render_frame_host_id: GenExtension<TrackEvent, GlobalRenderFrameHostId> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 27);

/**
 * @generated from extension: optional perfetto.protos.RenderFrameHost render_frame_host = 1028;
 */
export const ChromeTrackEvent_render_frame_host: GenExtension<TrackEvent, RenderFrameHost> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 28);

/**
 * @generated from extension: optional perfetto.protos.ChromeThreadPoolTask thread_pool_task = 1029;
 */
export const ChromeTrackEvent_thread_pool_task: GenExtension<TrackEvent, ChromeThreadPoolTask> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 29);

/**
 * @generated from extension: optional perfetto.protos.BackForwardCacheCanStoreDocumentResult back_forward_cache_can_store_document_result = 1030;
 */
export const ChromeTrackEvent_back_forward_cache_can_store_document_result: GenExtension<TrackEvent, BackForwardCacheCanStoreDocumentResult> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 30);

/**
 * @generated from extension: optional perfetto.protos.RendererMainThreadTaskExecution renderer_main_thread_task_execution = 1031;
 */
export const ChromeTrackEvent_renderer_main_thread_task_execution: GenExtension<TrackEvent, RendererMainThreadTaskExecution> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 31);

/**
 * @generated from extension: optional perfetto.protos.EventLatency event_latency = 1032;
 */
export const ChromeTrackEvent_event_latency: GenExtension<TrackEvent, EventLatency> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 32);

/**
 * @generated from extension: optional perfetto.protos.ProcessSingleton process_singleton = 1033;
 */
export const ChromeTrackEvent_process_singleton: GenExtension<TrackEvent, ProcessSingleton> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 33);

/**
 * @generated from extension: optional perfetto.protos.SiteInstanceGroup site_instance_group = 1034;
 */
export const ChromeTrackEvent_site_instance_group: GenExtension<TrackEvent, SiteInstanceGroup> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 34);

/**
 * @generated from extension: optional perfetto.protos.BrowsingContextState browsing_context_state = 1035;
 */
export const ChromeTrackEvent_browsing_context_state: GenExtension<TrackEvent, BrowsingContextState> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 35);

/**
 * @generated from extension: optional perfetto.protos.DeviceThermalState device_thermal_state = 1036;
 */
export const ChromeTrackEvent_device_thermal_state: GenExtension<TrackEvent, DeviceThermalState> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 36);

/**
 * @generated from extension: optional perfetto.protos.NavigationHandle navigation = 1037;
 */
export const ChromeTrackEvent_navigation: GenExtension<TrackEvent, NavigationHandle> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 37);

/**
 * @generated from extension: optional perfetto.protos.AndroidIPC android_ipc = 1038;
 */
export const ChromeTrackEvent_android_ipc: GenExtension<TrackEvent, AndroidIPC> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 38);

/**
 * @generated from extension: optional perfetto.protos.ChromeSqlDiagnostics sql_diagnostics = 1039;
 */
export const ChromeTrackEvent_sql_diagnostics: GenExtension<TrackEvent, ChromeSqlDiagnostics> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 39);

/**
 * @generated from extension: optional perfetto.protos.SequenceManagerTask sequence_manager_task = 1040;
 */
export const ChromeTrackEvent_sequence_manager_task: GenExtension<TrackEvent, SequenceManagerTask> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 40);

/**
 * @generated from extension: optional perfetto.protos.AndroidToolbar android_toolbar = 1041;
 */
export const ChromeTrackEvent_android_toolbar: GenExtension<TrackEvent, AndroidToolbar> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 41);

/**
 * @generated from extension: optional perfetto.protos.ActiveProcesses active_processes = 1042;
 */
export const ChromeTrackEvent_active_processes: GenExtension<TrackEvent, ActiveProcesses> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 42);

/**
 * @generated from extension: optional perfetto.protos.BlinkTaskScope blink_task_scope = 1043;
 */
export const ChromeTrackEvent_blink_task_scope: GenExtension<TrackEvent, BlinkTaskScope> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 43);

/**
 * @generated from extension: optional perfetto.protos.UkmPageLoadTimingUpdate ukm_page_load_timing_update = 1044;
 */
export const ChromeTrackEvent_ukm_page_load_timing_update: GenExtension<TrackEvent, UkmPageLoadTimingUpdate> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 44);

/**
 * @generated from extension: optional perfetto.protos.BlinkHighEntropyAPI high_entropy_api = 1045;
 */
export const ChromeTrackEvent_high_entropy_api: GenExtension<TrackEvent, BlinkHighEntropyAPI> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 45);

/**
 * @generated from extension: optional perfetto.protos.TabSwitchMeasurement tab_switch_measurement = 1046;
 */
export const ChromeTrackEvent_tab_switch_measurement: GenExtension<TrackEvent, TabSwitchMeasurement> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 46);

/**
 * @generated from extension: optional perfetto.protos.ScrollDeltas scroll_deltas = 1047;
 */
export const ChromeTrackEvent_scroll_deltas: GenExtension<TrackEvent, ScrollDeltas> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 47);

/**
 * @generated from extension: optional perfetto.protos.WinRenderAudioFromSource win_render_audio_from_source = 1048;
 */
export const ChromeTrackEvent_win_render_audio_from_source: GenExtension<TrackEvent, WinRenderAudioFromSource> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 48);

/**
 * @generated from extension: optional perfetto.protos.MacAUHALStream mac_auhal_stream = 1049;
 */
export const ChromeTrackEvent_mac_auhal_stream: GenExtension<TrackEvent, MacAUHALStream> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 49);

/**
 * @generated from extension: optional perfetto.protos.LinuxAlsaOutput linux_alsa_output = 1050;
 */
export const ChromeTrackEvent_linux_alsa_output: GenExtension<TrackEvent, LinuxAlsaOutput> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 50);

/**
 * @generated from extension: optional perfetto.protos.LinuxPulseOutput linux_pulse_output = 1051;
 */
export const ChromeTrackEvent_linux_pulse_output: GenExtension<TrackEvent, LinuxPulseOutput> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 51);

/**
 * @generated from extension: optional perfetto.protos.ChromeGraphicsPipeline chrome_graphics_pipeline = 1052;
 */
export const ChromeTrackEvent_chrome_graphics_pipeline: GenExtension<TrackEvent, ChromeGraphicsPipeline> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 52);

/**
 * @generated from extension: optional perfetto.protos.CrasUnified chromeos_cras_unified = 1053;
 */
export const ChromeTrackEvent_chromeos_cras_unified: GenExtension<TrackEvent, CrasUnified> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 53);

/**
 * @generated from extension: optional perfetto.protos.LibunwindstackUnwinder libunwindstack_unwinder = 1054;
 */
export const ChromeTrackEvent_libunwindstack_unwinder: GenExtension<TrackEvent, LibunwindstackUnwinder> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 54);

/**
 * @generated from extension: optional perfetto.protos.ScrollPredictorMetrics scroll_predictor_metrics = 1055;
 */
export const ChromeTrackEvent_scroll_predictor_metrics: GenExtension<TrackEvent, ScrollPredictorMetrics> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 55);

/**
 * @generated from extension: optional perfetto.protos.PageLoad page_load = 1056;
 */
export const ChromeTrackEvent_page_load: GenExtension<TrackEvent, PageLoad> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 56);

/**
 * @generated from extension: optional perfetto.protos.StartUp startup = 1057;
 */
export const ChromeTrackEvent_startup: GenExtension<TrackEvent, StartUp> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 57);

/**
 * @generated from extension: optional perfetto.protos.WebContentInteraction web_content_interaction = 1058;
 */
export const ChromeTrackEvent_web_content_interaction: GenExtension<TrackEvent, WebContentInteraction> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 58);

/**
 * @generated from extension: optional perfetto.protos.EventForwarder event_forwarder = 1059;
 */
export const ChromeTrackEvent_event_forwarder: GenExtension<TrackEvent, EventForwarder> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 59);

/**
 * @generated from extension: optional perfetto.protos.TouchDispositionGestureFilter touch_disposition_gesture_filter = 1060;
 */
export const ChromeTrackEvent_touch_disposition_gesture_filter: GenExtension<TrackEvent, TouchDispositionGestureFilter> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 60);

/**
 * @generated from extension: optional perfetto.protos.ViewClassName view_class_name = 1061;
 */
export const ChromeTrackEvent_view_class_name: GenExtension<TrackEvent, ViewClassName> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 61);

/**
 * @generated from extension: optional perfetto.protos.ChromeCompositorSchedulerStateV2 cc_scheduler_state = 1062;
 */
export const ChromeTrackEvent_cc_scheduler_state: GenExtension<TrackEvent, ChromeCompositorSchedulerStateV2> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 62);

/**
 * @generated from extension: optional perfetto.protos.WebViewStartup webview_startup = 1063;
 */
export const ChromeTrackEvent_webview_startup: GenExtension<TrackEvent, WebViewStartup> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 63);

/**
 * @generated from extension: optional perfetto.protos.AnimationFrameTimingInfo animation_frame_timing_info = 1064;
 */
export const ChromeTrackEvent_animation_frame_timing_info: GenExtension<TrackEvent, AnimationFrameTimingInfo> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 64);

/**
 * @generated from extension: optional perfetto.protos.AnimationFrameScriptTimingInfo animation_frame_script_timing_info = 1065;
 */
export const ChromeTrackEvent_animation_frame_script_timing_info: GenExtension<TrackEvent, AnimationFrameScriptTimingInfo> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 65);

/**
 * @generated from extension: optional perfetto.protos.ScrollMetrics scroll_metrics = 1066;
 */
export const ChromeTrackEvent_scroll_metrics: GenExtension<TrackEvent, ScrollMetrics> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 66);

/**
 * @generated from extension: optional perfetto.protos.MainFramePipeline main_frame_pipeline = 1067;
 */
export const ChromeTrackEvent_main_frame_pipeline: GenExtension<TrackEvent, MainFramePipeline> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 67);

/**
 * @generated from extension: optional perfetto.protos.ChromeLatencyInfo2 chrome_latency_info = 1068;
 */
export const ChromeTrackEvent_chrome_latency_info: GenExtension<TrackEvent, ChromeLatencyInfo2> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 68);

/**
 * @generated from extension: optional perfetto.protos.EventTiming event_timing = 1069;
 */
export const ChromeTrackEvent_event_timing: GenExtension<TrackEvent, EventTiming> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 69);

/**
 * @generated from extension: optional perfetto.protos.AndroidChoreographerFrameCallbackData android_choreographer_frame_callback_data = 1070;
 */
export const ChromeTrackEvent_android_choreographer_frame_callback_data: GenExtension<TrackEvent, AndroidChoreographerFrameCallbackData> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 70);

/**
 * @generated from extension: optional perfetto.protos.CurrentTask current_task = 1071;
 */
export const ChromeTrackEvent_current_task: GenExtension<TrackEvent, CurrentTask> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 71);

/**
 * @generated from extension: optional perfetto.protos.WebExposedIsolationInfo web_exposed_isolation_info = 1072;
 */
export const ChromeTrackEvent_web_exposed_isolation_info: GenExtension<TrackEvent, WebExposedIsolationInfo> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 72);

/**
 * @generated from extension: optional perfetto.protos.UrlInfo url_info = 1073;
 */
export const ChromeTrackEvent_url_info: GenExtension<TrackEvent, UrlInfo> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 73);

/**
 * @generated from extension: optional perfetto.protos.BeginFrameId begin_frame_id = 1074;
 */
export const ChromeTrackEvent_begin_frame_id: GenExtension<TrackEvent, BeginFrameId> = /*@__PURE__*/
  extDesc(file_protos_third_party_chromium_chrome_track_event, 87, 74);

/**
 * @generated from enum perfetto.protos.ChromeAppState
 */
export enum ChromeAppState {
  /**
   * @generated from enum value: APP_STATE_FOREGROUND = 1;
   */
  APP_STATE_FOREGROUND = 1,

  /**
   * @generated from enum value: APP_STATE_BACKGROUND = 2;
   */
  APP_STATE_BACKGROUND = 2,
}

/**
 * Describes the enum perfetto.protos.ChromeAppState.
 */
export const ChromeAppStateSchema: GenEnum<ChromeAppState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 0);

/**
 * @generated from enum perfetto.protos.MemoryPressureLevel
 */
export enum MemoryPressureLevel {
  /**
   * @generated from enum value: MEMORY_PRESSURE_LEVEL_NONE = 0;
   */
  NONE = 0,

  /**
   * @generated from enum value: MEMORY_PRESSURE_LEVEL_MODERATE = 1;
   */
  MODERATE = 1,

  /**
   * @generated from enum value: MEMORY_PRESSURE_LEVEL_CRITICAL = 2;
   */
  CRITICAL = 2,
}

/**
 * Describes the enum perfetto.protos.MemoryPressureLevel.
 */
export const MemoryPressureLevelSchema: GenEnum<MemoryPressureLevel> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 1);

/**
 * An enumeration specifying the reason of the RenderFrame deletion.
 * This is copied from content/common/frame.mojom.
 *
 * @generated from enum perfetto.protos.FrameDeleteIntention
 */
export enum FrameDeleteIntention {
  /**
   * The frame being deleted isn't a (speculative) main frame.
   *
   * @generated from enum value: FRAME_DELETE_INTENTION_NOT_MAIN_FRAME = 0;
   */
  NOT_MAIN_FRAME = 0,

  /**
   * The frame being deleted is a speculative main frame, and it is being
   * deleted as part of the shutdown for that WebContents. The entire RenderView
   * etc will be destroyed by a separate IPC sent later.
   *
   * @generated from enum value: FRAME_DELETE_INTENTION_SPECULATIVE_MAIN_FRAME_FOR_SHUTDOWN = 1;
   */
  SPECULATIVE_MAIN_FRAME_FOR_SHUTDOWN = 1,

  /**
   * The frame being deleted is a speculative main frame, and it is being
   * deleted because the speculative navigation was cancelled. This is not part
   * of shutdown.
   *
   * @generated from enum value: FRAME_DELETE_INTENTION_SPECULATIVE_MAIN_FRAME_FOR_NAVIGATION_CANCELLED = 2;
   */
  SPECULATIVE_MAIN_FRAME_FOR_NAVIGATION_CANCELLED = 2,
}

/**
 * Describes the enum perfetto.protos.FrameDeleteIntention.
 */
export const FrameDeleteIntentionSchema: GenEnum<FrameDeleteIntention> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 2);

/**
 * Corresponds to `content::ShouldSwapBrowsingInstance`.
 * Note that the enum values here are not equivalent to the content enum and
 * must be converted explicitly. See `ShouldSwapBrowsingInstanceToProto`.
 *
 * @generated from enum perfetto.protos.ShouldSwapBrowsingInstance
 */
export enum ShouldSwapBrowsingInstance {
  /**
   * Was used for all "no BrowsingInstance swap" scenarios, now broken down in
   * separate reasons.
   *
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO = 0;
   */
  NO = 0,

  /**
   * Forced BrowsingInstance swap.
   *
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_YES_FORCE_SWAP = 1;
   */
  YES_FORCE_SWAP = 1,

  /**
   * Proactive BrowsingInstance swap for cross-site navigation.
   *
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_YES_CROSS_SITE_PROACTIVE_SWAP = 2;
   */
  YES_CROSS_SITE_PROACTIVE_SWAP = 2,

  /**
   * Proactive BrowsingInstance swap for same-site navigation.
   *
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_YES_SAME_SITE_PROACTIVE_SWAP = 3;
   */
  YES_SAME_SITE_PROACTIVE_SWAP = 3,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_PROACTIVE_SWAP_DISABLED = 4;
   */
  NO_PROACTIVE_SWAP_DISABLED = 4,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_NOT_MAIN_FRAME = 5;
   */
  NO_NOT_MAIN_FRAME = 5,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_HAS_RELATED_ACTIVE_CONTENTS = 6;
   */
  NO_HAS_RELATED_ACTIVE_CONTENTS = 6,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_DOES_NOT_HAVE_SITE = 7;
   */
  NO_DOES_NOT_HAVE_SITE = 7,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_SOURCE_URL_SCHEME_NOT_HTTP_OR_HTTPS = 8;
   */
  NO_SOURCE_URL_SCHEME_NOT_HTTP_OR_HTTPS = 8,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_DESTINATION_URL_SCHEME_NOT_HTTP_OR_HTTPS = 9;
   */
  NO_DESTINATION_URL_SCHEME_NOT_HTTP_OR_HTTPS = 9,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_SAME_SITE_NAVIGATION = 10;
   */
  NO_SAME_SITE_NAVIGATION = 10,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_RELOADING_ERROR_PAGE = 11;
   */
  NO_RELOADING_ERROR_PAGE = 11,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_ALREADY_HAS_MATCHING_BROWSING_INSTANCE = 12;
   */
  NO_ALREADY_HAS_MATCHING_BROWSING_INSTANCE = 12,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_RENDERER_DEBUG_URL = 13;
   */
  NO_RENDERER_DEBUG_URL = 13,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_NOT_NEEDED_FOR_BACK_FORWARD_CACHE = 14;
   */
  NO_NOT_NEEDED_FOR_BACK_FORWARD_CACHE = 14,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_SAME_DOCUMENT_NAVIGATION = 15;
   */
  NO_SAME_DOCUMENT_NAVIGATION = 15,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_SAME_URL_NAVIGATION = 16;
   */
  NO_SAME_URL_NAVIGATION = 16,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_WILL_REPLACE_ENTRY = 17;
   */
  NO_WILL_REPLACE_ENTRY = 17,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_RELOAD = 18;
   */
  NO_RELOAD = 18,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_GUEST = 19;
   */
  NO_GUEST = 19,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_HAS_NOT_COMMITTED_ANY_NAVIGATION = 20;
   */
  NO_HAS_NOT_COMMITTED_ANY_NAVIGATION = 20,

  /**
   * The following reason was deprecated from https://crrev.com/c/3858766
   *
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_UNLOAD_HANDLER_EXISTS_ON_SAME_SITE_NAVIGATION = 21;
   */
  NO_UNLOAD_HANDLER_EXISTS_ON_SAME_SITE_NAVIGATION = 21,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_NOT_PRIMARY_MAIN_FRAME = 22;
   */
  NO_NOT_PRIMARY_MAIN_FRAME = 22,

  /**
   * @generated from enum value: SHOULD_SWAP_BROWSING_INSTANCE_NO_INITIATOR_REQUESTED_NO_PROACTIVE_SWAP = 23;
   */
  NO_INITIATOR_REQUESTED_NO_PROACTIVE_SWAP = 23,
}

/**
 * Describes the enum perfetto.protos.ShouldSwapBrowsingInstance.
 */
export const ShouldSwapBrowsingInstanceSchema: GenEnum<ShouldSwapBrowsingInstance> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 3);

/**
 * @generated from enum perfetto.protos.DeviceThermalState
 */
export enum DeviceThermalState {
  /**
   * @generated from enum value: DEVICE_THERMAL_STATE_UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: DEVICE_THERMAL_STATE_NOMINAL = 1;
   */
  NOMINAL = 1,

  /**
   * @generated from enum value: DEVICE_THERMAL_STATE_FAIR = 2;
   */
  FAIR = 2,

  /**
   * @generated from enum value: DEVICE_THERMAL_STATE_SERIOUS = 3;
   */
  SERIOUS = 3,

  /**
   * @generated from enum value: DEVICE_THERMAL_STATE_CRITICAL = 4;
   */
  CRITICAL = 4,
}

/**
 * Describes the enum perfetto.protos.DeviceThermalState.
 */
export const DeviceThermalStateSchema: GenEnum<DeviceThermalState> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 4);

/**
 * Next id: 16
 *
 * @generated from enum perfetto.protos.ChromeCompositorSchedulerActionV2
 */
export enum ChromeCompositorSchedulerActionV2 {
  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_UNSPECIFIED = 0;
   */
  CC_SCHEDULER_ACTION_V2_UNSPECIFIED = 0,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_NONE = 1;
   */
  CC_SCHEDULER_ACTION_V2_NONE = 1,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_SEND_BEGIN_MAIN_FRAME = 2;
   */
  CC_SCHEDULER_ACTION_V2_SEND_BEGIN_MAIN_FRAME = 2,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_COMMIT = 3;
   */
  CC_SCHEDULER_ACTION_V2_COMMIT = 3,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_POST_COMMIT = 14;
   */
  CC_SCHEDULER_ACTION_V2_POST_COMMIT = 14,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_ACTIVATE_SYNC_TREE = 4;
   */
  CC_SCHEDULER_ACTION_V2_ACTIVATE_SYNC_TREE = 4,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_DRAW_IF_POSSIBLE = 5;
   */
  CC_SCHEDULER_ACTION_V2_DRAW_IF_POSSIBLE = 5,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_DRAW_FORCED = 6;
   */
  CC_SCHEDULER_ACTION_V2_DRAW_FORCED = 6,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_DRAW_ABORT = 7;
   */
  CC_SCHEDULER_ACTION_V2_DRAW_ABORT = 7,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_UPDATE_DISPLAY_TREE = 15;
   */
  CC_SCHEDULER_ACTION_V2_UPDATE_DISPLAY_TREE = 15,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_BEGIN_LAYER_TREE_FRAME_SINK_CREATION = 8;
   */
  CC_SCHEDULER_ACTION_V2_BEGIN_LAYER_TREE_FRAME_SINK_CREATION = 8,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_PREPARE_TILES = 9;
   */
  CC_SCHEDULER_ACTION_V2_PREPARE_TILES = 9,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_INVALIDATE_LAYER_TREE_FRAME_SINK = 10;
   */
  CC_SCHEDULER_ACTION_V2_INVALIDATE_LAYER_TREE_FRAME_SINK = 10,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_PERFORM_IMPL_SIDE_INVALIDATION = 11;
   */
  CC_SCHEDULER_ACTION_V2_PERFORM_IMPL_SIDE_INVALIDATION = 11,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL = 12;
   */
  CC_SCHEDULER_ACTION_V2_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL = 12,

  /**
   * @generated from enum value: CC_SCHEDULER_ACTION_V2_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON = 13;
   */
  CC_SCHEDULER_ACTION_V2_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON = 13,
}

/**
 * Describes the enum perfetto.protos.ChromeCompositorSchedulerActionV2.
 */
export const ChromeCompositorSchedulerActionV2Schema: GenEnum<ChromeCompositorSchedulerActionV2> = /*@__PURE__*/
  enumDesc(file_protos_third_party_chromium_chrome_track_event, 5);

