@@ -190,8 +190,8 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
190190github.zerozr99.workers.dev/google/uuid v1.1.1 /go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo =
191191github.zerozr99.workers.dev/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0 =
192192github.zerozr99.workers.dev/google/uuid v1.6.0 /go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo =
193- github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw =
194- github.com/googleapis/enterprise-certificate-proxy v0.3.4 /go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA =
193+ github.com/googleapis/enterprise-certificate-proxy v0.3.5 h1:VgzTY2jogw3xt39CusEnFJWm7rlsq5yL5q9XdLOuP5g =
194+ github.com/googleapis/enterprise-certificate-proxy v0.3.5 /go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA =
195195github.zerozr99.workers.dev/googleapis/gax-go/v2 v2.0.4 /go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg =
196196github.zerozr99.workers.dev/googleapis/gax-go/v2 v2.0.5 /go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk =
197197github.zerozr99.workers.dev/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q =
@@ -290,8 +290,8 @@ github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXW
290290github.zerozr99.workers.dev/olekukonko/tablewriter v0.0.2 /go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ =
291291github.zerozr99.workers.dev/onsi/ginkgo v1.6.0 /go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE =
292292github.zerozr99.workers.dev/onsi/ginkgo v1.10.3 /go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE =
293- github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU =
294- github.com/onsi/ginkgo/v2 v2.22.2 /go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk =
293+ github.com/onsi/ginkgo/v2 v2.23.0 h1:FA1xjp8ieYDzlgS5ABTpdUDB7wtngggONc8a7ku2NqQ =
294+ github.com/onsi/ginkgo/v2 v2.23.0 /go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM =
295295github.zerozr99.workers.dev/onsi/gomega v1.7.1 /go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY =
296296github.zerozr99.workers.dev/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8 =
297297github.zerozr99.workers.dev/onsi/gomega v1.36.2 /go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY =
@@ -413,8 +413,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
413413golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 /go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI =
414414golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 /go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto =
415415golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad /go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I =
416- golang.org/x/crypto v0.35 .0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs =
417- golang.org/x/crypto v0.35 .0 /go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ =
416+ golang.org/x/crypto v0.36 .0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34 =
417+ golang.org/x/crypto v0.36 .0 /go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc =
418418golang.org/x/exp v0.0.0-20190121172915-509febef88a4 /go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA =
419419golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8 /go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA =
420420golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522 /go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8 =
@@ -446,8 +446,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
446446golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b /go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg =
447447golang.org/x/mod v0.2.0 /go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA =
448448golang.org/x/mod v0.3.0 /go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA =
449- golang.org/x/mod v0.23 .0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM =
450- golang.org/x/mod v0.23 .0 /go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY =
449+ golang.org/x/mod v0.24 .0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU =
450+ golang.org/x/mod v0.24 .0 /go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww =
451451golang.org/x/net v0.0.0-20180724234803-3673e40ba225 /go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4 =
452452golang.org/x/net v0.0.0-20180826012351-8a410e7b638d /go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4 =
453453golang.org/x/net v0.0.0-20180906233101-161cd47e91fd /go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4 =
@@ -480,15 +480,15 @@ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/
480480golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 /go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A =
481481golang.org/x/net v0.0.0-20200625001655-4c5254603344 /go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA =
482482golang.org/x/net v0.0.0-20201110031124-69a78807bb2b /go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU =
483- golang.org/x/net v0.35 .0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8 =
484- golang.org/x/net v0.35 .0 /go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk =
483+ golang.org/x/net v0.37 .0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c =
484+ golang.org/x/net v0.37 .0 /go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8 =
485485golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be /go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U =
486486golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421 /go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw =
487487golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 /go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw =
488488golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6 /go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw =
489489golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d /go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw =
490- golang.org/x/oauth2 v0.26 .0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE =
491- golang.org/x/oauth2 v0.26 .0 /go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI =
490+ golang.org/x/oauth2 v0.27 .0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M =
491+ golang.org/x/oauth2 v0.27 .0 /go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8 =
492492golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f /go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM =
493493golang.org/x/sync v0.0.0-20181108010431-42b317875d0f /go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM =
494494golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 /go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM =
@@ -498,8 +498,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
498498golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e /go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM =
499499golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a /go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM =
500500golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 /go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM =
501- golang.org/x/sync v0.11 .0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w =
502- golang.org/x/sync v0.11 .0 /go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk =
501+ golang.org/x/sync v0.12 .0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw =
502+ golang.org/x/sync v0.12 .0 /go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA =
503503golang.org/x/sys v0.0.0-20180830151530-49385e6e1522 /go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY =
504504golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 /go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY =
505505golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e /go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY =
@@ -540,18 +540,18 @@ golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7w
540540golang.org/x/sys v0.0.0-20200523222454-059865788121 /go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs =
541541golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 /go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs =
542542golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f /go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs =
543- golang.org/x/sys v0.30 .0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc =
544- golang.org/x/sys v0.30 .0 /go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA =
543+ golang.org/x/sys v0.31 .0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik =
544+ golang.org/x/sys v0.31 .0 /go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k =
545545golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 /go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw =
546- golang.org/x/term v0.29 .0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU =
547- golang.org/x/term v0.29 .0 /go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s =
546+ golang.org/x/term v0.30 .0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y =
547+ golang.org/x/term v0.30 .0 /go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g =
548548golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c /go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ =
549549golang.org/x/text v0.3.0 /go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ =
550550golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 /go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ =
551551golang.org/x/text v0.3.2 /go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk =
552552golang.org/x/text v0.3.3 /go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ =
553- golang.org/x/text v0.22 .0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM =
554- golang.org/x/text v0.22 .0 /go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY =
553+ golang.org/x/text v0.23 .0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY =
554+ golang.org/x/text v0.23 .0 /go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4 =
555555golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 /go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ =
556556golang.org/x/time v0.0.0-20181108054448-85acf8d2951c /go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ =
557557golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 /go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ =
@@ -605,8 +605,8 @@ golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roY
605605golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f /go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE =
606606golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632 /go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE =
607607golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7 /go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA =
608- golang.org/x/tools v0.30 .0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY =
609- golang.org/x/tools v0.30 .0 /go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY =
608+ golang.org/x/tools v0.31 .0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU =
609+ golang.org/x/tools v0.31 .0 /go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ =
610610golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 /go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0 =
611611golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 /go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0 =
612612golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 /go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0 =
@@ -626,8 +626,8 @@ google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/
626626google.golang.org/api v0.24.0 /go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE =
627627google.golang.org/api v0.28.0 /go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE =
628628google.golang.org/api v0.29.0 /go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM =
629- google.golang.org/api v0.223 .0 h1:JUTaWEriXmEy5AhvdMgksGGPEFsYfUKaPEYXd4c3Wvc =
630- google.golang.org/api v0.223 .0 /go.mod h1:C+RS7Z+dDwds2b+zoAk5hN/eSfsiCn0UDrYof/M4d2M =
629+ google.golang.org/api v0.224 .0 h1:Ir4UPtDsNiwIOHdExr3fAj4xZ42QjK7uQte3lORLJwU =
630+ google.golang.org/api v0.224 .0 /go.mod h1:3V39my2xAGkodXy0vEqcEtkqgw2GtrFL5WuBZlCTCOQ =
631631google.golang.org/appengine v1.1.0 /go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM =
632632google.golang.org/appengine v1.4.0 /go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4 =
633633google.golang.org/appengine v1.5.0 /go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4 =
@@ -668,8 +668,8 @@ google.golang.org/genproto v0.0.0-20200626011028-ee7919e894b5/go.mod h1:FWY/as6D
668668google.golang.org/genproto v0.0.0-20200707001353-8e8330bf89df /go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no =
669669google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q =
670670google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 /go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08 =
671- google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2 h1:DMTIbak9GhdaSxEjvVzAeNZvyc03I61duqNbnm3SU0M =
672- google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2 /go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I =
671+ google.golang.org/genproto/googleapis/rpc v0.0.0-20250227231956-55c901821b1e h1:YA5lmSs3zc/5w+xsRcHqpETkaYyK63ivEPzNTcUUlSA =
672+ google.golang.org/genproto/googleapis/rpc v0.0.0-20250227231956-55c901821b1e /go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I =
673673google.golang.org/grpc v1.8.0 /go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw =
674674google.golang.org/grpc v1.19.0 /go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c =
675675google.golang.org/grpc v1.20.1 /go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38 =
0 commit comments