@mochabug/adapt-sdk 0.3.10 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api.cjs +1 -1
- package/dist/cjs/api.cjs.map +3 -3
- package/dist/cjs/router.cjs +1 -1
- package/dist/cjs/router.cjs.map +2 -2
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/api.mjs.map +3 -3
- package/dist/esm/router.mjs +1 -1
- package/dist/esm/router.mjs.map +2 -2
- package/dist/genproto/mochabugapis/adapt/automations/v1/automations_pb.d.ts +841 -87
- package/dist/genproto/mochabugapis/adapt/automations/v1/automations_pb.d.ts.map +1 -1
- package/dist/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.d.ts +64 -4
- package/dist/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.d.ts.map +1 -1
- package/dist/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.d.ts +2 -4
- package/dist/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.d.ts.map +1 -1
- package/dist/genproto/mochabugapis/adapt/runtime/v1/fileforge_service_pb.d.ts +22 -22
- package/dist/genproto/mochabugapis/adapt/runtime/v1/fileforge_service_pb.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/api.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Ye=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var Mn=Object.getOwnPropertyNames;var fn=Object.prototype.hasOwnProperty;var Hn=(m,e)=>{for(var t in e)Ye(m,t,{get:e[t],enumerable:!0})},vn=(m,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Mn(e))!fn.call(m,s)&&s!==t&&Ye(m,s,{get:()=>e[s],enumerable:!(n=En(e,s))||n.enumerable});return m};var zn=m=>vn(Ye({},"__esModule",{value:!0}),m);var Wa={};Hn(Wa,{AckMessageRequestSchema:()=>Nt,AckMessageResponseSchema:()=>Kt,ApiBase:()=>se,AuthorizeRequestSchema:()=>ta,AuthorizeResponseSchema:()=>sa,AutomationService:()=>Pt,BatchGetActiveSignalsRequestSchema:()=>rs,BatchGetActiveSignalsResponseSchema:()=>ps,BatchGetSystemTokensRequestSchema:()=>da,BatchGetSystemTokensResponseSchema:()=>ma,BatchGetSystemVariablesRequestSchema:()=>aa,BatchGetSystemVariablesResponseSchema:()=>oa,BatchGetUserTokensRequestSchema:()=>ia,BatchGetUserTokensResponseSchema:()=>la,BatchGetUserVariablesRequestSchema:()=>ga,BatchGetUserVariablesResponseSchema:()=>ca,BatchReadResult:()=>Se,CancelExchangeOperationRequestSchema:()=>as,CancelExchangeOperationResponseSchema:()=>os,Code:()=>a.Code,ConditionalDeleteOpSchema:()=>st,ConditionalDeleteOp_PreconditionSchema:()=>Ee,ConditionalInsertOpSchema:()=>tt,ConditionalInsertOp_PreconditionSchema:()=>Ze,ConditionalWriteOperationSchema:()=>qn,ConfiguratorApi:()=>nn,ConfiguratorService:()=>He,ConfiguratorServiceBatchReadStoreRequestSchema:()=>dt,ConfiguratorServiceBatchReadStoreResponseSchema:()=>mt,ConfiguratorServiceBatchWriteStoreRequestSchema:()=>gt,ConfiguratorServiceBatchWriteStoreResponseSchema:()=>ct,ConfiguratorServiceGetVertexConfigRequestSchema:()=>ut,ConfiguratorServiceGetVertexConfigResponseSchema:()=>Gt,ConfiguratorServiceSelectStoreRequestSchema:()=>rt,ConfiguratorServiceSelectStoreResponseSchema:()=>pt,ConfiguratorServiceWriteStoreRequestSchema:()=>it,ConfiguratorServiceWriteStoreResponseSchema:()=>lt,ConnectError:()=>a.ConnectError,CreateChallengeRequestSchema:()=>It,CreateChallengeResponseSchema:()=>yt,CronTriggerRequestSchema:()=>Za,CronTriggerResponseSchema:()=>Ia,DeleteOpSchema:()=>nt,DispatchExchangeRequestSchema:()=>is,DispatchExchangeResponseSchema:()=>ls,EmulatedMediaType:()=>Rn,EmulatedMediaTypeSchema:()=>ws,ExchangeOperationSchema:()=>Zs,ExchangeResultRequestSchema:()=>Aa,ExchangeResultResponseSchema:()=>Ra,ExchangeResultSchema:()=>ya,ExchangeSchema:()=>Qn,ExecutorApi:()=>We,ExecutorService:()=>ye,ExecutorServiceBatchReadStoreRequestSchema:()=>es,ExecutorServiceBatchReadStoreResponseSchema:()=>ns,ExecutorServiceBatchWriteStoreRequestSchema:()=>Ot,ExecutorServiceBatchWriteStoreResponseSchema:()=>_t,ExecutorServiceGetVertexConfigRequestSchema:()=>bs,ExecutorServiceGetVertexConfigResponseSchema:()=>hs,ExecutorServiceSelectStoreRequestSchema:()=>ts,ExecutorServiceSelectStoreResponseSchema:()=>ss,ExecutorServiceWriteStoreRequestSchema:()=>qt,ExecutorServiceWriteStoreResponseSchema:()=>$t,FileForgeService:()=>$e,FocalPointSchema:()=>fs,FocalRegionSchema:()=>Ms,GetExchangeOperationRequestSchema:()=>gs,GetExchangeOperationResponseSchema:()=>cs,GetSessionRequestSchema:()=>Et,GetSessionResponseSchema:()=>Mt,GetSystemServicesRequestSchema:()=>ea,GetSystemServicesResponseSchema:()=>na,GetValueSchema:()=>Pn,Gravity:()=>Xn,GravitySchema:()=>js,HostingDetailsSchema:()=>pa,HtmlRenderOptionsSchema:()=>Ae,HtmlToPdfSchema:()=>Ke,ImageAdjustSchema:()=>Bs,ImageBlurSchema:()=>Cs,ImageCropSchema:()=>Vs,ImageDpiSchema:()=>Ls,ImageFlipSchema:()=>Xs,ImageFocalSchema:()=>Es,ImageFormat:()=>Cn,ImageFormatSchema:()=>qs,ImageHueSchema:()=>Fs,ImageMaxFramesSchema:()=>Ns,ImageOperationSchema:()=>Ue,ImageOutputSchema:()=>De,ImagePadSchema:()=>Ws,ImagePageSchema:()=>Ks,ImageProportionSchema:()=>vs,ImageResizeSchema:()=>Rs,ImageRgbSchema:()=>xs,ImageRotateSchema:()=>Ss,ImageRoundCornerSchema:()=>Hs,ImageSharpenSchema:()=>Ys,ImageTextSchema:()=>zs,ImageTrimSchema:()=>Js,ImageWatermarkSchema:()=>Qs,IncomingVerticesSchema:()=>ot,InheritSessionRequestSchema:()=>Vt,InheritSessionResponseSchema:()=>St,InsertOpSchema:()=>et,JTDSchemaSchema:()=>Nn,ListActiveSignalsRequestSchema:()=>us,ListActiveSignalsResponseSchema:()=>Gs,ListIncomingSignalsRequestSchema:()=>at,ListIncomingSignalsResponseSchema:()=>fe,ManipulatePdfRequestSchema:()=>ks,ManipulatePdfResponseSchema:()=>Us,MarkdownToPdfSchema:()=>Le,Namespace:()=>mn,NamespaceSchema:()=>Me,OfficeRenderOptionsSchema:()=>ke,OfficeToPdfSchema:()=>Qe,OutputSchema:()=>ft,PdfAFormat:()=>Vn,PdfAFormatSchema:()=>Ds,PdfConvertSchema:()=>Oe,PdfEncryptSchema:()=>Pe,PdfFlattenSchema:()=>_e,PdfMergeSchema:()=>Te,PdfOutputOptionsSchema:()=>ne,PdfSplitSchema:()=>je,PluginService:()=>en,PostVertexConfigRequestSchema:()=>bt,PostVertexConfigResponseSchema:()=>ht,PutValueSchema:()=>jn,RangeDeleteOpSchema:()=>$n,ReadOutputRequestSchema:()=>Xt,ReadOutputResponseSchema:()=>Wt,ReadUrlsRequestSchema:()=>Jt,ReadUrlsResponseSchema:()=>Bt,ReceiverSchema:()=>wn,RedeemChallengeRequestSchema:()=>At,RedeemChallengeResponseSchema:()=>Rt,RenderDocumentRequestSchema:()=>Is,RenderDocumentResponseSchema:()=>ys,ResizeType:()=>Sn,ResizeTypeSchema:()=>Ts,RunInheritRequestSchema:()=>wt,RunInheritResponseSchema:()=>Dt,RunInheritStartedSchema:()=>Tt,RunSessionRequestSchema:()=>Qt,RunSessionResponseSchema:()=>kt,RunSessionStartedSchema:()=>Ut,SelectOpSchema:()=>_n,SendRequestSchema:()=>ds,SendResponseSchema:()=>ms,SessionExecutorApi:()=>Be,SessionSchema:()=>vt,SignalBindingSchema:()=>kn,SignalBinding_Error:()=>gn,SignalBinding_ErrorSchema:()=>Un,SignalDataSchema:()=>U,SignalDescriptorSchema:()=>Kn,SignalFormatSchema:()=>Fe,SplitMode:()=>qe,SplitModeSchema:()=>$s,StartExecutionRequestSchema:()=>ua,StartExecutionResponseSchema:()=>Ga,StartSessionRequestSchema:()=>Ct,StartSessionResponseSchema:()=>Yt,Status:()=>yn,StatusSchema:()=>jt,StopExecutionRequestSchema:()=>ba,StopExecutionResponseSchema:()=>ha,StopExecutorApi:()=>Je,StopSessionRequestSchema:()=>Ft,StopSessionResponseSchema:()=>xt,Store:()=>O,StreamSessionRequestSchema:()=>zt,StreamSessionResponseSchema:()=>Lt,TextAlign:()=>Jn,TextAlignSchema:()=>Os,TextBlendMode:()=>Wn,TextBlendModeSchema:()=>Ps,TextWrap:()=>Bn,TextWrapSchema:()=>_s,TimestampRangeSchema:()=>he,TokenSchema:()=>ra,TransceiverSchema:()=>Ln,TransformImageRequestSchema:()=>we,TransformImageResponseSchema:()=>As,TransmitterSchema:()=>Dn,Transmitter_Mode:()=>cn,Transmitter_ModeSchema:()=>Tn,UrlSchema:()=>Ht,ValueMetadataSchema:()=>On,VertexMetadataSchema:()=>Q,VertexType:()=>pn,VertexTypeSchema:()=>Zt,WriteBatchBuilder:()=>Xe,WriteOperationSchema:()=>$,file_mochabugapis_adapt_automations_v1_automations:()=>u,file_mochabugapis_adapt_graph_exchange:()=>pe,file_mochabugapis_adapt_graph_jtd_schema:()=>ce,file_mochabugapis_adapt_graph_receiver:()=>Ge,file_mochabugapis_adapt_graph_signal_binding:()=>q,file_mochabugapis_adapt_graph_signal_data:()=>f,file_mochabugapis_adapt_graph_signal_descriptor:()=>L,file_mochabugapis_adapt_graph_signal_format:()=>H,file_mochabugapis_adapt_graph_transceiver:()=>me,file_mochabugapis_adapt_graph_transmitter:()=>w,file_mochabugapis_adapt_graph_vertex_metadata:()=>j,file_mochabugapis_adapt_runtime_v1_configurator_service:()=>J,file_mochabugapis_adapt_runtime_v1_executor_service:()=>I,file_mochabugapis_adapt_runtime_v1_fileforge_service:()=>c,file_mochabugapis_adapt_runtime_v1_incoming:()=>M,file_mochabugapis_adapt_runtime_v1_plugin_service:()=>Y,file_mochabugapis_adapt_runtime_v1_store:()=>V,mapConnectErrorToHttpStatus:()=>Xa,mapHttpError:()=>tn});module.exports=zn(Wa);var g=require("@bufbuild/protobuf"),y=require("@bufbuild/protobuf/wkt"),a=require("@connectrpc/connect");var oe=require("@bufbuild/protobuf/codegenv2");var _=require("@bufbuild/protobuf/codegenv2"),K=require("@bufbuild/protobuf/wkt"),p=(0,_.fileDesc)("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSLaFwoKRmxvYXRSdWxlcxKDAQoFY29uc3QYASABKAJCdMJIcQpvCgtmbG9hdC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEp8BCgJsdBgCIAEoAkKQAcJIjAEKiQEKCGZsb2F0Lmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEq8BCgNsdGUYAyABKAJCnwHCSJsBCpgBCglmbG9hdC5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLvBwoCZ3QYBCABKAJC4AfCSNwHCo0BCghmbG9hdC5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsMBCgtmbG9hdC5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs0BChVmbG9hdC5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrTAQoMZmxvYXQuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3QEKFmZsb2F0Lmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEroICgNndGUYBSABKAJCqgjCSKYICpsBCglmbG9hdC5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0gEKDGZsb2F0Lmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3AEKFmZsb2F0Lmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuIBCg1mbG9hdC5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrsAQoXZmxvYXQuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAJCc8JIcApuCghmbG9hdC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygCQmbCSGMKYQoMZmxvYXQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdQoGZmluaXRlGAggASgIQmXCSGIKYAoMZmxvYXQuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIrCgdleGFtcGxlGAkgAygCQhrCSBcKFQoNZmxvYXQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i7RcKC0RvdWJsZVJ1bGVzEoQBCgVjb25zdBgBIAEoAUJ1wkhyCnAKDGRvdWJsZS5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEqABCgJsdBgCIAEoAUKRAcJIjQEKigEKCWRvdWJsZS5sdBp9IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKwAQoDbHRlGAMgASgBQqABwkicAQqZAQoKZG91YmxlLmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvQHCgJndBgEIAEoAULlB8JI4QcKjgEKCWRvdWJsZS5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsQBCgxkb3VibGUuZ3RfbHQaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrOAQoWZG91YmxlLmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtQBCg1kb3VibGUuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3gEKF2RvdWJsZS5ndF9sdGVfZXhjbHVzaXZlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARK/CAoDZ3RlGAUgASgBQq8IwkirCAqcAQoKZG91YmxlLmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrTAQoNZG91YmxlLmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3QEKF2RvdWJsZS5ndGVfbHRfZXhjbHVzaXZlGsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrjAQoOZG91YmxlLmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCu0BChhkb3VibGUuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygBQnTCSHEKbwoJZG91YmxlLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKAFCZ8JIZApiCg1kb3VibGUubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdgoGZmluaXRlGAggASgIQmbCSGMKYQoNZG91YmxlLmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSLAoHZXhhbXBsZRgJIAMoAUIbwkgYChYKDmRvdWJsZS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50MzJSdWxlcxKDAQoFY29uc3QYASABKAVCdMJIcQpvCgtpbnQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoBUJ8wkh5CncKCGludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKAVCjAHCSIgBCoUBCglpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoBUKIB8JIhAcKegoIaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgFQtMHwkjPBwqIAQoJaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygFQnPCSHAKbgoIaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCCADKAVCGsJIFwoVCg1pbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50NjRSdWxlcxKDAQoFY29uc3QYASABKANCdMJIcQpvCgtpbnQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoA0J8wkh5CncKCGludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKANCjAHCSIgBCoUBCglpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoA0KIB8JIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgDQtMHwkjPBwqIAQoJaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygDQnPCSHAKbgoIaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDMyUnVsZXMShAEKBWNvbnN0GAEgASgNQnXCSHIKcAoMdWludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygNQnTCSHEKbwoJdWludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKA1CZ8JIZApiCg11aW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoDUIbwkgYChYKDnVpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDY0UnVsZXMShAEKBWNvbnN0GAEgASgEQnXCSHIKcAoMdWludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgEQn3CSHoKeAoJdWludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKARCjQHCSIkBCoYBCgp1aW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKARCjQfCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgEQtgHwkjUBwqJAQoKdWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygEQnTCSHEKbwoJdWludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKARCZ8JIZApiCg11aW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoBEIbwkgYChYKDnVpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDMyUnVsZXMShAEKBWNvbnN0GAEgASgRQnXCSHIKcAoMc2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgRQn3CSHoKeAoJc2ludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBFCjQHCSIkBCoYBCgpzaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBFCjQfCSIkHCnsKCXNpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgRQtgHwkjUBwqJAQoKc2ludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygRQnTCSHEKbwoJc2ludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDY0UnVsZXMShAEKBWNvbnN0GAEgASgSQnXCSHIKcAoMc2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygSQnTCSHEKbwoJc2ludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBJCZ8JIZApiCg1zaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEkIbwkgYChYKDnNpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKvFQoMRml4ZWQzMlJ1bGVzEoUBCgVjb25zdBgBIAEoB0J2wkhzCnEKDWZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKMAQoCbHQYAiABKAdCfsJIewp5CgpmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp4BCgNsdGUYAyABKAdCjgHCSIoBCocBCgtmaXhlZDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASoQcKAmd0GAQgASgHQpIHwkiOBwp8CgpmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq1AQoNZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxQEKDmZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrNAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLtBwoDZ3RlGAUgASgHQt0HwkjZBwqKAQoLZml4ZWQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkMzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKBAQoCaW4YBiADKAdCdcJIcgpwCgpmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi0KB2V4YW1wbGUYCCADKAdCHMJIGQoXCg9maXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDY0UnVsZXMShQEKBWNvbnN0GAEgASgGQnbCSHMKcQoNZml4ZWQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoBkJ+wkh7CnkKCmZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoBkKOAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAZCkgfCSI4HCnwKCmZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAZC3QfCSNkHCooBCgtmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoBkJ1wkhyCnAKCmZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDMyUnVsZXMShgEKBWNvbnN0GAEgASgPQnfCSHQKcgoOc2ZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKA9CdsJIcwpxCgtzZml4ZWQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoD0IdwkgaChgKEHNmaXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsAVCg1TRml4ZWQ2NFJ1bGVzEoYBCgVjb25zdBgBIAEoEEJ3wkh0CnIKDnNmaXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjQEKAmx0GAIgASgQQn/CSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoEEKPAcJIiwEKiAEKDHNmaXhlZDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASpgcKAmd0GAQgASgQQpcHwkiTBwp9CgtzZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDnNmaXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYc2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD3NmaXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGXNmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEvIHCgNndGUYBSABKBBC4gfCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESggEKAmluGAYgAygQQnbCSHMKcQoLc2ZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnkKBm5vdF9pbhgHIAMoEEJpwkhmCmQKD3NmaXhlZDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKBBCHcJIGgoYChBzZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLHAQoJQm9vbFJ1bGVzEoIBCgVjb25zdBgBIAEoCEJzwkhwCm4KCmJvb2wuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIiiDkKC1N0cmluZ1J1bGVzEoYBCgVjb25zdBgBIAEoCUJ3wkh0CnIKDHN0cmluZy5jb25zdBpidGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSfgoDbGVuGBMgASgEQnHCSG4KbAoKc3RyaW5nLmxlbhpedWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubGVuXSkgOiAnJxKZAQoHbWluX2xlbhgCIAEoBEKHAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKXAQoHbWF4X2xlbhgDIAEoBEKFAcJIgQEKfwoOc3RyaW5nLm1heF9sZW4abXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSmwEKCWxlbl9ieXRlcxgUIAEoBEKHAcJIgwEKgAEKEHN0cmluZy5sZW5fYnl0ZXMabHVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSAhPSBydWxlcy5sZW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKjAQoJbWluX2J5dGVzGAQgASgEQo8BwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSogEKCW1heF9ieXRlcxgFIAEoBEKOAcJIigEKhwEKEHN0cmluZy5tYXhfYnl0ZXMac3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9ieXRlc10pIDogJycSjQEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycShAEKBnByZWZpeBgHIAEoCUJ0wkhxCm8KDXN0cmluZy5wcmVmaXgaXiF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJycSggEKBnN1ZmZpeBgIIAEoCUJywkhvCm0KDXN0cmluZy5zdWZmaXgaXCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAndmFsdWUgZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEpABCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpgBCgxub3RfY29udGFpbnMYFyABKAlCgQHCSH4KfAoTc3RyaW5nLm5vdF9jb250YWlucxpldGhpcy5jb250YWlucyhydWxlcy5ub3RfY29udGFpbnMpID8gJ3ZhbHVlIGNvbnRhaW5zIHN1YnN0cmluZyBgJXNgJy5mb3JtYXQoW3J1bGVzLm5vdF9jb250YWluc10pIDogJycSgAEKAmluGAogAygJQnTCSHEKbwoJc3RyaW5nLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAAScAoHdXJpX3JlZhgSIAEoCEJdwkhaClgKDnN0cmluZy51cmlfcmVmEiN2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJIFJlZmVyZW5jZRohIXJ1bGVzLnVyaV9yZWYgfHwgdGhpcy5pc1VyaVJlZigpSAASkAIKB2FkZHJlc3MYFSABKAhC/AHCSPgBCoEBCg5zdHJpbmcuYWRkcmVzcxItdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKYAgoEdXVpZBgWIAEoCEKHAsJIgwIKpQEKC3N0cmluZy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS8AEKBXR1dWlkGCEgASgIQt4BwkjaAQpzCgxzdHJpbmcudHV1aWQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASlgIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvgBwkj0AQp4ChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SH3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLPAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKvAsJIqwIKkwEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEjV2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS8gEKCWlwX3ByZWZpeBgdIAEoCELcAcJI2AEKbAoQc3RyaW5nLmlwX3ByZWZpeBIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2NF9wcmVmaXgYHiABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY0X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAASgwIKC2lwdjZfcHJlZml4GB8gASgIQusBwkjnAQp1ChJzdHJpbmcuaXB2Nl9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAErUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQpsCwkiXAgqZAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEvUBCgR1bGlkGCMgASgIQuQBwkjgAQqCAQoLc3RyaW5nLnVsaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVTElEGlchcnVsZXMudWxpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTddWzAtOUEtSEpLTU5QLVRWLVphLWhqa21ucC10di16XXsyNX0kJykKWQoRc3RyaW5nLnVsaWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVTElEGhkhcnVsZXMudWxpZCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLCEgoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEtUBCgR1dWlkGA8gASgIQsQBwkjAAQpeCgpieXRlcy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i/QUKDkZpZWxkTWFza1J1bGVzEr8BCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCkwHCSI8BCowBChBmaWVsZF9tYXNrLmNvbnN0Gnh0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICd2YWx1ZSBtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS2QEKAmluGAIgAygJQswBwkjIAQrFAQoNZmllbGRfbWFzay5pbhqzASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICd2YWx1ZSBtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEvMBCgZub3RfaW4YAyADKAlC4gHCSN4BCtsBChFmaWVsZF9tYXNrLm5vdF9pbhrFASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ3ZhbHVlIG11c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqoQEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIYChRJR05PUkVfSUZfWkVST19WQUxVRRABEhEKDUlHTk9SRV9BTFdBWVMQAyIECAIQAioMSUdOT1JFX0VNUFRZKg5JR05PUkVfREVGQVVMVCoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUqFUlHTk9SRV9JRl9VTlBPUFVMQVRFRCpuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6VgoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyGi5idWYudmFsaWRhdGUuTWVzc2FnZVJ1bGVzUgdtZXNzYWdlOk4KBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuT25lb2ZSdWxlc1IFb25lb2Y6TgoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzUgVmaWVsZDpdCgpwcmVkZWZpbmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiICSABKAsyHS5idWYudmFsaWRhdGUuUHJlZGVmaW5lZFJ1bGVzUgpwcmVkZWZpbmVkQm4KEmJ1aWxkLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZQ",[K.file_google_protobuf_descriptor,K.file_google_protobuf_duration,K.file_google_protobuf_field_mask,K.file_google_protobuf_timestamp]);var f=(0,oe.fileDesc)("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2RhdGEucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKmCgoKU2lnbmFsRGF0YRL3BQoIZmlsZW5hbWUYASABKAlC3wW6SNsFugGvAQobZmlsZW5hbWUubm9fcGF0aF9zZXBhcmF0b3JzEmNGaWxlbmFtZSBjYW5ub3QgY29udGFpbiBwYXRoIHNlcGFyYXRvcnMgKCcvJyBvciAnXCcpLiBVc2Ugb25seSB0aGUgZmlsZW5hbWUgd2l0aG91dCBkaXJlY3RvcnkgcGF0aC4aKyF0aGlzLmNvbnRhaW5zKCcvJykgJiYgIXRoaXMuY29udGFpbnMoJ1xcJym6AbsBCh5maWxlbmFtZS5ub19jb250cm9sX2NoYXJhY3RlcnMSOUZpbGVuYW1lIGNhbm5vdCBjb250YWluIGNvbnRyb2wgY2hhcmFjdGVycyBvciBudWxsIGJ5dGVzLhpeIXRoaXMuY29udGFpbnMoJ1x4MDAnKSAmJiAhdGhpcy5jb250YWlucygnXG4nKSAmJiAhdGhpcy5jb250YWlucygnXHInKSAmJiAhdGhpcy5jb250YWlucygnXHQnKboBbQonZmlsZW5hbWUubm9fbGVhZGluZ190cmFpbGluZ193aGl0ZXNwYWNlEi1GaWxlbmFtZSBjYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZS4aE3RoaXMgPT0gdGhpcy50cmltKCm6AdMBChxmaWxlbmFtZS5ub193aW5kb3dzX3Jlc2VydmVkEmpGaWxlbmFtZSBjYW5ub3QgYmUgYSBXaW5kb3dzIHJlc2VydmVkIG5hbWUgKENPTiwgUFJOLCBBVVgsIE5VTCwgQ09NMS05LCBMUFQxLTkpIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uGkchdGhpcy5tYXRjaGVzKCdeKD9pKShDT058UFJOfEFVWHxOVUx8Q09NWzEtOV18TFBUWzEtOV0pKD86XFwuW14uXSopPyQnKXIgEAEY/wEyGV5bXi88PjoifD8qXHgwMC1ceDFGXFxdKyRIAIgBARKCBAoJbWltZV90eXBlGAIgASgJQu4DukjqA7oByQEKFm1pbWVfdHlwZS5ub193aWxkY2FyZHMSmQFNSU1FIHR5cGUgd2lsZGNhcmRzIGFyZSBub3QgYWxsb3dlZCBpbiBTaWduYWxEYXRhLiBVc2UgYSBjb25jcmV0ZSBNSU1FIHR5cGUgbGlrZSAnaW1hZ2UvcG5nJyBvciAnYXBwbGljYXRpb24vcGRmJywgbm90IHdpbGRjYXJkcyBsaWtlICdpbWFnZS8qJyBvciAnKi8qJy4aEyF0aGlzLmNvbnRhaW5zKCcqJym6Ab8BChdtaW1lX3R5cGUubm9fcGFyYW1ldGVycxKOAU1JTUUgdHlwZSBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZC4gVXNlICd0ZXh0L3BsYWluJyBpbnN0ZWFkIG9mICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Jy4gVVRGLTggZW5jb2RpbmcgaXMgYXNzdW1lZCBmb3IgYWxsIHRleHQgZm9ybWF0cy4aEyF0aGlzLmNvbnRhaW5zKCc7JylyWBADGP8BMlFeW2EtekEtWjAtOV1bYS16QS1aMC05ISMkJlwtXl8uK117MCwxMjZ9L1thLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fSQSDAoEZGF0YRgDIAEoDEILCglfZmlsZW5hbWViBnByb3RvMw",[p]),U=(0,oe.messageDesc)(f,0);var ie=require("@bufbuild/protobuf/codegenv2");var ge=require("@bufbuild/protobuf/codegenv2");var on=require("@bufbuild/protobuf/wkt"),ce=(0,ge.fileDesc)("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvanRkX3NjaGVtYS5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIpMWCglKVERTY2hlbWESegoLZGVmaW5pdGlvbnMYASADKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLkRlZmluaXRpb25zRW50cnlCL7pILJoBKQgAEOgHIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEi4KCG1ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhUKCG51bGxhYmxlGAMgASgISAGIAQESNwoDcmVmGAQgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAKIAQEScQoEdHlwZRgFIAEoCUJeukhbcllSB2Jvb2xlYW5SB2Zsb2F0MzJSB2Zsb2F0NjRSBGludDhSBXVpbnQ4UgVpbnQxNlIGdWludDE2UgVpbnQzMlIGdWludDMyUgZzdHJpbmdSCXRpbWVzdGFtcEgDiAEBEiQKBGVudW0YBiADKAlCFrpIE5IBEAgAEOgHGAEiB3IFEAEY6AcSOgoIZWxlbWVudHMYByABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hSASIAQESXAoKcHJvcGVydGllcxgIIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWEuUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEm0KE29wdGlvbmFsX3Byb3BlcnRpZXMYCSADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLk9wdGlvbmFsUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEiIKFWFkZGl0aW9uYWxfcHJvcGVydGllcxgKIAEoCEgFiAEBEjgKBnZhbHVlcxgLIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIBogBARIlCg1kaXNjcmltaW5hdG9yGAwgASgJQgm6SAZyBBABGGRIB4gBARJWCgdtYXBwaW5nGA0gAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYS5NYXBwaW5nRW50cnlCE7pIEJoBDQgAEOgHIgZyBBABGGQaVwoQRGVmaW5pdGlvbnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hOgI4ARpWCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaXgoXT3B0aW9uYWxQcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaUwoMTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWE6AjgBOrULukixCxqTAwocanRkLm11dHVhbGx5X2V4Y2x1c2l2ZV9mb3JtcxKIAVNjaGVtYSBtdXN0IHVzZSBleGFjdGx5IG9uZSBmb3JtIChlbXB0eSwgcmVmLCB0eXBlLCBlbnVtLCBlbGVtZW50cywgcHJvcGVydGllcywgdmFsdWVzLCBvciBkaXNjcmltaW5hdG9yKS4gTXVsdGlwbGUgZm9ybSBrZXl3b3JkcyBmb3VuZC4a5wFbaGFzKHRoaXMucmVmKSwgaGFzKHRoaXMudHlwZSksIHNpemUodGhpcy5lbnVtKSA+IDAsIGhhcyh0aGlzLmVsZW1lbnRzKSwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwLCBoYXModGhpcy52YWx1ZXMpLCBoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMubWFwcGluZykgPiAwXS5maWx0ZXIoeCwgeCkuc2l6ZSgpIDw9IDEa+AEKGWp0ZC5wcm9wZXJ0aWVzX25vX292ZXJsYXASWFByb3BlcnRpZXMgYW5kIG9wdGlvbmFsX3Byb3BlcnRpZXMgY2Fubm90IGhhdmUgb3ZlcmxhcHBpbmcga2V5cyAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNikagAEhKHNpemUodGhpcy5wcm9wZXJ0aWVzKSA+IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID4gMCkgfHwgdGhpcy5wcm9wZXJ0aWVzLmFsbChwaywgIShwayBpbiB0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpKRqQAgoxanRkLmFkZGl0aW9uYWxfcHJvcGVydGllc19vbmx5X29uX3Byb3BlcnRpZXNfZm9ybRJ2YWRkaXRpb25hbF9wcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIHNldCB3aGVuIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGZvcm0gKGhhcyBub24tZW1wdHkgcHJvcGVydGllcyBvciBvcHRpb25hbF9wcm9wZXJ0aWVzKRpjIWhhcyh0aGlzLmFkZGl0aW9uYWxfcHJvcGVydGllcykgfHwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwGsIBCiJqdGQuZGlzY3JpbWluYXRvcl9yZXF1aXJlc19tYXBwaW5nEmdkaXNjcmltaW5hdG9yIGFuZCBtYXBwaW5nIG11c3QgYXBwZWFyIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qgb25lIG1hcHBpbmcgZW50cnkgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGjNoYXModGhpcy5kaXNjcmltaW5hdG9yKSA9PSAoc2l6ZSh0aGlzLm1hcHBpbmcpID4gMCkaxQIKEmp0ZC5lbnVtX25vbl9lbXB0eRJKZW51bSBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eSB3aGVuIHVzaW5nIGVudW0gZm9ybSAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNCka4gFzaXplKHRoaXMuZW51bSkgPiAwICYmICFoYXModGhpcy50eXBlKSAmJiAhaGFzKHRoaXMucmVmKSAmJiAhaGFzKHRoaXMuZWxlbWVudHMpICYmICFoYXModGhpcy52YWx1ZXMpICYmICFoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMucHJvcGVydGllcykgPT0gMCAmJiBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPT0gMCA/IHNpemUodGhpcy5lbnVtKSA+IDAgOiB0cnVlQgsKCV9tZXRhZGF0YUILCglfbnVsbGFibGVCBgoEX3JlZkIHCgVfdHlwZUILCglfZWxlbWVudHNCGAoWX2FkZGl0aW9uYWxfcHJvcGVydGllc0IJCgdfdmFsdWVzQhAKDl9kaXNjcmltaW5hdG9yYgZwcm90bzM",[p,on.file_google_protobuf_struct]),Nn=(0,ge.messageDesc)(ce,0);var H=(0,ie.fileDesc)("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Zvcm1hdC5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIo8FCgxTaWduYWxGb3JtYXQSOQoKanRkX3NjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIABKyBAoJbWltZV90eXBlGAIgASgJQpwEukiYBLoBmwIKMG1pbWVfdHlwZS5ub190eXBlX3dpbGRjYXJkX3dpdGhfY29uY3JldGVfc3VidHlwZRK7AVR5cGUgd2lsZGNhcmQgd2l0aCBjb25jcmV0ZSBzdWJ0eXBlIChlLmcuLCAnKi9wbmcnLCAnKi9qc29uJykgaXMgbm90IGFsbG93ZWQuIFVzZSBjb25jcmV0ZSB0eXBlIChlLmcuLCAnaW1hZ2UvcG5nJyksIHR5cGUtZmFtaWx5IHdpbGRjYXJkIChlLmcuLCAnaW1hZ2UvKicpLCBvciB1bml2ZXJzYWwgd2lsZGNhcmQgKCcqLyonKS4aKSEodGhpcy5zdGFydHNXaXRoKCcqLycpICYmIHRoaXMgIT0gJyovKicpugGRAQodbWltZV90eXBlLm5vX2FwcGxpY2F0aW9uX2pzb24SR2dlbmVyaWMganNvbiBpcyBqdGQtc2NoZW1hIHdpdGggZW1wdHkgc2NoZW1hLCB0aGlzIHdpbGwgYWNjZXB0IGFueSBKU09OGid0aGlzLmxvd2VyQXNjaWkoKSAhPSAnYXBwbGljYXRpb24vanNvbidyYhADGP8BMlteKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikvKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikkSABCDwoGZm9ybWF0EgW6SAIIAWIGcHJvdG8z",[p,ce]),Fe=(0,ie.messageDesc)(H,0);var be=require("@bufbuild/protobuf/codegenv2");var re=require("@bufbuild/protobuf/codegenv2");var de=require("@bufbuild/protobuf/codegenv2");var le=require("@bufbuild/protobuf/codegenv2");var L=(0,le.fileDesc)("CjBtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Rlc2NyaXB0b3IucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKMAgoQU2lnbmFsRGVzY3JpcHRvchIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHZm9ybWF0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDJCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxiBnByb3RvMw",[p,H]),Kn=(0,le.messageDesc)(L,0);var me=(0,de.fileDesc)("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLMAgoLVHJhbnNjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEhYKCXN0cmVhbWluZxgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfc3RyZWFtaW5nYgZwcm90bzM",[p,L]),Ln=(0,de.messageDesc)(me,0);var pe=(0,re.fileDesc)("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY6AdIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAyErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDJCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[p,me]),Qn=(0,re.messageDesc)(pe,0);var ue=require("@bufbuild/protobuf/codegenv2");var D=require("@bufbuild/protobuf/codegenv2");var q=(0,D.fileDesc)("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLUBAoNU2lnbmFsQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHYWNjZXB0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDISgwEKCXJlZmVyZW5jZRgGIAEoCUJwukht2AEBcmgY+gEyY14oWzAtOWEtel17NH0vW18kYS16QS1aXVtfJGEtekEtWjAtOV0qL1tfJGEtekEtWl1bXyRhLXpBLVowLTldKnxjb25zdGFudC9bXyRhLXpBLVpdW18kYS16QS1aMC05XSopJBJLCgVlcnJvchgIIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxCaW5kaW5nLkVycm9yQgi6SAWCAQIgAEgDiAEBImYKBUVycm9yEhUKEUVSUk9SX1VOU1BFQ0lGSUVEEAASEQoNRVJST1JfVU5CT1VORBABEhgKFEVSUk9SX0lOVkFMSURfU09VUkNFEAISGQoVRVJST1JfU0NIRU1BX01JU01BVENIEANCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxCCAoGX2Vycm9ySgQIBxAIYgZwcm90bzM",[p,H]),kn=(0,D.messageDesc)(q,0),gn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.UNBOUND=1]="UNBOUND",s[s.INVALID_SOURCE=2]="INVALID_SOURCE",s[s.SCHEMA_MISMATCH=3]="SCHEMA_MISMATCH",s))(gn||{}),Un=(0,D.enumDesc)(q,0,0);var Ge=(0,ue.fileDesc)("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKlAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKvAQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J0ukhxugFoChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKHRoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcubmFtZSkudW5pcXVlKCmSAQMQgARCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[p,q]),wn=(0,ue.messageDesc)(Ge,0);var T=require("@bufbuild/protobuf/codegenv2");var w=(0,T.fileDesc)("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z",[p,L]),Dn=(0,T.messageDesc)(w,0),cn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.STANDARD=1]="STANDARD",s[s.STREAM=2]="STREAM",s[s.FAILURE=3]="FAILURE",s))(cn||{}),Tn=(0,T.enumDesc)(w,0,0);var xe=require("@bufbuild/protobuf/codegenv2");var ln=(0,xe.fileDesc)("Cjxtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdXNlcl9kZWZpbmVkX2V4Y2hhbmdlX29wdGlvbnMucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLHFQoaVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMSaQoTdHJhbnNtaXR0ZXJfb3B0aW9ucxgBIAEoCzJHLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9ucy5UcmFuc2NlaXZlck9wdGlvbnNIAIgBARJmChByZWNlaXZlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gBiAEBEiMKDW1heF9leGNoYW5nZXMYAyABKAVCB7pIBBoCKABIAogBARIjCg1taW5fZXhjaGFuZ2VzGAQgASgFQge6SAQaAigASAOIAQES0QEKDmV4Y2hhbmdlX2xvY2tzGAUgAygLMkEubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLkV4Y2hhbmdlTG9ja0J2ukhzugFwChtleGNoYW5nZV9sb2Nrc191bmlxdWVfbmFtZXMSMUVhY2ggZXhjaGFuZ2UgbG9jayBtdXN0IHRhcmdldCBhIHVuaXF1ZSBleGNoYW5nZS4aHnRoaXMubWFwKGVsLCBlbC5uYW1lKS51bmlxdWUoKRqVAQoKU2lnbmFsTG9jaxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEkEKDG11c3Rfc3Vic3VtZRgCIAEoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRIAIgBAUIPCg1fbXVzdF9zdWJzdW1lGsAFCg9UcmFuc2NlaXZlckxvY2sSMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBLFAQoMc2lnbmFsX2xvY2tzGAIgAygLMj8ubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlNpZ25hbExvY2tCbrpIa7oBaAoZc2lnbmFsX2xvY2tzX3VuaXF1ZV9uYW1lcxItRWFjaCBzaWduYWwgbG9jayBtdXN0IHRhcmdldCBhIHVuaXF1ZSBzaWduYWwuGhx0aGlzLm1hcChzLCBzLm5hbWUpLnVuaXF1ZSgpEiEKC21pbl9zaWduYWxzGAMgASgFQge6SAQaAigASACIAQESIQoLbWF4X3NpZ25hbHMYBCABKAVCB7pIBBoCKABIAYgBATrJArpIxQIaowEKD21pbl9tYXhfc2lnbmFscxI2bWluX3NpZ25hbHMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4X3NpZ25hbHMuGlghaGFzKHRoaXMubWluX3NpZ25hbHMpIHx8ICFoYXModGhpcy5tYXhfc2lnbmFscykgfHwgdGhpcy5taW5fc2lnbmFscyA8PSB0aGlzLm1heF9zaWduYWxzGpwBChZtaW5fc2lnbmFsc19ndGVfbG9ja2VkEjptaW5fc2lnbmFscyBtdXN0IGJlIGF0IGxlYXN0IHRoZSBudW1iZXIgb2YgbG9ja2VkIHNpZ25hbHMuGkYhaGFzKHRoaXMubWluX3NpZ25hbHMpIHx8IHRoaXMubWluX3NpZ25hbHMgPj0gdGhpcy5zaWduYWxfbG9ja3Muc2l6ZSgpQg4KDF9taW5fc2lnbmFsc0IOCgxfbWF4X3NpZ25hbHMaigYKElRyYW5zY2VpdmVyT3B0aW9ucxIcCg9hbGxvd19zdHJlYW1pbmcYASABKAhIAIgBARLGAQoFbG9ja3MYAiADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMuVHJhbnNjZWl2ZXJMb2NrQnG6SG66AWsKEmxvY2tzX3VuaXF1ZV9uYW1lcxI3RWFjaCB0cmFuc2NlaXZlciBsb2NrIG11c3QgdGFyZ2V0IGEgdW5pcXVlIHRyYW5zY2VpdmVyLhocdGhpcy5tYXAobCwgbC5uYW1lKS51bmlxdWUoKRImChBtaW5fdHJhbnNjZWl2ZXJzGAMgASgFQge6SAQaAigASAGIAQESJgoQbWF4X3RyYW5zY2VpdmVycxgEIAEoBUIHukgEGgIoAEgCiAEBOv4Cukj6AhrGAQoUbWluX21heF90cmFuc2NlaXZlcnMSQG1pbl90cmFuc2NlaXZlcnMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4X3RyYW5zY2VpdmVycy4abCFoYXModGhpcy5taW5fdHJhbnNjZWl2ZXJzKSB8fCAhaGFzKHRoaXMubWF4X3RyYW5zY2VpdmVycykgfHwgdGhpcy5taW5fdHJhbnNjZWl2ZXJzIDw9IHRoaXMubWF4X3RyYW5zY2VpdmVycxquAQobbWluX3RyYW5zY2VpdmVyc19ndGVfbG9ja2VkEkRtaW5fdHJhbnNjZWl2ZXJzIG11c3QgYmUgYXQgbGVhc3QgdGhlIG51bWJlciBvZiBsb2NrZWQgdHJhbnNjZWl2ZXJzLhpJIWhhcyh0aGlzLm1pbl90cmFuc2NlaXZlcnMpIHx8IHRoaXMubWluX3RyYW5zY2VpdmVycyA+PSB0aGlzLmxvY2tzLnNpemUoKUISChBfYWxsb3dfc3RyZWFtaW5nQhMKEV9taW5fdHJhbnNjZWl2ZXJzQhMKEV9tYXhfdHJhbnNjZWl2ZXJzGsMCCgxFeGNoYW5nZUxvY2sSMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBJpChN0cmFuc21pdHRlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gAiAEBEmYKEHJlY2VpdmVyX29wdGlvbnMYAyABKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMuVHJhbnNjZWl2ZXJPcHRpb25zSAGIAQFCFgoUX3RyYW5zbWl0dGVyX29wdGlvbnNCEwoRX3JlY2VpdmVyX29wdGlvbnM6uAG6SLQBGrEBChFtaW5fbWF4X2V4Y2hhbmdlcxI6bWluX2V4Y2hhbmdlcyBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBtYXhfZXhjaGFuZ2VzLhpgIWhhcyh0aGlzLm1pbl9leGNoYW5nZXMpIHx8ICFoYXModGhpcy5tYXhfZXhjaGFuZ2VzKSB8fCB0aGlzLm1pbl9leGNoYW5nZXMgPD0gdGhpcy5tYXhfZXhjaGFuZ2VzQhYKFF90cmFuc21pdHRlcl9vcHRpb25zQhMKEV9yZWNlaXZlcl9vcHRpb25zQhAKDl9tYXhfZXhjaGFuZ2VzQhAKDl9taW5fZXhjaGFuZ2VzYgZwcm90bzM",[p,H]);var j=(0,be.fileDesc)("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgi3w0KDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQZBJOCgt1ZGVfb3B0aW9ucxgFIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9uc0gAiAEBEiUKDWNyb25fc2NoZWR1bGUYBiABKAlCCbpIBnIEEAEYZEgBiAEBOvgHukj0BxrvAQorZXhjaGFuZ2VfbG9ja3NfcmVmZXJlbmNlX2V4aXN0aW5nX2V4Y2hhbmdlcxJKRWFjaCBleGNoYW5nZSBsb2NrIG11c3QgcmVmZXJlbmNlIGFuIGV4Y2hhbmdlIHRoYXQgZXhpc3RzIGluIHRoZSBtZXRhZGF0YS4adCFoYXModGhpcy51ZGVfb3B0aW9ucykgfHwgdGhpcy51ZGVfb3B0aW9ucy5leGNoYW5nZV9sb2Nrcy5hbGwobG9jaywgdGhpcy5leGNoYW5nZXMuZXhpc3RzKGV4LCBleC5uYW1lID09IGxvY2submFtZSkpGocDCi1leGNoYW5nZV9sb2NrX3RyYW5zbWl0dGVyc19yZWZlcmVuY2VfZXhpc3RpbmcSZUVhY2ggbG9ja2VkIHRyYW5zbWl0dGVyIGluIGFuIGV4Y2hhbmdlIGxvY2sgbXVzdCByZWZlcmVuY2UgYSB0cmFuc21pdHRlciB0aGF0IGV4aXN0cyBpbiB0aGUgZXhjaGFuZ2UuGu4BIWhhcyh0aGlzLnVkZV9vcHRpb25zKSB8fCB0aGlzLnVkZV9vcHRpb25zLmV4Y2hhbmdlX2xvY2tzLmFsbChsb2NrLCAhaGFzKGxvY2sudHJhbnNtaXR0ZXJfb3B0aW9ucykgfHwgbG9jay50cmFuc21pdHRlcl9vcHRpb25zLmxvY2tzLmFsbCh0bCwgdGhpcy5leGNoYW5nZXMuZXhpc3RzKGV4LCBleC5uYW1lID09IGxvY2submFtZSAmJiBleC50cmFuc21pdHRlcnMuZXhpc3RzKHQsIHQubmFtZSA9PSB0bC5uYW1lKSkpKRr1AgoqZXhjaGFuZ2VfbG9ja19yZWNlaXZlcnNfcmVmZXJlbmNlX2V4aXN0aW5nEl9FYWNoIGxvY2tlZCByZWNlaXZlciBpbiBhbiBleGNoYW5nZSBsb2NrIG11c3QgcmVmZXJlbmNlIGEgcmVjZWl2ZXIgdGhhdCBleGlzdHMgaW4gdGhlIGV4Y2hhbmdlLhrlASFoYXModGhpcy51ZGVfb3B0aW9ucykgfHwgdGhpcy51ZGVfb3B0aW9ucy5leGNoYW5nZV9sb2Nrcy5hbGwobG9jaywgIWhhcyhsb2NrLnJlY2VpdmVyX29wdGlvbnMpIHx8IGxvY2sucmVjZWl2ZXJfb3B0aW9ucy5sb2Nrcy5hbGwodGwsIHRoaXMuZXhjaGFuZ2VzLmV4aXN0cyhleCwgZXgubmFtZSA9PSBsb2NrLm5hbWUgJiYgZXgucmVjZWl2ZXJzLmV4aXN0cyhyLCByLm5hbWUgPT0gdGwubmFtZSkpKSlCDgoMX3VkZV9vcHRpb25zQhAKDl9jcm9uX3NjaGVkdWxlYgZwcm90bzM",[p,pe,Ge,w,ln]),Q=(0,be.messageDesc)(j,0);var R=require("@bufbuild/protobuf/codegenv2");var rn=require("@bufbuild/protobuf/wkt");var X=require("@bufbuild/protobuf/codegenv2");var dn=require("@bufbuild/protobuf/wkt"),V=(0,X.fileDesc)("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9zdG9yZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiJgoIUHV0VmFsdWUSDQoFdmFsdWUYASABKAwSCwoDdHRsGAIgASgFIlkKCEdldFZhbHVlEg0KBXZhbHVlGAEgASgMEj4KCG1ldGFkYXRhGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YSJdCg1WYWx1ZU1ldGFkYXRhEgsKA3R0bBgBIAEoBRIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRldGFnGAMgASgJIuwBCg5UaW1lc3RhbXBSYW5nZRIxCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARIvCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESFwoPc3RhcnRfaW5jbHVzaXZlGAMgASgIEhUKDWVuZF9pbmNsdXNpdmUYBCABKAg6RrpIQxpBCgt2YWxpZF9yYW5nZRIbc3RhcnQgbXVzdCBiZSBsZXNzIHRoYW4gZW5kGhV0aGlzLnN0YXJ0IDwgdGhpcy5lbmQinwMKCFNlbGVjdE9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQESHgoFbGltaXQYBSABKAVCCrpIBxoFGOgHKABIBIgBARIXCgpwYWdlX3Rva2VuGAYgASgJSAWIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmVCCAoGX2xpbWl0Qg0KC19wYWdlX3Rva2VuIuABCg5Xcml0ZU9wZXJhdGlvbhI5CgZpbnNlcnQYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbnNlcnRPcEgAEjkKBmRlbGV0ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRlbGV0ZU9wSAASRAoMcmFuZ2VfZGVsZXRlGAMgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmFuZ2VEZWxldGVPcEgAQhIKCW9wZXJhdGlvbhIFukgCCAEiuwEKGUNvbmRpdGlvbmFsV3JpdGVPcGVyYXRpb24SRAoGaW5zZXJ0GAEgASgLMjIubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxJbnNlcnRPcEgAEkQKBmRlbGV0ZRgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3BIAEISCglvcGVyYXRpb24SBbpIAggBItICCg1SYW5nZURlbGV0ZU9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmUiYQoISW5zZXJ0T3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAIBI+CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlB1dFZhbHVlQga6SAPIAQEiIQoIRGVsZXRlT3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAICK2BgoTQ29uZGl0aW9uYWxJbnNlcnRPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEj4KBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUHV0VmFsdWVCBrpIA8gBARJaCgxwcmVjb25kaXRpb24YAyABKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbEluc2VydE9wLlByZWNvbmRpdGlvbkgAiAEBGtoECgxQcmVjb25kaXRpb24SOgoUbGFzdF9tb2RpZmllZF9lcXVhbHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASTAoTbGFzdF9tb2RpZmllZF9yYW5nZRgCIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRpbWVzdGFtcFJhbmdlSAASEQoEZXRhZxgEIAEoCUgBiAEBEhsKDmZhaWxfaWZfZXhpc3RzGAUgASgISAKIAQE63AK6SNgCGscBCiBub190aW1lc3RhbXBfd2l0aF9mYWlsX2lmX2V4aXN0cxI7ZmFpbF9pZl9leGlzdHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGltZXN0YW1wIGNvbmRpdGlvbnMaZnRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5sYXN0X21vZGlmaWVkX2VxdWFscykgJiYgIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfcmFuZ2UpIDogdHJ1ZRqLAQobbm9fZXRhZ193aXRoX2ZhaWxfaWZfZXhpc3RzEjZmYWlsX2lmX2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBldGFnIGNvbmRpdGlvbnMaNHRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5ldGFnKSA6IHRydWVCFQoTdGltZXN0YW1wX2NvbmRpdGlvbkIHCgVfZXRhZ0IRCg9fZmFpbF9pZl9leGlzdHNCDwoNX3ByZWNvbmRpdGlvbiLeBQoTQ29uZGl0aW9uYWxEZWxldGVPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEloKDHByZWNvbmRpdGlvbhgCIAEoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3AuUHJlY29uZGl0aW9uSACIAQEawgQKDFByZWNvbmRpdGlvbhIYCgttdXN0X2V4aXN0cxgBIAEoCEgBiAEBEjoKFGxhc3RfbW9kaWZpZWRfZXF1YWxzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEkwKE2xhc3RfbW9kaWZpZWRfcmFuZ2UYAyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UaW1lc3RhbXBSYW5nZUgAEhEKBGV0YWcYBCABKAlIAogBATrKArpIxgIavgEKHW5vX3RpbWVzdGFtcF93aXRoX211c3RfZXhpc3RzEjhtdXN0X2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aW1lc3RhbXAgY29uZGl0aW9ucxpjdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfZXF1YWxzKSAmJiAhaGFzKHRoaXMubGFzdF9tb2RpZmllZF9yYW5nZSkgOiB0cnVlGoIBChhub19ldGFnX3dpdGhfbXVzdF9leGlzdHMSM211c3RfZXhpc3RzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGV0YWcgY29uZGl0aW9ucxoxdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmV0YWcpIDogdHJ1ZUIVChN0aW1lc3RhbXBfY29uZGl0aW9uQg4KDF9tdXN0X2V4aXN0c0IHCgVfZXRhZ0IPCg1fcHJlY29uZGl0aW9uKpABCglOYW1lc3BhY2USGQoVTkFNRVNQQUNFX1VOU1BFQ0lGSUVEEAASHQoZTkFNRVNQQUNFX1ZFUlRFWF9JTlNUQU5DRRABEh0KGU5BTUVTUEFDRV9QTFVHSU5fSU5TVEFOQ0UQAhIUChBOQU1FU1BBQ0VfVkVSVEVYEAMSFAoQTkFNRVNQQUNFX1BMVUdJThAEYgZwcm90bzM",[p,dn.file_google_protobuf_timestamp]),jn=(0,X.messageDesc)(V,0),Pn=(0,X.messageDesc)(V,1),On=(0,X.messageDesc)(V,2),he=(0,X.messageDesc)(V,3),_n=(0,X.messageDesc)(V,4),$=(0,X.messageDesc)(V,5),qn=(0,X.messageDesc)(V,6),$n=(0,X.messageDesc)(V,7),et=(0,X.messageDesc)(V,8),nt=(0,X.messageDesc)(V,9),tt=(0,X.messageDesc)(V,10),Ze=(0,X.messageDesc)(V,10,0),st=(0,X.messageDesc)(V,11),Ee=(0,X.messageDesc)(V,11,0),mn=(l=>(l[l.UNSPECIFIED=0]="UNSPECIFIED",l[l.VERTEX_INSTANCE=1]="VERTEX_INSTANCE",l[l.PLUGIN_INSTANCE=2]="PLUGIN_INSTANCE",l[l.VERTEX=3]="VERTEX",l[l.PLUGIN=4]="PLUGIN",l))(mn||{}),Me=(0,X.enumDesc)(V,0);var J=(0,R.fileDesc)("Cjhtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9jb25maWd1cmF0b3Jfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi5AEKGkxpc3RJbmNvbWluZ1NpZ25hbHNSZXF1ZXN0EjwKCHJlY2VpdmVyGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSACIAQESNwoHZm9ybWF0cxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXQSMwoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAYgBAUILCglfcmVjZWl2ZXJCDQoLX2ZpZWxkX21hc2si9gEKEEluY29taW5nVmVydGljZXMSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgx0cmFuc21pdHRlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXISPgoLdmVydGV4X3R5cGUYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5WZXJ0ZXhUeXBlEhQKB2xvZ29faWQYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CCgoIX2xvZ29faWQiyAIKG0xpc3RJbmNvbWluZ1NpZ25hbHNSZXNwb25zZRJBCgh2ZXJ0aWNlcxgBIAMoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkluY29taW5nVmVydGljZXMSYQoMdmVydGV4X2xvZ29zGAIgAygLMksubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlLlZlcnRleExvZ29zRW50cnkSEAoIcmVjZWl2ZXIYAyABKAkSPQoJY29uc3RhbnRzGAQgAygLMioubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERlc2NyaXB0b3IaMgoQVmVydGV4TG9nb3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIsYBCilDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIvYBCipDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USaQoIbWV0YWRhdGEYASADKAsyVy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIr4BCiRDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QSSwoJb3BlcmF0aW9uGAEgASgLMjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxXcml0ZU9wZXJhdGlvbhJJCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCDLpICYIBBiAAIAEgAiJ5CiVDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKXAQooQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVxdWVzdBIgCgRrZXlzGAEgAygJQhK6SA+SAQwIARCQTiIFcgMYgCASSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIi5gEKKUNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEmIKBWl0ZW1zGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2UuSXRlbXNFbnRyeRpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4ASK2AQolQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBJCCglvcGVyYXRpb24YASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZWxlY3RPcEIGukgDyAEBEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIogCCiZDb25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZRJfCgVpdGVtcxgBIAMoCzJQLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlLkl0ZW1zRW50cnkSFwoKbmV4dF90b2tlbhgCIAEoCUgAiAEBGlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBQg0KC19uZXh0X3Rva2VuIm8KKUNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0EjMKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrSACIAQFCDQoLX2ZpZWxkX21hc2siswIKKkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZRIOCgZjb25maWcYASABKAwSOgoIbWV0YWRhdGEYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVmVydGV4TWV0YWRhdGESfgoTY29uZmlndXJlZF9zZXJ2aWNlcxgDIAMoCzJhLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIrUCChdQb3N0VmVydGV4Q29uZmlnUmVxdWVzdBITCgZjb25maWcYASABKAxIAIgBARI/CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YUgBiAEBEh4KEW92ZXJyaWRlX2JpbmRpbmdzGAMgASgISAKIAQE6drpIcxpxChtjb25maWdfb3JfbWV0YWRhdGFfcmVxdWlyZWQSKkVpdGhlciBjb25maWcgb3IgbWV0YWRhdGEgbXVzdCBiZSBwcm92aWRlZBomaGFzKHRoaXMuY29uZmlnKSB8fCBoYXModGhpcy5tZXRhZGF0YSlCCQoHX2NvbmZpZ0ILCglfbWV0YWRhdGFCFAoSX292ZXJyaWRlX2JpbmRpbmdzIlYKGFBvc3RWZXJ0ZXhDb25maWdSZXNwb25zZRI6CghtZXRhZGF0YRgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YSrBAQoKVmVydGV4VHlwZRIbChdWRVJURVhfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVZFUlRFWF9UWVBFX1NUQVJUEAESFgoSVkVSVEVYX1RZUEVfUExVR0lOEAISFgoSVkVSVEVYX1RZUEVfT1VUUFVUEAMSGAoUVkVSVEVYX1RZUEVfREVMRUdBVEUQBBIXChNWRVJURVhfVFlQRV9CQVJSSUVSEAUSHAoYVkVSVEVYX1RZUEVfRVhDSEFOR0VfT1VUEAYy2QgKE0NvbmZpZ3VyYXRvclNlcnZpY2USpgEKD0dldFZlcnRleENvbmZpZxJILm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEoMBChBQb3N0VmVydGV4Q29uZmlnEjYubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUG9zdFZlcnRleENvbmZpZ1JlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Qb3N0VmVydGV4Q29uZmlnUmVzcG9uc2USlwEKCldyaXRlU3RvcmUSQy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QaRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEqYBCg9CYXRjaFdyaXRlU3RvcmUSSC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBpJLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZRKjAQoOQmF0Y2hSZWFkU3RvcmUSRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2USmgEKC1NlbGVjdFN0b3JlEkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBpFLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlEowBChNMaXN0SW5jb21pbmdTaWduYWxzEjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1JlcXVlc3QaOi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0SW5jb21pbmdTaWduYWxzUmVzcG9uc2ViBnByb3RvMw",[p,rn.file_google_protobuf_field_mask,L,H,w,j,V]),at=(0,R.messageDesc)(J,0),ot=(0,R.messageDesc)(J,1),fe=(0,R.messageDesc)(J,2),gt=(0,R.messageDesc)(J,3),ct=(0,R.messageDesc)(J,4),it=(0,R.messageDesc)(J,5),lt=(0,R.messageDesc)(J,6),dt=(0,R.messageDesc)(J,7),mt=(0,R.messageDesc)(J,8),rt=(0,R.messageDesc)(J,9),pt=(0,R.messageDesc)(J,10),ut=(0,R.messageDesc)(J,11),Gt=(0,R.messageDesc)(J,12),bt=(0,R.messageDesc)(J,13),ht=(0,R.messageDesc)(J,14),pn=(b=>(b[b.UNSPECIFIED=0]="UNSPECIFIED",b[b.START=1]="START",b[b.PLUGIN=2]="PLUGIN",b[b.OUTPUT=3]="OUTPUT",b[b.DELEGATE=4]="DELEGATE",b[b.BARRIER=5]="BARRIER",b[b.EXCHANGE_OUT=6]="EXCHANGE_OUT",b))(pn||{}),Zt=(0,R.enumDesc)(J,0),He=(0,R.serviceDesc)(J,0);var Z=require("@bufbuild/protobuf/codegenv2");var An=require("@bufbuild/protobuf/wkt");var r=require("@bufbuild/protobuf/codegenv2");var ze=require("@bufbuild/protobuf/codegenv2");var ve=require("@bufbuild/protobuf/codegenv2"),un=(0,ve.fileDesc)("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");var Gn=require("@bufbuild/protobuf/wkt"),bn=(0,ze.fileDesc)("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[un,Gn.file_google_protobuf_descriptor]);var ee=require("@bufbuild/protobuf/codegenv2");var Ne=require("@bufbuild/protobuf/codegenv2"),hn=(0,Ne.fileDesc)("Ch1nb29nbGUvYXBpL2xhdW5jaF9zdGFnZS5wcm90bxIKZ29vZ2xlLmFwaSqMAQoLTGF1bmNoU3RhZ2USHAoYTEFVTkNIX1NUQUdFX1VOU1BFQ0lGSUVEEAASEQoNVU5JTVBMRU1FTlRFRBAGEg0KCVBSRUxBVU5DSBAHEhAKDEVBUkxZX0FDQ0VTUxABEgkKBUFMUEhBEAISCAoEQkVUQRADEgYKAkdBEAQSDgoKREVQUkVDQVRFRBAFQloKDmNvbS5nb29nbGUuYXBpQhBMYXVuY2hTdGFnZVByb3RvUAFaLWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpO2FwaaICBEdBUEliBnByb3RvMw");var Ie=require("@bufbuild/protobuf/wkt"),Zn=(0,ee.fileDesc)("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw",[hn,Ie.file_google_protobuf_descriptor,Ie.file_google_protobuf_duration]);var In=require("@bufbuild/protobuf/wkt");var u=(0,r.fileDesc)("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvYXV0b21hdGlvbnMvdjEvYXV0b21hdGlvbnMucHJvdG8SIW1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MSIwChZDcmVhdGVDaGFsbGVuZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIqIBChdDcmVhdGVDaGFsbGVuZ2VSZXNwb25zZRINCgVjb3VudBgBIAEoDRIMCgRzaXplGAIgASgNEhIKCmRpZmZpY3VsdHkYAyABKA0SKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdG9rZW4YBSABKAkSGgoSdmVyaWZpY2F0aW9uX3Rva2VuGAYgASgJIngKFlJlZGVlbUNoYWxsZW5nZVJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSJgoSdmVyaWZpY2F0aW9uX3Rva2VuGAIgASgJQgq6SAdyBRABGNAPEh4KCXNvbHV0aW9ucxgDIAMoA0ILukgIkgEFCAEQ6AciVQoXUmVkZWVtQ2hhbGxlbmdlUmVzcG9uc2USDQoFdG9rZW4YASABKAkSKwoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwoVSW5oZXJpdFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDImUKFkluaGVyaXRTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyKvAQoRUmVhZE91dHB1dFJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEikKBnZlcnRleBgDIAEoCUIUukgRcg8yDV5bMC05YS16XXs0fSRIAIgBARIhCgpuZXdlcl90aGFuGAQgASgJQgi6SAVyA7ABAUgBiAEBQgkKB192ZXJ0ZXhCDQoLX25ld2VyX3RoYW4iywEKElJlYWRPdXRwdXRSZXNwb25zZRI7CgdzZXNzaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb24SOgoHb3V0cHV0cxgCIAMoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQSJwoQbmV4dF9wYWdlX2N1cnNvchgDIAEoCUIIukgFcgOwAQFIAIgBAUITChFfbmV4dF9wYWdlX2N1cnNvciJ3Cg9SZWFkVXJsc1JlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEiEKCm5ld2VyX3RoYW4YAyABKAlCCLpIBXIDsAEBSACIAQFCDQoLX25ld2VyX3RoYW4iwwEKEFJlYWRVcmxzUmVzcG9uc2USOwoHc2Vzc2lvbhgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uEjQKBHVybHMYAiADKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsEicKEG5leHRfcGFnZV9jdXJzb3IYAyABKAlCCLpIBXIDsAEBSACIAQFCEwoRX25leHRfcGFnZV9jdXJzb3IikQMKE1N0YXJ0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSOwoLdHJhbnNtaXR0ZXIYAiABKAlCIbpIHnIcEAEYZDIWXlthLXpBLVowLTlfLV17MSwxMDB9JEgAiAEBEoABCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QuU2lnbmFsc0VudHJ5Qiq6SCeaASQiInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQSKAoPY2hhbGxlbmdlX3Rva2VuGAQgASgJQgq6SAdyBRABGPQDSAGIAQEaVAoMU2lnbmFsc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhOgI4AUIOCgxfdHJhbnNtaXR0ZXJCEgoQX2NoYWxsZW5nZV90b2tlbiJjChRTdGFydFNlc3Npb25SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIlIKElN0b3BTZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIbCgRmb3JrGAIgASgJQgi6SAVyAxjoB0gAiAEBQgcKBV9mb3JrIhUKE1N0b3BTZXNzaW9uUmVzcG9uc2UiKwoRR2V0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiWQoSR2V0U2Vzc2lvblJlc3BvbnNlEkMKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkIGukgDyAEBIukBCgZPdXRwdXQSDgoGdmVydGV4GAEgASgJEgwKBGZvcmsYAiABKAkSQQoEZGF0YRgDIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQuRGF0YUVudHJ5EisKB2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGlEKCURhdGFFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEiiwEKA1VybBILCgN1cmwYASABKAkSDAoEZm9yaxgCIAEoCRIOCgZ2ZXJ0ZXgYAyABKAkSDAoEZG9uZRgEIAEoCBIrCgdjcmVhdGVkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0b2tlbhgGIAEoCRIPCgdzdG9wcGVkGAcgASgIIlIKB1Nlc3Npb24SDAoEZm9yaxgBIAEoCRI5CgZzdGF0dXMYAiABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhdHVzIi4KFFN0cmVhbVNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIkkKEUFja01lc3NhZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEhwKCm1lc3NhZ2VfaWQYAiABKAlCCLpIBXIDsAEBIhQKEkFja01lc3NhZ2VSZXNwb25zZSLrAQoVU3RyZWFtU2Vzc2lvblJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARI7CgZvdXRwdXQYAiABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAMgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBCABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UijAMKEVJ1blNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEjsKC3RyYW5zbWl0dGVyGAIgASgJQiG6SB5yHBABGGQyFl5bYS16QS1aMC05Xy1dezEsMTAwfSRIAIgBARJ+CgdzaWduYWxzGAMgAygLMkEubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJ1blNlc3Npb25SZXF1ZXN0LlNpZ25hbHNFbnRyeUIqukgnmgEkIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEigKD2NoYWxsZW5nZV90b2tlbhgEIAEoCUIKukgHcgUQARj0A0gBiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyQhIKEF9jaGFsbGVuZ2VfdG9rZW4isQIKElJ1blNlc3Npb25SZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESRwoHc3RhcnRlZBgCIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uU3RhcnRlZEgAEjsKBm91dHB1dBgDIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXRIABI1CgN1cmwYBCABKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsSAASPQoHc2Vzc2lvbhgFIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uSABCCQoHbWVzc2FnZSJgChFSdW5TZXNzaW9uU3RhcnRlZBINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIisKEVJ1bkluaGVyaXRSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIrMCChJSdW5Jbmhlcml0UmVzcG9uc2USFAoCaWQYASABKAlCCLpIBXIDsAEBEkkKCWluaGVyaXRlZBgCIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0U3RhcnRlZEgAEjsKBm91dHB1dBgDIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXRIABI1CgN1cmwYBCABKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsSAASPQoHc2Vzc2lvbhgFIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uSABCCQoHbWVzc2FnZSJgChFSdW5Jbmhlcml0U3RhcnRlZBINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzKsgBCgZTdGF0dXMSFgoSU1RBVFVTX1VOU1BFQ0lGSUVEEAASEgoOU1RBVFVTX1JVTk5JTkcQARISCg5TVEFUVVNfU1RPUFBFRBACEhMKD1NUQVRVU19TVE9QUElORxADEhQKEFNUQVRVU19DT01QTEVURUQQBBISCg5TVEFUVVNfRVhQSVJFRBAFEhIKDlNUQVRVU19FUlJPUkVEEAYSFQoRU1RBVFVTX0RFTEVHQVRJTkcQBxIUChBTVEFUVVNfREVMRUdBVEVEEAgyyBEKEUF1dG9tYXRpb25TZXJ2aWNlErMBCg9DcmVhdGVDaGFsbGVuZ2USOS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuQ3JlYXRlQ2hhbGxlbmdlUmVxdWVzdBo6Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5DcmVhdGVDaGFsbGVuZ2VSZXNwb25zZSIpgtPkkwIjOgEqIh4vdjEvYXV0b21hdGlvbnMve2lkfS9jaGFsbGVuZ2USugEKD1JlZGVlbUNoYWxsZW5nZRI5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWRlZW1DaGFsbGVuZ2VSZXF1ZXN0GjoubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlZGVlbUNoYWxsZW5nZVJlc3BvbnNlIjCC0+STAio6ASoiJS92MS9hdXRvbWF0aW9ucy97aWR9L2NoYWxsZW5nZS9yZWRlZW0SrgEKDFN0YXJ0U2Vzc2lvbhI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdGFydFNlc3Npb25SZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlc3BvbnNlIi2C0+STAic6ASoiIi92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vc3RhcnQSogEKC1N0b3BTZXNzaW9uEjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0b3BTZXNzaW9uUmVxdWVzdBo2Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdG9wU2Vzc2lvblJlc3BvbnNlIiSC0+STAh4qHC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24StgEKDkluaGVyaXRTZXNzaW9uEjgubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkluaGVyaXRTZXNzaW9uUmVxdWVzdBo5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5Jbmhlcml0U2Vzc2lvblJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vaW5oZXJpdBKfAQoKR2V0U2Vzc2lvbhI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5HZXRTZXNzaW9uUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5HZXRTZXNzaW9uUmVzcG9uc2UiJILT5JMCHhIcL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbhKmAQoKUmVhZE91dHB1dBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkT3V0cHV0UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkT3V0cHV0UmVzcG9uc2UiK4LT5JMCJRIjL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9vdXRwdXQSngEKCFJlYWRVcmxzEjIubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRVcmxzUmVxdWVzdBozLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkVXJsc1Jlc3BvbnNlIimC0+STAiMSIS92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vdXJscxKxAQoNU3RyZWFtU2Vzc2lvbhI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdHJlYW1TZXNzaW9uUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdHJlYW1TZXNzaW9uUmVzcG9uc2UiK4LT5JMCJRIjL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9zdHJlYW0wARKmAQoKQWNrTWVzc2FnZRI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5BY2tNZXNzYWdlUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5BY2tNZXNzYWdlUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9hY2sSqAEKClJ1blNlc3Npb24SNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vcnVuMAESsAEKClJ1bkluaGVyaXQSNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFJlc3BvbnNlIjOC0+STAi06ASoiKC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vcnVuLWluaGVyaXQwARqJAcpBFmFkYXB0Lm1vY2hhYnVnYXBpcy5jb23SQW1odHRwczovL3d3dy5tb2NoYWJ1Z2FwaXMuY29tL2F1dGgvYWRhcHQuYXV0b21hdGlvbnMsaHR0cHM6Ly93d3cubW9jaGFidWdhcGlzLmNvbS9hdXRoL2FkYXB0LmF1dG9tYXRpb25zLnN0YXJ0YgZwcm90bzM",[p,bn,Zn,In.file_google_protobuf_timestamp,f]),It=(0,r.messageDesc)(u,0),yt=(0,r.messageDesc)(u,1),At=(0,r.messageDesc)(u,2),Rt=(0,r.messageDesc)(u,3),Vt=(0,r.messageDesc)(u,4),St=(0,r.messageDesc)(u,5),Xt=(0,r.messageDesc)(u,6),Wt=(0,r.messageDesc)(u,7),Jt=(0,r.messageDesc)(u,8),Bt=(0,r.messageDesc)(u,9),Ct=(0,r.messageDesc)(u,10),Yt=(0,r.messageDesc)(u,11),Ft=(0,r.messageDesc)(u,12),xt=(0,r.messageDesc)(u,13),Et=(0,r.messageDesc)(u,14),Mt=(0,r.messageDesc)(u,15),ft=(0,r.messageDesc)(u,16),Ht=(0,r.messageDesc)(u,17),vt=(0,r.messageDesc)(u,18),zt=(0,r.messageDesc)(u,19),Nt=(0,r.messageDesc)(u,20),Kt=(0,r.messageDesc)(u,21),Lt=(0,r.messageDesc)(u,22),Qt=(0,r.messageDesc)(u,23),kt=(0,r.messageDesc)(u,24),Ut=(0,r.messageDesc)(u,25),wt=(0,r.messageDesc)(u,26),Dt=(0,r.messageDesc)(u,27),Tt=(0,r.messageDesc)(u,28),yn=(i=>(i[i.UNSPECIFIED=0]="UNSPECIFIED",i[i.RUNNING=1]="RUNNING",i[i.STOPPED=2]="STOPPED",i[i.STOPPING=3]="STOPPING",i[i.COMPLETED=4]="COMPLETED",i[i.EXPIRED=5]="EXPIRED",i[i.ERRORED=6]="ERRORED",i[i.DELEGATING=7]="DELEGATING",i[i.DELEGATED=8]="DELEGATED",i))(yn||{}),jt=(0,r.enumDesc)(u,0),Pt=(0,r.serviceDesc)(u,0);var I=(0,Z.fileDesc)("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9leGVjdXRvcl9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MSK+AQolRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAi7gEKJkV4ZWN1dG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlc3BvbnNlEmUKCG1ldGFkYXRhGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIrYBCiBFeGVjdXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAidQohRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKPAQokRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIt4BCiVFeGVjdXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEl4KBWl0ZW1zGAEgAygLMk8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIq4BCiFFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QSQgoJb3BlcmF0aW9uGAEgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VsZWN0T3BCBrpIA8gBARJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIoACCiJFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlElsKBWl0ZW1zGAEgAygLMkwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5EhcKCm5leHRfdG9rZW4YAiABKAlIAIgBARpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4AUINCgtfbmV4dF90b2tlbiI2Ch5DYW5jZWxFeGNoYW5nZU9wZXJhdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDGOgHIiEKH0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2UiMwobR2V0RXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyAxjoByJeChxHZXRFeGNoYW5nZU9wZXJhdGlvblJlc3BvbnNlEj4KBGl0ZW0YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbiL3AgoXRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI8CghyZWNlaXZlchgCIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEoUBCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQgsKCV9yZWNlaXZlciJfChhEaXNwYXRjaEV4Y2hhbmdlUmVzcG9uc2USQwoJb3BlcmF0aW9uGAEgASgLMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VPcGVyYXRpb24irQIKC1NlbmRSZXF1ZXN0Ej0KC3RyYW5zbWl0dGVyGAEgASgJQiO6SCByHhhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEnkKB3NpZ25hbHMYAiADKAsyNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKQgAEDIiI3IhEAEYgAQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIg4KDFNlbmRSZXNwb25zZSJhChxCYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXF1ZXN0EkEKBW5hbWVzGAEgAygJQjK6SC+SASwIARD0AxgBIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCLdAQodQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVzcG9uc2USVgoFaXRlbXMYASADKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXNwb25zZS5JdGVtc0VudHJ5EhAKCHJlY2VpdmVyGAIgASgJGlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBIqgBChhMaXN0QWN0aXZlU2lnbmFsc1JlcXVlc3QSIAoJcGFnZV9zaXplGAEgASgFQgi6SAUaAxj0A0gAiAEBEh0KBmN1cnNvchgCIAEoCUIIukgFcgMY9ANIAYgBARIdChBvcmRlcl9kZXNjZW5kaW5nGAMgASgISAKIAQFCDAoKX3BhZ2Vfc2l6ZUIJCgdfY3Vyc29yQhMKEV9vcmRlcl9kZXNjZW5kaW5nIoUCChlMaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlElYKB3NpZ25hbHMYASADKAsyRS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlLlNpZ25hbHNFbnRyeRIQCghyZWNlaXZlchgCIAEoCRIYCgtuZXh0X2N1cnNvchgDIAEoCUgAiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX25leHRfY3Vyc29yImsKJUV4ZWN1dG9yU2VydmljZUdldFZlcnRleENvbmZpZ1JlcXVlc3QSMwoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAIgBAUINCgtfZmllbGRfbWFzayKrAgomRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2USDgoGY29uZmlnGAEgASgMEjoKCG1ldGFkYXRhGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhEnoKE2NvbmZpZ3VyZWRfc2VydmljZXMYAyADKAsyXS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImgKEUV4Y2hhbmdlT3BlcmF0aW9uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSOQoGc3RhdHVzGAMgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXR1czLKDAoPRXhlY3V0b3JTZXJ2aWNlEp4BCg9HZXRWZXJ0ZXhDb25maWcSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UShgEKEUxpc3RBY3RpdmVTaWduYWxzEjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRKSAQoVQmF0Y2hHZXRBY3RpdmVTaWduYWxzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlEl8KBFNlbmQSKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdBorLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbmRSZXNwb25zZRKDAQoQRGlzcGF0Y2hFeGNoYW5nZRI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRpc3BhdGNoRXhjaGFuZ2VSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlc3BvbnNlEo8BChRHZXRFeGNoYW5nZU9wZXJhdGlvbhI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2USmAEKF0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXNwb25zZRKPAQoKV3JpdGVTdG9yZRI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkV4ZWN1dG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEp4BCg9CYXRjaFdyaXRlU3RvcmUSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USmwEKDkJhdGNoUmVhZFN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZRKSAQoLU2VsZWN0U3RvcmUSQC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaQS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlYgZwcm90bzM",[p,An.file_google_protobuf_field_mask,u,f,j,V]),Ot=(0,Z.messageDesc)(I,0),_t=(0,Z.messageDesc)(I,1),qt=(0,Z.messageDesc)(I,2),$t=(0,Z.messageDesc)(I,3),es=(0,Z.messageDesc)(I,4),ns=(0,Z.messageDesc)(I,5),ts=(0,Z.messageDesc)(I,6),ss=(0,Z.messageDesc)(I,7),as=(0,Z.messageDesc)(I,8),os=(0,Z.messageDesc)(I,9),gs=(0,Z.messageDesc)(I,10),cs=(0,Z.messageDesc)(I,11),is=(0,Z.messageDesc)(I,12),ls=(0,Z.messageDesc)(I,13),ds=(0,Z.messageDesc)(I,14),ms=(0,Z.messageDesc)(I,15),rs=(0,Z.messageDesc)(I,16),ps=(0,Z.messageDesc)(I,17),us=(0,Z.messageDesc)(I,18),Gs=(0,Z.messageDesc)(I,19),bs=(0,Z.messageDesc)(I,20),hs=(0,Z.messageDesc)(I,21),Zs=(0,Z.messageDesc)(I,22),ye=(0,Z.serviceDesc)(I,0);var o=require("@bufbuild/protobuf/codegenv2");var c=(0,o.fileDesc)("CjVtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9maWxlZm9yZ2Vfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi+wEKFVJlbmRlckRvY3VtZW50UmVxdWVzdBI/CgtodG1sX3RvX3BkZhgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxUb1BkZkgAEkcKD21hcmtkb3duX3RvX3BkZhgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hcmtkb3duVG9QZGZIABJDCg1vZmZpY2VfdG9fcGRmGAMgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuT2ZmaWNlVG9QZGZIAEITCgpjb252ZXJzaW9uEgW6SAIIASJOChZSZW5kZXJEb2N1bWVudFJlc3BvbnNlEjQKBm91dHB1dBgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhIvoCCglIdG1sVG9QZGYSIAoKaW5kZXhfaHRtbBgBIAEoCUIMukgJcgcQARiAgIAFEiMKC2hlYWRlcl9odG1sGAIgASgJQgm6SAZyBBiAgEBIAIgBARIjCgtmb290ZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASAGIAQESPgoGYXNzZXRzGAQgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCCLpIBZIBAhBkEkUKBnJlbmRlchgKIAEoCzIwLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxSZW5kZXJPcHRpb25zSAKIAQESRAoGb3V0cHV0GAsgASgLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmT3V0cHV0T3B0aW9uc0gDiAEBQg4KDF9oZWFkZXJfaHRtbEIOCgxfZm9vdGVyX2h0bWxCCQoHX3JlbmRlckIJCgdfb3V0cHV0IskDCg1NYXJrZG93blRvUGRmEiEKDHdyYXBwZXJfaHRtbBgBIAEoCUILukgIcgYQARiAgEASSAoObWFya2Rvd25fZmlsZXMYAiADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAEQMhIjCgtoZWFkZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASACIAQESIwoLZm9vdGVyX2h0bWwYBCABKAlCCbpIBnIEGICAQEgBiAEBEj4KBmFzc2V0cxgFIAMoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQgi6SAWSAQIQZBJFCgZyZW5kZXIYCiABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5IdG1sUmVuZGVyT3B0aW9uc0gCiAEBEkQKBm91dHB1dBgLIAEoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk91dHB1dE9wdGlvbnNIA4gBAUIOCgxfaGVhZGVyX2h0bWxCDgoMX2Zvb3Rlcl9odG1sQgkKB19yZW5kZXJCCQoHX291dHB1dCKPBwoLT2ZmaWNlVG9QZGYS2gUKCGRvY3VtZW50GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCoQW6SJ0FugGWBQoYdmFsaWRfZG9jdW1lbnRfZXh0ZW5zaW9uEi1kb2N1bWVudCBtdXN0IGhhdmUgYSBzdXBwb3J0ZWQgZmlsZSBleHRlbnNpb24aygR0aGlzLmZpbGVuYW1lLm1hdGNoZXMoJyg/aSlcXC4oMTIzfDYwMnxhYnd8YmlifGJtcHxjZHJ8Y2dtfGNteHxjc3Z8Y3drfGRiZnxkaWZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4fGR4ZnxlbWZ8ZXBzfGVwdWJ8Zm9kZ3xmb2RwfGZvZHN8Zm9kdHxmb3BkfGdpZnxodG18aHRtbHxod3B8anBlZ3xqcGd8a2V5fGx0eHxsd3B8bWN3fG1ldHxtbWx8bXd8bnVtYmVyc3xvZGR8b2RnfG9kbXxvZHB8b2RzfG9kdHxvdGd8b3RofG90cHxvdHN8b3R0fHBhZ2VzfHBibXxwY2R8cGN0fHBjeHxwZGJ8cGRmfHBnbXxwbmd8cG90fHBvdG18cG90eHxwcG18cHBzfHBwdHxwcHRtfHBwdHh8cHNkfHBzd3xwdWJ8cHdwfHB4bHxyYXN8cnRmfHNkYXxzZGN8c2RkfHNkcHxzZHd8c2dsfHNsa3xzbWZ8c3RjfHN0ZHxzdGl8c3R3fHN2Z3xzdm18c3dmfHN4Y3xzeGR8c3hnfHN4aXxzeG18c3h3fHRnYXx0aWZ8dGlmZnx0eHR8dW9mfHVvcHx1b3N8dW90fHZkeHx2b3J8dnNkfHZzZG18dnNkeHx3YjJ8d2sxfHdrc3x3bWZ8d3BkfHdwZ3x3cHN8eGJtfHhodG1sfHhsc3x4bHNifHhsc218eGxzeHx4bHR8eGx0bXx4bHR4fHhsd3x4bWx8eHBtfHphYncpJCcpyAEBEkcKBnJlbmRlchgKIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk9mZmljZVJlbmRlck9wdGlvbnNIAIgBARJECgZvdXRwdXQYCyABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZPdXRwdXRPcHRpb25zSAGIAQFCCQoHX3JlbmRlckIJCgdfb3V0cHV0IqQMChFIdG1sUmVuZGVyT3B0aW9ucxIdChBwcmludF9iYWNrZ3JvdW5kGAEgASgISACIAQESHAoPb21pdF9iYWNrZ3JvdW5kGAIgASgISAGIAQESIQoUcHJlZmVyX2Nzc19wYWdlX3NpemUYAyABKAhIAogBARJSChNlbXVsYXRlZF9tZWRpYV90eXBlGAQgASgOMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRW11bGF0ZWRNZWRpYVR5cGVIA4gBARIkCgtwYXBlcl93aWR0aBgFIAEoAkIKukgHCgUlAAAAAEgEiAEBEiUKDHBhcGVyX2hlaWdodBgGIAEoAkIKukgHCgUlAAAAAEgFiAEBEiMKCm1hcmdpbl90b3AYByABKAJCCrpIBwoFLQAAAABIBogBARIlCgxtYXJnaW5fcmlnaHQYCCABKAJCCrpIBwoFLQAAAABIB4gBARImCg1tYXJnaW5fYm90dG9tGAkgASgCQgq6SAcKBS0AAAAASAiIAQESJAoLbWFyZ2luX2xlZnQYCiABKAJCCrpIBwoFLQAAAABICYgBARIWCglsYW5kc2NhcGUYCyABKAhICogBARIjCgVzY2FsZRgMIAEoAkIPukgMCgodAAAAQC3NzMw9SAuIAQESRwoLcGFnZV9yYW5nZXMYDSABKAlCLbpIKnIoMiZeWzAtOV0rKC1bMC05XSspPygsWzAtOV0rKC1bMC05XSspPykqJEgMiAEBEhgKC3NpbmdsZV9wYWdlGA4gASgISA2IAQESIAoTZ2VuZXJhdGVfdGFnZ2VkX3BkZhgPIAEoCEgOiAEBOqQFukigBRraAQoXbWFyZ2luc19maXRfcGFwZXJfd2lkdGgSMmxlZnQgKyByaWdodCBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIHdpZHRoGooBKCFoYXModGhpcy5wYXBlcl93aWR0aCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9sZWZ0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3JpZ2h0KSkgfHwgKHRoaXMubWFyZ2luX2xlZnQgKyB0aGlzLm1hcmdpbl9yaWdodCA8IHRoaXMucGFwZXJfd2lkdGgpGt4BChhtYXJnaW5zX2ZpdF9wYXBlcl9oZWlnaHQSM3RvcCArIGJvdHRvbSBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIGhlaWdodBqMASghaGFzKHRoaXMucGFwZXJfaGVpZ2h0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3RvcCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9ib3R0b20pKSB8fCAodGhpcy5tYXJnaW5fdG9wICsgdGhpcy5tYXJnaW5fYm90dG9tIDwgdGhpcy5wYXBlcl9oZWlnaHQpGt8BCilvbWl0X2JhY2tncm91bmRfcmVxdWlyZXNfcHJpbnRfYmFja2dyb3VuZBI0b21pdF9iYWNrZ3JvdW5kIHJlcXVpcmVzIHByaW50X2JhY2tncm91bmQgdG8gYmUgdHJ1ZRp8IWhhcyh0aGlzLm9taXRfYmFja2dyb3VuZCkgfHwgdGhpcy5vbWl0X2JhY2tncm91bmQgPT0gZmFsc2UgfHwgKGhhcyh0aGlzLnByaW50X2JhY2tncm91bmQpICYmIHRoaXMucHJpbnRfYmFja2dyb3VuZCA9PSB0cnVlKUITChFfcHJpbnRfYmFja2dyb3VuZEISChBfb21pdF9iYWNrZ3JvdW5kQhcKFV9wcmVmZXJfY3NzX3BhZ2Vfc2l6ZUIWChRfZW11bGF0ZWRfbWVkaWFfdHlwZUIOCgxfcGFwZXJfd2lkdGhCDwoNX3BhcGVyX2hlaWdodEINCgtfbWFyZ2luX3RvcEIPCg1fbWFyZ2luX3JpZ2h0QhAKDl9tYXJnaW5fYm90dG9tQg4KDF9tYXJnaW5fbGVmdEIMCgpfbGFuZHNjYXBlQggKBl9zY2FsZUIOCgxfcGFnZV9yYW5nZXNCDgoMX3NpbmdsZV9wYWdlQhYKFF9nZW5lcmF0ZV90YWdnZWRfcGRmItINChNPZmZpY2VSZW5kZXJPcHRpb25zEh8KCHBhc3N3b3JkGAEgASgJQgi6SAVyAxiAAkgAiAEBEhYKCWxhbmRzY2FwZRgCIAEoCEgBiAEBEkcKC3BhZ2VfcmFuZ2VzGAMgASgJQi26SCpyKDImXlswLTldKygtWzAtOV0rKT8oLFswLTldKygtWzAtOV0rKT8pKiRIAogBARIbCg51cGRhdGVfaW5kZXhlcxgEIAEoCEgDiAEBEh8KEmV4cG9ydF9mb3JtX2ZpZWxkcxgFIAEoCEgEiAEBEigKG2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lcxgGIAEoCEgFiAEBEh0KEGV4cG9ydF9ib29rbWFya3MYByABKAhIBogBARIwCiNleHBvcnRfYm9va21hcmtzX3RvX3BkZl9kZXN0aW5hdGlvbhgIIAEoCEgHiAEBEiAKE2V4cG9ydF9wbGFjZWhvbGRlcnMYCSABKAhICIgBARIZCgxleHBvcnRfbm90ZXMYCiABKAhICYgBARIfChJleHBvcnRfbm90ZXNfcGFnZXMYCyABKAhICogBARIkChdleHBvcnRfb25seV9ub3Rlc19wYWdlcxgMIAEoCEgLiAEBEiMKFmV4cG9ydF9ub3Rlc19pbl9tYXJnaW4YDSABKAhIDIgBARItCiBjb252ZXJ0X29vb190YXJnZXRfdG9fcGRmX3RhcmdldBgOIAEoCEgNiAEBEicKGmV4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzGA8gASgISA6IAQESIQoUZXhwb3J0X2hpZGRlbl9zbGlkZXMYECABKAhID4gBARIdChBza2lwX2VtcHR5X3BhZ2VzGBEgASgISBCIAQESHwoSc2luZ2xlX3BhZ2Vfc2hlZXRzGBIgASgISBGIAQESLAofYWRkX29yaWdpbmFsX2RvY3VtZW50X2FzX3N0cmVhbRgTIAEoCEgSiAEBEicKGmxvc3NsZXNzX2ltYWdlX2NvbXByZXNzaW9uGBQgASgISBOIAQESHwoHcXVhbGl0eRgVIAEoBUIJukgGGgQYZCgBSBSIAQESJAoXcmVkdWNlX2ltYWdlX3Jlc29sdXRpb24YFiABKAhIFYgBARI2ChRtYXhfaW1hZ2VfcmVzb2x1dGlvbhgXIAEoBUITukgQGg4wSzCWATCsAjDYBDCwCUgWiAEBOo8CukiLAhqIAgozZXhwb3J0X29ubHlfbm90ZXNfcGFnZXNfcmVxdWlyZXNfZXhwb3J0X25vdGVzX3BhZ2VzEj5leHBvcnRfb25seV9ub3Rlc19wYWdlcyByZXF1aXJlcyBleHBvcnRfbm90ZXNfcGFnZXMgdG8gYmUgdHJ1ZRqQASFoYXModGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcykgfHwgdGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcyA9PSBmYWxzZSB8fCAoaGFzKHRoaXMuZXhwb3J0X25vdGVzX3BhZ2VzKSAmJiB0aGlzLmV4cG9ydF9ub3Rlc19wYWdlcyA9PSB0cnVlKUILCglfcGFzc3dvcmRCDAoKX2xhbmRzY2FwZUIOCgxfcGFnZV9yYW5nZXNCEQoPX3VwZGF0ZV9pbmRleGVzQhUKE19leHBvcnRfZm9ybV9maWVsZHNCHgocX2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lc0ITChFfZXhwb3J0X2Jvb2ttYXJrc0ImCiRfZXhwb3J0X2Jvb2ttYXJrc190b19wZGZfZGVzdGluYXRpb25CFgoUX2V4cG9ydF9wbGFjZWhvbGRlcnNCDwoNX2V4cG9ydF9ub3Rlc0IVChNfZXhwb3J0X25vdGVzX3BhZ2VzQhoKGF9leHBvcnRfb25seV9ub3Rlc19wYWdlc0IZChdfZXhwb3J0X25vdGVzX2luX21hcmdpbkIjCiFfY29udmVydF9vb29fdGFyZ2V0X3RvX3BkZl90YXJnZXRCHQobX2V4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzQhcKFV9leHBvcnRfaGlkZGVuX3NsaWRlc0ITChFfc2tpcF9lbXB0eV9wYWdlc0IVChNfc2luZ2xlX3BhZ2Vfc2hlZXRzQiIKIF9hZGRfb3JpZ2luYWxfZG9jdW1lbnRfYXNfc3RyZWFtQh0KG19sb3NzbGVzc19pbWFnZV9jb21wcmVzc2lvbkIKCghfcXVhbGl0eUIaChhfcmVkdWNlX2ltYWdlX3Jlc29sdXRpb25CFwoVX21heF9pbWFnZV9yZXNvbHV0aW9uIosCChBQZGZPdXRwdXRPcHRpb25zEjwKBHBkZmEYASABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SACIAQESEgoFcGRmdWEYAiABKAhIAYgBARIUCgdmbGF0dGVuGAMgASgISAKIAQESJAoNdXNlcl9wYXNzd29yZBgEIAEoCUIIukgFcgMYgAFIA4gBARIlCg5vd25lcl9wYXNzd29yZBgFIAEoCUIIukgFcgMYgAFIBIgBAUIHCgVfcGRmYUIICgZfcGRmdWFCCgoIX2ZsYXR0ZW5CEAoOX3VzZXJfcGFzc3dvcmRCEQoPX293bmVyX3Bhc3N3b3JkIq4JCg5JbWFnZU9wZXJhdGlvbhI8CgZyZXNpemUYASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJlc2l6ZUgAEjgKBGNyb3AYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUNyb3BIABI8CgZyb3RhdGUYAyABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdGF0ZUgAEjgKBGZsaXAYBCABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZsaXBIABI2CgNwYWQYBSABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVBhZEgAEjgKBHRyaW0YBiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVRyaW1IABJECgpwcm9wb3J0aW9uGAcgASgLMi4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQcm9wb3J0aW9uSAASOgoFZm9jYWwYCCABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvY2FsSAASPAoGYWRqdXN0GAkgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VBZGp1c3RIABI2CgNodWUYCiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUh1ZUgAEjYKA3JnYhgLIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUmdiSAASOAoEYmx1chgMIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlQmx1ckgAEj4KB3NoYXJwZW4YDSABKAsyKy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVNoYXJwZW5IABJHCgxyb3VuZF9jb3JuZXIYDiABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdW5kQ29ybmVySAASQgoJd2F0ZXJtYXJrGA8gASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VXYXRlcm1hcmtIABI4CgR0ZXh0GBAgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VUZXh0SAASQwoKbWF4X2ZyYW1lcxgRIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlTWF4RnJhbWVzSAASOAoEcGFnZRgSIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUGFnZUgAEjYKA2RwaRgTIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlRHBpSABCEgoJb3BlcmF0aW9uEgW6SAIIASLtAQoVVHJhbnNmb3JtSW1hZ2VSZXF1ZXN0EjsKBWlucHV0GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARJLCgpvcGVyYXRpb25zGAIgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VPcGVyYXRpb25CCLpIBZIBAhAyEj8KBm91dHB1dBgeIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlT3V0cHV0SACIAQFCCQoHX291dHB1dCJOChZUcmFuc2Zvcm1JbWFnZVJlc3BvbnNlEjQKBm91dHB1dBgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhIp0DCgtJbWFnZVJlc2l6ZRIeCgV3aWR0aBgBIAEoBUIKukgHGgUYiCcoAEgAiAEBEh8KBmhlaWdodBgCIAEoBUIKukgHGgUYiCcoAEgBiAEBEjwKBHR5cGUYAyABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5SZXNpemVUeXBlSAKIAQESFAoHZW5sYXJnZRgEIAEoCEgDiAEBEhMKBmV4dGVuZBgFIAEoCEgEiAEBOq4BukiqARqnAQoRcmVxdWlyZV9kaW1lbnNpb24SRGF0IGxlYXN0IG9uZSBvZiB3aWR0aCBvciBoZWlnaHQgbXVzdCBiZSBzcGVjaWZpZWQgYW5kIGdyZWF0ZXIgdGhhbiAwGkwoaGFzKHRoaXMud2lkdGgpICYmIHRoaXMud2lkdGggPiAwKSB8fCAoaGFzKHRoaXMuaGVpZ2h0KSAmJiB0aGlzLmhlaWdodCA+IDApQggKBl93aWR0aEIJCgdfaGVpZ2h0QgcKBV90eXBlQgoKCF9lbmxhcmdlQgkKB19leHRlbmQinQIKCUltYWdlQ3JvcBIeCgV3aWR0aBgBIAEoBUIKukgHGgUYiCcoAEgAiAEBEh8KBmhlaWdodBgCIAEoBUIKukgHGgUYiCcoAEgBiAEBEjwKB2dyYXZpdHkYAyABKA4yJi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HcmF2aXR5SAKIAQESKgoIb2Zmc2V0X3gYBCABKAVCE7pIEBoOGJBOKPCx/////////wFIA4gBARIqCghvZmZzZXRfeRgFIAEoBUITukgQGg4YkE4o8LH/////////AUgEiAEBQggKBl93aWR0aEIJCgdfaGVpZ2h0QgoKCF9ncmF2aXR5QgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3kiZgoLSW1hZ2VSb3RhdGUSIwoFYW5nbGUYASABKAVCD7pIDBoKMAAwWjC0ATCOAkgAiAEBEhgKC2F1dG9fcm90YXRlGAIgASgISAGIAQFCCAoGX2FuZ2xlQg4KDF9hdXRvX3JvdGF0ZSKSAgoJSW1hZ2VGbGlwEhcKCmhvcml6b250YWwYASABKAhIAIgBARIVCgh2ZXJ0aWNhbBgCIAEoCEgBiAEBOrgBuki0ARqxAQoWcmVxdWlyZV9mbGlwX2RpcmVjdGlvbhIzYXQgbGVhc3Qgb25lIG9mIGhvcml6b250YWwgb3IgdmVydGljYWwgbXVzdCBiZSB0cnVlGmIoaGFzKHRoaXMuaG9yaXpvbnRhbCkgJiYgdGhpcy5ob3Jpem9udGFsID09IHRydWUpIHx8IChoYXModGhpcy52ZXJ0aWNhbCkgJiYgdGhpcy52ZXJ0aWNhbCA9PSB0cnVlKUINCgtfaG9yaXpvbnRhbEILCglfdmVydGljYWwilQMKCEltYWdlUGFkEhkKA3RvcBgBIAEoBUIHukgEGgIoAEgAiAEBEhsKBXJpZ2h0GAIgASgFQge6SAQaAigASAGIAQESHAoGYm90dG9tGAMgASgFQge6SAQaAigASAKIAQESGgoEbGVmdBgEIAEoBUIHukgEGgIoAEgDiAEBOvABukjsARrpAQoPcmVxdWlyZV9wYWRkaW5nEj9hdCBsZWFzdCBvbmUgcGFkZGluZyB2YWx1ZSBtdXN0IGJlIHNwZWNpZmllZCBhbmQgZ3JlYXRlciB0aGFuIDAalAEoaGFzKHRoaXMudG9wKSAmJiB0aGlzLnRvcCA+IDApIHx8IChoYXModGhpcy5yaWdodCkgJiYgdGhpcy5yaWdodCA+IDApIHx8IChoYXModGhpcy5ib3R0b20pICYmIHRoaXMuYm90dG9tID4gMCkgfHwgKGhhcyh0aGlzLmxlZnQpICYmIHRoaXMubGVmdCA+IDApQgYKBF90b3BCCAoGX3JpZ2h0QgkKB19ib3R0b21CBwoFX2xlZnQixQEKCUltYWdlVHJpbRInCgl0aHJlc2hvbGQYASABKAJCD7pIDAoKHQAAgD8tAAAAAEgAiAEBEisKBWNvbG9yGAIgASgJQhe6SBRyEjIQXlswLTlhLWZBLUZdezZ9JEgBiAEBEhYKCWVxdWFsX2hvchgDIAEoCEgCiAEBEhYKCWVxdWFsX3ZlchgEIAEoCEgDiAEBQgwKCl90aHJlc2hvbGRCCAoGX2NvbG9yQgwKCl9lcXVhbF9ob3JCDAoKX2VxdWFsX3ZlciLPAwoLSW1hZ2VBZGp1c3QSLAoKYnJpZ2h0bmVzcxgBIAEoBUITukgQGg4Y/wEogf7/////////AUgAiAEBEiYKCGNvbnRyYXN0GAIgASgCQg+6SAwKCh0AACBBLQAAAABIAYgBARIoCgpzYXR1cmF0aW9uGAMgASgCQg+6SAwKCh0AACBBLQAAAABIAogBARIWCglncmF5c2NhbGUYBCABKAhIA4gBATruAbpI6gEa5wEKEnJlcXVpcmVfYWRqdXN0bWVudBJaYXQgbGVhc3Qgb25lIGFkanVzdG1lbnQgKGJyaWdodG5lc3MsIGNvbnRyYXN0LCBzYXR1cmF0aW9uLCBvciBncmF5c2NhbGUpIG11c3QgYmUgc3BlY2lmaWVkGnVoYXModGhpcy5icmlnaHRuZXNzKSB8fCBoYXModGhpcy5jb250cmFzdCkgfHwgaGFzKHRoaXMuc2F0dXJhdGlvbikgfHwgKGhhcyh0aGlzLmdyYXlzY2FsZSkgJiYgdGhpcy5ncmF5c2NhbGUgPT0gdHJ1ZSlCDQoLX2JyaWdodG5lc3NCCwoJX2NvbnRyYXN0Qg0KC19zYXR1cmF0aW9uQgwKCl9ncmF5c2NhbGUiKwoJSW1hZ2VCbHVyEh4KBXNpZ21hGAEgASgCQg+6SAwKCh0AAMhCJQAAAAAiLgoMSW1hZ2VTaGFycGVuEh4KBXNpZ21hGAEgASgCQg+6SAwKCh0AAMhCJQAAAAAiLgoISW1hZ2VIdWUSIgoFYW5nbGUYASABKAVCE7pIEBoOGLQBKMz+/////////wEiZwoISW1hZ2VSZ2ISHQoBchgBIAEoBUISukgPGg0YZCic//////////8BEh0KAWcYAiABKAVCErpIDxoNGGQonP//////////ARIdCgFiGAMgASgFQhK6SA8aDRhkKJz//////////wEimwEKCkltYWdlRm9jYWwSPAoGcmVnaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRm9jYWxSZWdpb25IABI6CgVwb2ludBgCIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkZvY2FsUG9pbnRIAEITCgpmb2NhbF90eXBlEgW6SAIIASJHCgtGb2NhbFJlZ2lvbhIMCgRsZWZ0GAEgASgFEgsKA3RvcBgCIAEoBRINCgVyaWdodBgDIAEoBRIOCgZib3R0b20YBCABKAUiIgoKRm9jYWxQb2ludBIJCgF4GAEgASgFEgkKAXkYAiABKAUifwoQSW1hZ2VSb3VuZENvcm5lchITCgJyeBgBIAEoBUIHukgEGgIgABIYCgJyeRgCIAEoBUIHukgEGgIgAEgAiAEBEisKBWNvbG9yGAMgASgJQhe6SBRyEjIQXlswLTlhLWZBLUZdezZ9JEgBiAEBQgUKA19yeUIICgZfY29sb3IiMQoPSW1hZ2VQcm9wb3J0aW9uEh4KCnBlcmNlbnRhZ2UYASABKAVCCrpIBxoFGPQDKAEitAQKCUltYWdlVGV4dBIYCgR0ZXh0GAEgASgJQgq6SAdyBRABGOgHEhIKAXgYAiABKAlCB7pIBHICEAESEgoBeRgDIAEoCUIHukgEcgIQARIRCgRmb250GAQgASgJSACIAQESKwoFY29sb3IYBSABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQESHQoFYWxwaGEYBiABKAVCCbpIBhoEGGQoAEgCiAEBEkUKCmJsZW5kX21vZGUYByABKA4yLC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UZXh0QmxlbmRNb2RlSAOIAQESEgoFd2lkdGgYCCABKAlIBIgBARI8CgVhbGlnbhgJIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRleHRBbGlnbkgFiAEBEhQKB2p1c3RpZnkYCiABKAhIBogBARI6CgR3cmFwGAsgASgOMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVGV4dFdyYXBIB4gBARIUCgdzcGFjaW5nGAwgASgFSAiIAQESHAoDZHBpGA0gASgFQgq6SAcaBRjgEigBSAmIAQFCBwoFX2ZvbnRCCAoGX2NvbG9yQggKBl9hbHBoYUINCgtfYmxlbmRfbW9kZUIICgZfd2lkdGhCCAoGX2FsaWduQgoKCF9qdXN0aWZ5QgcKBV93cmFwQgoKCF9zcGFjaW5nQgYKBF9kcGkiJwoOSW1hZ2VNYXhGcmFtZXMSFQoBbhgBIAEoBUIKukgHGgUY6AcoASIhCglJbWFnZVBhZ2USFAoDbnVtGAEgASgFQge6SAQaAigBIiMKCEltYWdlRHBpEhcKA251bRgBIAEoBUIKukgHGgUY4BIoASLoAgoOSW1hZ2VXYXRlcm1hcmsSOwoFaW1hZ2UYASABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIGukgDyAEBEj0KCHBvc2l0aW9uGAIgASgOMiYubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR3Jhdml0eUgAiAEBEioKCG9mZnNldF94GAMgASgFQhO6SBAaDhiQTijwsf////////8BSAGIAQESKgoIb2Zmc2V0X3kYBCABKAVCE7pIEBoOGJBOKPCx/////////wFIAogBARIlCgdvcGFjaXR5GAUgASgCQg+6SAwKCh0AAIA/LQAAAABIA4gBARIeCgVzY2FsZRgGIAEoAkIKukgHCgUlAAAAAEgEiAEBQgsKCV9wb3NpdGlvbkILCglfb2Zmc2V0X3hCCwoJX29mZnNldF95QgoKCF9vcGFjaXR5QggKBl9zY2FsZSK6BAoLSW1hZ2VPdXRwdXQSPwoGZm9ybWF0GAEgASgOMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VGb3JtYXRIAIgBARIfCgdxdWFsaXR5GAIgASgFQgm6SAYaBBhkKAFIAYgBARIbCg5zdHJpcF9tZXRhZGF0YRgDIAEoCEgCiAEBEjAKCmJhY2tncm91bmQYBCABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAOIAQESLgoQYmFja2dyb3VuZF9hbHBoYRgFIAEoAkIPukgMCgodAACAPy0AAAAASASIAQESJwoPcG5nX2NvbXByZXNzaW9uGAYgASgFQgm6SAYaBBgJKABIBYgBARIbCg5wbmdfaW50ZXJsYWNlZBgHIAEoCEgGiAEBEh0KEGpwZWdfcHJvZ3Jlc3NpdmUYCCABKAhIB4gBARIaCg13ZWJwX2xvc3NsZXNzGAkgASgISAiIAQESHwoJbWF4X2J5dGVzGAogASgFQge6SAQaAiAASAmIAQFCCQoHX2Zvcm1hdEIKCghfcXVhbGl0eUIRCg9fc3RyaXBfbWV0YWRhdGFCDQoLX2JhY2tncm91bmRCEwoRX2JhY2tncm91bmRfYWxwaGFCEgoQX3BuZ19jb21wcmVzc2lvbkIRCg9fcG5nX2ludGVybGFjZWRCEwoRX2pwZWdfcHJvZ3Jlc3NpdmVCEAoOX3dlYnBfbG9zc2xlc3NCDAoKX21heF9ieXRlcyLYAgoUTWFuaXB1bGF0ZVBkZlJlcXVlc3QSOAoFbWVyZ2UYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZNZXJnZUgAEjgKBXNwbGl0GAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmU3BsaXRIABI8CgdlbmNyeXB0GAMgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmRW5jcnlwdEgAEjwKB2NvbnZlcnQYBCABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZDb252ZXJ0SAASPAoHZmxhdHRlbhgFIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkZsYXR0ZW5IAEISCglvcGVyYXRpb24SBbpIAggBIk4KFU1hbmlwdWxhdGVQZGZSZXNwb25zZRI1CgdvdXRwdXRzGAEgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGEixAIKCFBkZk1lcmdlEj8KBWZpbGVzGAEgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCCrpIB5IBBAgCEGQSPAoEcGRmYRgCIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkFGb3JtYXRIAIgBARISCgVwZGZ1YRgDIAEoCEgBiAEBEhQKB2ZsYXR0ZW4YBCABKAhIAogBARIkCg11c2VyX3Bhc3N3b3JkGAUgASgJQgi6SAVyAxiAAUgDiAEBEiUKDm93bmVyX3Bhc3N3b3JkGAYgASgJQgi6SAVyAxiAAUgEiAEBQgcKBV9wZGZhQggKBl9wZGZ1YUIKCghfZmxhdHRlbkIQCg5fdXNlcl9wYXNzd29yZEIRCg9fb3duZXJfcGFzc3dvcmQiuQMKCFBkZlNwbGl0EjoKBGZpbGUYASABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIGukgDyAEBEkAKBG1vZGUYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TcGxpdE1vZGVCCLpIBYIBAiAAEhgKBHNwYW4YAyABKAlCCrpIB3IFEAEY6AcSEgoFdW5pZnkYBCABKAhIAIgBARI8CgRwZGZhGAUgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgBiAEBEhIKBXBkZnVhGAYgASgISAKIAQESFAoHZmxhdHRlbhgHIAEoCEgDiAEBEiQKDXVzZXJfcGFzc3dvcmQYCCABKAlCCLpIBXIDGIABSASIAQESJQoOb3duZXJfcGFzc3dvcmQYCSABKAlCCLpIBXIDGIABSAWIAQFCCAoGX3VuaWZ5QgcKBV9wZGZhQggKBl9wZGZ1YUIKCghfZmxhdHRlbkIQCg5fdXNlcl9wYXNzd29yZEIRCg9fb3duZXJfcGFzc3dvcmQipQEKClBkZkVuY3J5cHQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESIQoNdXNlcl9wYXNzd29yZBgCIAEoCUIKukgHcgUQARiAARIlCg5vd25lcl9wYXNzd29yZBgDIAEoCUIIukgFcgMYgAFIAIgBAUIRCg9fb3duZXJfcGFzc3dvcmQizgIKClBkZkNvbnZlcnQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESPAoEcGRmYRgCIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkFGb3JtYXRIAIgBARISCgVwZGZ1YRgDIAEoCEgBiAEBOp4BukiaARqXAQoZcmVxdWlyZV9jb252ZXJzaW9uX29wdGlvbhIvYXQgbGVhc3Qgb25lIG9mIHBkZmEgb3IgcGRmdWEgbXVzdCBiZSBzcGVjaWZpZWQaSWhhcyh0aGlzLnBkZmEpICYmIHRoaXMucGRmYSAhPSAwIHx8IGhhcyh0aGlzLnBkZnVhKSAmJiB0aGlzLnBkZnVhID09IHRydWVCBwoFX3BkZmFCCAoGX3BkZnVhIkgKClBkZkZsYXR0ZW4SOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQEqdwoRRW11bGF0ZWRNZWRpYVR5cGUSIwofRU1VTEFURURfTUVESUFfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkVNVUxBVEVEX01FRElBX1RZUEVfU0NSRUVOEAESHQoZRU1VTEFURURfTUVESUFfVFlQRV9QUklOVBACKmkKClBkZkFGb3JtYXQSHAoYUERGX0FfRk9STUFUX1VOU1BFQ0lGSUVEEAASEwoPUERGX0FfRk9STUFUXzFCEAESEwoPUERGX0FfRk9STUFUXzJCEAISEwoPUERGX0FfRk9STUFUXzNCEAMqnAEKClJlc2l6ZVR5cGUSGwoXUkVTSVpFX1RZUEVfVU5TUEVDSUZJRUQQABITCg9SRVNJWkVfVFlQRV9GSVQQARIUChBSRVNJWkVfVFlQRV9GSUxMEAISGQoVUkVTSVpFX1RZUEVfRklMTF9ET1dOEAMSFQoRUkVTSVpFX1RZUEVfRk9SQ0UQBBIUChBSRVNJWkVfVFlQRV9BVVRPEAUq8wEKB0dyYXZpdHkSFwoTR1JBVklUWV9VTlNQRUNJRklFRBAAEhIKDkdSQVZJVFlfQ0VOVEVSEAESEQoNR1JBVklUWV9OT1JUSBACEhEKDUdSQVZJVFlfU09VVEgQAxIQCgxHUkFWSVRZX0VBU1QQBBIQCgxHUkFWSVRZX1dFU1QQBRIWChJHUkFWSVRZX05PUlRIX0VBU1QQBhIWChJHUkFWSVRZX05PUlRIX1dFU1QQBxIWChJHUkFWSVRZX1NPVVRIX0VBU1QQCBIWChJHUkFWSVRZX1NPVVRIX1dFU1QQCRIRCg1HUkFWSVRZX1NNQVJUEAoqgAMKDVRleHRCbGVuZE1vZGUSHwobVEVYVF9CTEVORF9NT0RFX1VOU1BFQ0lGSUVEEAASHAoYVEVYVF9CTEVORF9NT0RFX01VTFRJUExZEAESGgoWVEVYVF9CTEVORF9NT0RFX1NDUkVFThACEhsKF1RFWFRfQkxFTkRfTU9ERV9PVkVSTEFZEAMSGgoWVEVYVF9CTEVORF9NT0RFX0RBUktFThAEEhsKF1RFWFRfQkxFTkRfTU9ERV9MSUdIVEVOEAUSHwobVEVYVF9CTEVORF9NT0RFX0NPTE9SX0RPREdFEAYSHgoaVEVYVF9CTEVORF9NT0RFX0NPTE9SX0JVUk4QBxIeChpURVhUX0JMRU5EX01PREVfSEFSRF9MSUdIVBAIEh4KGlRFWFRfQkxFTkRfTU9ERV9TT0ZUX0xJR0hUEAkSHgoaVEVYVF9CTEVORF9NT0RFX0RJRkZFUkVOQ0UQChIdChlURVhUX0JMRU5EX01PREVfRVhDTFVTSU9OEAsqVAoJVGV4dEFsaWduEhoKFlRFWFRfQUxJR05fVU5TUEVDSUZJRUQQABIVChFURVhUX0FMSUdOX0NFTlRFUhABEhQKEFRFWFRfQUxJR05fUklHSFQQAipmCghUZXh0V3JhcBIZChVURVhUX1dSQVBfVU5TUEVDSUZJRUQQABISCg5URVhUX1dSQVBfQ0hBUhABEhcKE1RFWFRfV1JBUF9XT1JEX0NIQVIQAhISCg5URVhUX1dSQVBfTk9ORRADKt8BCgtJbWFnZUZvcm1hdBIcChhJTUFHRV9GT1JNQVRfVU5TUEVDSUZJRUQQABIVChFJTUFHRV9GT1JNQVRfSlBFRxABEhQKEElNQUdFX0ZPUk1BVF9QTkcQAhIVChFJTUFHRV9GT1JNQVRfV0VCUBADEhUKEUlNQUdFX0ZPUk1BVF9BVklGEAQSFAoQSU1BR0VfRk9STUFUX0dJRhAFEhUKEUlNQUdFX0ZPUk1BVF9USUZGEAYSFAoQSU1BR0VfRk9STUFUX0JNUBAHEhQKEElNQUdFX0ZPUk1BVF9JQ08QCCpXCglTcGxpdE1vZGUSGgoWU1BMSVRfTU9ERV9VTlNQRUNJRklFRBAAEhgKFFNQTElUX01PREVfSU5URVJWQUxTEAESFAoQU1BMSVRfTU9ERV9QQUdFUxACMowDChBGaWxlRm9yZ2VTZXJ2aWNlEn0KDlJlbmRlckRvY3VtZW50EjQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmVuZGVyRG9jdW1lbnRSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmVuZGVyRG9jdW1lbnRSZXNwb25zZRJ9Cg5UcmFuc2Zvcm1JbWFnZRI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRyYW5zZm9ybUltYWdlUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRyYW5zZm9ybUltYWdlUmVzcG9uc2USegoNTWFuaXB1bGF0ZVBkZhIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hbmlwdWxhdGVQZGZSZXF1ZXN0GjQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTWFuaXB1bGF0ZVBkZlJlc3BvbnNlYgZwcm90bzM",[p,f]),Is=(0,o.messageDesc)(c,0),ys=(0,o.messageDesc)(c,1),Ke=(0,o.messageDesc)(c,2),Le=(0,o.messageDesc)(c,3),Qe=(0,o.messageDesc)(c,4),Ae=(0,o.messageDesc)(c,5),ke=(0,o.messageDesc)(c,6),ne=(0,o.messageDesc)(c,7),Ue=(0,o.messageDesc)(c,8),we=(0,o.messageDesc)(c,9),As=(0,o.messageDesc)(c,10),Rs=(0,o.messageDesc)(c,11),Vs=(0,o.messageDesc)(c,12),Ss=(0,o.messageDesc)(c,13),Xs=(0,o.messageDesc)(c,14),Ws=(0,o.messageDesc)(c,15),Js=(0,o.messageDesc)(c,16),Bs=(0,o.messageDesc)(c,17),Cs=(0,o.messageDesc)(c,18),Ys=(0,o.messageDesc)(c,19),Fs=(0,o.messageDesc)(c,20),xs=(0,o.messageDesc)(c,21),Es=(0,o.messageDesc)(c,22),Ms=(0,o.messageDesc)(c,23),fs=(0,o.messageDesc)(c,24),Hs=(0,o.messageDesc)(c,25),vs=(0,o.messageDesc)(c,26),zs=(0,o.messageDesc)(c,27),Ns=(0,o.messageDesc)(c,28),Ks=(0,o.messageDesc)(c,29),Ls=(0,o.messageDesc)(c,30),Qs=(0,o.messageDesc)(c,31),De=(0,o.messageDesc)(c,32),ks=(0,o.messageDesc)(c,33),Us=(0,o.messageDesc)(c,34),Te=(0,o.messageDesc)(c,35),je=(0,o.messageDesc)(c,36),Pe=(0,o.messageDesc)(c,37),Oe=(0,o.messageDesc)(c,38),_e=(0,o.messageDesc)(c,39),Rn=(n=>(n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.SCREEN=1]="SCREEN",n[n.PRINT=2]="PRINT",n))(Rn||{}),ws=(0,o.enumDesc)(c,0),Vn=(s=>(s[s.PDF_A_FORMAT_UNSPECIFIED=0]="PDF_A_FORMAT_UNSPECIFIED",s[s.PDF_A_FORMAT_1B=1]="PDF_A_FORMAT_1B",s[s.PDF_A_FORMAT_2B=2]="PDF_A_FORMAT_2B",s[s.PDF_A_FORMAT_3B=3]="PDF_A_FORMAT_3B",s))(Vn||{}),Ds=(0,o.enumDesc)(c,1),Sn=(A=>(A[A.UNSPECIFIED=0]="UNSPECIFIED",A[A.FIT=1]="FIT",A[A.FILL=2]="FILL",A[A.FILL_DOWN=3]="FILL_DOWN",A[A.FORCE=4]="FORCE",A[A.AUTO=5]="AUTO",A))(Sn||{}),Ts=(0,o.enumDesc)(c,2),Xn=(d=>(d[d.UNSPECIFIED=0]="UNSPECIFIED",d[d.CENTER=1]="CENTER",d[d.NORTH=2]="NORTH",d[d.SOUTH=3]="SOUTH",d[d.EAST=4]="EAST",d[d.WEST=5]="WEST",d[d.NORTH_EAST=6]="NORTH_EAST",d[d.NORTH_WEST=7]="NORTH_WEST",d[d.SOUTH_EAST=8]="SOUTH_EAST",d[d.SOUTH_WEST=9]="SOUTH_WEST",d[d.SMART=10]="SMART",d))(Xn||{}),js=(0,o.enumDesc)(c,3),Wn=(G=>(G[G.UNSPECIFIED=0]="UNSPECIFIED",G[G.MULTIPLY=1]="MULTIPLY",G[G.SCREEN=2]="SCREEN",G[G.OVERLAY=3]="OVERLAY",G[G.DARKEN=4]="DARKEN",G[G.LIGHTEN=5]="LIGHTEN",G[G.COLOR_DODGE=6]="COLOR_DODGE",G[G.COLOR_BURN=7]="COLOR_BURN",G[G.HARD_LIGHT=8]="HARD_LIGHT",G[G.SOFT_LIGHT=9]="SOFT_LIGHT",G[G.DIFFERENCE=10]="DIFFERENCE",G[G.EXCLUSION=11]="EXCLUSION",G))(Wn||{}),Ps=(0,o.enumDesc)(c,4),Jn=(n=>(n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.CENTER=1]="CENTER",n[n.RIGHT=2]="RIGHT",n))(Jn||{}),Os=(0,o.enumDesc)(c,5),Bn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.CHAR=1]="CHAR",s[s.WORD_CHAR=2]="WORD_CHAR",s[s.NONE=3]="NONE",s))(Bn||{}),_s=(0,o.enumDesc)(c,6),Cn=(i=>(i[i.UNSPECIFIED=0]="UNSPECIFIED",i[i.JPEG=1]="JPEG",i[i.PNG=2]="PNG",i[i.WEBP=3]="WEBP",i[i.AVIF=4]="AVIF",i[i.GIF=5]="GIF",i[i.TIFF=6]="TIFF",i[i.BMP=7]="BMP",i[i.ICO=8]="ICO",i))(Cn||{}),qs=(0,o.enumDesc)(c,7),qe=(n=>(n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.INTERVALS=1]="INTERVALS",n[n.PAGES=2]="PAGES",n))(qe||{}),$s=(0,o.enumDesc)(c,8),$e=(0,o.serviceDesc)(c,0);var B=require("@bufbuild/protobuf/codegenv2");var Re=require("@bufbuild/protobuf/wkt"),Y=(0,B.fileDesc)("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9wbHVnaW5fc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiGgoYR2V0U3lzdGVtU2VydmljZXNSZXF1ZXN0IsUBChlHZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlEm0KE2NvbmZpZ3VyZWRfc2VydmljZXMYASADKAsyUC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlLkNvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5GjkKF0NvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiMgoQQXV0aG9yaXplUmVxdWVzdBIeCgxhY2Nlc3NfdG9rZW4YASABKAlCCLpIBXIDGJBOIhMKEUF1dGhvcml6ZVJlc3BvbnNlIoABCh5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQiwQEKH0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVzcG9uc2USWAoFaXRlbXMYASADKAsySS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1Jlc3BvbnNlLkl0ZW1zRW50cnkaRAoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBIn4KHEJhdGNoR2V0VXNlclZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQivQEKHUJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlElYKBWl0ZW1zGAEgAygLMkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVzcG9uc2UuSXRlbXNFbnRyeRpECgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiewoZQmF0Y2hHZXRVc2VyVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLFAQoaQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USUwoFaXRlbXMYASADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXNwb25zZS5JdGVtc0VudHJ5GlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVG9rZW46AjgBIn0KG0JhdGNoR2V0U3lzdGVtVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLJAQocQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZRJVCgVpdGVtcxgBIAMoCzJGLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2UuSXRlbXNFbnRyeRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRva2VuOgI4ASJfCgVUb2tlbhIMCgRuYW1lGAEgASgJEg0KBXRva2VuGAIgASgJEgwKBHR5cGUYAyABKAkSKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAy1gYKDVBsdWdpblNlcnZpY2USbgoJQXV0aG9yaXplEi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQXV0aG9yaXplUmVxdWVzdBowLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkF1dGhvcml6ZVJlc3BvbnNlEoYBChFHZXRTeXN0ZW1TZXJ2aWNlcxI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVzcG9uc2USmAEKF0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXNwb25zZRKSAQoVQmF0Y2hHZXRVc2VyVmFyaWFibGVzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlEokBChJCYXRjaEdldFVzZXJUb2tlbnMSOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USjwEKFEJhdGNoR2V0U3lzdGVtVG9rZW5zEjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXF1ZXN0GjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZWIGcHJvdG8z",[p,Re.file_google_protobuf_struct,Re.file_google_protobuf_timestamp]),ea=(0,B.messageDesc)(Y,0),na=(0,B.messageDesc)(Y,1),ta=(0,B.messageDesc)(Y,2),sa=(0,B.messageDesc)(Y,3),aa=(0,B.messageDesc)(Y,4),oa=(0,B.messageDesc)(Y,5),ga=(0,B.messageDesc)(Y,6),ca=(0,B.messageDesc)(Y,7),ia=(0,B.messageDesc)(Y,8),la=(0,B.messageDesc)(Y,9),da=(0,B.messageDesc)(Y,10),ma=(0,B.messageDesc)(Y,11),ra=(0,B.messageDesc)(Y,12),en=(0,B.serviceDesc)(Y,0);var h=require("@connectrpc/connect"),S=require("@connectrpc/connect/protocol"),W=require("@connectrpc/connect/protocol-grpc-web");function P(m){return{async unary(e,t,n,s,l,A){let{serialize:b,parse:ae}=(0,S.createClientMethodSerializers)(e,!0);return(0,S.runUnaryCall)({interceptors:m.interceptors,signal:t,timeoutMs:n,req:{stream:!1,service:e.parent,method:e,requestMethod:"POST",url:(0,S.createMethodUrl)("https://runtimeapi/",e),header:(0,W.requestHeader)(!0,n,s,!1),contextValues:A??(0,h.createContextValues)(),message:l},next:async i=>{let E=await m.fetcher.fetch(i.url,{method:i.requestMethod,headers:i.header,signal:i.signal,body:(0,S.encodeEnvelope)(0,b(i.message))}),{headerError:d}=(0,W.validateResponse)(E.status,E.headers);if(!E.body)throw d!==void 0?d:new h.ConnectError("missing response body",h.Code.Internal);let G=(0,S.createEnvelopeReadableStream)(E.body).getReader(),C,v;for(;;){let z=await G.read();if(z.done)break;let{flags:k,data:N}=z.value;if((k&S.compressedFlag)===S.compressedFlag)throw new h.ConnectError("received compressed data, which is unsupported",h.Code.Internal);if(k===W.trailerFlag){if(C!==void 0)throw new h.ConnectError("extra trailer",h.Code.Internal);C=(0,W.trailerParse)(N);continue}if(v!==void 0)throw new h.ConnectError("extra message",h.Code.Unimplemented);v=ae(N)}if(C===void 0)throw d!==void 0?d:new h.ConnectError("missing trailer",E.headers.has(W.headerGrpcStatus)?h.Code.Unimplemented:h.Code.Unknown);if((0,W.validateTrailer)(C,E.headers),v===void 0)throw new h.ConnectError("missing message",C.has(W.headerGrpcStatus)?h.Code.Unimplemented:h.Code.Unknown);return{stream:!1,service:e.parent,method:e,header:E.headers,message:v,trailer:C}}})},async stream(e,t,n,s,l,A){let{serialize:b,parse:ae}=(0,S.createClientMethodSerializers)(e,!0);async function i(d){let{value:G,done:C}=await d[Symbol.asyncIterator]().next();if(C)throw new h.ConnectError("missing request message",h.Code.InvalidArgument);return(0,S.encodeEnvelope)(0,b(G))}async function*E(d,G,C,v,z){if(G){if(!(await(0,S.createEnvelopeReadableStream)(d).getReader().read()).done)throw new h.ConnectError("extra data for trailers-only",h.Code.Internal);return}let k=(0,S.createEnvelopeReadableStream)(d).getReader(),N=!1;for(;;){let Ce=await k.read();if(Ce.done)break;let{flags:Yn,data:sn}=Ce.value;if((Yn&W.trailerFlag)===W.trailerFlag){if(N)throw new h.ConnectError("extra trailer",h.Code.Internal);N=!0;let an=(0,W.trailerParse)(sn);(0,W.validateTrailer)(an,v),an.forEach((Fn,xn)=>C.set(xn,Fn));continue}if(N)throw new h.ConnectError("extra message after trailer",h.Code.Internal);yield ae(sn)}if("throwIfAborted"in z&&z.throwIfAborted?.(),!N)throw new h.ConnectError("missing trailer",h.Code.Internal)}return(0,S.runStreamingCall)({interceptors:m.interceptors,signal:t,timeoutMs:n,req:{stream:!0,service:e.parent,method:e,requestMethod:"POST",url:(0,S.createMethodUrl)("https://runtimeapi/",e),header:(0,W.requestHeader)(!0,n,s,!1),contextValues:A??(0,h.createContextValues)(),message:l},next:async d=>{let G=await i(d.message),C=await m.fetcher.fetch(d.url,{method:d.requestMethod,headers:d.header,signal:d.signal,body:G}),{foundStatus:v,headerError:z}=(0,W.validateResponse)(C.status,C.headers);if(z)throw z;if(!C.body)throw new h.ConnectError("missing response body",h.Code.Internal);let k=new Headers;return{...d,header:C.headers,trailer:k,message:E(C.body,v,k,C.headers,d.signal)}}})}}}var F=require("@bufbuild/protobuf/codegenv2");var M=(0,F.fileDesc)("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9pbmNvbWluZy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiOgoOSG9zdGluZ0RldGFpbHMSGAoLcHVibGljX2hvc3QYASABKAlIAIgBAUIOCgxfcHVibGljX2hvc3QiZgoVU3RhcnRFeGVjdXRpb25SZXF1ZXN0EhAKCHJlY2VpdmVyGAEgASgJEjsKBGhvc3QYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIYChZTdGFydEV4ZWN1dGlvblJlc3BvbnNlIlMKFFN0b3BFeGVjdXRpb25SZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIXChVTdG9wRXhlY3V0aW9uUmVzcG9uc2UiUQoSQ3JvblRyaWdnZXJSZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIVChNDcm9uVHJpZ2dlclJlc3BvbnNlIsgBCg5FeGNoYW5nZVJlc3VsdBITCgt0cmFuc21pdHRlchgBIAEoCRJLCgdzaWduYWxzGAIgAygLMjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VSZXN1bHQuU2lnbmFsc0VudHJ5GlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEi2AEKFUV4Y2hhbmdlUmVzdWx0UmVxdWVzdBJDCglvcGVyYXRpb24YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbhI9CgZyZXN1bHQYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZVJlc3VsdBI7CgRob3N0GAMgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSG9zdGluZ0RldGFpbHMiGAoWRXhjaGFuZ2VSZXN1bHRSZXNwb25zZWIGcHJvdG8z",[f,I]),pa=(0,F.messageDesc)(M,0),ua=(0,F.messageDesc)(M,1),Ga=(0,F.messageDesc)(M,2),ba=(0,F.messageDesc)(M,3),ha=(0,F.messageDesc)(M,4),Za=(0,F.messageDesc)(M,5),Ia=(0,F.messageDesc)(M,6),ya=(0,F.messageDesc)(M,7),Aa=(0,F.messageDesc)(M,8),Ra=(0,F.messageDesc)(M,9);var Va={config:"config",metadata:"metadata",configuredServices:"configured_services"};function Ve(m){return Va[m]??m}function x(m){if(m==null)return m;if(Array.isArray(m))return m.map(x);if(typeof m!="object")return m;let e={};for(let[t,n]of Object.entries(m))n!==void 0&&(e[t]=x(n));return e}var Sa=[a.Code.Unavailable,a.Code.Internal,a.Code.Aborted,a.Code.ResourceExhausted],te=m=>async e=>{for(let t=0;;t++)try{return await m(e)}catch(n){if(t>=3||n instanceof a.ConnectError&&!Sa.includes(n.code))throw n;let s=Math.min(500*(1<<t),5e3);await new Promise(l=>setTimeout(l,Math.random()*s))}},se=class{env;pluginService;pluginToken;fileforge;constructor(e,t){this.env=e,this.pluginToken=t,this.pluginService=(0,a.createClient)(en,P({fetcher:this.env.plugin,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await n(s))]})),this.fileforge=(0,a.createClient)($e,P({fetcher:this.env.fileforge,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await n(s))]}))}async getSystemVariable(e){let n=(await this.pluginService.batchGetSystemVariables({names:[e]})).items[e];return n?(0,g.toJson)(y.ValueSchema,n):void 0}async getSystemVariables(...e){let t=await this.pluginService.batchGetSystemVariables({names:e}),n={};for(let[s,l]of Object.entries(t.items))n[s]=(0,g.toJson)(y.ValueSchema,l);return n}async getUserVariable(e){let n=(await this.pluginService.batchGetUserVariables({names:[e]})).items[e];return n?(0,g.toJson)(y.ValueSchema,n):void 0}async getUserVariables(...e){let t=await this.pluginService.batchGetUserVariables({names:e}),n={};for(let[s,l]of Object.entries(t.items))n[s]=(0,g.toJson)(y.ValueSchema,l);return n}async getUserToken(e){return(await this.pluginService.batchGetUserTokens({names:[e]})).items[e]}async getUserTokens(...e){return(await this.pluginService.batchGetUserTokens({names:e})).items}async getSystemToken(e){return(await this.pluginService.batchGetSystemTokens({names:[e]})).items[e]}async getSystemTokens(...e){return(await this.pluginService.batchGetSystemTokens({names:e})).items}userHttpProxy(e){return(t,n)=>{let s=new Request(t,n);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`user:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}systemHttpProxy(e){return(t,n)=>{let s=new Request(t,n);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`system:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}async authorize(e){await this.pluginService.authorize({accessToken:e})}async getSystemServices(){return(await this.pluginService.getSystemServices({})).configuredServices}async readFile(e){let t=new URL("https://runtimeapi");t.pathname=e;let n=await this.env.assets.fetch(t,{method:"GET"});if(!n.ok)throw tn(n.status);let s=n.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/octet-stream"))throw new a.ConnectError("Invalid file. Are you reading a directory?",a.Code.InvalidArgument);return{content:n.body,mime:s}}async readDirectory(e){let t=new URL("https://runtimeapi");t.pathname=e;let n=await this.env.assets.fetch(t,{method:"GET"});if(!n.ok)throw tn(n.status);let s=n.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/json"))throw new a.ConnectError("Invalid directory. Are you reading a file?",a.Code.InvalidArgument);return await n.json()}createSignalData(e){return(0,g.create)(U,{filename:e.filename,mimeType:"application/octet-stream",data:e.data})}extractBinaryFile(e){return{filename:e.filename??"output",data:e.data}}async htmlToPdf(e){let t=await this.fileforge.renderDocument({conversion:{case:"htmlToPdf",value:(0,g.create)(Ke,{indexHtml:e.indexHtml,headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(n=>this.createSignalData(n))??[],render:e.render?(0,g.fromJson)(Ae,x(e.render)):void 0,output:e.output?(0,g.fromJson)(ne,x(e.output)):void 0})}});return this.extractBinaryFile(t.output)}async markdownToPdf(e){let t=await this.fileforge.renderDocument({conversion:{case:"markdownToPdf",value:(0,g.create)(Le,{wrapperHtml:e.wrapperHtml,markdownFiles:e.markdownFiles.map(n=>this.createSignalData(n)),headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(n=>this.createSignalData(n))??[],render:e.render?(0,g.fromJson)(Ae,x(e.render)):void 0,output:e.output?(0,g.fromJson)(ne,x(e.output)):void 0})}});return this.extractBinaryFile(t.output)}async officeToPdf(e){let t=await this.fileforge.renderDocument({conversion:{case:"officeToPdf",value:(0,g.create)(Qe,{document:this.createSignalData(e.document),render:e.render?(0,g.fromJson)(ke,x(e.render)):void 0,output:e.output?(0,g.fromJson)(ne,x(e.output)):void 0})}});return this.extractBinaryFile(t.output)}async transformImage(e){let t=await this.fileforge.transformImage((0,g.create)(we,{input:this.createSignalData(e.input),operations:e.operations?.map(n=>(0,g.fromJson)(Ue,x(n)))??[],output:e.output?(0,g.fromJson)(De,x(e.output)):void 0}));return this.extractBinaryFile(t.output)}async mergePdfs(e){let t=await this.fileforge.manipulatePdf({operation:{case:"merge",value:(0,g.create)(Te,{files:e.files.map(n=>this.createSignalData(n)),pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(t.outputs[0])}async splitPdf(e){return(await this.fileforge.manipulatePdf({operation:{case:"split",value:(0,g.create)(je,{file:this.createSignalData(e.file),mode:e.mode==="intervals"?1:2,span:e.span,unify:e.unify,pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}})).outputs.map(n=>this.extractBinaryFile(n))}async encryptPdf(e){let t=await this.fileforge.manipulatePdf({operation:{case:"encrypt",value:(0,g.create)(Pe,{file:this.createSignalData(e.file),userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(t.outputs[0])}async convertPdf(e){let t=await this.fileforge.manipulatePdf({operation:{case:"convert",value:(0,g.create)(Oe,{file:this.createSignalData(e.file),pdfa:e.pdfa,pdfua:e.pdfua})}});return this.extractBinaryFile(t.outputs[0])}async flattenPdf(e){let t=await this.fileforge.manipulatePdf({operation:{case:"flatten",value:(0,g.create)(_e,{file:this.createSignalData(e.file)})}});return this.extractBinaryFile(t.outputs[0])}},Se=class{result;constructor(e){this.result=e}get(e){let t=this.result[e];if(t)return{value:JSON.parse(new TextDecoder().decode(t.value)),ttl:t.metadata.ttl,lastModified:(0,y.timestampDate)(t.metadata.lastModified),etag:t.metadata.etag}}getBinary(e){let t=this.result[e];if(t)return{ttl:t.metadata.ttl,value:t.value,lastModified:(0,y.timestampDate)(t.metadata.lastModified),etag:t.metadata.etag}}},Xe=class{ops=[];insert(e,t,n){return this.ops.push((0,g.create)($,{operation:{case:"insert",value:{key:e,value:{value:t instanceof Uint8Array?t:new TextEncoder().encode(JSON.stringify(t)),ttl:n}}}})),this}delete(e){return this.ops.push((0,g.create)($,{operation:{case:"delete",value:{key:e}}})),this}rangeDelete(e,t,n,s){return this.ops.push((0,g.create)($,{operation:{case:"rangeDelete",value:{start:e,end:t,startInclusive:n,endInclusive:s}}})),this}build(){return this.ops}},O=class{service;namespace;constructor(e,t){this.service=e,this.namespace=(0,g.enumFromJson)(Me,t)}async insert(e,t,n,s){let l;s&&(l=(0,g.create)(Ze,{}),s.failIfExists?l.failIfExists=!0:(s.etagEquals&&(l.etag=s.etagEquals),s.timestampEquals?l.timestampCondition={case:"lastModifiedEquals",value:(0,y.timestampFromDate)(s.timestampEquals)}:s.timestampRange&&(l.timestampCondition={case:"lastModifiedRange",value:(0,g.create)(he,{start:s.timestampRange.start?(0,y.timestampFromDate)(s.timestampRange.start):void 0,end:s.timestampRange.end?(0,y.timestampFromDate)(s.timestampRange.end):void 0,startInclusive:s.timestampRange.startInclusive,endInclusive:s.timestampRange.endInclusive})})));let A=await this.service.writeStore({operation:{operation:{case:"insert",value:{key:e,value:{value:t instanceof Uint8Array?t:new TextEncoder().encode(JSON.stringify(t)),ttl:n},precondition:l}}},namespace:this.namespace});return{ttl:A.metadata.ttl,lastModified:(0,y.timestampDate)(A.metadata.lastModified),etag:A.metadata.etag}}async delete(e,t){let n;t&&(n=(0,g.create)(Ee,{}),t.mustExists?n.mustExists=!0:(t.etagEquals&&(n.etag=t.etagEquals),t.timestampEquals?n.timestampCondition={case:"lastModifiedEquals",value:(0,y.timestampFromDate)(t.timestampEquals)}:t.timestampRange&&(n.timestampCondition={case:"lastModifiedRange",value:(0,g.create)(he,{start:t.timestampRange.start?(0,y.timestampFromDate)(t.timestampRange.start):void 0,end:t.timestampRange.end?(0,y.timestampFromDate)(t.timestampRange.end):void 0,startInclusive:t.timestampRange.startInclusive,endInclusive:t.timestampRange.endInclusive})}))),await this.service.writeStore({operation:{operation:{case:"delete",value:{key:e,precondition:n}}},namespace:this.namespace})}async rangeDelete(e,t,n,s){await this.service.batchWriteStore({namespace:this.namespace,operations:[{operation:{case:"rangeDelete",value:{start:e,end:t,startInclusive:n,endInclusive:s}}}]})}async get(e){let n=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(n)return{data:JSON.parse(new TextDecoder().decode(n.value)),ttl:n.metadata.ttl,etag:n.metadata.etag,lastModified:(0,y.timestampDate)(n.metadata.lastModified)}}async getBinary(e){let n=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(n)return{data:n.value,ttl:n.metadata.ttl,etag:n.metadata.etag,lastModified:(0,y.timestampDate)(n.metadata.lastModified)}}async selectRange(e){let t=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:t.nextToken,items:Object.entries(t.items).sort(([n],[s])=>n.localeCompare(s)).map(([n,s])=>({key:n,value:JSON.parse(new TextDecoder().decode(s.value)),ttl:s.metadata.ttl,etag:s.metadata.etag,lastModified:(0,y.timestampDate)(s.metadata.lastModified)}))}}async selectRangeBinary(e){let t=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:t.nextToken,items:Object.values(t.items).map(n=>({value:n.value,ttl:n.metadata.ttl,etag:n.metadata.etag,lastModified:(0,y.timestampDate)(n.metadata.lastModified)}))}}async writeBatch(e){let t=await this.service.batchWriteStore({namespace:this.namespace,operations:e}),n={};for(let[s,l]of Object.entries(t.metadata))n[s]={ttl:l.ttl,lastModified:(0,y.timestampDate)(l.lastModified),etag:l.etag};return n}async readBatch(e){let t=await this.service.batchReadStore({namespace:this.namespace,keys:e});return new Se(t.items)}async acquire(e,t){try{await this.service.writeStore({namespace:this.namespace,operation:{operation:{case:"insert",value:{key:e,value:{value:new Uint8Array([1]),ttl:t??5},precondition:(0,g.create)(Ze,{failIfExists:!0})}}}})}catch(n){if(n instanceof a.ConnectError&&n.code===a.Code.FailedPrecondition)return!1;throw n}return!0}async release(e){await this.writeBatch(new Xe().delete(e).build())}async lock(e,t,n){let s=n?.maxRetries??5,l=n?.initialDelay??50,A=n?.maxDelay??2e3;for(let b=0;b<s;b++)if(await this.acquire(e))try{return await t()}finally{await this.release(e)}else if(b<s-1){let i=Math.min(l*2**b,A);console.log(`Acquisition failed for key: ${e}. Delaying for ${i}ms`),await new Promise(E=>setTimeout(E,i))}throw new Error("Failed to acquire lock after maximum retries")}},We=class extends se{executor;constructor(e,t){super(e,t),this.executor=(0,a.createClient)(ye,P({fetcher:e.executor,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${t}`),await n(s))]}))}async getConfig(...e){let t=await this.executor.getVertexConfig({fieldMask:e.length>0?(0,g.create)(y.FieldMaskSchema,{paths:e.map(Ve)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(n.metadata=t.metadata?(0,g.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config"))if(t.config&&t.config.length>0)try{n.config=JSON.parse(new TextDecoder().decode(t.config))}catch{n.config=void 0}else n.config=void 0;return n}async getConfigBinary(...e){let t=await this.executor.getVertexConfig({fieldMask:e.length>0?(0,g.create)(y.FieldMaskSchema,{paths:e.map(Ve)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(n.metadata=t.metadata?(0,g.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config")&&(n.config=t.config),n}getLocalStore(e){return new O(this.executor,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}getSessionApi(e){return new Be(this.env,this.pluginToken,e)}},Je=class extends We{sessionAuthHeader;constructor(e,t,n){super(e,t),this.sessionAuthHeader=n,this.executor=(0,a.createClient)(ye,P({fetcher:e.executor,interceptors:[te,s=>async l=>(l.header.set("Authorization",n),await s(l))]}))}getAuthHeader(){return this.sessionAuthHeader}getSessionStore(e){return new O(this.executor,e==="vertex"?"NAMESPACE_VERTEX_INSTANCE":"NAMESPACE_PLUGIN_INSTANCE")}},Be=class extends Je{constructor(e,t,n){super(e,t,n)}async listSignals(e){let t=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:Object.fromEntries(Object.entries(t.signals).map(([n,s])=>[n,JSON.parse(new TextDecoder().decode(s.data))])),receiver:t.receiver,cursor:t.nextCursor}}async listSignalsBinary(e){let t=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:t.signals,receiver:t.receiver,cursor:t.nextCursor}}async continueListSignals(e){let t=await this.executor.listActiveSignals({cursor:e});return{signals:Object.fromEntries(Object.entries(t.signals).map(([n,s])=>[n,JSON.parse(new TextDecoder().decode(s.data))])),receiver:t.receiver,cursor:t.nextCursor}}async continueListSignalsBinary(e){let t=await this.executor.listActiveSignals({cursor:e});return{signals:t.signals,receiver:t.receiver,cursor:t.nextCursor}}async getSignal(e){let n=(await this.executor.batchGetActiveSignals({names:[e]})).items[e];return n?JSON.parse(new TextDecoder().decode(n.data)):void 0}async getSignalBinary(e){return(await this.executor.batchGetActiveSignals({names:[e]})).items[e]}async getSignals(...e){if(e.length===0)return{};let t=await this.executor.batchGetActiveSignals({names:e});if(Object.keys(t.items).length===0)return{};let n={};for(let[s,l]of Object.entries(t.items))n[s]=JSON.parse(new TextDecoder().decode(l.data));return n}async getSignalsBinary(...e){return e.length===0?{}:(await this.executor.batchGetActiveSignals({names:e})).items}async send(e,t){await this.executor.send({transmitter:e,signals:t?Object.fromEntries(Object.entries(t).map(([n,s])=>s?.data instanceof Uint8Array&&typeof s?.mimeType=="string"&&s.mimeType?[n,(0,g.create)(U,{data:s.data,mimeType:s.mimeType,filename:s.filename})]:[n,(0,g.create)(U,{data:new TextEncoder().encode(JSON.stringify(s)),mimeType:"application/json"})])):{}})}async dispatchExchange(e,t,n){let s={name:e,receiver:t,signals:n?Object.fromEntries(Object.entries(n).map(([A,b])=>b?.data instanceof Uint8Array&&typeof b?.mimeType=="string"&&b.mimeType?[A,(0,g.create)(U,{data:b.data,mimeType:b.mimeType,filename:b.filename})]:[A,(0,g.create)(U,{data:new TextEncoder().encode(JSON.stringify(b)),mimeType:"application/json"})])):{}};return(await this.executor.dispatchExchange(s,{headers:{"x-idempotency-key":crypto.randomUUID()}})).operation}async getExchange(e){let t=await this.executor.getExchangeOperation({id:e});if(!t.item)throw new a.ConnectError("Exchange operation not found",a.Code.NotFound);return t.item}async cancelExchange(e){await this.executor.cancelExchangeOperation({id:e})}},nn=class extends se{configurator;constructor(e,t){super(e,t),this.configurator=(0,a.createClient)(He,P({fetcher:e.configurator,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${t}`),await n(s))]}))}async getConfig(...e){let t=await this.configurator.getVertexConfig({fieldMask:e.length>0?(0,g.create)(y.FieldMaskSchema,{paths:e.map(Ve)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(n.metadata=t.metadata?(0,g.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config"))if(t.config&&t.config.length>0)try{n.config=JSON.parse(new TextDecoder().decode(t.config))}catch{n.config=void 0}else n.config=void 0;return n}async getConfigBinary(...e){let t=await this.configurator.getVertexConfig({fieldMask:e.length>0?(0,g.create)(y.FieldMaskSchema,{paths:e.map(Ve)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(n.metadata=t.metadata?(0,g.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config")&&(n.config=t.config),n}async postConfig(e){if(!e.config&&!e.metadata)throw new a.ConnectError("Either config or metadata must be provided",a.Code.InvalidArgument);let t;e.config!==void 0&&(t=e.config instanceof Uint8Array?e.config:new TextEncoder().encode(JSON.stringify(e.config)));let n=await this.configurator.postVertexConfig({config:t,metadata:e.metadata?(0,g.fromJson)(Q,x(e.metadata)):void 0,overrideBindings:e?.overrideBindings});return(0,g.toJson)(Q,n.metadata)}async listIncomingSignals(e,t,n){let s=await this.configurator.listIncomingSignals({receiver:e,formats:t?.map(l=>(0,g.fromJson)(Fe,x(l)))??[],fieldMask:n?(0,g.fromJson)(y.FieldMaskSchema,x(n)):void 0});return(0,g.toJson)(fe,s)}getLocalStore(e){return new O(this.configurator,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}};function tn(m){switch(m){case 400:return new a.ConnectError("Bad Request",a.Code.InvalidArgument);case 401:return new a.ConnectError("Unauthorized",a.Code.Unauthenticated);case 403:return new a.ConnectError("Forbidden",a.Code.PermissionDenied);case 404:return new a.ConnectError("Not Found",a.Code.NotFound);case 409:return new a.ConnectError("Conflict",a.Code.AlreadyExists);case 429:return new a.ConnectError("Too Many Requests",a.Code.ResourceExhausted);case 499:return new a.ConnectError("Client Closed Request",a.Code.Canceled);case 500:return new a.ConnectError("Internal Server Error",a.Code.Internal);case 501:return new a.ConnectError("Not Implemented",a.Code.Unimplemented);case 503:return new a.ConnectError("Service Unavailable",a.Code.Unavailable);case 504:return new a.ConnectError("Gateway Timeout",a.Code.DeadlineExceeded);default:return new a.ConnectError(`Unknown HTTP error: ${m}`,a.Code.Unknown)}}function Xa(m){switch(m.code){case a.Code.Canceled:return 499;case a.Code.Unknown:return 500;case a.Code.InvalidArgument:return 400;case a.Code.DeadlineExceeded:return 504;case a.Code.NotFound:return 404;case a.Code.AlreadyExists:return 409;case a.Code.PermissionDenied:return 403;case a.Code.ResourceExhausted:return 429;case a.Code.FailedPrecondition:return 400;case a.Code.Aborted:return 409;case a.Code.OutOfRange:return 400;case a.Code.Unimplemented:return 501;case a.Code.Internal:return 500;case a.Code.Unavailable:return 503;case a.Code.DataLoss:return 500;case a.Code.Unauthenticated:return 401;default:return 500}}0&&(module.exports={AckMessageRequestSchema,AckMessageResponseSchema,ApiBase,AuthorizeRequestSchema,AuthorizeResponseSchema,AutomationService,BatchGetActiveSignalsRequestSchema,BatchGetActiveSignalsResponseSchema,BatchGetSystemTokensRequestSchema,BatchGetSystemTokensResponseSchema,BatchGetSystemVariablesRequestSchema,BatchGetSystemVariablesResponseSchema,BatchGetUserTokensRequestSchema,BatchGetUserTokensResponseSchema,BatchGetUserVariablesRequestSchema,BatchGetUserVariablesResponseSchema,BatchReadResult,CancelExchangeOperationRequestSchema,CancelExchangeOperationResponseSchema,Code,ConditionalDeleteOpSchema,ConditionalDeleteOp_PreconditionSchema,ConditionalInsertOpSchema,ConditionalInsertOp_PreconditionSchema,ConditionalWriteOperationSchema,ConfiguratorApi,ConfiguratorService,ConfiguratorServiceBatchReadStoreRequestSchema,ConfiguratorServiceBatchReadStoreResponseSchema,ConfiguratorServiceBatchWriteStoreRequestSchema,ConfiguratorServiceBatchWriteStoreResponseSchema,ConfiguratorServiceGetVertexConfigRequestSchema,ConfiguratorServiceGetVertexConfigResponseSchema,ConfiguratorServiceSelectStoreRequestSchema,ConfiguratorServiceSelectStoreResponseSchema,ConfiguratorServiceWriteStoreRequestSchema,ConfiguratorServiceWriteStoreResponseSchema,ConnectError,CreateChallengeRequestSchema,CreateChallengeResponseSchema,CronTriggerRequestSchema,CronTriggerResponseSchema,DeleteOpSchema,DispatchExchangeRequestSchema,DispatchExchangeResponseSchema,EmulatedMediaType,EmulatedMediaTypeSchema,ExchangeOperationSchema,ExchangeResultRequestSchema,ExchangeResultResponseSchema,ExchangeResultSchema,ExchangeSchema,ExecutorApi,ExecutorService,ExecutorServiceBatchReadStoreRequestSchema,ExecutorServiceBatchReadStoreResponseSchema,ExecutorServiceBatchWriteStoreRequestSchema,ExecutorServiceBatchWriteStoreResponseSchema,ExecutorServiceGetVertexConfigRequestSchema,ExecutorServiceGetVertexConfigResponseSchema,ExecutorServiceSelectStoreRequestSchema,ExecutorServiceSelectStoreResponseSchema,ExecutorServiceWriteStoreRequestSchema,ExecutorServiceWriteStoreResponseSchema,FileForgeService,FocalPointSchema,FocalRegionSchema,GetExchangeOperationRequestSchema,GetExchangeOperationResponseSchema,GetSessionRequestSchema,GetSessionResponseSchema,GetSystemServicesRequestSchema,GetSystemServicesResponseSchema,GetValueSchema,Gravity,GravitySchema,HostingDetailsSchema,HtmlRenderOptionsSchema,HtmlToPdfSchema,ImageAdjustSchema,ImageBlurSchema,ImageCropSchema,ImageDpiSchema,ImageFlipSchema,ImageFocalSchema,ImageFormat,ImageFormatSchema,ImageHueSchema,ImageMaxFramesSchema,ImageOperationSchema,ImageOutputSchema,ImagePadSchema,ImagePageSchema,ImageProportionSchema,ImageResizeSchema,ImageRgbSchema,ImageRotateSchema,ImageRoundCornerSchema,ImageSharpenSchema,ImageTextSchema,ImageTrimSchema,ImageWatermarkSchema,IncomingVerticesSchema,InheritSessionRequestSchema,InheritSessionResponseSchema,InsertOpSchema,JTDSchemaSchema,ListActiveSignalsRequestSchema,ListActiveSignalsResponseSchema,ListIncomingSignalsRequestSchema,ListIncomingSignalsResponseSchema,ManipulatePdfRequestSchema,ManipulatePdfResponseSchema,MarkdownToPdfSchema,Namespace,NamespaceSchema,OfficeRenderOptionsSchema,OfficeToPdfSchema,OutputSchema,PdfAFormat,PdfAFormatSchema,PdfConvertSchema,PdfEncryptSchema,PdfFlattenSchema,PdfMergeSchema,PdfOutputOptionsSchema,PdfSplitSchema,PluginService,PostVertexConfigRequestSchema,PostVertexConfigResponseSchema,PutValueSchema,RangeDeleteOpSchema,ReadOutputRequestSchema,ReadOutputResponseSchema,ReadUrlsRequestSchema,ReadUrlsResponseSchema,ReceiverSchema,RedeemChallengeRequestSchema,RedeemChallengeResponseSchema,RenderDocumentRequestSchema,RenderDocumentResponseSchema,ResizeType,ResizeTypeSchema,RunInheritRequestSchema,RunInheritResponseSchema,RunInheritStartedSchema,RunSessionRequestSchema,RunSessionResponseSchema,RunSessionStartedSchema,SelectOpSchema,SendRequestSchema,SendResponseSchema,SessionExecutorApi,SessionSchema,SignalBindingSchema,SignalBinding_Error,SignalBinding_ErrorSchema,SignalDataSchema,SignalDescriptorSchema,SignalFormatSchema,SplitMode,SplitModeSchema,StartExecutionRequestSchema,StartExecutionResponseSchema,StartSessionRequestSchema,StartSessionResponseSchema,Status,StatusSchema,StopExecutionRequestSchema,StopExecutionResponseSchema,StopExecutorApi,StopSessionRequestSchema,StopSessionResponseSchema,Store,StreamSessionRequestSchema,StreamSessionResponseSchema,TextAlign,TextAlignSchema,TextBlendMode,TextBlendModeSchema,TextWrap,TextWrapSchema,TimestampRangeSchema,TokenSchema,TransceiverSchema,TransformImageRequestSchema,TransformImageResponseSchema,TransmitterSchema,Transmitter_Mode,Transmitter_ModeSchema,UrlSchema,ValueMetadataSchema,VertexMetadataSchema,VertexType,VertexTypeSchema,WriteBatchBuilder,WriteOperationSchema,file_mochabugapis_adapt_automations_v1_automations,file_mochabugapis_adapt_graph_exchange,file_mochabugapis_adapt_graph_jtd_schema,file_mochabugapis_adapt_graph_receiver,file_mochabugapis_adapt_graph_signal_binding,file_mochabugapis_adapt_graph_signal_data,file_mochabugapis_adapt_graph_signal_descriptor,file_mochabugapis_adapt_graph_signal_format,file_mochabugapis_adapt_graph_transceiver,file_mochabugapis_adapt_graph_transmitter,file_mochabugapis_adapt_graph_vertex_metadata,file_mochabugapis_adapt_runtime_v1_configurator_service,file_mochabugapis_adapt_runtime_v1_executor_service,file_mochabugapis_adapt_runtime_v1_fileforge_service,file_mochabugapis_adapt_runtime_v1_incoming,file_mochabugapis_adapt_runtime_v1_plugin_service,file_mochabugapis_adapt_runtime_v1_store,mapConnectErrorToHttpStatus,mapHttpError});
|
|
1
|
+
"use strict";var Ye=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var Mn=Object.getOwnPropertyNames;var fn=Object.prototype.hasOwnProperty;var Hn=(p,e)=>{for(var t in e)Ye(p,t,{get:e[t],enumerable:!0})},vn=(p,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Mn(e))!fn.call(p,s)&&s!==t&&Ye(p,s,{get:()=>e[s],enumerable:!(n=En(e,s))||n.enumerable});return p};var zn=p=>vn(Ye({},"__esModule",{value:!0}),p);var za={};Hn(za,{AckMessageRequestSchema:()=>Qt,AckMessageResponseSchema:()=>kt,ApiBase:()=>se,AuthorizeRequestSchema:()=>ua,AuthorizeResponseSchema:()=>Ga,AutomationService:()=>gs,BatchGetActiveSignalsRequestSchema:()=>Xs,BatchGetActiveSignalsResponseSchema:()=>Vs,BatchGetSystemTokensRequestSchema:()=>Ra,BatchGetSystemTokensResponseSchema:()=>Sa,BatchGetSystemVariablesRequestSchema:()=>ba,BatchGetSystemVariablesResponseSchema:()=>ha,BatchGetUserTokensRequestSchema:()=>ya,BatchGetUserTokensResponseSchema:()=>Aa,BatchGetUserVariablesRequestSchema:()=>Za,BatchGetUserVariablesResponseSchema:()=>Ia,BatchReadResult:()=>Xe,CancelExchangeOperationRequestSchema:()=>bs,CancelExchangeOperationResponseSchema:()=>hs,Code:()=>a.Code,ConditionalDeleteOpSchema:()=>st,ConditionalDeleteOp_PreconditionSchema:()=>Ee,ConditionalInsertOpSchema:()=>tt,ConditionalInsertOp_PreconditionSchema:()=>Ze,ConditionalWriteOperationSchema:()=>qn,ConfiguratorApi:()=>nn,ConfiguratorService:()=>He,ConfiguratorServiceBatchReadStoreRequestSchema:()=>dt,ConfiguratorServiceBatchReadStoreResponseSchema:()=>rt,ConfiguratorServiceBatchWriteStoreRequestSchema:()=>ct,ConfiguratorServiceBatchWriteStoreResponseSchema:()=>gt,ConfiguratorServiceGetVertexConfigRequestSchema:()=>ut,ConfiguratorServiceGetVertexConfigResponseSchema:()=>Gt,ConfiguratorServiceSelectStoreRequestSchema:()=>mt,ConfiguratorServiceSelectStoreResponseSchema:()=>pt,ConfiguratorServiceWriteStoreRequestSchema:()=>it,ConfiguratorServiceWriteStoreResponseSchema:()=>lt,ConnectError:()=>a.ConnectError,CreateChallengeRequestSchema:()=>It,CreateChallengeResponseSchema:()=>yt,CronTriggerRequestSchema:()=>Ya,CronTriggerResponseSchema:()=>Fa,DeleteOpSchema:()=>nt,DispatchExchangeRequestSchema:()=>ys,DispatchExchangeResponseSchema:()=>As,EmulatedMediaType:()=>Rn,EmulatedMediaTypeSchema:()=>sa,ExchangeOperationSchema:()=>Ys,ExchangeResultRequestSchema:()=>Ea,ExchangeResultResponseSchema:()=>Ma,ExchangeResultSchema:()=>xa,ExchangeSchema:()=>Qn,ExecutorApi:()=>We,ExecutorService:()=>ye,ExecutorServiceBatchReadStoreRequestSchema:()=>ms,ExecutorServiceBatchReadStoreResponseSchema:()=>ps,ExecutorServiceBatchWriteStoreRequestSchema:()=>is,ExecutorServiceBatchWriteStoreResponseSchema:()=>ls,ExecutorServiceGetVertexConfigRequestSchema:()=>Cs,ExecutorServiceGetVertexConfigResponseSchema:()=>Bs,ExecutorServiceSelectStoreRequestSchema:()=>us,ExecutorServiceSelectStoreResponseSchema:()=>Gs,ExecutorServiceWriteStoreRequestSchema:()=>ds,ExecutorServiceWriteStoreResponseSchema:()=>rs,FileForgeService:()=>$e,FocalPointSchema:()=>Ts,FocalRegionSchema:()=>Ds,GetExchangeOperationRequestSchema:()=>Zs,GetExchangeOperationResponseSchema:()=>Is,GetSessionRequestSchema:()=>Et,GetSessionResponseSchema:()=>Mt,GetSystemServicesRequestSchema:()=>ma,GetSystemServicesResponseSchema:()=>pa,GetValueSchema:()=>Pn,Gravity:()=>Vn,GravitySchema:()=>ca,HostingDetailsSchema:()=>Va,HtmlRenderOptionsSchema:()=>Ae,HtmlToPdfSchema:()=>Le,ImageAdjustSchema:()=>Ls,ImageBlurSchema:()=>Ks,ImageCropSchema:()=>fs,ImageDpiSchema:()=>$s,ImageFlipSchema:()=>vs,ImageFocalSchema:()=>ws,ImageFormat:()=>Bn,ImageFormatSchema:()=>da,ImageHueSchema:()=>ks,ImageMaxFramesSchema:()=>_s,ImageOperationSchema:()=>Ue,ImageOutputSchema:()=>De,ImagePadSchema:()=>zs,ImagePageSchema:()=>qs,ImageProportionSchema:()=>Ps,ImageResizeSchema:()=>Ms,ImageRgbSchema:()=>Us,ImageRotateSchema:()=>Hs,ImageRoundCornerSchema:()=>js,ImageSharpenSchema:()=>Qs,ImageTextSchema:()=>Os,ImageTrimSchema:()=>Ns,ImageWatermarkSchema:()=>ea,IncomingVerticesSchema:()=>ot,InheritSessionRequestSchema:()=>St,InheritSessionResponseSchema:()=>Xt,InsertOpSchema:()=>et,JTDSchemaSchema:()=>Nn,ListActiveSignalsRequestSchema:()=>Ws,ListActiveSignalsResponseSchema:()=>Js,ListIncomingSignalsRequestSchema:()=>at,ListIncomingSignalsResponseSchema:()=>fe,ManipulatePdfRequestSchema:()=>na,ManipulatePdfResponseSchema:()=>ta,MarkdownToPdfSchema:()=>Ke,Namespace:()=>rn,NamespaceSchema:()=>Me,OfficeRenderOptionsSchema:()=>ke,OfficeToPdfSchema:()=>Qe,OutputSchema:()=>ft,PdfAFormat:()=>Sn,PdfAFormatSchema:()=>aa,PdfConvertSchema:()=>Oe,PdfEncryptSchema:()=>Pe,PdfFlattenSchema:()=>_e,PdfMergeSchema:()=>Te,PdfOutputOptionsSchema:()=>ne,PdfSplitSchema:()=>je,PluginService:()=>en,PostVertexConfigRequestSchema:()=>bt,PostVertexConfigResponseSchema:()=>ht,PutValueSchema:()=>jn,RangeDeleteOpSchema:()=>$n,ReadOutputRequestSchema:()=>Vt,ReadOutputResponseSchema:()=>Wt,ReadUrlsRequestSchema:()=>Jt,ReadUrlsResponseSchema:()=>Ct,ReceiverSchema:()=>wn,ReconnectMessageSchema:()=>Ut,RedeemChallengeRequestSchema:()=>At,RedeemChallengeResponseSchema:()=>Rt,RenderDocumentRequestSchema:()=>Fs,RenderDocumentResponseSchema:()=>xs,ResizeType:()=>Xn,ResizeTypeSchema:()=>oa,RunInheritRequestSchema:()=>Pt,RunInheritResponseSchema:()=>Ot,RunInheritStartedSchema:()=>_t,RunSessionRequestSchema:()=>Dt,RunSessionResponseSchema:()=>Tt,RunSessionStartedSchema:()=>jt,SelectOpSchema:()=>_n,SendRequestSchema:()=>Rs,SendResponseSchema:()=>Ss,SessionExecutorApi:()=>Ce,SessionSchema:()=>Lt,SignalBindingSchema:()=>kn,SignalBinding_Error:()=>cn,SignalBinding_ErrorSchema:()=>Un,SignalDataSchema:()=>U,SignalDescriptorSchema:()=>Ln,SignalFormatSchema:()=>Fe,SplitMode:()=>qe,SplitModeSchema:()=>ra,StartExecutionRequestSchema:()=>Wa,StartExecutionResponseSchema:()=>Ja,StartSessionRequestSchema:()=>Bt,StartSessionResponseSchema:()=>Yt,Status:()=>yn,StatusSchema:()=>cs,StopExecutionRequestSchema:()=>Ca,StopExecutionResponseSchema:()=>Ba,StopExecutorApi:()=>Je,StopSessionRequestSchema:()=>Ft,StopSessionResponseSchema:()=>xt,Store:()=>O,StreamSessionRequestSchema:()=>Kt,StreamSessionResponseSchema:()=>wt,TextAlign:()=>Jn,TextAlignSchema:()=>ia,TextBlendMode:()=>Wn,TextBlendModeSchema:()=>ga,TextWrap:()=>Cn,TextWrapSchema:()=>la,TimestampRangeSchema:()=>he,TokenSchema:()=>Xa,TransceiverSchema:()=>Kn,TransformImageRequestSchema:()=>we,TransformImageResponseSchema:()=>Es,TransmitterSchema:()=>Dn,Transmitter_Mode:()=>gn,Transmitter_ModeSchema:()=>Tn,UrlCloseSchema:()=>vt,UrlRecycleSchema:()=>zt,UrlRetainSchema:()=>Ht,UrlSchema:()=>Nt,ValueMetadataSchema:()=>On,VertexMetadataSchema:()=>Q,VertexType:()=>pn,VertexTypeSchema:()=>Zt,WatchInheritRequestSchema:()=>ss,WatchInheritResponseSchema:()=>as,WatchInheritStartedSchema:()=>os,WatchRunRequestSchema:()=>es,WatchRunResponseSchema:()=>ns,WatchRunStartedSchema:()=>ts,WatchSessionRequestSchema:()=>qt,WatchSessionResponseSchema:()=>$t,WriteBatchBuilder:()=>Ve,WriteOperationSchema:()=>$,file_mochabugapis_adapt_automations_v1_automations:()=>d,file_mochabugapis_adapt_graph_exchange:()=>pe,file_mochabugapis_adapt_graph_jtd_schema:()=>ge,file_mochabugapis_adapt_graph_receiver:()=>Ge,file_mochabugapis_adapt_graph_signal_binding:()=>q,file_mochabugapis_adapt_graph_signal_data:()=>f,file_mochabugapis_adapt_graph_signal_descriptor:()=>K,file_mochabugapis_adapt_graph_signal_format:()=>H,file_mochabugapis_adapt_graph_transceiver:()=>re,file_mochabugapis_adapt_graph_transmitter:()=>w,file_mochabugapis_adapt_graph_vertex_metadata:()=>j,file_mochabugapis_adapt_runtime_v1_configurator_service:()=>J,file_mochabugapis_adapt_runtime_v1_executor_service:()=>I,file_mochabugapis_adapt_runtime_v1_fileforge_service:()=>g,file_mochabugapis_adapt_runtime_v1_incoming:()=>M,file_mochabugapis_adapt_runtime_v1_plugin_service:()=>Y,file_mochabugapis_adapt_runtime_v1_store:()=>S,mapConnectErrorToHttpStatus:()=>va,mapHttpError:()=>tn});module.exports=zn(za);var c=require("@bufbuild/protobuf"),y=require("@bufbuild/protobuf/wkt"),a=require("@connectrpc/connect");var oe=require("@bufbuild/protobuf/codegenv2");var _=require("@bufbuild/protobuf/codegenv2"),L=require("@bufbuild/protobuf/wkt"),u=(0,_.fileDesc)("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSLaFwoKRmxvYXRSdWxlcxKDAQoFY29uc3QYASABKAJCdMJIcQpvCgtmbG9hdC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEp8BCgJsdBgCIAEoAkKQAcJIjAEKiQEKCGZsb2F0Lmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEq8BCgNsdGUYAyABKAJCnwHCSJsBCpgBCglmbG9hdC5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLvBwoCZ3QYBCABKAJC4AfCSNwHCo0BCghmbG9hdC5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsMBCgtmbG9hdC5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs0BChVmbG9hdC5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrTAQoMZmxvYXQuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3QEKFmZsb2F0Lmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEroICgNndGUYBSABKAJCqgjCSKYICpsBCglmbG9hdC5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0gEKDGZsb2F0Lmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3AEKFmZsb2F0Lmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuIBCg1mbG9hdC5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrsAQoXZmxvYXQuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAJCc8JIcApuCghmbG9hdC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygCQmbCSGMKYQoMZmxvYXQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdQoGZmluaXRlGAggASgIQmXCSGIKYAoMZmxvYXQuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIrCgdleGFtcGxlGAkgAygCQhrCSBcKFQoNZmxvYXQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i7RcKC0RvdWJsZVJ1bGVzEoQBCgVjb25zdBgBIAEoAUJ1wkhyCnAKDGRvdWJsZS5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEqABCgJsdBgCIAEoAUKRAcJIjQEKigEKCWRvdWJsZS5sdBp9IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKwAQoDbHRlGAMgASgBQqABwkicAQqZAQoKZG91YmxlLmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvQHCgJndBgEIAEoAULlB8JI4QcKjgEKCWRvdWJsZS5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsQBCgxkb3VibGUuZ3RfbHQaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrOAQoWZG91YmxlLmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtQBCg1kb3VibGUuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3gEKF2RvdWJsZS5ndF9sdGVfZXhjbHVzaXZlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARK/CAoDZ3RlGAUgASgBQq8IwkirCAqcAQoKZG91YmxlLmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrTAQoNZG91YmxlLmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3QEKF2RvdWJsZS5ndGVfbHRfZXhjbHVzaXZlGsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrjAQoOZG91YmxlLmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCu0BChhkb3VibGUuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygBQnTCSHEKbwoJZG91YmxlLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKAFCZ8JIZApiCg1kb3VibGUubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdgoGZmluaXRlGAggASgIQmbCSGMKYQoNZG91YmxlLmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSLAoHZXhhbXBsZRgJIAMoAUIbwkgYChYKDmRvdWJsZS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50MzJSdWxlcxKDAQoFY29uc3QYASABKAVCdMJIcQpvCgtpbnQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoBUJ8wkh5CncKCGludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKAVCjAHCSIgBCoUBCglpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoBUKIB8JIhAcKegoIaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgFQtMHwkjPBwqIAQoJaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygFQnPCSHAKbgoIaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCCADKAVCGsJIFwoVCg1pbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50NjRSdWxlcxKDAQoFY29uc3QYASABKANCdMJIcQpvCgtpbnQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoA0J8wkh5CncKCGludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKANCjAHCSIgBCoUBCglpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoA0KIB8JIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgDQtMHwkjPBwqIAQoJaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygDQnPCSHAKbgoIaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDMyUnVsZXMShAEKBWNvbnN0GAEgASgNQnXCSHIKcAoMdWludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygNQnTCSHEKbwoJdWludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKA1CZ8JIZApiCg11aW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoDUIbwkgYChYKDnVpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDY0UnVsZXMShAEKBWNvbnN0GAEgASgEQnXCSHIKcAoMdWludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgEQn3CSHoKeAoJdWludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKARCjQHCSIkBCoYBCgp1aW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKARCjQfCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgEQtgHwkjUBwqJAQoKdWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygEQnTCSHEKbwoJdWludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKARCZ8JIZApiCg11aW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoBEIbwkgYChYKDnVpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDMyUnVsZXMShAEKBWNvbnN0GAEgASgRQnXCSHIKcAoMc2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgRQn3CSHoKeAoJc2ludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBFCjQHCSIkBCoYBCgpzaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBFCjQfCSIkHCnsKCXNpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgRQtgHwkjUBwqJAQoKc2ludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygRQnTCSHEKbwoJc2ludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDY0UnVsZXMShAEKBWNvbnN0GAEgASgSQnXCSHIKcAoMc2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygSQnTCSHEKbwoJc2ludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBJCZ8JIZApiCg1zaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEkIbwkgYChYKDnNpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKvFQoMRml4ZWQzMlJ1bGVzEoUBCgVjb25zdBgBIAEoB0J2wkhzCnEKDWZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKMAQoCbHQYAiABKAdCfsJIewp5CgpmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp4BCgNsdGUYAyABKAdCjgHCSIoBCocBCgtmaXhlZDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASoQcKAmd0GAQgASgHQpIHwkiOBwp8CgpmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq1AQoNZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxQEKDmZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrNAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLtBwoDZ3RlGAUgASgHQt0HwkjZBwqKAQoLZml4ZWQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkMzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKBAQoCaW4YBiADKAdCdcJIcgpwCgpmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi0KB2V4YW1wbGUYCCADKAdCHMJIGQoXCg9maXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDY0UnVsZXMShQEKBWNvbnN0GAEgASgGQnbCSHMKcQoNZml4ZWQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoBkJ+wkh7CnkKCmZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoBkKOAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAZCkgfCSI4HCnwKCmZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAZC3QfCSNkHCooBCgtmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoBkJ1wkhyCnAKCmZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDMyUnVsZXMShgEKBWNvbnN0GAEgASgPQnfCSHQKcgoOc2ZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKA9CdsJIcwpxCgtzZml4ZWQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoD0IdwkgaChgKEHNmaXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsAVCg1TRml4ZWQ2NFJ1bGVzEoYBCgVjb25zdBgBIAEoEEJ3wkh0CnIKDnNmaXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjQEKAmx0GAIgASgQQn/CSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoEEKPAcJIiwEKiAEKDHNmaXhlZDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASpgcKAmd0GAQgASgQQpcHwkiTBwp9CgtzZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDnNmaXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYc2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD3NmaXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGXNmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEvIHCgNndGUYBSABKBBC4gfCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESggEKAmluGAYgAygQQnbCSHMKcQoLc2ZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnkKBm5vdF9pbhgHIAMoEEJpwkhmCmQKD3NmaXhlZDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKBBCHcJIGgoYChBzZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLHAQoJQm9vbFJ1bGVzEoIBCgVjb25zdBgBIAEoCEJzwkhwCm4KCmJvb2wuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIiiDkKC1N0cmluZ1J1bGVzEoYBCgVjb25zdBgBIAEoCUJ3wkh0CnIKDHN0cmluZy5jb25zdBpidGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSfgoDbGVuGBMgASgEQnHCSG4KbAoKc3RyaW5nLmxlbhpedWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubGVuXSkgOiAnJxKZAQoHbWluX2xlbhgCIAEoBEKHAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKXAQoHbWF4X2xlbhgDIAEoBEKFAcJIgQEKfwoOc3RyaW5nLm1heF9sZW4abXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSmwEKCWxlbl9ieXRlcxgUIAEoBEKHAcJIgwEKgAEKEHN0cmluZy5sZW5fYnl0ZXMabHVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSAhPSBydWxlcy5sZW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKjAQoJbWluX2J5dGVzGAQgASgEQo8BwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSogEKCW1heF9ieXRlcxgFIAEoBEKOAcJIigEKhwEKEHN0cmluZy5tYXhfYnl0ZXMac3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9ieXRlc10pIDogJycSjQEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycShAEKBnByZWZpeBgHIAEoCUJ0wkhxCm8KDXN0cmluZy5wcmVmaXgaXiF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJycSggEKBnN1ZmZpeBgIIAEoCUJywkhvCm0KDXN0cmluZy5zdWZmaXgaXCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAndmFsdWUgZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEpABCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpgBCgxub3RfY29udGFpbnMYFyABKAlCgQHCSH4KfAoTc3RyaW5nLm5vdF9jb250YWlucxpldGhpcy5jb250YWlucyhydWxlcy5ub3RfY29udGFpbnMpID8gJ3ZhbHVlIGNvbnRhaW5zIHN1YnN0cmluZyBgJXNgJy5mb3JtYXQoW3J1bGVzLm5vdF9jb250YWluc10pIDogJycSgAEKAmluGAogAygJQnTCSHEKbwoJc3RyaW5nLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAAScAoHdXJpX3JlZhgSIAEoCEJdwkhaClgKDnN0cmluZy51cmlfcmVmEiN2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJIFJlZmVyZW5jZRohIXJ1bGVzLnVyaV9yZWYgfHwgdGhpcy5pc1VyaVJlZigpSAASkAIKB2FkZHJlc3MYFSABKAhC/AHCSPgBCoEBCg5zdHJpbmcuYWRkcmVzcxItdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKYAgoEdXVpZBgWIAEoCEKHAsJIgwIKpQEKC3N0cmluZy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS8AEKBXR1dWlkGCEgASgIQt4BwkjaAQpzCgxzdHJpbmcudHV1aWQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASlgIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvgBwkj0AQp4ChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SH3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLPAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKvAsJIqwIKkwEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEjV2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS8gEKCWlwX3ByZWZpeBgdIAEoCELcAcJI2AEKbAoQc3RyaW5nLmlwX3ByZWZpeBIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2NF9wcmVmaXgYHiABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY0X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAASgwIKC2lwdjZfcHJlZml4GB8gASgIQusBwkjnAQp1ChJzdHJpbmcuaXB2Nl9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAErUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQpsCwkiXAgqZAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEvUBCgR1bGlkGCMgASgIQuQBwkjgAQqCAQoLc3RyaW5nLnVsaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVTElEGlchcnVsZXMudWxpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTddWzAtOUEtSEpLTU5QLVRWLVphLWhqa21ucC10di16XXsyNX0kJykKWQoRc3RyaW5nLnVsaWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVTElEGhkhcnVsZXMudWxpZCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLCEgoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEtUBCgR1dWlkGA8gASgIQsQBwkjAAQpeCgpieXRlcy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i/QUKDkZpZWxkTWFza1J1bGVzEr8BCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCkwHCSI8BCowBChBmaWVsZF9tYXNrLmNvbnN0Gnh0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICd2YWx1ZSBtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS2QEKAmluGAIgAygJQswBwkjIAQrFAQoNZmllbGRfbWFzay5pbhqzASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICd2YWx1ZSBtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEvMBCgZub3RfaW4YAyADKAlC4gHCSN4BCtsBChFmaWVsZF9tYXNrLm5vdF9pbhrFASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ3ZhbHVlIG11c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqoQEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIYChRJR05PUkVfSUZfWkVST19WQUxVRRABEhEKDUlHTk9SRV9BTFdBWVMQAyIECAIQAioMSUdOT1JFX0VNUFRZKg5JR05PUkVfREVGQVVMVCoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUqFUlHTk9SRV9JRl9VTlBPUFVMQVRFRCpuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6VgoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyGi5idWYudmFsaWRhdGUuTWVzc2FnZVJ1bGVzUgdtZXNzYWdlOk4KBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuT25lb2ZSdWxlc1IFb25lb2Y6TgoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzUgVmaWVsZDpdCgpwcmVkZWZpbmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiICSABKAsyHS5idWYudmFsaWRhdGUuUHJlZGVmaW5lZFJ1bGVzUgpwcmVkZWZpbmVkQm4KEmJ1aWxkLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZQ",[L.file_google_protobuf_descriptor,L.file_google_protobuf_duration,L.file_google_protobuf_field_mask,L.file_google_protobuf_timestamp]);var f=(0,oe.fileDesc)("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2RhdGEucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKmCgoKU2lnbmFsRGF0YRL3BQoIZmlsZW5hbWUYASABKAlC3wW6SNsFugGvAQobZmlsZW5hbWUubm9fcGF0aF9zZXBhcmF0b3JzEmNGaWxlbmFtZSBjYW5ub3QgY29udGFpbiBwYXRoIHNlcGFyYXRvcnMgKCcvJyBvciAnXCcpLiBVc2Ugb25seSB0aGUgZmlsZW5hbWUgd2l0aG91dCBkaXJlY3RvcnkgcGF0aC4aKyF0aGlzLmNvbnRhaW5zKCcvJykgJiYgIXRoaXMuY29udGFpbnMoJ1xcJym6AbsBCh5maWxlbmFtZS5ub19jb250cm9sX2NoYXJhY3RlcnMSOUZpbGVuYW1lIGNhbm5vdCBjb250YWluIGNvbnRyb2wgY2hhcmFjdGVycyBvciBudWxsIGJ5dGVzLhpeIXRoaXMuY29udGFpbnMoJ1x4MDAnKSAmJiAhdGhpcy5jb250YWlucygnXG4nKSAmJiAhdGhpcy5jb250YWlucygnXHInKSAmJiAhdGhpcy5jb250YWlucygnXHQnKboBbQonZmlsZW5hbWUubm9fbGVhZGluZ190cmFpbGluZ193aGl0ZXNwYWNlEi1GaWxlbmFtZSBjYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZS4aE3RoaXMgPT0gdGhpcy50cmltKCm6AdMBChxmaWxlbmFtZS5ub193aW5kb3dzX3Jlc2VydmVkEmpGaWxlbmFtZSBjYW5ub3QgYmUgYSBXaW5kb3dzIHJlc2VydmVkIG5hbWUgKENPTiwgUFJOLCBBVVgsIE5VTCwgQ09NMS05LCBMUFQxLTkpIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uGkchdGhpcy5tYXRjaGVzKCdeKD9pKShDT058UFJOfEFVWHxOVUx8Q09NWzEtOV18TFBUWzEtOV0pKD86XFwuW14uXSopPyQnKXIgEAEY/wEyGV5bXi88PjoifD8qXHgwMC1ceDFGXFxdKyRIAIgBARKCBAoJbWltZV90eXBlGAIgASgJQu4DukjqA7oByQEKFm1pbWVfdHlwZS5ub193aWxkY2FyZHMSmQFNSU1FIHR5cGUgd2lsZGNhcmRzIGFyZSBub3QgYWxsb3dlZCBpbiBTaWduYWxEYXRhLiBVc2UgYSBjb25jcmV0ZSBNSU1FIHR5cGUgbGlrZSAnaW1hZ2UvcG5nJyBvciAnYXBwbGljYXRpb24vcGRmJywgbm90IHdpbGRjYXJkcyBsaWtlICdpbWFnZS8qJyBvciAnKi8qJy4aEyF0aGlzLmNvbnRhaW5zKCcqJym6Ab8BChdtaW1lX3R5cGUubm9fcGFyYW1ldGVycxKOAU1JTUUgdHlwZSBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZC4gVXNlICd0ZXh0L3BsYWluJyBpbnN0ZWFkIG9mICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Jy4gVVRGLTggZW5jb2RpbmcgaXMgYXNzdW1lZCBmb3IgYWxsIHRleHQgZm9ybWF0cy4aEyF0aGlzLmNvbnRhaW5zKCc7JylyWBADGP8BMlFeW2EtekEtWjAtOV1bYS16QS1aMC05ISMkJlwtXl8uK117MCwxMjZ9L1thLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fSQSDAoEZGF0YRgDIAEoDEILCglfZmlsZW5hbWViBnByb3RvMw",[u]),U=(0,oe.messageDesc)(f,0);var ie=require("@bufbuild/protobuf/codegenv2");var ce=require("@bufbuild/protobuf/codegenv2");var on=require("@bufbuild/protobuf/wkt"),ge=(0,ce.fileDesc)("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvanRkX3NjaGVtYS5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIpMWCglKVERTY2hlbWESegoLZGVmaW5pdGlvbnMYASADKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLkRlZmluaXRpb25zRW50cnlCL7pILJoBKQgAEOgHIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEi4KCG1ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhUKCG51bGxhYmxlGAMgASgISAGIAQESNwoDcmVmGAQgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAKIAQEScQoEdHlwZRgFIAEoCUJeukhbcllSB2Jvb2xlYW5SB2Zsb2F0MzJSB2Zsb2F0NjRSBGludDhSBXVpbnQ4UgVpbnQxNlIGdWludDE2UgVpbnQzMlIGdWludDMyUgZzdHJpbmdSCXRpbWVzdGFtcEgDiAEBEiQKBGVudW0YBiADKAlCFrpIE5IBEAgAEOgHGAEiB3IFEAEY6AcSOgoIZWxlbWVudHMYByABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hSASIAQESXAoKcHJvcGVydGllcxgIIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWEuUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEm0KE29wdGlvbmFsX3Byb3BlcnRpZXMYCSADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLk9wdGlvbmFsUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEiIKFWFkZGl0aW9uYWxfcHJvcGVydGllcxgKIAEoCEgFiAEBEjgKBnZhbHVlcxgLIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIBogBARIlCg1kaXNjcmltaW5hdG9yGAwgASgJQgm6SAZyBBABGGRIB4gBARJWCgdtYXBwaW5nGA0gAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYS5NYXBwaW5nRW50cnlCE7pIEJoBDQgAEOgHIgZyBBABGGQaVwoQRGVmaW5pdGlvbnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hOgI4ARpWCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaXgoXT3B0aW9uYWxQcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaUwoMTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWE6AjgBOrULukixCxqTAwocanRkLm11dHVhbGx5X2V4Y2x1c2l2ZV9mb3JtcxKIAVNjaGVtYSBtdXN0IHVzZSBleGFjdGx5IG9uZSBmb3JtIChlbXB0eSwgcmVmLCB0eXBlLCBlbnVtLCBlbGVtZW50cywgcHJvcGVydGllcywgdmFsdWVzLCBvciBkaXNjcmltaW5hdG9yKS4gTXVsdGlwbGUgZm9ybSBrZXl3b3JkcyBmb3VuZC4a5wFbaGFzKHRoaXMucmVmKSwgaGFzKHRoaXMudHlwZSksIHNpemUodGhpcy5lbnVtKSA+IDAsIGhhcyh0aGlzLmVsZW1lbnRzKSwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwLCBoYXModGhpcy52YWx1ZXMpLCBoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMubWFwcGluZykgPiAwXS5maWx0ZXIoeCwgeCkuc2l6ZSgpIDw9IDEa+AEKGWp0ZC5wcm9wZXJ0aWVzX25vX292ZXJsYXASWFByb3BlcnRpZXMgYW5kIG9wdGlvbmFsX3Byb3BlcnRpZXMgY2Fubm90IGhhdmUgb3ZlcmxhcHBpbmcga2V5cyAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNikagAEhKHNpemUodGhpcy5wcm9wZXJ0aWVzKSA+IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID4gMCkgfHwgdGhpcy5wcm9wZXJ0aWVzLmFsbChwaywgIShwayBpbiB0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpKRqQAgoxanRkLmFkZGl0aW9uYWxfcHJvcGVydGllc19vbmx5X29uX3Byb3BlcnRpZXNfZm9ybRJ2YWRkaXRpb25hbF9wcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIHNldCB3aGVuIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGZvcm0gKGhhcyBub24tZW1wdHkgcHJvcGVydGllcyBvciBvcHRpb25hbF9wcm9wZXJ0aWVzKRpjIWhhcyh0aGlzLmFkZGl0aW9uYWxfcHJvcGVydGllcykgfHwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwGsIBCiJqdGQuZGlzY3JpbWluYXRvcl9yZXF1aXJlc19tYXBwaW5nEmdkaXNjcmltaW5hdG9yIGFuZCBtYXBwaW5nIG11c3QgYXBwZWFyIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qgb25lIG1hcHBpbmcgZW50cnkgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGjNoYXModGhpcy5kaXNjcmltaW5hdG9yKSA9PSAoc2l6ZSh0aGlzLm1hcHBpbmcpID4gMCkaxQIKEmp0ZC5lbnVtX25vbl9lbXB0eRJKZW51bSBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eSB3aGVuIHVzaW5nIGVudW0gZm9ybSAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNCka4gFzaXplKHRoaXMuZW51bSkgPiAwICYmICFoYXModGhpcy50eXBlKSAmJiAhaGFzKHRoaXMucmVmKSAmJiAhaGFzKHRoaXMuZWxlbWVudHMpICYmICFoYXModGhpcy52YWx1ZXMpICYmICFoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMucHJvcGVydGllcykgPT0gMCAmJiBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPT0gMCA/IHNpemUodGhpcy5lbnVtKSA+IDAgOiB0cnVlQgsKCV9tZXRhZGF0YUILCglfbnVsbGFibGVCBgoEX3JlZkIHCgVfdHlwZUILCglfZWxlbWVudHNCGAoWX2FkZGl0aW9uYWxfcHJvcGVydGllc0IJCgdfdmFsdWVzQhAKDl9kaXNjcmltaW5hdG9yYgZwcm90bzM",[u,on.file_google_protobuf_struct]),Nn=(0,ce.messageDesc)(ge,0);var H=(0,ie.fileDesc)("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Zvcm1hdC5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIo8FCgxTaWduYWxGb3JtYXQSOQoKanRkX3NjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIABKyBAoJbWltZV90eXBlGAIgASgJQpwEukiYBLoBmwIKMG1pbWVfdHlwZS5ub190eXBlX3dpbGRjYXJkX3dpdGhfY29uY3JldGVfc3VidHlwZRK7AVR5cGUgd2lsZGNhcmQgd2l0aCBjb25jcmV0ZSBzdWJ0eXBlIChlLmcuLCAnKi9wbmcnLCAnKi9qc29uJykgaXMgbm90IGFsbG93ZWQuIFVzZSBjb25jcmV0ZSB0eXBlIChlLmcuLCAnaW1hZ2UvcG5nJyksIHR5cGUtZmFtaWx5IHdpbGRjYXJkIChlLmcuLCAnaW1hZ2UvKicpLCBvciB1bml2ZXJzYWwgd2lsZGNhcmQgKCcqLyonKS4aKSEodGhpcy5zdGFydHNXaXRoKCcqLycpICYmIHRoaXMgIT0gJyovKicpugGRAQodbWltZV90eXBlLm5vX2FwcGxpY2F0aW9uX2pzb24SR2dlbmVyaWMganNvbiBpcyBqdGQtc2NoZW1hIHdpdGggZW1wdHkgc2NoZW1hLCB0aGlzIHdpbGwgYWNjZXB0IGFueSBKU09OGid0aGlzLmxvd2VyQXNjaWkoKSAhPSAnYXBwbGljYXRpb24vanNvbidyYhADGP8BMlteKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikvKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikkSABCDwoGZm9ybWF0EgW6SAIIAWIGcHJvdG8z",[u,ge]),Fe=(0,ie.messageDesc)(H,0);var be=require("@bufbuild/protobuf/codegenv2");var me=require("@bufbuild/protobuf/codegenv2");var de=require("@bufbuild/protobuf/codegenv2");var le=require("@bufbuild/protobuf/codegenv2");var K=(0,le.fileDesc)("CjBtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Rlc2NyaXB0b3IucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKMAgoQU2lnbmFsRGVzY3JpcHRvchIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHZm9ybWF0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDJCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxiBnByb3RvMw",[u,H]),Ln=(0,le.messageDesc)(K,0);var re=(0,de.fileDesc)("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLMAgoLVHJhbnNjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEhYKCXN0cmVhbWluZxgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfc3RyZWFtaW5nYgZwcm90bzM",[u,K]),Kn=(0,de.messageDesc)(re,0);var pe=(0,me.fileDesc)("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY6AdIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAyErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDJCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[u,re]),Qn=(0,me.messageDesc)(pe,0);var ue=require("@bufbuild/protobuf/codegenv2");var D=require("@bufbuild/protobuf/codegenv2");var q=(0,D.fileDesc)("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLUBAoNU2lnbmFsQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHYWNjZXB0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDISgwEKCXJlZmVyZW5jZRgGIAEoCUJwukht2AEBcmgY+gEyY14oWzAtOWEtel17NH0vW18kYS16QS1aXVtfJGEtekEtWjAtOV0qL1tfJGEtekEtWl1bXyRhLXpBLVowLTldKnxjb25zdGFudC9bXyRhLXpBLVpdW18kYS16QS1aMC05XSopJBJLCgVlcnJvchgIIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxCaW5kaW5nLkVycm9yQgi6SAWCAQIgAEgDiAEBImYKBUVycm9yEhUKEUVSUk9SX1VOU1BFQ0lGSUVEEAASEQoNRVJST1JfVU5CT1VORBABEhgKFEVSUk9SX0lOVkFMSURfU09VUkNFEAISGQoVRVJST1JfU0NIRU1BX01JU01BVENIEANCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxCCAoGX2Vycm9ySgQIBxAIYgZwcm90bzM",[u,H]),kn=(0,D.messageDesc)(q,0),cn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.UNBOUND=1]="UNBOUND",s[s.INVALID_SOURCE=2]="INVALID_SOURCE",s[s.SCHEMA_MISMATCH=3]="SCHEMA_MISMATCH",s))(cn||{}),Un=(0,D.enumDesc)(q,0,0);var Ge=(0,ue.fileDesc)("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKlAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKvAQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J0ukhxugFoChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKHRoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcubmFtZSkudW5pcXVlKCmSAQMQgARCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[u,q]),wn=(0,ue.messageDesc)(Ge,0);var T=require("@bufbuild/protobuf/codegenv2");var w=(0,T.fileDesc)("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z",[u,K]),Dn=(0,T.messageDesc)(w,0),gn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.STANDARD=1]="STANDARD",s[s.STREAM=2]="STREAM",s[s.FAILURE=3]="FAILURE",s))(gn||{}),Tn=(0,T.enumDesc)(w,0,0);var xe=require("@bufbuild/protobuf/codegenv2");var ln=(0,xe.fileDesc)("Cjxtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdXNlcl9kZWZpbmVkX2V4Y2hhbmdlX29wdGlvbnMucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLHFQoaVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMSaQoTdHJhbnNtaXR0ZXJfb3B0aW9ucxgBIAEoCzJHLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9ucy5UcmFuc2NlaXZlck9wdGlvbnNIAIgBARJmChByZWNlaXZlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gBiAEBEiMKDW1heF9leGNoYW5nZXMYAyABKAVCB7pIBBoCKABIAogBARIjCg1taW5fZXhjaGFuZ2VzGAQgASgFQge6SAQaAigASAOIAQES0QEKDmV4Y2hhbmdlX2xvY2tzGAUgAygLMkEubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLkV4Y2hhbmdlTG9ja0J2ukhzugFwChtleGNoYW5nZV9sb2Nrc191bmlxdWVfbmFtZXMSMUVhY2ggZXhjaGFuZ2UgbG9jayBtdXN0IHRhcmdldCBhIHVuaXF1ZSBleGNoYW5nZS4aHnRoaXMubWFwKGVsLCBlbC5uYW1lKS51bmlxdWUoKRqVAQoKU2lnbmFsTG9jaxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEkEKDG11c3Rfc3Vic3VtZRgCIAEoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRIAIgBAUIPCg1fbXVzdF9zdWJzdW1lGsAFCg9UcmFuc2NlaXZlckxvY2sSMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBLFAQoMc2lnbmFsX2xvY2tzGAIgAygLMj8ubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlNpZ25hbExvY2tCbrpIa7oBaAoZc2lnbmFsX2xvY2tzX3VuaXF1ZV9uYW1lcxItRWFjaCBzaWduYWwgbG9jayBtdXN0IHRhcmdldCBhIHVuaXF1ZSBzaWduYWwuGhx0aGlzLm1hcChzLCBzLm5hbWUpLnVuaXF1ZSgpEiEKC21pbl9zaWduYWxzGAMgASgFQge6SAQaAigASACIAQESIQoLbWF4X3NpZ25hbHMYBCABKAVCB7pIBBoCKABIAYgBATrJArpIxQIaowEKD21pbl9tYXhfc2lnbmFscxI2bWluX3NpZ25hbHMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4X3NpZ25hbHMuGlghaGFzKHRoaXMubWluX3NpZ25hbHMpIHx8ICFoYXModGhpcy5tYXhfc2lnbmFscykgfHwgdGhpcy5taW5fc2lnbmFscyA8PSB0aGlzLm1heF9zaWduYWxzGpwBChZtaW5fc2lnbmFsc19ndGVfbG9ja2VkEjptaW5fc2lnbmFscyBtdXN0IGJlIGF0IGxlYXN0IHRoZSBudW1iZXIgb2YgbG9ja2VkIHNpZ25hbHMuGkYhaGFzKHRoaXMubWluX3NpZ25hbHMpIHx8IHRoaXMubWluX3NpZ25hbHMgPj0gdGhpcy5zaWduYWxfbG9ja3Muc2l6ZSgpQg4KDF9taW5fc2lnbmFsc0IOCgxfbWF4X3NpZ25hbHMaigYKElRyYW5zY2VpdmVyT3B0aW9ucxIcCg9hbGxvd19zdHJlYW1pbmcYASABKAhIAIgBARLGAQoFbG9ja3MYAiADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMuVHJhbnNjZWl2ZXJMb2NrQnG6SG66AWsKEmxvY2tzX3VuaXF1ZV9uYW1lcxI3RWFjaCB0cmFuc2NlaXZlciBsb2NrIG11c3QgdGFyZ2V0IGEgdW5pcXVlIHRyYW5zY2VpdmVyLhocdGhpcy5tYXAobCwgbC5uYW1lKS51bmlxdWUoKRImChBtaW5fdHJhbnNjZWl2ZXJzGAMgASgFQge6SAQaAigASAGIAQESJgoQbWF4X3RyYW5zY2VpdmVycxgEIAEoBUIHukgEGgIoAEgCiAEBOv4Cukj6AhrGAQoUbWluX21heF90cmFuc2NlaXZlcnMSQG1pbl90cmFuc2NlaXZlcnMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4X3RyYW5zY2VpdmVycy4abCFoYXModGhpcy5taW5fdHJhbnNjZWl2ZXJzKSB8fCAhaGFzKHRoaXMubWF4X3RyYW5zY2VpdmVycykgfHwgdGhpcy5taW5fdHJhbnNjZWl2ZXJzIDw9IHRoaXMubWF4X3RyYW5zY2VpdmVycxquAQobbWluX3RyYW5zY2VpdmVyc19ndGVfbG9ja2VkEkRtaW5fdHJhbnNjZWl2ZXJzIG11c3QgYmUgYXQgbGVhc3QgdGhlIG51bWJlciBvZiBsb2NrZWQgdHJhbnNjZWl2ZXJzLhpJIWhhcyh0aGlzLm1pbl90cmFuc2NlaXZlcnMpIHx8IHRoaXMubWluX3RyYW5zY2VpdmVycyA+PSB0aGlzLmxvY2tzLnNpemUoKUISChBfYWxsb3dfc3RyZWFtaW5nQhMKEV9taW5fdHJhbnNjZWl2ZXJzQhMKEV9tYXhfdHJhbnNjZWl2ZXJzGsMCCgxFeGNoYW5nZUxvY2sSMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBJpChN0cmFuc21pdHRlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gAiAEBEmYKEHJlY2VpdmVyX29wdGlvbnMYAyABKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMuVHJhbnNjZWl2ZXJPcHRpb25zSAGIAQFCFgoUX3RyYW5zbWl0dGVyX29wdGlvbnNCEwoRX3JlY2VpdmVyX29wdGlvbnM6uAG6SLQBGrEBChFtaW5fbWF4X2V4Y2hhbmdlcxI6bWluX2V4Y2hhbmdlcyBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBtYXhfZXhjaGFuZ2VzLhpgIWhhcyh0aGlzLm1pbl9leGNoYW5nZXMpIHx8ICFoYXModGhpcy5tYXhfZXhjaGFuZ2VzKSB8fCB0aGlzLm1pbl9leGNoYW5nZXMgPD0gdGhpcy5tYXhfZXhjaGFuZ2VzQhYKFF90cmFuc21pdHRlcl9vcHRpb25zQhMKEV9yZWNlaXZlcl9vcHRpb25zQhAKDl9tYXhfZXhjaGFuZ2VzQhAKDl9taW5fZXhjaGFuZ2VzYgZwcm90bzM",[u,H]);var j=(0,be.fileDesc)("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgi3w0KDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQZBJOCgt1ZGVfb3B0aW9ucxgFIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9uc0gAiAEBEiUKDWNyb25fc2NoZWR1bGUYBiABKAlCCbpIBnIEEAEYZEgBiAEBOvgHukj0BxrvAQorZXhjaGFuZ2VfbG9ja3NfcmVmZXJlbmNlX2V4aXN0aW5nX2V4Y2hhbmdlcxJKRWFjaCBleGNoYW5nZSBsb2NrIG11c3QgcmVmZXJlbmNlIGFuIGV4Y2hhbmdlIHRoYXQgZXhpc3RzIGluIHRoZSBtZXRhZGF0YS4adCFoYXModGhpcy51ZGVfb3B0aW9ucykgfHwgdGhpcy51ZGVfb3B0aW9ucy5leGNoYW5nZV9sb2Nrcy5hbGwobG9jaywgdGhpcy5leGNoYW5nZXMuZXhpc3RzKGV4LCBleC5uYW1lID09IGxvY2submFtZSkpGocDCi1leGNoYW5nZV9sb2NrX3RyYW5zbWl0dGVyc19yZWZlcmVuY2VfZXhpc3RpbmcSZUVhY2ggbG9ja2VkIHRyYW5zbWl0dGVyIGluIGFuIGV4Y2hhbmdlIGxvY2sgbXVzdCByZWZlcmVuY2UgYSB0cmFuc21pdHRlciB0aGF0IGV4aXN0cyBpbiB0aGUgZXhjaGFuZ2UuGu4BIWhhcyh0aGlzLnVkZV9vcHRpb25zKSB8fCB0aGlzLnVkZV9vcHRpb25zLmV4Y2hhbmdlX2xvY2tzLmFsbChsb2NrLCAhaGFzKGxvY2sudHJhbnNtaXR0ZXJfb3B0aW9ucykgfHwgbG9jay50cmFuc21pdHRlcl9vcHRpb25zLmxvY2tzLmFsbCh0bCwgdGhpcy5leGNoYW5nZXMuZXhpc3RzKGV4LCBleC5uYW1lID09IGxvY2submFtZSAmJiBleC50cmFuc21pdHRlcnMuZXhpc3RzKHQsIHQubmFtZSA9PSB0bC5uYW1lKSkpKRr1AgoqZXhjaGFuZ2VfbG9ja19yZWNlaXZlcnNfcmVmZXJlbmNlX2V4aXN0aW5nEl9FYWNoIGxvY2tlZCByZWNlaXZlciBpbiBhbiBleGNoYW5nZSBsb2NrIG11c3QgcmVmZXJlbmNlIGEgcmVjZWl2ZXIgdGhhdCBleGlzdHMgaW4gdGhlIGV4Y2hhbmdlLhrlASFoYXModGhpcy51ZGVfb3B0aW9ucykgfHwgdGhpcy51ZGVfb3B0aW9ucy5leGNoYW5nZV9sb2Nrcy5hbGwobG9jaywgIWhhcyhsb2NrLnJlY2VpdmVyX29wdGlvbnMpIHx8IGxvY2sucmVjZWl2ZXJfb3B0aW9ucy5sb2Nrcy5hbGwodGwsIHRoaXMuZXhjaGFuZ2VzLmV4aXN0cyhleCwgZXgubmFtZSA9PSBsb2NrLm5hbWUgJiYgZXgucmVjZWl2ZXJzLmV4aXN0cyhyLCByLm5hbWUgPT0gdGwubmFtZSkpKSlCDgoMX3VkZV9vcHRpb25zQhAKDl9jcm9uX3NjaGVkdWxlYgZwcm90bzM",[u,pe,Ge,w,ln]),Q=(0,be.messageDesc)(j,0);var R=require("@bufbuild/protobuf/codegenv2");var mn=require("@bufbuild/protobuf/wkt");var V=require("@bufbuild/protobuf/codegenv2");var dn=require("@bufbuild/protobuf/wkt"),S=(0,V.fileDesc)("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9zdG9yZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiJgoIUHV0VmFsdWUSDQoFdmFsdWUYASABKAwSCwoDdHRsGAIgASgFIlkKCEdldFZhbHVlEg0KBXZhbHVlGAEgASgMEj4KCG1ldGFkYXRhGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YSJdCg1WYWx1ZU1ldGFkYXRhEgsKA3R0bBgBIAEoBRIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRldGFnGAMgASgJIuwBCg5UaW1lc3RhbXBSYW5nZRIxCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARIvCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESFwoPc3RhcnRfaW5jbHVzaXZlGAMgASgIEhUKDWVuZF9pbmNsdXNpdmUYBCABKAg6RrpIQxpBCgt2YWxpZF9yYW5nZRIbc3RhcnQgbXVzdCBiZSBsZXNzIHRoYW4gZW5kGhV0aGlzLnN0YXJ0IDwgdGhpcy5lbmQinwMKCFNlbGVjdE9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQESHgoFbGltaXQYBSABKAVCCrpIBxoFGOgHKABIBIgBARIXCgpwYWdlX3Rva2VuGAYgASgJSAWIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmVCCAoGX2xpbWl0Qg0KC19wYWdlX3Rva2VuIuABCg5Xcml0ZU9wZXJhdGlvbhI5CgZpbnNlcnQYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbnNlcnRPcEgAEjkKBmRlbGV0ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRlbGV0ZU9wSAASRAoMcmFuZ2VfZGVsZXRlGAMgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmFuZ2VEZWxldGVPcEgAQhIKCW9wZXJhdGlvbhIFukgCCAEiuwEKGUNvbmRpdGlvbmFsV3JpdGVPcGVyYXRpb24SRAoGaW5zZXJ0GAEgASgLMjIubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxJbnNlcnRPcEgAEkQKBmRlbGV0ZRgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3BIAEISCglvcGVyYXRpb24SBbpIAggBItICCg1SYW5nZURlbGV0ZU9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmUiYQoISW5zZXJ0T3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAIBI+CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlB1dFZhbHVlQga6SAPIAQEiIQoIRGVsZXRlT3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAICK2BgoTQ29uZGl0aW9uYWxJbnNlcnRPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEj4KBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUHV0VmFsdWVCBrpIA8gBARJaCgxwcmVjb25kaXRpb24YAyABKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbEluc2VydE9wLlByZWNvbmRpdGlvbkgAiAEBGtoECgxQcmVjb25kaXRpb24SOgoUbGFzdF9tb2RpZmllZF9lcXVhbHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASTAoTbGFzdF9tb2RpZmllZF9yYW5nZRgCIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRpbWVzdGFtcFJhbmdlSAASEQoEZXRhZxgEIAEoCUgBiAEBEhsKDmZhaWxfaWZfZXhpc3RzGAUgASgISAKIAQE63AK6SNgCGscBCiBub190aW1lc3RhbXBfd2l0aF9mYWlsX2lmX2V4aXN0cxI7ZmFpbF9pZl9leGlzdHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGltZXN0YW1wIGNvbmRpdGlvbnMaZnRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5sYXN0X21vZGlmaWVkX2VxdWFscykgJiYgIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfcmFuZ2UpIDogdHJ1ZRqLAQobbm9fZXRhZ193aXRoX2ZhaWxfaWZfZXhpc3RzEjZmYWlsX2lmX2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBldGFnIGNvbmRpdGlvbnMaNHRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5ldGFnKSA6IHRydWVCFQoTdGltZXN0YW1wX2NvbmRpdGlvbkIHCgVfZXRhZ0IRCg9fZmFpbF9pZl9leGlzdHNCDwoNX3ByZWNvbmRpdGlvbiLeBQoTQ29uZGl0aW9uYWxEZWxldGVPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEloKDHByZWNvbmRpdGlvbhgCIAEoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3AuUHJlY29uZGl0aW9uSACIAQEawgQKDFByZWNvbmRpdGlvbhIYCgttdXN0X2V4aXN0cxgBIAEoCEgBiAEBEjoKFGxhc3RfbW9kaWZpZWRfZXF1YWxzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEkwKE2xhc3RfbW9kaWZpZWRfcmFuZ2UYAyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UaW1lc3RhbXBSYW5nZUgAEhEKBGV0YWcYBCABKAlIAogBATrKArpIxgIavgEKHW5vX3RpbWVzdGFtcF93aXRoX211c3RfZXhpc3RzEjhtdXN0X2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aW1lc3RhbXAgY29uZGl0aW9ucxpjdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfZXF1YWxzKSAmJiAhaGFzKHRoaXMubGFzdF9tb2RpZmllZF9yYW5nZSkgOiB0cnVlGoIBChhub19ldGFnX3dpdGhfbXVzdF9leGlzdHMSM211c3RfZXhpc3RzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGV0YWcgY29uZGl0aW9ucxoxdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmV0YWcpIDogdHJ1ZUIVChN0aW1lc3RhbXBfY29uZGl0aW9uQg4KDF9tdXN0X2V4aXN0c0IHCgVfZXRhZ0IPCg1fcHJlY29uZGl0aW9uKpABCglOYW1lc3BhY2USGQoVTkFNRVNQQUNFX1VOU1BFQ0lGSUVEEAASHQoZTkFNRVNQQUNFX1ZFUlRFWF9JTlNUQU5DRRABEh0KGU5BTUVTUEFDRV9QTFVHSU5fSU5TVEFOQ0UQAhIUChBOQU1FU1BBQ0VfVkVSVEVYEAMSFAoQTkFNRVNQQUNFX1BMVUdJThAEYgZwcm90bzM",[u,dn.file_google_protobuf_timestamp]),jn=(0,V.messageDesc)(S,0),Pn=(0,V.messageDesc)(S,1),On=(0,V.messageDesc)(S,2),he=(0,V.messageDesc)(S,3),_n=(0,V.messageDesc)(S,4),$=(0,V.messageDesc)(S,5),qn=(0,V.messageDesc)(S,6),$n=(0,V.messageDesc)(S,7),et=(0,V.messageDesc)(S,8),nt=(0,V.messageDesc)(S,9),tt=(0,V.messageDesc)(S,10),Ze=(0,V.messageDesc)(S,10,0),st=(0,V.messageDesc)(S,11),Ee=(0,V.messageDesc)(S,11,0),rn=(r=>(r[r.UNSPECIFIED=0]="UNSPECIFIED",r[r.VERTEX_INSTANCE=1]="VERTEX_INSTANCE",r[r.PLUGIN_INSTANCE=2]="PLUGIN_INSTANCE",r[r.VERTEX=3]="VERTEX",r[r.PLUGIN=4]="PLUGIN",r))(rn||{}),Me=(0,V.enumDesc)(S,0);var J=(0,R.fileDesc)("Cjhtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9jb25maWd1cmF0b3Jfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi5AEKGkxpc3RJbmNvbWluZ1NpZ25hbHNSZXF1ZXN0EjwKCHJlY2VpdmVyGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSACIAQESNwoHZm9ybWF0cxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXQSMwoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAYgBAUILCglfcmVjZWl2ZXJCDQoLX2ZpZWxkX21hc2si9gEKEEluY29taW5nVmVydGljZXMSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgx0cmFuc21pdHRlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXISPgoLdmVydGV4X3R5cGUYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5WZXJ0ZXhUeXBlEhQKB2xvZ29faWQYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CCgoIX2xvZ29faWQiyAIKG0xpc3RJbmNvbWluZ1NpZ25hbHNSZXNwb25zZRJBCgh2ZXJ0aWNlcxgBIAMoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkluY29taW5nVmVydGljZXMSYQoMdmVydGV4X2xvZ29zGAIgAygLMksubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlLlZlcnRleExvZ29zRW50cnkSEAoIcmVjZWl2ZXIYAyABKAkSPQoJY29uc3RhbnRzGAQgAygLMioubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERlc2NyaXB0b3IaMgoQVmVydGV4TG9nb3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIsYBCilDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIvYBCipDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USaQoIbWV0YWRhdGEYASADKAsyVy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIr4BCiRDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QSSwoJb3BlcmF0aW9uGAEgASgLMjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxXcml0ZU9wZXJhdGlvbhJJCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCDLpICYIBBiAAIAEgAiJ5CiVDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKXAQooQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVxdWVzdBIgCgRrZXlzGAEgAygJQhK6SA+SAQwIARCQTiIFcgMYgCASSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIi5gEKKUNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEmIKBWl0ZW1zGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2UuSXRlbXNFbnRyeRpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4ASK2AQolQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBJCCglvcGVyYXRpb24YASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZWxlY3RPcEIGukgDyAEBEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIogCCiZDb25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZRJfCgVpdGVtcxgBIAMoCzJQLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlLkl0ZW1zRW50cnkSFwoKbmV4dF90b2tlbhgCIAEoCUgAiAEBGlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBQg0KC19uZXh0X3Rva2VuIm8KKUNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0EjMKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrSACIAQFCDQoLX2ZpZWxkX21hc2siswIKKkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZRIOCgZjb25maWcYASABKAwSOgoIbWV0YWRhdGEYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVmVydGV4TWV0YWRhdGESfgoTY29uZmlndXJlZF9zZXJ2aWNlcxgDIAMoCzJhLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIrUCChdQb3N0VmVydGV4Q29uZmlnUmVxdWVzdBITCgZjb25maWcYASABKAxIAIgBARI/CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YUgBiAEBEh4KEW92ZXJyaWRlX2JpbmRpbmdzGAMgASgISAKIAQE6drpIcxpxChtjb25maWdfb3JfbWV0YWRhdGFfcmVxdWlyZWQSKkVpdGhlciBjb25maWcgb3IgbWV0YWRhdGEgbXVzdCBiZSBwcm92aWRlZBomaGFzKHRoaXMuY29uZmlnKSB8fCBoYXModGhpcy5tZXRhZGF0YSlCCQoHX2NvbmZpZ0ILCglfbWV0YWRhdGFCFAoSX292ZXJyaWRlX2JpbmRpbmdzIlYKGFBvc3RWZXJ0ZXhDb25maWdSZXNwb25zZRI6CghtZXRhZGF0YRgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YSrBAQoKVmVydGV4VHlwZRIbChdWRVJURVhfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVZFUlRFWF9UWVBFX1NUQVJUEAESFgoSVkVSVEVYX1RZUEVfUExVR0lOEAISFgoSVkVSVEVYX1RZUEVfT1VUUFVUEAMSGAoUVkVSVEVYX1RZUEVfREVMRUdBVEUQBBIXChNWRVJURVhfVFlQRV9CQVJSSUVSEAUSHAoYVkVSVEVYX1RZUEVfRVhDSEFOR0VfT1VUEAYy2QgKE0NvbmZpZ3VyYXRvclNlcnZpY2USpgEKD0dldFZlcnRleENvbmZpZxJILm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEoMBChBQb3N0VmVydGV4Q29uZmlnEjYubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUG9zdFZlcnRleENvbmZpZ1JlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Qb3N0VmVydGV4Q29uZmlnUmVzcG9uc2USlwEKCldyaXRlU3RvcmUSQy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QaRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEqYBCg9CYXRjaFdyaXRlU3RvcmUSSC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBpJLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZRKjAQoOQmF0Y2hSZWFkU3RvcmUSRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2USmgEKC1NlbGVjdFN0b3JlEkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBpFLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlEowBChNMaXN0SW5jb21pbmdTaWduYWxzEjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1JlcXVlc3QaOi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0SW5jb21pbmdTaWduYWxzUmVzcG9uc2ViBnByb3RvMw",[u,mn.file_google_protobuf_field_mask,K,H,w,j,S]),at=(0,R.messageDesc)(J,0),ot=(0,R.messageDesc)(J,1),fe=(0,R.messageDesc)(J,2),ct=(0,R.messageDesc)(J,3),gt=(0,R.messageDesc)(J,4),it=(0,R.messageDesc)(J,5),lt=(0,R.messageDesc)(J,6),dt=(0,R.messageDesc)(J,7),rt=(0,R.messageDesc)(J,8),mt=(0,R.messageDesc)(J,9),pt=(0,R.messageDesc)(J,10),ut=(0,R.messageDesc)(J,11),Gt=(0,R.messageDesc)(J,12),bt=(0,R.messageDesc)(J,13),ht=(0,R.messageDesc)(J,14),pn=(b=>(b[b.UNSPECIFIED=0]="UNSPECIFIED",b[b.START=1]="START",b[b.PLUGIN=2]="PLUGIN",b[b.OUTPUT=3]="OUTPUT",b[b.DELEGATE=4]="DELEGATE",b[b.BARRIER=5]="BARRIER",b[b.EXCHANGE_OUT=6]="EXCHANGE_OUT",b))(pn||{}),Zt=(0,R.enumDesc)(J,0),He=(0,R.serviceDesc)(J,0);var Z=require("@bufbuild/protobuf/codegenv2");var An=require("@bufbuild/protobuf/wkt");var l=require("@bufbuild/protobuf/codegenv2");var ze=require("@bufbuild/protobuf/codegenv2");var ve=require("@bufbuild/protobuf/codegenv2"),un=(0,ve.fileDesc)("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");var Gn=require("@bufbuild/protobuf/wkt"),bn=(0,ze.fileDesc)("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[un,Gn.file_google_protobuf_descriptor]);var ee=require("@bufbuild/protobuf/codegenv2");var Ne=require("@bufbuild/protobuf/codegenv2"),hn=(0,Ne.fileDesc)("Ch1nb29nbGUvYXBpL2xhdW5jaF9zdGFnZS5wcm90bxIKZ29vZ2xlLmFwaSqMAQoLTGF1bmNoU3RhZ2USHAoYTEFVTkNIX1NUQUdFX1VOU1BFQ0lGSUVEEAASEQoNVU5JTVBMRU1FTlRFRBAGEg0KCVBSRUxBVU5DSBAHEhAKDEVBUkxZX0FDQ0VTUxABEgkKBUFMUEhBEAISCAoEQkVUQRADEgYKAkdBEAQSDgoKREVQUkVDQVRFRBAFQloKDmNvbS5nb29nbGUuYXBpQhBMYXVuY2hTdGFnZVByb3RvUAFaLWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpO2FwaaICBEdBUEliBnByb3RvMw");var Ie=require("@bufbuild/protobuf/wkt"),Zn=(0,ee.fileDesc)("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw",[hn,Ie.file_google_protobuf_descriptor,Ie.file_google_protobuf_duration]);var In=require("@bufbuild/protobuf/wkt");var d=(0,l.fileDesc)("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvYXV0b21hdGlvbnMvdjEvYXV0b21hdGlvbnMucHJvdG8SIW1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MSIwChZDcmVhdGVDaGFsbGVuZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIqIBChdDcmVhdGVDaGFsbGVuZ2VSZXNwb25zZRINCgVjb3VudBgBIAEoDRIMCgRzaXplGAIgASgNEhIKCmRpZmZpY3VsdHkYAyABKA0SKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdG9rZW4YBSABKAkSGgoSdmVyaWZpY2F0aW9uX3Rva2VuGAYgASgJIngKFlJlZGVlbUNoYWxsZW5nZVJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSJgoSdmVyaWZpY2F0aW9uX3Rva2VuGAIgASgJQgq6SAdyBRABGNAPEh4KCXNvbHV0aW9ucxgDIAMoA0ILukgIkgEFCAEQ6AciVQoXUmVkZWVtQ2hhbGxlbmdlUmVzcG9uc2USDQoFdG9rZW4YASABKAkSKwoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwoVSW5oZXJpdFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDImUKFkluaGVyaXRTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyKvAQoRUmVhZE91dHB1dFJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEikKBnZlcnRleBgDIAEoCUIUukgRcg8yDV5bMC05YS16XXs0fSRIAIgBARIhCgpuZXdlcl90aGFuGAQgASgJQgi6SAVyA7ABAUgBiAEBQgkKB192ZXJ0ZXhCDQoLX25ld2VyX3RoYW4iywEKElJlYWRPdXRwdXRSZXNwb25zZRI7CgdzZXNzaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb24SOgoHb3V0cHV0cxgCIAMoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQSJwoQbmV4dF9wYWdlX2N1cnNvchgDIAEoCUIIukgFcgOwAQFIAIgBAUITChFfbmV4dF9wYWdlX2N1cnNvciJ3Cg9SZWFkVXJsc1JlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEiEKCm5ld2VyX3RoYW4YAyABKAlCCLpIBXIDsAEBSACIAQFCDQoLX25ld2VyX3RoYW4iwwEKEFJlYWRVcmxzUmVzcG9uc2USOwoHc2Vzc2lvbhgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uEjQKBHVybHMYAiADKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsEicKEG5leHRfcGFnZV9jdXJzb3IYAyABKAlCCLpIBXIDsAEBSACIAQFCEwoRX25leHRfcGFnZV9jdXJzb3IikQMKE1N0YXJ0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSOwoLdHJhbnNtaXR0ZXIYAiABKAlCIbpIHnIcEAEYZDIWXlthLXpBLVowLTlfLV17MSwxMDB9JEgAiAEBEoABCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QuU2lnbmFsc0VudHJ5Qiq6SCeaASQiInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQSKAoPY2hhbGxlbmdlX3Rva2VuGAQgASgJQgq6SAdyBRABGPQDSAGIAQEaVAoMU2lnbmFsc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhOgI4AUIOCgxfdHJhbnNtaXR0ZXJCEgoQX2NoYWxsZW5nZV90b2tlbiJjChRTdGFydFNlc3Npb25SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIlIKElN0b3BTZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIbCgRmb3JrGAIgASgJQgi6SAVyAxjoB0gAiAEBQgcKBV9mb3JrIhUKE1N0b3BTZXNzaW9uUmVzcG9uc2UiKwoRR2V0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiWQoSR2V0U2Vzc2lvblJlc3BvbnNlEkMKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkIGukgDyAEBIukBCgZPdXRwdXQSDgoGdmVydGV4GAEgASgJEgwKBGZvcmsYAiABKAkSQQoEZGF0YRgDIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQuRGF0YUVudHJ5EisKB2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGlEKCURhdGFFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEiCwoJVXJsUmV0YWluIjwKCFVybENsb3NlEhwKD3RpbWVvdXRfc2Vjb25kcxgBIAEoBUgAiAEBQhIKEF90aW1lb3V0X3NlY29uZHMiDAoKVXJsUmVjeWNsZSLvAgoDVXJsEgsKA3VybBgBIAEoCRIMCgRmb3JrGAIgASgJEg4KBnZlcnRleBgDIAEoCRIMCgRkb25lGAQgASgIEisKB2NyZWF0ZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRva2VuGAYgASgJEg8KB3N0b3BwZWQYByABKAgSDgoGc291cmNlGAggASgJEj4KBnJldGFpbhgJIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5VcmxSZXRhaW5IABI8CgVjbG9zZRgKIAEoCzIrLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5VcmxDbG9zZUgAEkAKB3JlY3ljbGUYCyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsUmVjeWNsZUgAQhIKEHJldGVudGlvbl9wb2xpY3kiUgoHU2Vzc2lvbhIMCgRmb3JrGAEgASgJEjkKBnN0YXR1cxgCIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdGF0dXMiLgoUU3RyZWFtU2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiSQoRQWNrTWVzc2FnZVJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSHAoKbWVzc2FnZV9pZBgCIAEoCUIIukgFcgOwAQEiFAoSQWNrTWVzc2FnZVJlc3BvbnNlIhIKEFJlY29ubmVjdE1lc3NhZ2Ui6wEKFVN0cmVhbVNlc3Npb25SZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESOwoGb3V0cHV0GAIgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLk91dHB1dEgAEjUKA3VybBgDIAEoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5VcmxIABI9CgdzZXNzaW9uGAQgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb25IAEIJCgdtZXNzYWdlIowDChFSdW5TZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxI7Cgt0cmFuc21pdHRlchgCIAEoCUIhukgechwQARhkMhZeW2EtekEtWjAtOV8tXXsxLDEwMH0kSACIAQESfgoHc2lnbmFscxgDIAMoCzJBLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVxdWVzdC5TaWduYWxzRW50cnlCKrpIJ5oBJCIiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIoCg9jaGFsbGVuZ2VfdG9rZW4YBCABKAlCCrpIB3IFEAEY9ANIAYgBARpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQg4KDF90cmFuc21pdHRlckISChBfY2hhbGxlbmdlX3Rva2VuIrECChJSdW5TZXNzaW9uUmVzcG9uc2USFAoCaWQYASABKAlCCLpIBXIDsAEBEkcKB3N0YXJ0ZWQYAiABKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UiYAoRUnVuU2Vzc2lvblN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyIrChFSdW5Jbmhlcml0UmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AyKzAgoSUnVuSW5oZXJpdFJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARJJCglpbmhlcml0ZWQYAiABKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UiYAoRUnVuSW5oZXJpdFN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyItChNXYXRjaFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIrQCChRXYXRjaFNlc3Npb25SZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESOwoGb3V0cHV0GAIgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLk91dHB1dEgAEjUKA3VybBgDIAEoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5VcmxIABI9CgdzZXNzaW9uGAQgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb25IABJICglyZWNvbm5lY3QYBSABKAsyMy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUmVjb25uZWN0TWVzc2FnZUgAQgkKB21lc3NhZ2UiiAMKD1dhdGNoUnVuUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxI7Cgt0cmFuc21pdHRlchgCIAEoCUIhukgechwQARhkMhZeW2EtekEtWjAtOV8tXXsxLDEwMH0kSACIAQESfAoHc2lnbmFscxgDIAMoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5XYXRjaFJ1blJlcXVlc3QuU2lnbmFsc0VudHJ5Qiq6SCeaASQiInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQSKAoPY2hhbGxlbmdlX3Rva2VuGAQgASgJQgq6SAdyBRABGPQDSAGIAQEaVAoMU2lnbmFsc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhOgI4AUIOCgxfdHJhbnNtaXR0ZXJCEgoQX2NoYWxsZW5nZV90b2tlbiL3AgoQV2F0Y2hSdW5SZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESRQoHc3RhcnRlZBgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5XYXRjaFJ1blN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAEkgKCXJlY29ubmVjdBgGIAEoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWNvbm5lY3RNZXNzYWdlSABCCQoHbWVzc2FnZSJeCg9XYXRjaFJ1blN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyItChNXYXRjaEluaGVyaXRSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIoEDChRXYXRjaEluaGVyaXRSZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESSwoJaW5oZXJpdGVkGAIgASgLMjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLldhdGNoSW5oZXJpdFN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAEkgKCXJlY29ubmVjdBgGIAEoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWNvbm5lY3RNZXNzYWdlSABCCQoHbWVzc2FnZSJiChNXYXRjaEluaGVyaXRTdGFydGVkEg0KBXRva2VuGAEgASgJEjAKB2V4cGlyZXMYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCgoIX2V4cGlyZXMqyAEKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABISCg5TVEFUVVNfUlVOTklORxABEhIKDlNUQVRVU19TVE9QUEVEEAISEwoPU1RBVFVTX1NUT1BQSU5HEAMSFAoQU1RBVFVTX0NPTVBMRVRFRBAEEhIKDlNUQVRVU19FWFBJUkVEEAUSEgoOU1RBVFVTX0VSUk9SRUQQBhIVChFTVEFUVVNfREVMRUdBVElORxAHEhQKEFNUQVRVU19ERUxFR0FURUQQCDLJFQoRQXV0b21hdGlvblNlcnZpY2USswEKD0NyZWF0ZUNoYWxsZW5nZRI5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5DcmVhdGVDaGFsbGVuZ2VSZXF1ZXN0GjoubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkNyZWF0ZUNoYWxsZW5nZVJlc3BvbnNlIimC0+STAiM6ASoiHi92MS9hdXRvbWF0aW9ucy97aWR9L2NoYWxsZW5nZRK6AQoPUmVkZWVtQ2hhbGxlbmdlEjkubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlZGVlbUNoYWxsZW5nZVJlcXVlc3QaOi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUmVkZWVtQ2hhbGxlbmdlUmVzcG9uc2UiMILT5JMCKjoBKiIlL3YxL2F1dG9tYXRpb25zL3tpZH0vY2hhbGxlbmdlL3JlZGVlbRKuAQoMU3RhcnRTZXNzaW9uEjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhcnRTZXNzaW9uUmVzcG9uc2UiLYLT5JMCJzoBKiIiL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9zdGFydBKiAQoLU3RvcFNlc3Npb24SNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RvcFNlc3Npb25SZXF1ZXN0GjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0b3BTZXNzaW9uUmVzcG9uc2UiJILT5JMCHiocL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbhK2AQoOSW5oZXJpdFNlc3Npb24SOC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuSW5oZXJpdFNlc3Npb25SZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkluaGVyaXRTZXNzaW9uUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9pbmhlcml0Ep8BCgpHZXRTZXNzaW9uEjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkdldFNlc3Npb25SZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkdldFNlc3Npb25SZXNwb25zZSIkgtPkkwIeEhwvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uEqYBCgpSZWFkT3V0cHV0EjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRPdXRwdXRSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRPdXRwdXRSZXNwb25zZSIrgtPkkwIlEiMvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL291dHB1dBKeAQoIUmVhZFVybHMSMi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUmVhZFVybHNSZXF1ZXN0GjMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRVcmxzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi91cmxzErEBCg1TdHJlYW1TZXNzaW9uEjcubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0cmVhbVNlc3Npb25SZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0cmVhbVNlc3Npb25SZXNwb25zZSIrgtPkkwIlEiMvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL3N0cmVhbTABEqYBCgpBY2tNZXNzYWdlEjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkFja01lc3NhZ2VSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkFja01lc3NhZ2VSZXNwb25zZSIrgtPkkwIlOgEqIiAvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL2FjaxKoAQoKUnVuU2Vzc2lvbhI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9ydW4wARKwAQoKUnVuSW5oZXJpdBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0UmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9ydW4taW5oZXJpdDABEqgBCgxXYXRjaFNlc3Npb24SNi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuV2F0Y2hTZXNzaW9uUmVxdWVzdBo3Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5XYXRjaFNlc3Npb25SZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvYXV0b21hdGlvbnMve2lkfS93YXRjaDABEqABCghXYXRjaFJ1bhIyLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5XYXRjaFJ1blJlcXVlc3QaMy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuV2F0Y2hSdW5SZXNwb25zZSIpgtPkkwIjOgEqIh4vdjEvYXV0b21hdGlvbnMve2lkfS93YXRjaC1ydW4wARKwAQoMV2F0Y2hJbmhlcml0EjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLldhdGNoSW5oZXJpdFJlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuV2F0Y2hJbmhlcml0UmVzcG9uc2UiLYLT5JMCJzoBKiIiL3YxL2F1dG9tYXRpb25zL3tpZH0vd2F0Y2gtaW5oZXJpdDABGokBykEWYWRhcHQubW9jaGFidWdhcGlzLmNvbdJBbWh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC5hdXRvbWF0aW9ucyxodHRwczovL3d3dy5tb2NoYWJ1Z2FwaXMuY29tL2F1dGgvYWRhcHQuYXV0b21hdGlvbnMuc3RhcnRiBnByb3RvMw",[u,bn,Zn,In.file_google_protobuf_timestamp,f]),It=(0,l.messageDesc)(d,0),yt=(0,l.messageDesc)(d,1),At=(0,l.messageDesc)(d,2),Rt=(0,l.messageDesc)(d,3),St=(0,l.messageDesc)(d,4),Xt=(0,l.messageDesc)(d,5),Vt=(0,l.messageDesc)(d,6),Wt=(0,l.messageDesc)(d,7),Jt=(0,l.messageDesc)(d,8),Ct=(0,l.messageDesc)(d,9),Bt=(0,l.messageDesc)(d,10),Yt=(0,l.messageDesc)(d,11),Ft=(0,l.messageDesc)(d,12),xt=(0,l.messageDesc)(d,13),Et=(0,l.messageDesc)(d,14),Mt=(0,l.messageDesc)(d,15),ft=(0,l.messageDesc)(d,16),Ht=(0,l.messageDesc)(d,17),vt=(0,l.messageDesc)(d,18),zt=(0,l.messageDesc)(d,19),Nt=(0,l.messageDesc)(d,20),Lt=(0,l.messageDesc)(d,21),Kt=(0,l.messageDesc)(d,22),Qt=(0,l.messageDesc)(d,23),kt=(0,l.messageDesc)(d,24),Ut=(0,l.messageDesc)(d,25),wt=(0,l.messageDesc)(d,26),Dt=(0,l.messageDesc)(d,27),Tt=(0,l.messageDesc)(d,28),jt=(0,l.messageDesc)(d,29),Pt=(0,l.messageDesc)(d,30),Ot=(0,l.messageDesc)(d,31),_t=(0,l.messageDesc)(d,32),qt=(0,l.messageDesc)(d,33),$t=(0,l.messageDesc)(d,34),es=(0,l.messageDesc)(d,35),ns=(0,l.messageDesc)(d,36),ts=(0,l.messageDesc)(d,37),ss=(0,l.messageDesc)(d,38),as=(0,l.messageDesc)(d,39),os=(0,l.messageDesc)(d,40),yn=(i=>(i[i.UNSPECIFIED=0]="UNSPECIFIED",i[i.RUNNING=1]="RUNNING",i[i.STOPPED=2]="STOPPED",i[i.STOPPING=3]="STOPPING",i[i.COMPLETED=4]="COMPLETED",i[i.EXPIRED=5]="EXPIRED",i[i.ERRORED=6]="ERRORED",i[i.DELEGATING=7]="DELEGATING",i[i.DELEGATED=8]="DELEGATED",i))(yn||{}),cs=(0,l.enumDesc)(d,0),gs=(0,l.serviceDesc)(d,0);var I=(0,Z.fileDesc)("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9leGVjdXRvcl9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MSK+AQolRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAi7gEKJkV4ZWN1dG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlc3BvbnNlEmUKCG1ldGFkYXRhGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIrYBCiBFeGVjdXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAidQohRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKPAQokRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIt4BCiVFeGVjdXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEl4KBWl0ZW1zGAEgAygLMk8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIq4BCiFFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QSQgoJb3BlcmF0aW9uGAEgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VsZWN0T3BCBrpIA8gBARJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIoACCiJFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlElsKBWl0ZW1zGAEgAygLMkwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5EhcKCm5leHRfdG9rZW4YAiABKAlIAIgBARpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4AUINCgtfbmV4dF90b2tlbiI2Ch5DYW5jZWxFeGNoYW5nZU9wZXJhdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDGOgHIiEKH0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2UiMwobR2V0RXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyAxjoByJeChxHZXRFeGNoYW5nZU9wZXJhdGlvblJlc3BvbnNlEj4KBGl0ZW0YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbiL3AgoXRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI8CghyZWNlaXZlchgCIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEoUBCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQgsKCV9yZWNlaXZlciJfChhEaXNwYXRjaEV4Y2hhbmdlUmVzcG9uc2USQwoJb3BlcmF0aW9uGAEgASgLMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VPcGVyYXRpb24irQIKC1NlbmRSZXF1ZXN0Ej0KC3RyYW5zbWl0dGVyGAEgASgJQiO6SCByHhhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEnkKB3NpZ25hbHMYAiADKAsyNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKQgAEDIiI3IhEAEYgAQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIg4KDFNlbmRSZXNwb25zZSJhChxCYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXF1ZXN0EkEKBW5hbWVzGAEgAygJQjK6SC+SASwIARD0AxgBIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCLdAQodQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVzcG9uc2USVgoFaXRlbXMYASADKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXNwb25zZS5JdGVtc0VudHJ5EhAKCHJlY2VpdmVyGAIgASgJGlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBIqgBChhMaXN0QWN0aXZlU2lnbmFsc1JlcXVlc3QSIAoJcGFnZV9zaXplGAEgASgFQgi6SAUaAxj0A0gAiAEBEh0KBmN1cnNvchgCIAEoCUIIukgFcgMY9ANIAYgBARIdChBvcmRlcl9kZXNjZW5kaW5nGAMgASgISAKIAQFCDAoKX3BhZ2Vfc2l6ZUIJCgdfY3Vyc29yQhMKEV9vcmRlcl9kZXNjZW5kaW5nIoUCChlMaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlElYKB3NpZ25hbHMYASADKAsyRS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlLlNpZ25hbHNFbnRyeRIQCghyZWNlaXZlchgCIAEoCRIYCgtuZXh0X2N1cnNvchgDIAEoCUgAiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX25leHRfY3Vyc29yImsKJUV4ZWN1dG9yU2VydmljZUdldFZlcnRleENvbmZpZ1JlcXVlc3QSMwoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAIgBAUINCgtfZmllbGRfbWFzayKrAgomRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2USDgoGY29uZmlnGAEgASgMEjoKCG1ldGFkYXRhGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhEnoKE2NvbmZpZ3VyZWRfc2VydmljZXMYAyADKAsyXS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImgKEUV4Y2hhbmdlT3BlcmF0aW9uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSOQoGc3RhdHVzGAMgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXR1czLKDAoPRXhlY3V0b3JTZXJ2aWNlEp4BCg9HZXRWZXJ0ZXhDb25maWcSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UShgEKEUxpc3RBY3RpdmVTaWduYWxzEjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRKSAQoVQmF0Y2hHZXRBY3RpdmVTaWduYWxzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlEl8KBFNlbmQSKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdBorLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbmRSZXNwb25zZRKDAQoQRGlzcGF0Y2hFeGNoYW5nZRI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRpc3BhdGNoRXhjaGFuZ2VSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlc3BvbnNlEo8BChRHZXRFeGNoYW5nZU9wZXJhdGlvbhI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2USmAEKF0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXNwb25zZRKPAQoKV3JpdGVTdG9yZRI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkV4ZWN1dG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEp4BCg9CYXRjaFdyaXRlU3RvcmUSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USmwEKDkJhdGNoUmVhZFN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZRKSAQoLU2VsZWN0U3RvcmUSQC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaQS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlYgZwcm90bzM",[u,An.file_google_protobuf_field_mask,d,f,j,S]),is=(0,Z.messageDesc)(I,0),ls=(0,Z.messageDesc)(I,1),ds=(0,Z.messageDesc)(I,2),rs=(0,Z.messageDesc)(I,3),ms=(0,Z.messageDesc)(I,4),ps=(0,Z.messageDesc)(I,5),us=(0,Z.messageDesc)(I,6),Gs=(0,Z.messageDesc)(I,7),bs=(0,Z.messageDesc)(I,8),hs=(0,Z.messageDesc)(I,9),Zs=(0,Z.messageDesc)(I,10),Is=(0,Z.messageDesc)(I,11),ys=(0,Z.messageDesc)(I,12),As=(0,Z.messageDesc)(I,13),Rs=(0,Z.messageDesc)(I,14),Ss=(0,Z.messageDesc)(I,15),Xs=(0,Z.messageDesc)(I,16),Vs=(0,Z.messageDesc)(I,17),Ws=(0,Z.messageDesc)(I,18),Js=(0,Z.messageDesc)(I,19),Cs=(0,Z.messageDesc)(I,20),Bs=(0,Z.messageDesc)(I,21),Ys=(0,Z.messageDesc)(I,22),ye=(0,Z.serviceDesc)(I,0);var o=require("@bufbuild/protobuf/codegenv2");var g=(0,o.fileDesc)("CjVtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9maWxlZm9yZ2Vfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi+wEKFVJlbmRlckRvY3VtZW50UmVxdWVzdBI/CgtodG1sX3RvX3BkZhgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxUb1BkZkgAEkcKD21hcmtkb3duX3RvX3BkZhgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hcmtkb3duVG9QZGZIABJDCg1vZmZpY2VfdG9fcGRmGAMgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuT2ZmaWNlVG9QZGZIAEITCgpjb252ZXJzaW9uEgW6SAIIASJOChZSZW5kZXJEb2N1bWVudFJlc3BvbnNlEjQKBm91dHB1dBgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhIvoCCglIdG1sVG9QZGYSIAoKaW5kZXhfaHRtbBgBIAEoCUIMukgJcgcQARiAgIAFEiMKC2hlYWRlcl9odG1sGAIgASgJQgm6SAZyBBiAgEBIAIgBARIjCgtmb290ZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASAGIAQESPgoGYXNzZXRzGAQgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCCLpIBZIBAhBkEkUKBnJlbmRlchgKIAEoCzIwLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxSZW5kZXJPcHRpb25zSAKIAQESRAoGb3V0cHV0GAsgASgLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmT3V0cHV0T3B0aW9uc0gDiAEBQg4KDF9oZWFkZXJfaHRtbEIOCgxfZm9vdGVyX2h0bWxCCQoHX3JlbmRlckIJCgdfb3V0cHV0IskDCg1NYXJrZG93blRvUGRmEiEKDHdyYXBwZXJfaHRtbBgBIAEoCUILukgIcgYQARiAgEASSAoObWFya2Rvd25fZmlsZXMYAiADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAEQMhIjCgtoZWFkZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASACIAQESIwoLZm9vdGVyX2h0bWwYBCABKAlCCbpIBnIEGICAQEgBiAEBEj4KBmFzc2V0cxgFIAMoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQgi6SAWSAQIQZBJFCgZyZW5kZXIYCiABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5IdG1sUmVuZGVyT3B0aW9uc0gCiAEBEkQKBm91dHB1dBgLIAEoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk91dHB1dE9wdGlvbnNIA4gBAUIOCgxfaGVhZGVyX2h0bWxCDgoMX2Zvb3Rlcl9odG1sQgkKB19yZW5kZXJCCQoHX291dHB1dCKPBwoLT2ZmaWNlVG9QZGYS2gUKCGRvY3VtZW50GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCoQW6SJ0FugGWBQoYdmFsaWRfZG9jdW1lbnRfZXh0ZW5zaW9uEi1kb2N1bWVudCBtdXN0IGhhdmUgYSBzdXBwb3J0ZWQgZmlsZSBleHRlbnNpb24aygR0aGlzLmZpbGVuYW1lLm1hdGNoZXMoJyg/aSlcXC4oMTIzfDYwMnxhYnd8YmlifGJtcHxjZHJ8Y2dtfGNteHxjc3Z8Y3drfGRiZnxkaWZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4fGR4ZnxlbWZ8ZXBzfGVwdWJ8Zm9kZ3xmb2RwfGZvZHN8Zm9kdHxmb3BkfGdpZnxodG18aHRtbHxod3B8anBlZ3xqcGd8a2V5fGx0eHxsd3B8bWN3fG1ldHxtbWx8bXd8bnVtYmVyc3xvZGR8b2RnfG9kbXxvZHB8b2RzfG9kdHxvdGd8b3RofG90cHxvdHN8b3R0fHBhZ2VzfHBibXxwY2R8cGN0fHBjeHxwZGJ8cGRmfHBnbXxwbmd8cG90fHBvdG18cG90eHxwcG18cHBzfHBwdHxwcHRtfHBwdHh8cHNkfHBzd3xwdWJ8cHdwfHB4bHxyYXN8cnRmfHNkYXxzZGN8c2RkfHNkcHxzZHd8c2dsfHNsa3xzbWZ8c3RjfHN0ZHxzdGl8c3R3fHN2Z3xzdm18c3dmfHN4Y3xzeGR8c3hnfHN4aXxzeG18c3h3fHRnYXx0aWZ8dGlmZnx0eHR8dW9mfHVvcHx1b3N8dW90fHZkeHx2b3J8dnNkfHZzZG18dnNkeHx3YjJ8d2sxfHdrc3x3bWZ8d3BkfHdwZ3x3cHN8eGJtfHhodG1sfHhsc3x4bHNifHhsc218eGxzeHx4bHR8eGx0bXx4bHR4fHhsd3x4bWx8eHBtfHphYncpJCcpyAEBEkcKBnJlbmRlchgKIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk9mZmljZVJlbmRlck9wdGlvbnNIAIgBARJECgZvdXRwdXQYCyABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZPdXRwdXRPcHRpb25zSAGIAQFCCQoHX3JlbmRlckIJCgdfb3V0cHV0IqQMChFIdG1sUmVuZGVyT3B0aW9ucxIdChBwcmludF9iYWNrZ3JvdW5kGAEgASgISACIAQESHAoPb21pdF9iYWNrZ3JvdW5kGAIgASgISAGIAQESIQoUcHJlZmVyX2Nzc19wYWdlX3NpemUYAyABKAhIAogBARJSChNlbXVsYXRlZF9tZWRpYV90eXBlGAQgASgOMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRW11bGF0ZWRNZWRpYVR5cGVIA4gBARIkCgtwYXBlcl93aWR0aBgFIAEoAkIKukgHCgUlAAAAAEgEiAEBEiUKDHBhcGVyX2hlaWdodBgGIAEoAkIKukgHCgUlAAAAAEgFiAEBEiMKCm1hcmdpbl90b3AYByABKAJCCrpIBwoFLQAAAABIBogBARIlCgxtYXJnaW5fcmlnaHQYCCABKAJCCrpIBwoFLQAAAABIB4gBARImCg1tYXJnaW5fYm90dG9tGAkgASgCQgq6SAcKBS0AAAAASAiIAQESJAoLbWFyZ2luX2xlZnQYCiABKAJCCrpIBwoFLQAAAABICYgBARIWCglsYW5kc2NhcGUYCyABKAhICogBARIjCgVzY2FsZRgMIAEoAkIPukgMCgodAAAAQC3NzMw9SAuIAQESRwoLcGFnZV9yYW5nZXMYDSABKAlCLbpIKnIoMiZeWzAtOV0rKC1bMC05XSspPygsWzAtOV0rKC1bMC05XSspPykqJEgMiAEBEhgKC3NpbmdsZV9wYWdlGA4gASgISA2IAQESIAoTZ2VuZXJhdGVfdGFnZ2VkX3BkZhgPIAEoCEgOiAEBOqQFukigBRraAQoXbWFyZ2luc19maXRfcGFwZXJfd2lkdGgSMmxlZnQgKyByaWdodCBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIHdpZHRoGooBKCFoYXModGhpcy5wYXBlcl93aWR0aCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9sZWZ0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3JpZ2h0KSkgfHwgKHRoaXMubWFyZ2luX2xlZnQgKyB0aGlzLm1hcmdpbl9yaWdodCA8IHRoaXMucGFwZXJfd2lkdGgpGt4BChhtYXJnaW5zX2ZpdF9wYXBlcl9oZWlnaHQSM3RvcCArIGJvdHRvbSBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIGhlaWdodBqMASghaGFzKHRoaXMucGFwZXJfaGVpZ2h0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3RvcCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9ib3R0b20pKSB8fCAodGhpcy5tYXJnaW5fdG9wICsgdGhpcy5tYXJnaW5fYm90dG9tIDwgdGhpcy5wYXBlcl9oZWlnaHQpGt8BCilvbWl0X2JhY2tncm91bmRfcmVxdWlyZXNfcHJpbnRfYmFja2dyb3VuZBI0b21pdF9iYWNrZ3JvdW5kIHJlcXVpcmVzIHByaW50X2JhY2tncm91bmQgdG8gYmUgdHJ1ZRp8IWhhcyh0aGlzLm9taXRfYmFja2dyb3VuZCkgfHwgdGhpcy5vbWl0X2JhY2tncm91bmQgPT0gZmFsc2UgfHwgKGhhcyh0aGlzLnByaW50X2JhY2tncm91bmQpICYmIHRoaXMucHJpbnRfYmFja2dyb3VuZCA9PSB0cnVlKUITChFfcHJpbnRfYmFja2dyb3VuZEISChBfb21pdF9iYWNrZ3JvdW5kQhcKFV9wcmVmZXJfY3NzX3BhZ2Vfc2l6ZUIWChRfZW11bGF0ZWRfbWVkaWFfdHlwZUIOCgxfcGFwZXJfd2lkdGhCDwoNX3BhcGVyX2hlaWdodEINCgtfbWFyZ2luX3RvcEIPCg1fbWFyZ2luX3JpZ2h0QhAKDl9tYXJnaW5fYm90dG9tQg4KDF9tYXJnaW5fbGVmdEIMCgpfbGFuZHNjYXBlQggKBl9zY2FsZUIOCgxfcGFnZV9yYW5nZXNCDgoMX3NpbmdsZV9wYWdlQhYKFF9nZW5lcmF0ZV90YWdnZWRfcGRmItINChNPZmZpY2VSZW5kZXJPcHRpb25zEh8KCHBhc3N3b3JkGAEgASgJQgi6SAVyAxiAAkgAiAEBEhYKCWxhbmRzY2FwZRgCIAEoCEgBiAEBEkcKC3BhZ2VfcmFuZ2VzGAMgASgJQi26SCpyKDImXlswLTldKygtWzAtOV0rKT8oLFswLTldKygtWzAtOV0rKT8pKiRIAogBARIbCg51cGRhdGVfaW5kZXhlcxgEIAEoCEgDiAEBEh8KEmV4cG9ydF9mb3JtX2ZpZWxkcxgFIAEoCEgEiAEBEigKG2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lcxgGIAEoCEgFiAEBEh0KEGV4cG9ydF9ib29rbWFya3MYByABKAhIBogBARIwCiNleHBvcnRfYm9va21hcmtzX3RvX3BkZl9kZXN0aW5hdGlvbhgIIAEoCEgHiAEBEiAKE2V4cG9ydF9wbGFjZWhvbGRlcnMYCSABKAhICIgBARIZCgxleHBvcnRfbm90ZXMYCiABKAhICYgBARIfChJleHBvcnRfbm90ZXNfcGFnZXMYCyABKAhICogBARIkChdleHBvcnRfb25seV9ub3Rlc19wYWdlcxgMIAEoCEgLiAEBEiMKFmV4cG9ydF9ub3Rlc19pbl9tYXJnaW4YDSABKAhIDIgBARItCiBjb252ZXJ0X29vb190YXJnZXRfdG9fcGRmX3RhcmdldBgOIAEoCEgNiAEBEicKGmV4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzGA8gASgISA6IAQESIQoUZXhwb3J0X2hpZGRlbl9zbGlkZXMYECABKAhID4gBARIdChBza2lwX2VtcHR5X3BhZ2VzGBEgASgISBCIAQESHwoSc2luZ2xlX3BhZ2Vfc2hlZXRzGBIgASgISBGIAQESLAofYWRkX29yaWdpbmFsX2RvY3VtZW50X2FzX3N0cmVhbRgTIAEoCEgSiAEBEicKGmxvc3NsZXNzX2ltYWdlX2NvbXByZXNzaW9uGBQgASgISBOIAQESHwoHcXVhbGl0eRgVIAEoBUIJukgGGgQYZCgBSBSIAQESJAoXcmVkdWNlX2ltYWdlX3Jlc29sdXRpb24YFiABKAhIFYgBARI2ChRtYXhfaW1hZ2VfcmVzb2x1dGlvbhgXIAEoBUITukgQGg4wSzCWATCsAjDYBDCwCUgWiAEBOo8CukiLAhqIAgozZXhwb3J0X29ubHlfbm90ZXNfcGFnZXNfcmVxdWlyZXNfZXhwb3J0X25vdGVzX3BhZ2VzEj5leHBvcnRfb25seV9ub3Rlc19wYWdlcyByZXF1aXJlcyBleHBvcnRfbm90ZXNfcGFnZXMgdG8gYmUgdHJ1ZRqQASFoYXModGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcykgfHwgdGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcyA9PSBmYWxzZSB8fCAoaGFzKHRoaXMuZXhwb3J0X25vdGVzX3BhZ2VzKSAmJiB0aGlzLmV4cG9ydF9ub3Rlc19wYWdlcyA9PSB0cnVlKUILCglfcGFzc3dvcmRCDAoKX2xhbmRzY2FwZUIOCgxfcGFnZV9yYW5nZXNCEQoPX3VwZGF0ZV9pbmRleGVzQhUKE19leHBvcnRfZm9ybV9maWVsZHNCHgocX2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lc0ITChFfZXhwb3J0X2Jvb2ttYXJrc0ImCiRfZXhwb3J0X2Jvb2ttYXJrc190b19wZGZfZGVzdGluYXRpb25CFgoUX2V4cG9ydF9wbGFjZWhvbGRlcnNCDwoNX2V4cG9ydF9ub3Rlc0IVChNfZXhwb3J0X25vdGVzX3BhZ2VzQhoKGF9leHBvcnRfb25seV9ub3Rlc19wYWdlc0IZChdfZXhwb3J0X25vdGVzX2luX21hcmdpbkIjCiFfY29udmVydF9vb29fdGFyZ2V0X3RvX3BkZl90YXJnZXRCHQobX2V4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzQhcKFV9leHBvcnRfaGlkZGVuX3NsaWRlc0ITChFfc2tpcF9lbXB0eV9wYWdlc0IVChNfc2luZ2xlX3BhZ2Vfc2hlZXRzQiIKIF9hZGRfb3JpZ2luYWxfZG9jdW1lbnRfYXNfc3RyZWFtQh0KG19sb3NzbGVzc19pbWFnZV9jb21wcmVzc2lvbkIKCghfcXVhbGl0eUIaChhfcmVkdWNlX2ltYWdlX3Jlc29sdXRpb25CFwoVX21heF9pbWFnZV9yZXNvbHV0aW9uIuUDChBQZGZPdXRwdXRPcHRpb25zEjwKBHBkZmEYASABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SACIAQESEgoFcGRmdWEYAiABKAhIAYgBARIUCgdmbGF0dGVuGAMgASgISAKIAQESJAoNdXNlcl9wYXNzd29yZBgEIAEoCUIIukgFcgMYgAFIA4gBARIlCg5vd25lcl9wYXNzd29yZBgFIAEoCUIIukgFcgMYgAFIBIgBATrXAbpI0wEa0AEKIXBkZmFfaW5jb21wYXRpYmxlX3dpdGhfZW5jcnlwdGlvbhJLUERGL0EgZm9ybWF0IGlzIGluY29tcGF0aWJsZSB3aXRoIGVuY3J5cHRpb24gKHVzZXJfcGFzc3dvcmQvb3duZXJfcGFzc3dvcmQpGl4oIWhhcyh0aGlzLnBkZmEpIHx8IHRoaXMucGRmYSA9PSAwKSB8fCAoIWhhcyh0aGlzLnVzZXJfcGFzc3dvcmQpICYmICFoYXModGhpcy5vd25lcl9wYXNzd29yZCkpQgcKBV9wZGZhQggKBl9wZGZ1YUIKCghfZmxhdHRlbkIQCg5fdXNlcl9wYXNzd29yZEIRCg9fb3duZXJfcGFzc3dvcmQirgkKDkltYWdlT3BlcmF0aW9uEjwKBnJlc2l6ZRgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUmVzaXplSAASOAoEY3JvcBgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlQ3JvcEgAEjwKBnJvdGF0ZRgDIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUm90YXRlSAASOAoEZmxpcBgEIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlRmxpcEgAEjYKA3BhZBgFIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUGFkSAASOAoEdHJpbRgGIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlVHJpbUgAEkQKCnByb3BvcnRpb24YByABKAsyLi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVByb3BvcnRpb25IABI6CgVmb2NhbBgIIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlRm9jYWxIABI8CgZhZGp1c3QYCSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUFkanVzdEgAEjYKA2h1ZRgKIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlSHVlSAASNgoDcmdiGAsgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VSZ2JIABI4CgRibHVyGAwgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VCbHVySAASPgoHc2hhcnBlbhgNIAEoCzIrLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlU2hhcnBlbkgAEkcKDHJvdW5kX2Nvcm5lchgOIAEoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUm91bmRDb3JuZXJIABJCCgl3YXRlcm1hcmsYDyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVdhdGVybWFya0gAEjgKBHRleHQYECABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVRleHRIABJDCgptYXhfZnJhbWVzGBEgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VNYXhGcmFtZXNIABI4CgRwYWdlGBIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQYWdlSAASNgoDZHBpGBMgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VEcGlIAEISCglvcGVyYXRpb24SBbpIAggBIu0BChVUcmFuc2Zvcm1JbWFnZVJlcXVlc3QSOwoFaW5wdXQYASABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIGukgDyAEBEksKCm9wZXJhdGlvbnMYAiADKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZU9wZXJhdGlvbkIIukgFkgECEDISPwoGb3V0cHV0GB4gASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VPdXRwdXRIAIgBAUIJCgdfb3V0cHV0Ik4KFlRyYW5zZm9ybUltYWdlUmVzcG9uc2USNAoGb3V0cHV0GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGEinQMKC0ltYWdlUmVzaXplEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoEdHlwZRgDIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlc2l6ZVR5cGVIAogBARIUCgdlbmxhcmdlGAQgASgISAOIAQESEwoGZXh0ZW5kGAUgASgISASIAQE6rgG6SKoBGqcBChFyZXF1aXJlX2RpbWVuc2lvbhJEYXQgbGVhc3Qgb25lIG9mIHdpZHRoIG9yIGhlaWdodCBtdXN0IGJlIHNwZWNpZmllZCBhbmQgZ3JlYXRlciB0aGFuIDAaTChoYXModGhpcy53aWR0aCkgJiYgdGhpcy53aWR0aCA+IDApIHx8IChoYXModGhpcy5oZWlnaHQpICYmIHRoaXMuaGVpZ2h0ID4gMClCCAoGX3dpZHRoQgkKB19oZWlnaHRCBwoFX3R5cGVCCgoIX2VubGFyZ2VCCQoHX2V4dGVuZCKdAgoJSW1hZ2VDcm9wEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoHZ3Jhdml0eRgDIAEoDjImLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdyYXZpdHlIAogBARIqCghvZmZzZXRfeBgEIAEoBUITukgQGg4YkE4o8LH/////////AUgDiAEBEioKCG9mZnNldF95GAUgASgFQhO6SBAaDhiQTijwsf////////8BSASIAQFCCAoGX3dpZHRoQgkKB19oZWlnaHRCCgoIX2dyYXZpdHlCCwoJX29mZnNldF94QgsKCV9vZmZzZXRfeSJmCgtJbWFnZVJvdGF0ZRIjCgVhbmdsZRgBIAEoBUIPukgMGgowADBaMLQBMI4CSACIAQESGAoLYXV0b19yb3RhdGUYAiABKAhIAYgBAUIICgZfYW5nbGVCDgoMX2F1dG9fcm90YXRlIpICCglJbWFnZUZsaXASFwoKaG9yaXpvbnRhbBgBIAEoCEgAiAEBEhUKCHZlcnRpY2FsGAIgASgISAGIAQE6uAG6SLQBGrEBChZyZXF1aXJlX2ZsaXBfZGlyZWN0aW9uEjNhdCBsZWFzdCBvbmUgb2YgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBtdXN0IGJlIHRydWUaYihoYXModGhpcy5ob3Jpem9udGFsKSAmJiB0aGlzLmhvcml6b250YWwgPT0gdHJ1ZSkgfHwgKGhhcyh0aGlzLnZlcnRpY2FsKSAmJiB0aGlzLnZlcnRpY2FsID09IHRydWUpQg0KC19ob3Jpem9udGFsQgsKCV92ZXJ0aWNhbCKVAwoISW1hZ2VQYWQSGQoDdG9wGAEgASgFQge6SAQaAigASACIAQESGwoFcmlnaHQYAiABKAVCB7pIBBoCKABIAYgBARIcCgZib3R0b20YAyABKAVCB7pIBBoCKABIAogBARIaCgRsZWZ0GAQgASgFQge6SAQaAigASAOIAQE68AG6SOwBGukBCg9yZXF1aXJlX3BhZGRpbmcSP2F0IGxlYXN0IG9uZSBwYWRkaW5nIHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBncmVhdGVyIHRoYW4gMBqUAShoYXModGhpcy50b3ApICYmIHRoaXMudG9wID4gMCkgfHwgKGhhcyh0aGlzLnJpZ2h0KSAmJiB0aGlzLnJpZ2h0ID4gMCkgfHwgKGhhcyh0aGlzLmJvdHRvbSkgJiYgdGhpcy5ib3R0b20gPiAwKSB8fCAoaGFzKHRoaXMubGVmdCkgJiYgdGhpcy5sZWZ0ID4gMClCBgoEX3RvcEIICgZfcmlnaHRCCQoHX2JvdHRvbUIHCgVfbGVmdCLFAQoJSW1hZ2VUcmltEicKCXRocmVzaG9sZBgBIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESKwoFY29sb3IYAiABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQESFgoJZXF1YWxfaG9yGAMgASgISAKIAQESFgoJZXF1YWxfdmVyGAQgASgISAOIAQFCDAoKX3RocmVzaG9sZEIICgZfY29sb3JCDAoKX2VxdWFsX2hvckIMCgpfZXF1YWxfdmVyIs8DCgtJbWFnZUFkanVzdBIsCgpicmlnaHRuZXNzGAEgASgFQhO6SBAaDhj/ASiB/v////////8BSACIAQESJgoIY29udHJhc3QYAiABKAJCD7pIDAoKHQAAIEEtAAAAAEgBiAEBEigKCnNhdHVyYXRpb24YAyABKAJCD7pIDAoKHQAAIEEtAAAAAEgCiAEBEhYKCWdyYXlzY2FsZRgEIAEoCEgDiAEBOu4BukjqARrnAQoScmVxdWlyZV9hZGp1c3RtZW50ElphdCBsZWFzdCBvbmUgYWRqdXN0bWVudCAoYnJpZ2h0bmVzcywgY29udHJhc3QsIHNhdHVyYXRpb24sIG9yIGdyYXlzY2FsZSkgbXVzdCBiZSBzcGVjaWZpZWQadWhhcyh0aGlzLmJyaWdodG5lc3MpIHx8IGhhcyh0aGlzLmNvbnRyYXN0KSB8fCBoYXModGhpcy5zYXR1cmF0aW9uKSB8fCAoaGFzKHRoaXMuZ3JheXNjYWxlKSAmJiB0aGlzLmdyYXlzY2FsZSA9PSB0cnVlKUINCgtfYnJpZ2h0bmVzc0ILCglfY29udHJhc3RCDQoLX3NhdHVyYXRpb25CDAoKX2dyYXlzY2FsZSIrCglJbWFnZUJsdXISHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCgxJbWFnZVNoYXJwZW4SHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCghJbWFnZUh1ZRIiCgVhbmdsZRgBIAEoBUITukgQGg4YtAEozP7/////////ASJnCghJbWFnZVJnYhIdCgFyGAEgASgFQhK6SA8aDRhkKJz//////////wESHQoBZxgCIAEoBUISukgPGg0YZCic//////////8BEh0KAWIYAyABKAVCErpIDxoNGGQonP//////////ASKbAQoKSW1hZ2VGb2NhbBI8CgZyZWdpb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Gb2NhbFJlZ2lvbkgAEjoKBXBvaW50GAIgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRm9jYWxQb2ludEgAQhMKCmZvY2FsX3R5cGUSBbpIAggBIkcKC0ZvY2FsUmVnaW9uEgwKBGxlZnQYASABKAUSCwoDdG9wGAIgASgFEg0KBXJpZ2h0GAMgASgFEg4KBmJvdHRvbRgEIAEoBSIiCgpGb2NhbFBvaW50EgkKAXgYASABKAUSCQoBeRgCIAEoBSJ/ChBJbWFnZVJvdW5kQ29ybmVyEhMKAnJ4GAEgASgFQge6SAQaAiAAEhgKAnJ5GAIgASgFQge6SAQaAiAASACIAQESKwoFY29sb3IYAyABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQFCBQoDX3J5QggKBl9jb2xvciIxCg9JbWFnZVByb3BvcnRpb24SHgoKcGVyY2VudGFnZRgBIAEoBUIKukgHGgUY9AMoASK0BAoJSW1hZ2VUZXh0EhgKBHRleHQYASABKAlCCrpIB3IFEAEY6AcSEgoBeBgCIAEoCUIHukgEcgIQARISCgF5GAMgASgJQge6SARyAhABEhEKBGZvbnQYBCABKAlIAIgBARIrCgVjb2xvchgFIAEoCUIXukgUchIyEF5bMC05YS1mQS1GXXs2fSRIAYgBARIdCgVhbHBoYRgGIAEoBUIJukgGGgQYZCgASAKIAQESRQoKYmxlbmRfbW9kZRgHIAEoDjIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRleHRCbGVuZE1vZGVIA4gBARISCgV3aWR0aBgIIAEoCUgEiAEBEjwKBWFsaWduGAkgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVGV4dEFsaWduSAWIAQESFAoHanVzdGlmeRgKIAEoCEgGiAEBEjoKBHdyYXAYCyABKA4yJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UZXh0V3JhcEgHiAEBEhQKB3NwYWNpbmcYDCABKAVICIgBARIcCgNkcGkYDSABKAVCCrpIBxoFGOASKAFICYgBAUIHCgVfZm9udEIICgZfY29sb3JCCAoGX2FscGhhQg0KC19ibGVuZF9tb2RlQggKBl93aWR0aEIICgZfYWxpZ25CCgoIX2p1c3RpZnlCBwoFX3dyYXBCCgoIX3NwYWNpbmdCBgoEX2RwaSInCg5JbWFnZU1heEZyYW1lcxIVCgFuGAEgASgFQgq6SAcaBRjoBygBIiEKCUltYWdlUGFnZRIUCgNudW0YASABKAVCB7pIBBoCKAEiIwoISW1hZ2VEcGkSFwoDbnVtGAEgASgFQgq6SAcaBRjgEigBIugCCg5JbWFnZVdhdGVybWFyaxI7CgVpbWFnZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESPQoIcG9zaXRpb24YAiABKA4yJi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HcmF2aXR5SACIAQESKgoIb2Zmc2V0X3gYAyABKAVCE7pIEBoOGJBOKPCx/////////wFIAYgBARIqCghvZmZzZXRfeRgEIAEoBUITukgQGg4YkE4o8LH/////////AUgCiAEBEiUKB29wYWNpdHkYBSABKAJCD7pIDAoKHQAAgD8tAAAAAEgDiAEBEh4KBXNjYWxlGAYgASgCQgq6SAcKBSUAAAAASASIAQFCCwoJX3Bvc2l0aW9uQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCCgoIX29wYWNpdHlCCAoGX3NjYWxlIroECgtJbWFnZU91dHB1dBI/CgZmb3JtYXQYASABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvcm1hdEgAiAEBEh8KB3F1YWxpdHkYAiABKAVCCbpIBhoEGGQoAUgBiAEBEhsKDnN0cmlwX21ldGFkYXRhGAMgASgISAKIAQESMAoKYmFja2dyb3VuZBgEIAEoCUIXukgUchIyEF5bMC05YS1mQS1GXXs2fSRIA4gBARIuChBiYWNrZ3JvdW5kX2FscGhhGAUgASgCQg+6SAwKCh0AAIA/LQAAAABIBIgBARInCg9wbmdfY29tcHJlc3Npb24YBiABKAVCCbpIBhoEGAkoAEgFiAEBEhsKDnBuZ19pbnRlcmxhY2VkGAcgASgISAaIAQESHQoQanBlZ19wcm9ncmVzc2l2ZRgIIAEoCEgHiAEBEhoKDXdlYnBfbG9zc2xlc3MYCSABKAhICIgBARIfCgltYXhfYnl0ZXMYCiABKAVCB7pIBBoCIABICYgBAUIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QhEKD19zdHJpcF9tZXRhZGF0YUINCgtfYmFja2dyb3VuZEITChFfYmFja2dyb3VuZF9hbHBoYUISChBfcG5nX2NvbXByZXNzaW9uQhEKD19wbmdfaW50ZXJsYWNlZEITChFfanBlZ19wcm9ncmVzc2l2ZUIQCg5fd2VicF9sb3NzbGVzc0IMCgpfbWF4X2J5dGVzItgCChRNYW5pcHVsYXRlUGRmUmVxdWVzdBI4CgVtZXJnZRgBIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk1lcmdlSAASOAoFc3BsaXQYAiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZTcGxpdEgAEjwKB2VuY3J5cHQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZFbmNyeXB0SAASPAoHY29udmVydBgEIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkNvbnZlcnRIABI8CgdmbGF0dGVuGAUgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmRmxhdHRlbkgAQhIKCW9wZXJhdGlvbhIFukgCCAEiTgoVTWFuaXB1bGF0ZVBkZlJlc3BvbnNlEjUKB291dHB1dHMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YSKeBAoIUGRmTWVyZ2USPwoFZmlsZXMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAIQZBI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQESFAoHZmxhdHRlbhgEIAEoCEgCiAEBEiQKDXVzZXJfcGFzc3dvcmQYBSABKAlCCLpIBXIDGIABSAOIAQESJQoOb3duZXJfcGFzc3dvcmQYBiABKAlCCLpIBXIDGIABSASIAQE61wG6SNMBGtABCiFwZGZhX2luY29tcGF0aWJsZV93aXRoX2VuY3J5cHRpb24SS1BERi9BIGZvcm1hdCBpcyBpbmNvbXBhdGlibGUgd2l0aCBlbmNyeXB0aW9uICh1c2VyX3Bhc3N3b3JkL293bmVyX3Bhc3N3b3JkKRpeKCFoYXModGhpcy5wZGZhKSB8fCB0aGlzLnBkZmEgPT0gMCkgfHwgKCFoYXModGhpcy51c2VyX3Bhc3N3b3JkKSAmJiAhaGFzKHRoaXMub3duZXJfcGFzc3dvcmQpKUIHCgVfcGRmYUIICgZfcGRmdWFCCgoIX2ZsYXR0ZW5CEAoOX3VzZXJfcGFzc3dvcmRCEQoPX293bmVyX3Bhc3N3b3JkIpMFCghQZGZTcGxpdBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARJACgRtb2RlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU3BsaXRNb2RlQgi6SAWCAQIgABIYCgRzcGFuGAMgASgJQgq6SAdyBRABGOgHEhIKBXVuaWZ5GAQgASgISACIAQESPAoEcGRmYRgFIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkFGb3JtYXRIAYgBARISCgVwZGZ1YRgGIAEoCEgCiAEBEhQKB2ZsYXR0ZW4YByABKAhIA4gBARIkCg11c2VyX3Bhc3N3b3JkGAggASgJQgi6SAVyAxiAAUgEiAEBEiUKDm93bmVyX3Bhc3N3b3JkGAkgASgJQgi6SAVyAxiAAUgFiAEBOtcBukjTARrQAQohcGRmYV9pbmNvbXBhdGlibGVfd2l0aF9lbmNyeXB0aW9uEktQREYvQSBmb3JtYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggZW5jcnlwdGlvbiAodXNlcl9wYXNzd29yZC9vd25lcl9wYXNzd29yZCkaXighaGFzKHRoaXMucGRmYSkgfHwgdGhpcy5wZGZhID09IDApIHx8ICghaGFzKHRoaXMudXNlcl9wYXNzd29yZCkgJiYgIWhhcyh0aGlzLm93bmVyX3Bhc3N3b3JkKSlCCAoGX3VuaWZ5QgcKBV9wZGZhQggKBl9wZGZ1YUIKCghfZmxhdHRlbkIQCg5fdXNlcl9wYXNzd29yZEIRCg9fb3duZXJfcGFzc3dvcmQipQEKClBkZkVuY3J5cHQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESIQoNdXNlcl9wYXNzd29yZBgCIAEoCUIKukgHcgUQARiAARIlCg5vd25lcl9wYXNzd29yZBgDIAEoCUIIukgFcgMYgAFIAIgBAUIRCg9fb3duZXJfcGFzc3dvcmQizgIKClBkZkNvbnZlcnQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESPAoEcGRmYRgCIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkFGb3JtYXRIAIgBARISCgVwZGZ1YRgDIAEoCEgBiAEBOp4BukiaARqXAQoZcmVxdWlyZV9jb252ZXJzaW9uX29wdGlvbhIvYXQgbGVhc3Qgb25lIG9mIHBkZmEgb3IgcGRmdWEgbXVzdCBiZSBzcGVjaWZpZWQaSWhhcyh0aGlzLnBkZmEpICYmIHRoaXMucGRmYSAhPSAwIHx8IGhhcyh0aGlzLnBkZnVhKSAmJiB0aGlzLnBkZnVhID09IHRydWVCBwoFX3BkZmFCCAoGX3BkZnVhIkgKClBkZkZsYXR0ZW4SOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQEqdwoRRW11bGF0ZWRNZWRpYVR5cGUSIwofRU1VTEFURURfTUVESUFfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkVNVUxBVEVEX01FRElBX1RZUEVfU0NSRUVOEAESHQoZRU1VTEFURURfTUVESUFfVFlQRV9QUklOVBACKmkKClBkZkFGb3JtYXQSHAoYUERGX0FfRk9STUFUX1VOU1BFQ0lGSUVEEAASEwoPUERGX0FfRk9STUFUXzFCEAESEwoPUERGX0FfRk9STUFUXzJCEAISEwoPUERGX0FfRk9STUFUXzNCEAMqnAEKClJlc2l6ZVR5cGUSGwoXUkVTSVpFX1RZUEVfVU5TUEVDSUZJRUQQABITCg9SRVNJWkVfVFlQRV9GSVQQARIUChBSRVNJWkVfVFlQRV9GSUxMEAISGQoVUkVTSVpFX1RZUEVfRklMTF9ET1dOEAMSFQoRUkVTSVpFX1RZUEVfRk9SQ0UQBBIUChBSRVNJWkVfVFlQRV9BVVRPEAUq8wEKB0dyYXZpdHkSFwoTR1JBVklUWV9VTlNQRUNJRklFRBAAEhIKDkdSQVZJVFlfQ0VOVEVSEAESEQoNR1JBVklUWV9OT1JUSBACEhEKDUdSQVZJVFlfU09VVEgQAxIQCgxHUkFWSVRZX0VBU1QQBBIQCgxHUkFWSVRZX1dFU1QQBRIWChJHUkFWSVRZX05PUlRIX0VBU1QQBhIWChJHUkFWSVRZX05PUlRIX1dFU1QQBxIWChJHUkFWSVRZX1NPVVRIX0VBU1QQCBIWChJHUkFWSVRZX1NPVVRIX1dFU1QQCRIRCg1HUkFWSVRZX1NNQVJUEAoqgAMKDVRleHRCbGVuZE1vZGUSHwobVEVYVF9CTEVORF9NT0RFX1VOU1BFQ0lGSUVEEAASHAoYVEVYVF9CTEVORF9NT0RFX01VTFRJUExZEAESGgoWVEVYVF9CTEVORF9NT0RFX1NDUkVFThACEhsKF1RFWFRfQkxFTkRfTU9ERV9PVkVSTEFZEAMSGgoWVEVYVF9CTEVORF9NT0RFX0RBUktFThAEEhsKF1RFWFRfQkxFTkRfTU9ERV9MSUdIVEVOEAUSHwobVEVYVF9CTEVORF9NT0RFX0NPTE9SX0RPREdFEAYSHgoaVEVYVF9CTEVORF9NT0RFX0NPTE9SX0JVUk4QBxIeChpURVhUX0JMRU5EX01PREVfSEFSRF9MSUdIVBAIEh4KGlRFWFRfQkxFTkRfTU9ERV9TT0ZUX0xJR0hUEAkSHgoaVEVYVF9CTEVORF9NT0RFX0RJRkZFUkVOQ0UQChIdChlURVhUX0JMRU5EX01PREVfRVhDTFVTSU9OEAsqVAoJVGV4dEFsaWduEhoKFlRFWFRfQUxJR05fVU5TUEVDSUZJRUQQABIVChFURVhUX0FMSUdOX0NFTlRFUhABEhQKEFRFWFRfQUxJR05fUklHSFQQAipmCghUZXh0V3JhcBIZChVURVhUX1dSQVBfVU5TUEVDSUZJRUQQABISCg5URVhUX1dSQVBfQ0hBUhABEhcKE1RFWFRfV1JBUF9XT1JEX0NIQVIQAhISCg5URVhUX1dSQVBfTk9ORRADKt8BCgtJbWFnZUZvcm1hdBIcChhJTUFHRV9GT1JNQVRfVU5TUEVDSUZJRUQQABIVChFJTUFHRV9GT1JNQVRfSlBFRxABEhQKEElNQUdFX0ZPUk1BVF9QTkcQAhIVChFJTUFHRV9GT1JNQVRfV0VCUBADEhUKEUlNQUdFX0ZPUk1BVF9BVklGEAQSFAoQSU1BR0VfRk9STUFUX0dJRhAFEhUKEUlNQUdFX0ZPUk1BVF9USUZGEAYSFAoQSU1BR0VfRk9STUFUX0JNUBAHEhQKEElNQUdFX0ZPUk1BVF9JQ08QCCpXCglTcGxpdE1vZGUSGgoWU1BMSVRfTU9ERV9VTlNQRUNJRklFRBAAEhgKFFNQTElUX01PREVfSU5URVJWQUxTEAESFAoQU1BMSVRfTU9ERV9QQUdFUxACMowDChBGaWxlRm9yZ2VTZXJ2aWNlEn0KDlJlbmRlckRvY3VtZW50EjQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmVuZGVyRG9jdW1lbnRSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmVuZGVyRG9jdW1lbnRSZXNwb25zZRJ9Cg5UcmFuc2Zvcm1JbWFnZRI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRyYW5zZm9ybUltYWdlUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRyYW5zZm9ybUltYWdlUmVzcG9uc2USegoNTWFuaXB1bGF0ZVBkZhIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hbmlwdWxhdGVQZGZSZXF1ZXN0GjQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTWFuaXB1bGF0ZVBkZlJlc3BvbnNlYgZwcm90bzM",[u,f]),Fs=(0,o.messageDesc)(g,0),xs=(0,o.messageDesc)(g,1),Le=(0,o.messageDesc)(g,2),Ke=(0,o.messageDesc)(g,3),Qe=(0,o.messageDesc)(g,4),Ae=(0,o.messageDesc)(g,5),ke=(0,o.messageDesc)(g,6),ne=(0,o.messageDesc)(g,7),Ue=(0,o.messageDesc)(g,8),we=(0,o.messageDesc)(g,9),Es=(0,o.messageDesc)(g,10),Ms=(0,o.messageDesc)(g,11),fs=(0,o.messageDesc)(g,12),Hs=(0,o.messageDesc)(g,13),vs=(0,o.messageDesc)(g,14),zs=(0,o.messageDesc)(g,15),Ns=(0,o.messageDesc)(g,16),Ls=(0,o.messageDesc)(g,17),Ks=(0,o.messageDesc)(g,18),Qs=(0,o.messageDesc)(g,19),ks=(0,o.messageDesc)(g,20),Us=(0,o.messageDesc)(g,21),ws=(0,o.messageDesc)(g,22),Ds=(0,o.messageDesc)(g,23),Ts=(0,o.messageDesc)(g,24),js=(0,o.messageDesc)(g,25),Ps=(0,o.messageDesc)(g,26),Os=(0,o.messageDesc)(g,27),_s=(0,o.messageDesc)(g,28),qs=(0,o.messageDesc)(g,29),$s=(0,o.messageDesc)(g,30),ea=(0,o.messageDesc)(g,31),De=(0,o.messageDesc)(g,32),na=(0,o.messageDesc)(g,33),ta=(0,o.messageDesc)(g,34),Te=(0,o.messageDesc)(g,35),je=(0,o.messageDesc)(g,36),Pe=(0,o.messageDesc)(g,37),Oe=(0,o.messageDesc)(g,38),_e=(0,o.messageDesc)(g,39),Rn=(n=>(n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.SCREEN=1]="SCREEN",n[n.PRINT=2]="PRINT",n))(Rn||{}),sa=(0,o.enumDesc)(g,0),Sn=(s=>(s[s.PDF_A_FORMAT_UNSPECIFIED=0]="PDF_A_FORMAT_UNSPECIFIED",s[s.PDF_A_FORMAT_1B=1]="PDF_A_FORMAT_1B",s[s.PDF_A_FORMAT_2B=2]="PDF_A_FORMAT_2B",s[s.PDF_A_FORMAT_3B=3]="PDF_A_FORMAT_3B",s))(Sn||{}),aa=(0,o.enumDesc)(g,1),Xn=(A=>(A[A.UNSPECIFIED=0]="UNSPECIFIED",A[A.FIT=1]="FIT",A[A.FILL=2]="FILL",A[A.FILL_DOWN=3]="FILL_DOWN",A[A.FORCE=4]="FORCE",A[A.AUTO=5]="AUTO",A))(Xn||{}),oa=(0,o.enumDesc)(g,2),Vn=(m=>(m[m.UNSPECIFIED=0]="UNSPECIFIED",m[m.CENTER=1]="CENTER",m[m.NORTH=2]="NORTH",m[m.SOUTH=3]="SOUTH",m[m.EAST=4]="EAST",m[m.WEST=5]="WEST",m[m.NORTH_EAST=6]="NORTH_EAST",m[m.NORTH_WEST=7]="NORTH_WEST",m[m.SOUTH_EAST=8]="SOUTH_EAST",m[m.SOUTH_WEST=9]="SOUTH_WEST",m[m.SMART=10]="SMART",m))(Vn||{}),ca=(0,o.enumDesc)(g,3),Wn=(G=>(G[G.UNSPECIFIED=0]="UNSPECIFIED",G[G.MULTIPLY=1]="MULTIPLY",G[G.SCREEN=2]="SCREEN",G[G.OVERLAY=3]="OVERLAY",G[G.DARKEN=4]="DARKEN",G[G.LIGHTEN=5]="LIGHTEN",G[G.COLOR_DODGE=6]="COLOR_DODGE",G[G.COLOR_BURN=7]="COLOR_BURN",G[G.HARD_LIGHT=8]="HARD_LIGHT",G[G.SOFT_LIGHT=9]="SOFT_LIGHT",G[G.DIFFERENCE=10]="DIFFERENCE",G[G.EXCLUSION=11]="EXCLUSION",G))(Wn||{}),ga=(0,o.enumDesc)(g,4),Jn=(n=>(n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.CENTER=1]="CENTER",n[n.RIGHT=2]="RIGHT",n))(Jn||{}),ia=(0,o.enumDesc)(g,5),Cn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.CHAR=1]="CHAR",s[s.WORD_CHAR=2]="WORD_CHAR",s[s.NONE=3]="NONE",s))(Cn||{}),la=(0,o.enumDesc)(g,6),Bn=(i=>(i[i.UNSPECIFIED=0]="UNSPECIFIED",i[i.JPEG=1]="JPEG",i[i.PNG=2]="PNG",i[i.WEBP=3]="WEBP",i[i.AVIF=4]="AVIF",i[i.GIF=5]="GIF",i[i.TIFF=6]="TIFF",i[i.BMP=7]="BMP",i[i.ICO=8]="ICO",i))(Bn||{}),da=(0,o.enumDesc)(g,7),qe=(n=>(n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.INTERVALS=1]="INTERVALS",n[n.PAGES=2]="PAGES",n))(qe||{}),ra=(0,o.enumDesc)(g,8),$e=(0,o.serviceDesc)(g,0);var C=require("@bufbuild/protobuf/codegenv2");var Re=require("@bufbuild/protobuf/wkt"),Y=(0,C.fileDesc)("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9wbHVnaW5fc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiGgoYR2V0U3lzdGVtU2VydmljZXNSZXF1ZXN0IsUBChlHZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlEm0KE2NvbmZpZ3VyZWRfc2VydmljZXMYASADKAsyUC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlLkNvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5GjkKF0NvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiMgoQQXV0aG9yaXplUmVxdWVzdBIeCgxhY2Nlc3NfdG9rZW4YASABKAlCCLpIBXIDGJBOIhMKEUF1dGhvcml6ZVJlc3BvbnNlIoABCh5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQiwQEKH0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVzcG9uc2USWAoFaXRlbXMYASADKAsySS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1Jlc3BvbnNlLkl0ZW1zRW50cnkaRAoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBIn4KHEJhdGNoR2V0VXNlclZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQivQEKHUJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlElYKBWl0ZW1zGAEgAygLMkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVzcG9uc2UuSXRlbXNFbnRyeRpECgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiewoZQmF0Y2hHZXRVc2VyVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLFAQoaQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USUwoFaXRlbXMYASADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXNwb25zZS5JdGVtc0VudHJ5GlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVG9rZW46AjgBIn0KG0JhdGNoR2V0U3lzdGVtVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLJAQocQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZRJVCgVpdGVtcxgBIAMoCzJGLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2UuSXRlbXNFbnRyeRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRva2VuOgI4ASJfCgVUb2tlbhIMCgRuYW1lGAEgASgJEg0KBXRva2VuGAIgASgJEgwKBHR5cGUYAyABKAkSKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAy1gYKDVBsdWdpblNlcnZpY2USbgoJQXV0aG9yaXplEi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQXV0aG9yaXplUmVxdWVzdBowLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkF1dGhvcml6ZVJlc3BvbnNlEoYBChFHZXRTeXN0ZW1TZXJ2aWNlcxI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVzcG9uc2USmAEKF0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXNwb25zZRKSAQoVQmF0Y2hHZXRVc2VyVmFyaWFibGVzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlEokBChJCYXRjaEdldFVzZXJUb2tlbnMSOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USjwEKFEJhdGNoR2V0U3lzdGVtVG9rZW5zEjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXF1ZXN0GjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZWIGcHJvdG8z",[u,Re.file_google_protobuf_struct,Re.file_google_protobuf_timestamp]),ma=(0,C.messageDesc)(Y,0),pa=(0,C.messageDesc)(Y,1),ua=(0,C.messageDesc)(Y,2),Ga=(0,C.messageDesc)(Y,3),ba=(0,C.messageDesc)(Y,4),ha=(0,C.messageDesc)(Y,5),Za=(0,C.messageDesc)(Y,6),Ia=(0,C.messageDesc)(Y,7),ya=(0,C.messageDesc)(Y,8),Aa=(0,C.messageDesc)(Y,9),Ra=(0,C.messageDesc)(Y,10),Sa=(0,C.messageDesc)(Y,11),Xa=(0,C.messageDesc)(Y,12),en=(0,C.serviceDesc)(Y,0);var h=require("@connectrpc/connect"),X=require("@connectrpc/connect/protocol"),W=require("@connectrpc/connect/protocol-grpc-web");function P(p){return{async unary(e,t,n,s,r,A){let{serialize:b,parse:ae}=(0,X.createClientMethodSerializers)(e,!0);return(0,X.runUnaryCall)({interceptors:p.interceptors,signal:t,timeoutMs:n,req:{stream:!1,service:e.parent,method:e,requestMethod:"POST",url:(0,X.createMethodUrl)("https://runtimeapi/",e),header:(0,W.requestHeader)(!0,n,s,!1),contextValues:A??(0,h.createContextValues)(),message:r},next:async i=>{let E=await p.fetcher.fetch(i.url,{method:i.requestMethod,headers:i.header,signal:i.signal,body:(0,X.encodeEnvelope)(0,b(i.message))}),{headerError:m}=(0,W.validateResponse)(E.status,E.headers);if(!E.body)throw m!==void 0?m:new h.ConnectError("missing response body",h.Code.Internal);let G=(0,X.createEnvelopeReadableStream)(E.body).getReader(),B,v;for(;;){let z=await G.read();if(z.done)break;let{flags:k,data:N}=z.value;if((k&X.compressedFlag)===X.compressedFlag)throw new h.ConnectError("received compressed data, which is unsupported",h.Code.Internal);if(k===W.trailerFlag){if(B!==void 0)throw new h.ConnectError("extra trailer",h.Code.Internal);B=(0,W.trailerParse)(N);continue}if(v!==void 0)throw new h.ConnectError("extra message",h.Code.Unimplemented);v=ae(N)}if(B===void 0)throw m!==void 0?m:new h.ConnectError("missing trailer",E.headers.has(W.headerGrpcStatus)?h.Code.Unimplemented:h.Code.Unknown);if((0,W.validateTrailer)(B,E.headers),v===void 0)throw new h.ConnectError("missing message",B.has(W.headerGrpcStatus)?h.Code.Unimplemented:h.Code.Unknown);return{stream:!1,service:e.parent,method:e,header:E.headers,message:v,trailer:B}}})},async stream(e,t,n,s,r,A){let{serialize:b,parse:ae}=(0,X.createClientMethodSerializers)(e,!0);async function i(m){let{value:G,done:B}=await m[Symbol.asyncIterator]().next();if(B)throw new h.ConnectError("missing request message",h.Code.InvalidArgument);return(0,X.encodeEnvelope)(0,b(G))}async function*E(m,G,B,v,z){if(G){if(!(await(0,X.createEnvelopeReadableStream)(m).getReader().read()).done)throw new h.ConnectError("extra data for trailers-only",h.Code.Internal);return}let k=(0,X.createEnvelopeReadableStream)(m).getReader(),N=!1;for(;;){let Be=await k.read();if(Be.done)break;let{flags:Yn,data:sn}=Be.value;if((Yn&W.trailerFlag)===W.trailerFlag){if(N)throw new h.ConnectError("extra trailer",h.Code.Internal);N=!0;let an=(0,W.trailerParse)(sn);(0,W.validateTrailer)(an,v),an.forEach((Fn,xn)=>B.set(xn,Fn));continue}if(N)throw new h.ConnectError("extra message after trailer",h.Code.Internal);yield ae(sn)}if("throwIfAborted"in z&&z.throwIfAborted?.(),!N)throw new h.ConnectError("missing trailer",h.Code.Internal)}return(0,X.runStreamingCall)({interceptors:p.interceptors,signal:t,timeoutMs:n,req:{stream:!0,service:e.parent,method:e,requestMethod:"POST",url:(0,X.createMethodUrl)("https://runtimeapi/",e),header:(0,W.requestHeader)(!0,n,s,!1),contextValues:A??(0,h.createContextValues)(),message:r},next:async m=>{let G=await i(m.message),B=await p.fetcher.fetch(m.url,{method:m.requestMethod,headers:m.header,signal:m.signal,body:G}),{foundStatus:v,headerError:z}=(0,W.validateResponse)(B.status,B.headers);if(z)throw z;if(!B.body)throw new h.ConnectError("missing response body",h.Code.Internal);let k=new Headers;return{...m,header:B.headers,trailer:k,message:E(B.body,v,k,B.headers,m.signal)}}})}}}var F=require("@bufbuild/protobuf/codegenv2");var M=(0,F.fileDesc)("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9pbmNvbWluZy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiOgoOSG9zdGluZ0RldGFpbHMSGAoLcHVibGljX2hvc3QYASABKAlIAIgBAUIOCgxfcHVibGljX2hvc3QiZgoVU3RhcnRFeGVjdXRpb25SZXF1ZXN0EhAKCHJlY2VpdmVyGAEgASgJEjsKBGhvc3QYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIYChZTdGFydEV4ZWN1dGlvblJlc3BvbnNlIlMKFFN0b3BFeGVjdXRpb25SZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIXChVTdG9wRXhlY3V0aW9uUmVzcG9uc2UiUQoSQ3JvblRyaWdnZXJSZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIVChNDcm9uVHJpZ2dlclJlc3BvbnNlIsgBCg5FeGNoYW5nZVJlc3VsdBITCgt0cmFuc21pdHRlchgBIAEoCRJLCgdzaWduYWxzGAIgAygLMjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VSZXN1bHQuU2lnbmFsc0VudHJ5GlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEi2AEKFUV4Y2hhbmdlUmVzdWx0UmVxdWVzdBJDCglvcGVyYXRpb24YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbhI9CgZyZXN1bHQYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZVJlc3VsdBI7CgRob3N0GAMgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSG9zdGluZ0RldGFpbHMiGAoWRXhjaGFuZ2VSZXN1bHRSZXNwb25zZWIGcHJvdG8z",[f,I]),Va=(0,F.messageDesc)(M,0),Wa=(0,F.messageDesc)(M,1),Ja=(0,F.messageDesc)(M,2),Ca=(0,F.messageDesc)(M,3),Ba=(0,F.messageDesc)(M,4),Ya=(0,F.messageDesc)(M,5),Fa=(0,F.messageDesc)(M,6),xa=(0,F.messageDesc)(M,7),Ea=(0,F.messageDesc)(M,8),Ma=(0,F.messageDesc)(M,9);var fa={config:"config",metadata:"metadata",configuredServices:"configured_services"};function Se(p){return fa[p]??p}function x(p){if(p==null)return p;if(Array.isArray(p))return p.map(x);if(typeof p!="object")return p;let e={};for(let[t,n]of Object.entries(p))n!==void 0&&(e[t]=x(n));return e}var Ha=[a.Code.Unavailable,a.Code.Internal,a.Code.Aborted,a.Code.ResourceExhausted],te=p=>async e=>{for(let t=0;;t++)try{return await p(e)}catch(n){if(t>=3||n instanceof a.ConnectError&&!Ha.includes(n.code))throw n;let s=Math.min(500*(1<<t),5e3);await new Promise(r=>setTimeout(r,Math.random()*s))}},se=class{env;pluginService;pluginToken;fileforge;constructor(e,t){this.env=e,this.pluginToken=t,this.pluginService=(0,a.createClient)(en,P({fetcher:this.env.plugin,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await n(s))]})),this.fileforge=(0,a.createClient)($e,P({fetcher:this.env.fileforge,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await n(s))]}))}async getSystemVariable(e){let n=(await this.pluginService.batchGetSystemVariables({names:[e]})).items[e];return n?(0,c.toJson)(y.ValueSchema,n):void 0}async getSystemVariables(...e){let t=await this.pluginService.batchGetSystemVariables({names:e}),n={};for(let[s,r]of Object.entries(t.items))n[s]=(0,c.toJson)(y.ValueSchema,r);return n}async getUserVariable(e){let n=(await this.pluginService.batchGetUserVariables({names:[e]})).items[e];return n?(0,c.toJson)(y.ValueSchema,n):void 0}async getUserVariables(...e){let t=await this.pluginService.batchGetUserVariables({names:e}),n={};for(let[s,r]of Object.entries(t.items))n[s]=(0,c.toJson)(y.ValueSchema,r);return n}async getUserToken(e){return(await this.pluginService.batchGetUserTokens({names:[e]})).items[e]}async getUserTokens(...e){return(await this.pluginService.batchGetUserTokens({names:e})).items}async getSystemToken(e){return(await this.pluginService.batchGetSystemTokens({names:[e]})).items[e]}async getSystemTokens(...e){return(await this.pluginService.batchGetSystemTokens({names:e})).items}userHttpProxy(e){return(t,n)=>{let s=new Request(t,n);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`user:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}systemHttpProxy(e){return(t,n)=>{let s=new Request(t,n);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`system:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}async authorize(e){await this.pluginService.authorize({accessToken:e})}async getSystemServices(){return(await this.pluginService.getSystemServices({})).configuredServices}async readFile(e){let t=new URL("https://runtimeapi");t.pathname=e;let n=await this.env.assets.fetch(t,{method:"GET"});if(!n.ok)throw tn(n.status);let s=n.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/octet-stream"))throw new a.ConnectError("Invalid file. Are you reading a directory?",a.Code.InvalidArgument);return{content:n.body,mime:s}}async readDirectory(e){let t=new URL("https://runtimeapi");t.pathname=e;let n=await this.env.assets.fetch(t,{method:"GET"});if(!n.ok)throw tn(n.status);let s=n.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/json"))throw new a.ConnectError("Invalid directory. Are you reading a file?",a.Code.InvalidArgument);return await n.json()}createSignalData(e){return(0,c.create)(U,{filename:e.filename,mimeType:"application/octet-stream",data:e.data})}extractBinaryFile(e){return{filename:e.filename??"output",data:e.data}}async htmlToPdf(e){let t=await this.fileforge.renderDocument({conversion:{case:"htmlToPdf",value:(0,c.create)(Le,{indexHtml:e.indexHtml,headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(n=>this.createSignalData(n))??[],render:e.render?(0,c.fromJson)(Ae,x(e.render)):void 0,output:e.output?(0,c.fromJson)(ne,x(e.output)):void 0})}});return this.extractBinaryFile(t.output)}async markdownToPdf(e){let t=await this.fileforge.renderDocument({conversion:{case:"markdownToPdf",value:(0,c.create)(Ke,{wrapperHtml:e.wrapperHtml,markdownFiles:e.markdownFiles.map(n=>this.createSignalData(n)),headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(n=>this.createSignalData(n))??[],render:e.render?(0,c.fromJson)(Ae,x(e.render)):void 0,output:e.output?(0,c.fromJson)(ne,x(e.output)):void 0})}});return this.extractBinaryFile(t.output)}async officeToPdf(e){let t=await this.fileforge.renderDocument({conversion:{case:"officeToPdf",value:(0,c.create)(Qe,{document:this.createSignalData(e.document),render:e.render?(0,c.fromJson)(ke,x(e.render)):void 0,output:e.output?(0,c.fromJson)(ne,x(e.output)):void 0})}});return this.extractBinaryFile(t.output)}async transformImage(e){let t=await this.fileforge.transformImage((0,c.create)(we,{input:this.createSignalData(e.input),operations:e.operations?.map(n=>(0,c.fromJson)(Ue,x(n)))??[],output:e.output?(0,c.fromJson)(De,x(e.output)):void 0}));return this.extractBinaryFile(t.output)}async mergePdfs(e){let t=await this.fileforge.manipulatePdf({operation:{case:"merge",value:(0,c.create)(Te,{files:e.files.map(n=>this.createSignalData(n)),pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(t.outputs[0])}async splitPdf(e){return(await this.fileforge.manipulatePdf({operation:{case:"split",value:(0,c.create)(je,{file:this.createSignalData(e.file),mode:e.mode==="intervals"?1:2,span:e.span,unify:e.unify,pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}})).outputs.map(n=>this.extractBinaryFile(n))}async encryptPdf(e){let t=await this.fileforge.manipulatePdf({operation:{case:"encrypt",value:(0,c.create)(Pe,{file:this.createSignalData(e.file),userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(t.outputs[0])}async convertPdf(e){let t=await this.fileforge.manipulatePdf({operation:{case:"convert",value:(0,c.create)(Oe,{file:this.createSignalData(e.file),pdfa:e.pdfa,pdfua:e.pdfua})}});return this.extractBinaryFile(t.outputs[0])}async flattenPdf(e){let t=await this.fileforge.manipulatePdf({operation:{case:"flatten",value:(0,c.create)(_e,{file:this.createSignalData(e.file)})}});return this.extractBinaryFile(t.outputs[0])}},Xe=class{result;constructor(e){this.result=e}get(e){let t=this.result[e];if(t)return{value:JSON.parse(new TextDecoder().decode(t.value)),ttl:t.metadata.ttl,lastModified:(0,y.timestampDate)(t.metadata.lastModified),etag:t.metadata.etag}}getBinary(e){let t=this.result[e];if(t)return{ttl:t.metadata.ttl,value:t.value,lastModified:(0,y.timestampDate)(t.metadata.lastModified),etag:t.metadata.etag}}},Ve=class{ops=[];insert(e,t,n){return this.ops.push((0,c.create)($,{operation:{case:"insert",value:{key:e,value:{value:t instanceof Uint8Array?t:new TextEncoder().encode(JSON.stringify(t)),ttl:n}}}})),this}delete(e){return this.ops.push((0,c.create)($,{operation:{case:"delete",value:{key:e}}})),this}rangeDelete(e,t,n,s){return this.ops.push((0,c.create)($,{operation:{case:"rangeDelete",value:{start:e,end:t,startInclusive:n,endInclusive:s}}})),this}build(){return this.ops}},O=class{service;namespace;constructor(e,t){this.service=e,this.namespace=(0,c.enumFromJson)(Me,t)}async insert(e,t,n,s){let r;s&&(r=(0,c.create)(Ze,{}),s.failIfExists?r.failIfExists=!0:(s.etagEquals&&(r.etag=s.etagEquals),s.timestampEquals?r.timestampCondition={case:"lastModifiedEquals",value:(0,y.timestampFromDate)(s.timestampEquals)}:s.timestampRange&&(r.timestampCondition={case:"lastModifiedRange",value:(0,c.create)(he,{start:s.timestampRange.start?(0,y.timestampFromDate)(s.timestampRange.start):void 0,end:s.timestampRange.end?(0,y.timestampFromDate)(s.timestampRange.end):void 0,startInclusive:s.timestampRange.startInclusive,endInclusive:s.timestampRange.endInclusive})})));let A=await this.service.writeStore({operation:{operation:{case:"insert",value:{key:e,value:{value:t instanceof Uint8Array?t:new TextEncoder().encode(JSON.stringify(t)),ttl:n},precondition:r}}},namespace:this.namespace});return{ttl:A.metadata.ttl,lastModified:(0,y.timestampDate)(A.metadata.lastModified),etag:A.metadata.etag}}async delete(e,t){let n;t&&(n=(0,c.create)(Ee,{}),t.mustExists?n.mustExists=!0:(t.etagEquals&&(n.etag=t.etagEquals),t.timestampEquals?n.timestampCondition={case:"lastModifiedEquals",value:(0,y.timestampFromDate)(t.timestampEquals)}:t.timestampRange&&(n.timestampCondition={case:"lastModifiedRange",value:(0,c.create)(he,{start:t.timestampRange.start?(0,y.timestampFromDate)(t.timestampRange.start):void 0,end:t.timestampRange.end?(0,y.timestampFromDate)(t.timestampRange.end):void 0,startInclusive:t.timestampRange.startInclusive,endInclusive:t.timestampRange.endInclusive})}))),await this.service.writeStore({operation:{operation:{case:"delete",value:{key:e,precondition:n}}},namespace:this.namespace})}async rangeDelete(e,t,n,s){await this.service.batchWriteStore({namespace:this.namespace,operations:[{operation:{case:"rangeDelete",value:{start:e,end:t,startInclusive:n,endInclusive:s}}}]})}async get(e){let n=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(n)return{data:JSON.parse(new TextDecoder().decode(n.value)),ttl:n.metadata.ttl,etag:n.metadata.etag,lastModified:(0,y.timestampDate)(n.metadata.lastModified)}}async getBinary(e){let n=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(n)return{data:n.value,ttl:n.metadata.ttl,etag:n.metadata.etag,lastModified:(0,y.timestampDate)(n.metadata.lastModified)}}async selectRange(e){let t=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:t.nextToken,items:Object.entries(t.items).sort(([n],[s])=>n.localeCompare(s)).map(([n,s])=>({key:n,value:JSON.parse(new TextDecoder().decode(s.value)),ttl:s.metadata.ttl,etag:s.metadata.etag,lastModified:(0,y.timestampDate)(s.metadata.lastModified)}))}}async selectRangeBinary(e){let t=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:t.nextToken,items:Object.values(t.items).map(n=>({value:n.value,ttl:n.metadata.ttl,etag:n.metadata.etag,lastModified:(0,y.timestampDate)(n.metadata.lastModified)}))}}async writeBatch(e){let t=await this.service.batchWriteStore({namespace:this.namespace,operations:e}),n={};for(let[s,r]of Object.entries(t.metadata))n[s]={ttl:r.ttl,lastModified:(0,y.timestampDate)(r.lastModified),etag:r.etag};return n}async readBatch(e){let t=await this.service.batchReadStore({namespace:this.namespace,keys:e});return new Xe(t.items)}async acquire(e,t){try{await this.service.writeStore({namespace:this.namespace,operation:{operation:{case:"insert",value:{key:e,value:{value:new Uint8Array([1]),ttl:t??5},precondition:(0,c.create)(Ze,{failIfExists:!0})}}}})}catch(n){if(n instanceof a.ConnectError&&n.code===a.Code.FailedPrecondition)return!1;throw n}return!0}async release(e){await this.writeBatch(new Ve().delete(e).build())}async lock(e,t,n){let s=n?.maxRetries??5,r=n?.initialDelay??50,A=n?.maxDelay??2e3;for(let b=0;b<s;b++)if(await this.acquire(e))try{return await t()}finally{await this.release(e)}else if(b<s-1){let i=Math.min(r*2**b,A);console.log(`Acquisition failed for key: ${e}. Delaying for ${i}ms`),await new Promise(E=>setTimeout(E,i))}throw new Error("Failed to acquire lock after maximum retries")}},We=class extends se{executor;constructor(e,t){super(e,t),this.executor=(0,a.createClient)(ye,P({fetcher:e.executor,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${t}`),await n(s))]}))}async getConfig(...e){let t=await this.executor.getVertexConfig({fieldMask:e.length>0?(0,c.create)(y.FieldMaskSchema,{paths:e.map(Se)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(n.metadata=t.metadata?(0,c.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config"))if(t.config&&t.config.length>0)try{n.config=JSON.parse(new TextDecoder().decode(t.config))}catch{n.config=void 0}else n.config=void 0;return n}async getConfigBinary(...e){let t=await this.executor.getVertexConfig({fieldMask:e.length>0?(0,c.create)(y.FieldMaskSchema,{paths:e.map(Se)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(n.metadata=t.metadata?(0,c.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config")&&(n.config=t.config),n}getLocalStore(e){return new O(this.executor,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}getSessionApi(e){return new Ce(this.env,this.pluginToken,e)}},Je=class extends We{sessionAuthHeader;constructor(e,t,n){super(e,t),this.sessionAuthHeader=n,this.executor=(0,a.createClient)(ye,P({fetcher:e.executor,interceptors:[te,s=>async r=>(r.header.set("Authorization",n),await s(r))]}))}getAuthHeader(){return this.sessionAuthHeader}getSessionStore(e){return new O(this.executor,e==="vertex"?"NAMESPACE_VERTEX_INSTANCE":"NAMESPACE_PLUGIN_INSTANCE")}},Ce=class extends Je{constructor(e,t,n){super(e,t,n)}async listSignals(e){let t=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:Object.fromEntries(Object.entries(t.signals).map(([n,s])=>[n,JSON.parse(new TextDecoder().decode(s.data))])),receiver:t.receiver,cursor:t.nextCursor}}async listSignalsBinary(e){let t=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:t.signals,receiver:t.receiver,cursor:t.nextCursor}}async continueListSignals(e){let t=await this.executor.listActiveSignals({cursor:e});return{signals:Object.fromEntries(Object.entries(t.signals).map(([n,s])=>[n,JSON.parse(new TextDecoder().decode(s.data))])),receiver:t.receiver,cursor:t.nextCursor}}async continueListSignalsBinary(e){let t=await this.executor.listActiveSignals({cursor:e});return{signals:t.signals,receiver:t.receiver,cursor:t.nextCursor}}async getSignal(e){let n=(await this.executor.batchGetActiveSignals({names:[e]})).items[e];return n?JSON.parse(new TextDecoder().decode(n.data)):void 0}async getSignalBinary(e){return(await this.executor.batchGetActiveSignals({names:[e]})).items[e]}async getSignals(...e){if(e.length===0)return{};let t=await this.executor.batchGetActiveSignals({names:e});if(Object.keys(t.items).length===0)return{};let n={};for(let[s,r]of Object.entries(t.items))n[s]=JSON.parse(new TextDecoder().decode(r.data));return n}async getSignalsBinary(...e){return e.length===0?{}:(await this.executor.batchGetActiveSignals({names:e})).items}async send(e,t){await this.executor.send({transmitter:e,signals:t?Object.fromEntries(Object.entries(t).map(([n,s])=>s?.data instanceof Uint8Array&&typeof s?.mimeType=="string"&&s.mimeType?[n,(0,c.create)(U,{data:s.data,mimeType:s.mimeType,filename:s.filename})]:[n,(0,c.create)(U,{data:new TextEncoder().encode(JSON.stringify(s)),mimeType:"application/json"})])):{}})}async dispatchExchange(e,t,n){let s={name:e,receiver:t,signals:n?Object.fromEntries(Object.entries(n).map(([A,b])=>b?.data instanceof Uint8Array&&typeof b?.mimeType=="string"&&b.mimeType?[A,(0,c.create)(U,{data:b.data,mimeType:b.mimeType,filename:b.filename})]:[A,(0,c.create)(U,{data:new TextEncoder().encode(JSON.stringify(b)),mimeType:"application/json"})])):{}};return(await this.executor.dispatchExchange(s,{headers:{"x-idempotency-key":crypto.randomUUID()}})).operation}async getExchange(e){let t=await this.executor.getExchangeOperation({id:e});if(!t.item)throw new a.ConnectError("Exchange operation not found",a.Code.NotFound);return t.item}async cancelExchange(e){await this.executor.cancelExchangeOperation({id:e})}},nn=class extends se{configurator;constructor(e,t){super(e,t),this.configurator=(0,a.createClient)(He,P({fetcher:e.configurator,interceptors:[te,n=>async s=>(s.header.set("Authorization",`Bearer ${t}`),await n(s))]}))}async getConfig(...e){let t=await this.configurator.getVertexConfig({fieldMask:e.length>0?(0,c.create)(y.FieldMaskSchema,{paths:e.map(Se)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(n.metadata=t.metadata?(0,c.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config"))if(t.config&&t.config.length>0)try{n.config=JSON.parse(new TextDecoder().decode(t.config))}catch{n.config=void 0}else n.config=void 0;return n}async getConfigBinary(...e){let t=await this.configurator.getVertexConfig({fieldMask:e.length>0?(0,c.create)(y.FieldMaskSchema,{paths:e.map(Se)}):void 0}),n={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(n.metadata=t.metadata?(0,c.toJson)(Q,t.metadata):void 0),s.includes("configuredServices")&&(n.configuredServices=t.configuredServices||{}),s.includes("config")&&(n.config=t.config),n}async postConfig(e){if(!e.config&&!e.metadata)throw new a.ConnectError("Either config or metadata must be provided",a.Code.InvalidArgument);let t;e.config!==void 0&&(t=e.config instanceof Uint8Array?e.config:new TextEncoder().encode(JSON.stringify(e.config)));let n=await this.configurator.postVertexConfig({config:t,metadata:e.metadata?(0,c.fromJson)(Q,x(e.metadata)):void 0,overrideBindings:e?.overrideBindings});return(0,c.toJson)(Q,n.metadata)}async listIncomingSignals(e,t,n){let s=await this.configurator.listIncomingSignals({receiver:e,formats:t?.map(r=>(0,c.fromJson)(Fe,x(r)))??[],fieldMask:n?(0,c.fromJson)(y.FieldMaskSchema,x(n)):void 0});return(0,c.toJson)(fe,s)}getLocalStore(e){return new O(this.configurator,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}};function tn(p){switch(p){case 400:return new a.ConnectError("Bad Request",a.Code.InvalidArgument);case 401:return new a.ConnectError("Unauthorized",a.Code.Unauthenticated);case 403:return new a.ConnectError("Forbidden",a.Code.PermissionDenied);case 404:return new a.ConnectError("Not Found",a.Code.NotFound);case 409:return new a.ConnectError("Conflict",a.Code.AlreadyExists);case 429:return new a.ConnectError("Too Many Requests",a.Code.ResourceExhausted);case 499:return new a.ConnectError("Client Closed Request",a.Code.Canceled);case 500:return new a.ConnectError("Internal Server Error",a.Code.Internal);case 501:return new a.ConnectError("Not Implemented",a.Code.Unimplemented);case 503:return new a.ConnectError("Service Unavailable",a.Code.Unavailable);case 504:return new a.ConnectError("Gateway Timeout",a.Code.DeadlineExceeded);default:return new a.ConnectError(`Unknown HTTP error: ${p}`,a.Code.Unknown)}}function va(p){switch(p.code){case a.Code.Canceled:return 499;case a.Code.Unknown:return 500;case a.Code.InvalidArgument:return 400;case a.Code.DeadlineExceeded:return 504;case a.Code.NotFound:return 404;case a.Code.AlreadyExists:return 409;case a.Code.PermissionDenied:return 403;case a.Code.ResourceExhausted:return 429;case a.Code.FailedPrecondition:return 400;case a.Code.Aborted:return 409;case a.Code.OutOfRange:return 400;case a.Code.Unimplemented:return 501;case a.Code.Internal:return 500;case a.Code.Unavailable:return 503;case a.Code.DataLoss:return 500;case a.Code.Unauthenticated:return 401;default:return 500}}0&&(module.exports={AckMessageRequestSchema,AckMessageResponseSchema,ApiBase,AuthorizeRequestSchema,AuthorizeResponseSchema,AutomationService,BatchGetActiveSignalsRequestSchema,BatchGetActiveSignalsResponseSchema,BatchGetSystemTokensRequestSchema,BatchGetSystemTokensResponseSchema,BatchGetSystemVariablesRequestSchema,BatchGetSystemVariablesResponseSchema,BatchGetUserTokensRequestSchema,BatchGetUserTokensResponseSchema,BatchGetUserVariablesRequestSchema,BatchGetUserVariablesResponseSchema,BatchReadResult,CancelExchangeOperationRequestSchema,CancelExchangeOperationResponseSchema,Code,ConditionalDeleteOpSchema,ConditionalDeleteOp_PreconditionSchema,ConditionalInsertOpSchema,ConditionalInsertOp_PreconditionSchema,ConditionalWriteOperationSchema,ConfiguratorApi,ConfiguratorService,ConfiguratorServiceBatchReadStoreRequestSchema,ConfiguratorServiceBatchReadStoreResponseSchema,ConfiguratorServiceBatchWriteStoreRequestSchema,ConfiguratorServiceBatchWriteStoreResponseSchema,ConfiguratorServiceGetVertexConfigRequestSchema,ConfiguratorServiceGetVertexConfigResponseSchema,ConfiguratorServiceSelectStoreRequestSchema,ConfiguratorServiceSelectStoreResponseSchema,ConfiguratorServiceWriteStoreRequestSchema,ConfiguratorServiceWriteStoreResponseSchema,ConnectError,CreateChallengeRequestSchema,CreateChallengeResponseSchema,CronTriggerRequestSchema,CronTriggerResponseSchema,DeleteOpSchema,DispatchExchangeRequestSchema,DispatchExchangeResponseSchema,EmulatedMediaType,EmulatedMediaTypeSchema,ExchangeOperationSchema,ExchangeResultRequestSchema,ExchangeResultResponseSchema,ExchangeResultSchema,ExchangeSchema,ExecutorApi,ExecutorService,ExecutorServiceBatchReadStoreRequestSchema,ExecutorServiceBatchReadStoreResponseSchema,ExecutorServiceBatchWriteStoreRequestSchema,ExecutorServiceBatchWriteStoreResponseSchema,ExecutorServiceGetVertexConfigRequestSchema,ExecutorServiceGetVertexConfigResponseSchema,ExecutorServiceSelectStoreRequestSchema,ExecutorServiceSelectStoreResponseSchema,ExecutorServiceWriteStoreRequestSchema,ExecutorServiceWriteStoreResponseSchema,FileForgeService,FocalPointSchema,FocalRegionSchema,GetExchangeOperationRequestSchema,GetExchangeOperationResponseSchema,GetSessionRequestSchema,GetSessionResponseSchema,GetSystemServicesRequestSchema,GetSystemServicesResponseSchema,GetValueSchema,Gravity,GravitySchema,HostingDetailsSchema,HtmlRenderOptionsSchema,HtmlToPdfSchema,ImageAdjustSchema,ImageBlurSchema,ImageCropSchema,ImageDpiSchema,ImageFlipSchema,ImageFocalSchema,ImageFormat,ImageFormatSchema,ImageHueSchema,ImageMaxFramesSchema,ImageOperationSchema,ImageOutputSchema,ImagePadSchema,ImagePageSchema,ImageProportionSchema,ImageResizeSchema,ImageRgbSchema,ImageRotateSchema,ImageRoundCornerSchema,ImageSharpenSchema,ImageTextSchema,ImageTrimSchema,ImageWatermarkSchema,IncomingVerticesSchema,InheritSessionRequestSchema,InheritSessionResponseSchema,InsertOpSchema,JTDSchemaSchema,ListActiveSignalsRequestSchema,ListActiveSignalsResponseSchema,ListIncomingSignalsRequestSchema,ListIncomingSignalsResponseSchema,ManipulatePdfRequestSchema,ManipulatePdfResponseSchema,MarkdownToPdfSchema,Namespace,NamespaceSchema,OfficeRenderOptionsSchema,OfficeToPdfSchema,OutputSchema,PdfAFormat,PdfAFormatSchema,PdfConvertSchema,PdfEncryptSchema,PdfFlattenSchema,PdfMergeSchema,PdfOutputOptionsSchema,PdfSplitSchema,PluginService,PostVertexConfigRequestSchema,PostVertexConfigResponseSchema,PutValueSchema,RangeDeleteOpSchema,ReadOutputRequestSchema,ReadOutputResponseSchema,ReadUrlsRequestSchema,ReadUrlsResponseSchema,ReceiverSchema,ReconnectMessageSchema,RedeemChallengeRequestSchema,RedeemChallengeResponseSchema,RenderDocumentRequestSchema,RenderDocumentResponseSchema,ResizeType,ResizeTypeSchema,RunInheritRequestSchema,RunInheritResponseSchema,RunInheritStartedSchema,RunSessionRequestSchema,RunSessionResponseSchema,RunSessionStartedSchema,SelectOpSchema,SendRequestSchema,SendResponseSchema,SessionExecutorApi,SessionSchema,SignalBindingSchema,SignalBinding_Error,SignalBinding_ErrorSchema,SignalDataSchema,SignalDescriptorSchema,SignalFormatSchema,SplitMode,SplitModeSchema,StartExecutionRequestSchema,StartExecutionResponseSchema,StartSessionRequestSchema,StartSessionResponseSchema,Status,StatusSchema,StopExecutionRequestSchema,StopExecutionResponseSchema,StopExecutorApi,StopSessionRequestSchema,StopSessionResponseSchema,Store,StreamSessionRequestSchema,StreamSessionResponseSchema,TextAlign,TextAlignSchema,TextBlendMode,TextBlendModeSchema,TextWrap,TextWrapSchema,TimestampRangeSchema,TokenSchema,TransceiverSchema,TransformImageRequestSchema,TransformImageResponseSchema,TransmitterSchema,Transmitter_Mode,Transmitter_ModeSchema,UrlCloseSchema,UrlRecycleSchema,UrlRetainSchema,UrlSchema,ValueMetadataSchema,VertexMetadataSchema,VertexType,VertexTypeSchema,WatchInheritRequestSchema,WatchInheritResponseSchema,WatchInheritStartedSchema,WatchRunRequestSchema,WatchRunResponseSchema,WatchRunStartedSchema,WatchSessionRequestSchema,WatchSessionResponseSchema,WriteBatchBuilder,WriteOperationSchema,file_mochabugapis_adapt_automations_v1_automations,file_mochabugapis_adapt_graph_exchange,file_mochabugapis_adapt_graph_jtd_schema,file_mochabugapis_adapt_graph_receiver,file_mochabugapis_adapt_graph_signal_binding,file_mochabugapis_adapt_graph_signal_data,file_mochabugapis_adapt_graph_signal_descriptor,file_mochabugapis_adapt_graph_signal_format,file_mochabugapis_adapt_graph_transceiver,file_mochabugapis_adapt_graph_transmitter,file_mochabugapis_adapt_graph_vertex_metadata,file_mochabugapis_adapt_runtime_v1_configurator_service,file_mochabugapis_adapt_runtime_v1_executor_service,file_mochabugapis_adapt_runtime_v1_fileforge_service,file_mochabugapis_adapt_runtime_v1_incoming,file_mochabugapis_adapt_runtime_v1_plugin_service,file_mochabugapis_adapt_runtime_v1_store,mapConnectErrorToHttpStatus,mapHttpError});
|
|
2
2
|
//# sourceMappingURL=api.cjs.map
|