From af9cbec832e907a4065b228bfb1083e3a376d330 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 05:40:59 +0000 Subject: [PATCH 001/283] chore(deps): bump github.com/projectdiscovery/retryabledns Bumps [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) from 1.0.58 to 1.0.59. - [Release notes](https://github.com/projectdiscovery/retryabledns/releases) - [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.58...v1.0.59) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryabledns dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 31992dc6a2..6a2eeb4f20 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.41 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.47 - github.com/projectdiscovery/retryabledns v1.0.58 + github.com/projectdiscovery/retryabledns v1.0.59 github.com/projectdiscovery/retryablehttp-go v1.0.58 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index 78bd017040..fe64290d48 100644 --- a/go.sum +++ b/go.sum @@ -875,8 +875,8 @@ github.com/projectdiscovery/rawhttp v0.1.47 h1:bjhZBK+7iuvcu0QTRJjdS4wP747+33Sd5 github.com/projectdiscovery/rawhttp v0.1.47/go.mod h1:2XA7xODWEGoHpEB8qzgqsV8yVL3cg5G63ZaT9ALwU4g= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.58 h1:ut1FSB9+GZ6zQIlKJFLqIz2RZs81EmkbsHTuIrWfYLE= -github.com/projectdiscovery/retryabledns v1.0.58/go.mod h1:RobmKoNBgngAVE4H9REQtaLP1pa4TCyypHy1MWHT1mY= +github.com/projectdiscovery/retryabledns v1.0.59 h1:8pMN+VibEBp29RIUior9LXUbx0RsBTjPC0008t2hfGU= +github.com/projectdiscovery/retryabledns v1.0.59/go.mod h1:CwyQLDt9oqNIO/2ArALhAnUHJjZYdvJRSfGERRNPtoQ= github.com/projectdiscovery/retryablehttp-go v1.0.58 h1:i5BlSJGgNnoTULyqLSe3d39o/XShxK4oEvx0e/gb9N4= github.com/projectdiscovery/retryablehttp-go v1.0.58/go.mod h1:bbok7sSEplSwZOY91UlLdVilhavYos1RaCJLJx761V0= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 2800cb6744e09836517f28d54552938d1c4fa993 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 05:41:05 +0000 Subject: [PATCH 002/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.0.120 to 0.0.122. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.0.120...v0.0.122) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 31992dc6a2..17660b4e65 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( github.com/projectdiscovery/uncover v1.0.7 github.com/projectdiscovery/useragent v0.0.49 github.com/projectdiscovery/utils v0.0.92 - github.com/projectdiscovery/wappalyzergo v0.0.120 + github.com/projectdiscovery/wappalyzergo v0.0.122 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 78bd017040..7f46ae808f 100644 --- a/go.sum +++ b/go.sum @@ -891,8 +891,8 @@ github.com/projectdiscovery/useragent v0.0.49 h1:wQc9i+Xy+mUMJ45Ralv1JsQImRWqEOE github.com/projectdiscovery/useragent v0.0.49/go.mod h1:jQz6X/usiXrPYE6B/1uVKuzIrBJXgw9hLC9eeNy38+0= github.com/projectdiscovery/utils v0.0.92 h1:lGCmjUJhzoNX4FQZWpp80058pRlD0/dYxLJOSs07EqY= github.com/projectdiscovery/utils v0.0.92/go.mod h1:d5uvD5qcRiK3qxZbBy9eatCqrCSuj9SObL04w/WgXSg= -github.com/projectdiscovery/wappalyzergo v0.0.120 h1:dphOXnaT3rryo9h9fgbxnAVhtQ1uq61yyQZMYyHz960= -github.com/projectdiscovery/wappalyzergo v0.0.120/go.mod h1:qW0PP+UBMcdQBBnwk+X6YYFs6huKNvn2BOVs4vQPru0= +github.com/projectdiscovery/wappalyzergo v0.0.122 h1:xfNJ7VNzU/OGlgYtsyB5ppuOHdfWzU2B8cYATwTz54c= +github.com/projectdiscovery/wappalyzergo v0.0.122/go.mod h1:qW0PP+UBMcdQBBnwk+X6YYFs6huKNvn2BOVs4vQPru0= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From c2c0f0672f6554418bc5b85e98b78ed367594bad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 06:06:04 +0000 Subject: [PATCH 003/283] chore(deps): bump github.com/projectdiscovery/retryablehttp-go Bumps [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) from 1.0.58 to 1.0.60. - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.0.58...v1.0.60) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 6a2eeb4f20..4b9692a0d2 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.0.69 + github.com/projectdiscovery/fastdialer v0.0.70 github.com/projectdiscovery/hmap v0.0.41 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.47 github.com/projectdiscovery/retryabledns v1.0.59 - github.com/projectdiscovery/retryablehttp-go v1.0.58 + github.com/projectdiscovery/retryablehttp-go v1.0.60 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 diff --git a/go.sum b/go.sum index fe64290d48..36745c65e6 100644 --- a/go.sum +++ b/go.sum @@ -837,8 +837,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.0.52 h1:jvIvF+qN8+MbI1MHtWJJKfWqAZQlCExL3ob7SddQbZE= github.com/projectdiscovery/dsl v0.0.52/go.mod h1:xfcHwhy2HSaeGgh+1wqzOoCGm2XTdh5JzjBRBVHEMvI= -github.com/projectdiscovery/fastdialer v0.0.69 h1:BfFQTyTB1hrw9sWCw4CjQfbmlpvnJCPZEmKtxcwJGbU= -github.com/projectdiscovery/fastdialer v0.0.69/go.mod h1:RXrx7M2T3V3rMZ2h0X2/SsY93+RhgF/LmFa1E0MI3L8= +github.com/projectdiscovery/fastdialer v0.0.70 h1:1rnUKc8NRj6dzG8aTmqW+RF8m0dFbfTs9CiOo6Aig8U= +github.com/projectdiscovery/fastdialer v0.0.70/go.mod h1:HQ0ZpvOPOTZFSQxGyYJgNdek93hi4eIC1avZgiQ7+a4= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -877,8 +877,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.59 h1:8pMN+VibEBp29RIUior9LXUbx0RsBTjPC0008t2hfGU= github.com/projectdiscovery/retryabledns v1.0.59/go.mod h1:CwyQLDt9oqNIO/2ArALhAnUHJjZYdvJRSfGERRNPtoQ= -github.com/projectdiscovery/retryablehttp-go v1.0.58 h1:i5BlSJGgNnoTULyqLSe3d39o/XShxK4oEvx0e/gb9N4= -github.com/projectdiscovery/retryablehttp-go v1.0.58/go.mod h1:bbok7sSEplSwZOY91UlLdVilhavYos1RaCJLJx761V0= +github.com/projectdiscovery/retryablehttp-go v1.0.60 h1:sXbx6Rdh22SZ3AFhY3P7LC+p8GPLlANMgPHlkBXJlv8= +github.com/projectdiscovery/retryablehttp-go v1.0.60/go.mod h1:rgRdV7LSrrTTlvN7yKsYxtvWm39VZB6pgD2t1p1ma64= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From 16ce116fed5c3a6b4adc321e2f262276db69e4b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 06:31:25 +0000 Subject: [PATCH 004/283] chore(deps): bump github.com/projectdiscovery/fastdialer Bumps [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) from 0.0.69 to 0.0.71. - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.0.69...v0.0.71) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a9dd94c74c..1002e41efd 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.0.70 + github.com/projectdiscovery/fastdialer v0.0.71 github.com/projectdiscovery/hmap v0.0.41 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.47 diff --git a/go.sum b/go.sum index 69ad9c9002..dbc2f68aeb 100644 --- a/go.sum +++ b/go.sum @@ -837,8 +837,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.0.52 h1:jvIvF+qN8+MbI1MHtWJJKfWqAZQlCExL3ob7SddQbZE= github.com/projectdiscovery/dsl v0.0.52/go.mod h1:xfcHwhy2HSaeGgh+1wqzOoCGm2XTdh5JzjBRBVHEMvI= -github.com/projectdiscovery/fastdialer v0.0.70 h1:1rnUKc8NRj6dzG8aTmqW+RF8m0dFbfTs9CiOo6Aig8U= -github.com/projectdiscovery/fastdialer v0.0.70/go.mod h1:HQ0ZpvOPOTZFSQxGyYJgNdek93hi4eIC1avZgiQ7+a4= +github.com/projectdiscovery/fastdialer v0.0.71 h1:96j6Y65hDPZ9AzlYpp95hvIH5Yx/0OE2UTx+frWfnm4= +github.com/projectdiscovery/fastdialer v0.0.71/go.mod h1:b/oPPVSoLLD2N4W2/HrXbhQbyJVXqRw8CK1lenCUk64= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= From 9adfc531c7724ea9828bd23697faadc2d7d964f3 Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Wed, 15 May 2024 15:34:59 +0200 Subject: [PATCH 005/283] uniforming sizes with utils --- cmd/integration-test/http.go | 3 ++- cmd/nuclei/main.go | 3 ++- go.mod | 4 ++-- go.sum | 8 ++++---- internal/pdcp/writer.go | 5 +++-- pkg/output/output.go | 3 ++- pkg/protocols/common/automaticscan/automaticscan.go | 3 ++- pkg/protocols/http/request.go | 11 ++++++----- pkg/protocols/offlinehttp/request.go | 3 ++- pkg/protocols/protocols.go | 3 ++- pkg/reporting/format/format_utils.go | 3 ++- pkg/testutils/testutils.go | 3 ++- pkg/types/types.go | 5 +++-- pkg/utils/monitor/monitor.go | 3 ++- 14 files changed, 36 insertions(+), 24 deletions(-) diff --git a/cmd/integration-test/http.go b/cmd/integration-test/http.go index b4f957e692..5b218aa53b 100644 --- a/cmd/integration-test/http.go +++ b/cmd/integration-test/http.go @@ -23,6 +23,7 @@ import ( logutil "github.com/projectdiscovery/utils/log" sliceutil "github.com/projectdiscovery/utils/slice" stringsutil "github.com/projectdiscovery/utils/strings" + unitutils "github.com/projectdiscovery/utils/unit" ) var httpTestcases = []TestCaseInfo{ @@ -509,7 +510,7 @@ func (h *httpPostMultipartBody) Execute(filePath string) error { var routerErr error router.POST("/", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { - if err := r.ParseMultipartForm(1 * 1024); err != nil { + if err := r.ParseMultipartForm(unitutils.Mega); err != nil { routerErr = err return } diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index a1123b9ffc..8be0207797 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -38,6 +38,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/utils/monitor" errorutil "github.com/projectdiscovery/utils/errors" fileutil "github.com/projectdiscovery/utils/file" + unitutils "github.com/projectdiscovery/utils/unit" updateutils "github.com/projectdiscovery/utils/update" ) @@ -301,7 +302,7 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.StringVarP(&options.AttackType, "attack-type", "at", "", "type of payload combinations to perform (batteringram,pitchfork,clusterbomb)"), flagSet.StringVarP(&options.SourceIP, "source-ip", "sip", "", "source ip address to use for network scan"), flagSet.IntVarP(&options.ResponseReadSize, "response-size-read", "rsr", 0, "max response size to read in bytes"), - flagSet.IntVarP(&options.ResponseSaveSize, "response-size-save", "rss", 1*1024*1024, "max response size to read in bytes"), + flagSet.IntVarP(&options.ResponseSaveSize, "response-size-save", "rss", unitutils.Mega, "max response size to read in bytes"), flagSet.DurationVarP(&options.ResponseReadTimeout, "response-read-timeout", "rrt", time.Duration(5*time.Second), "response read timeout in seconds"), flagSet.CallbackVar(resetCallback, "reset", "reset removes all nuclei configuration and data files (including nuclei-templates)"), flagSet.BoolVarP(&options.TlsImpersonate, "tls-impersonate", "tlsi", false, "enable experimental client hello (ja3) tls randomization"), diff --git a/go.mod b/go.mod index 1002e41efd..39156d2f6d 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.0.71 - github.com/projectdiscovery/hmap v0.0.41 + github.com/projectdiscovery/hmap v0.0.42 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.47 github.com/projectdiscovery/retryabledns v1.0.59 @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.7 github.com/projectdiscovery/useragent v0.0.49 - github.com/projectdiscovery/utils v0.0.92 + github.com/projectdiscovery/utils v0.0.94-0.20240515132152-3908d4bb5d2c github.com/projectdiscovery/wappalyzergo v0.0.122 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index dbc2f68aeb..4a95dbd040 100644 --- a/go.sum +++ b/go.sum @@ -853,8 +853,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.41 h1:8IgTyDce3/2JzcfPVA4H+XpBRFfETULx8td3BMdSYVE= -github.com/projectdiscovery/hmap v0.0.41/go.mod h1:bCrai6x5Eijqm2U+jtcH0wZX5ZcaZhcvzoMGTZgLAf0= +github.com/projectdiscovery/hmap v0.0.42 h1:+P8CC7gAeTG0phe0d1FB7i3Vl15v1K+dJApwX4rvMAM= +github.com/projectdiscovery/hmap v0.0.42/go.mod h1:lbGBuL/bLoYWdlgphZmHXjZCYzteVDf4WfKsR/aH57c= github.com/projectdiscovery/httpx v1.6.0 h1:6g4UoSQpsOyZgaK+SMLLnZIAU0eYyTxBUwVl+jtm0JQ= github.com/projectdiscovery/httpx v1.6.0/go.mod h1:dzMzOWKfeofaXcXzac3O+YmuY24P0CRnviKGxvol6MM= github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= @@ -889,8 +889,8 @@ github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7 github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= github.com/projectdiscovery/useragent v0.0.49 h1:wQc9i+Xy+mUMJ45Ralv1JsQImRWqEOEvpYUe6MchScg= github.com/projectdiscovery/useragent v0.0.49/go.mod h1:jQz6X/usiXrPYE6B/1uVKuzIrBJXgw9hLC9eeNy38+0= -github.com/projectdiscovery/utils v0.0.92 h1:lGCmjUJhzoNX4FQZWpp80058pRlD0/dYxLJOSs07EqY= -github.com/projectdiscovery/utils v0.0.92/go.mod h1:d5uvD5qcRiK3qxZbBy9eatCqrCSuj9SObL04w/WgXSg= +github.com/projectdiscovery/utils v0.0.94-0.20240515132152-3908d4bb5d2c h1:vGsulLeJNcFjQTp+aSAO7auX5wriKrLrZ8+SILxtRcM= +github.com/projectdiscovery/utils v0.0.94-0.20240515132152-3908d4bb5d2c/go.mod h1:wxPi+kCsLm5JCLMkZJyGwS+4Mn4PaPHHf0ayE8JphOw= github.com/projectdiscovery/wappalyzergo v0.0.122 h1:xfNJ7VNzU/OGlgYtsyB5ppuOHdfWzU2B8cYATwTz54c= github.com/projectdiscovery/wappalyzergo v0.0.122/go.mod h1:qW0PP+UBMcdQBBnwk+X6YYFs6huKNvn2BOVs4vQPru0= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= diff --git a/internal/pdcp/writer.go b/internal/pdcp/writer.go index a76d4ea31a..6e05410355 100644 --- a/internal/pdcp/writer.go +++ b/internal/pdcp/writer.go @@ -19,6 +19,7 @@ import ( "github.com/projectdiscovery/retryablehttp-go" pdcpauth "github.com/projectdiscovery/utils/auth/pdcp" errorutil "github.com/projectdiscovery/utils/errors" + unitutils "github.com/projectdiscovery/utils/unit" updateutils "github.com/projectdiscovery/utils/update" urlutil "github.com/projectdiscovery/utils/url" ) @@ -26,8 +27,8 @@ import ( const ( uploadEndpoint = "/v1/scans/import" appendEndpoint = "/v1/scans/%s/import" - flushTimer = time.Duration(1) * time.Minute - MaxChunkSize = 1024 * 1024 * 4 // 4 MB + flushTimer = time.Minute + MaxChunkSize = 4 * unitutils.Mega // 4 MB xidRe = `^[a-z0-9]{20}$` ) diff --git a/pkg/output/output.go b/pkg/output/output.go index 044d164f1f..23b2f0ec91 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -30,6 +30,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/utils" fileutil "github.com/projectdiscovery/utils/file" osutils "github.com/projectdiscovery/utils/os" + unitutils "github.com/projectdiscovery/utils/unit" ) // Writer is an interface which writes output to somewhere for nuclei events. @@ -411,7 +412,7 @@ func (w *StandardWriter) WriteFailure(wrappedEvent *InternalWrappedEvent) error return w.Write(data) } -var maxTemplateFileSizeForEncoding = 1024 * 1024 +var maxTemplateFileSizeForEncoding = unitutils.Mega func (w *StandardWriter) encodeTemplate(templatePath string) string { data, err := os.ReadFile(templatePath) diff --git a/pkg/protocols/common/automaticscan/automaticscan.go b/pkg/protocols/common/automaticscan/automaticscan.go index 2a7988cb04..a5e51c177a 100644 --- a/pkg/protocols/common/automaticscan/automaticscan.go +++ b/pkg/protocols/common/automaticscan/automaticscan.go @@ -32,13 +32,14 @@ import ( sliceutil "github.com/projectdiscovery/utils/slice" stringsutil "github.com/projectdiscovery/utils/strings" syncutil "github.com/projectdiscovery/utils/sync" + unitutils "github.com/projectdiscovery/utils/unit" wappalyzer "github.com/projectdiscovery/wappalyzergo" "gopkg.in/yaml.v2" ) const ( mappingFilename = "wappalyzer-mapping.yml" - maxDefaultBody = 4 * 1024 * 1024 // 4MB + maxDefaultBody = 4 * unitutils.Mega ) // Options contains configuration options for automatic scan service diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index df914a785c..fc3df039ac 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -42,6 +42,7 @@ import ( "github.com/projectdiscovery/utils/reader" sliceutil "github.com/projectdiscovery/utils/slice" stringsutil "github.com/projectdiscovery/utils/strings" + unitutils "github.com/projectdiscovery/utils/unit" urlutil "github.com/projectdiscovery/utils/url" ) @@ -53,7 +54,7 @@ const ( ) var ( - MaxBodyRead = int64(10 * 1024 * 1024) // 10MB + MaxBodyRead = 10 * unitutils.Mega // ErrMissingVars is error occured when variables are missing ErrMissingVars = errors.New("stop execution due to unresolved variables") ) @@ -557,7 +558,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa return requestErr } -const drainReqSize = int64(8 * 1024) +const drainReqSize = int64(8 * unitutils.Kilo) // executeRequest executes the actual generated request and returns error if occurred func (request *Request) executeRequest(input *contextargs.Context, generatedRequest *generatedRequest, previousEvent output.InternalEvent, hasInteractMatchers bool, processEvent protocols.OutputEventCallback, requestCount int) (err error) { @@ -809,15 +810,15 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ // define max body read limit maxBodylimit := MaxBodyRead // 10MB if request.MaxSize > 0 { - maxBodylimit = int64(request.MaxSize) + maxBodylimit = request.MaxSize } if request.options.Options.ResponseReadSize != 0 { - maxBodylimit = int64(request.options.Options.ResponseReadSize) + maxBodylimit = request.options.Options.ResponseReadSize } // respChain is http response chain that reads response body // efficiently by reusing buffers and does all decoding and optimizations - respChain := httpUtils.NewResponseChain(resp, maxBodylimit) + respChain := httpUtils.NewResponseChain(resp, int64(maxBodylimit)) defer respChain.Close() // reuse buffers // we only intend to log/save the final redirected response diff --git a/pkg/protocols/offlinehttp/request.go b/pkg/protocols/offlinehttp/request.go index 4a440c167f..e913e02d8f 100644 --- a/pkg/protocols/offlinehttp/request.go +++ b/pkg/protocols/offlinehttp/request.go @@ -17,11 +17,12 @@ import ( templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" "github.com/projectdiscovery/utils/conversion" syncutil "github.com/projectdiscovery/utils/sync" + unitutils "github.com/projectdiscovery/utils/unit" ) var _ protocols.Request = &Request{} -const maxSize = 5 * 1024 * 1024 +const maxSize = 5 * unitutils.Mega // Type returns the type of the protocol request func (request *Request) Type() templateTypes.ProtocolType { diff --git a/pkg/protocols/protocols.go b/pkg/protocols/protocols.go index 6b4904c8d8..7804ea3c29 100644 --- a/pkg/protocols/protocols.go +++ b/pkg/protocols/protocols.go @@ -33,10 +33,11 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/scan" templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" "github.com/projectdiscovery/nuclei/v3/pkg/types" + unitutils "github.com/projectdiscovery/utils/unit" ) var ( - MaxTemplateFileSizeForEncoding = 1024 * 1024 + MaxTemplateFileSizeForEncoding = unitutils.Mega ) // Executer is an interface implemented any protocol based request executer. diff --git a/pkg/reporting/format/format_utils.go b/pkg/reporting/format/format_utils.go index 62a3d75fe8..d5ec0adfb1 100644 --- a/pkg/reporting/format/format_utils.go +++ b/pkg/reporting/format/format_utils.go @@ -12,6 +12,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/markdown/util" "github.com/projectdiscovery/nuclei/v3/pkg/types" "github.com/projectdiscovery/nuclei/v3/pkg/utils" + unitutils "github.com/projectdiscovery/utils/unit" ) // Summary returns a formatted built one line summary of the event @@ -71,7 +72,7 @@ func CreateReportDescription(event *output.ResultEvent, formatter ResultFormatte if event.Response != "" { var responseString string // If the response is larger than 5 kb, truncate it before writing. - maxKbSize := 5 * 1024 + maxKbSize := 5 * unitutils.Kilo if len(event.Response) > maxKbSize { responseString = event.Response[:maxKbSize] responseString += ".... Truncated ...." diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go index 68410f7f1d..a54fbbcf40 100644 --- a/pkg/testutils/testutils.go +++ b/pkg/testutils/testutils.go @@ -23,6 +23,7 @@ import ( protocolUtils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" "github.com/projectdiscovery/nuclei/v3/pkg/types" "github.com/projectdiscovery/nuclei/v3/pkg/utils" + unitutils "github.com/projectdiscovery/utils/unit" ) // Init initializes the protocols and their configurations @@ -201,7 +202,7 @@ func (m *MockOutputWriter) WriteFailure(wrappedEvent *output.InternalWrappedEven return m.Write(data) } -var maxTemplateFileSizeForEncoding = 1024 * 1024 +var maxTemplateFileSizeForEncoding = unitutils.Mega func (w *MockOutputWriter) encodeTemplate(templatePath string) string { data, err := os.ReadFile(templatePath) diff --git a/pkg/types/types.go b/pkg/types/types.go index 0c31769ee1..577461b217 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -15,6 +15,7 @@ import ( errorutil "github.com/projectdiscovery/utils/errors" fileutil "github.com/projectdiscovery/utils/file" folderutil "github.com/projectdiscovery/utils/folder" + unitutils "github.com/projectdiscovery/utils/unit" ) var ( @@ -435,8 +436,8 @@ func DefaultOptions() *Options { Timeout: 5, Retries: 1, MaxHostError: 30, - ResponseReadSize: 10 * 1024 * 1024, - ResponseSaveSize: 1024 * 1024, + ResponseReadSize: 10 * unitutils.Mega, + ResponseSaveSize: unitutils.Mega, ResponseReadTimeout: 5 * time.Second, } } diff --git a/pkg/utils/monitor/monitor.go b/pkg/utils/monitor/monitor.go index 6441fdf20d..cefb9506b8 100644 --- a/pkg/utils/monitor/monitor.go +++ b/pkg/utils/monitor/monitor.go @@ -16,6 +16,7 @@ import ( "github.com/DataDog/gostackparse" "github.com/projectdiscovery/gologger" permissionutil "github.com/projectdiscovery/utils/permission" + unitutils "github.com/projectdiscovery/utils/unit" "github.com/rs/xid" ) @@ -118,7 +119,7 @@ func (s *Agent) monitorWorker(cancel context.CancelFunc) { // getStack returns full stack trace of the program var getStack = func(all bool) []byte { - for i := 1024 * 1024; ; i *= 2 { + for i := unitutils.Mega; ; i *= 2 { buf := make([]byte, i) if n := runtime.Stack(buf, all); n < i { return buf[:n-1] From 47ca8fe8427a5cd08886c08cf84cc2feebe3d1cd Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Wed, 15 May 2024 21:25:40 +0200 Subject: [PATCH 006/283] fix non gc-able dialer closes #5165 --- go.mod | 2 +- go.sum | 4 ++-- lib/sdk.go | 6 +++--- lib/sdk_private.go | 6 +++++- pkg/protocols/common/protocolinit/init.go | 3 +-- pkg/protocols/common/protocolstate/state.go | 5 +++++ .../http/httpclientpool/clientpool.go | 20 ++++++------------- pkg/protocols/http/request.go | 4 ++-- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index 39156d2f6d..98973239e5 100644 --- a/go.mod +++ b/go.mod @@ -99,7 +99,7 @@ require ( github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 - github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc + github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 golang.org/x/term v0.19.0 gopkg.in/yaml.v3 v3.0.1 diff --git a/go.sum b/go.sum index 4a95dbd040..281ee725da 100644 --- a/go.sum +++ b/go.sum @@ -1016,8 +1016,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= -github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc h1:/5P5I7oDqdLee8W9Moof0xSD8tT1qEVzhObSI9CqHkg= -github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc/go.mod h1:uQdBQGrE1fZ2EyOs0pLcCDd1bBV4rSThieuIIGhXZ50= +github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 h1:GXIyLuIJ5Qk46lI8WJ83qHBZKUI3zhmMmuoY9HICUIQ= +github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9/go.mod h1:uQdBQGrE1fZ2EyOs0pLcCDd1bBV4rSThieuIIGhXZ50= github.com/tidwall/assert v0.1.0 h1:aWcKyRBUAdLoVebxo95N7+YZVTFF/ASTr7BN4sLP6XI= github.com/tidwall/assert v0.1.0/go.mod h1:QLYtGyeqse53vuELQheYl9dngGCJQ+mTtlxcktb+Kj8= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= diff --git a/lib/sdk.go b/lib/sdk.go index 63925f47ca..7a28cbc53e 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -18,7 +18,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh" - "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/headless/engine" "github.com/projectdiscovery/nuclei/v3/pkg/reporting" "github.com/projectdiscovery/nuclei/v3/pkg/templates" @@ -206,8 +206,6 @@ func (e *NucleiEngine) Close() { if e.rateLimiter != nil { e.rateLimiter.Stop() } - // close global shared resources - protocolstate.Close() if e.inputProvider != nil { e.inputProvider.Close() } @@ -217,6 +215,8 @@ func (e *NucleiEngine) Close() { if e.httpxClient != nil { _ = e.httpxClient.Close() } + // close global shared resources + protocolinit.Close() } // ExecuteCallbackWithCtx executes templates on targets and calls callback on each result(only if results are found) diff --git a/lib/sdk_private.go b/lib/sdk_private.go index 13e8746510..6f8c929e38 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -35,7 +35,7 @@ import ( "github.com/projectdiscovery/ratelimit" ) -var sharedInit sync.Once = sync.Once{} +var sharedInit *sync.Once // applyRequiredDefaults to options func (e *NucleiEngine) applyRequiredDefaults() { @@ -118,6 +118,10 @@ func (e *NucleiEngine) init() error { e.parser = templates.NewParser() + if sharedInit == nil || protocolstate.ShouldInit() { + sharedInit = &sync.Once{} + } + sharedInit.Do(func() { _ = protocolstate.Init(e.opts) _ = protocolinit.Init(e.opts) diff --git a/pkg/protocols/common/protocolinit/init.go b/pkg/protocols/common/protocolinit/init.go index 2ab5d7ca9c..c8268337f5 100644 --- a/pkg/protocols/common/protocolinit/init.go +++ b/pkg/protocols/common/protocolinit/init.go @@ -13,7 +13,6 @@ import ( // Init initializes the client pools for the protocols func Init(options *types.Options) error { - if err := protocolstate.Init(options); err != nil { return err } @@ -39,5 +38,5 @@ func Init(options *types.Options) error { } func Close() { - protocolstate.Dialer.Close() + protocolstate.Close() } diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index 67820ec074..02e30e06fd 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -22,6 +22,10 @@ var ( Dialer *fastdialer.Dialer ) +func ShouldInit() bool { + return Dialer == nil +} + // Init creates the Dialer instance based on user configuration func Init(options *types.Options) error { if Dialer != nil { @@ -210,5 +214,6 @@ func Close() { if Dialer != nil { Dialer.Close() } + Dialer = nil StopActiveMemGuardian() } diff --git a/pkg/protocols/http/httpclientpool/clientpool.go b/pkg/protocols/http/httpclientpool/clientpool.go index 3e2baf55a5..96b0939511 100644 --- a/pkg/protocols/http/httpclientpool/clientpool.go +++ b/pkg/protocols/http/httpclientpool/clientpool.go @@ -16,7 +16,6 @@ import ( "golang.org/x/net/proxy" "golang.org/x/net/publicsuffix" - "github.com/projectdiscovery/fastdialer/fastdialer" "github.com/projectdiscovery/fastdialer/fastdialer/ja3/impersonate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" @@ -28,9 +27,6 @@ import ( ) var ( - // Dialer is a copy of the fastdialer from protocolstate - Dialer *fastdialer.Dialer - rawHttpClient *rawhttp.Client forceMaxRedirects int normalClient *retryablehttp.Client @@ -146,8 +142,8 @@ func GetRawHTTP(options *types.Options) *rawhttp.Client { rawHttpOptions.Proxy = types.ProxyURL } else if types.ProxySocksURL != "" { rawHttpOptions.Proxy = types.ProxySocksURL - } else if Dialer != nil { - rawHttpOptions.FastDialer = Dialer + } else if protocolstate.Dialer != nil { + rawHttpOptions.FastDialer = protocolstate.Dialer } rawHttpOptions.Timeout = GetHttpTimeout(options) rawHttpClient = rawhttp.NewClient(rawHttpOptions) @@ -167,10 +163,6 @@ func Get(options *types.Options, configuration *Configuration) (*retryablehttp.C func wrappedGet(options *types.Options, configuration *Configuration) (*retryablehttp.Client, error) { var err error - if Dialer == nil { - Dialer = protocolstate.Dialer - } - hash := configuration.Hash() if client, ok := clientPool.Get(hash); ok { return client, nil @@ -237,15 +229,15 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl transport := &http.Transport{ ForceAttemptHTTP2: options.ForceAttemptHTTP2, - DialContext: Dialer.Dial, + DialContext: protocolstate.Dialer.Dial, DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) { if options.TlsImpersonate { - return Dialer.DialTLSWithConfigImpersonate(ctx, network, addr, tlsConfig, impersonate.Random, nil) + return protocolstate.Dialer.DialTLSWithConfigImpersonate(ctx, network, addr, tlsConfig, impersonate.Random, nil) } if options.HasClientCertificates() || options.ForceAttemptHTTP2 { - return Dialer.DialTLSWithConfig(ctx, network, addr, tlsConfig) + return protocolstate.Dialer.DialTLSWithConfig(ctx, network, addr, tlsConfig) } - return Dialer.DialTLS(ctx, network, addr) + return protocolstate.Dialer.DialTLS(ctx, network, addr) }, MaxIdleConns: maxIdleConns, MaxIdleConnsPerHost: maxIdleConnsPerHost, diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index fc3df039ac..c46db8f4b5 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -777,7 +777,7 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ if input.MetaInput.CustomIP != "" { outputEvent["ip"] = input.MetaInput.CustomIP } else { - outputEvent["ip"] = httpclientpool.Dialer.GetDialedIP(hostname) + outputEvent["ip"] = protocolstate.Dialer.GetDialedIP(hostname) } if len(generatedRequest.interactshURLs) > 0 { @@ -873,7 +873,7 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ if input.MetaInput.CustomIP != "" { outputEvent["ip"] = input.MetaInput.CustomIP } else { - outputEvent["ip"] = httpclientpool.Dialer.GetDialedIP(hostname) + outputEvent["ip"] = protocolstate.Dialer.GetDialedIP(hostname) } if request.options.Interactsh != nil { request.options.Interactsh.MakePlaceholders(generatedRequest.interactshURLs, outputEvent) From b820fb946457516559937d42d21fa3419381e367 Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Wed, 15 May 2024 21:43:43 +0200 Subject: [PATCH 007/283] fixing shared cleanup --- lib/multi.go | 2 +- lib/sdk.go | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/multi.go b/lib/multi.go index 5b2c7d6776..2ede35aecf 100644 --- a/lib/multi.go +++ b/lib/multi.go @@ -123,7 +123,7 @@ func (e *ThreadSafeNucleiEngine) ExecuteNucleiWithOptsCtx(ctx context.Context, t return err } } - defer tmpEngine.Close() + defer tmpEngine.closeInternal() // create ephemeral nuclei objects/instances/types using base nuclei engine unsafeOpts, err := createEphemeralObjects(e.eng, tmpEngine.opts) if err != nil { diff --git a/lib/sdk.go b/lib/sdk.go index 7a28cbc53e..4cfebb5c70 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -183,8 +183,7 @@ func (e *NucleiEngine) SignTemplate(tmplSigner *signer.TemplateSigner, data []by return buff.Bytes(), err } -// Close all resources used by nuclei engine -func (e *NucleiEngine) Close() { +func (e *NucleiEngine) closeInternal() { if e.interactshClient != nil { e.interactshClient.Close() } @@ -215,7 +214,11 @@ func (e *NucleiEngine) Close() { if e.httpxClient != nil { _ = e.httpxClient.Close() } - // close global shared resources +} + +// Close all resources used by nuclei engine +func (e *NucleiEngine) Close() { + e.closeInternal() protocolinit.Close() } From aaf5d262b2aefd07458edad4fcf316ac7c0260ad Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Thu, 16 May 2024 11:32:27 +0200 Subject: [PATCH 008/283] parallelize template loading --- pkg/catalog/loader/loader.go | 126 +++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/pkg/catalog/loader/loader.go b/pkg/catalog/loader/loader.go index c719f71a5a..680a98c714 100644 --- a/pkg/catalog/loader/loader.go +++ b/pkg/catalog/loader/loader.go @@ -7,6 +7,7 @@ import ( "os" "sort" "strings" + "sync" "github.com/logrusorgru/aurora" "github.com/pkg/errors" @@ -441,75 +442,84 @@ func (store *Store) LoadTemplatesWithTags(templatesList, tags []string) []*templ } } + var wgLoadTemplates sync.WaitGroup + for templatePath := range templatePathMap { - loaded, err := store.config.ExecutorOptions.Parser.LoadTemplate(templatePath, store.tagFilter, tags, store.config.Catalog) - if loaded || store.pathFilter.MatchIncluded(templatePath) { - parsed, err := templates.Parse(templatePath, store.preprocessor, store.config.ExecutorOptions) - if err != nil { - // exclude templates not compatible with offline matching from total runtime warning stats - if !errors.Is(err, templates.ErrIncompatibleWithOfflineMatching) { - stats.Increment(templates.RuntimeWarningsStats) - } - gologger.Warning().Msgf("Could not parse template %s: %s\n", templatePath, err) - } else if parsed != nil { - if !parsed.Verified && store.config.ExecutorOptions.Options.DisableUnsignedTemplates { - // skip unverified templates when prompted to - stats.Increment(templates.SkippedUnsignedStats) - continue - } - // if template has request signature like aws then only signed and verified templates are allowed - if parsed.UsesRequestSignature() && !parsed.Verified { - stats.Increment(templates.SkippedRequestSignatureStats) - continue - } - // DAST only templates - if store.config.ExecutorOptions.Options.DAST { - // check if the template is a DAST template - if parsed.IsFuzzing() { - loadTemplate(parsed) + wgLoadTemplates.Add(1) + go func(templatePath string) { + defer wgLoadTemplates.Done() + + loaded, err := store.config.ExecutorOptions.Parser.LoadTemplate(templatePath, store.tagFilter, tags, store.config.Catalog) + if loaded || store.pathFilter.MatchIncluded(templatePath) { + parsed, err := templates.Parse(templatePath, store.preprocessor, store.config.ExecutorOptions) + if err != nil { + // exclude templates not compatible with offline matching from total runtime warning stats + if !errors.Is(err, templates.ErrIncompatibleWithOfflineMatching) { + stats.Increment(templates.RuntimeWarningsStats) } - } else if len(parsed.RequestsHeadless) > 0 && !store.config.ExecutorOptions.Options.Headless { - // donot include headless template in final list if headless flag is not set - stats.Increment(templates.ExcludedHeadlessTmplStats) - if config.DefaultConfig.LogAllEvents { - gologger.Print().Msgf("[%v] Headless flag is required for headless template '%s'.\n", aurora.Yellow("WRN").String(), templatePath) + gologger.Warning().Msgf("Could not parse template %s: %s\n", templatePath, err) + } else if parsed != nil { + if !parsed.Verified && store.config.ExecutorOptions.Options.DisableUnsignedTemplates { + // skip unverified templates when prompted to + stats.Increment(templates.SkippedUnsignedStats) + return } - } else if len(parsed.RequestsCode) > 0 && !store.config.ExecutorOptions.Options.EnableCodeTemplates { - // donot include 'Code' protocol custom template in final list if code flag is not set - stats.Increment(templates.ExcludedCodeTmplStats) - if config.DefaultConfig.LogAllEvents { - gologger.Print().Msgf("[%v] Code flag is required for code protocol template '%s'.\n", aurora.Yellow("WRN").String(), templatePath) + // if template has request signature like aws then only signed and verified templates are allowed + if parsed.UsesRequestSignature() && !parsed.Verified { + stats.Increment(templates.SkippedRequestSignatureStats) + return } - } else if len(parsed.RequestsCode) > 0 && !parsed.Verified && len(parsed.Workflows) == 0 { - // donot include unverified 'Code' protocol custom template in final list - stats.Increment(templates.SkippedCodeTmplTamperedStats) - // these will be skipped so increment skip counter - stats.Increment(templates.SkippedUnsignedStats) - if config.DefaultConfig.LogAllEvents { - gologger.Print().Msgf("[%v] Tampered/Unsigned template at %v.\n", aurora.Yellow("WRN").String(), templatePath) - } - } else if parsed.IsFuzzing() && !store.config.ExecutorOptions.Options.DAST { - stats.Increment(templates.ExludedDastTmplStats) - if config.DefaultConfig.LogAllEvents { - gologger.Print().Msgf("[%v] -dast flag is required for DAST template '%s'.\n", aurora.Yellow("WRN").String(), templatePath) + // DAST only templates + if store.config.ExecutorOptions.Options.DAST { + // check if the template is a DAST template + if parsed.IsFuzzing() { + loadTemplate(parsed) + } + } else if len(parsed.RequestsHeadless) > 0 && !store.config.ExecutorOptions.Options.Headless { + // donot include headless template in final list if headless flag is not set + stats.Increment(templates.ExcludedHeadlessTmplStats) + if config.DefaultConfig.LogAllEvents { + gologger.Print().Msgf("[%v] Headless flag is required for headless template '%s'.\n", aurora.Yellow("WRN").String(), templatePath) + } + } else if len(parsed.RequestsCode) > 0 && !store.config.ExecutorOptions.Options.EnableCodeTemplates { + // donot include 'Code' protocol custom template in final list if code flag is not set + stats.Increment(templates.ExcludedCodeTmplStats) + if config.DefaultConfig.LogAllEvents { + gologger.Print().Msgf("[%v] Code flag is required for code protocol template '%s'.\n", aurora.Yellow("WRN").String(), templatePath) + } + } else if len(parsed.RequestsCode) > 0 && !parsed.Verified && len(parsed.Workflows) == 0 { + // donot include unverified 'Code' protocol custom template in final list + stats.Increment(templates.SkippedCodeTmplTamperedStats) + // these will be skipped so increment skip counter + stats.Increment(templates.SkippedUnsignedStats) + if config.DefaultConfig.LogAllEvents { + gologger.Print().Msgf("[%v] Tampered/Unsigned template at %v.\n", aurora.Yellow("WRN").String(), templatePath) + } + } else if parsed.IsFuzzing() && !store.config.ExecutorOptions.Options.DAST { + stats.Increment(templates.ExludedDastTmplStats) + if config.DefaultConfig.LogAllEvents { + gologger.Print().Msgf("[%v] -dast flag is required for DAST template '%s'.\n", aurora.Yellow("WRN").String(), templatePath) + } + } else { + loadTemplate(parsed) } - } else { - loadTemplate(parsed) } } - } - if err != nil { - if strings.Contains(err.Error(), templates.ErrExcluded.Error()) { - stats.Increment(templates.TemplatesExcludedStats) - if config.DefaultConfig.LogAllEvents { - gologger.Print().Msgf("[%v] %v\n", aurora.Yellow("WRN").String(), err.Error()) + if err != nil { + if strings.Contains(err.Error(), templates.ErrExcluded.Error()) { + stats.Increment(templates.TemplatesExcludedStats) + if config.DefaultConfig.LogAllEvents { + gologger.Print().Msgf("[%v] %v\n", aurora.Yellow("WRN").String(), err.Error()) + } + return } - continue + gologger.Warning().Msg(err.Error()) } - gologger.Warning().Msg(err.Error()) - } + }(templatePath) } + wgLoadTemplates.Wait() + sort.SliceStable(loadedTemplates, func(i, j int) bool { return loadedTemplates[i].Path < loadedTemplates[j].Path }) From 3d5605530bc210557f6988c34cc73a0c9832a463 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Thu, 16 May 2024 13:42:40 +0200 Subject: [PATCH 009/283] race --- pkg/utils/stats/stats.go | 46 ++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/pkg/utils/stats/stats.go b/pkg/utils/stats/stats.go index 590608d1e2..b6f9e9b36d 100644 --- a/pkg/utils/stats/stats.go +++ b/pkg/utils/stats/stats.go @@ -2,23 +2,22 @@ package stats import ( "fmt" - "sync" "sync/atomic" "github.com/logrusorgru/aurora" "github.com/projectdiscovery/gologger" + mapsutil "github.com/projectdiscovery/utils/maps" ) // Storage is a storage for storing statistics information // about the nuclei engine displaying it at user-defined intervals. type Storage struct { - data map[string]*storageDataItem - mutex *sync.RWMutex + data *mapsutil.SyncLockMap[string, *storageDataItem] } type storageDataItem struct { description string - value int64 + value atomic.Int64 } var Default *Storage @@ -59,38 +58,32 @@ func GetValue(name string) int64 { // New creates a new storage object func New() *Storage { - return &Storage{data: make(map[string]*storageDataItem), mutex: &sync.RWMutex{}} + data := mapsutil.NewSyncLockMap[string, *storageDataItem]() + return &Storage{data: data} } // NewEntry creates a new entry in the storage object func (s *Storage) NewEntry(name, description string) { - s.mutex.Lock() - s.data[name] = &storageDataItem{description: description, value: 0} - s.mutex.Unlock() + s.data.Set(name, &storageDataItem{description: description, value: atomic.Int64{}}) } // Increment increments the value for a name string func (s *Storage) Increment(name string) { - s.mutex.RLock() - data, ok := s.data[name] - s.mutex.RUnlock() + data, ok := s.data.Get(name) if !ok { return } - - atomic.AddInt64(&data.value, 1) + data.value.Add(1) } // Display displays the stats for a name func (s *Storage) Display(name string) { - s.mutex.RLock() - data, ok := s.data[name] - s.mutex.RUnlock() + data, ok := s.data.Get(name) if !ok { return } - dataValue := atomic.LoadInt64(&data.value) + dataValue := data.value.Load() if dataValue == 0 { return // don't show for nil stats } @@ -98,14 +91,12 @@ func (s *Storage) Display(name string) { } func (s *Storage) DisplayAsWarning(name string) { - s.mutex.RLock() - data, ok := s.data[name] - s.mutex.RUnlock() + data, ok := s.data.Get(name) if !ok { return } - dataValue := atomic.LoadInt64(&data.value) + dataValue := data.value.Load() if dataValue == 0 { return // don't show for nil stats } @@ -115,14 +106,12 @@ func (s *Storage) DisplayAsWarning(name string) { // ForceDisplayWarning forces the display of a warning // regardless of current verbosity level func (s *Storage) ForceDisplayWarning(name string) { - s.mutex.RLock() - data, ok := s.data[name] - s.mutex.RUnlock() + data, ok := s.data.Get(name) if !ok { return } - dataValue := atomic.LoadInt64(&data.value) + dataValue := data.value.Load() if dataValue == 0 { return // don't show for nil stats } @@ -131,13 +120,10 @@ func (s *Storage) ForceDisplayWarning(name string) { // GetValue returns the value for a set variable func (s *Storage) GetValue(name string) int64 { - s.mutex.RLock() - data, ok := s.data[name] - s.mutex.RUnlock() + data, ok := s.data.Get(name) if !ok { return 0 } - dataValue := atomic.LoadInt64(&data.value) - return dataValue + return data.value.Load() } From 06b0219839da372d1d93fd3166491a125d219773 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Thu, 16 May 2024 13:48:28 +0200 Subject: [PATCH 010/283] lint --- pkg/utils/stats/stats.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/utils/stats/stats.go b/pkg/utils/stats/stats.go index b6f9e9b36d..f1edf2ea33 100644 --- a/pkg/utils/stats/stats.go +++ b/pkg/utils/stats/stats.go @@ -64,7 +64,7 @@ func New() *Storage { // NewEntry creates a new entry in the storage object func (s *Storage) NewEntry(name, description string) { - s.data.Set(name, &storageDataItem{description: description, value: atomic.Int64{}}) + _ = s.data.Set(name, &storageDataItem{description: description, value: atomic.Int64{}}) } // Increment increments the value for a name string From f1b739f2a5df1184c45e1e264f9d2818274cd0d9 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Thu, 16 May 2024 14:57:33 +0200 Subject: [PATCH 011/283] fixing race --- go.mod | 2 +- go.sum | 2 ++ pkg/catalog/loader/loader.go | 11 ++++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 98973239e5..3dfe4314bb 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.7 github.com/projectdiscovery/useragent v0.0.49 - github.com/projectdiscovery/utils v0.0.94-0.20240515132152-3908d4bb5d2c + github.com/projectdiscovery/utils v0.0.94-0.20240516124025-c3cf7603d51e github.com/projectdiscovery/wappalyzergo v0.0.122 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 281ee725da..07ae0039f8 100644 --- a/go.sum +++ b/go.sum @@ -891,6 +891,8 @@ github.com/projectdiscovery/useragent v0.0.49 h1:wQc9i+Xy+mUMJ45Ralv1JsQImRWqEOE github.com/projectdiscovery/useragent v0.0.49/go.mod h1:jQz6X/usiXrPYE6B/1uVKuzIrBJXgw9hLC9eeNy38+0= github.com/projectdiscovery/utils v0.0.94-0.20240515132152-3908d4bb5d2c h1:vGsulLeJNcFjQTp+aSAO7auX5wriKrLrZ8+SILxtRcM= github.com/projectdiscovery/utils v0.0.94-0.20240515132152-3908d4bb5d2c/go.mod h1:wxPi+kCsLm5JCLMkZJyGwS+4Mn4PaPHHf0ayE8JphOw= +github.com/projectdiscovery/utils v0.0.94-0.20240516124025-c3cf7603d51e h1:PJbEUAFSSVT1egqY0J9V7yUi/ebz1agKBn+KPPUwBWA= +github.com/projectdiscovery/utils v0.0.94-0.20240516124025-c3cf7603d51e/go.mod h1:wxPi+kCsLm5JCLMkZJyGwS+4Mn4PaPHHf0ayE8JphOw= github.com/projectdiscovery/wappalyzergo v0.0.122 h1:xfNJ7VNzU/OGlgYtsyB5ppuOHdfWzU2B8cYATwTz54c= github.com/projectdiscovery/wappalyzergo v0.0.122/go.mod h1:qW0PP+UBMcdQBBnwk+X6YYFs6huKNvn2BOVs4vQPru0= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= diff --git a/pkg/catalog/loader/loader.go b/pkg/catalog/loader/loader.go index 680a98c714..e1d8371e35 100644 --- a/pkg/catalog/loader/loader.go +++ b/pkg/catalog/loader/loader.go @@ -24,6 +24,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/workflows" "github.com/projectdiscovery/retryablehttp-go" errorutil "github.com/projectdiscovery/utils/errors" + sliceutil "github.com/projectdiscovery/utils/slice" stringsutil "github.com/projectdiscovery/utils/strings" urlutil "github.com/projectdiscovery/utils/url" ) @@ -426,10 +427,10 @@ func (store *Store) LoadTemplatesWithTags(templatesList, tags []string) []*templ store.logErroredTemplates(errs) templatePathMap := store.pathFilter.Match(includedTemplates) - loadedTemplates := make([]*templates.Template, 0, len(templatePathMap)) + loadedTemplates := sliceutil.NewSyncSlice[*templates.Template]() loadTemplate := func(tmpl *templates.Template) { - loadedTemplates = append(loadedTemplates, tmpl) + loadedTemplates.Append(tmpl) // increment signed/unsigned counters if tmpl.Verified { if tmpl.TemplateVerifier == "" { @@ -520,11 +521,11 @@ func (store *Store) LoadTemplatesWithTags(templatesList, tags []string) []*templ wgLoadTemplates.Wait() - sort.SliceStable(loadedTemplates, func(i, j int) bool { - return loadedTemplates[i].Path < loadedTemplates[j].Path + sort.SliceStable(loadedTemplates.Slice, func(i, j int) bool { + return loadedTemplates.Slice[i].Path < loadedTemplates.Slice[j].Path }) - return loadedTemplates + return loadedTemplates.Slice } // IsHTTPBasedProtocolUsed returns true if http/headless protocol is being used for From 4170e1cbb8653683977c3637b64c5203953bf9e4 Mon Sep 17 00:00:00 2001 From: Ice3man Date: Mon, 20 May 2024 00:48:40 +0530 Subject: [PATCH 012/283] more goroutine leak fixes to nuclei (#5188) * more goroutine leak fixes to nuclei * run only dns templates for test * updated httpx to dev * dep update --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com> --- go.mod | 28 +++++++-------- go.sum | 55 +++++++++++++++-------------- lib/tests/sdk_test.go | 2 +- pkg/js/libs/postgres/postgres.go | 15 +++++--- pkg/protocols/http/httputils/spm.go | 2 ++ pkg/protocols/http/request.go | 24 +++++++++++-- pkg/utils/http_probe.go | 1 + 7 files changed, 77 insertions(+), 50 deletions(-) diff --git a/go.mod b/go.mod index 1002e41efd..36d655cd1b 100644 --- a/go.mod +++ b/go.mod @@ -21,9 +21,9 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.0.71 - github.com/projectdiscovery/hmap v0.0.41 - github.com/projectdiscovery/interactsh v1.1.9 - github.com/projectdiscovery/rawhttp v0.1.47 + github.com/projectdiscovery/hmap v0.0.42 + github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663 + github.com/projectdiscovery/rawhttp v0.1.49 github.com/projectdiscovery/retryabledns v1.0.59 github.com/projectdiscovery/retryablehttp-go v1.0.60 github.com/projectdiscovery/yamldoc-go v1.0.4 @@ -38,9 +38,9 @@ require ( github.com/weppos/publicsuffix-go v0.30.2-0.20230730094716-a20f9abcc222 github.com/xanzy/go-gitlab v0.84.0 go.uber.org/multierr v1.11.0 - golang.org/x/net v0.24.0 + golang.org/x/net v0.25.0 golang.org/x/oauth2 v0.11.0 - golang.org/x/text v0.14.0 + golang.org/x/text v0.15.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -78,30 +78,30 @@ require ( github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.0.52 + github.com/projectdiscovery/dsl v0.0.56 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.50 + github.com/projectdiscovery/goflags v0.1.52 github.com/projectdiscovery/gologger v1.1.12 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 - github.com/projectdiscovery/httpx v1.6.0 + github.com/projectdiscovery/httpx v1.6.1 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.39 + github.com/projectdiscovery/ratelimit v0.0.40 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.7 github.com/projectdiscovery/useragent v0.0.49 - github.com/projectdiscovery/utils v0.0.92 - github.com/projectdiscovery/wappalyzergo v0.0.122 + github.com/projectdiscovery/utils v0.0.93 + github.com/projectdiscovery/wappalyzergo v0.1.0 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 - golang.org/x/term v0.19.0 + golang.org/x/term v0.20.0 gopkg.in/yaml.v3 v3.0.1 moul.io/http2curl v1.0.0 ) @@ -303,10 +303,10 @@ require ( go.etcd.io/bbolt v1.3.8 // indirect go.uber.org/zap v1.25.0 // indirect goftp.io/server/v2 v2.0.1 // indirect - golang.org/x/crypto v0.22.0 // indirect + golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20240119083558-1b970713d09a golang.org/x/mod v0.14.0 // indirect - golang.org/x/sys v0.19.0 // indirect + golang.org/x/sys v0.20.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.17.0 google.golang.org/appengine v1.6.7 // indirect diff --git a/go.sum b/go.sum index dbc2f68aeb..2a8f67849f 100644 --- a/go.sum +++ b/go.sum @@ -835,8 +835,8 @@ github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQO github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.0.52 h1:jvIvF+qN8+MbI1MHtWJJKfWqAZQlCExL3ob7SddQbZE= -github.com/projectdiscovery/dsl v0.0.52/go.mod h1:xfcHwhy2HSaeGgh+1wqzOoCGm2XTdh5JzjBRBVHEMvI= +github.com/projectdiscovery/dsl v0.0.56 h1:iVFIfDdGXkrXTh5sf6hRaxqTTEYiv/LnNjoOHJIfHiY= +github.com/projectdiscovery/dsl v0.0.56/go.mod h1:3UBjPvtiy8c5E8oAUrKobMKjb3kEwQuGB5tqIN964Og= github.com/projectdiscovery/fastdialer v0.0.71 h1:96j6Y65hDPZ9AzlYpp95hvIH5Yx/0OE2UTx+frWfnm4= github.com/projectdiscovery/fastdialer v0.0.71/go.mod h1:b/oPPVSoLLD2N4W2/HrXbhQbyJVXqRw8CK1lenCUk64= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= @@ -845,20 +845,20 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.50 h1:vhpM3mDTnXTktypUuVKWxgRpuBFJE+wzOr56rnOl4Bc= -github.com/projectdiscovery/goflags v0.1.50/go.mod h1:3A8u7Q7e59S7f6QlJmMvKMXD/Tp+bfWre64gUpt6a6Q= +github.com/projectdiscovery/goflags v0.1.52 h1:rVYZOtq7iA8e6ceyVZbp6OcuMhcwh5weiXSuDoXsivU= +github.com/projectdiscovery/goflags v0.1.52/go.mod h1:tcBQ0EVGP4Wafza7gx57ZktkGxyfdLn+eQWUUQrV84c= github.com/projectdiscovery/gologger v1.1.12 h1:uX/QkQdip4PubJjjG0+uk5DtyAi1ANPJUvpmimXqv4A= github.com/projectdiscovery/gologger v1.1.12/go.mod h1:DI8nywPLERS5mo8QEA9E7gd5HZ3Je14SjJBH3F5/kLw= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.41 h1:8IgTyDce3/2JzcfPVA4H+XpBRFfETULx8td3BMdSYVE= -github.com/projectdiscovery/hmap v0.0.41/go.mod h1:bCrai6x5Eijqm2U+jtcH0wZX5ZcaZhcvzoMGTZgLAf0= -github.com/projectdiscovery/httpx v1.6.0 h1:6g4UoSQpsOyZgaK+SMLLnZIAU0eYyTxBUwVl+jtm0JQ= -github.com/projectdiscovery/httpx v1.6.0/go.mod h1:dzMzOWKfeofaXcXzac3O+YmuY24P0CRnviKGxvol6MM= -github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= -github.com/projectdiscovery/interactsh v1.1.9/go.mod h1:0FRQXCildcTLq7Tsa4BVZAsFCXhpWs4C4quKWigXb5I= +github.com/projectdiscovery/hmap v0.0.42 h1:+P8CC7gAeTG0phe0d1FB7i3Vl15v1K+dJApwX4rvMAM= +github.com/projectdiscovery/hmap v0.0.42/go.mod h1:lbGBuL/bLoYWdlgphZmHXjZCYzteVDf4WfKsR/aH57c= +github.com/projectdiscovery/httpx v1.6.1 h1:aqKzoSydzKAJBV3Sxbqt44nTah4fNS9GkSD4Dy6Fzlc= +github.com/projectdiscovery/httpx v1.6.1/go.mod h1:RvibGQbm2Bh2DtuBDVXHLfauFDLtp7opKHyk65sz0ss= +github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663 h1:0ih5JJyTht2sv4J4lbfSPaUkKdFDci+Bwxg6vsyd2F4= +github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663/go.mod h1:gTrQCQfYlhoIM4X11+zwL7uRuraOUCoiE4Z6z1QD86g= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb/go.mod h1:vmgC0DTFCfoCLp0RAfsfYTZZan0QMVs+cmTbH6blfjk= github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 h1:ZScLodGSezQVwsQDtBSMFp72WDq0nNN+KE/5DHKY5QE= @@ -869,10 +869,10 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7x7gHm028TJ5XwI8= github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= -github.com/projectdiscovery/ratelimit v0.0.39 h1:gMpkkuRSzsxNOxPOiD0aYTLQTOiqM/I0WZSZ7kmL+hc= -github.com/projectdiscovery/ratelimit v0.0.39/go.mod h1:vR+q959CbyXCV/pD4bl4aGP2/R91BOKv1SyiHDOqeL0= -github.com/projectdiscovery/rawhttp v0.1.47 h1:bjhZBK+7iuvcu0QTRJjdS4wP747+33Sd5gfgc4V9AWU= -github.com/projectdiscovery/rawhttp v0.1.47/go.mod h1:2XA7xODWEGoHpEB8qzgqsV8yVL3cg5G63ZaT9ALwU4g= +github.com/projectdiscovery/ratelimit v0.0.40 h1:SURkc7+ezUeGNt9PEQZOtd7nh2o2jKzmqcehrrf6DMU= +github.com/projectdiscovery/ratelimit v0.0.40/go.mod h1:3Z1rK0bs4BSjdYNvIlbmZR1H8Z5MsXRz+QRCXGIB0HE= +github.com/projectdiscovery/rawhttp v0.1.49 h1:OPP9R/UZx/GFrcPRUs9fOS1dLwhg+2o7p3dByzkIhWM= +github.com/projectdiscovery/rawhttp v0.1.49/go.mod h1:aaAaMsdzHPfw4yU3nbeP7NI3vy1ZjgoXw7l+m4Tnt94= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.59 h1:8pMN+VibEBp29RIUior9LXUbx0RsBTjPC0008t2hfGU= @@ -889,10 +889,10 @@ github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7 github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= github.com/projectdiscovery/useragent v0.0.49 h1:wQc9i+Xy+mUMJ45Ralv1JsQImRWqEOEvpYUe6MchScg= github.com/projectdiscovery/useragent v0.0.49/go.mod h1:jQz6X/usiXrPYE6B/1uVKuzIrBJXgw9hLC9eeNy38+0= -github.com/projectdiscovery/utils v0.0.92 h1:lGCmjUJhzoNX4FQZWpp80058pRlD0/dYxLJOSs07EqY= -github.com/projectdiscovery/utils v0.0.92/go.mod h1:d5uvD5qcRiK3qxZbBy9eatCqrCSuj9SObL04w/WgXSg= -github.com/projectdiscovery/wappalyzergo v0.0.122 h1:xfNJ7VNzU/OGlgYtsyB5ppuOHdfWzU2B8cYATwTz54c= -github.com/projectdiscovery/wappalyzergo v0.0.122/go.mod h1:qW0PP+UBMcdQBBnwk+X6YYFs6huKNvn2BOVs4vQPru0= +github.com/projectdiscovery/utils v0.0.93 h1:IMZFsmQFYZUf7rxpBoZj+53FsNDC/vHsXA+4B4GuGeg= +github.com/projectdiscovery/utils v0.0.93/go.mod h1:2+mWzk5FeYdK9imo5eLk6oVeih0G0wsTff1pzBAh9tk= +github.com/projectdiscovery/wappalyzergo v0.1.0 h1:ZagOIKemBsNfCDRQeWavWEXtEjP8UiziuoRoPTwDAJ0= +github.com/projectdiscovery/wappalyzergo v0.1.0/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -1191,8 +1191,8 @@ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1285,8 +1285,8 @@ golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1388,8 +1388,8 @@ golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1401,8 +1401,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1417,8 +1417,9 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/lib/tests/sdk_test.go b/lib/tests/sdk_test.go index ee688d797e..b20c163d1a 100644 --- a/lib/tests/sdk_test.go +++ b/lib/tests/sdk_test.go @@ -29,7 +29,7 @@ func TestSimpleNuclei(t *testing.T) { goleak.VerifyNone(t, knownLeaks...) }() ne, err := nuclei.NewNucleiEngine( - nuclei.WithTemplateFilters(nuclei.TemplateFilters{ProtocolTypes: "dns"}), + nuclei.WithTemplateFilters(nuclei.TemplateFilters{ProtocolTypes: "dns"}), // filter dns templates nuclei.EnableStatsWithOpts(nuclei.StatsOptions{JSON: true}), ) require.Nil(t, err) diff --git a/pkg/js/libs/postgres/postgres.go b/pkg/js/libs/postgres/postgres.go index 3b52604f39..5aea415010 100644 --- a/pkg/js/libs/postgres/postgres.go +++ b/pkg/js/libs/postgres/postgres.go @@ -104,6 +104,7 @@ func executeQuery(host string, port int, username string, password string, dbNam if err != nil { return nil, err } + defer db.Close() rows, err := db.Query(query) if err != nil { @@ -143,12 +144,16 @@ func connect(host string, port int, username string, password string, dbName str target := net.JoinHostPort(host, fmt.Sprintf("%d", port)) + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + db := pg.Connect(&pg.Options{ - Addr: target, - User: username, - Password: password, - Database: dbName, - }) + Addr: target, + User: username, + Password: password, + Database: dbName, + IdleCheckFrequency: -1, + }).WithContext(ctx).WithTimeout(10 * time.Second) defer db.Close() _, err := db.Exec("select 1") diff --git a/pkg/protocols/http/httputils/spm.go b/pkg/protocols/http/httputils/spm.go index bb0b337c77..22fdd8f93b 100644 --- a/pkg/protocols/http/httputils/spm.go +++ b/pkg/protocols/http/httputils/spm.go @@ -123,9 +123,11 @@ func (h *StopAtFirstMatchHandler[T]) MatchCallback(fn func()) { // run runs the internal handler func (h *StopAtFirstMatchHandler[T]) run(ctx context.Context) { defer h.internalWg.Done() + for { select { case <-ctx.Done(): + return case val, ok := <-h.ResultChan: if !ok { return diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index df914a785c..c372e3262b 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -114,7 +114,13 @@ func (request *Request) executeRaceRequest(input *contextargs.Context, previous } shouldStop := (request.options.Options.StopAtFirstMatch || request.StopAtFirstMatch || request.options.StopAtFirstMatch) - spmHandler := httputils.NewNonBlockingSPMHandler[error](ctx, maxErrorsWhenParallel, shouldStop) + + childCtx, cancel := context.WithCancel(context.Background()) + defer cancel() + + spmHandler := httputils.NewNonBlockingSPMHandler[error](childCtx, maxErrorsWhenParallel, shouldStop) + defer spmHandler.Cancel() + gotMatches := &atomic.Bool{} // wrappedCallback is a callback that wraps the original callback // to implement stop at first match logic @@ -195,7 +201,13 @@ func (request *Request) executeParallelHTTP(input *contextargs.Context, dynamicV // Stop-at-first-match logic while executing requests // parallely using threads shouldStop := (request.options.Options.StopAtFirstMatch || request.StopAtFirstMatch || request.options.StopAtFirstMatch) - spmHandler := httputils.NewBlockingSPMHandler[error](context.Background(), maxWorkers, maxErrorsWhenParallel, shouldStop) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + spmHandler := httputils.NewBlockingSPMHandler[error](ctx, maxWorkers, maxErrorsWhenParallel, shouldStop) + defer spmHandler.Cancel() + // wrappedCallback is a callback that wraps the original callback // to implement stop at first match logic wrappedCallback := func(event *output.InternalWrappedEvent) { @@ -327,7 +339,13 @@ func (request *Request) executeTurboHTTP(input *contextargs.Context, dynamicValu // Stop-at-first-match logic while executing requests // parallely using threads shouldStop := (request.options.Options.StopAtFirstMatch || request.StopAtFirstMatch || request.options.StopAtFirstMatch) - spmHandler := httputils.NewBlockingSPMHandler[error](context.Background(), maxWorkers, maxErrorsWhenParallel, shouldStop) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + spmHandler := httputils.NewBlockingSPMHandler[error](ctx, maxWorkers, maxErrorsWhenParallel, shouldStop) + defer spmHandler.Cancel() + // wrappedCallback is a callback that wraps the original callback // to implement stop at first match logic wrappedCallback := func(event *output.InternalWrappedEvent) { diff --git a/pkg/utils/http_probe.go b/pkg/utils/http_probe.go index 1ee4657039..9a0877f187 100644 --- a/pkg/utils/http_probe.go +++ b/pkg/utils/http_probe.go @@ -29,6 +29,7 @@ func ProbeURL(input string, httpxclient *httpx.HTTPX) string { if _, err = httpxclient.Do(req, httpx.UnsafeOptions{}); err != nil { continue } + return formedURL } return "" From bfddce4fbb7112f2dce1c1df25fef1d966cd059b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 19 May 2024 19:19:49 +0000 Subject: [PATCH 013/283] chore(deps): bump github.com/projectdiscovery/useragent Bumps [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) from 0.0.49 to 0.0.52. - [Release notes](https://github.com/projectdiscovery/useragent/releases) - [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.49...v0.0.52) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/useragent dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 3 +-- go.sum | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 36d655cd1b..9516a8bee9 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.7 - github.com/projectdiscovery/useragent v0.0.49 + github.com/projectdiscovery/useragent v0.0.52 github.com/projectdiscovery/utils v0.0.93 github.com/projectdiscovery/wappalyzergo v0.1.0 github.com/redis/go-redis/v9 v9.1.0 @@ -203,7 +203,6 @@ require ( github.com/projectdiscovery/freeport v0.0.5 // indirect github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb // indirect github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect - github.com/projectdiscovery/stringsutil v0.0.2 // indirect github.com/quic-go/quic-go v0.42.0 // indirect github.com/refraction-networking/utls v1.6.1 // indirect github.com/sashabaranov/go-openai v1.15.3 // indirect diff --git a/go.sum b/go.sum index 2a8f67849f..a6542ad9b5 100644 --- a/go.sum +++ b/go.sum @@ -887,8 +887,8 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7siFy9sj0A= github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= -github.com/projectdiscovery/useragent v0.0.49 h1:wQc9i+Xy+mUMJ45Ralv1JsQImRWqEOEvpYUe6MchScg= -github.com/projectdiscovery/useragent v0.0.49/go.mod h1:jQz6X/usiXrPYE6B/1uVKuzIrBJXgw9hLC9eeNy38+0= +github.com/projectdiscovery/useragent v0.0.52 h1:9SUPH0Epo3DJfB6PCDgETfMaD6nZ08sFvfgXTmPUAsU= +github.com/projectdiscovery/useragent v0.0.52/go.mod h1:PUXHgShvaD8p3bihy1mY8tuBDhdk3M0yy4Z10Ajg2yQ= github.com/projectdiscovery/utils v0.0.93 h1:IMZFsmQFYZUf7rxpBoZj+53FsNDC/vHsXA+4B4GuGeg= github.com/projectdiscovery/utils v0.0.93/go.mod h1:2+mWzk5FeYdK9imo5eLk6oVeih0G0wsTff1pzBAh9tk= github.com/projectdiscovery/wappalyzergo v0.1.0 h1:ZagOIKemBsNfCDRQeWavWEXtEjP8UiziuoRoPTwDAJ0= @@ -949,7 +949,6 @@ github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d h1:hrujxIzL1woJ7AwssoOcM/tq5JjjG2yYOc8odClEiXA= github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= From 9cc335a34cc9e29ffbc0991003bae9b87514709c Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Sun, 19 May 2024 23:12:21 +0200 Subject: [PATCH 014/283] first interface ipv4 address (#5186) --- pkg/protocols/common/protocolstate/state.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index 67820ec074..ae5ac6cb9d 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -180,6 +180,7 @@ func interfaceAddress(interfaceName string) (net.IP, error) { if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { if ipnet.IP.To4() != nil { address = ipnet.IP + break } } } From 48ed1dde38398e01122dc80db76d80eea3075092 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 05:06:38 +0000 Subject: [PATCH 015/283] chore(deps): bump github.com/projectdiscovery/utils Bumps [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) from 0.0.93 to 0.0.94. - [Release notes](https://github.com/projectdiscovery/utils/releases) - [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/projectdiscovery/utils/compare/v0.0.93...v0.0.94) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/utils dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9516a8bee9..25e4f38a33 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.7 github.com/projectdiscovery/useragent v0.0.52 - github.com/projectdiscovery/utils v0.0.93 + github.com/projectdiscovery/utils v0.0.94 github.com/projectdiscovery/wappalyzergo v0.1.0 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index a6542ad9b5..151484cfb3 100644 --- a/go.sum +++ b/go.sum @@ -889,8 +889,8 @@ github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7 github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= github.com/projectdiscovery/useragent v0.0.52 h1:9SUPH0Epo3DJfB6PCDgETfMaD6nZ08sFvfgXTmPUAsU= github.com/projectdiscovery/useragent v0.0.52/go.mod h1:PUXHgShvaD8p3bihy1mY8tuBDhdk3M0yy4Z10Ajg2yQ= -github.com/projectdiscovery/utils v0.0.93 h1:IMZFsmQFYZUf7rxpBoZj+53FsNDC/vHsXA+4B4GuGeg= -github.com/projectdiscovery/utils v0.0.93/go.mod h1:2+mWzk5FeYdK9imo5eLk6oVeih0G0wsTff1pzBAh9tk= +github.com/projectdiscovery/utils v0.0.94 h1:2zzFEjMkq/Ei/o3NIA2SWTkhfGHMkBy0T3aIzq0vizo= +github.com/projectdiscovery/utils v0.0.94/go.mod h1:wxPi+kCsLm5JCLMkZJyGwS+4Mn4PaPHHf0ayE8JphOw= github.com/projectdiscovery/wappalyzergo v0.1.0 h1:ZagOIKemBsNfCDRQeWavWEXtEjP8UiziuoRoPTwDAJ0= github.com/projectdiscovery/wappalyzergo v0.1.0/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From e92746ddcda9458bffbadbca16183f0dec9472f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 05:06:44 +0000 Subject: [PATCH 016/283] chore(deps): bump github.com/projectdiscovery/rawhttp Bumps [github.com/projectdiscovery/rawhttp](https://github.com/projectdiscovery/rawhttp) from 0.1.49 to 0.1.50. - [Release notes](https://github.com/projectdiscovery/rawhttp/releases) - [Commits](https://github.com/projectdiscovery/rawhttp/compare/v0.1.49...v0.1.50) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/rawhttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9516a8bee9..1c8cb6965b 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/projectdiscovery/fastdialer v0.0.71 github.com/projectdiscovery/hmap v0.0.42 github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663 - github.com/projectdiscovery/rawhttp v0.1.49 + github.com/projectdiscovery/rawhttp v0.1.50 github.com/projectdiscovery/retryabledns v1.0.59 github.com/projectdiscovery/retryablehttp-go v1.0.60 github.com/projectdiscovery/yamldoc-go v1.0.4 diff --git a/go.sum b/go.sum index a6542ad9b5..5042b9b1bc 100644 --- a/go.sum +++ b/go.sum @@ -871,8 +871,8 @@ github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7 github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= github.com/projectdiscovery/ratelimit v0.0.40 h1:SURkc7+ezUeGNt9PEQZOtd7nh2o2jKzmqcehrrf6DMU= github.com/projectdiscovery/ratelimit v0.0.40/go.mod h1:3Z1rK0bs4BSjdYNvIlbmZR1H8Z5MsXRz+QRCXGIB0HE= -github.com/projectdiscovery/rawhttp v0.1.49 h1:OPP9R/UZx/GFrcPRUs9fOS1dLwhg+2o7p3dByzkIhWM= -github.com/projectdiscovery/rawhttp v0.1.49/go.mod h1:aaAaMsdzHPfw4yU3nbeP7NI3vy1ZjgoXw7l+m4Tnt94= +github.com/projectdiscovery/rawhttp v0.1.50 h1:JQw0jBnUEcU2ZoTi8TBQpxHKykxkoBSfh9WETwggZIM= +github.com/projectdiscovery/rawhttp v0.1.50/go.mod h1:h3PiVqB8w7U/yOK+TCAJb1/zu0FHPCFM2ZQ1k2qm9cg= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.59 h1:8pMN+VibEBp29RIUior9LXUbx0RsBTjPC0008t2hfGU= From 8cffeecd4f23ffdee0e8949ef3b4efe56e7c1c08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 05:33:04 +0000 Subject: [PATCH 017/283] chore(deps): bump github.com/projectdiscovery/ratelimit Bumps [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) from 0.0.40 to 0.0.42. - [Release notes](https://github.com/projectdiscovery/ratelimit/releases) - [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.40...v0.0.42) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/ratelimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ba2b86d801..7143ae29fe 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,7 @@ require ( github.com/projectdiscovery/httpx v1.6.1 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.40 + github.com/projectdiscovery/ratelimit v0.0.42 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 diff --git a/go.sum b/go.sum index b2fc867f65..70d8985d60 100644 --- a/go.sum +++ b/go.sum @@ -869,8 +869,8 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7x7gHm028TJ5XwI8= github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= -github.com/projectdiscovery/ratelimit v0.0.40 h1:SURkc7+ezUeGNt9PEQZOtd7nh2o2jKzmqcehrrf6DMU= -github.com/projectdiscovery/ratelimit v0.0.40/go.mod h1:3Z1rK0bs4BSjdYNvIlbmZR1H8Z5MsXRz+QRCXGIB0HE= +github.com/projectdiscovery/ratelimit v0.0.42 h1:110tBLaGUgyPK0DjLmMBQaaqW4tkmqsFidr/t6tyOy4= +github.com/projectdiscovery/ratelimit v0.0.42/go.mod h1:ruhLiZ5liukSpG07p6eHTCPJUmTwOhxDSxQPulvC3/Y= github.com/projectdiscovery/rawhttp v0.1.50 h1:JQw0jBnUEcU2ZoTi8TBQpxHKykxkoBSfh9WETwggZIM= github.com/projectdiscovery/rawhttp v0.1.50/go.mod h1:h3PiVqB8w7U/yOK+TCAJb1/zu0FHPCFM2ZQ1k2qm9cg= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= From f266542dd457b168fb03cdebb969b23a75930ffc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 05:33:16 +0000 Subject: [PATCH 018/283] chore(deps): bump github.com/projectdiscovery/fastdialer Bumps [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) from 0.0.71 to 0.0.72. - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.0.71...v0.0.72) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ba2b86d801..13a195a3ba 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.0.71 + github.com/projectdiscovery/fastdialer v0.0.72 github.com/projectdiscovery/hmap v0.0.42 github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663 github.com/projectdiscovery/rawhttp v0.1.50 diff --git a/go.sum b/go.sum index b2fc867f65..f05fdf4020 100644 --- a/go.sum +++ b/go.sum @@ -837,8 +837,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.0.56 h1:iVFIfDdGXkrXTh5sf6hRaxqTTEYiv/LnNjoOHJIfHiY= github.com/projectdiscovery/dsl v0.0.56/go.mod h1:3UBjPvtiy8c5E8oAUrKobMKjb3kEwQuGB5tqIN964Og= -github.com/projectdiscovery/fastdialer v0.0.71 h1:96j6Y65hDPZ9AzlYpp95hvIH5Yx/0OE2UTx+frWfnm4= -github.com/projectdiscovery/fastdialer v0.0.71/go.mod h1:b/oPPVSoLLD2N4W2/HrXbhQbyJVXqRw8CK1lenCUk64= +github.com/projectdiscovery/fastdialer v0.0.72 h1:CbKNFqvJotGmn9uBeHoR2vJQRg8QMuQs9NIOc8HW02E= +github.com/projectdiscovery/fastdialer v0.0.72/go.mod h1:sfeBKELnLnkpwEYcK5Qf8DRXLcdmR34u4TxtFwxNNQ0= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= From f6332583b7f62c063b3050db18059c786d2e8e0b Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Tue, 21 May 2024 18:12:01 +0200 Subject: [PATCH 019/283] making ssl errors non fatal (#5203) * making ssl errors non fatal * adding test --- cmd/integration-test/ssl.go | 21 ++++++++++++ .../protocols/ssl/multi-req.yaml | 34 +++++++++++++++++++ pkg/tmplexec/multiproto/multi.go | 14 +++++++- 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 integration_tests/protocols/ssl/multi-req.yaml diff --git a/cmd/integration-test/ssl.go b/cmd/integration-test/ssl.go index 70b8c48445..24f6e9b903 100644 --- a/cmd/integration-test/ssl.go +++ b/cmd/integration-test/ssl.go @@ -13,6 +13,7 @@ var sslTestcases = []TestCaseInfo{ {Path: "protocols/ssl/custom-cipher.yaml", TestCase: &sslCustomCipher{}}, {Path: "protocols/ssl/custom-version.yaml", TestCase: &sslCustomVersion{}}, {Path: "protocols/ssl/ssl-with-vars.yaml", TestCase: &sslWithVars{}}, + {Path: "protocols/ssl/multi-req.yaml", TestCase: &sslMultiReq{}}, } type sslBasic struct{} @@ -118,3 +119,23 @@ func (h *sslWithVars) Execute(filePath string) error { return expectResultsCount(results, 1) } + +type sslMultiReq struct{} + +func (h *sslMultiReq) Execute(filePath string) error { + ts := testutils.NewTCPServer(&tls.Config{}, defaultStaticPort, func(conn net.Conn) { + defer conn.Close() + data := make([]byte, 4) + if _, err := conn.Read(data); err != nil { + return + } + }) + defer ts.Close() + + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, ts.URL, debug, "-V") + if err != nil { + return err + } + + return expectResultsCount(results, 2) +} diff --git a/integration_tests/protocols/ssl/multi-req.yaml b/integration_tests/protocols/ssl/multi-req.yaml new file mode 100644 index 0000000000..670ca633d9 --- /dev/null +++ b/integration_tests/protocols/ssl/multi-req.yaml @@ -0,0 +1,34 @@ +id: multi-req + +info: + name: Multi-Request + author: pdteam + severity: info + +ssl: + - address: "{{Host}}:{{Port}}" + min_version: ssl30 + max_version: ssl30 + + extractors: + - type: json + json: + - " .tls_version" + + - address: "{{Host}}:{{Port}}" + min_version: tls10 + max_version: tls10 + + extractors: + - type: json + json: + - " .tls_version" + + - address: "{{Host}}:{{Port}}" + min_version: tls11 + max_version: tls11 + + extractors: + - type: json + json: + - " .tls_version" \ No newline at end of file diff --git a/pkg/tmplexec/multiproto/multi.go b/pkg/tmplexec/multiproto/multi.go index 58858f971e..7bbc2a1403 100644 --- a/pkg/tmplexec/multiproto/multi.go +++ b/pkg/tmplexec/multiproto/multi.go @@ -8,6 +8,8 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" "github.com/projectdiscovery/nuclei/v3/pkg/scan" + "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" + stringsutil "github.com/projectdiscovery/utils/strings" ) // Mutliprotocol is a template executer engine that executes multiple protocols @@ -110,9 +112,19 @@ func (m *MultiProtocol) ExecuteWithResults(ctx *scan.ScanContext) error { values := m.options.GetTemplateCtx(ctx.Input.MetaInput).GetAll() err := req.ExecuteWithResults(ctx.Input, output.InternalEvent(values), nil, multiProtoCallback) - // if error skip execution of next protocols + // in case of fatal error skip execution of next protocols if err != nil { + // always log errors ctx.LogError(err) + + // for some classes of protocols (i.e ssl) errors like tls handshake are a legitimate behavior so we don't stop execution + // connection failures are already tracked by the internal host error cache + // we use strings comparison as the error is not formalized into instance within the standard library + // within a flow instead we consider ssl errors as fatal, since a specific logic was requested + if req.Type() == types.SSLProtocol && stringsutil.ContainsAnyI(err.Error(), "protocol version not supported", "could not do tls handshake") { + continue + } + return err } } From 46e4810efb29d869cb66bca59c5dcd37e413183a Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Wed, 22 May 2024 14:54:01 +0200 Subject: [PATCH 020/283] Fixing nil ptr on error --- cmd/nuclei/main.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index a1123b9ffc..e93a4c4441 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -141,7 +141,10 @@ func main() { nucleiRunner.Close() gologger.Info().Msgf("Creating resume file: %s\n", resumeFileName) err := nucleiRunner.SaveResumeConfig(resumeFileName) - return errorutil.NewWithErr(err).Msgf("couldn't create crash resume file") + if err != nil { + return errorutil.NewWithErr(err).Msgf("couldn't create crash resume file") + } + return nil }) } From 23bd0336fb4fa5ee6f522c1643458d2d7b0aa022 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sat, 25 May 2024 00:29:04 +0530 Subject: [PATCH 021/283] multiple bug fixes + performance improvements (#5148) * prototype errkit * complete errkit implementation * add cause to all timeouts * fix request timeout annotation @timeout * increase responseHeaderTimeout to 8 for stability * rawhttp error related improvements * feat: add port status caching * add port status caching to http * migrate to new utils/errkit * remote dialinterface + error cause * debug dir support using .gitignore debug-* * make nuclei easy to debug * debug dir update .gitignore * temp change (to revert) * Revert "temp change (to revert)" This reverts commit d3131f777713b9f80e2275142e80f36340a76d36. * use available context instead of new one * bump fastdialer * fix hosterrorscache + misc improvements * add 'address' field in error log * fix js vague errors + pgwrap driver * fix max host error + misc updates * update tests as per changes * fix request annotation context * remove closed dialer reference * fix sdk panic issue * bump retryablehttp-go,utils,fastdialer --------- Co-authored-by: Sandeep Singh --- .gitignore | 2 +- go.mod | 45 ++++--- go.sum | 112 ++++++++-------- internal/runner/options.go | 8 +- internal/runner/runner.go | 6 +- lib/multi.go | 1 - lib/sdk_private.go | 2 - pkg/catalog/config/constants.go | 12 +- pkg/catalog/config/nucleiconfig.go | 48 ++++++- pkg/core/executors.go | 2 +- pkg/core/workflow_execute.go | 2 +- pkg/js/compiler/compiler.go | 11 +- pkg/js/compiler/init.go | 9 +- pkg/js/libs/postgres/memo.postgres.go | 2 +- pkg/js/libs/postgres/postgres.go | 8 +- pkg/js/utils/pgwrap/pgwrap.go | 53 ++++++++ pkg/output/output.go | 75 +++++++++-- pkg/output/output_test.go | 4 +- pkg/protocols/code/code.go | 6 +- .../common/contextargs/contextargs.go | 24 ++++ pkg/protocols/common/contextargs/metainput.go | 52 ++++++++ .../common/hosterrorscache/hosterrorscache.go | 120 +++++++++++++++--- .../hosterrorscache/hosterrorscache_test.go | 35 +++-- pkg/protocols/common/protocolinit/init.go | 2 +- pkg/protocols/common/protocolstate/state.go | 1 + pkg/protocols/headless/engine/page_actions.go | 5 +- .../http/httpclientpool/clientpool.go | 27 +++- pkg/protocols/http/httpclientpool/options.go | 54 ++++++++ pkg/protocols/http/request.go | 102 +++++++++++---- pkg/protocols/http/request_annotations.go | 19 ++- pkg/protocols/http/request_fuzz.go | 7 +- pkg/protocols/javascript/js.go | 28 ++-- pkg/protocols/network/request.go | 48 ++++++- pkg/protocols/websocket/websocket.go | 3 +- pkg/templates/cluster.go | 4 +- pkg/testutils/testutils.go | 2 + pkg/tmplexec/generic/exec.go | 2 +- pkg/types/nucleierr/kinds.go | 28 ++++ 38 files changed, 767 insertions(+), 204 deletions(-) create mode 100644 pkg/js/utils/pgwrap/pgwrap.go create mode 100644 pkg/protocols/http/httpclientpool/options.go create mode 100644 pkg/types/nucleierr/kinds.go diff --git a/.gitignore b/.gitignore index 9386137b54..b9e561e3a6 100644 --- a/.gitignore +++ b/.gitignore @@ -39,5 +39,5 @@ integration_tests/fuzzplayground /nuclei-stats /nuclei-stats-* /scan-charts - +/**/debug-* diff --git a/go.mod b/go.mod index e775ff43d7..537cc9ce65 100644 --- a/go.mod +++ b/go.mod @@ -16,16 +16,16 @@ require ( github.com/json-iterator/go v1.1.12 github.com/julienschmidt/httprouter v1.3.0 github.com/logrusorgru/aurora v2.0.3+incompatible - github.com/miekg/dns v1.1.57 + github.com/miekg/dns v1.1.59 github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.0.72 - github.com/projectdiscovery/hmap v0.0.42 - github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663 - github.com/projectdiscovery/rawhttp v0.1.50 - github.com/projectdiscovery/retryabledns v1.0.59 - github.com/projectdiscovery/retryablehttp-go v1.0.60 + github.com/projectdiscovery/fastdialer v0.1.0 + github.com/projectdiscovery/hmap v0.0.43 + github.com/projectdiscovery/interactsh v1.1.9 + github.com/projectdiscovery/rawhttp v0.1.49 + github.com/projectdiscovery/retryabledns v1.0.60 + github.com/projectdiscovery/retryablehttp-go v1.0.62 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -35,7 +35,7 @@ require ( github.com/spf13/cast v1.5.1 github.com/syndtr/goleveldb v1.0.0 github.com/valyala/fasttemplate v1.2.2 - github.com/weppos/publicsuffix-go v0.30.2-0.20230730094716-a20f9abcc222 + github.com/weppos/publicsuffix-go v0.30.2 github.com/xanzy/go-gitlab v0.84.0 go.uber.org/multierr v1.11.0 golang.org/x/net v0.25.0 @@ -73,7 +73,7 @@ require ( github.com/h2non/filetype v1.1.3 github.com/labstack/echo/v4 v4.10.2 github.com/leslie-qiwa/flat v0.0.0-20230424180412-f9d1cf014baa - github.com/lib/pq v1.10.1 + github.com/lib/pq v1.10.9 github.com/mattn/go-sqlite3 v1.14.22 github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 @@ -94,12 +94,12 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.7 github.com/projectdiscovery/useragent v0.0.52 - github.com/projectdiscovery/utils v0.0.94 + github.com/projectdiscovery/utils v0.1.0 github.com/projectdiscovery/wappalyzergo v0.1.0 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 - github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc + github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 golang.org/x/term v0.20.0 gopkg.in/yaml.v3 v3.0.1 @@ -134,7 +134,7 @@ require ( github.com/cheggaaa/pb/v3 v3.1.4 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect github.com/cloudflare/cfssl v1.6.4 // indirect - github.com/cloudflare/circl v1.3.7 // indirect + github.com/cloudflare/circl v1.3.8 // indirect github.com/containerd/continuity v0.4.2 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davidmz/go-pageant v1.0.2 // indirect @@ -175,7 +175,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kataras/jwt v0.1.10 // indirect - github.com/klauspost/compress v1.17.6 // indirect + github.com/klauspost/compress v1.17.8 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/logrusorgru/aurora/v4 v4.0.0 // indirect @@ -203,16 +203,15 @@ require ( github.com/projectdiscovery/freeport v0.0.5 // indirect github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb // indirect github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect - github.com/quic-go/quic-go v0.42.0 // indirect - github.com/refraction-networking/utls v1.6.1 // indirect + github.com/refraction-networking/utls v1.6.6 // indirect github.com/sashabaranov/go-openai v1.15.3 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/skeema/knownhosts v1.2.1 // indirect github.com/tidwall/btree v1.7.0 // indirect - github.com/tidwall/buntdb v1.3.0 // indirect - github.com/tidwall/gjson v1.17.0 // indirect + github.com/tidwall/buntdb v1.3.1 // indirect + github.com/tidwall/gjson v1.17.1 // indirect github.com/tidwall/grect v0.1.4 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.1 // indirect @@ -233,7 +232,7 @@ require ( github.com/zeebo/blake3 v0.2.3 // indirect go.uber.org/goleak v1.3.0 // indirect golang.org/x/arch v0.3.0 // indirect - golang.org/x/sync v0.6.0 // indirect + golang.org/x/sync v0.7.0 // indirect gopkg.in/djherbis/times.v1 v1.3.0 // indirect mellium.im/sasl v0.3.1 // indirect ) @@ -298,16 +297,16 @@ require ( github.com/ysmood/leakless v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zmap/rc2 v0.0.0-20190804163417-abaa70531248 // indirect - github.com/zmap/zcrypto v0.0.0-20231219022726-a1f61fb1661c // indirect - go.etcd.io/bbolt v1.3.8 // indirect + github.com/zmap/zcrypto v0.0.0-20240512203510-0fef58d9a9db // indirect + go.etcd.io/bbolt v1.3.10 // indirect go.uber.org/zap v1.25.0 // indirect goftp.io/server/v2 v2.0.1 // indirect golang.org/x/crypto v0.23.0 // indirect - golang.org/x/exp v0.0.0-20240119083558-1b970713d09a - golang.org/x/mod v0.14.0 // indirect + golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 + golang.org/x/mod v0.17.0 // indirect golang.org/x/sys v0.20.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.17.0 + golang.org/x/tools v0.21.0 google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect diff --git a/go.sum b/go.sum index 7da521271a..c176b49953 100644 --- a/go.sum +++ b/go.sum @@ -235,8 +235,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cloudflare/cfssl v1.6.4 h1:NMOvfrEjFfC63K3SGXgAnFdsgkmiq4kATme5BfcqrO8= github.com/cloudflare/cfssl v1.6.4/go.mod h1:8b3CQMxfWPAeom3zBnGJ6sd+G1NkL5TXqmDXacb+1J0= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= -github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/cloudflare/circl v1.3.8 h1:j+V8jJt09PoeMFIu2uh5JUyEaIHTXVOHslFoLNAKqwI= +github.com/cloudflare/circl v1.3.8/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZFnBQS5QU= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cnf/structhash v0.0.0-20201127153200-e1b16c1ebc08 h1:ox2F0PSMlrAAiAdknSRMDrAr8mfxPCfSZolH+/qQnyQ= github.com/cnf/structhash v0.0.0-20201127153200-e1b16c1ebc08/go.mod h1:pCxVEbcm3AMg7ejXyorUXi6HQCzOIBf7zEDVPtw0/U4= @@ -367,8 +367,6 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q= @@ -394,8 +392,6 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/goburrow/cache v0.1.4 h1:As4KzO3hgmzPlnaMniZU9+VmoNYseUhuELbxy9mRBfw= @@ -630,8 +626,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= +github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= @@ -662,8 +658,8 @@ github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/leslie-qiwa/flat v0.0.0-20230424180412-f9d1cf014baa h1:KQKuQDgA3DZX6C396lt3WDYB9Um1gLITLbvficVbqXk= github.com/leslie-qiwa/flat v0.0.0-20230424180412-f9d1cf014baa/go.mod h1:HbwNE4XGwjgtUELkvQaAOjWrpianHYZdQVNqSdYW3UM= -github.com/lib/pq v1.10.1 h1:6VXZrLU0jHBYyAqrSPa+MgPfnSvTPuMgK+k0o5kVFWo= -github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libdns/libdns v0.2.1 h1:Wu59T7wSHRgtA0cfxC+n1c/e+O3upJGWytknkmFEDis= github.com/libdns/libdns v0.2.1/go.mod h1:yQCXzk1lEZmmCPa857bnk4TsOiqYasqpyOEeSObbb40= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= @@ -714,8 +710,8 @@ github.com/microcosm-cc/bluemonday v1.0.26 h1:xbqSvqzQMeEHCqMi64VAs4d8uy6Mequs3r github.com/microcosm-cc/bluemonday v1.0.26/go.mod h1:JyzOCs9gkyQyjs+6h10UEVSe02CGwkhd72Xdqh78TWs= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= -github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= -github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk= +github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs= +github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk= github.com/minio/minio-go/v6 v6.0.46/go.mod h1:qD0lajrGW49lKZLtXKtCB4X/qkMf0a5tBvN2PaZg7Gg= github.com/minio/selfupdate v0.6.1-0.20230907112617-f11e74f84ca7 h1:yRZGarbxsRytL6EGgbqK2mCY+Lk5MWKQYKJT2gEglhc= github.com/minio/selfupdate v0.6.1-0.20230907112617-f11e74f84ca7/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM= @@ -773,8 +769,6 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= -github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= @@ -837,8 +831,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.0.56 h1:iVFIfDdGXkrXTh5sf6hRaxqTTEYiv/LnNjoOHJIfHiY= github.com/projectdiscovery/dsl v0.0.56/go.mod h1:3UBjPvtiy8c5E8oAUrKobMKjb3kEwQuGB5tqIN964Og= -github.com/projectdiscovery/fastdialer v0.0.72 h1:CbKNFqvJotGmn9uBeHoR2vJQRg8QMuQs9NIOc8HW02E= -github.com/projectdiscovery/fastdialer v0.0.72/go.mod h1:sfeBKELnLnkpwEYcK5Qf8DRXLcdmR34u4TxtFwxNNQ0= +github.com/projectdiscovery/fastdialer v0.1.0 h1:NiId7eXvYZjiBo83AnIZ6K8ZjzLJU8wGXdRLzuKcRrg= +github.com/projectdiscovery/fastdialer v0.1.0/go.mod h1:jKOWzyHx+Q2sMiYst5HP6tWLQLDFPVgWBR72szn2h8w= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -853,12 +847,12 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.42 h1:+P8CC7gAeTG0phe0d1FB7i3Vl15v1K+dJApwX4rvMAM= -github.com/projectdiscovery/hmap v0.0.42/go.mod h1:lbGBuL/bLoYWdlgphZmHXjZCYzteVDf4WfKsR/aH57c= +github.com/projectdiscovery/hmap v0.0.43 h1:9A/lGm/0uP9x2hP90dmK5vkc6KfGD0XYxDBAQ7lx/zg= +github.com/projectdiscovery/hmap v0.0.43/go.mod h1:cMLXGlkLcPK0Y/aJVa+IZM9wdtkQ6HX4mHTXVC05Jbc= github.com/projectdiscovery/httpx v1.6.1 h1:aqKzoSydzKAJBV3Sxbqt44nTah4fNS9GkSD4Dy6Fzlc= github.com/projectdiscovery/httpx v1.6.1/go.mod h1:RvibGQbm2Bh2DtuBDVXHLfauFDLtp7opKHyk65sz0ss= -github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663 h1:0ih5JJyTht2sv4J4lbfSPaUkKdFDci+Bwxg6vsyd2F4= -github.com/projectdiscovery/interactsh v1.1.10-0.20240519152711-6a0cb98b1663/go.mod h1:gTrQCQfYlhoIM4X11+zwL7uRuraOUCoiE4Z6z1QD86g= +github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= +github.com/projectdiscovery/interactsh v1.1.9/go.mod h1:0FRQXCildcTLq7Tsa4BVZAsFCXhpWs4C4quKWigXb5I= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb/go.mod h1:vmgC0DTFCfoCLp0RAfsfYTZZan0QMVs+cmTbH6blfjk= github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 h1:ZScLodGSezQVwsQDtBSMFp72WDq0nNN+KE/5DHKY5QE= @@ -871,14 +865,14 @@ github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7 github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= github.com/projectdiscovery/ratelimit v0.0.42 h1:110tBLaGUgyPK0DjLmMBQaaqW4tkmqsFidr/t6tyOy4= github.com/projectdiscovery/ratelimit v0.0.42/go.mod h1:ruhLiZ5liukSpG07p6eHTCPJUmTwOhxDSxQPulvC3/Y= -github.com/projectdiscovery/rawhttp v0.1.50 h1:JQw0jBnUEcU2ZoTi8TBQpxHKykxkoBSfh9WETwggZIM= -github.com/projectdiscovery/rawhttp v0.1.50/go.mod h1:h3PiVqB8w7U/yOK+TCAJb1/zu0FHPCFM2ZQ1k2qm9cg= +github.com/projectdiscovery/rawhttp v0.1.49 h1:OPP9R/UZx/GFrcPRUs9fOS1dLwhg+2o7p3dByzkIhWM= +github.com/projectdiscovery/rawhttp v0.1.49/go.mod h1:aaAaMsdzHPfw4yU3nbeP7NI3vy1ZjgoXw7l+m4Tnt94= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.59 h1:8pMN+VibEBp29RIUior9LXUbx0RsBTjPC0008t2hfGU= -github.com/projectdiscovery/retryabledns v1.0.59/go.mod h1:CwyQLDt9oqNIO/2ArALhAnUHJjZYdvJRSfGERRNPtoQ= -github.com/projectdiscovery/retryablehttp-go v1.0.60 h1:sXbx6Rdh22SZ3AFhY3P7LC+p8GPLlANMgPHlkBXJlv8= -github.com/projectdiscovery/retryablehttp-go v1.0.60/go.mod h1:rgRdV7LSrrTTlvN7yKsYxtvWm39VZB6pgD2t1p1ma64= +github.com/projectdiscovery/retryabledns v1.0.60 h1:f3TPeLnaJKrl9CbfsTfFTFnJY+UnyArH3mxxUUyR5ZQ= +github.com/projectdiscovery/retryabledns v1.0.60/go.mod h1:T4Su40Wa9lVtRNMfMDFJi00g2T3FbTfwnKKkYON0WgU= +github.com/projectdiscovery/retryablehttp-go v1.0.62 h1:ZY09NYRatoELHaPUcdRdWzHIJExjEqceHAfe7u/e9ZY= +github.com/projectdiscovery/retryablehttp-go v1.0.62/go.mod h1:yhRy9Q3z0CuNUHIIPrveaubjVEwF4arKWT/5SQurQEE= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -889,8 +883,8 @@ github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7 github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= github.com/projectdiscovery/useragent v0.0.52 h1:9SUPH0Epo3DJfB6PCDgETfMaD6nZ08sFvfgXTmPUAsU= github.com/projectdiscovery/useragent v0.0.52/go.mod h1:PUXHgShvaD8p3bihy1mY8tuBDhdk3M0yy4Z10Ajg2yQ= -github.com/projectdiscovery/utils v0.0.94 h1:2zzFEjMkq/Ei/o3NIA2SWTkhfGHMkBy0T3aIzq0vizo= -github.com/projectdiscovery/utils v0.0.94/go.mod h1:wxPi+kCsLm5JCLMkZJyGwS+4Mn4PaPHHf0ayE8JphOw= +github.com/projectdiscovery/utils v0.1.0 h1:r7Z/s2CBktJ0bnSN410lzOhD8S/0IxmzmFxkQudYKps= +github.com/projectdiscovery/utils v0.1.0/go.mod h1:RaBdJLTKF5FKZ/RtMeccqFBtpsSjaggVw6/oPTpDD40= github.com/projectdiscovery/wappalyzergo v0.1.0 h1:ZagOIKemBsNfCDRQeWavWEXtEjP8UiziuoRoPTwDAJ0= github.com/projectdiscovery/wappalyzergo v0.1.0/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= @@ -927,13 +921,11 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= -github.com/quic-go/quic-go v0.42.0 h1:uSfdap0eveIl8KXnipv9K7nlwZ5IqLlYOpJ58u5utpM= -github.com/quic-go/quic-go v0.42.0/go.mod h1:132kz4kL3F9vxhW3CtQJLDVwcFe5wdWeJXXijhsO57M= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY= github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= -github.com/refraction-networking/utls v1.6.1 h1:n1JG5karzdGWsI6iZmGrOv3SNzR4c+4M8J6KWGsk3lA= -github.com/refraction-networking/utls v1.6.1/go.mod h1:+EbcQOvQvXoFV9AEKbuGlljt1doLRKAVY1jJHe9EtDo= +github.com/refraction-networking/utls v1.6.6 h1:igFsYBUJPYM8Rno9xUuDoM5GQrVEqY4llzEXOkL43Ig= +github.com/refraction-networking/utls v1.6.6/go.mod h1:BC3O4vQzye5hqpmDTWUqi4P5DDhzJfkV1tdqtawQIH0= github.com/remeh/sizedwaitgroup v1.0.0 h1:VNGGFwNo/R5+MJBf6yrsr110p0m4/OX4S3DCy7Kyl5E= github.com/remeh/sizedwaitgroup v1.0.0/go.mod h1:3j2R4OIe/SeS6YDhICBy22RWjJC5eNCJ1V+9+NVNYlo= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -1015,17 +1007,17 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= -github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc h1:/5P5I7oDqdLee8W9Moof0xSD8tT1qEVzhObSI9CqHkg= -github.com/tarunKoyalwar/goleak v0.0.0-20240426214851-746d64600adc/go.mod h1:uQdBQGrE1fZ2EyOs0pLcCDd1bBV4rSThieuIIGhXZ50= +github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 h1:GXIyLuIJ5Qk46lI8WJ83qHBZKUI3zhmMmuoY9HICUIQ= +github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9/go.mod h1:uQdBQGrE1fZ2EyOs0pLcCDd1bBV4rSThieuIIGhXZ50= github.com/tidwall/assert v0.1.0 h1:aWcKyRBUAdLoVebxo95N7+YZVTFF/ASTr7BN4sLP6XI= github.com/tidwall/assert v0.1.0/go.mod h1:QLYtGyeqse53vuELQheYl9dngGCJQ+mTtlxcktb+Kj8= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= -github.com/tidwall/buntdb v1.3.0 h1:gdhWO+/YwoB2qZMeAU9JcWWsHSYU3OvcieYgFRS0zwA= -github.com/tidwall/buntdb v1.3.0/go.mod h1:lZZrZUWzlyDJKlLQ6DKAy53LnG7m5kHyrEHvvcDmBpU= +github.com/tidwall/buntdb v1.3.1 h1:HKoDF01/aBhl9RjYtbaLnvX9/OuenwvQiC3OP1CcL4o= +github.com/tidwall/buntdb v1.3.1/go.mod h1:lZZrZUWzlyDJKlLQ6DKAy53LnG7m5kHyrEHvvcDmBpU= github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM= -github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.17.1 h1:wlYEnwqAHgzmhNUFfw7Xalt2JzQvsMx2Se4PcoFCT/U= +github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/grect v0.1.4 h1:dA3oIgNgWdSspFzn1kS4S/RDpZFLrIxAZOdJKjYapOg= github.com/tidwall/grect v0.1.4/go.mod h1:9FBsaYRaR0Tcy4UwefBX/UDcDcDy9V5jUcxHzv2jd5Q= github.com/tidwall/lotsa v1.0.2 h1:dNVBH5MErdaQ/xd9s769R31/n2dXavsQ0Yf4TMEHHw8= @@ -1068,8 +1060,8 @@ github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+ github.com/weppos/publicsuffix-go v0.12.0/go.mod h1:z3LCPQ38eedDQSwmsSRW4Y7t2L8Ln16JPQ02lHAdn5k= github.com/weppos/publicsuffix-go v0.13.0/go.mod h1:z3LCPQ38eedDQSwmsSRW4Y7t2L8Ln16JPQ02lHAdn5k= github.com/weppos/publicsuffix-go v0.30.0/go.mod h1:kBi8zwYnR0zrbm8RcuN1o9Fzgpnnn+btVN8uWPMyXAY= -github.com/weppos/publicsuffix-go v0.30.2-0.20230730094716-a20f9abcc222 h1:h2JizvZl9aIj6za9S5AyrkU+OzIS4CetQthH/ejO+lg= -github.com/weppos/publicsuffix-go v0.30.2-0.20230730094716-a20f9abcc222/go.mod h1:s41lQh6dIsDWIC1OWh7ChWJXLH0zkJ9KHZVqA7vHyuQ= +github.com/weppos/publicsuffix-go v0.30.2 h1:Np18yzfMR90jNampWFs7iSh2sw/qCZkhL41/ffyihCU= +github.com/weppos/publicsuffix-go v0.30.2/go.mod h1:/hGscit36Yt+wammfBBwdMdxBT8btsTt6KvwO9OvMyM= github.com/weppos/publicsuffix-go/publicsuffix/generator v0.0.0-20220927085643-dc0d00c92642/go.mod h1:GHfoeIdZLdZmLjMlzBftbTDntahTttUMWjxZwQJhULE= github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= @@ -1132,15 +1124,15 @@ github.com/zmap/zcertificate v0.0.1/go.mod h1:q0dlN54Jm4NVSSuzisusQY0hqDWvu92C+T github.com/zmap/zcrypto v0.0.0-20201128221613-3719af1573cf/go.mod h1:aPM7r+JOkfL+9qSB4KbYjtoEzJqUK50EXkkJabeNJDQ= github.com/zmap/zcrypto v0.0.0-20201211161100-e54a5822fb7e/go.mod h1:aPM7r+JOkfL+9qSB4KbYjtoEzJqUK50EXkkJabeNJDQ= github.com/zmap/zcrypto v0.0.0-20230310154051-c8b263fd8300/go.mod h1:mOd4yUMgn2fe2nV9KXsa9AyQBFZGzygVPovsZR+Rl5w= -github.com/zmap/zcrypto v0.0.0-20231219022726-a1f61fb1661c h1:U1b4THKcgOpJ+kILupuznNwPiURtwVW3e9alJvji9+s= -github.com/zmap/zcrypto v0.0.0-20231219022726-a1f61fb1661c/go.mod h1:GSDpFDD4TASObxvfZfvpZZ3OWHIUHMlhVWlkOe4ewVk= +github.com/zmap/zcrypto v0.0.0-20240512203510-0fef58d9a9db h1:IfONOhyZlf4qPt3ENPU+27mBbPjzTQ+swKpj7MJva9I= +github.com/zmap/zcrypto v0.0.0-20240512203510-0fef58d9a9db/go.mod h1:mo/07mo6reDaiz6BzveCuYBWb1d+aX8Pf8Nh+Q57y2g= github.com/zmap/zflags v1.4.0-beta.1.0.20200204220219-9d95409821b6/go.mod h1:HXDUD+uue8yeLHr0eXx1lvY6CvMiHbTKw5nGmA9OUoo= github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 h1:LaMyYFWQA7kh3ovPfAaFDTKlJu3JGng8khruOtsBVnE= github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706/go.mod h1:re2kMcs84XHb8Xl6RInt0emoKCuphfmfjHYuteviLHQ= github.com/zmap/zlint/v3 v3.0.0/go.mod h1:paGwFySdHIBEMJ61YjoqT4h7Ge+fdYG4sUQhnTb1lJ8= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= -go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= +go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1188,8 +1180,8 @@ golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1202,8 +1194,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA= -golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1226,8 +1218,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1283,7 +1275,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1310,8 +1303,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1383,9 +1376,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= @@ -1398,8 +1390,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1415,7 +1407,7 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= @@ -1476,8 +1468,8 @@ golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= -golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= +golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/internal/runner/options.go b/internal/runner/options.go index cad5202f8a..3d36f51123 100644 --- a/internal/runner/options.go +++ b/internal/runner/options.go @@ -19,6 +19,7 @@ import ( "github.com/projectdiscovery/gologger/levels" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/headless/engine" "github.com/projectdiscovery/nuclei/v3/pkg/reporting" @@ -114,7 +115,12 @@ func ParseOptions(options *types.Options) { // Load the resolvers if user asked for them loadResolvers(options) - err := protocolinit.Init(options) + err := protocolstate.Init(options) + if err != nil { + gologger.Fatal().Msgf("Could not initialize protocol state: %s\n", err) + } + + err = protocolinit.Init(options) if err != nil { gologger.Fatal().Msgf("Could not initialize protocols: %s\n", err) } diff --git a/internal/runner/runner.go b/internal/runner/runner.go index a0c46f6d03..24010d7537 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -359,6 +359,10 @@ func (r *Runner) runStandardEnumeration(executerOpts protocols.ExecutorOptions, // Close releases all the resources and cleans up func (r *Runner) Close() { + // dump hosterrors cache + if r.hostErrors != nil { + r.hostErrors.Close() + } if r.output != nil { r.output.Close() } @@ -464,7 +468,7 @@ func (r *Runner) RunEnumeration() error { Parser: r.parser, } - if env.GetEnvOrDefault("NUCLEI_ARGS", "") == "req_url_pattern=true" { + if config.DefaultConfig.IsDebugArgEnabled(config.DebugExportURLPattern) { // Go StdLib style experimental/debug feature switch executorOpts.ExportReqURLPattern = true } diff --git a/lib/multi.go b/lib/multi.go index 5b2c7d6776..7c713e8aa0 100644 --- a/lib/multi.go +++ b/lib/multi.go @@ -123,7 +123,6 @@ func (e *ThreadSafeNucleiEngine) ExecuteNucleiWithOptsCtx(ctx context.Context, t return err } } - defer tmpEngine.Close() // create ephemeral nuclei objects/instances/types using base nuclei engine unsafeOpts, err := createEphemeralObjects(e.eng, tmpEngine.opts) if err != nil { diff --git a/lib/sdk_private.go b/lib/sdk_private.go index 13e8746510..cfe9c88a25 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -25,7 +25,6 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" - "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/http/httpclientpool" "github.com/projectdiscovery/nuclei/v3/pkg/reporting" "github.com/projectdiscovery/nuclei/v3/pkg/templates" @@ -119,7 +118,6 @@ func (e *NucleiEngine) init() error { e.parser = templates.NewParser() sharedInit.Do(func() { - _ = protocolstate.Init(e.opts) _ = protocolinit.Init(e.opts) }) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index 736671127d..3918a0124a 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.2.7` + Version = `v3.2.8-dev` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" @@ -68,3 +68,13 @@ func trimDevIfExists(version string) string { } return version } + +// similar to go pattern of enabling debug related features +// we add custom/extra switches for debugging purposes +const ( + // DebugArgHostErrorStats is used to print host error stats + // when it is closed + DebugArgHostErrorStats = "host-error-stats" + // DebugExportReqURLPattern is used to export request URL pattern + DebugExportURLPattern = "req-url-pattern" +) diff --git a/pkg/catalog/config/nucleiconfig.go b/pkg/catalog/config/nucleiconfig.go index 619d7fd47a..062393e542 100644 --- a/pkg/catalog/config/nucleiconfig.go +++ b/pkg/catalog/config/nucleiconfig.go @@ -46,9 +46,10 @@ type Config struct { LatestNucleiIgnoreHash string `json:"nuclei-latest-ignore-hash,omitempty"` // internal / unexported fields - disableUpdates bool `json:"-"` // disable updates both version check and template updates - homeDir string `json:"-"` // User Home Directory - configDir string `json:"-"` // Nuclei Global Config Directory + disableUpdates bool `json:"-"` // disable updates both version check and template updates + homeDir string `json:"-"` // User Home Directory + configDir string `json:"-"` // Nuclei Global Config Directory + debugArgs []string `json:"-"` // debug args } // IsCustomTemplate determines whether a given template is custom-built or part of the official Nuclei templates. @@ -329,6 +330,46 @@ func (c *Config) copyIgnoreFile() { } } +// IsDebugArgEnabled checks if debug arg is enabled +// this could be a feature specific to debugging like PPROF or printing stats +// of max host error etc +func (c *Config) IsDebugArgEnabled(arg string) bool { + for _, v := range c.debugArgs { + if v == arg { + return true + } + } + return false +} + +// parseDebugArgs from string +func (c *Config) parseDebugArgs(data string) { + // use space as seperator instead of commas + tmp := strings.Fields(data) + for _, v := range tmp { + key := v + value := "" + // if it is key value pair then split it + if strings.Contains(v, "=") { + parts := strings.SplitN(v, "=", 2) + if len(parts) != 2 { + continue + } + key, value = strings.TrimSpace(parts[0]), strings.TrimSpace(parts[1]) + } + if value == "false" || value == "0" { + // if false or disabled then skip + continue + } + switch key { + case DebugArgHostErrorStats: + c.debugArgs = append(c.debugArgs, DebugArgHostErrorStats) + case DebugExportURLPattern: + c.debugArgs = append(c.debugArgs, DebugExportURLPattern) + } + } +} + func init() { // first attempt to migrate all files from old config directory to new config directory goflags.AttemptConfigMigration() // regardless how many times this is called it will only migrate once based on condition @@ -377,6 +418,7 @@ func init() { // and even if it is changed we don't follow it since it is not expected behavior // If custom templates are in default locations only then they are loaded while running nuclei DefaultConfig.SetTemplatesDir(DefaultConfig.TemplatesDirectory) + DefaultConfig.parseDebugArgs(env.GetEnvOrDefault("NUCLEI_ARGS", "")) } // Add Default Config adds default when .templates-config.json file is not present diff --git a/pkg/core/executors.go b/pkg/core/executors.go index 86302bb713..0e91c3883b 100644 --- a/pkg/core/executors.go +++ b/pkg/core/executors.go @@ -107,7 +107,7 @@ func (e *Engine) executeTemplateWithTargets(ctx context.Context, template *templ currentInfo.Unlock() // Skip if the host has had errors - if e.executerOpts.HostErrorsCache != nil && e.executerOpts.HostErrorsCache.Check(scannedValue.ID()) { + if e.executerOpts.HostErrorsCache != nil && e.executerOpts.HostErrorsCache.Check(contextargs.NewWithMetaInput(ctx, scannedValue)) { return true } diff --git a/pkg/core/workflow_execute.go b/pkg/core/workflow_execute.go index d0d3ede004..028df4d01f 100644 --- a/pkg/core/workflow_execute.go +++ b/pkg/core/workflow_execute.go @@ -98,7 +98,7 @@ func (e *Engine) runWorkflowStep(template *workflows.WorkflowTemplate, ctx *scan } if err != nil { if w.Options.HostErrorsCache != nil { - w.Options.HostErrorsCache.MarkFailed(ctx.Input.MetaInput.ID(), err) + w.Options.HostErrorsCache.MarkFailed(ctx.Input, err) } if len(template.Executers) == 1 { mainErr = err diff --git a/pkg/js/compiler/compiler.go b/pkg/js/compiler/compiler.go index 05eacda6c6..367bd013b2 100644 --- a/pkg/js/compiler/compiler.go +++ b/pkg/js/compiler/compiler.go @@ -10,9 +10,15 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" contextutil "github.com/projectdiscovery/utils/context" + "github.com/projectdiscovery/utils/errkit" stringsutil "github.com/projectdiscovery/utils/strings" ) +var ( + // ErrJSExecDeadline is the error returned when alloted time for script execution exceeds + ErrJSExecDeadline = errkit.New("js engine execution deadline exceeded").SetKind(errkit.ErrKindDeadline).Build() +) + // Compiler provides a runtime to execute goja runtime // based javascript scripts efficiently while also // providing them access to custom modules defined in libs/. @@ -107,7 +113,7 @@ func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, } // execute with context and timeout - ctx, cancel := context.WithTimeout(opts.Context, time.Duration(opts.Timeout)*time.Second) + ctx, cancel := context.WithTimeoutCause(opts.Context, time.Duration(opts.Timeout)*time.Second, ErrJSExecDeadline) defer cancel() // execute the script results, err := contextutil.ExecFuncWithTwoReturns(ctx, func() (val goja.Value, err error) { @@ -119,6 +125,9 @@ func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, return ExecuteProgram(program, args, opts) }) if err != nil { + if val, ok := err.(*goja.Exception); ok { + err = val.Unwrap() + } return nil, err } var res ExecuteResult diff --git a/pkg/js/compiler/init.go b/pkg/js/compiler/init.go index 8a6d4a04be..8a171dc3da 100644 --- a/pkg/js/compiler/init.go +++ b/pkg/js/compiler/init.go @@ -1,6 +1,8 @@ package compiler -import "github.com/projectdiscovery/nuclei/v3/pkg/types" +import ( + "github.com/projectdiscovery/nuclei/v3/pkg/types" +) // jsprotocolInit @@ -9,6 +11,7 @@ var ( JsProtocolTimeout = 10 PoolingJsVmConcurrency = 100 NonPoolingVMConcurrency = 20 + JsTimeoutMultiplier = 1.5 ) // Init initializes the javascript protocol @@ -21,7 +24,9 @@ func Init(opts *types.Options) error { // 100 is reasonable default opts.JsConcurrency = 100 } - JsProtocolTimeout = opts.Timeout + // we have dialer timeout set to 10s so js needs to be at least + // 15s to return the actual error if not it will be a dialer timeout + JsProtocolTimeout = int(float64(opts.Timeout) * JsTimeoutMultiplier) PoolingJsVmConcurrency = opts.JsConcurrency PoolingJsVmConcurrency -= NonPoolingVMConcurrency return nil diff --git a/pkg/js/libs/postgres/memo.postgres.go b/pkg/js/libs/postgres/memo.postgres.go index 786d87133e..9c61356b07 100755 --- a/pkg/js/libs/postgres/memo.postgres.go +++ b/pkg/js/libs/postgres/memo.postgres.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - _ "github.com/lib/pq" + _ "github.com/projectdiscovery/nuclei/v3/pkg/js/utils/pgwrap" utils "github.com/projectdiscovery/nuclei/v3/pkg/js/utils" diff --git a/pkg/js/libs/postgres/postgres.go b/pkg/js/libs/postgres/postgres.go index 5aea415010..f20ea85a73 100644 --- a/pkg/js/libs/postgres/postgres.go +++ b/pkg/js/libs/postgres/postgres.go @@ -9,10 +9,11 @@ import ( "time" "github.com/go-pg/pg" - _ "github.com/lib/pq" "github.com/praetorian-inc/fingerprintx/pkg/plugins" postgres "github.com/praetorian-inc/fingerprintx/pkg/plugins/services/postgresql" utils "github.com/projectdiscovery/nuclei/v3/pkg/js/utils" + "github.com/projectdiscovery/nuclei/v3/pkg/js/utils/pgwrap" + _ "github.com/projectdiscovery/nuclei/v3/pkg/js/utils/pgwrap" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" ) @@ -100,7 +101,7 @@ func executeQuery(host string, port int, username string, password string, dbNam target := net.JoinHostPort(host, fmt.Sprintf("%d", port)) connStr := fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=disable", username, password, target, dbName) - db, err := sql.Open("postgres", connStr) + db, err := sql.Open(pgwrap.PGWrapDriver, connStr) if err != nil { return nil, err } @@ -152,6 +153,9 @@ func connect(host string, port int, username string, password string, dbName str User: username, Password: password, Database: dbName, + Dialer: func(network, addr string) (net.Conn, error) { + return protocolstate.Dialer.Dial(context.Background(), network, addr) + }, IdleCheckFrequency: -1, }).WithContext(ctx).WithTimeout(10 * time.Second) defer db.Close() diff --git a/pkg/js/utils/pgwrap/pgwrap.go b/pkg/js/utils/pgwrap/pgwrap.go new file mode 100644 index 0000000000..d1b82f7ab3 --- /dev/null +++ b/pkg/js/utils/pgwrap/pgwrap.go @@ -0,0 +1,53 @@ +package pgwrap + +import ( + "context" + "database/sql" + "database/sql/driver" + "net" + "time" + + "github.com/lib/pq" + "github.com/projectdiscovery/fastdialer/fastdialer" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" +) + +const ( + PGWrapDriver = "pgwrap" +) + +type pgDial struct { + fd *fastdialer.Dialer +} + +func (p *pgDial) Dial(network, address string) (net.Conn, error) { + return p.fd.Dial(context.TODO(), network, address) +} + +func (p *pgDial) DialTimeout(network, address string, timeout time.Duration) (net.Conn, error) { + ctx, cancel := context.WithTimeoutCause(context.Background(), timeout, fastdialer.ErrDialTimeout) + defer cancel() + return p.fd.Dial(ctx, network, address) +} + +func (p *pgDial) DialContext(ctx context.Context, network, address string) (net.Conn, error) { + return p.fd.Dial(ctx, network, address) +} + +// Unfortunately lib/pq does not provide easy to customize or +// replace dialer so we need to hijack it by wrapping it in our own +// driver and register it as postgres driver + +// PgDriver is the Postgres database driver. +type PgDriver struct{} + +// Open opens a new connection to the database. name is a connection string. +// Most users should only use it through database/sql package from the standard +// library. +func (d PgDriver) Open(name string) (driver.Conn, error) { + return pq.DialOpen(&pgDial{fd: protocolstate.Dialer}, name) +} + +func init() { + sql.Register(PGWrapDriver, &PgDriver{}) +} diff --git a/pkg/output/output.go b/pkg/output/output.go index 044d164f1f..1ee710ff3b 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -4,6 +4,7 @@ import ( "encoding/base64" "fmt" "io" + "log/slog" "os" "path/filepath" "regexp" @@ -27,9 +28,12 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/operators" protocolUtils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" "github.com/projectdiscovery/nuclei/v3/pkg/types" + "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" "github.com/projectdiscovery/nuclei/v3/pkg/utils" + "github.com/projectdiscovery/utils/errkit" fileutil "github.com/projectdiscovery/utils/file" osutils "github.com/projectdiscovery/utils/os" + urlutil "github.com/projectdiscovery/utils/url" ) // Writer is an interface which writes output to somewhere for nuclei events. @@ -299,10 +303,13 @@ func (w *StandardWriter) Write(event *ResultEvent) error { // JSONLogRequest is a trace/error log request written to file type JSONLogRequest struct { - Template string `json:"template"` - Input string `json:"input"` - Error string `json:"error"` - Type string `json:"type"` + Template string `json:"template"` + Type string `json:"type"` + Input string `json:"input"` + Address string `json:"address"` + Error string `json:"error"` + Kind string `json:"kind,omitempty"` + Attrs interface{} `json:"attrs,omitempty"` } // Request writes a log the requests trace log @@ -315,12 +322,43 @@ func (w *StandardWriter) Request(templatePath, input, requestType string, reques Input: input, Type: requestType, } - if unwrappedErr := utils.UnwrapError(requestErr); unwrappedErr != nil { - request.Error = unwrappedErr.Error() - } else { + parsed, _ := urlutil.ParseAbsoluteURL(input, false) + if parsed != nil { + request.Address = parsed.Hostname() + port := parsed.Port() + if port == "" { + switch parsed.Scheme { + case urlutil.HTTP: + port = "80" + case urlutil.HTTPS: + port = "443" + } + } + request.Address += ":" + port + } + errX := errkit.FromError(requestErr) + if errX == nil { request.Error = "none" + } else { + request.Kind = errkit.ErrKindUnknown.String() + var cause error + if len(errX.Errors()) > 1 { + cause = errX.Errors()[0] + } + if cause == nil { + cause = errX + } + cause = tryParseCause(cause) + request.Error = cause.Error() + request.Kind = errkit.GetErrorKind(requestErr, nucleierr.ErrTemplateLogic).String() + if len(errX.Attrs()) > 0 { + request.Attrs = slog.GroupValue(errX.Attrs()...) + } + } + // check if address slog attr is avaiable in error if set use it + if val := errkit.GetAttrValue(requestErr, "address"); val.Any() != nil { + request.Address = val.String() } - data, err := jsoniter.Marshal(request) if err != nil { return @@ -452,3 +490,24 @@ func (w *StandardWriter) WriteStoreDebugData(host, templateID, eventType string, } } + +// tryParseCause tries to parse the cause of given error +// this is legacy support due to use of errorutil in existing libraries +// but this should not be required once all libraries are updated +func tryParseCause(err error) error { + if err == nil { + return nil + } + msg := err.Error() + if strings.HasPrefix(msg, "ReadStatusLine:") { + // last index is actual error (from rawhttp) + parts := strings.Split(msg, ":") + return errkit.New(strings.TrimSpace(parts[len(parts)-1])) + } + if strings.Contains(msg, "read ") { + // same here + parts := strings.Split(msg, ":") + return errkit.New(strings.TrimSpace(parts[len(parts)-1])) + } + return err +} diff --git a/pkg/output/output_test.go b/pkg/output/output_test.go index 7c96c05297..a21f7e8898 100644 --- a/pkg/output/output_test.go +++ b/pkg/output/output_test.go @@ -30,7 +30,7 @@ func TestStandardWriterRequest(t *testing.T) { require.NoError(t, err) w.Request("path", "input", "http", nil) - require.Equal(t, `{"template":"path","input":"input","error":"none","type":"http"}`, traceWriter.String()) + require.Equal(t, `{"template":"path","type":"http","input":"input","address":"input:","error":"none"}`, traceWriter.String()) require.Empty(t, errorWriter.String()) }) @@ -47,7 +47,7 @@ func TestStandardWriterRequest(t *testing.T) { fmt.Errorf("GET https://example.com/tcpconfig.html/tcpconfig.html giving up after 2 attempts: %w", errors.New("context deadline exceeded (Client.Timeout exceeded while awaiting headers)")), ) - require.Equal(t, `{"template":"misconfiguration/tcpconfig.yaml","input":"https://example.com/tcpconfig.html","error":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)","type":"http"}`, errorWriter.String()) + require.Equal(t, `{"template":"misconfiguration/tcpconfig.yaml","type":"http","input":"https://example.com/tcpconfig.html","address":"example.com:443","error":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)","kind":"unknown-error"}`, errorWriter.String()) }) } diff --git a/pkg/protocols/code/code.go b/pkg/protocols/code/code.go index 70dda72548..f103f50d0c 100644 --- a/pkg/protocols/code/code.go +++ b/pkg/protocols/code/code.go @@ -32,6 +32,7 @@ import ( templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" "github.com/projectdiscovery/nuclei/v3/pkg/types" contextutil "github.com/projectdiscovery/utils/context" + "github.com/projectdiscovery/utils/errkit" errorutil "github.com/projectdiscovery/utils/errors" ) @@ -41,7 +42,10 @@ const ( ) var ( + // pythonEnvRegexCompiled is the compiled regex for python environment variables pythonEnvRegexCompiled = regexp.MustCompile(pythonEnvRegex) + // ErrCodeExecutionDeadline is the error returned when alloted time for script execution exceeds + ErrCodeExecutionDeadline = errkit.New("code execution deadline exceeded").SetKind(errkit.ErrKindDeadline).Build() ) // Request is a request for the SSL protocol @@ -214,7 +218,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa } } - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(timeout)*time.Second) + ctx, cancel := context.WithTimeoutCause(input.Context(), time.Duration(timeout)*time.Second, ErrCodeExecutionDeadline) defer cancel() // Note: we use contextutil despite the fact that gozero accepts context as argument gOutput, err := contextutil.ExecFuncWithTwoReturns(ctx, func() (*gozerotypes.Result, error) { diff --git a/pkg/protocols/common/contextargs/contextargs.go b/pkg/protocols/common/contextargs/contextargs.go index 8e8f0361c4..ed004ae370 100644 --- a/pkg/protocols/common/contextargs/contextargs.go +++ b/pkg/protocols/common/contextargs/contextargs.go @@ -37,6 +37,13 @@ func New(ctx context.Context) *Context { return NewWithInput(ctx, "") } +// NewWithMetaInput creates a new contextargs instance with meta input +func NewWithMetaInput(ctx context.Context, input *MetaInput) *Context { + n := New(ctx) + n.MetaInput = input + return n +} + // Create a new contextargs instance with input string func NewWithInput(ctx context.Context, input string) *Context { jar, err := cookiejar.New(nil) @@ -174,3 +181,20 @@ func (ctx *Context) Clone() *Context { } return newCtx } + +// GetCopyIfHostOutdated returns a new contextargs if the host is outdated +func GetCopyIfHostOutdated(ctx *Context, url string) *Context { + if ctx.MetaInput.Input == "" { + newctx := ctx.Clone() + newctx.MetaInput.Input = url + return newctx + } + orig, _ := urlutil.Parse(ctx.MetaInput.Input) + newURL, _ := urlutil.Parse(url) + if orig != nil && newURL != nil && orig.Host != newURL.Host { + newCtx := ctx.Clone() + newCtx.MetaInput.Input = newURL.Host + return newCtx + } + return ctx +} diff --git a/pkg/protocols/common/contextargs/metainput.go b/pkg/protocols/common/contextargs/metainput.go index afda2fda26..72eac6247d 100644 --- a/pkg/protocols/common/contextargs/metainput.go +++ b/pkg/protocols/common/contextargs/metainput.go @@ -4,11 +4,13 @@ import ( "bytes" "crypto/md5" "fmt" + "net" "strings" jsoniter "github.com/json-iterator/go" "github.com/projectdiscovery/nuclei/v3/pkg/input/types" urlutil "github.com/projectdiscovery/utils/url" + "github.com/segmentio/ksuid" ) // MetaInput represents a target with metadata (TODO: replace with https://github.com/projectdiscovery/metainput) @@ -47,6 +49,56 @@ func (metaInput *MetaInput) URL() (*urlutil.URL, error) { return instance, nil } +// Port returns the port of the target +// if port is not present then empty string is returned +func (metaInput *MetaInput) Port() string { + target, err := urlutil.ParseAbsoluteURL(metaInput.Input, false) + if err != nil { + return "" + } + return target.Port() +} + +// Address return the remote address of target +// Note: it does not resolve the domain to ip +// it is meant to be used by hosterrorsCache if invalid metainput +// is provided then it uses a random ksuid as hostname to avoid skipping valid targets +func (metaInput *MetaInput) Address() string { + var hostname, port string + target, err := urlutil.ParseAbsoluteURL(metaInput.Target(), false) + if err != nil { + if metaInput.CustomIP == "" { + // since this is used in hosterrorscache we add a random id + // which will never be used to avoid skipping valid targets + hostname = fmt.Sprintf("invalid-%s", ksuid.New().String()) + } + } else { + hostname = target.Hostname() + port = target.Port() + if port == "" { + switch target.Scheme { + case urlutil.HTTP: + port = "80" + case urlutil.HTTPS: + port = "443" + default: + port = "80" + } + } + } + if metaInput.CustomIP != "" { + hostname = metaInput.CustomIP + } + if port == "" { + if strings.HasPrefix(hostname, "http://") { + port = "80" + } else if strings.HasPrefix(hostname, "https://") { + port = "443" + } + } + return net.JoinHostPort(hostname, port) +} + // ID returns a unique id/hash for metainput func (metaInput *MetaInput) ID() string { if metaInput.CustomIP != "" { diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index 3abd1ec55f..e40f13dde3 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -10,17 +10,25 @@ import ( "github.com/bluele/gcache" "github.com/projectdiscovery/gologger" + "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" + "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" + "github.com/projectdiscovery/utils/errkit" ) // CacheInterface defines the signature of the hosterrorscache so that // users of Nuclei as embedded lib may implement their own cache type CacheInterface interface { - SetVerbose(verbose bool) // log verbosely - Close() // close the cache - Check(value string) bool // return true if the host should be skipped - MarkFailed(value string, err error) // record a failure (and cause) for the host + SetVerbose(verbose bool) // log verbosely + Close() // close the cache + Check(ctx *contextargs.Context) bool // return true if the host should be skipped + MarkFailed(ctx *contextargs.Context, err error) // record a failure (and cause) for the host } +var ( + _ CacheInterface = (*Cache)(nil) +) + // Cache is a cache for host based errors. It allows skipping // certain hosts based on an error threshold. // @@ -34,8 +42,10 @@ type Cache struct { } type cacheItem struct { - errors atomic.Int32 sync.Once + errors atomic.Int32 + isPermanentErr bool + cause error // optional cause } const DefaultMaxHostsCount = 10000 @@ -55,6 +65,16 @@ func (c *Cache) SetVerbose(verbose bool) { // Close closes the host errors cache func (c *Cache) Close() { + if config.DefaultConfig.IsDebugArgEnabled(config.DebugArgHostErrorStats) { + items := c.failedTargets.GetALL(false) + for k, v := range items { + val, ok := v.(*cacheItem) + if !ok { + continue + } + gologger.Info().Label("MaxHostErrorStats").Msgf("Host: %s, Errors: %d", k, val.errors.Load()) + } + } c.failedTargets.Purge() } @@ -88,14 +108,19 @@ func (c *Cache) normalizeCacheValue(value string) string { // - URL: https?:// type // - Host:port type // - host type -func (c *Cache) Check(value string) bool { - finalValue := c.normalizeCacheValue(value) +func (c *Cache) Check(ctx *contextargs.Context) bool { + finalValue := c.GetKeyFromContext(ctx, nil) existingCacheItem, err := c.failedTargets.GetIFPresent(finalValue) if err != nil { return false } existingCacheItemValue := existingCacheItem.(*cacheItem) + if existingCacheItemValue.isPermanentErr { + // skipping permanent errors is expected so verbose instead of info + gologger.Verbose().Msgf("Skipped %s from target list as found unresponsive permanently: %s", finalValue, existingCacheItemValue.cause) + return true + } if existingCacheItemValue.errors.Load() >= int32(c.MaxHostError) { existingCacheItemValue.Do(func() { @@ -107,15 +132,22 @@ func (c *Cache) Check(value string) bool { } // MarkFailed marks a host as failed previously -func (c *Cache) MarkFailed(value string, err error) { +func (c *Cache) MarkFailed(ctx *contextargs.Context, err error) { if !c.checkError(err) { return } - finalValue := c.normalizeCacheValue(value) + finalValue := c.GetKeyFromContext(ctx, err) existingCacheItem, err := c.failedTargets.GetIFPresent(finalValue) if err != nil || existingCacheItem == nil { newItem := &cacheItem{errors: atomic.Int32{}} newItem.errors.Store(1) + if errkit.IsKind(err, errkit.ErrKindNetworkPermanent) { + // skip this address altogether + // permanent errors are always permanent hence this is created once + // and never updated so no need to synchronize + newItem.isPermanentErr = true + newItem.cause = err + } _ = c.failedTargets.Set(finalValue, newItem) return } @@ -124,19 +156,77 @@ func (c *Cache) MarkFailed(value string, err error) { _ = c.failedTargets.Set(finalValue, existingCacheItemValue) } -var reCheckError = regexp.MustCompile(`(no address found for host|Client\.Timeout exceeded while awaiting headers|could not resolve host|connection refused|connection reset by peer|i/o timeout|could not connect to any address found for host|timeout awaiting response headers)`) +// GetKeyFromContext returns the key for the cache from the context +func (c *Cache) GetKeyFromContext(ctx *contextargs.Context, err error) string { + // Note: + // ideally any changes made to remote addr in template like {{Hostname}}:81 etc + // should be reflected in contextargs but it is not yet reflected in some cases + // and needs refactor of ScanContext + ContextArgs to achieve that + // i.e why we use real address from error if present + address := ctx.MetaInput.Address() + // get address override from error + if err != nil { + tmp := errkit.GetAttrValue(err, "address") + if tmp.Any() != nil { + address = tmp.String() + } + } + finalValue := c.normalizeCacheValue(address) + return finalValue +} + +var reCheckError = regexp.MustCompile(`(no address found for host|could not resolve host|connection refused|connection reset by peer|could not connect to any address found for host|timeout awaiting response headers)`) // checkError checks if an error represents a type that should be // added to the host skipping table. +// it first parses error and extracts the cause and checks for blacklisted +// or common errors that should be skipped func (c *Cache) checkError(err error) bool { if err == nil { return false } - errString := err.Error() - for _, msg := range c.TrackError { - if strings.Contains(errString, msg) { - return true + kind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic) + switch kind { + case nucleierr.ErrTemplateLogic: + // these are errors that are not related to the target + // and are due to template logic + return false + case errkit.ErrKindNetworkTemporary: + // these should not be counted as host errors + return false + case errkit.ErrKindNetworkPermanent: + // these should be counted as host errors + return true + case errkit.ErrKindDeadline: + // these should not be counted as host errors + return false + default: + // parse error for furthur processing + errX := errkit.FromError(err) + tmp := errX.Cause() + cause := tmp.Error() + if strings.Contains(cause, "ReadStatusLine:") && strings.Contains(cause, "read: connection reset by peer") { + // this is a FP and should not be counted as a host error + // because server closes connection when it reads corrupted bytes which we send via rawhttp + return false + } + if strings.HasPrefix(cause, "ReadStatusLine:") { + // error is present in last part when using rawhttp + // this will be fixed once errkit is used everywhere + lastIndex := strings.LastIndex(cause, ":") + if lastIndex == -1 { + lastIndex = 0 + } + if lastIndex >= len(cause)-1 { + lastIndex = 0 + } + cause = cause[lastIndex+1:] + } + for _, msg := range c.TrackError { + if strings.Contains(cause, msg) { + return true + } } + return reCheckError.MatchString(cause) } - return reCheckError.MatchString(errString) } diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go index a4730366e0..6fd04b475b 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go @@ -1,11 +1,13 @@ package hosterrorscache import ( + "context" "fmt" "sync" "sync/atomic" "testing" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" "github.com/stretchr/testify/require" ) @@ -13,8 +15,8 @@ func TestCacheCheck(t *testing.T) { cache := New(3, DefaultMaxHostsCount, nil) for i := 0; i < 100; i++ { - cache.MarkFailed("test", fmt.Errorf("could not resolve host")) - got := cache.Check("test") + cache.MarkFailed(newCtxArgs("test"), fmt.Errorf("could not resolve host")) + got := cache.Check(newCtxArgs("test")) if i < 2 { // till 3 the host is not flagged to skip require.False(t, got) @@ -24,7 +26,7 @@ func TestCacheCheck(t *testing.T) { } } - value := cache.Check("test") + value := cache.Check(newCtxArgs("test")) require.Equal(t, true, value, "could not get checked value") } @@ -32,8 +34,8 @@ func TestTrackErrors(t *testing.T) { cache := New(3, DefaultMaxHostsCount, []string{"custom error"}) for i := 0; i < 100; i++ { - cache.MarkFailed("custom", fmt.Errorf("got: nested: custom error")) - got := cache.Check("custom") + cache.MarkFailed(newCtxArgs("custom"), fmt.Errorf("got: nested: custom error")) + got := cache.Check(newCtxArgs("custom")) if i < 2 { // till 3 the host is not flagged to skip require.False(t, got) @@ -42,7 +44,7 @@ func TestTrackErrors(t *testing.T) { require.True(t, got) } } - value := cache.Check("custom") + value := cache.Check(newCtxArgs("custom")) require.Equal(t, true, value, "could not get checked value") } @@ -73,16 +75,18 @@ func TestCacheMarkFailed(t *testing.T) { tests := []struct { host string - expected int + expected int32 }{ {"http://example.com:80", 1}, {"example.com:80", 2}, - {"example.com", 1}, + // earlier if port is not provided then port was omitted + // but from now it will default to appropriate http scheme based port with 80 as default + {"example.com:443", 1}, } for _, test := range tests { - normalizedCacheValue := cache.normalizeCacheValue(test.host) - cache.MarkFailed(test.host, fmt.Errorf("no address found for host")) + normalizedCacheValue := cache.GetKeyFromContext(newCtxArgs(test.host), nil) + cache.MarkFailed(newCtxArgs(test.host), fmt.Errorf("no address found for host")) failedTarget, err := cache.failedTargets.Get(normalizedCacheValue) require.Nil(t, err) require.NotNil(t, failedTarget) @@ -102,7 +106,7 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { }{ {"http://example.com:80", 200}, {"example.com:80", 200}, - {"example.com", 100}, + {"example.com:443", 100}, } // the cache is not atomic during items creation, so we pre-create them with counter to zero @@ -120,14 +124,14 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { wg.Add(1) go func() { defer wg.Done() - cache.MarkFailed(currentTest.host, fmt.Errorf("could not resolve host")) + cache.MarkFailed(newCtxArgs(currentTest.host), fmt.Errorf("could not resolve host")) }() } } wg.Wait() for _, test := range tests { - require.True(t, cache.Check(test.host)) + require.True(t, cache.Check(newCtxArgs(test.host))) normalizedCacheValue := cache.normalizeCacheValue(test.host) failedTarget, err := cache.failedTargets.Get(normalizedCacheValue) @@ -139,3 +143,8 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { require.EqualValues(t, test.expected, value.errors.Load()) } } + +func newCtxArgs(value string) *contextargs.Context { + ctx := contextargs.NewWithInput(context.TODO(), value) + return ctx +} diff --git a/pkg/protocols/common/protocolinit/init.go b/pkg/protocols/common/protocolinit/init.go index 2ab5d7ca9c..59f7dd40b0 100644 --- a/pkg/protocols/common/protocolinit/init.go +++ b/pkg/protocols/common/protocolinit/init.go @@ -13,7 +13,6 @@ import ( // Init initializes the client pools for the protocols func Init(options *types.Options) error { - if err := protocolstate.Init(options); err != nil { return err } @@ -40,4 +39,5 @@ func Init(options *types.Options) error { func Close() { protocolstate.Dialer.Close() + protocolstate.Dialer = nil } diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index ae5ac6cb9d..89675e7696 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -210,6 +210,7 @@ func interfaceAddresses(interfaceName string) ([]net.Addr, error) { func Close() { if Dialer != nil { Dialer.Close() + Dialer = nil } StopActiveMemGuardian() } diff --git a/pkg/protocols/headless/engine/page_actions.go b/pkg/protocols/headless/engine/page_actions.go index 348cab0aec..57cc371093 100644 --- a/pkg/protocols/headless/engine/page_actions.go +++ b/pkg/protocols/headless/engine/page_actions.go @@ -24,6 +24,7 @@ import ( protocolutils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" httputil "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils/http" contextutil "github.com/projectdiscovery/utils/context" + "github.com/projectdiscovery/utils/errkit" errorutil "github.com/projectdiscovery/utils/errors" fileutil "github.com/projectdiscovery/utils/file" folderutil "github.com/projectdiscovery/utils/folder" @@ -35,6 +36,8 @@ import ( var ( errinvalidArguments = errorutil.New("invalid arguments provided") ErrLFAccessDenied = errorutil.New("Use -allow-local-file-access flag to enable local file access") + // ErrActionExecDealine is the error returned when alloted time for action execution exceeds + ErrActionExecDealine = errkit.New("headless action execution deadline exceeded").SetKind(errkit.ErrKindDeadline).Build() ) const ( @@ -619,7 +622,7 @@ func (p *Page) WaitEvent(act *Action, out map[string]string) (func() error, erro // Just wait the event to happen waitFunc := func() (err error) { // execute actual wait event - ctx, cancel := context.WithTimeout(context.Background(), maxDuration) + ctx, cancel := context.WithTimeoutCause(context.Background(), maxDuration, ErrActionExecDealine) defer cancel() err = contextutil.ExecFunc(ctx, p.page.WaitEvent(waitEvent)) return diff --git a/pkg/protocols/http/httpclientpool/clientpool.go b/pkg/protocols/http/httpclientpool/clientpool.go index 3e2baf55a5..4200e25b78 100644 --- a/pkg/protocols/http/httpclientpool/clientpool.go +++ b/pkg/protocols/http/httpclientpool/clientpool.go @@ -35,9 +35,10 @@ var ( forceMaxRedirects int normalClient *retryablehttp.Client clientPool *mapsutil.SyncLockMap[string, *retryablehttp.Client] - // ResponseHeaderTimeout is the timeout for response headers + // MaxResponseHeaderTimeout is the timeout for response headers // to be read from the server (this prevents infinite hang started by server if any) - ResponseHeaderTimeout = time.Duration(5) * time.Second + // Note: this will be overridden temporarily when using @timeout request annotation + MaxResponseHeaderTimeout = time.Duration(10) * time.Second // HttpTimeoutMultiplier is the multiplier for the http timeout HttpTimeoutMultiplier = 3 ) @@ -53,6 +54,9 @@ func Init(options *types.Options) error { if normalClient != nil { return nil } + if options.Timeout > 10 { + MaxResponseHeaderTimeout = time.Duration(options.Timeout) * time.Second + } if options.ShouldFollowHTTPRedirects() { forceMaxRedirects = options.MaxRedirects } @@ -111,6 +115,8 @@ type Configuration struct { RedirectFlow RedirectFlow // Connection defines custom connection configuration Connection *ConnectionConfiguration + // ResponseHeaderTimeout is the timeout for response body to be read from the server + ResponseHeaderTimeout time.Duration } // Hash returns the hash of the configuration to allow client pooling @@ -129,13 +135,15 @@ func (c *Configuration) Hash() string { builder.WriteString(strconv.FormatBool(c.DisableCookie)) builder.WriteString("c") builder.WriteString(strconv.FormatBool(c.Connection != nil)) + builder.WriteString("r") + builder.WriteString(strconv.FormatInt(int64(c.ResponseHeaderTimeout.Seconds()), 10)) hash := builder.String() return hash } // HasStandardOptions checks whether the configuration requires custom settings func (c *Configuration) HasStandardOptions() bool { - return c.Threads == 0 && c.MaxRedirects == 0 && c.RedirectFlow == DontFollowRedirect && c.DisableCookie && c.Connection == nil && !c.NoTimeout + return c.Threads == 0 && c.MaxRedirects == 0 && c.RedirectFlow == DontFollowRedirect && c.DisableCookie && c.Connection == nil && !c.NoTimeout && c.ResponseHeaderTimeout == 0 } // GetRawHTTP returns the rawhttp request client @@ -182,6 +190,9 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl maxIdleConns := 0 maxConnsPerHost := 0 maxIdleConnsPerHost := -1 + // do not split given timeout into chunks for retry + // because this won't work on slow hosts + retryableHttpOptions.NoAdjustTimeout = true if configuration.Threads > 0 || options.ScanStrategy == scanstrategy.HostSpray.String() { // Single host @@ -235,6 +246,12 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl return nil, errors.Wrap(err, "could not create client certificate") } + // responseHeaderTimeout is max timeout for response headers to be read + responseHeaderTimeout := MaxResponseHeaderTimeout + if configuration.ResponseHeaderTimeout != 0 { + responseHeaderTimeout = configuration.ResponseHeaderTimeout + } + transport := &http.Transport{ ForceAttemptHTTP2: options.ForceAttemptHTTP2, DialContext: Dialer.Dial, @@ -252,7 +269,7 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl MaxConnsPerHost: maxConnsPerHost, TLSClientConfig: tlsConfig, DisableKeepAlives: disableKeepAlives, - ResponseHeaderTimeout: ResponseHeaderTimeout, + ResponseHeaderTimeout: responseHeaderTimeout, } if types.ProxyURL != "" { @@ -351,7 +368,7 @@ func makeCheckRedirectFunc(redirectType RedirectFlow, maxRedirects int) checkRed } } -func checkMaxRedirects(req *http.Request, via []*http.Request, maxRedirects int) error { +func checkMaxRedirects(_ *http.Request, via []*http.Request, maxRedirects int) error { if maxRedirects == 0 { if len(via) > defaultMaxRedirects { return http.ErrUseLastResponse diff --git a/pkg/protocols/http/httpclientpool/options.go b/pkg/protocols/http/httpclientpool/options.go new file mode 100644 index 0000000000..b6e60b6367 --- /dev/null +++ b/pkg/protocols/http/httpclientpool/options.go @@ -0,0 +1,54 @@ +package httpclientpool + +import ( + "io" + "net/http" + "strings" + "time" + + "github.com/projectdiscovery/rawhttp" +) + +// WithCustomTimeout is a configuration for custom timeout +type WithCustomTimeout struct { + Timeout time.Duration +} + +// RawHttpRequestOpts is a configuration for raw http request +type RawHttpRequestOpts struct { + // Method is the http method to use + Method string + // URL is the url to request + URL string + // Path is request path to use + Path string + // Headers is the headers to use + Headers map[string][]string + // Body is the body to use + Body io.Reader + // Options is more client related options + Options *rawhttp.Options +} + +// SendRawRequest sends a raw http request with the provided options and returns http response +func SendRawRequest(client *rawhttp.Client, opts *RawHttpRequestOpts) (*http.Response, error) { + resp, err := client.DoRawWithOptions(opts.Method, opts.URL, opts.Path, opts.Headers, opts.Body, opts.Options) + if err != nil { + cause := err.Error() + if strings.Contains(cause, "ReadStatusLine: ") && strings.Contains(cause, "read: connection reset by peer") { + // this error is caused when rawhttp client sends a corrupted or malformed request packet to server + // some servers may attempt gracefully shutdown but most will just abruptly close the connection which results + // in a connection reset by peer error and this can be safely assumed as 400 Bad Request in terms of normal http flow + req, _ := http.NewRequest(opts.Method, opts.URL, opts.Body) + req.Header = opts.Headers + resp = &http.Response{ + Request: req, + StatusCode: http.StatusBadRequest, + Status: http.StatusText(http.StatusBadRequest), + Body: io.NopCloser(strings.NewReader("")), + } + return resp, nil + } + } + return resp, err +} diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index c372e3262b..7b6c6cee24 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -35,8 +35,10 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/http/signerpool" templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" "github.com/projectdiscovery/nuclei/v3/pkg/types" + "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" "github.com/projectdiscovery/rawhttp" convUtil "github.com/projectdiscovery/utils/conversion" + "github.com/projectdiscovery/utils/errkit" errorutil "github.com/projectdiscovery/utils/errors" httpUtils "github.com/projectdiscovery/utils/http" "github.com/projectdiscovery/utils/reader" @@ -55,7 +57,9 @@ const ( var ( MaxBodyRead = int64(10 * 1024 * 1024) // 10MB // ErrMissingVars is error occured when variables are missing - ErrMissingVars = errors.New("stop execution due to unresolved variables") + ErrMissingVars = errkit.New("stop execution due to unresolved variables").SetKind(nucleierr.ErrTemplateLogic).Build() + // ErrHttpEngineRequestDeadline is error occured when request deadline set by http request engine is exceeded + ErrHttpEngineRequestDeadline = errkit.New("http request engine deadline exceeded").SetKind(errkit.ErrKindDeadline).Build() ) // Type returns the type of the protocol request @@ -147,15 +151,15 @@ func (request *Request) executeRaceRequest(input *contextargs.Context, previous return } // marks thsi host as unresponsive if applicable - request.markUnresponsiveHost(input, err) - if request.isUnresponsiveHost(input) { + request.markUnresponsiveAddress(input, err) + if request.isUnresponsiveAddress(input) { // stop all inflight requests spmHandler.Cancel() } }) for i := 0; i < request.RaceNumberRequests; i++ { - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(input) { // stop sending more requests condition is met break } @@ -163,7 +167,7 @@ func (request *Request) executeRaceRequest(input *contextargs.Context, previous // execute http request go func(httpRequest *generatedRequest) { defer spmHandler.Release() - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(input) { // stop sending more requests condition is met return } @@ -232,8 +236,8 @@ func (request *Request) executeParallelHTTP(input *contextargs.Context, dynamicV return } // marks thsi host as unresponsive if applicable - request.markUnresponsiveHost(input, err) - if request.isUnresponsiveHost(input) { + request.markUnresponsiveAddress(input, err) + if request.isUnresponsiveAddress(input) { // stop all inflight requests spmHandler.Cancel() } @@ -261,7 +265,7 @@ func (request *Request) executeParallelHTTP(input *contextargs.Context, dynamicV } // break if stop at first match is found or host is unresponsive - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(input) { break } @@ -277,17 +281,23 @@ func (request *Request) executeParallelHTTP(input *contextargs.Context, dynamicV if input.MetaInput.Input == "" { input.MetaInput.Input = generatedHttpRequest.URL() } + updatedInput := contextargs.GetCopyIfHostOutdated(input, generatedHttpRequest.URL()) + if request.isUnresponsiveAddress(updatedInput) { + // skip on unresponsive host no need to continue + spmHandler.Cancel() + return nil + } spmHandler.Acquire() go func(httpRequest *generatedRequest) { defer spmHandler.Release() - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) || spmHandler.Cancelled() { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(updatedInput) || spmHandler.Cancelled() { return } // putting ratelimiter here prevents any unnecessary waiting if any request.options.RateLimitTake() // after ratelimit take, check if we need to stop - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) || spmHandler.Cancelled() { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(updatedInput) || spmHandler.Cancelled() { return } @@ -370,8 +380,8 @@ func (request *Request) executeTurboHTTP(input *contextargs.Context, dynamicValu return } // marks thsi host as unresponsive if applicable - request.markUnresponsiveHost(input, err) - if request.isUnresponsiveHost(input) { + request.markUnresponsiveAddress(input, err) + if request.isUnresponsiveAddress(input) { // stop all inflight requests spmHandler.Cancel() } @@ -389,7 +399,7 @@ func (request *Request) executeTurboHTTP(input *contextargs.Context, dynamicValu default: } - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) || spmHandler.Cancelled() { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(input) || spmHandler.Cancelled() { // skip if first match is found break } @@ -403,11 +413,17 @@ func (request *Request) executeTurboHTTP(input *contextargs.Context, dynamicValu if input.MetaInput.Input == "" { input.MetaInput.Input = generatedHttpRequest.URL() } + updatedInput := contextargs.GetCopyIfHostOutdated(input, generatedHttpRequest.URL()) + if request.isUnresponsiveAddress(updatedInput) { + // skip on unresponsive host no need to continue + spmHandler.Cancel() + return nil + } generatedHttpRequest.pipelinedClient = pipeClient spmHandler.Acquire() go func(httpRequest *generatedRequest) { defer spmHandler.Release() - if spmHandler.FoundFirstMatch() || request.isUnresponsiveHost(input) { + if spmHandler.FoundFirstMatch() || request.isUnresponsiveAddress(updatedInput) { // skip if first match is found return } @@ -466,7 +482,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa request.options.RateLimitTake() ctx := request.newContext(input) - ctxWithTimeout, cancel := context.WithTimeout(ctx, httpclientpool.GetHttpTimeout(request.options.Options)) + ctxWithTimeout, cancel := context.WithTimeoutCause(ctx, httpclientpool.GetHttpTimeout(request.options.Options), ErrHttpEngineRequestDeadline) defer cancel() generatedHttpRequest, err := generator.Make(ctxWithTimeout, input, data, payloads, dynamicValue) @@ -477,6 +493,12 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa request.options.Progress.IncrementFailedRequestsBy(int64(generator.Total())) return true, err } + // ideally if http template used a custom port or hostname + // we would want to update it in input but currently templateCtx logic + // is closely tied to contextargs.Context so we are temporarily creating + // a copy and using it to check for host errors etc + // but this should be replaced once templateCtx is refactored properly + updatedInput := contextargs.GetCopyIfHostOutdated(input, generatedHttpRequest.URL()) if generatedHttpRequest.customCancelFunction != nil { defer generatedHttpRequest.customCancelFunction() @@ -487,7 +509,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa input.MetaInput.Input = generatedHttpRequest.URL() } // Check if hosts keep erroring - if request.isUnresponsiveHost(input) { + if request.isUnresponsiveAddress(updatedInput) { return true, nil } var gotMatches bool @@ -527,7 +549,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa } if execReqErr != nil { // if applicable mark the host as unresponsive - request.markUnresponsiveHost(input, execReqErr) + request.markUnresponsiveAddress(updatedInput, execReqErr) requestErr = errorutil.NewWithErr(execReqErr).Msgf("got err while executing %v", generatedHttpRequest.URL()) request.options.Progress.IncrementFailedRequestsBy(1) } else { @@ -580,7 +602,7 @@ const drainReqSize = int64(8 * 1024) // executeRequest executes the actual generated request and returns error if occurred func (request *Request) executeRequest(input *contextargs.Context, generatedRequest *generatedRequest, previousEvent output.InternalEvent, hasInteractMatchers bool, processEvent protocols.OutputEventCallback, requestCount int) (err error) { // Check if hosts keep erroring - if request.isUnresponsiveHost(input) { + if request.isUnresponsiveAddress(input) { return fmt.Errorf("hostErrorsCache : host %s is unresponsive", input.MetaInput.Input) } @@ -713,7 +735,16 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ inputUrl = url.String() } formedURL = fmt.Sprintf("%s%s", inputUrl, generatedRequest.rawRequest.Path) - resp, err = generatedRequest.original.rawhttpClient.DoRawWithOptions(generatedRequest.rawRequest.Method, inputUrl, generatedRequest.rawRequest.Path, generators.ExpandMapValues(generatedRequest.rawRequest.Headers), io.NopCloser(strings.NewReader(generatedRequest.rawRequest.Data)), &options) + + // send rawhttp request and get response + resp, err = httpclientpool.SendRawRequest(generatedRequest.original.rawhttpClient, &httpclientpool.RawHttpRequestOpts{ + Method: generatedRequest.rawRequest.Method, + URL: inputUrl, + Path: generatedRequest.rawRequest.Path, + Headers: generators.ExpandMapValues(generatedRequest.rawRequest.Headers), + Body: io.NopCloser(strings.NewReader(generatedRequest.rawRequest.Data)), + Options: &options, + }) } else { //** For Normal requests **// hostname = generatedRequest.request.URL.Host @@ -731,17 +762,34 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ if errSignature := request.handleSignature(generatedRequest); errSignature != nil { return errSignature } - httpclient := request.httpClient + + // this will be assigned/updated if this specific request has a custom configuration + var modifiedConfig *httpclientpool.Configuration + + // check for cookie related configuration if input.CookieJar != nil { connConfiguration := request.connConfiguration connConfiguration.Connection.SetCookieJar(input.CookieJar) - client, err := httpclientpool.Get(request.options.Options, connConfiguration) + modifiedConfig = connConfiguration + } + // check for request updatedTimeout annotation + updatedTimeout, ok := generatedRequest.request.Context().Value(httpclientpool.WithCustomTimeout{}).(httpclientpool.WithCustomTimeout) + if ok { + if modifiedConfig == nil { + modifiedConfig = request.connConfiguration + } + modifiedConfig.ResponseHeaderTimeout = updatedTimeout.Timeout + } + + if modifiedConfig != nil { + client, err := httpclientpool.Get(request.options.Options, modifiedConfig) if err != nil { return errors.Wrap(err, "could not get http client") } httpclient = client } + resp, err = httpclient.Do(generatedRequest.request) } } @@ -1087,20 +1135,20 @@ func (request *Request) newContext(input *contextargs.Context) context.Context { return input.Context() } -// markUnresponsiveHost checks if the error is a unreponsive host error and marks it -func (request *Request) markUnresponsiveHost(input *contextargs.Context, err error) { +// markUnresponsiveAddress checks if the error is a unreponsive host error and marks it +func (request *Request) markUnresponsiveAddress(input *contextargs.Context, err error) { if err == nil { return } if request.options.HostErrorsCache != nil { - request.options.HostErrorsCache.MarkFailed(input.MetaInput.ID(), err) + request.options.HostErrorsCache.MarkFailed(input, err) } } -// isUnresponsiveHost checks if the error is a unreponsive based on its execution history -func (request *Request) isUnresponsiveHost(input *contextargs.Context) bool { +// isUnresponsiveAddress checks if the error is a unreponsive based on its execution history +func (request *Request) isUnresponsiveAddress(input *contextargs.Context) bool { if request.options.HostErrorsCache != nil { - return request.options.HostErrorsCache.Check(input.MetaInput.ID()) + return request.options.HostErrorsCache.Check(input) } return false } diff --git a/pkg/protocols/http/request_annotations.go b/pkg/protocols/http/request_annotations.go index 67bf7c1671..c0f4b69774 100644 --- a/pkg/protocols/http/request_annotations.go +++ b/pkg/protocols/http/request_annotations.go @@ -10,7 +10,9 @@ import ( "github.com/projectdiscovery/fastdialer/fastdialer" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/http/httpclientpool" + "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" "github.com/projectdiscovery/retryablehttp-go" + "github.com/projectdiscovery/utils/errkit" iputil "github.com/projectdiscovery/utils/ip" stringsutil "github.com/projectdiscovery/utils/strings" ) @@ -27,6 +29,15 @@ var ( reTimeoutAnnotation = regexp.MustCompile(`(?m)^@timeout:\s*(.+)\s*$`) // @once sets the request to be executed only once for a specific URL reOnceAnnotation = regexp.MustCompile(`(?m)^@once\s*$`) + + // ErrTimeoutAnnotationDeadline is the error returned when a specific amount of time was exceeded for a request + // which was alloted using @timeout annotation this usually means that vulnerability was not found + // in rare case it could also happen due to network congestion + // the assigned class is TemplateLogic since this in almost every case means that server is not vulnerable + ErrTimeoutAnnotationDeadline = errkit.New("timeout annotation deadline exceeded").SetKind(nucleierr.ErrTemplateLogic).Build() + // ErrRequestTimeoutDeadline is the error returned when a specific amount of time was exceeded for a request + // this happens when the request execution exceeds alloted time + ErrRequestTimeoutDeadline = errkit.New("request timeout deadline exceeded when notimeout is set").SetKind(errkit.ErrKindDeadline).Build() ) type flowMark int @@ -120,12 +131,16 @@ func (r *Request) parseAnnotations(rawRequest string, request *retryablehttp.Req value := strings.TrimSpace(duration[1]) if parsed, err := time.ParseDuration(value); err == nil { //nolint:govet // cancelled automatically by withTimeout - ctx, overrides.cancelFunc = context.WithTimeout(context.Background(), parsed) + // global timeout is overridden by annotation by replacing context + ctx, overrides.cancelFunc = context.WithTimeoutCause(context.TODO(), parsed, ErrTimeoutAnnotationDeadline) + // add timeout value to context + ctx = context.WithValue(ctx, httpclientpool.WithCustomTimeout{}, httpclientpool.WithCustomTimeout{Timeout: parsed}) request = request.Clone(ctx) } } else { //nolint:govet // cancelled automatically by withTimeout - ctx, overrides.cancelFunc = context.WithTimeout(context.Background(), httpclientpool.GetHttpTimeout(r.options.Options)) + // global timeout is overridden by annotation by replacing context + ctx, overrides.cancelFunc = context.WithTimeoutCause(context.TODO(), httpclientpool.GetHttpTimeout(r.options.Options), ErrRequestTimeoutDeadline) request = request.Clone(ctx) } } diff --git a/pkg/protocols/http/request_fuzz.go b/pkg/protocols/http/request_fuzz.go index bc5f9caa9b..8d980b4bf3 100644 --- a/pkg/protocols/http/request_fuzz.go +++ b/pkg/protocols/http/request_fuzz.go @@ -6,7 +6,6 @@ package http // -> request.executeGeneratedFuzzingRequest [execute final generated fuzzing request and get result] import ( - "context" "fmt" "net/http" "strings" @@ -133,7 +132,7 @@ func (request *Request) executeAllFuzzingRules(input *contextargs.Context, value return request.executeGeneratedFuzzingRequest(gr, input, callback) }, Values: values, - BaseRequest: baseRequest.Clone(context.TODO()), + BaseRequest: baseRequest.Clone(input.Context()), }) if err == nil { applicable = true @@ -158,7 +157,7 @@ func (request *Request) executeAllFuzzingRules(input *contextargs.Context, value func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, input *contextargs.Context, callback protocols.OutputEventCallback) bool { hasInteractMatchers := interactsh.HasMatchers(request.CompiledOperators) hasInteractMarkers := len(gr.InteractURLs) > 0 - if request.options.HostErrorsCache != nil && request.options.HostErrorsCache.Check(input.MetaInput.Input) { + if request.options.HostErrorsCache != nil && request.options.HostErrorsCache.Check(input) { return false } request.options.RateLimitTake() @@ -201,7 +200,7 @@ func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, } if requestErr != nil { if request.options.HostErrorsCache != nil { - request.options.HostErrorsCache.MarkFailed(input.MetaInput.Input, requestErr) + request.options.HostErrorsCache.MarkFailed(input, requestErr) } gologger.Verbose().Msgf("[%s] Error occurred in request: %s\n", request.options.TemplateID, requestErr) } diff --git a/pkg/protocols/javascript/js.go b/pkg/protocols/javascript/js.go index 84457b5fca..71f9f53413 100644 --- a/pkg/protocols/javascript/js.go +++ b/pkg/protocols/javascript/js.go @@ -32,6 +32,7 @@ import ( protocolutils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" "github.com/projectdiscovery/nuclei/v3/pkg/types" + "github.com/projectdiscovery/utils/errkit" errorutil "github.com/projectdiscovery/utils/errors" iputil "github.com/projectdiscovery/utils/ip" syncutil "github.com/projectdiscovery/utils/sync" @@ -360,7 +361,7 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, dynamicV } if request.generator != nil && request.Threads > 1 { - request.executeRequestParallel(context.Background(), hostPort, hostname, input, payloadValues, callback) + request.executeRequestParallel(target.Context(), hostPort, hostname, input, payloadValues, callback) return nil } @@ -387,11 +388,10 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, dynamicV } callback(result) }, requestOptions); err != nil { - _ = err - // Review: should we log error here? - // it is technically not error as it is expected to fail - // gologger.Warning().Msgf("Could not execute request: %s\n", err) - // do not return even if error occured + if errkit.IsNetworkPermanentErr(err) { + // gologger.Verbose().Msgf("Could not execute request: %s\n", err) + return err + } } // If this was a match, and we want to stop at first match, skip all further requests. shouldStopAtFirstMatch := request.options.Options.StopAtFirstMatch || request.StopAtFirstMatch @@ -408,8 +408,8 @@ func (request *Request) executeRequestParallel(ctxParent context.Context, hostPo if threads == 0 { threads = 1 } - ctx, cancel := context.WithCancel(ctxParent) - defer cancel() + ctx, cancel := context.WithCancelCause(ctxParent) + defer cancel(nil) requestOptions := request.options gotmatches := &atomic.Bool{} @@ -453,16 +453,15 @@ func (request *Request) executeRequestParallel(ctxParent context.Context, hostPo } callback(result) }, requestOptions); err != nil { - _ = err - // Review: should we log error here? - // it is technically not error as it is expected to fail - // gologger.Warning().Msgf("Could not execute request: %s\n", err) - // do not return even if error occured + if errkit.IsNetworkPermanentErr(err) { + cancel(err) + return + } } // If this was a match, and we want to stop at first match, skip all further requests. if shouldStopAtFirstMatch && gotmatches.Load() { - cancel() + cancel(nil) return } }() @@ -507,7 +506,6 @@ func (request *Request) executeRequestWithPayloads(hostPort string, input *conte results = compiler.ExecuteResult{"success": false, "error": err.Error()} } request.options.Progress.IncrementRequests() - requestOptions.Output.Request(requestOptions.TemplateID, hostPort, request.Type().String(), err) gologger.Verbose().Msgf("[%s] Sent Javascript request to %s", request.options.TemplateID, hostPort) diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 1123f40569..62807abf93 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -1,7 +1,6 @@ package network import ( - "context" "encoding/hex" "fmt" "net" @@ -64,7 +63,7 @@ func (request *Request) getOpenPorts(target *contextargs.Context) ([]string, err errs = append(errs, err) continue } - conn, err := protocolstate.Dialer.Dial(context.TODO(), "tcp", addr) + conn, err := protocolstate.Dialer.Dial(target.Context(), "tcp", addr) if err != nil { errs = append(errs, err) continue @@ -119,6 +118,10 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, metadata func (request *Request) executeOnTarget(input *contextargs.Context, visited mapsutil.Map[string, struct{}], metadata, previous output.InternalEvent, callback protocols.OutputEventCallback) error { var address string var err error + if request.isUnresponsiveAddress(input) { + // skip on unresponsive address no need to continue + return nil + } if request.SelfContained { address = "" @@ -173,6 +176,8 @@ func (request *Request) executeAddress(variables map[string]interface{}, actualA request.options.Progress.IncrementFailedRequestsBy(1) return err } + updatedTarget := input.Clone() + updatedTarget.MetaInput.Input = actualAddress // if request threads matches global payload concurrency we follow it shouldFollowGlobal := request.Threads == request.options.Options.PayloadConcurrency @@ -206,11 +211,19 @@ func (request *Request) executeAddress(variables map[string]interface{}, actualA m.Unlock() } } + if request.isUnresponsiveAddress(updatedTarget) { + // skip on unresponsive address no need to continue + return nil + } value = generators.MergeMaps(value, payloads) swg.Add() go func(vars map[string]interface{}) { defer swg.Done() + if request.isUnresponsiveAddress(updatedTarget) { + // skip on unresponsive address no need to continue + return + } if err := request.executeRequestWithPayloads(variables, actualAddress, address, input, shouldUseTLS, vars, previous, callback); err != nil { m.Lock() multiErr = multierr.Append(multiErr, err) @@ -240,13 +253,22 @@ func (request *Request) executeRequestWithPayloads(variables map[string]interfac if host, _, err := net.SplitHostPort(actualAddress); err == nil { hostname = host } + updatedTarget := input.Clone() + updatedTarget.MetaInput.Input = actualAddress + + if request.isUnresponsiveAddress(updatedTarget) { + // skip on unresponsive address no need to continue + return nil + } if shouldUseTLS { - conn, err = request.dialer.DialTLS(context.Background(), "tcp", actualAddress) + conn, err = request.dialer.DialTLS(input.Context(), "tcp", actualAddress) } else { - conn, err = request.dialer.Dial(context.Background(), "tcp", actualAddress) + conn, err = request.dialer.Dial(input.Context(), "tcp", actualAddress) } if err != nil { + // adds it to unresponsive address list if applicable + request.markUnresponsiveAddress(updatedTarget, err) request.options.Output.Request(request.options.TemplatePath, address, request.Type().String(), err) request.options.Progress.IncrementFailedRequestsBy(1) return errors.Wrap(err, "could not connect to server") @@ -475,3 +497,21 @@ func ConnReadNWithTimeout(conn net.Conn, n int64, timeout time.Duration) ([]byte } return b[:count], nil } + +// markUnresponsiveAddress checks if the error is a unreponsive host error and marks it +func (request *Request) markUnresponsiveAddress(input *contextargs.Context, err error) { + if err == nil { + return + } + if request.options.HostErrorsCache != nil { + request.options.HostErrorsCache.MarkFailed(input, err) + } +} + +// isUnresponsiveAddress checks if the error is a unreponsive based on its execution history +func (request *Request) isUnresponsiveAddress(input *contextargs.Context) bool { + if request.options.HostErrorsCache != nil { + return request.options.HostErrorsCache.Check(input) + } + return false +} diff --git a/pkg/protocols/websocket/websocket.go b/pkg/protocols/websocket/websocket.go index 0146b57c49..a956de0e3f 100644 --- a/pkg/protocols/websocket/websocket.go +++ b/pkg/protocols/websocket/websocket.go @@ -1,7 +1,6 @@ package websocket import ( - "context" "crypto/tls" "fmt" "io" @@ -228,7 +227,7 @@ func (request *Request) executeRequestWithPayloads(target *contextargs.Context, parsedAddress.Path = path.Join(parsedAddress.Path, parsed.Path) addressToDial = parsedAddress.String() - conn, readBuffer, _, err := websocketDialer.Dial(context.Background(), addressToDial) + conn, readBuffer, _, err := websocketDialer.Dial(target.Context(), addressToDial) if err != nil { requestOptions.Output.Request(requestOptions.TemplateID, input, request.Type().String(), err) requestOptions.Progress.IncrementFailedRequestsBy(1) diff --git a/pkg/templates/cluster.go b/pkg/templates/cluster.go index 97e7b67bd0..603378e986 100644 --- a/pkg/templates/cluster.go +++ b/pkg/templates/cluster.go @@ -296,7 +296,7 @@ func (e *ClusterExecuter) Execute(ctx *scan.ScanContext) (bool, error) { } }) if err != nil && e.options.HostErrorsCache != nil { - e.options.HostErrorsCache.MarkFailed(ctx.Input.MetaInput.Input, err) + e.options.HostErrorsCache.MarkFailed(ctx.Input, err) } return results, err } @@ -330,7 +330,7 @@ func (e *ClusterExecuter) ExecuteWithResults(ctx *scan.ScanContext) ([]*output.R } if err != nil && e.options.HostErrorsCache != nil { - e.options.HostErrorsCache.MarkFailed(ctx.Input.MetaInput.Input, err) + e.options.HostErrorsCache.MarkFailed(ctx.Input, err) } return scanCtx.GenerateResult(), err } diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go index 68410f7f1d..4ce40ace96 100644 --- a/pkg/testutils/testutils.go +++ b/pkg/testutils/testutils.go @@ -20,6 +20,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/progress" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" protocolUtils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" "github.com/projectdiscovery/nuclei/v3/pkg/types" "github.com/projectdiscovery/nuclei/v3/pkg/utils" @@ -27,6 +28,7 @@ import ( // Init initializes the protocols and their configurations func Init(options *types.Options) { + _ = protocolstate.Init(options) _ = protocolinit.Init(options) } diff --git a/pkg/tmplexec/generic/exec.go b/pkg/tmplexec/generic/exec.go index 29ace4477d..3b337f6b20 100644 --- a/pkg/tmplexec/generic/exec.go +++ b/pkg/tmplexec/generic/exec.go @@ -85,7 +85,7 @@ func (g *Generic) ExecuteWithResults(ctx *scan.ScanContext) error { if err != nil { ctx.LogError(err) if g.options.HostErrorsCache != nil { - g.options.HostErrorsCache.MarkFailed(ctx.Input.MetaInput.ID(), err) + g.options.HostErrorsCache.MarkFailed(ctx.Input, err) } gologger.Warning().Msgf("[%s] Could not execute request for %s: %s\n", g.options.TemplateID, ctx.Input.MetaInput.PrettyPrint(), err) } diff --git a/pkg/types/nucleierr/kinds.go b/pkg/types/nucleierr/kinds.go new file mode 100644 index 0000000000..9042beaade --- /dev/null +++ b/pkg/types/nucleierr/kinds.go @@ -0,0 +1,28 @@ +package nucleierr + +import ( + "strings" + + "github.com/projectdiscovery/utils/errkit" +) + +var ( + // ErrTemplateLogic are errors that occured due to missing variable or something similar in template logic + // so this is more of a virtual error that is expected due to template logic + ErrTemplateLogic = errkit.NewPrimitiveErrKind("TemplateLogic", "Error expected due to template logic", isTemplateLogicKind) +) + +// isTemplateLogicKind checks if an error is of template logic kind +func isTemplateLogicKind(err *errkit.ErrorX) bool { + if err == nil || err.Cause() == nil { + return false + } + v := err.Cause().Error() + switch { + case strings.Contains(v, "timeout annotation deadline exceeded"): + return true + case strings.Contains(v, "stop execution due to unresolved variables"): + return true + } + return false +} From 8e0bb8fe3407dde569d7b7241dcdec1430a763ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 19:00:12 +0000 Subject: [PATCH 022/283] chore(deps): bump github.com/projectdiscovery/dsl from 0.0.56 to 0.0.57 Bumps [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) from 0.0.56 to 0.0.57. - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](https://github.com/projectdiscovery/dsl/compare/v0.0.56...v0.0.57) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/dsl dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 537cc9ce65..8368b1afd3 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,7 @@ require ( github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.0.56 + github.com/projectdiscovery/dsl v0.0.57 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.52 diff --git a/go.sum b/go.sum index c176b49953..1c56ada6a6 100644 --- a/go.sum +++ b/go.sum @@ -829,8 +829,8 @@ github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQO github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.0.56 h1:iVFIfDdGXkrXTh5sf6hRaxqTTEYiv/LnNjoOHJIfHiY= -github.com/projectdiscovery/dsl v0.0.56/go.mod h1:3UBjPvtiy8c5E8oAUrKobMKjb3kEwQuGB5tqIN964Og= +github.com/projectdiscovery/dsl v0.0.57 h1:BFjkhtJHzvxSNO6bJJ0UkA7tIwysgsyqWbuhn3FVQfI= +github.com/projectdiscovery/dsl v0.0.57/go.mod h1:w9XL7AT/RDyg7yiFQN8eWWefXiYQt3mojPDdjyTdQ0k= github.com/projectdiscovery/fastdialer v0.1.0 h1:NiId7eXvYZjiBo83AnIZ6K8ZjzLJU8wGXdRLzuKcRrg= github.com/projectdiscovery/fastdialer v0.1.0/go.mod h1:jKOWzyHx+Q2sMiYst5HP6tWLQLDFPVgWBR72szn2h8w= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= From f43588dcd287245133b7ed62f5b32bed1b10746f Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Sat, 25 May 2024 02:52:49 +0530 Subject: [PATCH 023/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index 3918a0124a..bfd95f1b88 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.2.8-dev` + Version = `v3.2.8` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From 718aca6e0e7e612a263f1a0965a631149914dd99 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Sat, 25 May 2024 04:03:25 +0530 Subject: [PATCH 024/283] go mod update --- go.mod | 12 ++++++------ go.sum | 22 ++++++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 8368b1afd3..9006cea29b 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( github.com/xanzy/go-gitlab v0.84.0 go.uber.org/multierr v1.11.0 golang.org/x/net v0.25.0 - golang.org/x/oauth2 v0.11.0 + golang.org/x/oauth2 v0.18.0 golang.org/x/text v0.15.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -81,7 +81,7 @@ require ( github.com/projectdiscovery/dsl v0.0.57 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.52 + github.com/projectdiscovery/goflags v0.1.53 github.com/projectdiscovery/gologger v1.1.12 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 @@ -92,7 +92,7 @@ require ( github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 - github.com/projectdiscovery/uncover v1.0.7 + github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.52 github.com/projectdiscovery/utils v0.1.0 github.com/projectdiscovery/wappalyzergo v0.1.0 @@ -260,7 +260,7 @@ require ( github.com/gobwas/pool v0.2.1 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/uuid v1.3.1 // indirect @@ -289,7 +289,7 @@ require ( github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/trivago/tgo v1.0.7 - github.com/ulikunitz/xz v0.5.11 // indirect + github.com/ulikunitz/xz v0.5.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/yl2chen/cidranger v1.0.2 // indirect github.com/ysmood/goob v0.4.0 // indirect @@ -307,7 +307,7 @@ require ( golang.org/x/sys v0.20.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.21.0 - google.golang.org/appengine v1.6.7 // indirect + google.golang.org/appengine v1.6.8 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect gopkg.in/corvus-ch/zbase32.v1 v1.0.0 // indirect diff --git a/go.sum b/go.sum index 1c56ada6a6..a65794fa25 100644 --- a/go.sum +++ b/go.sum @@ -450,8 +450,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -839,8 +840,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.52 h1:rVYZOtq7iA8e6ceyVZbp6OcuMhcwh5weiXSuDoXsivU= -github.com/projectdiscovery/goflags v0.1.52/go.mod h1:tcBQ0EVGP4Wafza7gx57ZktkGxyfdLn+eQWUUQrV84c= +github.com/projectdiscovery/goflags v0.1.53 h1:wXNIMjvjBo0Hvo1183DQE2RyqlEbrhink/jYrFwRMwE= +github.com/projectdiscovery/goflags v0.1.53/go.mod h1:yw4HnwPGKeCHx48tcl9ZqLrKeSArtUv2LK1dJP1i380= github.com/projectdiscovery/gologger v1.1.12 h1:uX/QkQdip4PubJjjG0+uk5DtyAi1ANPJUvpmimXqv4A= github.com/projectdiscovery/gologger v1.1.12/go.mod h1:DI8nywPLERS5mo8QEA9E7gd5HZ3Je14SjJBH3F5/kLw= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= @@ -879,8 +880,8 @@ github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZA github.com/projectdiscovery/stringsutil v0.0.2/go.mod h1:EJ3w6bC5fBYjVou6ryzodQq37D5c6qbAYQpGmAy+DC0= github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1UzcNsC77A= github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= -github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7siFy9sj0A= -github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= +github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= +github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.52 h1:9SUPH0Epo3DJfB6PCDgETfMaD6nZ08sFvfgXTmPUAsU= github.com/projectdiscovery/useragent v0.0.52/go.mod h1:PUXHgShvaD8p3bihy1mY8tuBDhdk3M0yy4Z10Ajg2yQ= github.com/projectdiscovery/utils v0.1.0 h1:r7Z/s2CBktJ0bnSN410lzOhD8S/0IxmzmFxkQudYKps= @@ -1048,8 +1049,8 @@ github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4d github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= -github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= +github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= @@ -1288,8 +1289,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= -golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= -golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1498,8 +1499,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= From 3307517a6cef118d705fa27ccfae1246d50db941 Mon Sep 17 00:00:00 2001 From: mzack Date: Sat, 25 May 2024 02:52:55 +0200 Subject: [PATCH 025/283] conflict --- lib/sdk_private.go | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/sdk_private.go b/lib/sdk_private.go index c620340f37..0b05059d06 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -25,6 +25,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/http/httpclientpool" "github.com/projectdiscovery/nuclei/v3/pkg/reporting" "github.com/projectdiscovery/nuclei/v3/pkg/templates" From 281b24ed50c9945c3c3ba7f9125e08d98708ace5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 05:49:01 +0000 Subject: [PATCH 026/283] chore(deps): bump github.com/projectdiscovery/hmap from 0.0.43 to 0.0.44 Bumps [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) from 0.0.43 to 0.0.44. - [Release notes](https://github.com/projectdiscovery/hmap/releases) - [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.43...v0.0.44) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/hmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9006cea29b..330ccf252b 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.1.0 - github.com/projectdiscovery/hmap v0.0.43 + github.com/projectdiscovery/hmap v0.0.44 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.49 github.com/projectdiscovery/retryabledns v1.0.60 diff --git a/go.sum b/go.sum index a65794fa25..452255cb71 100644 --- a/go.sum +++ b/go.sum @@ -848,8 +848,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.43 h1:9A/lGm/0uP9x2hP90dmK5vkc6KfGD0XYxDBAQ7lx/zg= -github.com/projectdiscovery/hmap v0.0.43/go.mod h1:cMLXGlkLcPK0Y/aJVa+IZM9wdtkQ6HX4mHTXVC05Jbc= +github.com/projectdiscovery/hmap v0.0.44 h1:bFUmPltPPZH+oGDnbYLEXNujZe+0j81c1E+gF1MMLXQ= +github.com/projectdiscovery/hmap v0.0.44/go.mod h1:glLxv5kLMj/Rgn6iZ9JiSzs72t8FQ4hA34zVoFwFhuM= github.com/projectdiscovery/httpx v1.6.1 h1:aqKzoSydzKAJBV3Sxbqt44nTah4fNS9GkSD4Dy6Fzlc= github.com/projectdiscovery/httpx v1.6.1/go.mod h1:RvibGQbm2Bh2DtuBDVXHLfauFDLtp7opKHyk65sz0ss= github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= From 527f18a6e650f86bed0cad8be1e8d72c82d537cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 05:49:07 +0000 Subject: [PATCH 027/283] chore(deps): bump github.com/projectdiscovery/ratelimit Bumps [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) from 0.0.42 to 0.0.43. - [Release notes](https://github.com/projectdiscovery/ratelimit/releases) - [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.42...v0.0.43) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/ratelimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9006cea29b..fe9aa4f2db 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,7 @@ require ( github.com/projectdiscovery/httpx v1.6.1 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.42 + github.com/projectdiscovery/ratelimit v0.0.43 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 diff --git a/go.sum b/go.sum index a65794fa25..e0f01ed693 100644 --- a/go.sum +++ b/go.sum @@ -864,8 +864,8 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7x7gHm028TJ5XwI8= github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= -github.com/projectdiscovery/ratelimit v0.0.42 h1:110tBLaGUgyPK0DjLmMBQaaqW4tkmqsFidr/t6tyOy4= -github.com/projectdiscovery/ratelimit v0.0.42/go.mod h1:ruhLiZ5liukSpG07p6eHTCPJUmTwOhxDSxQPulvC3/Y= +github.com/projectdiscovery/ratelimit v0.0.43 h1:9yYCnF+NW/vIRVmyvmyCsIph9Z3nsCDka2BrRciDg4c= +github.com/projectdiscovery/ratelimit v0.0.43/go.mod h1:pWKRf/OY4uKtjelBLS5G3mclgvlwpBtbjcYpxdLQsL0= github.com/projectdiscovery/rawhttp v0.1.49 h1:OPP9R/UZx/GFrcPRUs9fOS1dLwhg+2o7p3dByzkIhWM= github.com/projectdiscovery/rawhttp v0.1.49/go.mod h1:aaAaMsdzHPfw4yU3nbeP7NI3vy1ZjgoXw7l+m4Tnt94= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= From 75d0af1aea65026a93afe2bc4546b4942323a3ec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 05:49:18 +0000 Subject: [PATCH 028/283] chore(deps): bump github.com/projectdiscovery/goflags Bumps [github.com/projectdiscovery/goflags](https://github.com/projectdiscovery/goflags) from 0.1.53 to 0.1.54. - [Release notes](https://github.com/projectdiscovery/goflags/releases) - [Commits](https://github.com/projectdiscovery/goflags/compare/v0.1.53...v0.1.54) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/goflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9006cea29b..32f61a0097 100644 --- a/go.mod +++ b/go.mod @@ -81,7 +81,7 @@ require ( github.com/projectdiscovery/dsl v0.0.57 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.53 + github.com/projectdiscovery/goflags v0.1.54 github.com/projectdiscovery/gologger v1.1.12 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 diff --git a/go.sum b/go.sum index a65794fa25..eccf11d2b3 100644 --- a/go.sum +++ b/go.sum @@ -840,8 +840,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.53 h1:wXNIMjvjBo0Hvo1183DQE2RyqlEbrhink/jYrFwRMwE= -github.com/projectdiscovery/goflags v0.1.53/go.mod h1:yw4HnwPGKeCHx48tcl9ZqLrKeSArtUv2LK1dJP1i380= +github.com/projectdiscovery/goflags v0.1.54 h1:xbaEBNbKqXyRu4154UlhsMAFmpaDYma4jJ9zUZGvXW8= +github.com/projectdiscovery/goflags v0.1.54/go.mod h1:cfLzWWxgl/ft5cSHVJZjnvIzd4wX3A9Kz+W1pjeBZvc= github.com/projectdiscovery/gologger v1.1.12 h1:uX/QkQdip4PubJjjG0+uk5DtyAi1ANPJUvpmimXqv4A= github.com/projectdiscovery/gologger v1.1.12/go.mod h1:DI8nywPLERS5mo8QEA9E7gd5HZ3Je14SjJBH3F5/kLw= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= From a2a85fb00271c97e43d2faded6c4c38e2bd156d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 06:20:04 +0000 Subject: [PATCH 029/283] chore(deps): bump github.com/projectdiscovery/rawhttp Bumps [github.com/projectdiscovery/rawhttp](https://github.com/projectdiscovery/rawhttp) from 0.1.49 to 0.1.51. - [Release notes](https://github.com/projectdiscovery/rawhttp/releases) - [Commits](https://github.com/projectdiscovery/rawhttp/compare/v0.1.49...v0.1.51) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/rawhttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1014b3ae7d..f58131b9bb 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/projectdiscovery/fastdialer v0.1.0 github.com/projectdiscovery/hmap v0.0.44 github.com/projectdiscovery/interactsh v1.1.9 - github.com/projectdiscovery/rawhttp v0.1.49 + github.com/projectdiscovery/rawhttp v0.1.51 github.com/projectdiscovery/retryabledns v1.0.60 github.com/projectdiscovery/retryablehttp-go v1.0.62 github.com/projectdiscovery/yamldoc-go v1.0.4 diff --git a/go.sum b/go.sum index 207ca8ec1a..3c61eba18d 100644 --- a/go.sum +++ b/go.sum @@ -866,8 +866,8 @@ github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7 github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= github.com/projectdiscovery/ratelimit v0.0.43 h1:9yYCnF+NW/vIRVmyvmyCsIph9Z3nsCDka2BrRciDg4c= github.com/projectdiscovery/ratelimit v0.0.43/go.mod h1:pWKRf/OY4uKtjelBLS5G3mclgvlwpBtbjcYpxdLQsL0= -github.com/projectdiscovery/rawhttp v0.1.49 h1:OPP9R/UZx/GFrcPRUs9fOS1dLwhg+2o7p3dByzkIhWM= -github.com/projectdiscovery/rawhttp v0.1.49/go.mod h1:aaAaMsdzHPfw4yU3nbeP7NI3vy1ZjgoXw7l+m4Tnt94= +github.com/projectdiscovery/rawhttp v0.1.51 h1:T4sskU2fsX9zNR7nyae0tD/0fliIs73KwBzyoJwBs10= +github.com/projectdiscovery/rawhttp v0.1.51/go.mod h1:ejBaw3dCfJSfbtFv0ib6YfFSjQzt7ZdRVpQWJASxIUs= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.60 h1:f3TPeLnaJKrl9CbfsTfFTFnJY+UnyArH3mxxUUyR5ZQ= From 8011012c420c8d3a56f3ee5812f472445e00669d Mon Sep 17 00:00:00 2001 From: Douglas Danger Manley <127235272+doug-threatmate@users.noreply.github.com> Date: Thu, 30 May 2024 06:34:15 -0400 Subject: [PATCH 030/283] Fix `ExecuteCallbackWithCtx` to use the context that was provided (#5236) * Fix `ExecuteCallbackWithCtx` to use the context that was provided This updates `ExecuteCallbackWithCtx` to use the context that was provided. * remove more hardcoded context --------- Co-authored-by: Tarun Koyalwar --- lib/config.go | 8 +++++++- lib/multi.go | 19 ++++++++++++------- lib/sdk.go | 13 +++++++++---- lib/sdk_private.go | 12 ++++++------ lib/tests/sdk_test.go | 9 ++++++--- 5 files changed, 40 insertions(+), 21 deletions(-) diff --git a/lib/config.go b/lib/config.go index 5610b71515..24bc08691f 100644 --- a/lib/config.go +++ b/lib/config.go @@ -164,11 +164,17 @@ func WithConcurrency(opts Concurrency) NucleiSDKOptions { } // WithGlobalRateLimit sets global rate (i.e all hosts combined) limit options +// Deprecated: will be removed in favour of WithGlobalRateLimitCtx in next release func WithGlobalRateLimit(maxTokens int, duration time.Duration) NucleiSDKOptions { + return WithGlobalRateLimitCtx(context.Background(), maxTokens, duration) +} + +// WithGlobalRateLimitCtx allows setting a global rate limit for the entire engine +func WithGlobalRateLimitCtx(ctx context.Context, maxTokens int, duration time.Duration) NucleiSDKOptions { return func(e *NucleiEngine) error { e.opts.RateLimit = maxTokens e.opts.RateLimitDuration = duration - e.rateLimiter = ratelimit.New(context.Background(), uint(e.opts.RateLimit), e.opts.RateLimitDuration) + e.rateLimiter = ratelimit.New(ctx, uint(e.opts.RateLimit), e.opts.RateLimitDuration) return nil } } diff --git a/lib/multi.go b/lib/multi.go index 7c713e8aa0..a2149ddcd2 100644 --- a/lib/multi.go +++ b/lib/multi.go @@ -26,7 +26,7 @@ type unsafeOptions struct { } // createEphemeralObjects creates ephemeral nuclei objects/instances/types -func createEphemeralObjects(base *NucleiEngine, opts *types.Options) (*unsafeOptions, error) { +func createEphemeralObjects(ctx context.Context, base *NucleiEngine, opts *types.Options) (*unsafeOptions, error) { u := &unsafeOptions{} u.executerOpts = protocols.ExecutorOptions{ Output: base.customWriter, @@ -49,9 +49,9 @@ func createEphemeralObjects(base *NucleiEngine, opts *types.Options) (*unsafeOpt opts.RateLimitDuration = time.Second } if opts.RateLimit == 0 && opts.RateLimitDuration == 0 { - u.executerOpts.RateLimiter = ratelimit.NewUnlimited(context.Background()) + u.executerOpts.RateLimiter = ratelimit.NewUnlimited(ctx) } else { - u.executerOpts.RateLimiter = ratelimit.New(context.Background(), uint(opts.RateLimit), opts.RateLimitDuration) + u.executerOpts.RateLimiter = ratelimit.New(ctx, uint(opts.RateLimit), opts.RateLimitDuration) } u.engine = core.New(opts) u.engine.SetExecuterOptions(u.executerOpts) @@ -83,7 +83,7 @@ type ThreadSafeNucleiEngine struct { // NewThreadSafeNucleiEngine creates a new nuclei engine with given options // whose methods are thread-safe and can be used concurrently // Note: Non-thread-safe methods start with Global prefix -func NewThreadSafeNucleiEngine(opts ...NucleiSDKOptions) (*ThreadSafeNucleiEngine, error) { +func NewThreadSafeNucleiEngineCtx(ctx context.Context, opts ...NucleiSDKOptions) (*ThreadSafeNucleiEngine, error) { // default options e := &NucleiEngine{ opts: types.DefaultOptions(), @@ -94,12 +94,17 @@ func NewThreadSafeNucleiEngine(opts ...NucleiSDKOptions) (*ThreadSafeNucleiEngin return nil, err } } - if err := e.init(); err != nil { + if err := e.init(ctx); err != nil { return nil, err } return &ThreadSafeNucleiEngine{eng: e}, nil } +// Deprecated: use NewThreadSafeNucleiEngineCtx instead +func NewThreadSafeNucleiEngine(opts ...NucleiSDKOptions) (*ThreadSafeNucleiEngine, error) { + return NewThreadSafeNucleiEngineCtx(context.Background(), opts...) +} + // GlobalLoadAllTemplates loads all templates from nuclei-templates repo // This method will load all templates based on filters given at the time of nuclei engine creation in opts func (e *ThreadSafeNucleiEngine) GlobalLoadAllTemplates() error { @@ -124,7 +129,7 @@ func (e *ThreadSafeNucleiEngine) ExecuteNucleiWithOptsCtx(ctx context.Context, t } } // create ephemeral nuclei objects/instances/types using base nuclei engine - unsafeOpts, err := createEphemeralObjects(e.eng, tmpEngine.opts) + unsafeOpts, err := createEphemeralObjects(ctx, e.eng, tmpEngine.opts) if err != nil { return err } @@ -156,7 +161,7 @@ func (e *ThreadSafeNucleiEngine) ExecuteNucleiWithOptsCtx(ctx context.Context, t engine := core.New(tmpEngine.opts) engine.SetExecuterOptions(unsafeOpts.executerOpts) - _ = engine.ExecuteScanWithOpts(context.Background(), store.Templates(), inputProvider, false) + _ = engine.ExecuteScanWithOpts(ctx, store.Templates(), inputProvider, false) engine.WorkPool().Wait() return nil diff --git a/lib/sdk.go b/lib/sdk.go index 63925f47ca..2e23aa49cd 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -240,7 +240,7 @@ func (e *NucleiEngine) ExecuteCallbackWithCtx(ctx context.Context, callback ...f } e.resultCallbacks = append(e.resultCallbacks, filtered...) - _ = e.engine.ExecuteScanWithOpts(context.Background(), e.store.Templates(), e.inputProvider, false) + _ = e.engine.ExecuteScanWithOpts(ctx, e.store.Templates(), e.inputProvider, false) defer e.engine.WorkPool().Wait() return nil } @@ -261,8 +261,8 @@ func (e *NucleiEngine) Engine() *core.Engine { return e.engine } -// NewNucleiEngine creates a new nuclei engine instance -func NewNucleiEngine(options ...NucleiSDKOptions) (*NucleiEngine, error) { +// NewNucleiEngineCtx creates a new nuclei engine instance with given context +func NewNucleiEngineCtx(ctx context.Context, options ...NucleiSDKOptions) (*NucleiEngine, error) { // default options e := &NucleiEngine{ opts: types.DefaultOptions(), @@ -273,8 +273,13 @@ func NewNucleiEngine(options ...NucleiSDKOptions) (*NucleiEngine, error) { return nil, err } } - if err := e.init(); err != nil { + if err := e.init(ctx); err != nil { return nil, err } return e, nil } + +// Deprecated: use NewNucleiEngineCtx instead +func NewNucleiEngine(options ...NucleiSDKOptions) (*NucleiEngine, error) { + return NewNucleiEngineCtx(context.Background(), options...) +} diff --git a/lib/sdk_private.go b/lib/sdk_private.go index cfe9c88a25..ae61add221 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -37,7 +37,7 @@ import ( var sharedInit sync.Once = sync.Once{} // applyRequiredDefaults to options -func (e *NucleiEngine) applyRequiredDefaults() { +func (e *NucleiEngine) applyRequiredDefaults(ctx context.Context) { mockoutput := testutils.NewMockOutputWriter(e.opts.OmitTemplate) mockoutput.WriteCallback = func(event *output.ResultEvent) { if len(e.resultCallbacks) > 0 { @@ -81,7 +81,7 @@ func (e *NucleiEngine) applyRequiredDefaults() { e.interactshOpts = interactsh.DefaultOptions(e.customWriter, e.rc, e.customProgress) } if e.rateLimiter == nil { - e.rateLimiter = ratelimit.New(context.Background(), 150, time.Second) + e.rateLimiter = ratelimit.New(ctx, 150, time.Second) } if e.opts.ExcludeTags == nil { e.opts.ExcludeTags = []string{} @@ -94,7 +94,7 @@ func (e *NucleiEngine) applyRequiredDefaults() { } // init -func (e *NucleiEngine) init() error { +func (e *NucleiEngine) init(ctx context.Context) error { if e.opts.Verbose { gologger.DefaultLogger.SetMaxLevel(levels.LevelVerbose) } else if e.opts.Debug { @@ -121,7 +121,7 @@ func (e *NucleiEngine) init() error { _ = protocolinit.Init(e.opts) }) - e.applyRequiredDefaults() + e.applyRequiredDefaults(ctx) var err error // setup progressbar @@ -204,9 +204,9 @@ func (e *NucleiEngine) init() error { e.opts.RateLimitDuration = time.Second } if e.opts.RateLimit == 0 && e.opts.RateLimitDuration == 0 { - e.executerOpts.RateLimiter = ratelimit.NewUnlimited(context.Background()) + e.executerOpts.RateLimiter = ratelimit.NewUnlimited(ctx) } else { - e.executerOpts.RateLimiter = ratelimit.New(context.Background(), uint(e.opts.RateLimit), e.opts.RateLimitDuration) + e.executerOpts.RateLimiter = ratelimit.New(ctx, uint(e.opts.RateLimit), e.opts.RateLimitDuration) } } diff --git a/lib/tests/sdk_test.go b/lib/tests/sdk_test.go index b20c163d1a..97ec489abc 100644 --- a/lib/tests/sdk_test.go +++ b/lib/tests/sdk_test.go @@ -1,6 +1,7 @@ package sdk_test import ( + "context" "os" "os/exec" "testing" @@ -28,7 +29,8 @@ func TestSimpleNuclei(t *testing.T) { time.Sleep(2 * time.Second) goleak.VerifyNone(t, knownLeaks...) }() - ne, err := nuclei.NewNucleiEngine( + ne, err := nuclei.NewNucleiEngineCtx( + context.TODO(), nuclei.WithTemplateFilters(nuclei.TemplateFilters{ProtocolTypes: "dns"}), // filter dns templates nuclei.EnableStatsWithOpts(nuclei.StatsOptions{JSON: true}), ) @@ -62,7 +64,8 @@ func TestSimpleNucleiRemote(t *testing.T) { time.Sleep(2 * time.Second) goleak.VerifyNone(t, knownLeaks...) }() - ne, err := nuclei.NewNucleiEngine( + ne, err := nuclei.NewNucleiEngineCtx( + context.TODO(), nuclei.WithTemplatesOrWorkflows( nuclei.TemplateSources{ RemoteTemplates: []string{"https://cloud.projectdiscovery.io/public/nameserver-fingerprint.yaml"}, @@ -100,7 +103,7 @@ func TestThreadSafeNuclei(t *testing.T) { goleak.VerifyNone(t, knownLeaks...) }() // create nuclei engine with options - ne, err := nuclei.NewThreadSafeNucleiEngine() + ne, err := nuclei.NewThreadSafeNucleiEngineCtx(context.TODO()) require.Nil(t, err) // scan 1 = run dns templates on scanme.sh From f8a4cf50c6eabd38d5536d5f0386e251c482d73f Mon Sep 17 00:00:00 2001 From: Jorge Machado Date: Sun, 2 Jun 2024 08:41:21 -0300 Subject: [PATCH 031/283] Add Spanish translation of README (#5242) --- README.md | 3 +- README_CN.md | 3 +- README_ES.md | 369 +++++++++++++++++++++++++++++++++++++++++++++++++++ README_ID.md | 3 +- README_KR.md | 3 +- 5 files changed, 377 insertions(+), 4 deletions(-) create mode 100644 README_ES.md diff --git a/README.md b/README.md index f898e326a4..661dcd626c 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,8 @@ English中文Korean • - Indonesia + Indonesia • + Spanish

--- diff --git a/README_CN.md b/README_CN.md index 25e39b2ae6..8dff0506c9 100644 --- a/README_CN.md +++ b/README_CN.md @@ -32,7 +32,8 @@ English中文Korean • - Indonesia + Indonesia • + Spanish

--- diff --git a/README_ES.md b/README_ES.md new file mode 100644 index 0000000000..d908eb4c6a --- /dev/null +++ b/README_ES.md @@ -0,0 +1,369 @@ +

+
+ Nuclei +

+ +

Escáner de vulnerabilidades rápido y personalizable basado en un sencillo DSL basado en YAML.

+ + +

+ + + + + + + + +

+ +

+ Cómo funciona • + Instalación • + Documentación • + Créditos • + Preguntas Frecuentes • + Únete a Discord +

+ +

+ English • + 中文 • + Korean • + Indonesia • + Spanish +

+ +--- + +Nuclei se utiliza para enviar peticiones a múltiples objetivos basándose en una plantilla, lo que resulta en cero falsos positivos y proporciona un escaneo rápido en un gran número de hosts. Nuclei ofrece escaneos para una variedad de protocolos, incluyendo TCP, DNS, HTTP, SSL, File, Whois, Websocket, Headless, Code, etc. Con plantillas potentes y flexibles, Nuclei puede utilizarse para modelar todo tipo de comprobaciones de seguridad. + +Tenemos un [repositorio dedicado](https://github.com/projectdiscovery/nuclei-templates) que alberga varios tipos de plantillas de vulnerabilidades, contribuidas por **más de 300** investigadores y ingenieros de seguridad. + +## Cómo funciona + + +

+ nuclei-flow +

+ + +| :exclamation: **Descargo de responsabilidad** | +|---------------------------------| +| **Este proyecto está en desarrollo activo**. Es de esperar que se produzcan cambios importantes con las nuevas versiones. Consulte el registro de cambios de la versión antes de actualizar. | +| Este proyecto fue principalmente desarrollado para ser utilizado como una herramienta CLI independiente. **Ejecutar nuclei como un servicio puede suponer riesgos de seguridad.** Se recomienda utilizarlo con precaución y tomar medidas de seguridad adicionales. | + +# Instalación de Nuclei + +Nuclei requiere **go1.21** para instalarse correctamente. Ejecute el siguiente comando para instalar la última versión - + +```sh +go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest +``` + +
+ Brew + + ```sh + brew install nuclei + ``` + +
+
+ Docker + + ```sh + docker pull projectdiscovery/nuclei:latest + ``` + +
+ +**Más métodos de instalación [pueden encontrarse aquí](https://docs.projectdiscovery.io/tools/nuclei/install).** + + + + + +
+ +### Plantillas de Nuclei + +Nuclei cuenta con soporte incorporado para la descarga/actualización automática de plantillas desde la versión [v2.5.2](https://github.com/projectdiscovery/nuclei/releases/tag/v2.5.2) en adelante. El proyecto [**Nuclei-Templates**](https://github.com/projectdiscovery/nuclei-templates) proporciona una lista de plantillas listas para usar, aportadas por la comunidad, y que se actualizan constantemente. + +También puedes utilizar la bandera `update-templates` para actualizar las plantillas de Nuclei en cualquier momento; puedes escribir tus propias pruebas para tu flujo de trabajo y necesidades individuales siguiendo la [guía de plantillas](https://docs.projectdiscovery.io/templates/) de Nuclei. + +La sintaxis de referencia YAML DSL está disponible [aquí](SYNTAX-REFERENCE.md). + +
+ +### Uso + +```sh +nuclei -h +``` + +Esto mostrará ayuda sobre la herramienta. Aquí están todas las opciones que soporta. + + +```console +Nuclei es un escáner de vulnerabilidades rápido y basado en plantillas +que se centra en su amplia configurabilidad, extensibilidad y facilidad de uso. + +Usage: + ./nuclei [flags] + +Flags: +TARGET: + -u, -target string[] URLs/hosts a escanear + -l, -list string ruta al archivo que contiene la lista de URLs/hosts a escanear (uno por línea) + -eh, -exclude-hosts string[] hosts a excluir para escanear de la lista de entrada (ip, cidr, hostname) + -resume string reanudar el escaneo usando resume.cfg (la clusterización quedará inhabilitada) + -sa, -scan-all-ips escanear todas las IP asociadas al registro dns + -iv, -ip-version string[] versión IP a escanear del nombre de host (4,6) - (por defecto 4) + +TARGET-FORMAT: + -im, -input-mode string modo del archivo de entrada (list, burp, jsonl, yaml, openapi, swagger) (por defecto "list") + -ro, -required-only utilizar solo campos requeridos en el formato de entrada al generar peticiones + -sfv, -skip-format-validation saltar la validación de formato (como variables faltantes) al procesar el archivo de entrada + +TEMPLATES: + -nt, -new-templates ejecutar sólo las nuevas plantillas añadidas en la última versión de nuclei-templates + -ntv, -new-templates-version string[] ejecutar las nuevas plantillas añadidas en la versión especificada + -as, -automatic-scan escaneo web automático utilizando la detección de tecnología de wappalyzer para mapeo de etiquetas + -t, -templates string[] lista de plantillas o directorio de plantillas a ejecutar (separadas por comas, file) + -turl, -template-url string[] url de plantilla o lista que contiene urls de plantillas a ejecutar (separadas por comas, file) + -w, -workflows string[] lista de flujos de trabajo o directorio de flujos de trabajo a ejecutar (separadas por comas, file) + -wurl, -workflow-url string[] url de flujo de trabajo o lista que contiene urls de flujo de trabajo para ejecutar (separadas por comas, file) + -validate valida las plantillas pasadas a nuclei + -nss, -no-strict-syntax deshabilita la comprobación de sintaxis estricta en las plantillas + -td, -template-display muestra el contenido de las plantillas + -tl lista todas las plantillas disponibles + -tgl lista todas las etiquetas disponibles + -sign firma las plantillas con la clave privada definida en la variable de entorno NUCLEI_SIGNATURE_PRIVATE_KEY + -code habilita la carga de plantillas basadas en protocolos de código + -dut, -disable-unsigned-templates deshabilita la ejecución de plantillas no firmadas o plantillas con firma no coincidente + +FILTERING: + -a, -author string[] plantillas a ejecutar basadas en autores (separadas por comas, file) + -tags string[] plantillas a ejecutar basadas en etiquetas (separadas por comas, file) + -etags, -exclude-tags string[] plantillas a excluir basadas en etiquetas (separadas por comas, file) + -itags, -include-tags string[] etiquetas a ejecutar incluso si están excluidas ya sea por defecto o por configuración + -id, -template-id string[] plantillas a ejecutar basadas en IDs de plantilla (comma-separated, file, allow-wildcard) + -eid, -exclude-id string[] plantillas a excluir basadas en IDs de plantilla (separadas por comas, file) + -it, -include-templates string[] ruta al archivo de plantilla o directorio a ejecutar incluso si están excluidas ya sea por defecto o por configuración + -et, -exclude-templates string[] ruta al archivo de plantilla o directorio a excluir (separadas por comas, file) + -em, -exclude-matchers string[] matchers de plantilla a excluir en el resultado + -s, -severity value[] plantillas a ejecutar basadas en criticidad. Valores posibles: info, bajo, medio, alto, crítico, desconocido + -es, -exclude-severity value[] plantillas a excluir basadas en criticidad. Valores posibles: info, bajo, medio, alto, crítico, desconocido + -pt, -type value[] plantillas a ejecutar basadas en tipo de protocolo. Valores posibles: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript + -ept, -exclude-type value[] plantillas a excluir basadas en tipo de protocolo. Valores posibles: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript + -tc, -template-condition string[] plantillas a ejecutar basadas en condición de expresión + +OUTPUT: + -o, -output string archivo de salida donde guardar las incidencias/vulnerabilidades detectadas + -sresp, -store-resp almacenar todas las peticiones/respuestas enviadas por nuclei en el directorio de salida + -srd, -store-resp-dir string almacenar todas las peticiones/respuestas enviadas por nuclei en un directorio personalizado (por defecto "output") + -silent mostrar resultados únicamente + -nc, -no-color deshabilitar la coloración del contenido de salida (códigos de escape ANSI) + -j, -jsonl escribir la salida en formato JSONL(ines) + -irr, -include-rr -omit-raw incluir pares peticiones/respuesta en las salidas JSON, JSONL y Markdown (sólo para hallazgos) [OBSOLETO usar -omit-raw] (por defecto true) + -or, -omit-raw omitir los pares peticiones/respuesta en las salidas JSON, JSONL y Markdown (sólo para hallazgos) + -ot, -omit-template omitir plantilla codificada en la salida JSON, JSONL + -nm, -no-meta deshabilitar la impresión de metadatos de resultados en la salida cli + -ts, -timestamp habilitar la impresión de la marca de tiempo en la salida cli + -rdb, -report-db string base de datos de informes de nuclei (utilizarla siempre para persistir los datos de los informes) + -ms, -matcher-status mostrar el estado de fallo de coincidencia + -me, -markdown-export string directorio para exportar resultados en formato markdown + -se, -sarif-export string archivo para exportar resultados en formato SARIF + -je, -json-export string archivo para exportar resultados en formato JSON + -jle, -jsonl-export string archivo para exportar resultados en formato JSONL(ines) + +CONFIGURATIONS: + -config string ruta al archivo de configuración de nuclei + -fr, -follow-redirects habilitar el seguimiento de redirecciones para plantillas http + -fhr, -follow-host-redirects seguir redirecciones en el mismo host + -mr, -max-redirects int número máximo de redirecciones a seguir para plantillas http (por defecto 10) + -dr, -disable-redirects deshabilitar redirecciones para plantillas http + -rc, -report-config string archivo de configuración del módulo de informes de nuclei + -H, -header string[] encabezado/cookie personalizado a incluir en todas las peticiones http en formato header:value (cli, file) + -V, -var value variables personalizadas en formato key=value + -r, -resolvers string archivo que contiene lista de resolutores para nuclei + -sr, -system-resolvers utilizar resolución de DNS del sistema como fallback de error + -dc, -disable-clustering deshabilitar la clusterización de peticiones + -passive habilitar el modo de procesamiento pasivo de respuestas HTTP + -fh2, -force-http2 forzar la conexión http2 en las peticiones + -ev, -env-vars habilitar el uso de variables de entorno en la plantilla + -cc, -client-cert string archivo de certificado de cliente (codificado en PEM) utilizado para autenticarse contra los hosts escaneados + -ck, -client-key string archivo de clave de cliente (codificado en PEM) utilizado para autenticarse contra los hosts escaneados + -ca, -client-ca string archivo de autoridad de certificación de cliente (codificado en PEM) utilizado para autenticarse contra los hosts escaneados + -sml, -show-match-line mostrar líneas de coincidencia para plantillas de archivo, funciona solo con extractores + -ztls utilizar la biblioteca ztls con autofallback a estándar para tls13 [Obsoleto] autofallback a ztls está habilitado por defecto + -sni string nombre de host tls sni a usar (por defecto: nombre de dominio de entrada) + -dt, -dialer-timeout value tiempo de espera para peticiones de red + -dka, -dialer-keep-alive value duración de keep-alive para peticiones de red + -lfa, -allow-local-file-access permite el acceso a archivos (carga útil) en cualquier lugar del sistema + -lna, -restrict-local-network-access bloquea conexiones a la red local / privada + -i, -interface string interfaz de red a usar para el escaneo de red + -at, -attack-type string tipo de combinaciones de carga útil a realizar (batteringram, pitchfork, clusterbomb) + -sip, -source-ip string dirección ip de origen a usar para el escaneo de red + -rsr, -response-size-read int tamaño máximo de respuesta a leer en bytes (por defecto 10485760) + -rss, -response-size-save int tamaño máximo de respuesta a guardar en bytes (por defecto 1048576) + -reset reset elimina todos los archivos de configuración y datos de nuclei (incluidas las nuclei-templates) + -tlsi, -tls-impersonate habilitar client hello (ja3) tls randomization experimental + +INTERACTSH: + -iserver, -interactsh-server string url del servidor interactsh para instancia autoalojada (por defecto: oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me) + -itoken, -interactsh-token string token de autenticación del servidor interactsh autoalojado + -interactions-cache-size int número de peticiones a mantener en la caché de interacciones (por defecto 5000) + -interactions-eviction int número de segundos a esperar antes de eliminar las solicitudes de la caché (por defecto 60) + -interactions-poll-duration int número de segundos a esperar antes de cada solicitud de polling de interacciones (por defecto 5) + -interactions-cooldown-period int tiempo adicional para el polling de interacciones antes de salir (por defecto 5) + -ni, -no-interactsh desactivar el servidor interactsh para pruebas OAST, excluir plantillas basadas en OAST + +FUZZING: + -ft, -fuzzing-type string sobrescribe el tipo de fuzzing establecido en la plantilla (replace, prefix, postfix, infix) + -fm, -fuzzing-mode string sobrescribe el modo de fuzzing establecido en la plantilla (multiple, single) + -fuzz habilita la carga de plantillas de fuzzing (Obsoleto: usar -dast en su lugar) + -dast solo ejecuta plantillas DAST + +UNCOVER: + -uc, -uncover habilita el motor uncover + -uq, -uncover-query string[] consulta de búsqueda uncover + -ue, -uncover-engine string[] motor de búsqueda uncover (shodan,censys,fofa,shodan-idb,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow) (por defecto shodan) + -uf, -uncover-field string campos uncover a devolver (ip,port,host) (por defecto "ip:port") + -ul, -uncover-limit int resultados uncover a devolver (por defecto 100) + -ur, -uncover-ratelimit int sobrescribe el límite de velocidad de los motores con el límite de velocidad del motor uncover (por defecto 60 req/min) (por defecto 60) + +RATE-LIMIT: + -rl, -rate-limit int número máximo de peticiones a enviar por segundo (por defecto 150) + -rlm, -rate-limit-minute int número máximo de peticiones a enviar por minuto + -bs, -bulk-size int número máximo de hosts a ser analizados en paralelo por plantilla (por defecto 25) + -c, -concurrency int número máximo de plantillas a ejecutar en paralelo (por defecto 25) + -hbs, -headless-bulk-size int número máximo de hosts headless a ser analizados en paralelo por plantilla (por defecto 10) + -headc, -headless-concurrency int número máximo de plantillas headless a ejecutar en paralelo (por defecto 10) + -jsc, -js-concurrency int número máximo de entornos de ejecución de JavaScript a ejecutar en paralelo (por defecto 120) + -pc, -payload-concurrency int concurrencia máxima de carga útil para cada plantilla (por defecto 25) + +OPTIMIZATIONS: + -timeout int tiempo de espera en segundos (por defecto 10) + -retries int número de veces que se reintenta una petición fallida (por defecto 1) + -ldp, -leave-default-ports dejar puertos HTTP/HTTPS predeterminados (por ejemplo, host:80,host:443) + -mhe, -max-host-error int errores máximos para un host antes de omitirlo del escaneo (por defecto 30) + -te, -track-error string[] agrega el error dado a la lista de seguimiento de errores máximos por host (standard, file) + -nmhe, -no-mhe deshabilita la omisión del host del escaneo basado en errores + -project utiliza una carpeta de proyecto para evitar enviar la misma petición varias veces + -project-path string establece una ruta de proyecto específica (por defecto "/tmp") + -spm, -stop-at-first-match detiene el procesamiento de las peticiones HTTP después de la primera coincidencia (puede romper la lógica de la plantilla/flujo de trabajo) + -stream modo transmisión - comienza a trabajar sin ordenar la entrada + -ss, -scan-strategy value estrategia a utilizar mientras se escanea (auto/host-spray/template-spray) (por defecto auto) + -irt, -input-read-timeout value tiempo de espera en la lectura de entrada (por defecto 3m0s) + -nh, -no-httpx deshabilita análisis httpx para entradas que no son URL + -no-stdin deshabilita el procesamiento de la entrada estándar + +HEADLESS: + -headless habilita las plantillas que requieren soporte de navegadores sin interfaz gráfica (headless browser) (el usuario root en Linux deshabilitará el sandbox) + -page-timeout int segundos para esperar cada página en modo sin interfaz (por defecto 20) + -sb, -show-browser muestra el navegador en la pantalla al ejecutar plantillas con modo sin interfaz + -ho, -headless-options string[] inicia Chrome en modo sin interfaz con opciones adicionales + -sc, -system-chrome utiliza el navegador Chrome instalado localmente en lugar del instalado por nuclei + -lha, -list-headless-action lista de acciones sin interfaz disponibles + +DEBUG: + -debug muestra todas las peticiones y respuestas + -dreq, -debug-req muestra todas las peticiones enviadas + -dresp, -debug-resp muestra todas las respuestas recibidas + -p, -proxy string[] lista de proxies http/socks5 a utilizar (separados por comas o archivo de entrada) + -pi, -proxy-internal proxy para todas las peticiones internas + -ldf, -list-dsl-function lista todas las firmas de función DSL admitidas + -tlog, -trace-log string archivo a escribir el registro de traza de peticiones enviadas + -elog, -error-log string archivo a escribir el registro de error de peticiones enviadas + -version muestra la versión de nuclei + -hm, -hang-monitor habilita la monitorización de bloqueos de nuclei + -v, -verbose muestra salida detallada + -profile-mem string archivo opcional de volcado de memoria de nuclei + -vv muestra las plantillas cargadas para el escaneo + -svd, -show-var-dump muestra el volcado de variables para depuración + -ep, -enable-pprof habilita el servidor de depuración pprof + -tv, -templates-version muestra la versión de las plantillas nuclei (nuclei-templates) instaladas + -hc, -health-check ejecuta comprobación de diagnóstico + +UPDATE: + -up, -update actualiza el motor de nuclei a la última versión lanzada + -ut, -update-templates actualiza nuclei-templates a la última versión lanzada + -ud, -update-template-dir string directorio personalizado para instalar/actualizar nuclei-templates + -duc, -disable-update-check deshabilita la comprobación automática de actualizaciones de nuclei/templates + +STATISTICS: + -stats muestra estadísticas sobre el escaneo en ejecución + -sj, -stats-json muestra estadísticas en formato JSONL(ines) + -si, -stats-interval int número de segundos a esperar entre mostrar una actualización de estadísticas (por defecto 5) + -mp, -metrics-port int puerto para exponer métricas de nuclei (por defecto 9092) + +CLOUD: + -auth configura la clave de API del cloud de projectdiscovery (pdcp) + -cup, -cloud-upload sube los resultados del escaneo al dashboard de pdcp + -sid, -scan-id string sube los resultados del escaneo al ID de escaneo dado + +AUTHENTICATION: + -sf, -secret-file string[] ruta al archivo de configuración que contiene los secrets para el escaneo autenticado de nuclei + -ps, -prefetch-secrets precarga los secrets del archivo de secrets + + +EXAMPLES: +Ejecutar nuclei en un solo host: + $ nuclei -target example.com + +Ejecutar nuclei con directorios de plantillas específicos: + $ nuclei -target example.com -t http/cves/ -t ssl + +Ejecutar nuclei contra una lista de hosts: + $ nuclei -list hosts.txt + +Ejecutar nuclei con una salida JSON: + $ nuclei -target example.com -json-export output.json + +Ejecutar nuclei con salidas Markdown ordenadas (con variables de entorno): + $ MARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/ + +Documentación adicional disponible en: https://docs.nuclei.sh/getting-started/running +``` + +### Ejecutando Nuclei + +Consulta https://docs.projectdiscovery.io/tools/nuclei/running para obtener detalles sobre cómo ejecutar Nuclei. + +### Uso de Nuclei desde código Go + +La guía completa sobre cómo usar Nuclei como biblioteca/SDK está disponible en [godoc](https://pkg.go.dev/github.com/projectdiscovery/nuclei/v3/lib#section-readme). + + +### Recursos + +Puedes acceder a la documentación principal de Nuclei en https://docs.projectdiscovery.io/tools/nuclei/, y obtener más información sobre Nuclei en la nube con [ProjectDiscovery Cloud Platform](https://cloud.projectdiscovery.io). + +¡Consulta https://docs.projectdiscovery.io/tools/nuclei/resources para obtener más recursos y videos sobre Nuclei! + +### Créditos + +Gracias a todos los increíbles [contribuyentes de la comunidad que enviaron PRs](https://github.com/projectdiscovery/nuclei/graphs/contributors) y mantienen este proyecto actualizado. :heart: + +Si tienes una idea o algún tipo de mejora, eres bienvenido a contribuir y participar en el Proyecto, siéntete libre de enviar tu PR. + +

+ + + +

+ + +También echa un vistazo a los siguientes proyectos de código abierto similares que pueden adaptarse a tu flujo de trabajo: + +[FFuF](https://github.com/ffuf/ffuf), [Qsfuzz](https://github.com/ameenmaali/qsfuzz), [Inception](https://github.com/proabiral/inception), [Snallygaster](https://github.com/hannob/snallygaster), [Gofingerprint](https://github.com/Static-Flow/gofingerprint), [Sn1per](https://github.com/1N3/Sn1per/tree/master/templates), [Google tsunami](https://github.com/google/tsunami-security-scanner), [Jaeles](https://github.com/jaeles-project/jaeles), [ChopChop](https://github.com/michelin/ChopChop) + +### Licencia + +Nuclei se distribuye bajo la [Licencia MIT](https://github.com/projectdiscovery/nuclei/blob/main/LICENSE.md) + +

+ Join Discord Check Nuclei Documentation +

diff --git a/README_ID.md b/README_ID.md index 73f0d86e8a..ff0621d5c5 100644 --- a/README_ID.md +++ b/README_ID.md @@ -32,7 +32,8 @@ English中文Korean • - Indonesia + Indonesia • + Spanish

--- diff --git a/README_KR.md b/README_KR.md index db6820dd64..97abdc7752 100644 --- a/README_KR.md +++ b/README_KR.md @@ -30,7 +30,8 @@

English中文 • - 한국어 + 한국어 • + 스페인어

--- From 8720e4f8638b36bca7f7128a57c32abdbfd9b7ef Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sun, 2 Jun 2024 17:11:56 +0530 Subject: [PATCH 032/283] fix panic: ref #5217 (#5230) --- pkg/protocols/http/httpclientpool/options.go | 23 +++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pkg/protocols/http/httpclientpool/options.go b/pkg/protocols/http/httpclientpool/options.go index b6e60b6367..f24e421b86 100644 --- a/pkg/protocols/http/httpclientpool/options.go +++ b/pkg/protocols/http/httpclientpool/options.go @@ -7,6 +7,7 @@ import ( "time" "github.com/projectdiscovery/rawhttp" + urlutil "github.com/projectdiscovery/utils/url" ) // WithCustomTimeout is a configuration for custom timeout @@ -39,7 +40,27 @@ func SendRawRequest(client *rawhttp.Client, opts *RawHttpRequestOpts) (*http.Res // this error is caused when rawhttp client sends a corrupted or malformed request packet to server // some servers may attempt gracefully shutdown but most will just abruptly close the connection which results // in a connection reset by peer error and this can be safely assumed as 400 Bad Request in terms of normal http flow - req, _ := http.NewRequest(opts.Method, opts.URL, opts.Body) + req, reqErr := http.NewRequest(opts.Method, opts.URL, opts.Body) + if reqErr != nil { + // failed to build new request mostly because of invalid url or body + // try again or else return urlErr + parsed, urlErr := urlutil.ParseAbsoluteURL(opts.URL, true) + if urlErr != nil { + return nil, err + } + req, reqErr = http.NewRequest(opts.Method, parsed.Host, opts.Body) + if reqErr != nil { + return nil, err + } + req.URL = parsed.URL + req.Header = opts.Headers + } + + // if req is still nil, return error + if req == nil { + return nil, err + } + req.Header = opts.Headers resp = &http.Response{ Request: req, From 425b7d0cb5f3125cf2c898eda47b8f12e7fe4581 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 05:55:12 +0000 Subject: [PATCH 033/283] chore(deps): bump github.com/projectdiscovery/httpx from 1.6.1 to 1.6.3 Bumps [github.com/projectdiscovery/httpx](https://github.com/projectdiscovery/httpx) from 1.6.1 to 1.6.3. - [Release notes](https://github.com/projectdiscovery/httpx/releases) - [Changelog](https://github.com/projectdiscovery/httpx/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/httpx/compare/v1.6.1...v1.6.3) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/httpx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index f58131b9bb..729913d2cc 100644 --- a/go.mod +++ b/go.mod @@ -78,14 +78,14 @@ require ( github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.0.57 + github.com/projectdiscovery/dsl v0.1.0 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.54 github.com/projectdiscovery/gologger v1.1.12 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 - github.com/projectdiscovery/httpx v1.6.1 + github.com/projectdiscovery/httpx v1.6.3 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 github.com/projectdiscovery/ratelimit v0.0.43 @@ -93,9 +93,9 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 - github.com/projectdiscovery/useragent v0.0.52 + github.com/projectdiscovery/useragent v0.0.53 github.com/projectdiscovery/utils v0.1.0 - github.com/projectdiscovery/wappalyzergo v0.1.0 + github.com/projectdiscovery/wappalyzergo v0.1.1 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 3c61eba18d..e2fbbeda7e 100644 --- a/go.sum +++ b/go.sum @@ -830,8 +830,8 @@ github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQO github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.0.57 h1:BFjkhtJHzvxSNO6bJJ0UkA7tIwysgsyqWbuhn3FVQfI= -github.com/projectdiscovery/dsl v0.0.57/go.mod h1:w9XL7AT/RDyg7yiFQN8eWWefXiYQt3mojPDdjyTdQ0k= +github.com/projectdiscovery/dsl v0.1.0 h1:10xoL0V/btU646xH6ioGXKwrGt6grT+BIa6id1/4ifE= +github.com/projectdiscovery/dsl v0.1.0/go.mod h1:JgOjLk54Tl9HG98N2SM5OaKKJ/STpI7yDiKW5rhV+yg= github.com/projectdiscovery/fastdialer v0.1.0 h1:NiId7eXvYZjiBo83AnIZ6K8ZjzLJU8wGXdRLzuKcRrg= github.com/projectdiscovery/fastdialer v0.1.0/go.mod h1:jKOWzyHx+Q2sMiYst5HP6tWLQLDFPVgWBR72szn2h8w= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= @@ -850,8 +850,8 @@ github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3c github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= github.com/projectdiscovery/hmap v0.0.44 h1:bFUmPltPPZH+oGDnbYLEXNujZe+0j81c1E+gF1MMLXQ= github.com/projectdiscovery/hmap v0.0.44/go.mod h1:glLxv5kLMj/Rgn6iZ9JiSzs72t8FQ4hA34zVoFwFhuM= -github.com/projectdiscovery/httpx v1.6.1 h1:aqKzoSydzKAJBV3Sxbqt44nTah4fNS9GkSD4Dy6Fzlc= -github.com/projectdiscovery/httpx v1.6.1/go.mod h1:RvibGQbm2Bh2DtuBDVXHLfauFDLtp7opKHyk65sz0ss= +github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= +github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= github.com/projectdiscovery/interactsh v1.1.9/go.mod h1:0FRQXCildcTLq7Tsa4BVZAsFCXhpWs4C4quKWigXb5I= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= @@ -882,12 +882,12 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= -github.com/projectdiscovery/useragent v0.0.52 h1:9SUPH0Epo3DJfB6PCDgETfMaD6nZ08sFvfgXTmPUAsU= -github.com/projectdiscovery/useragent v0.0.52/go.mod h1:PUXHgShvaD8p3bihy1mY8tuBDhdk3M0yy4Z10Ajg2yQ= +github.com/projectdiscovery/useragent v0.0.53 h1:BKe6z9vb+ajNqmItupjuMO0B6ulG1xC26RsVgEE5p/k= +github.com/projectdiscovery/useragent v0.0.53/go.mod h1:rToNGuRWpwXACjdL34DuuI0LLHPrCwfWwYHeWMvtPkw= github.com/projectdiscovery/utils v0.1.0 h1:r7Z/s2CBktJ0bnSN410lzOhD8S/0IxmzmFxkQudYKps= github.com/projectdiscovery/utils v0.1.0/go.mod h1:RaBdJLTKF5FKZ/RtMeccqFBtpsSjaggVw6/oPTpDD40= -github.com/projectdiscovery/wappalyzergo v0.1.0 h1:ZagOIKemBsNfCDRQeWavWEXtEjP8UiziuoRoPTwDAJ0= -github.com/projectdiscovery/wappalyzergo v0.1.0/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= +github.com/projectdiscovery/wappalyzergo v0.1.1 h1:HDxuqawatylDiOlfJf4IsabS0wA/Iyvqm7Dn18TVGjU= +github.com/projectdiscovery/wappalyzergo v0.1.1/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 464aa8de826f8c07b3908e1478259b334caba6f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 06:20:39 +0000 Subject: [PATCH 034/283] chore(deps): bump github.com/projectdiscovery/hmap from 0.0.44 to 0.0.45 Bumps [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) from 0.0.44 to 0.0.45. - [Release notes](https://github.com/projectdiscovery/hmap/releases) - [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.44...v0.0.45) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/hmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 729913d2cc..61be9c7fdb 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.1.0 - github.com/projectdiscovery/hmap v0.0.44 + github.com/projectdiscovery/hmap v0.0.45 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.51 github.com/projectdiscovery/retryabledns v1.0.60 diff --git a/go.sum b/go.sum index e2fbbeda7e..45afe00606 100644 --- a/go.sum +++ b/go.sum @@ -848,8 +848,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.44 h1:bFUmPltPPZH+oGDnbYLEXNujZe+0j81c1E+gF1MMLXQ= -github.com/projectdiscovery/hmap v0.0.44/go.mod h1:glLxv5kLMj/Rgn6iZ9JiSzs72t8FQ4hA34zVoFwFhuM= +github.com/projectdiscovery/hmap v0.0.45 h1:D3PinywmpDtIX2lc9bnqaRJoFDPCCxUf4RvHA3Gdr6U= +github.com/projectdiscovery/hmap v0.0.45/go.mod h1:vJ7HYzhDnOjsEc9d43Q2pIWRJ5QvFXdObTTQvaUZaPk= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= From bcd10b41e56a587ff034b537af6f53131025ae3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 06:22:45 +0000 Subject: [PATCH 035/283] chore(deps): bump github.com/projectdiscovery/useragent Bumps [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) from 0.0.52 to 0.0.54. - [Release notes](https://github.com/projectdiscovery/useragent/releases) - [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.52...v0.0.54) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/useragent dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 729913d2cc..35ea634bce 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 - github.com/projectdiscovery/useragent v0.0.53 + github.com/projectdiscovery/useragent v0.0.54 github.com/projectdiscovery/utils v0.1.0 github.com/projectdiscovery/wappalyzergo v0.1.1 github.com/redis/go-redis/v9 v9.1.0 diff --git a/go.sum b/go.sum index e2fbbeda7e..868d04fcc2 100644 --- a/go.sum +++ b/go.sum @@ -882,8 +882,8 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= -github.com/projectdiscovery/useragent v0.0.53 h1:BKe6z9vb+ajNqmItupjuMO0B6ulG1xC26RsVgEE5p/k= -github.com/projectdiscovery/useragent v0.0.53/go.mod h1:rToNGuRWpwXACjdL34DuuI0LLHPrCwfWwYHeWMvtPkw= +github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQXEU7TIBly2Fc= +github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= github.com/projectdiscovery/utils v0.1.0 h1:r7Z/s2CBktJ0bnSN410lzOhD8S/0IxmzmFxkQudYKps= github.com/projectdiscovery/utils v0.1.0/go.mod h1:RaBdJLTKF5FKZ/RtMeccqFBtpsSjaggVw6/oPTpDD40= github.com/projectdiscovery/wappalyzergo v0.1.1 h1:HDxuqawatylDiOlfJf4IsabS0wA/Iyvqm7Dn18TVGjU= From 04a630266e440e46023ae9fd2bd78ee9995e56ec Mon Sep 17 00:00:00 2001 From: Ikko Eltociear Ashimine Date: Sat, 8 Jun 2024 21:06:01 +0900 Subject: [PATCH 036/283] docs: add Japanese README (#5259) * docs: add Japanese README * docs: update README.md --- README.md | 4 +- README_JP.md | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 README_JP.md diff --git a/README.md b/README.md index 661dcd626c..54242fd944 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,9 @@ 中文KoreanIndonesia • - Spanish + Spanish • + 日本語 +

--- diff --git a/README_JP.md b/README_JP.md new file mode 100644 index 0000000000..f1988e3569 --- /dev/null +++ b/README_JP.md @@ -0,0 +1,172 @@ +

+
+ Nuclei +

+ +

シンプルなYAMLベースのDSLに基づいた高速でカスタマイズ可能な脆弱性スキャナー

+ +

+ + + + + + + + +

+ +

+ 動作原理 • + インストール • + ドキュメント • + クレジット • + FAQ • + Discordに参加 +

+ +

+ 英語 • + 中国語 • + 韓国語 • + インドネシア語 • + スペイン語 +

+ +--- + +Nucleiは、テンプレートに基づいてターゲット間でリクエストを送信するために使用され、偽陽性がゼロであり、多数のホストで高速なスキャンを提供します。Nucleiは、TCP、DNS、HTTP、SSL、ファイル、Whois、Websocket、Headless、Codeなど、さまざまなプロトコルのスキャンを提供します。強力で柔軟なテンプレートを使用して、Nucleiはすべての種類のセキュリティチェックをモデル化するために使用できます。 + +**300人以上の** セキュリティ研究者およびエンジニアが提供するさまざまなタイプの脆弱性テンプレートを収容する[専用リポジトリ](https://github.com/projectdiscovery/nuclei-templates)を持っています。 + +## 動作原理 + +

+ nuclei-flow +

+ +| :exclamation: **免責事項** | +|---------------------------------| +| **このプロジェクトは積極的に開発されています**。リリースによって重大な変更が発生することがあります。更新する前にリリースの変更ログを確認してください。 | +| このプロジェクトは主にスタンドアロンのCLIツールとして使用されることを目的として構築されました。**Nucleiをサービスとして実行すると、セキュリティリスクが生じる可能性があります。**注意して使用し、追加のセキュリティ対策を講じることをお勧めします。 | + +# Nucleiのインストール + +Nucleiを正常にインストールするには、**go1.21**が必要です。以下のコマンドを実行して最新バージョンをインストールしてください - + +```sh +go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest +``` + +
+ Brew + + ```sh + brew install nuclei + ``` + +
+
+ Docker + + ```sh + docker pull projectdiscovery/nuclei:latest + ``` + +
+ +**より多くのインストール方法は[こちら](https://docs.projectdiscovery.io/tools/nuclei/install)で見つけることができます。** + + + + + +
+ +### Nucleiテンプレート + +Nucleiは、バージョン[v2.5.2](https://github.com/projectdiscovery/nuclei/releases/tag/v2.5.2)以降、デフォルトでテンプレートの自動ダウンロード/更新をサポートしています。[**Nuclei-Templates**](https://github.com/projectdiscovery/nuclei-templates)プロジェクトは、常に更新されるコミュニティ提供の即時使用可能なテンプレートのリストを提供します。 + +`update-templates`フラグを使用して、いつでもNucleiテンプレートを更新することができます。Nucleiの[テンプレートガイド](https://docs.projectdiscovery.io/templates/)に従って、個々のワークフローとニーズに合わせた独自のチェックを作成することができます。 + +YAML DSLの構文リファレンスは[こちら](SYNTAX-REFERENCE.md)で確認できます。 + +
+ +### 使用方法 + +```sh +nuclei -h +``` + +これにより、ツールのヘルプが表示されます。ここには、サポートされているすべてのスイッチがあります。 + +```console +Nucleiは、広範な設定可能性、大規模な拡張性、および使いやすさに焦点を当てた、 +高速でテンプレートベースの脆弱性スキャナーです。 + +使用法: + ./nuclei [flags] + +フラグ: +ターゲット: + -u, -target string[] スキャンする対象のURL/ホスト + -l, -list string スキャンする対象のURL/ホストのリストが含まれているファイルへのパス(1行に1つ) + -resume string resume.cfgを使用してスキャンを再開(クラスタリングは無効になります) + -sa, -scan-all-ips DNSレコードに関連付けられているすべてのIPをスキャン + -iv, -ip-version string[] ホスト名のスキャンするIPバージョン(4,6)-(デフォルトは4) + +テンプレート: + -nt, -new-templates 最新のnuclei-templatesリリースに追加された新しいテンプレートのみを実行 + -ntv, -new-templates-version string[] 特定のバージョンに追加された新しいテンプレートを実行 + -as, -automatic-scan wappalyzer技術検出をタグマッピングに使用した自動Webスキャン + -t, -templates string[] 実行するテンプレートまたはテンプレートディレクトリのリスト(カンマ区切り、ファイル) + -turl, -template-url string[] 実行するテンプレートのURLまたはテンプレートURLのリスト(カンマ区切り、ファイル) + -w, -workflows string[] 実行するワークフローまたはワークフローディレクトリのリスト(カンマ区切り、ファイル) + -wurl, -workflow-url string[] 実行するワークフローのURLまたはワークフローURLのリスト(カンマ区切り、ファイル) + -validate Nucleiに渡されたテンプレートを検証 + -nss, -no-strict-syntax テンプレートで厳密な構文チェックを無効にする + -td, -template-display テンプレートの内容を表示 + -tl 利用可能なすべてのテンプレートをリスト + -sign NUCLEI_SIGNATURE_PRIVATE_KEY環境変数で定義された秘密鍵でテンプレートに署名 + -code コードプロトコルベースのテンプレートのロードを有効にする + +フィルタリング: + -a, -author string[] 作者に基づいて実行するテンプレート(カンマ区切り、ファイル) + -tags string[] タグに基づいて実行するテンプレート(カンマ区切り、ファイル) + -etags, -exclude-tags string[] タグに基づいて除外するテンプレート(カンマ区切り、ファイル) + -itags, -include-tags string[] デフォルトまたは設定によって除外されている場合でも実行する必要があるタグ + -id, -template-id string[] テンプレートIDに基づいて実行するテンプレート(カンマ区切り、ファイル) + -eid, -exclude-id string[] テンプレートIDに基づいて除外するテンプレート(カンマ区切り、ファイル) + -it, -include-templates string[] デフォルトまたは設定によって除外されている場合でも実行する必要があるテンプレート + -et, -exclude-templates string[] 除外するテンプレートまたはテンプレートディレクトリへのパス(カンマ区切り、ファイル) + -em, -exclude-matchers string[] 結果で除外するテンプレートマッチャー + -s, -severity value[] 重大度に基づいて実行するテンプレート。可能な値:info, low, medium, high, critical, unknown + -es, -exclude-severity value[] 重大度に基づいて除外するテンプレート。可能な値:info, low, medium, high, critical, unknown + -pt, -type value[] プロトコルタイプに基づいて実行するテンプレート。可能な値:dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript + -ept, -exclude-type value[] プロトコルタイプに基づいて除外するテンプレート。可能な値:dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript + -tc, -template-condition string[] 式条件に基づいて実行するテンプレート + +出力: + -o, -output string 発見された問題/脆弱性を書き込む出力ファイル + -sresp, -store-resp Nucleiを通じて渡されたすべてのリクエスト/レスポンスを出力ディレクトリに保存 + -srd, -store-resp-dir string Nucleiを通じて渡されたすべてのリクエスト/レスポンスをカスタムディレクトリに保存(デフォルトは「output」) + -silent 結果のみを表示 + -nc, -no-color 出力内容の着色を無効にする(ANSIエスケープコード) + -j, -jsonl JSONL(ines)形式で出力を書き込む + -irr, -include-rr -omit-raw JSON、JSONL、Markdown出力にリクエスト/レスポンスペアを含める(発見のみ)[非推奨 -omit-raw使用](デフォルトはtrue) + -or, -omit-raw JSON、JSONL、Markdown出力でリクエスト/レスポンスペアを省略する(発見のみ) + -ot, -omit-template JSON、JSONL出力でエンコードされたテンプレートを省略 + -nm, -no-meta CLI出力で結果のメタデータの印刷を無効にする + -ts, -timestamp CLI出力にタイムスタンプを印刷することを有効にする + -rdb, -report-db string Nucleiレポートデータベース(レポートデータを永続化するために常にこれを使用) + -ms, -matcher-status マッチ失敗のステータスを表示 + -me, -markdown-export string Markdown形式で結果をエクスポートするディレクトリ + -se, -sarif-export string SARIF形式で結果をエクスポートするファイル + -je, -json-export string JSON形式で結果をエクスポートするファイル + -jle, -jsonl-export string JSONL(ine)形式で結果をエクスポートするファイル + +設定: + -config string Nucleiの設定ファイルへのパス + -fr, -follow-redirects HTTPテンプレートのリダイレクトをフォローすることを有効にする + -fhr, -follow-host-redirects \ No newline at end of file From fd2311d034b4da358f8b6759da48bdc4ba509106 Mon Sep 17 00:00:00 2001 From: mzack Date: Mon, 10 Jun 2024 03:23:00 +0200 Subject: [PATCH 037/283] fixing slow elab --- pkg/protocols/common/hosterrorscache/hosterrorscache.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index e40f13dde3..badff95ddd 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -185,6 +185,12 @@ func (c *Cache) checkError(err error) bool { if err == nil { return false } + + // we do not consider timeouts as temporary + if strings.Contains(errkit.FromError(err).Cause().Error(), "i/o timeout") { + return true + } + kind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic) switch kind { case nucleierr.ErrTemplateLogic: From f0b34f94cd0535c5270f2c594612c2df384247d3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 05:56:53 +0000 Subject: [PATCH 038/283] chore(deps): bump github.com/projectdiscovery/retryabledns Bumps [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) from 1.0.60 to 1.0.63. - [Release notes](https://github.com/projectdiscovery/retryabledns/releases) - [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.60...v1.0.63) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryabledns dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 07c36e7d95..4cafa03ed4 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.45 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.51 - github.com/projectdiscovery/retryabledns v1.0.60 + github.com/projectdiscovery/retryabledns v1.0.63 github.com/projectdiscovery/retryablehttp-go v1.0.62 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.54 - github.com/projectdiscovery/utils v0.1.0 + github.com/projectdiscovery/utils v0.1.1 github.com/projectdiscovery/wappalyzergo v0.1.1 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index ccdec0fcab..a6919fec89 100644 --- a/go.sum +++ b/go.sum @@ -870,8 +870,8 @@ github.com/projectdiscovery/rawhttp v0.1.51 h1:T4sskU2fsX9zNR7nyae0tD/0fliIs73Kw github.com/projectdiscovery/rawhttp v0.1.51/go.mod h1:ejBaw3dCfJSfbtFv0ib6YfFSjQzt7ZdRVpQWJASxIUs= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.60 h1:f3TPeLnaJKrl9CbfsTfFTFnJY+UnyArH3mxxUUyR5ZQ= -github.com/projectdiscovery/retryabledns v1.0.60/go.mod h1:T4Su40Wa9lVtRNMfMDFJi00g2T3FbTfwnKKkYON0WgU= +github.com/projectdiscovery/retryabledns v1.0.63 h1:Ijt47ybwf+iIwul606NlPKPN+ouhOYPeA9sLHVgqLG4= +github.com/projectdiscovery/retryabledns v1.0.63/go.mod h1:lTs48OYJnMFuuBzT+3z3PrZ58K0OUBgP7Y4o3ttBwb0= github.com/projectdiscovery/retryablehttp-go v1.0.62 h1:ZY09NYRatoELHaPUcdRdWzHIJExjEqceHAfe7u/e9ZY= github.com/projectdiscovery/retryablehttp-go v1.0.62/go.mod h1:yhRy9Q3z0CuNUHIIPrveaubjVEwF4arKWT/5SQurQEE= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= @@ -884,8 +884,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQXEU7TIBly2Fc= github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= -github.com/projectdiscovery/utils v0.1.0 h1:r7Z/s2CBktJ0bnSN410lzOhD8S/0IxmzmFxkQudYKps= -github.com/projectdiscovery/utils v0.1.0/go.mod h1:RaBdJLTKF5FKZ/RtMeccqFBtpsSjaggVw6/oPTpDD40= +github.com/projectdiscovery/utils v0.1.1 h1:iQ/DyrClxbIbKMUCXfXLA1lFkqprrUM9Ti/nMU5dQj4= +github.com/projectdiscovery/utils v0.1.1/go.mod h1:EPuSvVIvp61nXJD5EO65vaCv82OuhO+wfZpWAWA0q3o= github.com/projectdiscovery/wappalyzergo v0.1.1 h1:HDxuqawatylDiOlfJf4IsabS0wA/Iyvqm7Dn18TVGjU= github.com/projectdiscovery/wappalyzergo v0.1.1/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 56e9b7fcbc5b4fff9ced660f6e99dd5b08aee013 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 06:24:45 +0000 Subject: [PATCH 039/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.1 to 0.1.4. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.1...v0.1.4) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4cafa03ed4..8f44d7ca01 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.54 github.com/projectdiscovery/utils v0.1.1 - github.com/projectdiscovery/wappalyzergo v0.1.1 + github.com/projectdiscovery/wappalyzergo v0.1.4 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index a6919fec89..81f7d0dcc1 100644 --- a/go.sum +++ b/go.sum @@ -886,8 +886,8 @@ github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQ github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= github.com/projectdiscovery/utils v0.1.1 h1:iQ/DyrClxbIbKMUCXfXLA1lFkqprrUM9Ti/nMU5dQj4= github.com/projectdiscovery/utils v0.1.1/go.mod h1:EPuSvVIvp61nXJD5EO65vaCv82OuhO+wfZpWAWA0q3o= -github.com/projectdiscovery/wappalyzergo v0.1.1 h1:HDxuqawatylDiOlfJf4IsabS0wA/Iyvqm7Dn18TVGjU= -github.com/projectdiscovery/wappalyzergo v0.1.1/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= +github.com/projectdiscovery/wappalyzergo v0.1.4 h1:Q0j5t/c74DlPKRvGYLZFv8npTA7MBW9uwdlsMBn/Yh4= +github.com/projectdiscovery/wappalyzergo v0.1.4/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 86dabe1a989a6312e426efb5b49a58a6da3a9719 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 06:24:46 +0000 Subject: [PATCH 040/283] chore(deps): bump github.com/projectdiscovery/dsl from 0.1.0 to 0.1.2 Bumps [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) from 0.1.0 to 0.1.2. - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](https://github.com/projectdiscovery/dsl/compare/v0.1.0...v0.1.2) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/dsl dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4cafa03ed4..532a3a3b84 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,7 @@ require ( github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.1.0 + github.com/projectdiscovery/dsl v0.1.2 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.54 diff --git a/go.sum b/go.sum index a6919fec89..c935991558 100644 --- a/go.sum +++ b/go.sum @@ -830,8 +830,8 @@ github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQO github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.1.0 h1:10xoL0V/btU646xH6ioGXKwrGt6grT+BIa6id1/4ifE= -github.com/projectdiscovery/dsl v0.1.0/go.mod h1:JgOjLk54Tl9HG98N2SM5OaKKJ/STpI7yDiKW5rhV+yg= +github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= +github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= github.com/projectdiscovery/fastdialer v0.1.0 h1:NiId7eXvYZjiBo83AnIZ6K8ZjzLJU8wGXdRLzuKcRrg= github.com/projectdiscovery/fastdialer v0.1.0/go.mod h1:jKOWzyHx+Q2sMiYst5HP6tWLQLDFPVgWBR72szn2h8w= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= From aced7ae42a9b34f85be98f50daef59067b0998b5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 06:53:41 +0000 Subject: [PATCH 041/283] chore(deps): bump github.com/projectdiscovery/interactsh Bumps [github.com/projectdiscovery/interactsh](https://github.com/projectdiscovery/interactsh) from 1.1.9 to 1.2.0. - [Release notes](https://github.com/projectdiscovery/interactsh/releases) - [Changelog](https://github.com/projectdiscovery/interactsh/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/interactsh/compare/v1.1.9...v1.2.0) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/interactsh dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index efe52be206..6b106a7aba 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.0 + github.com/projectdiscovery/fastdialer v0.1.1 github.com/projectdiscovery/hmap v0.0.45 - github.com/projectdiscovery/interactsh v1.1.9 + github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 github.com/projectdiscovery/retryabledns v1.0.63 - github.com/projectdiscovery/retryablehttp-go v1.0.62 + github.com/projectdiscovery/retryablehttp-go v1.0.63 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 diff --git a/go.sum b/go.sum index 46f1f8ac74..8d4bbeddbc 100644 --- a/go.sum +++ b/go.sum @@ -832,8 +832,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= -github.com/projectdiscovery/fastdialer v0.1.0 h1:NiId7eXvYZjiBo83AnIZ6K8ZjzLJU8wGXdRLzuKcRrg= -github.com/projectdiscovery/fastdialer v0.1.0/go.mod h1:jKOWzyHx+Q2sMiYst5HP6tWLQLDFPVgWBR72szn2h8w= +github.com/projectdiscovery/fastdialer v0.1.1 h1:51IovI02Ime7fVCWFxMpg1akCcaRHpVQnjpTQT0+0G0= +github.com/projectdiscovery/fastdialer v0.1.1/go.mod h1:tIMAT93FmV90EoVfM1lfaTrkNEbqT+G4jLyyoOO5McY= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -852,8 +852,8 @@ github.com/projectdiscovery/hmap v0.0.45 h1:D3PinywmpDtIX2lc9bnqaRJoFDPCCxUf4RvH github.com/projectdiscovery/hmap v0.0.45/go.mod h1:vJ7HYzhDnOjsEc9d43Q2pIWRJ5QvFXdObTTQvaUZaPk= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= -github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= -github.com/projectdiscovery/interactsh v1.1.9/go.mod h1:0FRQXCildcTLq7Tsa4BVZAsFCXhpWs4C4quKWigXb5I= +github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= +github.com/projectdiscovery/interactsh v1.2.0/go.mod h1:Wxt0fnzxsfrAZQQlpVrf3xMatP4OXZaZbjuDkIQKdYY= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb/go.mod h1:vmgC0DTFCfoCLp0RAfsfYTZZan0QMVs+cmTbH6blfjk= github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 h1:ZScLodGSezQVwsQDtBSMFp72WDq0nNN+KE/5DHKY5QE= @@ -872,8 +872,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.63 h1:Ijt47ybwf+iIwul606NlPKPN+ouhOYPeA9sLHVgqLG4= github.com/projectdiscovery/retryabledns v1.0.63/go.mod h1:lTs48OYJnMFuuBzT+3z3PrZ58K0OUBgP7Y4o3ttBwb0= -github.com/projectdiscovery/retryablehttp-go v1.0.62 h1:ZY09NYRatoELHaPUcdRdWzHIJExjEqceHAfe7u/e9ZY= -github.com/projectdiscovery/retryablehttp-go v1.0.62/go.mod h1:yhRy9Q3z0CuNUHIIPrveaubjVEwF4arKWT/5SQurQEE= +github.com/projectdiscovery/retryablehttp-go v1.0.63 h1:y/MpWrAO7702ybOLo/OuyAx6bZ6NJVEf85mGMAU51l8= +github.com/projectdiscovery/retryablehttp-go v1.0.63/go.mod h1:ytE1KGi63NFAyLzWqTwZJXwjAg7apgqTnJtaZeZ4qtM= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From df57f0a6e3dac2db5a8d563e7bcc1c7c8f1264bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 07:24:01 +0000 Subject: [PATCH 042/283] chore(deps): bump github.com/projectdiscovery/fastdialer Bumps [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) from 0.1.0 to 0.1.3. - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.1.0...v0.1.3) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6b106a7aba..eab2fea4c9 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.1 + github.com/projectdiscovery/fastdialer v0.1.3 github.com/projectdiscovery/hmap v0.0.45 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 diff --git a/go.sum b/go.sum index 8d4bbeddbc..a0ea94c394 100644 --- a/go.sum +++ b/go.sum @@ -832,8 +832,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= -github.com/projectdiscovery/fastdialer v0.1.1 h1:51IovI02Ime7fVCWFxMpg1akCcaRHpVQnjpTQT0+0G0= -github.com/projectdiscovery/fastdialer v0.1.1/go.mod h1:tIMAT93FmV90EoVfM1lfaTrkNEbqT+G4jLyyoOO5McY= +github.com/projectdiscovery/fastdialer v0.1.3 h1:DuXMFFDnhHP2pXWYZXqZHS76vSvkMeRYD4NifI/DlXI= +github.com/projectdiscovery/fastdialer v0.1.3/go.mod h1:V5fkUburMLylbtBqbei5aAXTt1foDMeX517iM3uPkao= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= From 9f3f7fce0665dd69eefb714b8bc2296b49f2b8bd Mon Sep 17 00:00:00 2001 From: Ice3man Date: Tue, 11 Jun 2024 04:43:46 +0530 Subject: [PATCH 043/283] Fuzzing additions & enhancements (#5139) * feat: added fuzzing output enhancements * changes as requested * misc * feat: added dfp flag to display fuzz points + misc additions * feat: added support for fuzzing nested path segments * feat: added parts to fuzzing requests * feat: added tracking for parameter occurence frequency in fuzzing * added cli flag for fuzz frequency * fixed broken tests * fixed path based sqli integration test * feat: added configurable fuzzing aggression level for payloads * fixed failing test --- cmd/nuclei/main.go | 3 + integration_tests/fuzz/fuzz-path-sqli.yaml | 7 +- internal/runner/runner.go | 67 ++++---- pkg/fuzz/component/path.go | 50 ++++-- pkg/fuzz/component/path_test.go | 40 ++++- pkg/fuzz/component/query.go | 1 + pkg/fuzz/execute.go | 27 +++- pkg/fuzz/frequency/tracker.go | 152 ++++++++++++++++++ pkg/fuzz/fuzz.go | 19 ++- pkg/fuzz/fuzz_test.go | 8 +- pkg/fuzz/parts.go | 28 +++- pkg/protocols/common/generators/generators.go | 69 +++++++- .../common/generators/generators_test.go | 48 ++++++ pkg/protocols/common/interactsh/interactsh.go | 12 ++ pkg/protocols/common/interactsh/options.go | 6 +- pkg/protocols/http/request_fuzz.go | 15 +- pkg/protocols/protocols.go | 3 + pkg/testutils/fuzzplayground/server.go | 22 ++- pkg/types/types.go | 6 + 19 files changed, 507 insertions(+), 76 deletions(-) create mode 100644 pkg/fuzz/frequency/tracker.go diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index e93a4c4441..40984074df 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -326,6 +326,9 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.StringVarP(&options.FuzzingMode, "fuzzing-mode", "fm", "", "overrides fuzzing mode set in template (multiple, single)"), flagSet.BoolVar(&fuzzFlag, "fuzz", false, "enable loading fuzzing templates (Deprecated: use -dast instead)"), flagSet.BoolVar(&options.DAST, "dast", false, "enable / run dast (fuzz) nuclei templates"), + flagSet.BoolVarP(&options.DisplayFuzzPoints, "display-fuzz-points", "dfp", false, "display fuzz points in the output for debugging"), + flagSet.IntVar(&options.FuzzParamFrequency, "fuzz-param-frequency", 10, "frequency of uninteresting parameters for fuzzing before skipping"), + flagSet.StringVarP(&options.FuzzAggressionLevel, "fuzz-aggression", "fa", "low", "fuzzing aggression level controls payload count for fuzz (low, medium, high)"), ) flagSet.CreateGroup("uncover", "Uncover", diff --git a/integration_tests/fuzz/fuzz-path-sqli.yaml b/integration_tests/fuzz/fuzz-path-sqli.yaml index e23098d931..531427becb 100644 --- a/integration_tests/fuzz/fuzz-path-sqli.yaml +++ b/integration_tests/fuzz/fuzz-path-sqli.yaml @@ -15,21 +15,18 @@ http: - type: dsl dsl: - 'method == "GET"' - - regex("/(.*?/)([0-9]+)(/.*)?",path) condition: and payloads: pathsqli: - - "'OR1=1" - '%20OR%20True' fuzzing: - part: path - type: replace-regex + type: postfix mode: single - replace-regex: '/(.*?/)([0-9]+)(/.*)?' fuzz: - - '/${1}${2}{{pathsqli}}${3}' + - '{{pathsqli}}' matchers: - type: status diff --git a/internal/runner/runner.go b/internal/runner/runner.go index 24010d7537..bc436500af 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -15,6 +15,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/internal/pdcp" "github.com/projectdiscovery/nuclei/v3/pkg/authprovider" + "github.com/projectdiscovery/nuclei/v3/pkg/fuzz/frequency" "github.com/projectdiscovery/nuclei/v3/pkg/input/provider" "github.com/projectdiscovery/nuclei/v3/pkg/installer" "github.com/projectdiscovery/nuclei/v3/pkg/loader/parser" @@ -74,21 +75,22 @@ var ( // Runner is a client for running the enumeration process. type Runner struct { - output output.Writer - interactsh *interactsh.Client - options *types.Options - projectFile *projectfile.ProjectFile - catalog catalog.Catalog - progress progress.Progress - colorizer aurora.Aurora - issuesClient reporting.Client - browser *engine.Browser - rateLimiter *ratelimit.Limiter - hostErrors hosterrorscache.CacheInterface - resumeCfg *types.ResumeCfg - pprofServer *http.Server - pdcpUploadErrMsg string - inputProvider provider.InputProvider + output output.Writer + interactsh *interactsh.Client + options *types.Options + projectFile *projectfile.ProjectFile + catalog catalog.Catalog + progress progress.Progress + colorizer aurora.Aurora + issuesClient reporting.Client + browser *engine.Browser + rateLimiter *ratelimit.Limiter + hostErrors hosterrorscache.CacheInterface + resumeCfg *types.ResumeCfg + pprofServer *http.Server + pdcpUploadErrMsg string + inputProvider provider.InputProvider + fuzzFrequencyCache *frequency.Tracker //general purpose temporary directory tmpDir string parser parser.Parser @@ -448,24 +450,28 @@ func (r *Runner) RunEnumeration() error { r.options.ExcludedTemplates = append(r.options.ExcludedTemplates, ignoreFile.Files...) } + fuzzFreqCache := frequency.New(frequency.DefaultMaxTrackCount, r.options.FuzzParamFrequency) + r.fuzzFrequencyCache = fuzzFreqCache + // Create the executor options which will be used throughout the execution // stage by the nuclei engine modules. executorOpts := protocols.ExecutorOptions{ - Output: r.output, - Options: r.options, - Progress: r.progress, - Catalog: r.catalog, - IssuesClient: r.issuesClient, - RateLimiter: r.rateLimiter, - Interactsh: r.interactsh, - ProjectFile: r.projectFile, - Browser: r.browser, - Colorizer: r.colorizer, - ResumeCfg: r.resumeCfg, - ExcludeMatchers: excludematchers.New(r.options.ExcludeMatchers), - InputHelper: input.NewHelper(), - TemporaryDirectory: r.tmpDir, - Parser: r.parser, + Output: r.output, + Options: r.options, + Progress: r.progress, + Catalog: r.catalog, + IssuesClient: r.issuesClient, + RateLimiter: r.rateLimiter, + Interactsh: r.interactsh, + ProjectFile: r.projectFile, + Browser: r.browser, + Colorizer: r.colorizer, + ResumeCfg: r.resumeCfg, + ExcludeMatchers: excludematchers.New(r.options.ExcludeMatchers), + InputHelper: input.NewHelper(), + TemporaryDirectory: r.tmpDir, + Parser: r.parser, + FuzzParamsFrequency: fuzzFreqCache, } if config.DefaultConfig.IsDebugArgEnabled(config.DebugExportURLPattern) { @@ -619,6 +625,7 @@ func (r *Runner) RunEnumeration() error { if executorOpts.InputHelper != nil { _ = executorOpts.InputHelper.Close() } + r.fuzzFrequencyCache.Close() // todo: error propagation without canonical straight error check is required by cloud? // use safe dereferencing to avoid potential panics in case of previous unchecked errors diff --git a/pkg/fuzz/component/path.go b/pkg/fuzz/component/path.go index 9d2e758025..b9aebd61af 100644 --- a/pkg/fuzz/component/path.go +++ b/pkg/fuzz/component/path.go @@ -2,10 +2,12 @@ package component import ( "context" + "strconv" + "strings" - "github.com/pkg/errors" "github.com/projectdiscovery/nuclei/v3/pkg/fuzz/dataformat" "github.com/projectdiscovery/retryablehttp-go" + urlutil "github.com/projectdiscovery/utils/url" ) // Path is a component for a request Path @@ -31,13 +33,18 @@ func (q *Path) Name() string { // parsed component func (q *Path) Parse(req *retryablehttp.Request) (bool, error) { q.req = req - q.value = NewValue(req.URL.Path) + q.value = NewValue("") - parsed, err := dataformat.Get(dataformat.RawDataFormat).Decode(q.value.String()) - if err != nil { - return false, err + splitted := strings.Split(req.URL.Path, "/") + values := make(map[string]interface{}) + for i := range splitted { + pathTillNow := strings.Join(splitted[:i+1], "/") + if pathTillNow == "" { + continue + } + values[strconv.Itoa(i)] = pathTillNow } - q.value.SetParsed(parsed, dataformat.RawDataFormat) + q.value.SetParsed(dataformat.KVMap(values), "") return true, nil } @@ -56,7 +63,8 @@ func (q *Path) Iterate(callback func(key string, value interface{}) error) (err // SetValue sets a value in the component // for a key func (q *Path) SetValue(key string, value string) error { - if !q.value.SetParsedValue(key, value) { + escaped := urlutil.ParamEncode(value) + if !q.value.SetParsedValue(key, escaped) { return ErrSetValue } return nil @@ -73,13 +81,31 @@ func (q *Path) Delete(key string) error { // Rebuild returns a new request with the // component rebuilt func (q *Path) Rebuild() (*retryablehttp.Request, error) { - encoded, err := q.value.Encode() - if err != nil { - return nil, errors.Wrap(err, "could not encode query") + originalValues := make(map[string]interface{}) + splitted := strings.Split(q.req.URL.Path, "/") + for i := range splitted { + pathTillNow := strings.Join(splitted[:i+1], "/") + if pathTillNow == "" { + continue + } + originalValues[strconv.Itoa(i)] = pathTillNow + } + + originalPath := q.req.URL.Path + lengthSplitted := len(q.value.parsed.Map) + for i := lengthSplitted; i > 0; i-- { + key := strconv.Itoa(i) + original := originalValues[key].(string) + new := q.value.parsed.Map[key].(string) + originalPath = strings.Replace(originalPath, original, new, 1) } + + rebuiltPath := originalPath + + // Clone the request and update the path cloned := q.req.Clone(context.Background()) - if err := cloned.UpdateRelPath(encoded, true); err != nil { - cloned.URL.RawPath = encoded + if err := cloned.UpdateRelPath(rebuiltPath, true); err != nil { + cloned.URL.RawPath = rebuiltPath } return cloned, nil } diff --git a/pkg/fuzz/component/path_test.go b/pkg/fuzz/component/path_test.go index 859ffcde12..c47f81f4ff 100644 --- a/pkg/fuzz/component/path_test.go +++ b/pkg/fuzz/component/path_test.go @@ -28,10 +28,10 @@ func TestURLComponent(t *testing.T) { return nil }) - require.Equal(t, []string{"value"}, keys, "unexpected keys") + require.Equal(t, []string{"1"}, keys, "unexpected keys") require.Equal(t, []string{"/testpath"}, values, "unexpected values") - err = urlComponent.SetValue("value", "/newpath") + err = urlComponent.SetValue("1", "/newpath") if err != nil { t.Fatal(err) } @@ -40,7 +40,41 @@ func TestURLComponent(t *testing.T) { if err != nil { t.Fatal(err) } - require.Equal(t, "/newpath", rebuilt.URL.Path, "unexpected URL path") require.Equal(t, "https://example.com/newpath", rebuilt.URL.String(), "unexpected full URL") } + +func TestURLComponent_NestedPaths(t *testing.T) { + path := NewPath() + req, err := retryablehttp.NewRequest(http.MethodGet, "https://example.com/user/753/profile", nil) + if err != nil { + t.Fatal(err) + } + found, err := path.Parse(req) + if err != nil { + t.Fatal(err) + } + if !found { + t.Fatal("expected path to be found") + } + + isSet := false + + _ = path.Iterate(func(key string, value interface{}) error { + if !isSet && value.(string) == "/user/753" { + isSet = true + if setErr := path.SetValue(key, "/user/753'"); setErr != nil { + t.Fatal(setErr) + } + } + return nil + }) + + newReq, err := path.Rebuild() + if err != nil { + t.Fatal(err) + } + if newReq.URL.Path != "/user/753'/profile" { + t.Fatal("expected path to be modified") + } +} diff --git a/pkg/fuzz/component/query.go b/pkg/fuzz/component/query.go index 3dc07e6cf1..571161ee13 100644 --- a/pkg/fuzz/component/query.go +++ b/pkg/fuzz/component/query.go @@ -61,6 +61,7 @@ func (q *Query) Iterate(callback func(key string, value interface{}) error) (err // SetValue sets a value in the component // for a key func (q *Query) SetValue(key string, value string) error { + // Is this safe? if !q.value.SetParsedValue(key, value) { return ErrSetValue } diff --git a/pkg/fuzz/execute.go b/pkg/fuzz/execute.go index bd1414638e..4f33ba6ddc 100644 --- a/pkg/fuzz/execute.go +++ b/pkg/fuzz/execute.go @@ -1,6 +1,7 @@ package fuzz import ( + "encoding/json" "fmt" "io" "regexp" @@ -15,6 +16,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" "github.com/projectdiscovery/retryablehttp-go" errorutil "github.com/projectdiscovery/utils/errors" + sliceutil "github.com/projectdiscovery/utils/slice" urlutil "github.com/projectdiscovery/utils/url" ) @@ -45,6 +47,8 @@ type ExecuteRuleInput struct { Values map[string]interface{} // BaseRequest is the base http request for fuzzing rule BaseRequest *retryablehttp.Request + // DisplayFuzzPoints is a flag to display fuzz points + DisplayFuzzPoints bool } // GeneratedRequest is a single generated request for rule @@ -76,8 +80,9 @@ func (rule *Rule) Execute(input *ExecuteRuleInput) (err error) { var finalComponentList []component.Component // match rule part with component name + displayDebugFuzzPoints := make(map[string]map[string]string) for _, componentName := range component.Components { - if rule.partType != requestPartType && rule.Part != componentName { + if !(rule.Part == componentName || sliceutil.Contains(rule.Parts, componentName) || rule.partType == requestPartType) { continue } component := component.New(componentName) @@ -89,12 +94,25 @@ func (rule *Rule) Execute(input *ExecuteRuleInput) (err error) { if !discovered { continue } + // check rule applicable on this component if !rule.checkRuleApplicableOnComponent(component) { continue } + // Debugging display for fuzz points + if input.DisplayFuzzPoints { + displayDebugFuzzPoints[componentName] = make(map[string]string) + _ = component.Iterate(func(key string, value interface{}) error { + displayDebugFuzzPoints[componentName][key] = fmt.Sprintf("%v", value) + return nil + }) + } finalComponentList = append(finalComponentList, component) } + if len(displayDebugFuzzPoints) > 0 { + marshalled, _ := json.MarshalIndent(displayDebugFuzzPoints, "", " ") + gologger.Info().Msgf("[%s] Fuzz points for %s [%s]\n%s\n", rule.options.TemplateID, input.Input.MetaInput.Input, input.BaseRequest.Method, string(marshalled)) + } if len(finalComponentList) == 0 { return ErrRuleNotApplicable.Msgf("no component matched on this rule") @@ -225,7 +243,7 @@ func (rule *Rule) executeRuleValues(input *ExecuteRuleInput, ruleComponent compo if err != nil { return err } - if gotErr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, ""); gotErr != nil { + if gotErr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, "", ""); gotErr != nil { return gotErr } } @@ -261,8 +279,9 @@ func (rule *Rule) Compile(generator *generators.PayloadGenerator, options *proto } else { rule.partType = valueType } - } else { - rule.partType = queryPartType + } + if rule.Part == "" && len(rule.Parts) == 0 { + return errors.Errorf("no part specified for rule") } if rule.Type != "" { diff --git a/pkg/fuzz/frequency/tracker.go b/pkg/fuzz/frequency/tracker.go new file mode 100644 index 0000000000..063912b4c0 --- /dev/null +++ b/pkg/fuzz/frequency/tracker.go @@ -0,0 +1,152 @@ +package frequency + +import ( + "net" + "net/url" + "os" + "strings" + "sync" + "sync/atomic" + + "github.com/bluele/gcache" + "github.com/projectdiscovery/gologger" +) + +// Tracker implements a frequency tracker for a given input +// which is used to determine uninteresting input parameters +// which are not that interesting from fuzzing perspective for a template +// and target combination. +// +// This is used to reduce the number of requests made during fuzzing +// for parameters that are less likely to give results for a rule. +type Tracker struct { + frequencies gcache.Cache + paramOccurenceThreshold int + + isDebug bool +} + +const ( + DefaultMaxTrackCount = 10000 + DefaultParamOccurenceThreshold = 10 +) + +type cacheItem struct { + errors atomic.Int32 + sync.Once +} + +// New creates a new frequency tracker with a given maximum +// number of params to track in LRU fashion with a max error threshold +func New(maxTrackCount, paramOccurenceThreshold int) *Tracker { + gc := gcache.New(maxTrackCount).ARC().Build() + + var isDebug bool + if os.Getenv("FREQ_DEBUG") != "" { + isDebug = true + } + return &Tracker{ + isDebug: isDebug, + frequencies: gc, + paramOccurenceThreshold: paramOccurenceThreshold, + } +} + +func (t *Tracker) Close() { + t.frequencies.Purge() +} + +// MarkParameter marks a parameter as frequently occuring once. +// +// The logic requires a parameter to be marked as frequently occuring +// multiple times before it's considered as frequently occuring. +func (t *Tracker) MarkParameter(parameter, target, template string) { + normalizedTarget := normalizeTarget(target) + key := getFrequencyKey(parameter, normalizedTarget, template) + + if t.isDebug { + gologger.Verbose().Msgf("[%s] Marking %s as found uninteresting", template, key) + } + + existingCacheItem, err := t.frequencies.GetIFPresent(key) + if err != nil || existingCacheItem == nil { + newItem := &cacheItem{errors: atomic.Int32{}} + newItem.errors.Store(1) + _ = t.frequencies.Set(key, newItem) + return + } + existingCacheItemValue := existingCacheItem.(*cacheItem) + existingCacheItemValue.errors.Add(1) + + _ = t.frequencies.Set(key, existingCacheItemValue) +} + +// IsParameterFrequent checks if a parameter is frequently occuring +// in the input with no much results. +func (t *Tracker) IsParameterFrequent(parameter, target, template string) bool { + normalizedTarget := normalizeTarget(target) + key := getFrequencyKey(parameter, normalizedTarget, template) + + if t.isDebug { + gologger.Verbose().Msgf("[%s] Checking if %s is frequently found uninteresting", template, key) + } + + existingCacheItem, err := t.frequencies.GetIFPresent(key) + if err != nil { + return false + } + existingCacheItemValue := existingCacheItem.(*cacheItem) + + if existingCacheItemValue.errors.Load() >= int32(t.paramOccurenceThreshold) { + existingCacheItemValue.Do(func() { + gologger.Verbose().Msgf("[%s] Skipped %s from parameter for %s as found uninteresting %d times", template, parameter, target, existingCacheItemValue.errors.Load()) + }) + return true + } + return false +} + +// UnmarkParameter unmarks a parameter as frequently occuring. This carries +// more weight and resets the frequency counter for the parameter causing +// it to be checked again. This is done when results are found. +func (t *Tracker) UnmarkParameter(parameter, target, template string) { + normalizedTarget := normalizeTarget(target) + key := getFrequencyKey(parameter, normalizedTarget, template) + + if t.isDebug { + gologger.Verbose().Msgf("[%s] Unmarking %s as frequently found uninteresting", template, key) + } + + _ = t.frequencies.Remove(key) +} + +func getFrequencyKey(parameter, target, template string) string { + var sb strings.Builder + sb.WriteString(target) + sb.WriteString(":") + sb.WriteString(template) + sb.WriteString(":") + sb.WriteString(parameter) + str := sb.String() + return str +} + +func normalizeTarget(value string) string { + finalValue := value + if strings.HasPrefix(value, "http") { + if parsed, err := url.Parse(value); err == nil { + hostname := parsed.Host + finalPort := parsed.Port() + if finalPort == "" { + if parsed.Scheme == "https" { + finalPort = "443" + } else { + finalPort = "80" + } + hostname = net.JoinHostPort(parsed.Host, finalPort) + } + finalValue = hostname + } + } + return finalValue +} diff --git a/pkg/fuzz/fuzz.go b/pkg/fuzz/fuzz.go index c70bc3b2cc..b2109efc85 100644 --- a/pkg/fuzz/fuzz.go +++ b/pkg/fuzz/fuzz.go @@ -24,12 +24,27 @@ type Rule struct { ruleType ruleType // description: | // Part is the part of request to fuzz. - // - // query fuzzes the query part of url. More parts will be added later. // values: // - "query" + // - "header" + // - "path" + // - "body" + // - "cookie" + // - "request" Part string `yaml:"part,omitempty" json:"part,omitempty" jsonschema:"title=part of rule,description=Part of request rule to fuzz,enum=query,enum=header,enum=path,enum=body,enum=cookie,enum=request"` partType partType + // description: | + // Parts is the list of parts to fuzz. If multiple parts need to be + // defined while excluding some, this should be used instead of singular part. + // values: + // - "query" + // - "header" + // - "path" + // - "body" + // - "cookie" + // - "request" + Parts []string `yaml:"parts,omitempty" json:"parts,omitempty" jsonschema:"title=parts of rule,description=Part of request rule to fuzz,enum=query,enum=header,enum=path,enum=body,enum=cookie,enum=request"` + // description: | // Mode is the mode of fuzzing to perform. // diff --git a/pkg/fuzz/fuzz_test.go b/pkg/fuzz/fuzz_test.go index dc0771259b..6ef2e39b08 100644 --- a/pkg/fuzz/fuzz_test.go +++ b/pkg/fuzz/fuzz_test.go @@ -7,7 +7,9 @@ import ( ) func TestRuleMatchKeyOrValue(t *testing.T) { - rule := &Rule{} + rule := &Rule{ + Part: "query", + } err := rule.Compile(nil, nil) require.NoError(t, err, "could not compile rule") @@ -15,7 +17,7 @@ func TestRuleMatchKeyOrValue(t *testing.T) { require.True(t, result, "could not get correct result") t.Run("key", func(t *testing.T) { - rule := &Rule{Keys: []string{"url"}} + rule := &Rule{Keys: []string{"url"}, Part: "query"} err := rule.Compile(nil, nil) require.NoError(t, err, "could not compile rule") @@ -25,7 +27,7 @@ func TestRuleMatchKeyOrValue(t *testing.T) { require.False(t, result, "could not get correct result") }) t.Run("value", func(t *testing.T) { - rule := &Rule{ValuesRegex: []string{`https?:\/\/?([-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b)*(\/[\/\d\w\.-]*)*(?:[\?])*(.+)*`}} + rule := &Rule{ValuesRegex: []string{`https?:\/\/?([-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b)*(\/[\/\d\w\.-]*)*(?:[\?])*(.+)*`}, Part: "query"} err := rule.Compile(nil, nil) require.NoError(t, err, "could not compile rule") diff --git a/pkg/fuzz/parts.go b/pkg/fuzz/parts.go index 4c01135f66..6ab1643296 100644 --- a/pkg/fuzz/parts.go +++ b/pkg/fuzz/parts.go @@ -2,6 +2,7 @@ package fuzz import ( "io" + "strconv" "strings" "github.com/projectdiscovery/nuclei/v3/pkg/fuzz/component" @@ -9,6 +10,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" "github.com/projectdiscovery/nuclei/v3/pkg/types" "github.com/projectdiscovery/retryablehttp-go" + sliceutil "github.com/projectdiscovery/utils/slice" ) // executePartRule executes part rules based on type @@ -18,7 +20,7 @@ func (rule *Rule) executePartRule(input *ExecuteRuleInput, payload ValueOrKeyVal // checkRuleApplicableOnComponent checks if a rule is applicable on given component func (rule *Rule) checkRuleApplicableOnComponent(component component.Component) bool { - if rule.Part != component.Name() { + if rule.Part != component.Name() && !sliceutil.Contains(rule.Parts, component.Name()) && rule.partType != requestPartType { return false } foundAny := false @@ -68,7 +70,7 @@ func (rule *Rule) executePartComponentOnValues(input *ExecuteRuleInput, payloadS return err } - if qerr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, key); qerr != nil { + if qerr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, key, valueStr); qerr != nil { return qerr } // fmt.Printf("executed with value: %s\n", evaluated) @@ -90,7 +92,7 @@ func (rule *Rule) executePartComponentOnValues(input *ExecuteRuleInput, payloadS if err != nil { return err } - if qerr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, ""); qerr != nil { + if qerr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, "", ""); qerr != nil { err = qerr return err } @@ -125,7 +127,7 @@ func (rule *Rule) executePartComponentOnKV(input *ExecuteRuleInput, payload Valu return err } - if qerr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, key); qerr != nil { + if qerr := rule.execWithInput(input, req, input.InteractURLs, ruleComponent, key, value); qerr != nil { return err } @@ -144,7 +146,23 @@ func (rule *Rule) executePartComponentOnKV(input *ExecuteRuleInput, payload Valu } // execWithInput executes a rule with input via callback -func (rule *Rule) execWithInput(input *ExecuteRuleInput, httpReq *retryablehttp.Request, interactURLs []string, component component.Component, parameter string) error { +func (rule *Rule) execWithInput(input *ExecuteRuleInput, httpReq *retryablehttp.Request, interactURLs []string, component component.Component, parameter, parameterValue string) error { + // If the parameter is a number, replace it with the parameter value + // or if the parameter is empty and the parameter value is not empty + // replace it with the parameter value + if _, err := strconv.Atoi(parameter); err == nil || (parameter == "" && parameterValue != "") { + parameter = parameterValue + } + // If the parameter is frequent, skip it if the option is enabled + if rule.options.FuzzParamsFrequency != nil { + if rule.options.FuzzParamsFrequency.IsParameterFrequent( + parameter, + httpReq.URL.String(), + rule.options.TemplateID, + ) { + return nil + } + } request := GeneratedRequest{ Request: httpReq, InteractURLs: interactURLs, diff --git a/pkg/protocols/common/generators/generators.go b/pkg/protocols/common/generators/generators.go index b99de24c0b..5711b445f5 100644 --- a/pkg/protocols/common/generators/generators.go +++ b/pkg/protocols/common/generators/generators.go @@ -25,8 +25,19 @@ func New(payloads map[string]interface{}, attackType AttackType, templatePath st // Resolve payload paths if they are files. payloadsFinal := make(map[string]interface{}) - for name, payload := range payloads { - payloadsFinal[name] = payload + for payloadName, v := range payloads { + switch value := v.(type) { + case map[interface{}]interface{}: + values, err := parsePayloadsWithAggression(payloadName, value, opts.FuzzAggressionLevel) + if err != nil { + return nil, errors.Wrap(err, "could not parse payloads with aggression") + } + for k, v := range values { + payloadsFinal[k] = v + } + default: + payloadsFinal[payloadName] = v + } } generator := &PayloadGenerator{catalog: catalog, options: opts} @@ -57,6 +68,60 @@ func New(payloads map[string]interface{}, attackType AttackType, templatePath st return generator, nil } +type aggressionLevelToPayloads struct { + Low []interface{} + Medium []interface{} + High []interface{} +} + +// parsePayloadsWithAggression parses the payloads with the aggression level +// +// Three agression are supported - +// - low +// - medium +// - high +// +// low is the default level. If medium is specified, all templates from +// low and medium are executed. Similarly with high, including all templates +// from low, medium, high. +func parsePayloadsWithAggression(name string, v map[interface{}]interface{}, agression string) (map[string]interface{}, error) { + payloadsLevels := &aggressionLevelToPayloads{} + + for k, v := range v { + if _, ok := v.([]interface{}); !ok { + return nil, errors.Errorf("only lists are supported for aggression levels payloads") + } + var ok bool + switch k { + case "low": + payloadsLevels.Low, ok = v.([]interface{}) + case "medium": + payloadsLevels.Medium, ok = v.([]interface{}) + case "high": + payloadsLevels.High, ok = v.([]interface{}) + default: + return nil, errors.Errorf("invalid aggression level %s specified for %s", k, name) + } + if !ok { + return nil, errors.Errorf("invalid aggression level %s specified for %s", k, name) + } + } + + payloads := make(map[string]interface{}) + switch agression { + case "low": + payloads[name] = payloadsLevels.Low + case "medium": + payloads[name] = append(payloadsLevels.Low, payloadsLevels.Medium...) + case "high": + payloads[name] = append(payloadsLevels.Low, payloadsLevels.Medium...) + payloads[name] = append(payloads[name].([]interface{}), payloadsLevels.High...) + default: + return nil, errors.Errorf("invalid aggression level %s specified for %s", agression, name) + } + return payloads, nil +} + // Iterator is a single instance of an iterator for a generator structure type Iterator struct { Type AttackType diff --git a/pkg/protocols/common/generators/generators_test.go b/pkg/protocols/common/generators/generators_test.go index a55e8e51ee..c478995525 100644 --- a/pkg/protocols/common/generators/generators_test.go +++ b/pkg/protocols/common/generators/generators_test.go @@ -1,9 +1,11 @@ package generators import ( + "strings" "testing" "github.com/stretchr/testify/require" + "gopkg.in/yaml.v2" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/disk" "github.com/projectdiscovery/nuclei/v3/pkg/types" @@ -90,3 +92,49 @@ func getOptions(allowLocalFileAccess bool) *types.Options { opts.AllowLocalFileAccess = allowLocalFileAccess return opts } + +func TestParsePayloadsWithAggression(t *testing.T) { + testPayload := `linux_path: + low: + - /etc/passwd + medium: + - ../etc/passwd + - ../../etc/passwd + high: + - ../../../etc/passwd + - ../../../../etc/passwd + - ../../../../../etc/passwd` + + var payloads map[string]interface{} + err := yaml.NewDecoder(strings.NewReader(testPayload)).Decode(&payloads) + require.Nil(t, err, "could not unmarshal yaml") + + aggressionsToValues := map[string][]string{ + "low": { + "/etc/passwd", + }, + "medium": { + "/etc/passwd", + "../etc/passwd", + "../../etc/passwd", + }, + "high": { + "/etc/passwd", + "../etc/passwd", + "../../etc/passwd", + "../../../etc/passwd", + "../../../../etc/passwd", + "../../../../../etc/passwd", + }, + } + + for k, v := range payloads { + for aggression, values := range aggressionsToValues { + parsed, err := parsePayloadsWithAggression(k, v.(map[interface{}]interface{}), aggression) + require.Nil(t, err, "could not parse payloads with aggression") + + gotValues := parsed[k].([]interface{}) + require.Equal(t, len(values), len(gotValues), "could not get correct number of values") + } + } +} diff --git a/pkg/protocols/common/interactsh/interactsh.go b/pkg/protocols/common/interactsh/interactsh.go index c156164805..da59f10fb3 100644 --- a/pkg/protocols/common/interactsh/interactsh.go +++ b/pkg/protocols/common/interactsh/interactsh.go @@ -21,6 +21,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/helpers/responsehighlighter" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/helpers/writer" + "github.com/projectdiscovery/retryablehttp-go" errorutil "github.com/projectdiscovery/utils/errors" stringsutil "github.com/projectdiscovery/utils/strings" ) @@ -180,6 +181,14 @@ func (c *Client) processInteractionForRequest(interaction *server.Interaction, d gologger.DefaultLogger.Print().Msgf("[Interactsh]: got result %v and status %v after processing interaction", result, matched) } + if c.options.FuzzParamsFrequency != nil { + if !matched { + c.options.FuzzParamsFrequency.MarkParameter(data.Parameter, data.Request.URL.String(), data.Operators.TemplateID) + } else { + c.options.FuzzParamsFrequency.UnmarkParameter(data.Parameter, data.Request.URL.String(), data.Operators.TemplateID) + } + } + // if we don't match, return if !matched || result == nil { return false @@ -320,6 +329,9 @@ type RequestData struct { Operators *operators.Operators MatchFunc operators.MatchFunc ExtractFunc operators.ExtractFunc + + Parameter string + Request *retryablehttp.Request } // RequestEvent is the event for a network request sent by nuclei. diff --git a/pkg/protocols/common/interactsh/options.go b/pkg/protocols/common/interactsh/options.go index c2ae250291..ca3dd459c9 100644 --- a/pkg/protocols/common/interactsh/options.go +++ b/pkg/protocols/common/interactsh/options.go @@ -4,6 +4,7 @@ import ( "time" "github.com/projectdiscovery/interactsh/pkg/client" + "github.com/projectdiscovery/nuclei/v3/pkg/fuzz/frequency" "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/nuclei/v3/pkg/progress" "github.com/projectdiscovery/nuclei/v3/pkg/reporting" @@ -46,8 +47,9 @@ type Options struct { // NoColor disables printing colors for matches NoColor bool - StopAtFirstMatch bool - HTTPClient *retryablehttp.Client + FuzzParamsFrequency *frequency.Tracker + StopAtFirstMatch bool + HTTPClient *retryablehttp.Client } // DefaultOptions returns the default options for interactsh client diff --git a/pkg/protocols/http/request_fuzz.go b/pkg/protocols/http/request_fuzz.go index 8d980b4bf3..49df3c0632 100644 --- a/pkg/protocols/http/request_fuzz.go +++ b/pkg/protocols/http/request_fuzz.go @@ -120,7 +120,8 @@ func (request *Request) executeAllFuzzingRules(input *contextargs.Context, value } err := rule.Execute(&fuzz.ExecuteRuleInput{ - Input: input, + Input: input, + DisplayFuzzPoints: request.options.Options.DisplayFuzzPoints, Callback: func(gr fuzz.GeneratedRequest) bool { select { case <-input.Context().Done(): @@ -139,6 +140,7 @@ func (request *Request) executeAllFuzzingRules(input *contextargs.Context, value continue } if fuzz.IsErrRuleNotApplicable(err) { + gologger.Verbose().Msgf("[%s] fuzz: rule not applicable : %s\n", request.options.TemplateID, err) continue } if err == types.ErrNoMoreRequests { @@ -176,6 +178,7 @@ func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, result.FuzzingPosition = gr.Component.Name() } + setInteractshCallback := false if hasInteractMarkers && hasInteractMatchers && request.options.Interactsh != nil { requestData := &interactsh.RequestData{ MakeResultFunc: request.MakeResultEvent, @@ -183,7 +186,10 @@ func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, Operators: request.CompiledOperators, MatchFunc: request.Match, ExtractFunc: request.Extract, + Parameter: gr.Parameter, + Request: gr.Request, } + setInteractshCallback = true request.options.Interactsh.RequestEvent(gr.InteractURLs, requestData) gotMatches = request.options.Interactsh.AlreadyMatched(requestData) } else { @@ -193,6 +199,13 @@ func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, if event.OperatorsResult != nil { gotMatches = event.OperatorsResult.Matched } + if request.options.FuzzParamsFrequency != nil && !setInteractshCallback { + if !gotMatches { + request.options.FuzzParamsFrequency.MarkParameter(gr.Parameter, gr.Request.URL.String(), request.options.TemplateID) + } else { + request.options.FuzzParamsFrequency.UnmarkParameter(gr.Parameter, gr.Request.URL.String(), request.options.TemplateID) + } + } }, 0) // If a variable is unresolved, skip all further requests if errors.Is(requestErr, ErrMissingVars) { diff --git a/pkg/protocols/protocols.go b/pkg/protocols/protocols.go index 6b4904c8d8..68881fec5c 100644 --- a/pkg/protocols/protocols.go +++ b/pkg/protocols/protocols.go @@ -13,6 +13,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/authprovider" "github.com/projectdiscovery/nuclei/v3/pkg/catalog" + "github.com/projectdiscovery/nuclei/v3/pkg/fuzz/frequency" "github.com/projectdiscovery/nuclei/v3/pkg/input" "github.com/projectdiscovery/nuclei/v3/pkg/js/compiler" "github.com/projectdiscovery/nuclei/v3/pkg/loader/parser" @@ -92,6 +93,8 @@ type ExecutorOptions struct { ExcludeMatchers *excludematchers.ExcludeMatchers // InputHelper is a helper for input normalization InputHelper *input.Helper + // FuzzParamsFrequency is a cache for parameter frequency + FuzzParamsFrequency *frequency.Tracker Operators []*operators.Operators // only used by offlinehttp module diff --git a/pkg/testutils/fuzzplayground/server.go b/pkg/testutils/fuzzplayground/server.go index 04f00a99df..af42552cbf 100644 --- a/pkg/testutils/fuzzplayground/server.go +++ b/pkg/testutils/fuzzplayground/server.go @@ -27,6 +27,7 @@ func GetPlaygroundServer() *echo.Echo { e.GET("/request", requestHandler) e.GET("/email", emailHandler) e.GET("/permissions", permissionsHandler) + e.GET("/blog/post", numIdorHandler) // for num based idors like ?id=44 e.POST("/reset-password", resetPasswordHandler) e.GET("/host-header-lab", hostHeaderLabHandler) @@ -47,13 +48,20 @@ var bodyTemplate = ` func indexHandler(ctx echo.Context) error { return ctx.HTML(200, fmt.Sprintf(bodyTemplate, `

Fuzzing Playground


- + `)) } diff --git a/pkg/types/types.go b/pkg/types/types.go index 0c31769ee1..28f98f9198 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -363,6 +363,12 @@ type Options struct { FuzzingMode string // TlsImpersonate enables TLS impersonation TlsImpersonate bool + // DisplayFuzzPoints enables display of fuzz points for fuzzing + DisplayFuzzPoints bool + // FuzzAggressionLevel is the level of fuzzing aggression (low, medium, high.) + FuzzAggressionLevel string + // FuzzParamFrequency is the frequency of fuzzing parameters + FuzzParamFrequency int // CodeTemplateSignaturePublicKey is the custom public key used to verify the template signature (algorithm is automatically inferred from the length) CodeTemplateSignaturePublicKey string // CodeTemplateSignatureAlgorithm specifies the sign algorithm (rsa, ecdsa) From 1c355c54ad42c19439e7d4ce7d54c4c3bca1c5bc Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 10 Jun 2024 23:14:52 +0000 Subject: [PATCH 044/283] Auto Generate Syntax Docs + JSONSchema [Mon Jun 10 23:14:52 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 39 ++++++++++++++++- nuclei-jsonschema.json | 16 +++++++ pkg/templates/templates_doc.go | 76 +++++++++++++++++++++------------- 3 files changed, 101 insertions(+), 30 deletions(-) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index 7fa62c5f44..0db5711f5a 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -1800,13 +1800,50 @@ Valid values: Part is the part of request to fuzz. -query fuzzes the query part of url. More parts will be added later. + +Valid values: + + + - query + + - header + + - path + + - body + + - cookie + + - request + + +
+ +
+ +parts []string + +
+
+ +Parts is the list of parts to fuzz. If multiple parts need to be +defined while excluding some, this should be used instead of singular part. Valid values: - query + + - header + + - path + + - body + + - cookie + + - request

diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index 46e1ab986d..61bdc68ff8 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -457,6 +457,22 @@ "title": "part of rule", "description": "Part of request rule to fuzz" }, + "parts": { + "items": { + "type": "string", + "enum": [ + "query", + "header", + "path", + "body", + "cookie", + "request" + ] + }, + "type": "array", + "title": "parts of rule", + "description": "Part of request rule to fuzz" + }, "mode": { "type": "string", "enum": [ diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index 42fa25b947..536b80ad7f 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -747,7 +747,7 @@ func init() { FieldName: "fuzzing", }, } - FUZZRuleDoc.Fields = make([]encoder.Doc, 8) + FUZZRuleDoc.Fields = make([]encoder.Doc, 9) FUZZRuleDoc.Fields[0].Name = "type" FUZZRuleDoc.Fields[0].Type = "string" FUZZRuleDoc.Fields[0].Note = "" @@ -762,51 +762,69 @@ func init() { FUZZRuleDoc.Fields[1].Name = "part" FUZZRuleDoc.Fields[1].Type = "string" FUZZRuleDoc.Fields[1].Note = "" - FUZZRuleDoc.Fields[1].Description = "Part is the part of request to fuzz.\n\nquery fuzzes the query part of url. More parts will be added later." + FUZZRuleDoc.Fields[1].Description = "Part is the part of request to fuzz." FUZZRuleDoc.Fields[1].Comments[encoder.LineComment] = "Part is the part of request to fuzz." FUZZRuleDoc.Fields[1].Values = []string{ "query", + "header", + "path", + "body", + "cookie", + "request", } - FUZZRuleDoc.Fields[2].Name = "mode" - FUZZRuleDoc.Fields[2].Type = "string" + FUZZRuleDoc.Fields[2].Name = "parts" + FUZZRuleDoc.Fields[2].Type = "[]string" FUZZRuleDoc.Fields[2].Note = "" - FUZZRuleDoc.Fields[2].Description = "Mode is the mode of fuzzing to perform.\n\nsingle fuzzes one value at a time. multiple fuzzes all values at same time." - FUZZRuleDoc.Fields[2].Comments[encoder.LineComment] = "Mode is the mode of fuzzing to perform." + FUZZRuleDoc.Fields[2].Description = "Parts is the list of parts to fuzz. If multiple parts need to be\ndefined while excluding some, this should be used instead of singular part." + FUZZRuleDoc.Fields[2].Comments[encoder.LineComment] = "Parts is the list of parts to fuzz. If multiple parts need to be" FUZZRuleDoc.Fields[2].Values = []string{ + "query", + "header", + "path", + "body", + "cookie", + "request", + } + FUZZRuleDoc.Fields[3].Name = "mode" + FUZZRuleDoc.Fields[3].Type = "string" + FUZZRuleDoc.Fields[3].Note = "" + FUZZRuleDoc.Fields[3].Description = "Mode is the mode of fuzzing to perform.\n\nsingle fuzzes one value at a time. multiple fuzzes all values at same time." + FUZZRuleDoc.Fields[3].Comments[encoder.LineComment] = "Mode is the mode of fuzzing to perform." + FUZZRuleDoc.Fields[3].Values = []string{ "single", "multiple", } - FUZZRuleDoc.Fields[3].Name = "keys" - FUZZRuleDoc.Fields[3].Type = "[]string" - FUZZRuleDoc.Fields[3].Note = "" - FUZZRuleDoc.Fields[3].Description = "Keys is the optional list of key named parameters to fuzz." - FUZZRuleDoc.Fields[3].Comments[encoder.LineComment] = "Keys is the optional list of key named parameters to fuzz." - - FUZZRuleDoc.Fields[3].AddExample("Examples of keys", []string{"url", "file", "host"}) - FUZZRuleDoc.Fields[4].Name = "keys-regex" + FUZZRuleDoc.Fields[4].Name = "keys" FUZZRuleDoc.Fields[4].Type = "[]string" FUZZRuleDoc.Fields[4].Note = "" - FUZZRuleDoc.Fields[4].Description = "KeysRegex is the optional list of regex key parameters to fuzz." - FUZZRuleDoc.Fields[4].Comments[encoder.LineComment] = "KeysRegex is the optional list of regex key parameters to fuzz." + FUZZRuleDoc.Fields[4].Description = "Keys is the optional list of key named parameters to fuzz." + FUZZRuleDoc.Fields[4].Comments[encoder.LineComment] = "Keys is the optional list of key named parameters to fuzz." - FUZZRuleDoc.Fields[4].AddExample("Examples of key regex", []string{"url.*"}) - FUZZRuleDoc.Fields[5].Name = "values" + FUZZRuleDoc.Fields[4].AddExample("Examples of keys", []string{"url", "file", "host"}) + FUZZRuleDoc.Fields[5].Name = "keys-regex" FUZZRuleDoc.Fields[5].Type = "[]string" FUZZRuleDoc.Fields[5].Note = "" - FUZZRuleDoc.Fields[5].Description = "Values is the optional list of regex value parameters to fuzz." - FUZZRuleDoc.Fields[5].Comments[encoder.LineComment] = "Values is the optional list of regex value parameters to fuzz." + FUZZRuleDoc.Fields[5].Description = "KeysRegex is the optional list of regex key parameters to fuzz." + FUZZRuleDoc.Fields[5].Comments[encoder.LineComment] = "KeysRegex is the optional list of regex key parameters to fuzz." - FUZZRuleDoc.Fields[5].AddExample("Examples of value regex", []string{"https?://.*"}) - FUZZRuleDoc.Fields[6].Name = "fuzz" - FUZZRuleDoc.Fields[6].Type = "SliceOrMapSlice" + FUZZRuleDoc.Fields[5].AddExample("Examples of key regex", []string{"url.*"}) + FUZZRuleDoc.Fields[6].Name = "values" + FUZZRuleDoc.Fields[6].Type = "[]string" FUZZRuleDoc.Fields[6].Note = "" - FUZZRuleDoc.Fields[6].Description = "description: |\n Fuzz is the list of payloads to perform substitutions with.\n examples:\n - name: Examples of fuzz\n value: >\n []string{\"{{ssrf}}\", \"{{interactsh-url}}\", \"example-value\"}\n or\n x-header: 1\n x-header: 2" - FUZZRuleDoc.Fields[6].Comments[encoder.LineComment] = " description: |" - FUZZRuleDoc.Fields[7].Name = "replace-regex" - FUZZRuleDoc.Fields[7].Type = "string" + FUZZRuleDoc.Fields[6].Description = "Values is the optional list of regex value parameters to fuzz." + FUZZRuleDoc.Fields[6].Comments[encoder.LineComment] = "Values is the optional list of regex value parameters to fuzz." + + FUZZRuleDoc.Fields[6].AddExample("Examples of value regex", []string{"https?://.*"}) + FUZZRuleDoc.Fields[7].Name = "fuzz" + FUZZRuleDoc.Fields[7].Type = "SliceOrMapSlice" FUZZRuleDoc.Fields[7].Note = "" - FUZZRuleDoc.Fields[7].Description = "replace-regex is regex for regex-replace rule type\nit is only required for replace-regex rule type" - FUZZRuleDoc.Fields[7].Comments[encoder.LineComment] = "replace-regex is regex for regex-replace rule type" + FUZZRuleDoc.Fields[7].Description = "description: |\n Fuzz is the list of payloads to perform substitutions with.\n examples:\n - name: Examples of fuzz\n value: >\n []string{\"{{ssrf}}\", \"{{interactsh-url}}\", \"example-value\"}\n or\n x-header: 1\n x-header: 2" + FUZZRuleDoc.Fields[7].Comments[encoder.LineComment] = " description: |" + FUZZRuleDoc.Fields[8].Name = "replace-regex" + FUZZRuleDoc.Fields[8].Type = "string" + FUZZRuleDoc.Fields[8].Note = "" + FUZZRuleDoc.Fields[8].Description = "replace-regex is regex for regex-replace rule type\nit is only required for replace-regex rule type" + FUZZRuleDoc.Fields[8].Comments[encoder.LineComment] = "replace-regex is regex for regex-replace rule type" SliceOrMapSliceDoc.Type = "SliceOrMapSlice" SliceOrMapSliceDoc.Comments[encoder.LineComment] = "" From 0b6ad3597f48b460495e21d9bd97b6258ca6b9bc Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Tue, 11 Jun 2024 04:48:05 +0530 Subject: [PATCH 045/283] readme update --- README.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 54242fd944..26b3d4a727 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,8 @@ OUTPUT: CONFIGURATIONS: -config string path to the nuclei configuration file + -tp, -profile string template profile config file to run + -tpl, -profile-list list community template profiles -fr, -follow-redirects enable following redirects for http templates -fhr, -follow-host-redirects follow redirects on the same host -mr, -max-redirects int max number of redirects to follow for http templates (default 10) @@ -208,10 +210,12 @@ CONFIGURATIONS: -i, -interface string network interface to use for network scan -at, -attack-type string type of payload combinations to perform (batteringram,pitchfork,clusterbomb) -sip, -source-ip string source ip address to use for network scan - -rsr, -response-size-read int max response size to read in bytes (default 10485760) + -rsr, -response-size-read int max response size to read in bytes -rss, -response-size-save int max response size to read in bytes (default 1048576) + -rrt, -response-read-timeout value response read timeout in seconds (default 5s) -reset reset removes all nuclei configuration and data files (including nuclei-templates) -tlsi, -tls-impersonate enable experimental client hello (ja3) tls randomization + -hae, -http-api-endpoint string experimental http api endpoint INTERACTSH: -iserver, -interactsh-server string interactsh server url for self-hosted instance (default: oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me) @@ -223,10 +227,13 @@ INTERACTSH: -ni, -no-interactsh disable interactsh server for OAST testing, exclude OAST based templates FUZZING: - -ft, -fuzzing-type string overrides fuzzing type set in template (replace, prefix, postfix, infix) - -fm, -fuzzing-mode string overrides fuzzing mode set in template (multiple, single) - -fuzz enable loading fuzzing templates (Deprecated: use -dast instead) - -dast only run DAST templates + -ft, -fuzzing-type string overrides fuzzing type set in template (replace, prefix, postfix, infix) + -fm, -fuzzing-mode string overrides fuzzing mode set in template (multiple, single) + -fuzz enable loading fuzzing templates (Deprecated: use -dast instead) + -dast enable / run dast (fuzz) nuclei templates + -dfp, -display-fuzz-points display fuzz points in the output for debugging + -fuzz-param-frequency int frequency of uninteresting parameters for fuzzing before skipping (default 10) + -fa, -fuzz-aggression string fuzzing aggression level controls payload count for fuzz (low, medium, high) (default "low") UNCOVER: -uc, -uncover enable uncover engine @@ -238,13 +245,15 @@ UNCOVER: RATE-LIMIT: -rl, -rate-limit int maximum number of requests to send per second (default 150) - -rlm, -rate-limit-minute int maximum number of requests to send per minute + -rld, -rate-limit-duration value maximum number of requests to send per second (default 1s) + -rlm, -rate-limit-minute int maximum number of requests to send per minute (DEPRECATED) -bs, -bulk-size int maximum number of hosts to be analyzed in parallel per template (default 25) -c, -concurrency int maximum number of templates to be executed in parallel (default 25) -hbs, -headless-bulk-size int maximum number of headless hosts to be analyzed in parallel per template (default 10) -headc, -headless-concurrency int maximum number of headless templates to be executed in parallel (default 10) -jsc, -js-concurrency int maximum number of javascript runtimes to be executed in parallel (default 120) -pc, -payload-concurrency int max payload concurrency for each template (default 25) + -prc, -probe-concurrency int http probe concurrency with httpx (default 50) OPTIMIZATIONS: -timeout int time to wait in seconds before timeout (default 10) From e13c7cc96703bc6ea687ed3bdaaafab53afcce0a Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Tue, 11 Jun 2024 12:21:43 +0200 Subject: [PATCH 046/283] testing fastdialer native --- go.mod | 10 ++--- go.sum | 8 ++++ .../common/hosterrorscache/hosterrorscache.go | 37 +++++++++---------- .../hosterrorscache/hosterrorscache_test.go | 8 +--- 4 files changed, 32 insertions(+), 31 deletions(-) diff --git a/go.mod b/go.mod index 07c36e7d95..c5e72d5dd8 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.0 - github.com/projectdiscovery/hmap v0.0.45 + github.com/projectdiscovery/fastdialer v0.1.4-0.20240611102108-26fe40135e03 + github.com/projectdiscovery/hmap v0.0.46 github.com/projectdiscovery/interactsh v1.1.9 github.com/projectdiscovery/rawhttp v0.1.51 - github.com/projectdiscovery/retryabledns v1.0.60 - github.com/projectdiscovery/retryablehttp-go v1.0.62 + github.com/projectdiscovery/retryabledns v1.0.63 + github.com/projectdiscovery/retryablehttp-go v1.0.63 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.54 - github.com/projectdiscovery/utils v0.1.0 + github.com/projectdiscovery/utils v0.1.3 github.com/projectdiscovery/wappalyzergo v0.1.1 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index ccdec0fcab..394f5fc481 100644 --- a/go.sum +++ b/go.sum @@ -834,6 +834,10 @@ github.com/projectdiscovery/dsl v0.1.0 h1:10xoL0V/btU646xH6ioGXKwrGt6grT+BIa6id1 github.com/projectdiscovery/dsl v0.1.0/go.mod h1:JgOjLk54Tl9HG98N2SM5OaKKJ/STpI7yDiKW5rhV+yg= github.com/projectdiscovery/fastdialer v0.1.0 h1:NiId7eXvYZjiBo83AnIZ6K8ZjzLJU8wGXdRLzuKcRrg= github.com/projectdiscovery/fastdialer v0.1.0/go.mod h1:jKOWzyHx+Q2sMiYst5HP6tWLQLDFPVgWBR72szn2h8w= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611101622-13e3136a3c59 h1:gHx3QQGu7My6SyN9PExd+fZ6XqnBfIIOazTlGz6wwts= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611101622-13e3136a3c59/go.mod h1:3UtgUb89y6V3EZ67Ih7IiqSufHZlZBs4t3mE8HpyA54= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611102108-26fe40135e03 h1:+wi5E9edG2M6OznZjnMtuGgRwaHx7AckVPu5zNCATE0= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611102108-26fe40135e03/go.mod h1:3UtgUb89y6V3EZ67Ih7IiqSufHZlZBs4t3mE8HpyA54= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -850,6 +854,7 @@ github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3c github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= github.com/projectdiscovery/hmap v0.0.45 h1:D3PinywmpDtIX2lc9bnqaRJoFDPCCxUf4RvHA3Gdr6U= github.com/projectdiscovery/hmap v0.0.45/go.mod h1:vJ7HYzhDnOjsEc9d43Q2pIWRJ5QvFXdObTTQvaUZaPk= +github.com/projectdiscovery/hmap v0.0.46/go.mod h1:QleSTt2HrokGNPpymUqb7PQ/2EEHEnaU5qKrrm51Va8= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.1.9 h1:b77SaSGrO+DtivmWwqGGY2dmNlQC3Zgmwlaj9L4Oqvc= @@ -872,8 +877,10 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.60 h1:f3TPeLnaJKrl9CbfsTfFTFnJY+UnyArH3mxxUUyR5ZQ= github.com/projectdiscovery/retryabledns v1.0.60/go.mod h1:T4Su40Wa9lVtRNMfMDFJi00g2T3FbTfwnKKkYON0WgU= +github.com/projectdiscovery/retryabledns v1.0.63/go.mod h1:lTs48OYJnMFuuBzT+3z3PrZ58K0OUBgP7Y4o3ttBwb0= github.com/projectdiscovery/retryablehttp-go v1.0.62 h1:ZY09NYRatoELHaPUcdRdWzHIJExjEqceHAfe7u/e9ZY= github.com/projectdiscovery/retryablehttp-go v1.0.62/go.mod h1:yhRy9Q3z0CuNUHIIPrveaubjVEwF4arKWT/5SQurQEE= +github.com/projectdiscovery/retryablehttp-go v1.0.63/go.mod h1:ytE1KGi63NFAyLzWqTwZJXwjAg7apgqTnJtaZeZ4qtM= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -886,6 +893,7 @@ github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQ github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= github.com/projectdiscovery/utils v0.1.0 h1:r7Z/s2CBktJ0bnSN410lzOhD8S/0IxmzmFxkQudYKps= github.com/projectdiscovery/utils v0.1.0/go.mod h1:RaBdJLTKF5FKZ/RtMeccqFBtpsSjaggVw6/oPTpDD40= +github.com/projectdiscovery/utils v0.1.3/go.mod h1:gny8RbNYXE55IoamF6thRDQ8tcJEw+r0FOGAvncz/oQ= github.com/projectdiscovery/wappalyzergo v0.1.1 h1:HDxuqawatylDiOlfJf4IsabS0wA/Iyvqm7Dn18TVGjU= github.com/projectdiscovery/wappalyzergo v0.1.1/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index badff95ddd..7eaf147f4b 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -1,6 +1,7 @@ package hosterrorscache import ( + "log" "net" "net/url" "regexp" @@ -8,7 +9,7 @@ import ( "sync" "sync/atomic" - "github.com/bluele/gcache" + "github.com/Mzack9999/gcache" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" @@ -37,7 +38,7 @@ var ( type Cache struct { MaxHostError int verbose bool - failedTargets gcache.Cache + failedTargets gcache.Cache[string, *cacheItem] TrackError []string } @@ -52,7 +53,7 @@ const DefaultMaxHostsCount = 10000 // New returns a new host max errors cache func New(maxHostError, maxHostsCount int, trackError []string) *Cache { - gc := gcache.New(maxHostsCount). + gc := gcache.New[string, *cacheItem](maxHostsCount). ARC(). Build() return &Cache{failedTargets: gc, MaxHostError: maxHostError, TrackError: trackError} @@ -67,11 +68,7 @@ func (c *Cache) SetVerbose(verbose bool) { func (c *Cache) Close() { if config.DefaultConfig.IsDebugArgEnabled(config.DebugArgHostErrorStats) { items := c.failedTargets.GetALL(false) - for k, v := range items { - val, ok := v.(*cacheItem) - if !ok { - continue - } + for k, val := range items { gologger.Info().Label("MaxHostErrorStats").Msgf("Host: %s, Errors: %d", k, val.errors.Load()) } } @@ -115,16 +112,15 @@ func (c *Cache) Check(ctx *contextargs.Context) bool { if err != nil { return false } - existingCacheItemValue := existingCacheItem.(*cacheItem) - if existingCacheItemValue.isPermanentErr { + if existingCacheItem.isPermanentErr { // skipping permanent errors is expected so verbose instead of info - gologger.Verbose().Msgf("Skipped %s from target list as found unresponsive permanently: %s", finalValue, existingCacheItemValue.cause) + gologger.Verbose().Msgf("Skipped %s from target list as found unresponsive permanently: %s", finalValue, existingCacheItem.cause) return true } - if existingCacheItemValue.errors.Load() >= int32(c.MaxHostError) { - existingCacheItemValue.Do(func() { - gologger.Info().Msgf("Skipped %s from target list as found unresponsive %d times", finalValue, existingCacheItemValue.errors.Load()) + if existingCacheItem.errors.Load() >= int32(c.MaxHostError) { + existingCacheItem.Do(func() { + gologger.Info().Msgf("Skipped %s from target list as found unresponsive %d times", finalValue, existingCacheItem.errors.Load()) }) return true } @@ -133,6 +129,7 @@ func (c *Cache) Check(ctx *contextargs.Context) bool { // MarkFailed marks a host as failed previously func (c *Cache) MarkFailed(ctx *contextargs.Context, err error) { + log.Printf("%#+v", err) if !c.checkError(err) { return } @@ -151,9 +148,8 @@ func (c *Cache) MarkFailed(ctx *contextargs.Context, err error) { _ = c.failedTargets.Set(finalValue, newItem) return } - existingCacheItemValue := existingCacheItem.(*cacheItem) - existingCacheItemValue.errors.Add(1) - _ = c.failedTargets.Set(finalValue, existingCacheItemValue) + existingCacheItem.errors.Add(1) + _ = c.failedTargets.Set(finalValue, existingCacheItem) } // GetKeyFromContext returns the key for the cache from the context @@ -186,10 +182,11 @@ func (c *Cache) checkError(err error) bool { return false } + // todo: fixed in fastdialer - ref: https://github.com/projectdiscovery/fastdialer/pull/301 // we do not consider timeouts as temporary - if strings.Contains(errkit.FromError(err).Cause().Error(), "i/o timeout") { - return true - } + // if strings.Contains(errkit.FromError(err).Cause().Error(), "i/o timeout") { + // return true + // } kind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic) switch kind { diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go index 6fd04b475b..112690d875 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go @@ -91,9 +91,7 @@ func TestCacheMarkFailed(t *testing.T) { require.Nil(t, err) require.NotNil(t, failedTarget) - value, ok := failedTarget.(*cacheItem) - require.True(t, ok) - require.EqualValues(t, test.expected, value.errors.Load()) + require.EqualValues(t, test.expected, failedTarget.errors.Load()) } } @@ -138,9 +136,7 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { require.Nil(t, err) require.NotNil(t, failedTarget) - value, ok := failedTarget.(*cacheItem) - require.True(t, ok) - require.EqualValues(t, test.expected, value.errors.Load()) + require.EqualValues(t, test.expected, failedTarget.errors.Load()) } } From 9f1414e3e8331a5dbdaf0a3cff05e224921f6fb2 Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Tue, 11 Jun 2024 13:38:28 +0200 Subject: [PATCH 047/283] . --- go.mod | 8 +++++--- go.sum | 10 ++++------ internal/runner/options.go | 7 +++---- pkg/core/execute_options.go | 2 +- pkg/installer/versioncheck.go | 2 ++ .../common/hosterrorscache/hosterrorscache.go | 2 -- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 2ff5eb1e4c..139240a98e 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,8 @@ module github.com/projectdiscovery/nuclei/v3 go 1.21 +replace github.com/projectdiscovery/fastdialer => C:\\Users\\marco\\go\\src\\github.com\\projectdiscovery\\fastdialer + require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible github.com/andygrunwald/go-jira v1.16.0 @@ -20,12 +22,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.4-0.20240611102108-26fe40135e03 + github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e github.com/projectdiscovery/hmap v0.0.46 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 github.com/projectdiscovery/retryabledns v1.0.63 - github.com/projectdiscovery/retryablehttp-go v1.0.63 + github.com/projectdiscovery/retryablehttp-go v1.0.64 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -94,7 +96,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.54 - github.com/projectdiscovery/utils v0.1.3 + github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c github.com/projectdiscovery/wappalyzergo v0.1.4 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index c68da12894..8d1b346841 100644 --- a/go.sum +++ b/go.sum @@ -832,8 +832,6 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= -github.com/projectdiscovery/fastdialer v0.1.4-0.20240611102108-26fe40135e03 h1:+wi5E9edG2M6OznZjnMtuGgRwaHx7AckVPu5zNCATE0= -github.com/projectdiscovery/fastdialer v0.1.4-0.20240611102108-26fe40135e03/go.mod h1:3UtgUb89y6V3EZ67Ih7IiqSufHZlZBs4t3mE8HpyA54= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -872,8 +870,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.63 h1:Ijt47ybwf+iIwul606NlPKPN+ouhOYPeA9sLHVgqLG4= github.com/projectdiscovery/retryabledns v1.0.63/go.mod h1:lTs48OYJnMFuuBzT+3z3PrZ58K0OUBgP7Y4o3ttBwb0= -github.com/projectdiscovery/retryablehttp-go v1.0.63 h1:y/MpWrAO7702ybOLo/OuyAx6bZ6NJVEf85mGMAU51l8= -github.com/projectdiscovery/retryablehttp-go v1.0.63/go.mod h1:ytE1KGi63NFAyLzWqTwZJXwjAg7apgqTnJtaZeZ4qtM= +github.com/projectdiscovery/retryablehttp-go v1.0.64 h1:90VkUuWKm/JW5Tym0u+N1qseKe4gC5Rp048VJBLcxv8= +github.com/projectdiscovery/retryablehttp-go v1.0.64/go.mod h1:fXVLBcwKwBrCVEgi3FrbLPtSTIczyJEKIlp1WD6VTI0= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -884,8 +882,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQXEU7TIBly2Fc= github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= -github.com/projectdiscovery/utils v0.1.3 h1:yhHkrbYZA1eOO8e+fPDUvRMS5aUIalyM3Nab7rK4tpg= -github.com/projectdiscovery/utils v0.1.3/go.mod h1:gny8RbNYXE55IoamF6thRDQ8tcJEw+r0FOGAvncz/oQ= +github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c h1:0I/iRtu5nPYle1v8/R33pCLOrH5bziP5Bi0eZURxTQY= +github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= github.com/projectdiscovery/wappalyzergo v0.1.4 h1:Q0j5t/c74DlPKRvGYLZFv8npTA7MBW9uwdlsMBn/Yh4= github.com/projectdiscovery/wappalyzergo v0.1.4/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= diff --git a/internal/runner/options.go b/internal/runner/options.go index 3d36f51123..ebb49fff7e 100644 --- a/internal/runner/options.go +++ b/internal/runner/options.go @@ -32,7 +32,6 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/utils/yaml" fileutil "github.com/projectdiscovery/utils/file" "github.com/projectdiscovery/utils/generic" - logutil "github.com/projectdiscovery/utils/log" stringsutil "github.com/projectdiscovery/utils/strings" ) @@ -322,9 +321,6 @@ func createReportingOptions(options *types.Options) (*reporting.Options, error) // configureOutput configures the output logging levels to be displayed on the screen func configureOutput(options *types.Options) { - // disable standard logger (ref: https://github.com/golang/go/issues/19895) - defer logutil.DisableDefaultLogger() - if options.NoColor { gologger.DefaultLogger.SetFormatter(formatter.NewCLI(true)) } @@ -343,6 +339,9 @@ func configureOutput(options *types.Options) { if options.Silent { gologger.DefaultLogger.SetMaxLevel(levels.LevelSilent) } + + // disable standard logger (ref: https://github.com/golang/go/issues/19895) + // logutil.DisableDefaultLogger() } // loadResolvers loads resolvers from both user-provided flags and file diff --git a/pkg/core/execute_options.go b/pkg/core/execute_options.go index 4d27b5f660..a9d97f775b 100644 --- a/pkg/core/execute_options.go +++ b/pkg/core/execute_options.go @@ -84,7 +84,7 @@ func (e *Engine) ExecuteScanWithOpts(ctx context.Context, templatesList []*templ } // Execute All SelfContained in parallel - e.executeAllSelfContained(ctx, selfContained, results, selfcontainedWg) + // e.executeAllSelfContained(ctx, selfContained, results, selfcontainedWg) strategyResult := &atomic.Bool{} switch e.options.ScanStrategy { diff --git a/pkg/installer/versioncheck.go b/pkg/installer/versioncheck.go index 7e2e82d6ff..7709ed74f4 100644 --- a/pkg/installer/versioncheck.go +++ b/pkg/installer/versioncheck.go @@ -68,6 +68,7 @@ func getpdtmParams(isSDK bool) string { // UpdateIgnoreFile updates default ignore file by downloading latest ignore file func UpdateIgnoreFile() error { + return nil resp, err := retryableHttpClient.Get(pdtmNucleiIgnoreFileEndpoint + "?" + getpdtmParams(false)) if err != nil { return err @@ -83,6 +84,7 @@ func UpdateIgnoreFile() error { } func doVersionCheck(isSDK bool) error { + return nil // we use global retryablehttp client so its not immeditely gc'd if any references are held // and according our config we have idle connections which are shown as leaked by goleak in tests // i.e we close all idle connections after our use and it doesn't affect any other part of the code diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index 7eaf147f4b..21603394c2 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -1,7 +1,6 @@ package hosterrorscache import ( - "log" "net" "net/url" "regexp" @@ -129,7 +128,6 @@ func (c *Cache) Check(ctx *contextargs.Context) bool { // MarkFailed marks a host as failed previously func (c *Cache) MarkFailed(ctx *contextargs.Context, err error) { - log.Printf("%#+v", err) if !c.checkError(err) { return } From bc16ae85aeb7fdd998686288ebd1026abe20c32a Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Tue, 11 Jun 2024 13:39:21 +0200 Subject: [PATCH 048/283] . --- go.mod | 2 -- go.sum | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 139240a98e..4e6ad4257c 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,6 @@ module github.com/projectdiscovery/nuclei/v3 go 1.21 -replace github.com/projectdiscovery/fastdialer => C:\\Users\\marco\\go\\src\\github.com\\projectdiscovery\\fastdialer - require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible github.com/andygrunwald/go-jira v1.16.0 diff --git a/go.sum b/go.sum index 8d1b346841..2dcf0cd0d7 100644 --- a/go.sum +++ b/go.sum @@ -832,6 +832,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e h1:wqcy/9pcENeE7bp97gXzq4hfx+lQuWbl68/U28IR70A= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= From ac0107c24202a009db8e3b5a7c37db4e786072f3 Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Tue, 11 Jun 2024 14:58:58 +0200 Subject: [PATCH 049/283] revert --- internal/runner/options.go | 3 ++- pkg/core/execute_options.go | 2 +- pkg/installer/versioncheck.go | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/runner/options.go b/internal/runner/options.go index ebb49fff7e..8798c73113 100644 --- a/internal/runner/options.go +++ b/internal/runner/options.go @@ -32,6 +32,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/utils/yaml" fileutil "github.com/projectdiscovery/utils/file" "github.com/projectdiscovery/utils/generic" + logutil "github.com/projectdiscovery/utils/log" stringsutil "github.com/projectdiscovery/utils/strings" ) @@ -341,7 +342,7 @@ func configureOutput(options *types.Options) { } // disable standard logger (ref: https://github.com/golang/go/issues/19895) - // logutil.DisableDefaultLogger() + logutil.DisableDefaultLogger() } // loadResolvers loads resolvers from both user-provided flags and file diff --git a/pkg/core/execute_options.go b/pkg/core/execute_options.go index a9d97f775b..4d27b5f660 100644 --- a/pkg/core/execute_options.go +++ b/pkg/core/execute_options.go @@ -84,7 +84,7 @@ func (e *Engine) ExecuteScanWithOpts(ctx context.Context, templatesList []*templ } // Execute All SelfContained in parallel - // e.executeAllSelfContained(ctx, selfContained, results, selfcontainedWg) + e.executeAllSelfContained(ctx, selfContained, results, selfcontainedWg) strategyResult := &atomic.Bool{} switch e.options.ScanStrategy { diff --git a/pkg/installer/versioncheck.go b/pkg/installer/versioncheck.go index 7709ed74f4..b06f56f1c1 100644 --- a/pkg/installer/versioncheck.go +++ b/pkg/installer/versioncheck.go @@ -68,7 +68,6 @@ func getpdtmParams(isSDK bool) string { // UpdateIgnoreFile updates default ignore file by downloading latest ignore file func UpdateIgnoreFile() error { - return nil resp, err := retryableHttpClient.Get(pdtmNucleiIgnoreFileEndpoint + "?" + getpdtmParams(false)) if err != nil { return err @@ -84,11 +83,11 @@ func UpdateIgnoreFile() error { } func doVersionCheck(isSDK bool) error { - return nil // we use global retryablehttp client so its not immeditely gc'd if any references are held // and according our config we have idle connections which are shown as leaked by goleak in tests // i.e we close all idle connections after our use and it doesn't affect any other part of the code defer retryableHttpClient.HTTPClient.CloseIdleConnections() + resp, err := retryableHttpClient.Get(pdtmNucleiVersionEndpoint + "?" + getpdtmParams(isSDK)) if err != nil { return err From 61f391ee8a154913ee79f57dc8cf3a73d00f3668 Mon Sep 17 00:00:00 2001 From: mzack Date: Wed, 12 Jun 2024 00:34:45 +0200 Subject: [PATCH 050/283] . --- go.mod | 2 +- go.sum | 2 ++ pkg/protocols/common/hosterrorscache/hosterrorscache.go | 8 +------- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index 4e6ad4257c..53744224d2 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e + github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13 github.com/projectdiscovery/hmap v0.0.46 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 diff --git a/go.sum b/go.sum index 2dcf0cd0d7..8ed1a24422 100644 --- a/go.sum +++ b/go.sum @@ -834,6 +834,8 @@ github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e h1:wqcy/9pcENeE7bp97gXzq4hfx+lQuWbl68/U28IR70A= github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13 h1:mAehxpgxmvFrKcQ8taA3xQskp3gg6GayAgatTAn37bg= +github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index 21603394c2..38a7ff3290 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -180,12 +180,6 @@ func (c *Cache) checkError(err error) bool { return false } - // todo: fixed in fastdialer - ref: https://github.com/projectdiscovery/fastdialer/pull/301 - // we do not consider timeouts as temporary - // if strings.Contains(errkit.FromError(err).Cause().Error(), "i/o timeout") { - // return true - // } - kind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic) switch kind { case nucleierr.ErrTemplateLogic: @@ -202,7 +196,7 @@ func (c *Cache) checkError(err error) bool { // these should not be counted as host errors return false default: - // parse error for furthur processing + // parse error for further processing errX := errkit.FromError(err) tmp := errX.Cause() cause := tmp.Error() From 5fd3f0f65d8c02bf97148622bb984d35dab797b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 23:03:10 +0000 Subject: [PATCH 051/283] chore(deps): bump github.com/projectdiscovery/ratelimit Bumps [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) from 0.0.43 to 0.0.45. - [Release notes](https://github.com/projectdiscovery/ratelimit/releases) - [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.43...v0.0.45) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/ratelimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 53744224d2..700d6c1917 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,7 @@ require ( github.com/projectdiscovery/httpx v1.6.3 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.43 + github.com/projectdiscovery/ratelimit v0.0.45 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 diff --git a/go.sum b/go.sum index 8ed1a24422..57abd0af50 100644 --- a/go.sum +++ b/go.sum @@ -832,8 +832,6 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= -github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e h1:wqcy/9pcENeE7bp97gXzq4hfx+lQuWbl68/U28IR70A= -github.com/projectdiscovery/fastdialer v0.1.4-0.20240611113719-19b2fb64716e/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13 h1:mAehxpgxmvFrKcQ8taA3xQskp3gg6GayAgatTAn37bg= github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= @@ -866,8 +864,8 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7x7gHm028TJ5XwI8= github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= -github.com/projectdiscovery/ratelimit v0.0.43 h1:9yYCnF+NW/vIRVmyvmyCsIph9Z3nsCDka2BrRciDg4c= -github.com/projectdiscovery/ratelimit v0.0.43/go.mod h1:pWKRf/OY4uKtjelBLS5G3mclgvlwpBtbjcYpxdLQsL0= +github.com/projectdiscovery/ratelimit v0.0.45 h1:h28oF+hJ0CHcdBZozT1Go7ppWmzTxSXDKNNh2G1Ot9Q= +github.com/projectdiscovery/ratelimit v0.0.45/go.mod h1:1vSJUseDS7SjNwIBi9wNRcgsMKNTLxy/GfdlLFVbgI4= github.com/projectdiscovery/rawhttp v0.1.51 h1:T4sskU2fsX9zNR7nyae0tD/0fliIs73KwBzyoJwBs10= github.com/projectdiscovery/rawhttp v0.1.51/go.mod h1:ejBaw3dCfJSfbtFv0ib6YfFSjQzt7ZdRVpQWJASxIUs= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= From 27eedc0ac68a485045c81b06aa9140adbc7f0735 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 23:37:17 +0000 Subject: [PATCH 052/283] chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go) from 1.3.0 to 1.6.0. - [Release notes](https://github.com/Azure/azure-sdk-for-go/releases) - [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md) - [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.3.0...sdk/azcore/v1.6.0) --- updated-dependencies: - dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- go.mod | 25 +++++++++++++------------ go.sum | 48 +++++++++++++++++++++++++++--------------------- 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/go.mod b/go.mod index 700d6c1917..6970a332a2 100644 --- a/go.mod +++ b/go.mod @@ -38,15 +38,15 @@ require ( github.com/weppos/publicsuffix-go v0.30.2 github.com/xanzy/go-gitlab v0.84.0 go.uber.org/multierr v1.11.0 - golang.org/x/net v0.25.0 + golang.org/x/net v0.26.0 golang.org/x/oauth2 v0.18.0 - golang.org/x/text v0.15.0 + golang.org/x/text v0.16.0 gopkg.in/yaml.v2 v2.4.0 ) require ( code.gitea.io/sdk/gitea v0.17.0 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 github.com/DataDog/gostackparse v0.6.0 github.com/Masterminds/semver/v3 v3.2.1 @@ -101,7 +101,7 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 - golang.org/x/term v0.20.0 + golang.org/x/term v0.21.0 gopkg.in/yaml.v3 v3.0.1 moul.io/http2curl v1.0.0 ) @@ -109,11 +109,11 @@ require ( require ( aead.dev/minisign v0.2.0 // indirect dario.cat/mergo v1.0.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/andybalholm/brotli v1.1.0 // indirect @@ -156,6 +156,7 @@ require ( github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/google/certificate-transparency-go v1.1.4 // indirect @@ -197,7 +198,7 @@ require ( github.com/perimeterx/marshmallow v1.1.5 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect - github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/projectdiscovery/asnmap v1.1.0 // indirect github.com/projectdiscovery/cdncheck v1.0.9 // indirect github.com/projectdiscovery/freeport v0.0.5 // indirect @@ -263,7 +264,7 @@ require ( github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.3.1 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.2 // indirect @@ -301,12 +302,12 @@ require ( go.etcd.io/bbolt v1.3.10 // indirect go.uber.org/zap v1.25.0 // indirect goftp.io/server/v2 v2.0.1 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 golang.org/x/mod v0.17.0 // indirect - golang.org/x/sys v0.20.0 // indirect + golang.org/x/sys v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.0 + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d google.golang.org/appengine v1.6.8 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect diff --git a/go.sum b/go.sum index 57abd0af50..a3702b0fdb 100644 --- a/go.sum +++ b/go.sum @@ -41,14 +41,14 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 git.mills.io/prologic/smtpd v0.0.0-20210710122116-a525b76c287a h1:3i+FJ7IpSZHL+VAjtpQeZCRhrpP0odl5XfoLBY4fxJ8= git.mills.io/prologic/smtpd v0.0.0-20210710122116-a525b76c287a/go.mod h1:C7hXLmFmPYPjIDGfQl1clsmQ5TMEQfmzWTrJk475bUs= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0 h1:8q4SaHjFsClSvuVne0ID/5Ka8u3fcIHyqkLjcFpNRHQ= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0 h1:vcYCAze6p19qBW7MhZybIsqD8sMV8js0NyQM8JDnVtg= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0/go.mod h1:OQeznEEkTZ9OrhHJoDD8ZDq51FHgXjqtP9z6bEwBq9U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 h1:U2rTu3Ef+7w9FHKIAXM6ZyqF3UOWJZ12zIm8zECAFfg= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0 h1:Ma67P/GGprNwsslzEH6+Kb8nybI8jpDTm4Wmzu2ReK8= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0/go.mod h1:c+Lifp3EDEamAkPVzMooRNOK6CZjNSdEnf1A7jsI9u4= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 h1:nVocQV40OQne5613EeLayJiRAJuKlBGy+m22qWG+WRg= @@ -57,8 +57,8 @@ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25 github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0 h1:OBhqkivkhkMqLPymWEppkm7vgPQY2XsHoEkaMQ0AdZY= -github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/gostackparse v0.6.0 h1:egCGQviIabPwsyoWpGvIBGrEnNWez35aEO7OJ1vBI4o= @@ -273,7 +273,6 @@ github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwu github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= @@ -416,6 +415,8 @@ github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzq github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= +github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= @@ -501,8 +502,8 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= @@ -808,8 +809,8 @@ github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFu github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -1183,8 +1184,9 @@ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1278,8 +1280,9 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1356,7 +1359,6 @@ golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1371,6 +1373,7 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1380,8 +1383,9 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1393,8 +1397,9 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1410,8 +1415,9 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1469,8 +1475,8 @@ golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 1e85e70d990cb463beb0e860fe4511c2605f90c1 Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Thu, 13 Jun 2024 17:24:07 +0200 Subject: [PATCH 053/283] removed as recommended --- lib/multi.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/multi.go b/lib/multi.go index a441c73fbe..44c13ddfe6 100644 --- a/lib/multi.go +++ b/lib/multi.go @@ -128,7 +128,7 @@ func (e *ThreadSafeNucleiEngine) ExecuteNucleiWithOptsCtx(ctx context.Context, t return err } } - defer tmpEngine.closeInternal() + // create ephemeral nuclei objects/instances/types using base nuclei engine unsafeOpts, err := createEphemeralObjects(ctx, e.eng, tmpEngine.opts) if err != nil { From baf7e366585f070aef14f73853685e1aae377f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Mar=C3=ADn?= Date: Fri, 14 Jun 2024 20:24:52 +0200 Subject: [PATCH 054/283] issue 5212 timeout added to trace and error logs using ts switch (#5292) --- pkg/output/output.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkg/output/output.go b/pkg/output/output.go index 449b73a2d1..8044c0aed9 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -304,13 +304,14 @@ func (w *StandardWriter) Write(event *ResultEvent) error { // JSONLogRequest is a trace/error log request written to file type JSONLogRequest struct { - Template string `json:"template"` - Type string `json:"type"` - Input string `json:"input"` - Address string `json:"address"` - Error string `json:"error"` - Kind string `json:"kind,omitempty"` - Attrs interface{} `json:"attrs,omitempty"` + Template string `json:"template"` + Type string `json:"type"` + Input string `json:"input"` + Timestamp *time.Time `json:"timestamp,omitempty"` + Address string `json:"address"` + Error string `json:"error"` + Kind string `json:"kind,omitempty"` + Attrs interface{} `json:"attrs,omitempty"` } // Request writes a log the requests trace log @@ -323,6 +324,10 @@ func (w *StandardWriter) Request(templatePath, input, requestType string, reques Input: input, Type: requestType, } + if w.timestamp { + ts := time.Now() + request.Timestamp = &ts + } parsed, _ := urlutil.ParseAbsoluteURL(input, false) if parsed != nil { request.Address = parsed.Hostname() From 8b3379aa4c18b3b841dc13ca91a4860aa16b10c5 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sun, 16 Jun 2024 03:18:01 +0530 Subject: [PATCH 055/283] add team-id env input support (#5295) --- internal/pdcp/writer.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/pdcp/writer.go b/internal/pdcp/writer.go index 6e05410355..5dfda78ca2 100644 --- a/internal/pdcp/writer.go +++ b/internal/pdcp/writer.go @@ -18,6 +18,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/retryablehttp-go" pdcpauth "github.com/projectdiscovery/utils/auth/pdcp" + "github.com/projectdiscovery/utils/env" errorutil "github.com/projectdiscovery/utils/errors" unitutils "github.com/projectdiscovery/utils/unit" updateutils "github.com/projectdiscovery/utils/update" @@ -30,11 +31,14 @@ const ( flushTimer = time.Minute MaxChunkSize = 4 * unitutils.Mega // 4 MB xidRe = `^[a-z0-9]{20}$` + teamIDHeader = "X-Team-Id" ) var ( xidRegex = regexp.MustCompile(xidRe) _ output.Writer = &UploadWriter{} + // teamID if given + teamID = env.GetEnvOrDefault("PDCP_TEAM_ID", "") ) // UploadWriter is a writer that uploads its output to pdcp @@ -244,6 +248,9 @@ func (u *UploadWriter) getRequest(bin []byte) (*retryablehttp.Request, error) { req.URL.Update() req.Header.Set(pdcpauth.ApiKeyHeaderName, u.creds.APIKey) + if teamID != "" { + req.Header.Set(teamIDHeader, teamID) + } req.Header.Set("Content-Type", "application/octet-stream") req.Header.Set("Accept", "application/json") return req, nil From 9f1faa0a29a64904ecc3b0f4752e5e85ed86f734 Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Sun, 16 Jun 2024 01:00:21 +0300 Subject: [PATCH 056/283] fix jira nil deref err (#5283) --- pkg/reporting/trackers/jira/jira.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/reporting/trackers/jira/jira.go b/pkg/reporting/trackers/jira/jira.go index 0b8f27fc5b..1fd2895f13 100644 --- a/pkg/reporting/trackers/jira/jira.go +++ b/pkg/reporting/trackers/jira/jira.go @@ -16,6 +16,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/reporting/format" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/filters" "github.com/projectdiscovery/retryablehttp-go" + "github.com/projectdiscovery/utils/ptr" ) type Formatter struct { @@ -147,13 +148,13 @@ func (i *Integration) CreateNewIssue(event *output.ResultEvent) (*filters.Create nestedValue = strings.TrimPrefix(fmtNestedValue, "$") switch nestedValue { case "CVSSMetrics": - nestedValue = event.Info.Classification.CVSSMetrics + nestedValue = ptr.Safe(event.Info.Classification).CVSSMetrics case "CVEID": - nestedValue = event.Info.Classification.CVEID + nestedValue = ptr.Safe(event.Info.Classification).CVEID case "CWEID": - nestedValue = event.Info.Classification.CWEID + nestedValue = ptr.Safe(event.Info.Classification).CWEID case "CVSSScore": - nestedValue = event.Info.Classification.CVSSScore + nestedValue = ptr.Safe(event.Info.Classification).CVSSScore case "Host": nestedValue = event.Host case "Severity": From 4720d8c8ec0acf52d2b2cf4d534cbee59323d325 Mon Sep 17 00:00:00 2001 From: map1e Date: Sun, 16 Jun 2024 06:35:08 +0800 Subject: [PATCH 057/283] fix: types.RequestResponse url field UnmarshalJSON bug (#5267) * fix: types.RequestResponse url field UnmarshalJSON bug * use UnmarshalJSON method in test * add http unmarshal json test case --- pkg/input/types/http.go | 8 ++++++-- pkg/input/types/http_test.go | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/pkg/input/types/http.go b/pkg/input/types/http.go index dbc5c9e325..0620d85f8c 100644 --- a/pkg/input/types/http.go +++ b/pkg/input/types/http.go @@ -123,11 +123,15 @@ func (rr *RequestResponse) UnmarshalJSON(data []byte) error { if err := json.Unmarshal(data, &m); err != nil { return err } - urlStr, ok := m["url"] + urlStrRaw, ok := m["url"] if !ok { return fmt.Errorf("missing url in request response") } - parsed, err := urlutil.ParseAbsoluteURL(string(urlStr), false) + var urlStr string + if err := json.Unmarshal(urlStrRaw, &urlStr); err != nil { + return err + } + parsed, err := urlutil.ParseAbsoluteURL(urlStr, false) if err != nil { return err } diff --git a/pkg/input/types/http_test.go b/pkg/input/types/http_test.go index d674c56353..9525c516e0 100644 --- a/pkg/input/types/http_test.go +++ b/pkg/input/types/http_test.go @@ -65,3 +65,26 @@ func TestParseHttpRequest(t *testing.T) { }) } } + +func TestUnmarshalJSON(t *testing.T) { + tests := []struct { + name string + rawJSONStr string + expectedURLStr string + }{ + {"basic url", `{"url": "example.com"}`, "example.com"}, + {"basic url with scheme", `{"url": "http://example.com"}`, "http://example.com"}, + } + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + var rr RequestResponse + err := rr.UnmarshalJSON([]byte(tc.rawJSONStr)) + if err != nil { + t.Fatal(err) + } + if tc.expectedURLStr != "" { + require.Equal(t, rr.URL.String(), tc.expectedURLStr) + } + }) + } +} From 0eddafe2a96eb4c098b2abb3a741d625fc219e5a Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Sun, 16 Jun 2024 04:27:31 +0530 Subject: [PATCH 058/283] Fix tempalte-id validation (#5261) * Fix tempalte-id validation * Add checks to mandatory fields * misc update --- pkg/templates/templates.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/templates/templates.go b/pkg/templates/templates.go index 6403c2767a..045f947c68 100644 --- a/pkg/templates/templates.go +++ b/pkg/templates/templates.go @@ -23,6 +23,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/websocket" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/whois" "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" + "github.com/projectdiscovery/nuclei/v3/pkg/utils" "github.com/projectdiscovery/nuclei/v3/pkg/workflows" errorutil "github.com/projectdiscovery/utils/errors" fileutil "github.com/projectdiscovery/utils/file" @@ -326,6 +327,17 @@ func (template *Template) UnmarshalYAML(unmarshal func(interface{}) error) error } *template = Template(*alias) + if !ReTemplateID.MatchString(template.ID) { + return errorutil.New("template id must match expression %v", ReTemplateID).WithTag("invalid template") + } + info := template.Info + if utils.IsBlank(info.Name) { + return errorutil.New("no template name field provided").WithTag("invalid template") + } + if info.Authors.IsEmpty() { + return errorutil.New("no template author field provided").WithTag("invalid template") + } + if len(template.RequestsHTTP) > 0 || len(template.RequestsNetwork) > 0 { _ = deprecatedProtocolNameTemplates.Set(template.ID, true) } From b274fe5ed126a06f72e6ca6b797296edb5f9e211 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Sun, 16 Jun 2024 04:47:59 +0530 Subject: [PATCH 059/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index bfd95f1b88..0ee9f437bb 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.2.8` + Version = `v3.2.9` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From f8842b1f04312a69de0fbbcbd7faa03b63c14e4b Mon Sep 17 00:00:00 2001 From: Ice3man Date: Sun, 16 Jun 2024 19:14:43 +0530 Subject: [PATCH 060/283] fix: fixed individual per tracker reporting filters (#5297) * fix: fixed individual per tracker reporting filters * added test case --- pkg/reporting/reporting.go | 2 +- pkg/reporting/trackers/gitea/gitea.go | 6 ++--- pkg/reporting/trackers/github/github.go | 6 ++--- pkg/reporting/trackers/gitlab/gitlab.go | 6 ++--- pkg/reporting/trackers/jira/jira.go | 6 ++--- pkg/reporting/trackers/jira/jira_test.go | 34 ++++++++++++++++++++++++ 6 files changed, 47 insertions(+), 13 deletions(-) diff --git a/pkg/reporting/reporting.go b/pkg/reporting/reporting.go index 08f32e9313..172c31105e 100644 --- a/pkg/reporting/reporting.go +++ b/pkg/reporting/reporting.go @@ -273,7 +273,7 @@ func (c *ReportingClient) CreateIssue(event *output.ResultEvent) error { for _, tracker := range c.trackers { // process tracker specific allow/deny list - if tracker.ShouldFilter(event) { + if !tracker.ShouldFilter(event) { continue } diff --git a/pkg/reporting/trackers/gitea/gitea.go b/pkg/reporting/trackers/gitea/gitea.go index acb82a1de2..e433689c74 100644 --- a/pkg/reporting/trackers/gitea/gitea.go +++ b/pkg/reporting/trackers/gitea/gitea.go @@ -139,15 +139,15 @@ func (i *Integration) CloseIssue(event *output.ResultEvent) error { // ShouldFilter determines if an issue should be logged to this tracker func (i *Integration) ShouldFilter(event *output.ResultEvent) bool { - if i.options.AllowList != nil && i.options.AllowList.GetMatch(event) { + if i.options.AllowList != nil && !i.options.AllowList.GetMatch(event) { return false } if i.options.DenyList != nil && i.options.DenyList.GetMatch(event) { - return true + return false } - return false + return true } func (i *Integration) findIssueByTitle(title string) (*gitea.Issue, error) { diff --git a/pkg/reporting/trackers/github/github.go b/pkg/reporting/trackers/github/github.go index 44c06102ca..8011d8da53 100644 --- a/pkg/reporting/trackers/github/github.go +++ b/pkg/reporting/trackers/github/github.go @@ -175,15 +175,15 @@ func (i *Integration) Name() string { // ShouldFilter determines if an issue should be logged to this tracker func (i *Integration) ShouldFilter(event *output.ResultEvent) bool { - if i.options.AllowList != nil && i.options.AllowList.GetMatch(event) { + if i.options.AllowList != nil && !i.options.AllowList.GetMatch(event) { return false } if i.options.DenyList != nil && i.options.DenyList.GetMatch(event) { - return true + return false } - return false + return true } func (i *Integration) findIssueByTitle(ctx context.Context, title string) (*github.Issue, error) { diff --git a/pkg/reporting/trackers/gitlab/gitlab.go b/pkg/reporting/trackers/gitlab/gitlab.go index 769165ad48..d816a26af6 100644 --- a/pkg/reporting/trackers/gitlab/gitlab.go +++ b/pkg/reporting/trackers/gitlab/gitlab.go @@ -164,13 +164,13 @@ func (i *Integration) CloseIssue(event *output.ResultEvent) error { // ShouldFilter determines if an issue should be logged to this tracker func (i *Integration) ShouldFilter(event *output.ResultEvent) bool { - if i.options.AllowList != nil && i.options.AllowList.GetMatch(event) { + if i.options.AllowList != nil && !i.options.AllowList.GetMatch(event) { return false } if i.options.DenyList != nil && i.options.DenyList.GetMatch(event) { - return true + return false } - return false + return true } diff --git a/pkg/reporting/trackers/jira/jira.go b/pkg/reporting/trackers/jira/jira.go index 1fd2895f13..5499445c87 100644 --- a/pkg/reporting/trackers/jira/jira.go +++ b/pkg/reporting/trackers/jira/jira.go @@ -315,13 +315,13 @@ func (i *Integration) FindExistingIssue(event *output.ResultEvent) (jira.Issue, // ShouldFilter determines if an issue should be logged to this tracker func (i *Integration) ShouldFilter(event *output.ResultEvent) bool { - if i.options.AllowList != nil && i.options.AllowList.GetMatch(event) { + if i.options.AllowList != nil && !i.options.AllowList.GetMatch(event) { return false } if i.options.DenyList != nil && i.options.DenyList.GetMatch(event) { - return true + return false } - return false + return true } diff --git a/pkg/reporting/trackers/jira/jira_test.go b/pkg/reporting/trackers/jira/jira_test.go index 247a440c58..d725a97b29 100644 --- a/pkg/reporting/trackers/jira/jira_test.go +++ b/pkg/reporting/trackers/jira/jira_test.go @@ -4,6 +4,10 @@ import ( "strings" "testing" + "github.com/projectdiscovery/nuclei/v3/pkg/model" + "github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity" + "github.com/projectdiscovery/nuclei/v3/pkg/output" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/filters" "github.com/stretchr/testify/require" ) @@ -36,3 +40,33 @@ func TestTableCreation(t *testing.T) { ` require.Equal(t, expected, table) } + +func Test_ShouldFilter_Tracker(t *testing.T) { + jiraIntegration := &Integration{ + options: &Options{AllowList: &filters.Filter{ + Severities: severity.Severities{severity.Critical}, + }}, + } + + require.False(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{ + SeverityHolder: severity.Holder{Severity: severity.Info}, + }})) + require.True(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{ + SeverityHolder: severity.Holder{Severity: severity.Critical}, + }})) + + t.Run("deny-list", func(t *testing.T) { + jiraIntegration := &Integration{ + options: &Options{DenyList: &filters.Filter{ + Severities: severity.Severities{severity.Critical}, + }}, + } + + require.True(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{ + SeverityHolder: severity.Holder{Severity: severity.Info}, + }})) + require.False(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{ + SeverityHolder: severity.Holder{Severity: severity.Critical}, + }})) + }) +} From 930f9ab02d5605f5d834804e52fdb308e1776acf Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Sun, 16 Jun 2024 18:57:58 +0400 Subject: [PATCH 061/283] build workflow update --- .github/workflows/release-binary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-binary.yml b/.github/workflows/release-binary.yml index 9622650d1f..5c7181776a 100644 --- a/.github/workflows/release-binary.yml +++ b/.github/workflows/release-binary.yml @@ -21,7 +21,7 @@ jobs: - uses: goreleaser/goreleaser-action@v4 with: - args: "release --rm-dist" + args: "release --clean" version: latest env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" From c175474df51bb08e5fb53d82a334d5ee11b76125 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 05:57:05 +0000 Subject: [PATCH 062/283] chore(deps): bump github.com/projectdiscovery/goflags Bumps [github.com/projectdiscovery/goflags](https://github.com/projectdiscovery/goflags) from 0.1.54 to 0.1.56. - [Release notes](https://github.com/projectdiscovery/goflags/releases) - [Commits](https://github.com/projectdiscovery/goflags/compare/v0.1.54...v0.1.56) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/goflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6970a332a2..26fd609619 100644 --- a/go.mod +++ b/go.mod @@ -81,7 +81,7 @@ require ( github.com/projectdiscovery/dsl v0.1.2 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.54 + github.com/projectdiscovery/goflags v0.1.56 github.com/projectdiscovery/gologger v1.1.12 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 diff --git a/go.sum b/go.sum index a3702b0fdb..d8c1f3d29f 100644 --- a/go.sum +++ b/go.sum @@ -841,8 +841,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.54 h1:xbaEBNbKqXyRu4154UlhsMAFmpaDYma4jJ9zUZGvXW8= -github.com/projectdiscovery/goflags v0.1.54/go.mod h1:cfLzWWxgl/ft5cSHVJZjnvIzd4wX3A9Kz+W1pjeBZvc= +github.com/projectdiscovery/goflags v0.1.56 h1:tJYiZN7s9Jk9DxfYOUiqOoybaIDlXyX4ZgT4B/06SyU= +github.com/projectdiscovery/goflags v0.1.56/go.mod h1:DsGF0NPpM5hGg75N3MTSvWJ4MIT7HFEAOEeWZ074+Fg= github.com/projectdiscovery/gologger v1.1.12 h1:uX/QkQdip4PubJjjG0+uk5DtyAi1ANPJUvpmimXqv4A= github.com/projectdiscovery/gologger v1.1.12/go.mod h1:DI8nywPLERS5mo8QEA9E7gd5HZ3Je14SjJBH3F5/kLw= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= From d7d26ca9b5221f09a3f6893dffde3990431b070d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 05:57:14 +0000 Subject: [PATCH 063/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.4 to 0.1.6. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.4...v0.1.6) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6970a332a2..6ac096b84b 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.54 github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c - github.com/projectdiscovery/wappalyzergo v0.1.4 + github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index a3702b0fdb..18f6dbac79 100644 --- a/go.sum +++ b/go.sum @@ -887,8 +887,8 @@ github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQ github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c h1:0I/iRtu5nPYle1v8/R33pCLOrH5bziP5Bi0eZURxTQY= github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= -github.com/projectdiscovery/wappalyzergo v0.1.4 h1:Q0j5t/c74DlPKRvGYLZFv8npTA7MBW9uwdlsMBn/Yh4= -github.com/projectdiscovery/wappalyzergo v0.1.4/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= +github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= +github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 1359c2e7b9ade47af8a8be0fca5e9fe4b8d87929 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 06:25:00 +0000 Subject: [PATCH 064/283] chore(deps): bump github.com/projectdiscovery/useragent Bumps [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) from 0.0.54 to 0.0.56. - [Release notes](https://github.com/projectdiscovery/useragent/releases) - [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.54...v0.0.56) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/useragent dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4584f83646..f95945df2b 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 - github.com/projectdiscovery/useragent v0.0.54 + github.com/projectdiscovery/useragent v0.0.56 github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 diff --git a/go.sum b/go.sum index efaa306f61..078beeb61a 100644 --- a/go.sum +++ b/go.sum @@ -883,8 +883,8 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= -github.com/projectdiscovery/useragent v0.0.54 h1:3gM4TnhLSspSM/XkI97YcUazXA3KOkQXEU7TIBly2Fc= -github.com/projectdiscovery/useragent v0.0.54/go.mod h1:dKFkqUb44qx7MpwQDAbhL1t2IrFhcrgI5MlXUZ9E8dM= +github.com/projectdiscovery/useragent v0.0.56 h1:KpUtOgq1vUerPrgRFZAIr1hF0lDxA2RF6YkT2PLwSoQ= +github.com/projectdiscovery/useragent v0.0.56/go.mod h1:LAh9vudxXPA5JfNN3+1g/Unqvulq0BDkjxK7IrE+e/s= github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c h1:0I/iRtu5nPYle1v8/R33pCLOrH5bziP5Bi0eZURxTQY= github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= From 20709834c2679b1bc15d28efc17546291dccf36a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 06:25:20 +0000 Subject: [PATCH 065/283] chore(deps): bump github.com/projectdiscovery/dsl from 0.1.2 to 0.1.3 Bumps [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](https://github.com/projectdiscovery/dsl/compare/v0.1.2...v0.1.3) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/dsl dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4584f83646..a072f5cbfd 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,7 @@ require ( github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.1.2 + github.com/projectdiscovery/dsl v0.1.3 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.56 diff --git a/go.sum b/go.sum index efaa306f61..dd2a0025cb 100644 --- a/go.sum +++ b/go.sum @@ -831,8 +831,8 @@ github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQO github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.1.2 h1:RdWCEsUqyWsLIQ1k16NX5FiIVbPFvzx9BOlvzK7eeGw= -github.com/projectdiscovery/dsl v0.1.2/go.mod h1:3zwogxGPnPkVUk5OfZQ9Y51sAWdazfQoVZFSPqeEUYA= +github.com/projectdiscovery/dsl v0.1.3 h1:Lxlgpx8lwq/CaBjVUmwF6KmkMDnYf9IVKlMsWCF72OE= +github.com/projectdiscovery/dsl v0.1.3/go.mod h1:WAuQLD4KQ/94RASotE7cvk7X6kY7JQG9Fcqc3lRQfpI= github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13 h1:mAehxpgxmvFrKcQ8taA3xQskp3gg6GayAgatTAn37bg= github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= From c16050a5fe3977a7948aec460d4dd6163051ad65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 06:54:38 +0000 Subject: [PATCH 066/283] chore(deps): bump github.com/projectdiscovery/utils Bumps [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) from 0.1.4-0.20240611113448-0e2f2d33fe1c to 0.1.4. - [Release notes](https://github.com/projectdiscovery/utils/releases) - [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/projectdiscovery/utils/commits/v0.1.4) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/utils dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fb8e067fea..27a4f2b734 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.56 - github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c + github.com/projectdiscovery/utils v0.1.4 github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 5773d2d4a1..2d9878b4ca 100644 --- a/go.sum +++ b/go.sum @@ -885,8 +885,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.56 h1:KpUtOgq1vUerPrgRFZAIr1hF0lDxA2RF6YkT2PLwSoQ= github.com/projectdiscovery/useragent v0.0.56/go.mod h1:LAh9vudxXPA5JfNN3+1g/Unqvulq0BDkjxK7IrE+e/s= -github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c h1:0I/iRtu5nPYle1v8/R33pCLOrH5bziP5Bi0eZURxTQY= -github.com/projectdiscovery/utils v0.1.4-0.20240611113448-0e2f2d33fe1c/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= +github.com/projectdiscovery/utils v0.1.4 h1:VSULN/RBEXbkgWuhrDey84ZDnSXtYMSev9p+QHXXDeI= +github.com/projectdiscovery/utils v0.1.4/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 1c51a6bef6a5d9a5b9c4967e4984595ef4bb48cd Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Sat, 22 Jun 2024 19:12:00 +0200 Subject: [PATCH 067/283] improving workflows (#5318) * improving workflows * fixing count --- pkg/templates/compile.go | 5 +++++ pkg/templates/compile_test.go | 9 +++++++++ pkg/templates/templates.go | 4 ++-- pkg/templates/tests/workflow-invalid.yaml | 18 ++++++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 pkg/templates/tests/workflow-invalid.yaml diff --git a/pkg/templates/compile.go b/pkg/templates/compile.go index 39d6a6ea0f..54708e7ea1 100644 --- a/pkg/templates/compile.go +++ b/pkg/templates/compile.go @@ -342,6 +342,11 @@ func parseTemplate(data []byte, options protocols.ExecutorOptions) (*Template, e return nil, errors.New("no template author field provided") } + numberOfWorkflows := len(template.Workflows) + if numberOfWorkflows > 0 && numberOfWorkflows != template.Requests() { + return nil, errors.New("workflows cannot have other protocols") + } + // use default unknown severity if len(template.Workflows) == 0 { if template.Info.SeverityHolder.Severity == severity.Undefined { diff --git a/pkg/templates/compile_test.go b/pkg/templates/compile_test.go index 3a230cc527..81c5f8fd51 100644 --- a/pkg/templates/compile_test.go +++ b/pkg/templates/compile_test.go @@ -197,3 +197,12 @@ func Test_WrongTemplate(t *testing.T) { require.Nil(t, got, "could not parse template") require.ErrorContains(t, err, "no requests defined ") } + +func TestWrongWorkflow(t *testing.T) { + setup() + + filePath := "tests/workflow-invalid.yaml" + got, err := templates.Parse(filePath, nil, executerOpts) + require.Nil(t, got, "could not parse template") + require.ErrorContains(t, err, "workflows cannot have other protocols") +} diff --git a/pkg/templates/templates.go b/pkg/templates/templates.go index 045f947c68..df0c47648d 100644 --- a/pkg/templates/templates.go +++ b/pkg/templates/templates.go @@ -177,8 +177,6 @@ func (template *Template) Type() types.ProtocolType { return types.HeadlessProtocol case len(template.RequestsNetwork) > 0: return types.NetworkProtocol - case len(template.Workflow.Workflows) > 0: - return types.WorkflowProtocol case len(template.RequestsSSL) > 0: return types.SSLProtocol case len(template.RequestsWebsocket) > 0: @@ -189,6 +187,8 @@ func (template *Template) Type() types.ProtocolType { return types.CodeProtocol case len(template.RequestsJavascript) > 0: return types.JavascriptProtocol + case len(template.Workflow.Workflows) > 0: + return types.WorkflowProtocol default: return types.InvalidProtocol } diff --git a/pkg/templates/tests/workflow-invalid.yaml b/pkg/templates/tests/workflow-invalid.yaml new file mode 100644 index 0000000000..981823aa0c --- /dev/null +++ b/pkg/templates/tests/workflow-invalid.yaml @@ -0,0 +1,18 @@ +id: workflow-example + +info: + name: Test Invalid Workflow Template + author: pdteam + severity: info + +http: + - raw: + - | + POST /re HTTP/1.1 + Host: {{Hostname}} + + {{code_response}} + +workflows: + - template: tests/match-1.yaml + - template: tests/match-1.yaml From e61ca0c42d3e51b2230f84b05ccc618b0f4b0d2d Mon Sep 17 00:00:00 2001 From: Douglas Danger Manley <127235272+doug-threatmate@users.noreply.github.com> Date: Sat, 22 Jun 2024 15:42:01 -0400 Subject: [PATCH 068/283] Use `fs.FS` when explicitly given (#5312) * Use the `templateFS` if it's there when calling `OpenFile` * Add a new constructor * More refactoring * Both of my use cases are working * Fix for legacy assumptions * minor update: remove gologger debug stmts --------- Co-authored-by: Tarun Koyalwar --- lib/sdk_private.go | 5 +- pkg/catalog/disk/catalog.go | 32 +++++--- pkg/catalog/disk/find.go | 147 +++++++++++++++++++++++++++--------- 3 files changed, 136 insertions(+), 48 deletions(-) diff --git a/lib/sdk_private.go b/lib/sdk_private.go index 3475200bd0..b65ecf2a2f 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -231,7 +231,10 @@ func (e *NucleiEngine) init(ctx context.Context) error { // and also upgrade templates to latest version if available installer.NucleiSDKVersionCheck() - return e.processUpdateCheckResults() + if DefaultConfig.CanCheckForUpdates() { + return e.processUpdateCheckResults() + } + return nil } type syncOnce struct { diff --git a/pkg/catalog/disk/catalog.go b/pkg/catalog/disk/catalog.go index ce1a080fdd..38c2260758 100644 --- a/pkg/catalog/disk/catalog.go +++ b/pkg/catalog/disk/catalog.go @@ -11,17 +11,25 @@ import ( // DiskCatalog is a template catalog helper implementation based on disk type DiskCatalog struct { templatesDirectory string - templatesFS fs.FS // TODO: Refactor to use this + templatesFS fs.FS // Due to issues with how Go has implemented fs.FS, we'll have to also implement normal os operations, as well. See: https://github.com/golang/go/issues/44279 } // NewCatalog creates a new Catalog structure using provided input items // using disk based items func NewCatalog(directory string) *DiskCatalog { catalog := &DiskCatalog{templatesDirectory: directory} - if directory != "" { - catalog.templatesFS = os.DirFS(directory) - } else { - catalog.templatesFS = os.DirFS(config.DefaultConfig.GetTemplateDir()) + if directory == "" { + catalog.templatesDirectory = config.DefaultConfig.GetTemplateDir() + } + return catalog +} + +// NewFSCatalog creates a new Catalog structure using provided input items +// using the fs.FS as its filesystem. +func NewFSCatalog(fs fs.FS, directory string) *DiskCatalog { + catalog := &DiskCatalog{ + templatesDirectory: directory, + templatesFS: fs, } return catalog } @@ -29,11 +37,15 @@ func NewCatalog(directory string) *DiskCatalog { // OpenFile opens a file and returns an io.ReadCloser to the file. // It is used to read template and payload files based on catalog responses. func (d *DiskCatalog) OpenFile(filename string) (io.ReadCloser, error) { - file, err := os.Open(filename) - if err != nil { - if file, errx := os.Open(BackwardsCompatiblePaths(d.templatesDirectory, filename)); errx == nil { - return file, nil + if d.templatesFS == nil { + file, err := os.Open(filename) + if err != nil { + if file, errx := os.Open(BackwardsCompatiblePaths(d.templatesDirectory, filename)); errx == nil { + return file, nil + } } + return file, err } - return file, err + + return d.templatesFS.Open(filename) } diff --git a/pkg/catalog/disk/find.go b/pkg/catalog/disk/find.go index 088bcbfe1f..a5d46ff078 100644 --- a/pkg/catalog/disk/find.go +++ b/pkg/catalog/disk/find.go @@ -79,17 +79,21 @@ func (c *DiskCatalog) GetTemplatePath(target string) ([]string, error) { } // try to handle deprecated template paths - absPath := BackwardsCompatiblePaths(c.templatesDirectory, target) - if absPath != target && strings.TrimPrefix(absPath, c.templatesDirectory+string(filepath.Separator)) != target { - if config.DefaultConfig.LogAllEvents { - gologger.DefaultLogger.Print().Msgf("[%v] requested Template path %s is deprecated, please update to %s\n", aurora.Yellow("WRN").String(), target, absPath) + absPath := target + if c.templatesFS == nil { + absPath = BackwardsCompatiblePaths(c.templatesDirectory, target) + if absPath != target && strings.TrimPrefix(absPath, c.templatesDirectory+string(filepath.Separator)) != target { + if config.DefaultConfig.LogAllEvents { + gologger.DefaultLogger.Print().Msgf("[%v] requested Template path %s is deprecated, please update to %s\n", aurora.Yellow("WRN").String(), target, absPath) + } + deprecatedPathsCounter++ } - deprecatedPathsCounter++ - } - absPath, err := c.convertPathToAbsolute(absPath) - if err != nil { - return nil, errors.Wrapf(err, "could not find template file") + var err error + absPath, err = c.convertPathToAbsolute(absPath) + if err != nil { + return nil, errors.Wrapf(err, "could not find template file") + } } // Template input is either a file or a directory @@ -143,24 +147,60 @@ func (c *DiskCatalog) findGlobPathMatches(absPath string, processed map[string]s if c.templatesDirectory == "" { templateDir = "./" } - matches, _ := fs.Glob(os.DirFS(filepath.Join(templateDir, "http")), inputGlob) - if len(matches) != 0 { + + if c.templatesFS == nil { + matches, _ := fs.Glob(os.DirFS(filepath.Join(templateDir, "http")), inputGlob) + if len(matches) != 0 { + return matches + } + + // condition to support network cve related globs + matches, _ = fs.Glob(os.DirFS(filepath.Join(templateDir, "network")), inputGlob) + return matches + } else { + sub, err := fs.Sub(c.templatesFS, filepath.Join(templateDir, "http")) + if err != nil { + return nil + } + matches, _ := fs.Glob(sub, inputGlob) + if len(matches) != 0 { + return matches + } + + // condition to support network cve related globs + sub, err = fs.Sub(c.templatesFS, filepath.Join(templateDir, "network")) + if err != nil { + return nil + } + matches, _ = fs.Glob(sub, inputGlob) return matches } - // condition to support network cve related globs - matches, _ = fs.Glob(os.DirFS(filepath.Join(templateDir, "network")), inputGlob) - return matches } var matched []string - matches, err := fs.Glob(c.templatesFS, relPath) - if len(matches) != 0 { - matched = append(matched, matches...) + var matches []string + if c.templatesFS == nil { + var err error + matches, err = filepath.Glob(relPath) + if len(matches) != 0 { + matched = append(matched, matches...) + } else { + matched = append(matched, OldPathsResolver(relPath)...) + } + if err != nil && len(matched) == 0 { + return nil, errors.Errorf("wildcard found, but unable to glob: %s\n", err) + } } else { - matched = append(matched, OldPathsResolver(relPath)...) - } - if err != nil && len(matched) == 0 { - return nil, errors.Errorf("wildcard found, but unable to glob: %s\n", err) + var err error + matches, err = fs.Glob(c.templatesFS, relPath) + if len(matches) != 0 { + matched = append(matched, matches...) + } else { + matched = append(matched, OldPathsResolver(relPath)...) + } + if err != nil && len(matched) == 0 { + return nil, errors.Errorf("wildcard found, but unable to glob: %s\n", err) + } } results := make([]string, 0, len(matches)) for _, match := range matches { @@ -175,11 +215,23 @@ func (c *DiskCatalog) findGlobPathMatches(absPath string, processed map[string]s // findFileMatches finds if a path is an absolute file. If the path // is a file, it returns true otherwise false with no errors. func (c *DiskCatalog) findFileMatches(absPath string, processed map[string]struct{}) (match string, matched bool, err error) { - info, err := os.Stat(absPath) + if c.templatesFS != nil { + absPath = strings.TrimPrefix(absPath, "/") + } + var info fs.File + if c.templatesFS == nil { + info, err = os.Open(absPath) + } else { + info, err = c.templatesFS.Open(absPath) + } + if err != nil { + return "", false, err + } + stat, err := info.Stat() if err != nil { return "", false, err } - if !info.Mode().IsRegular() { + if !stat.Mode().IsRegular() { return "", false, nil } if _, ok := processed[absPath]; !ok { @@ -192,22 +244,43 @@ func (c *DiskCatalog) findFileMatches(absPath string, processed map[string]struc // findDirectoryMatches finds matches for templates from a directory func (c *DiskCatalog) findDirectoryMatches(absPath string, processed map[string]struct{}) ([]string, error) { var results []string - err := filepath.WalkDir( - absPath, - func(path string, d fs.DirEntry, err error) error { - // continue on errors - if err != nil { + var err error + if c.templatesFS == nil { + err = filepath.WalkDir( + absPath, + func(path string, d fs.DirEntry, err error) error { + // continue on errors + if err != nil { + return nil + } + if !d.IsDir() && config.GetTemplateFormatFromExt(path) != config.Unknown { + if _, ok := processed[path]; !ok { + results = append(results, path) + processed[path] = struct{}{} + } + } return nil - } - if !d.IsDir() && config.GetTemplateFormatFromExt(path) != config.Unknown { - if _, ok := processed[path]; !ok { - results = append(results, path) - processed[path] = struct{}{} + }, + ) + } else { + err = fs.WalkDir( + c.templatesFS, + absPath, + func(path string, d fs.DirEntry, err error) error { + // continue on errors + if err != nil { + return nil } - } - return nil - }, - ) + if !d.IsDir() && config.GetTemplateFormatFromExt(path) != config.Unknown { + if _, ok := processed[path]; !ok { + results = append(results, path) + processed[path] = struct{}{} + } + } + return nil + }, + ) + } return results, err } From 9f35b86f566e906797ed83ad3b9fdeee24881fa8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 05:28:13 +0000 Subject: [PATCH 069/283] chore(deps): bump github.com/projectdiscovery/retryablehttp-go Bumps [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) from 1.0.64 to 1.0.66. - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.0.64...v1.0.66) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 13 +++++++------ go.sum | 25 ++++++++++++++----------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index 27a4f2b734..81592fed6c 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13 - github.com/projectdiscovery/hmap v0.0.46 + github.com/projectdiscovery/fastdialer v0.1.5 + github.com/projectdiscovery/hmap v0.0.47 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 - github.com/projectdiscovery/retryabledns v1.0.63 - github.com/projectdiscovery/retryablehttp-go v1.0.64 + github.com/projectdiscovery/retryabledns v1.0.64 + github.com/projectdiscovery/retryablehttp-go v1.0.66 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -124,7 +124,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect - github.com/bits-and-blooms/bitset v1.8.0 // indirect + github.com/bits-and-blooms/bitset v1.13.0 // indirect github.com/bits-and-blooms/bloom/v3 v3.5.0 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/bytedance/sonic v1.9.1 // indirect @@ -146,6 +146,7 @@ require ( github.com/fatih/color v1.15.0 // indirect github.com/free5gc/util v1.0.5-0.20230511064842-2e120956883b // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/gaissmai/bart v0.9.5 // indirect github.com/geoffgarside/ber v1.1.0 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.9.1 // indirect @@ -284,7 +285,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/projectdiscovery/blackrock v0.0.1 // indirect - github.com/projectdiscovery/networkpolicy v0.0.8 + github.com/projectdiscovery/networkpolicy v0.0.9 github.com/rivo/uniseg v0.4.6 // indirect github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect diff --git a/go.sum b/go.sum index 2d9878b4ca..ad89350ce1 100644 --- a/go.sum +++ b/go.sum @@ -186,8 +186,9 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bits-and-blooms/bitset v1.13.0 h1:bAQ9OPNFYbGHV6Nez0tmNI0RiEu7/hxlYJRUA0wFAVE= +github.com/bits-and-blooms/bitset v1.13.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bits-and-blooms/bloom/v3 v3.5.0 h1:AKDvi1V3xJCmSR6QhcBfHbCN4Vf8FfxeWkMNQfmAGhY= github.com/bits-and-blooms/bloom/v3 v3.5.0/go.mod h1:Y8vrn7nk1tPIlmLtW2ZPV+W7StdVMor6bC1xgpjMZFs= github.com/bluele/gcache v0.0.2 h1:WcbfdXICg7G/DGBh1PFfcirkWOQV+v077yF1pSy3DGw= @@ -326,6 +327,8 @@ github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/gaissmai/bart v0.9.5 h1:vy+r4Px6bjZ+v2QYXAsg63vpz9IfzdW146A8Cn4GPIo= +github.com/gaissmai/bart v0.9.5/go.mod h1:KHeYECXQiBjTzQz/om2tqn3sZF1J7hw9m6z41ftj3fg= github.com/geoffgarside/ber v1.1.0 h1:qTmFG4jJbwiSzSXoNJeHcOprVzZ8Ulde2Rrrifu5U9w= github.com/geoffgarside/ber v1.1.0/go.mod h1:jVPKeCbj6MvQZhwLYsGwaGI52oUorHoHKNecGT85ZCc= github.com/getkin/kin-openapi v0.123.0 h1:zIik0mRwFNLyvtXK274Q6ut+dPh6nlxBp0x7mNrPhs8= @@ -833,8 +836,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.3 h1:Lxlgpx8lwq/CaBjVUmwF6KmkMDnYf9IVKlMsWCF72OE= github.com/projectdiscovery/dsl v0.1.3/go.mod h1:WAuQLD4KQ/94RASotE7cvk7X6kY7JQG9Fcqc3lRQfpI= -github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13 h1:mAehxpgxmvFrKcQ8taA3xQskp3gg6GayAgatTAn37bg= -github.com/projectdiscovery/fastdialer v0.1.4-0.20240611222741-427bffb2ea13/go.mod h1:PcNscfCNrCnrkmvob90yfd+rNDMh6ZOIvRIl6HFPPXE= +github.com/projectdiscovery/fastdialer v0.1.5 h1:5rNJ8I+GVzDsUqRSVLUqGTm7LsshfNYmCh20lLn1aaI= +github.com/projectdiscovery/fastdialer v0.1.5/go.mod h1:oVoMl9Y6da2timhszy0okyBvhbKDSk+zqFazGV4y6pU= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -849,8 +852,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.46 h1:1fdZ0A8Zkg30SLl0gAbEqOYb4vB3gtokbQuYI+oXUNk= -github.com/projectdiscovery/hmap v0.0.46/go.mod h1:QleSTt2HrokGNPpymUqb7PQ/2EEHEnaU5qKrrm51Va8= +github.com/projectdiscovery/hmap v0.0.47 h1:NdakfvlFruevnOvehdllofg/hc0CQn2WQaLHaRcsGAk= +github.com/projectdiscovery/hmap v0.0.47/go.mod h1:/9V6EnyTY33hAy71Quox6Ggu9ZkKp36tgepBh/NzNSg= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -863,18 +866,18 @@ github.com/projectdiscovery/mapcidr v1.1.34 h1:udr83vQ7oz3kEOwlsU6NC6o08leJzSDQt github.com/projectdiscovery/mapcidr v1.1.34/go.mod h1:1+1R6OkKSAKtWDXE9RvxXtXPoajXTYX0eiEdkqlhQqQ= github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw1pfT6bg35NiN7yd1XKtJap5Nk6lMwQ0RNi8= github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= -github.com/projectdiscovery/networkpolicy v0.0.8 h1:XvfBaBwSDNTesSfNQP9VLk3HX9I7x7gHm028TJ5XwI8= -github.com/projectdiscovery/networkpolicy v0.0.8/go.mod h1:xnjNqhemxUPxU+UD5Jgsc3+K8IVmcqT1SJeo6UzMtkI= +github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+nek7TdtvEBwCxqk= +github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= github.com/projectdiscovery/ratelimit v0.0.45 h1:h28oF+hJ0CHcdBZozT1Go7ppWmzTxSXDKNNh2G1Ot9Q= github.com/projectdiscovery/ratelimit v0.0.45/go.mod h1:1vSJUseDS7SjNwIBi9wNRcgsMKNTLxy/GfdlLFVbgI4= github.com/projectdiscovery/rawhttp v0.1.51 h1:T4sskU2fsX9zNR7nyae0tD/0fliIs73KwBzyoJwBs10= github.com/projectdiscovery/rawhttp v0.1.51/go.mod h1:ejBaw3dCfJSfbtFv0ib6YfFSjQzt7ZdRVpQWJASxIUs= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.63 h1:Ijt47ybwf+iIwul606NlPKPN+ouhOYPeA9sLHVgqLG4= -github.com/projectdiscovery/retryabledns v1.0.63/go.mod h1:lTs48OYJnMFuuBzT+3z3PrZ58K0OUBgP7Y4o3ttBwb0= -github.com/projectdiscovery/retryablehttp-go v1.0.64 h1:90VkUuWKm/JW5Tym0u+N1qseKe4gC5Rp048VJBLcxv8= -github.com/projectdiscovery/retryablehttp-go v1.0.64/go.mod h1:fXVLBcwKwBrCVEgi3FrbLPtSTIczyJEKIlp1WD6VTI0= +github.com/projectdiscovery/retryabledns v1.0.64 h1:bhaKarpUnPjTXN9A0ApA/IA4SWfugdCke1yT0YxIj0k= +github.com/projectdiscovery/retryabledns v1.0.64/go.mod h1:n1N7LMgxMNQT/bUoE5/OQZBTxVApkfeAvDtYQ1OnuAg= +github.com/projectdiscovery/retryablehttp-go v1.0.66 h1:dY+sGVf/O8CvKcSdTx0rxJoKG+HyOScz5T89TijZohU= +github.com/projectdiscovery/retryablehttp-go v1.0.66/go.mod h1:3QJt06j4hEZVpJOr31u49I3mDnqbAzhcjJX8Yvn/xnY= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From 61029d05c3e0e0fa77c4a9be120d86c3f98d0528 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 05:56:07 +0000 Subject: [PATCH 070/283] chore(deps): bump github.com/projectdiscovery/retryabledns Bumps [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) from 1.0.63 to 1.0.65. - [Release notes](https://github.com/projectdiscovery/retryabledns/releases) - [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.63...v1.0.65) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryabledns dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 81592fed6c..9b4c511c7c 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.47 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 - github.com/projectdiscovery/retryabledns v1.0.64 + github.com/projectdiscovery/retryabledns v1.0.65 github.com/projectdiscovery/retryablehttp-go v1.0.66 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index ad89350ce1..e815c24d5b 100644 --- a/go.sum +++ b/go.sum @@ -874,8 +874,8 @@ github.com/projectdiscovery/rawhttp v0.1.51 h1:T4sskU2fsX9zNR7nyae0tD/0fliIs73Kw github.com/projectdiscovery/rawhttp v0.1.51/go.mod h1:ejBaw3dCfJSfbtFv0ib6YfFSjQzt7ZdRVpQWJASxIUs= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.64 h1:bhaKarpUnPjTXN9A0ApA/IA4SWfugdCke1yT0YxIj0k= -github.com/projectdiscovery/retryabledns v1.0.64/go.mod h1:n1N7LMgxMNQT/bUoE5/OQZBTxVApkfeAvDtYQ1OnuAg= +github.com/projectdiscovery/retryabledns v1.0.65 h1:wOtMuVkrcrGkzaT8Jixb3BtUcJODXLRz+z9EjftmFsQ= +github.com/projectdiscovery/retryabledns v1.0.65/go.mod h1:lf3xRdFhGh55fWVlzK1oAaDPrsKliqH3gGvsFNAOkCk= github.com/projectdiscovery/retryablehttp-go v1.0.66 h1:dY+sGVf/O8CvKcSdTx0rxJoKG+HyOScz5T89TijZohU= github.com/projectdiscovery/retryablehttp-go v1.0.66/go.mod h1:3QJt06j4hEZVpJOr31u49I3mDnqbAzhcjJX8Yvn/xnY= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 91d3b668fdcc2e368896e9dc7eb9a0f8b3ab5679 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 22:09:02 +0000 Subject: [PATCH 071/283] chore(deps): bump github.com/hashicorp/go-retryablehttp Bumps [github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp) from 0.7.2 to 0.7.7. - [Changelog](https://github.com/hashicorp/go-retryablehttp/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/go-retryablehttp/compare/v0.7.2...v0.7.7) --- updated-dependencies: - dependency-name: github.com/hashicorp/go-retryablehttp dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index 9b4c511c7c..be2c0ca475 100644 --- a/go.mod +++ b/go.mod @@ -143,7 +143,7 @@ require ( github.com/docker/cli v24.0.5+incompatible // indirect github.com/docker/docker v24.0.9+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect - github.com/fatih/color v1.15.0 // indirect + github.com/fatih/color v1.16.0 // indirect github.com/free5gc/util v1.0.5-0.20230511064842-2e120956883b // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gaissmai/bart v0.9.5 // indirect @@ -268,7 +268,7 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-retryablehttp v0.7.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hdm/jarm-go v0.0.7 // indirect github.com/itchyny/timefmt-go v0.1.5 // indirect github.com/klauspost/cpuid/v2 v2.2.5 // indirect diff --git a/go.sum b/go.sum index e815c24d5b..5cda424843 100644 --- a/go.sum +++ b/go.sum @@ -310,8 +310,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= -github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= @@ -531,13 +531,13 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0= -github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= From c7006a9168c116354cc5b729eb17b515bb47428f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Tue, 25 Jun 2024 12:26:18 +0300 Subject: [PATCH 072/283] use `stringsutil.ContainsAll` --- go.mod | 6 +++--- go.sum | 12 ++++++------ pkg/input/provider/interface.go | 3 ++- .../common/hosterrorscache/hosterrorscache.go | 3 ++- pkg/protocols/http/httpclientpool/options.go | 3 ++- pkg/templates/preprocessors.go | 3 ++- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index be2c0ca475..ae7985a9df 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.1.5 - github.com/projectdiscovery/hmap v0.0.47 + github.com/projectdiscovery/hmap v0.0.48 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 github.com/projectdiscovery/retryabledns v1.0.65 @@ -82,7 +82,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.56 - github.com/projectdiscovery/gologger v1.1.12 + github.com/projectdiscovery/gologger v1.1.13 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.3 @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.56 - github.com/projectdiscovery/utils v0.1.4 + github.com/projectdiscovery/utils v0.1.6 github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 5cda424843..ab76fb2918 100644 --- a/go.sum +++ b/go.sum @@ -846,14 +846,14 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.56 h1:tJYiZN7s9Jk9DxfYOUiqOoybaIDlXyX4ZgT4B/06SyU= github.com/projectdiscovery/goflags v0.1.56/go.mod h1:DsGF0NPpM5hGg75N3MTSvWJ4MIT7HFEAOEeWZ074+Fg= -github.com/projectdiscovery/gologger v1.1.12 h1:uX/QkQdip4PubJjjG0+uk5DtyAi1ANPJUvpmimXqv4A= -github.com/projectdiscovery/gologger v1.1.12/go.mod h1:DI8nywPLERS5mo8QEA9E7gd5HZ3Je14SjJBH3F5/kLw= +github.com/projectdiscovery/gologger v1.1.13 h1:7h4yCnMk+DQ/43v+A3NuA1uuI4XlJd0W0xvTZioD05E= +github.com/projectdiscovery/gologger v1.1.13/go.mod h1:PAsVPr2aHoopCzE0BOnp2bPCv+BU/Oq81ygcP3xVwgI= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.47 h1:NdakfvlFruevnOvehdllofg/hc0CQn2WQaLHaRcsGAk= -github.com/projectdiscovery/hmap v0.0.47/go.mod h1:/9V6EnyTY33hAy71Quox6Ggu9ZkKp36tgepBh/NzNSg= +github.com/projectdiscovery/hmap v0.0.48 h1:pbxoDcwZWSdaqZ3QgaG5Aw1G1qEFN2zeQco6eWeROAo= +github.com/projectdiscovery/hmap v0.0.48/go.mod h1:KMSbPJoIgI+9PkG6alZ0INEMRiIGnND128RUjxiY+8I= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -888,8 +888,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.56 h1:KpUtOgq1vUerPrgRFZAIr1hF0lDxA2RF6YkT2PLwSoQ= github.com/projectdiscovery/useragent v0.0.56/go.mod h1:LAh9vudxXPA5JfNN3+1g/Unqvulq0BDkjxK7IrE+e/s= -github.com/projectdiscovery/utils v0.1.4 h1:VSULN/RBEXbkgWuhrDey84ZDnSXtYMSev9p+QHXXDeI= -github.com/projectdiscovery/utils v0.1.4/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= +github.com/projectdiscovery/utils v0.1.6 h1:fzdN+oCTics3hPPOEV1FWqf/Hpenav5Ml/73aEwpTZc= +github.com/projectdiscovery/utils v0.1.6/go.mod h1:kOnMoFfuQMY8U+nh8e32odjC00iEbiLVBcDxyAZFwCc= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= diff --git a/pkg/input/provider/interface.go b/pkg/input/provider/interface.go index cb48fc7676..b7ad4b4480 100644 --- a/pkg/input/provider/interface.go +++ b/pkg/input/provider/interface.go @@ -14,6 +14,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" configTypes "github.com/projectdiscovery/nuclei/v3/pkg/types" errorutil "github.com/projectdiscovery/utils/errors" + stringsutil "github.com/projectdiscovery/utils/strings" ) var ( @@ -32,7 +33,7 @@ func IsErrNotImplemented(err error) bool { if err == nil { return false } - if strings.Contains(err.Error(), "provider") && strings.Contains(err.Error(), "does not implement") { + if stringsutil.ContainsAll(err.Error(), "provider", "does not implement") { return true } return false diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index 38a7ff3290..1630e97c7d 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -14,6 +14,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" "github.com/projectdiscovery/utils/errkit" + stringsutil "github.com/projectdiscovery/utils/strings" ) // CacheInterface defines the signature of the hosterrorscache so that @@ -200,7 +201,7 @@ func (c *Cache) checkError(err error) bool { errX := errkit.FromError(err) tmp := errX.Cause() cause := tmp.Error() - if strings.Contains(cause, "ReadStatusLine:") && strings.Contains(cause, "read: connection reset by peer") { + if stringsutil.ContainsAll(cause, "ReadStatusLine:", "read: connection reset by peer") { // this is a FP and should not be counted as a host error // because server closes connection when it reads corrupted bytes which we send via rawhttp return false diff --git a/pkg/protocols/http/httpclientpool/options.go b/pkg/protocols/http/httpclientpool/options.go index f24e421b86..92e42fe96b 100644 --- a/pkg/protocols/http/httpclientpool/options.go +++ b/pkg/protocols/http/httpclientpool/options.go @@ -7,6 +7,7 @@ import ( "time" "github.com/projectdiscovery/rawhttp" + stringsutil "github.com/projectdiscovery/utils/strings" urlutil "github.com/projectdiscovery/utils/url" ) @@ -36,7 +37,7 @@ func SendRawRequest(client *rawhttp.Client, opts *RawHttpRequestOpts) (*http.Res resp, err := client.DoRawWithOptions(opts.Method, opts.URL, opts.Path, opts.Headers, opts.Body, opts.Options) if err != nil { cause := err.Error() - if strings.Contains(cause, "ReadStatusLine: ") && strings.Contains(cause, "read: connection reset by peer") { + if stringsutil.ContainsAll(cause, "ReadStatusLine: ", "read: connection reset by peer") { // this error is caused when rawhttp client sends a corrupted or malformed request packet to server // some servers may attempt gracefully shutdown but most will just abruptly close the connection which results // in a connection reset by peer error and this can be safely assumed as 400 Bad Request in terms of normal http flow diff --git a/pkg/templates/preprocessors.go b/pkg/templates/preprocessors.go index 054a0bc41e..7cf6f8e21a 100644 --- a/pkg/templates/preprocessors.go +++ b/pkg/templates/preprocessors.go @@ -5,6 +5,7 @@ import ( "regexp" "strings" + stringsutil "github.com/projectdiscovery/utils/strings" "github.com/segmentio/ksuid" ) @@ -48,7 +49,7 @@ func (r *randStrPreprocessor) ProcessNReturnData(data []byte) ([]byte, map[strin continue } value := expression[1] - if strings.Contains(value, "(") || strings.Contains(value, ")") { + if stringsutil.ContainsAny(value, "(", ")") { continue } From 381ebba6a2f56dfc99cf92312728ab51c099449b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristinn=20Vikar=20J=C3=B3nsson?= <93918469+KristinnVikar@users.noreply.github.com> Date: Thu, 27 Jun 2024 07:44:43 +0000 Subject: [PATCH 073/283] Clustering performance improvements (#5319) * Clustering performance improvements * IsClusterable filters out beforehand, update test to mirror that * inverse IsClusterable This makes much more sense * HashMap based clustering * furthur improvements to clustering --------- Co-authored-by: Tarun Koyalwar --- pkg/protocols/dns/cluster.go | 41 +++++------ pkg/protocols/http/cluster.go | 39 ++++------ pkg/protocols/http/cluster_test.go | 7 +- pkg/protocols/ssl/ssl.go | 20 +++--- pkg/templates/cluster.go | 110 +++++++++++------------------ pkg/utils/utils.go | 14 ++++ 6 files changed, 107 insertions(+), 124 deletions(-) diff --git a/pkg/protocols/dns/cluster.go b/pkg/protocols/dns/cluster.go index f2f5734785..86852b4d78 100644 --- a/pkg/protocols/dns/cluster.go +++ b/pkg/protocols/dns/cluster.go @@ -1,27 +1,24 @@ package dns -// CanCluster returns true if the request can be clustered. -// -// This used by the clustering engine to decide whether two requests -// are similar enough to be considered one and can be checked by -// just adding the matcher/extractors for the request and the correct IDs. -func (request *Request) CanCluster(other *Request) bool { - if len(request.Resolvers) > 0 || request.Trace || request.ID != "" { - return false - } - if request.Name != other.Name || - request.class != other.class || - request.Retries != other.Retries || - request.question != other.question { - return false - } +import ( + "fmt" + + "github.com/cespare/xxhash" +) + + +// TmplClusterKey generates a unique key for the request +// to be used in the clustering process. +func (request *Request) TmplClusterKey() uint64 { + recursion := "" if request.Recursion != nil { - if other.Recursion == nil { - return false - } - if *request.Recursion != *other.Recursion { - return false - } + recursion = fmt.Sprintf("%t", *request.Recursion) } - return true + inp := fmt.Sprintf("%s-%d-%d-%d-%s", request.Name, request.class, request.Retries, request.question, recursion) + return xxhash.Sum64String(inp) +} + +// IsClusterable returns true if the request is eligible to be clustered. +func (request *Request) IsClusterable() bool { + return !(len(request.Resolvers) > 0 || request.Trace || request.ID != "") } diff --git a/pkg/protocols/http/cluster.go b/pkg/protocols/http/cluster.go index 3839817454..aa95c32bae 100644 --- a/pkg/protocols/http/cluster.go +++ b/pkg/protocols/http/cluster.go @@ -1,30 +1,21 @@ package http import ( - sliceutil "github.com/projectdiscovery/utils/slice" - "golang.org/x/exp/maps" + "fmt" + "strings" + + "github.com/cespare/xxhash" + "github.com/projectdiscovery/nuclei/v3/pkg/utils" ) -// CanCluster returns true if the request can be clustered. -// -// This used by the clustering engine to decide whether two requests -// are similar enough to be considered one and can be checked by -// just adding the matcher/extractors for the request and the correct IDs. -func (request *Request) CanCluster(other *Request) bool { - if len(request.Payloads) > 0 || len(request.Fuzzing) > 0 || len(request.Raw) > 0 || len(request.Body) > 0 || request.Unsafe || request.NeedsRequestCondition() || request.Name != "" { - return false - } - if request.Method != other.Method || - request.MaxRedirects != other.MaxRedirects || - request.DisableCookie != other.DisableCookie || - request.Redirects != other.Redirects { - return false - } - if !sliceutil.Equal(request.Path, other.Path) { - return false - } - if !maps.Equal(request.Headers, other.Headers) { - return false - } - return true +// TmplClusterKey generates a unique key for the request +// to be used in the clustering process. +func (request *Request) TmplClusterKey() uint64 { + inp := fmt.Sprintf("%s-%d-%t-%t-%s-%d", request.Method.String(), request.MaxRedirects, request.DisableCookie, request.Redirects, strings.Join(request.Path, "-"), utils.MapHash(request.Headers)) + return xxhash.Sum64String(inp) +} + +// IsClusterable returns true if the request is eligible to be clustered. +func (request *Request) IsClusterable() bool { + return !(len(request.Payloads) > 0 || len(request.Fuzzing) > 0 || len(request.Raw) > 0 || len(request.Body) > 0 || request.Unsafe || request.NeedsRequestCondition() || request.Name != "") } diff --git a/pkg/protocols/http/cluster_test.go b/pkg/protocols/http/cluster_test.go index a16db41ee0..da9c1e5a76 100644 --- a/pkg/protocols/http/cluster_test.go +++ b/pkg/protocols/http/cluster_test.go @@ -8,8 +8,11 @@ import ( func TestCanCluster(t *testing.T) { req := &Request{Unsafe: true} - require.False(t, req.CanCluster(&Request{}), "could cluster unsafe request") + require.False(t, req.IsClusterable(), "could cluster unsafe request") req = &Request{Path: []string{"{{BaseURL}}"}, Method: HTTPMethodTypeHolder{MethodType: HTTPGet}} - require.True(t, req.CanCluster(&Request{Path: []string{"{{BaseURL}}"}, Method: HTTPMethodTypeHolder{MethodType: HTTPGet}}), "could not cluster GET request") + newReq := &Request{Path: []string{"{{BaseURL}}"}, Method: HTTPMethodTypeHolder{MethodType: HTTPGet}} + require.True(t, req.IsClusterable(), "could not cluster GET request") + require.True(t, req.IsClusterable(), "could not cluster GET request") + require.Equal(t, req.TmplClusterKey(), newReq.TmplClusterKey(), "cluster keys should be equal") } diff --git a/pkg/protocols/ssl/ssl.go b/pkg/protocols/ssl/ssl.go index 49d612b882..1abde973aa 100644 --- a/pkg/protocols/ssl/ssl.go +++ b/pkg/protocols/ssl/ssl.go @@ -3,8 +3,10 @@ package ssl import ( "fmt" "net" + "strings" "time" + "github.com/cespare/xxhash" "github.com/fatih/structs" jsoniter "github.com/json-iterator/go" "github.com/pkg/errors" @@ -99,15 +101,15 @@ type Request struct { options *protocols.ExecutorOptions } -// CanCluster returns true if the request can be clustered. -func (request *Request) CanCluster(other *Request) bool { - if len(request.CipherSuites) > 0 || request.MinVersion != "" || request.MaxVersion != "" { - return false - } - if request.Address != other.Address || request.ScanMode != other.ScanMode { - return false - } - return true +// TmplClusterKey generates a unique key for the request +// to be used in the clustering process. +func (request *Request) TmplClusterKey() uint64 { + inp := fmt.Sprintf("%s-%s-%t-%t-%s", request.Address, request.ScanMode, request.TLSCiphersEnum, request.TLSVersionsEnum, strings.Join(request.TLSCipherTypes, ",")) + return xxhash.Sum64String(inp) +} + +func (request *Request) IsClusterable() bool { + return !(len(request.CipherSuites) > 0 || request.MinVersion != "" || request.MaxVersion != "") } // Compile compiles the request generators preparing any requests possible. diff --git a/pkg/templates/cluster.go b/pkg/templates/cluster.go index 603378e986..a4a4ac4bad 100644 --- a/pkg/templates/cluster.go +++ b/pkg/templates/cluster.go @@ -14,7 +14,6 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/scan" "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" cryptoutil "github.com/projectdiscovery/utils/crypto" - mapsutil "github.com/projectdiscovery/utils/maps" ) // Cluster clusters a list of templates into a lesser number if possible based @@ -42,91 +41,68 @@ import ( // Finally, the engine creates a single executer with a clusteredexecuter for all templates // in a cluster. func Cluster(list []*Template) [][]*Template { + http := make(map[uint64][]*Template) + dns := make(map[uint64][]*Template) + ssl := make(map[uint64][]*Template) + final := [][]*Template{} - skip := mapsutil.NewSyncLockMap[string, struct{}]() + // Split up templates that might be clusterable for _, template := range list { - key := template.Path - - if skip.Has(key) { - continue - } - - // We only cluster http, dns and ssl requests as of now. - // Take care of requests that can't be clustered first. - if len(template.RequestsHTTP) == 0 && len(template.RequestsDNS) == 0 && len(template.RequestsSSL) == 0 { - _ = skip.Set(key, struct{}{}) - final = append(final, []*Template{template}) - continue - } - // it is not possible to cluster flow and multiprotocol due to dependent execution if template.Flow != "" || template.Options.IsMultiProtocol { - _ = skip.Set(key, struct{}{}) final = append(final, []*Template{template}) continue } - _ = skip.Set(key, struct{}{}) - - var templateType types.ProtocolType switch { case len(template.RequestsDNS) == 1: - templateType = types.DNSProtocol - case len(template.RequestsHTTP) == 1: - templateType = types.HTTPProtocol - case len(template.RequestsSSL) == 1: - templateType = types.SSLProtocol - } - - // Find any/all similar matching request that is identical to - // this one and cluster them together for http protocol only. - cluster := []*Template{} - for _, other := range list { - otherKey := other.Path - - if skip.Has(otherKey) { - continue - } - - // it is not possible to cluster flow and multiprotocol due to dependent execution - if other.Flow != "" || other.Options.IsMultiProtocol { - _ = skip.Set(otherKey, struct{}{}) - final = append(final, []*Template{other}) - continue + if template.RequestsDNS[0].IsClusterable() { + hash := template.RequestsDNS[0].TmplClusterKey() + if dns[hash] == nil { + dns[hash] = []*Template{} + } + dns[hash] = append(dns[hash], template) + } else { + final = append(final, []*Template{template}) } - switch templateType { - case types.DNSProtocol: - if len(other.RequestsDNS) != 1 { - continue - } else if template.RequestsDNS[0].CanCluster(other.RequestsDNS[0]) { - _ = skip.Set(otherKey, struct{}{}) - cluster = append(cluster, other) - } - case types.HTTPProtocol: - if len(other.RequestsHTTP) != 1 { - continue - } else if template.RequestsHTTP[0].CanCluster(other.RequestsHTTP[0]) { - _ = skip.Set(otherKey, struct{}{}) - cluster = append(cluster, other) + case len(template.RequestsHTTP) == 1: + if template.RequestsHTTP[0].IsClusterable() { + hash := template.RequestsHTTP[0].TmplClusterKey() + if http[hash] == nil { + http[hash] = []*Template{} } - case types.SSLProtocol: - if len(other.RequestsSSL) != 1 { - continue - } else if template.RequestsSSL[0].CanCluster(other.RequestsSSL[0]) { - _ = skip.Set(otherKey, struct{}{}) - cluster = append(cluster, other) + http[hash] = append(http[hash], template) + } else { + final = append(final, []*Template{template}) + } + case len(template.RequestsSSL) == 1: + if template.RequestsSSL[0].IsClusterable() { + hash := template.RequestsSSL[0].TmplClusterKey() + if ssl[hash] == nil { + ssl[hash] = []*Template{} } + ssl[hash] = append(ssl[hash], template) + } else { + final = append(final, []*Template{template}) } - } - if len(cluster) > 0 { - cluster = append(cluster, template) - final = append(final, cluster) - } else { + default: final = append(final, []*Template{template}) } } + + // add all clusterd templates + for _, templates := range http { + final = append(final, templates) + } + for _, templates := range dns { + final = append(final, templates) + } + for _, templates := range ssl { + final = append(final, templates) + } + return final } diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 0d95b13f46..dfe37ae99e 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -2,12 +2,16 @@ package utils import ( "errors" + "fmt" "io" "net/url" "strings" + "github.com/cespare/xxhash" "github.com/projectdiscovery/nuclei/v3/pkg/catalog" "github.com/projectdiscovery/retryablehttp-go" + mapsutil "github.com/projectdiscovery/utils/maps" + "golang.org/x/exp/constraints" ) func IsBlank(value string) bool { @@ -57,3 +61,13 @@ func StringSliceContains(slice []string, item string) bool { } return false } + +// MapHash generates a hash for any give map +func MapHash[K constraints.Ordered, V any](m map[K]V) uint64 { + keys := mapsutil.GetSortedKeys(m) + var sb strings.Builder + for _, k := range keys { + sb.WriteString(fmt.Sprintf("%v:%v\n", k, m[k])) + } + return xxhash.Sum64([]byte(sb.String())) +} From 2b89a2e1a03e835c00ecd7d43a4bfafdd9ab0b9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 05:56:31 +0000 Subject: [PATCH 074/283] chore(deps): bump github.com/projectdiscovery/retryablehttp-go Bumps [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) from 1.0.66 to 1.0.67. - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.0.66...v1.0.67) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 13 ++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index be2c0ca475..8d9324053a 100644 --- a/go.mod +++ b/go.mod @@ -21,11 +21,11 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.1.5 - github.com/projectdiscovery/hmap v0.0.47 + github.com/projectdiscovery/hmap v0.0.48 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.51 github.com/projectdiscovery/retryabledns v1.0.65 - github.com/projectdiscovery/retryablehttp-go v1.0.66 + github.com/projectdiscovery/retryablehttp-go v1.0.67 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -58,6 +58,7 @@ require ( github.com/aws/aws-sdk-go-v2/credentials v1.13.27 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.72 github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0 + github.com/cespare/xxhash v1.1.0 github.com/charmbracelet/glamour v0.6.0 github.com/clbanning/mxj/v2 v2.7.0 github.com/denisenkom/go-mssqldb v0.12.3 @@ -94,7 +95,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.56 - github.com/projectdiscovery/utils v0.1.4 + github.com/projectdiscovery/utils v0.1.5 github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 @@ -129,7 +130,6 @@ require ( github.com/buger/jsonparser v1.1.1 // indirect github.com/bytedance/sonic v1.9.1 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect - github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/cheggaaa/pb/v3 v3.1.4 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect diff --git a/go.sum b/go.sum index 5cda424843..6c48dd914f 100644 --- a/go.sum +++ b/go.sum @@ -351,7 +351,6 @@ github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmS github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= -github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -852,8 +851,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.47 h1:NdakfvlFruevnOvehdllofg/hc0CQn2WQaLHaRcsGAk= -github.com/projectdiscovery/hmap v0.0.47/go.mod h1:/9V6EnyTY33hAy71Quox6Ggu9ZkKp36tgepBh/NzNSg= +github.com/projectdiscovery/hmap v0.0.48 h1:pbxoDcwZWSdaqZ3QgaG5Aw1G1qEFN2zeQco6eWeROAo= +github.com/projectdiscovery/hmap v0.0.48/go.mod h1:KMSbPJoIgI+9PkG6alZ0INEMRiIGnND128RUjxiY+8I= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -876,8 +875,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.65 h1:wOtMuVkrcrGkzaT8Jixb3BtUcJODXLRz+z9EjftmFsQ= github.com/projectdiscovery/retryabledns v1.0.65/go.mod h1:lf3xRdFhGh55fWVlzK1oAaDPrsKliqH3gGvsFNAOkCk= -github.com/projectdiscovery/retryablehttp-go v1.0.66 h1:dY+sGVf/O8CvKcSdTx0rxJoKG+HyOScz5T89TijZohU= -github.com/projectdiscovery/retryablehttp-go v1.0.66/go.mod h1:3QJt06j4hEZVpJOr31u49I3mDnqbAzhcjJX8Yvn/xnY= +github.com/projectdiscovery/retryablehttp-go v1.0.67 h1:3jCiREsQEWJN2fG3D+i46zJNkq5+GtrLGf+Q77jGgrE= +github.com/projectdiscovery/retryablehttp-go v1.0.67/go.mod h1:LXTRQdTOOmMLJDbw5R9fyYgQKLjwS/l5tVt2wP09FBI= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -888,8 +887,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.56 h1:KpUtOgq1vUerPrgRFZAIr1hF0lDxA2RF6YkT2PLwSoQ= github.com/projectdiscovery/useragent v0.0.56/go.mod h1:LAh9vudxXPA5JfNN3+1g/Unqvulq0BDkjxK7IrE+e/s= -github.com/projectdiscovery/utils v0.1.4 h1:VSULN/RBEXbkgWuhrDey84ZDnSXtYMSev9p+QHXXDeI= -github.com/projectdiscovery/utils v0.1.4/go.mod h1:mXs6OOeG9l/dVchjB2PGvQO3+wuMiE14Y/kmHeKogoM= +github.com/projectdiscovery/utils v0.1.5 h1:vjD2ZVtVEEiWNIKIFWkWSxaHnw8wGln8Lyfru6E+BW0= +github.com/projectdiscovery/utils v0.1.5/go.mod h1:NhjK2eVeoXLIZIYBJ2Z7yl6V4sB6Xr5Bzs1GdAqvJZ4= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 68cac06818ee0fc200a5c6031c46eb17cce184eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 06:25:36 +0000 Subject: [PATCH 075/283] chore(deps): bump github.com/projectdiscovery/useragent Bumps [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) from 0.0.56 to 0.0.57. - [Release notes](https://github.com/projectdiscovery/useragent/releases) - [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.56...v0.0.57) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/useragent dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8d9324053a..4dba575ed8 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 - github.com/projectdiscovery/useragent v0.0.56 + github.com/projectdiscovery/useragent v0.0.57 github.com/projectdiscovery/utils v0.1.5 github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 diff --git a/go.sum b/go.sum index 6c48dd914f..8a5ed5c0de 100644 --- a/go.sum +++ b/go.sum @@ -351,6 +351,7 @@ github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmS github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -885,8 +886,8 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= -github.com/projectdiscovery/useragent v0.0.56 h1:KpUtOgq1vUerPrgRFZAIr1hF0lDxA2RF6YkT2PLwSoQ= -github.com/projectdiscovery/useragent v0.0.56/go.mod h1:LAh9vudxXPA5JfNN3+1g/Unqvulq0BDkjxK7IrE+e/s= +github.com/projectdiscovery/useragent v0.0.57 h1:y6ML3GVJ6Sq+nhqk2gY9aD0JNaKzfpunJPjPN40eVN4= +github.com/projectdiscovery/useragent v0.0.57/go.mod h1:iChqL4rGApUsdXhAzItirEpMvYYOlruieZE+nqoKpCc= github.com/projectdiscovery/utils v0.1.5 h1:vjD2ZVtVEEiWNIKIFWkWSxaHnw8wGln8Lyfru6E+BW0= github.com/projectdiscovery/utils v0.1.5/go.mod h1:NhjK2eVeoXLIZIYBJ2Z7yl6V4sB6Xr5Bzs1GdAqvJZ4= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= From 1e3cfd75ea852be2b925223eb051a917b50d7938 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar Date: Wed, 3 Jul 2024 18:26:59 +0530 Subject: [PATCH 076/283] fix issue with ldap search func --- pkg/js/libs/ldap/ldap.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/js/libs/ldap/ldap.go b/pkg/js/libs/ldap/ldap.go index 5f03611cb2..31afa232d0 100644 --- a/pkg/js/libs/ldap/ldap.go +++ b/pkg/js/libs/ldap/ldap.go @@ -205,11 +205,18 @@ func (c *Client) AuthenticateWithNTLMHash(username, hash string) { // ``` func (c *Client) Search(filter string, attributes ...string) []map[string][]string { c.nj.Require(c.conn != nil, "no existing connection") + c.nj.Require(c.BaseDN != "", "base dn cannot be empty") + c.nj.Require(len(attributes) > 0, "attributes cannot be empty") res, err := c.conn.Search( ldap.NewSearchRequest( - c.BaseDN, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, - 0, 0, false, filter, attributes, nil, + "", + ldap.ScopeBaseObject, + ldap.NeverDerefAliases, + 0, 0, false, + filter, + attributes, + nil, ), ) c.nj.HandleError(err, "ldap search request failed") From 3ff085c5edb5948be6ca98749a5d7086fb26c5d1 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar Date: Wed, 3 Jul 2024 18:30:32 +0530 Subject: [PATCH 077/283] bump version to dev --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index 0ee9f437bb..113cb11509 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.2.9` + Version = `v3.3.0-dev` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From ec89a23bc5fb9372dccbab5c307f3be489017e5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 05:57:41 +0000 Subject: [PATCH 078/283] chore(deps): bump github.com/projectdiscovery/asnmap from 1.1.0 to 1.1.1 Bumps [github.com/projectdiscovery/asnmap](https://github.com/projectdiscovery/asnmap) from 1.1.0 to 1.1.1. - [Release notes](https://github.com/projectdiscovery/asnmap/releases) - [Changelog](https://github.com/projectdiscovery/asnmap/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/asnmap/compare/v1.1.0...v1.1.1) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/asnmap dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4dba575ed8..b0089222c9 100644 --- a/go.mod +++ b/go.mod @@ -200,7 +200,7 @@ require ( github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect - github.com/projectdiscovery/asnmap v1.1.0 // indirect + github.com/projectdiscovery/asnmap v1.1.1 // indirect github.com/projectdiscovery/cdncheck v1.0.9 // indirect github.com/projectdiscovery/freeport v0.0.5 // indirect github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb // indirect diff --git a/go.sum b/go.sum index 8a5ed5c0de..901dabeb2b 100644 --- a/go.sum +++ b/go.sum @@ -826,8 +826,8 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/praetorian-inc/fingerprintx v1.1.9 h1:zWbG/Fdan0s/dvXkeaHb/CdFTz/yEEzrAF4iCzok3r8= github.com/praetorian-inc/fingerprintx v1.1.9/go.mod h1:k6EJIHe/Da4DH5e4JuoZHe+qSGq/KPUmXGaK+xW74OI= -github.com/projectdiscovery/asnmap v1.1.0 h1:ynvbLB5cNpyQ2+k9IP0Rpla+0JmCJpd3mw6KLAW13m0= -github.com/projectdiscovery/asnmap v1.1.0/go.mod h1:QNjBnGLxUBEZAgaYk/Av5cjKKWFY3i/FOfoIWCUApoY= +github.com/projectdiscovery/asnmap v1.1.1 h1:ImJiKIaACOT7HPx4Pabb5dksolzaFYsD1kID2iwsDqI= +github.com/projectdiscovery/asnmap v1.1.1/go.mod h1:QT7jt9nQanj+Ucjr9BqGr1Q2veCCKSAVyUzLXfEcQ60= github.com/projectdiscovery/blackrock v0.0.1 h1:lHQqhaaEFjgf5WkuItbpeCZv2DUIE45k0VbGJyft6LQ= github.com/projectdiscovery/blackrock v0.0.1/go.mod h1:ANUtjDfaVrqB453bzToU+YB4cUbvBRpLvEwoWIwlTss= github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQOocUvrssFlg= From 5cb32a431060edc0100df5d2816ce9a1fe3fbd92 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:21:11 +0530 Subject: [PATCH 079/283] Fix target loading with input-mode (#5369) --- pkg/input/provider/http/multiformat.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/input/provider/http/multiformat.go b/pkg/input/provider/http/multiformat.go index ee95079ef4..651c3656f6 100644 --- a/pkg/input/provider/http/multiformat.go +++ b/pkg/input/provider/http/multiformat.go @@ -68,6 +68,7 @@ func (i *HttpInputProvider) Iterate(callback func(value *contextargs.MetaInput) err := i.format.Parse(i.inputFile, func(request *types.RequestResponse) bool { return callback(&contextargs.MetaInput{ ReqResp: request, + Input: request.URL.String(), }) }) if err != nil { From 1c24ceda4548676f2c116f031d51f483bd3cae69 Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Mon, 8 Jul 2024 13:38:29 +0200 Subject: [PATCH 080/283] adding automatic service check on query (#5291) * adding automatic service check on query * automatic service check --- pkg/js/libs/mysql/mysql.go | 30 ++++++++++++++++++++++++++++++ pkg/js/libs/postgres/postgres.go | 32 ++++++++++++++++++++++++++++---- 2 files changed, 58 insertions(+), 4 deletions(-) diff --git a/pkg/js/libs/mysql/mysql.go b/pkg/js/libs/mysql/mysql.go index 0fd2f24200..4566059260 100644 --- a/pkg/js/libs/mysql/mysql.go +++ b/pkg/js/libs/mysql/mysql.go @@ -36,6 +36,7 @@ type ( // const isMySQL = mysql.IsMySQL('acme.com', 3306); // ``` func (c *MySQLClient) IsMySQL(host string, port int) (bool, error) { + // todo: why this is exposed? Service fingerprint should be automatic return memoizedisMySQL(host, port) } @@ -77,6 +78,16 @@ func (c *MySQLClient) Connect(host string, port int, username, password string) // host is not valid according to network policy return false, protocolstate.ErrHostDenied.Msgf(host) } + + // executing queries implies the remote mysql service + ok, err := c.IsMySQL(host, port) + if err != nil { + return false, err + } + if !ok { + return false, fmt.Errorf("not a mysql service") + } + dsn, err := BuildDSN(MySQLOptions{ Host: host, Port: port, @@ -182,6 +193,16 @@ func (c *MySQLClient) ExecuteQueryWithOpts(opts MySQLOptions, query string) (*ut // host is not valid according to network policy return nil, protocolstate.ErrHostDenied.Msgf(opts.Host) } + + // executing queries implies the remote mysql service + ok, err := c.IsMySQL(opts.Host, opts.Port) + if err != nil { + return nil, err + } + if !ok { + return nil, fmt.Errorf("not a mysql service") + } + dsn, err := BuildDSN(opts) if err != nil { return nil, err @@ -220,6 +241,15 @@ func (c *MySQLClient) ExecuteQueryWithOpts(opts MySQLOptions, query string) (*ut // log(to_json(result)); // ``` func (c *MySQLClient) ExecuteQuery(host string, port int, username, password, query string) (*utils.SQLResult, error) { + // executing queries implies the remote mysql service + ok, err := c.IsMySQL(host, port) + if err != nil { + return nil, err + } + if !ok { + return nil, fmt.Errorf("not a mysql service") + } + return c.ExecuteQueryWithOpts(MySQLOptions{ Host: host, Port: port, diff --git a/pkg/js/libs/postgres/postgres.go b/pkg/js/libs/postgres/postgres.go index f20ea85a73..e3093c49d3 100644 --- a/pkg/js/libs/postgres/postgres.go +++ b/pkg/js/libs/postgres/postgres.go @@ -37,6 +37,7 @@ type ( // const isPostgres = postgres.IsPostgres('acme.com', 5432); // ``` func (c *PGClient) IsPostgres(host string, port int) (bool, error) { + // todo: why this is exposed? Service fingerprint should be automatic return memoizedisPostgres(host, port) } @@ -74,6 +75,13 @@ func isPostgres(host string, port int) (bool, error) { // const connected = client.Connect('acme.com', 5432, 'username', 'password'); // ``` func (c *PGClient) Connect(host string, port int, username, password string) (bool, error) { + ok, err := c.IsPostgres(host, port) + if err != nil { + return false, err + } + if !ok { + return false, fmt.Errorf("not a postgres service") + } return memoizedconnect(host, port, username, password, "postgres") } @@ -88,6 +96,14 @@ func (c *PGClient) Connect(host string, port int, username, password string) (bo // log(to_json(result)); // ``` func (c *PGClient) ExecuteQuery(host string, port int, username, password, dbName, query string) (*utils.SQLResult, error) { + ok, err := c.IsPostgres(host, port) + if err != nil { + return nil, err + } + if !ok { + return nil, fmt.Errorf("not a postgres service") + } + return memoizedexecuteQuery(host, port, username, password, dbName, query) } @@ -129,6 +145,14 @@ func executeQuery(host string, port int, username string, password string, dbNam // const connected = client.ConnectWithDB('acme.com', 5432, 'username', 'password', 'dbname'); // ``` func (c *PGClient) ConnectWithDB(host string, port int, username, password, dbName string) (bool, error) { + ok, err := c.IsPostgres(host, port) + if err != nil { + return false, err + } + if !ok { + return false, fmt.Errorf("not a postgres service") + } + return memoizedconnect(host, port, username, password, dbName) } @@ -149,10 +173,10 @@ func connect(host string, port int, username string, password string, dbName str defer cancel() db := pg.Connect(&pg.Options{ - Addr: target, - User: username, - Password: password, - Database: dbName, + Addr: target, + User: username, + Password: password, + Database: dbName, Dialer: func(network, addr string) (net.Conn, error) { return protocolstate.Dialer.Dial(context.Background(), network, addr) }, From c9a9bd3bfc47f56505bc8312c72589157de517d6 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Wed, 10 Jul 2024 20:43:22 +0530 Subject: [PATCH 081/283] include cname in http output if available (#5389) --- pkg/protocols/http/request.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 7e5e069348..c84db691f7 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -844,6 +844,8 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ outputEvent["ip"] = input.MetaInput.CustomIP } else { outputEvent["ip"] = protocolstate.Dialer.GetDialedIP(hostname) + // try getting cname + request.addCNameIfAvailable(hostname, outputEvent) } if len(generatedRequest.interactshURLs) > 0 { @@ -940,6 +942,8 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ outputEvent["ip"] = input.MetaInput.CustomIP } else { outputEvent["ip"] = protocolstate.Dialer.GetDialedIP(hostname) + // try getting cname + request.addCNameIfAvailable(hostname, outputEvent) } if request.options.Interactsh != nil { request.options.Interactsh.MakePlaceholders(generatedRequest.interactshURLs, outputEvent) @@ -1031,6 +1035,23 @@ func (request *Request) validateNFixEvent(input *contextargs.Context, gr *genera } } +// addCNameIfAvailable adds the cname to the event if available +func (request *Request) addCNameIfAvailable(hostname string, outputEvent map[string]interface{}) { + data, err := protocolstate.Dialer.GetDNSData(hostname) + if err == nil { + switch len(data.CNAME) { + case 0: + return + case 1: + outputEvent["cname"] = data.CNAME[0] + default: + // add 1st and put others in cname_all + outputEvent["cname"] = data.CNAME[0] + outputEvent["cname_all"] = data.CNAME + } + } +} + // handleSignature of the http request func (request *Request) handleSignature(generatedRequest *generatedRequest) error { switch request.Signature.Value { From 3c2af0e47c0fea68cd5d2100b9ebb88aa3090ff4 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Fri, 12 Jul 2024 17:23:44 +0200 Subject: [PATCH 082/283] fixing many data races --- .../protocols/code/pre-condition.yaml | 2 +- .../protocols/code/py-env-var.yaml | 2 +- integration_tests/protocols/code/py-file.yaml | 2 +- .../protocols/code/py-interactsh.yaml | 2 +- .../protocols/code/py-snippet.yaml | 2 +- .../workflow/code-template-1.yaml | 2 +- .../workflow/code-template-2.yaml | 2 +- pkg/input/provider/http/multiformat.go | 8 ++-- pkg/input/provider/list/hmap.go | 40 +++++++++++++------ pkg/input/provider/list/hmap_test.go | 6 +-- pkg/input/provider/simple.go | 12 ++++-- .../common/contextargs/contextargs.go | 4 +- pkg/protocols/common/contextargs/metainput.go | 17 ++++++-- pkg/scan/scan_context.go | 3 ++ 14 files changed, 69 insertions(+), 35 deletions(-) diff --git a/integration_tests/protocols/code/pre-condition.yaml b/integration_tests/protocols/code/pre-condition.yaml index 1c44e9579a..2190ffecbe 100644 --- a/integration_tests/protocols/code/pre-condition.yaml +++ b/integration_tests/protocols/code/pre-condition.yaml @@ -23,4 +23,4 @@ code: - type: dsl dsl: - true -# digest: 490a004630440220192fb8f704b078c2885047b85ac1a0491be86485c033a976d201599683a35aab0220604b1c3781e9d97079d0e5c23c18e6a2d87493c8e2b930536e692ee7d06e9247:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4a0a0047304502200307590191cb7c766b6c21e5777d345bdddf7adf9d6da8f7d336d585d9ac4a8b022100fd30fb0c7722778eb3d861d60e721d805925b8d8df2b979ef2104c35ec57d5cb:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-env-var.yaml b/integration_tests/protocols/code/py-env-var.yaml index 9ff947c208..067c183bb7 100644 --- a/integration_tests/protocols/code/py-env-var.yaml +++ b/integration_tests/protocols/code/py-env-var.yaml @@ -20,4 +20,4 @@ code: - type: word words: - "hello from input baz" -# digest: 4a0a00473045022033f72f1b9d5143f58a2dc79c2597000f34080251ac3702c36c3fad00917dfeeb0221009ba05c715c9e2e36dba471be6c0106a09ae3822d8a3e9e4bcf377e9f4a395a01:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4a0a0047304502203fe1d7d52bc2a41886d576a90c82c3be42078baaa4b46e1f3d8519665d6f88b202210081feb82c41150c5b218e226fc4f299ded19f42ba01ef34ba60b0634b4ea6ee12:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-file.yaml b/integration_tests/protocols/code/py-file.yaml index ad69371d05..3521ec902d 100644 --- a/integration_tests/protocols/code/py-file.yaml +++ b/integration_tests/protocols/code/py-file.yaml @@ -18,4 +18,4 @@ code: - type: word words: - "hello from input" -# digest: 4a0a004730450220377128cb11d9f6f0fee1f4dbd841e46783de26e90a216fa55a7609ee2bc823c60221009166ee0f85e3a1811588ab19e73ea96ab3d582dc8180dbcbbad0ea9ab7e9025d:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4b0a00483046022100afb5ebff14a40e7f9b679ffc4d93ce7849e33eb398ebb47f2e757cd24831f9dd02210089ffa21b2763e99ebce95dfc5b91e1e62da4ccdc9d2ad5c48584fa350ba335af:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-interactsh.yaml b/integration_tests/protocols/code/py-interactsh.yaml index 76d14efb2e..0ccab7a7cd 100644 --- a/integration_tests/protocols/code/py-interactsh.yaml +++ b/integration_tests/protocols/code/py-interactsh.yaml @@ -26,4 +26,4 @@ code: part: interactsh_protocol words: - "http" -# digest: 4b0a00483046022100d472d50bd83117d334f5217c7a40dcdf34138e90029eaace51697d902296bf37022100a393b49420a96f60d6d89b79b5135ee2233b2468d374851890eea114b08195d1:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4b0a00483046022100939f83e74d43932a5bd792b1fd2c100eec2df60f2b2a8dd56b5c8ef5faa92b17022100f93031b0de373af7d78e623968ea5a2d67c4561ef70e3e6da15aef7e5c853115:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-snippet.yaml b/integration_tests/protocols/code/py-snippet.yaml index 4837fa7e0e..5e36c1a673 100644 --- a/integration_tests/protocols/code/py-snippet.yaml +++ b/integration_tests/protocols/code/py-snippet.yaml @@ -21,4 +21,4 @@ code: - type: word words: - "hello from input" -# digest: 4b0a004830460221008886054bb5dd6345e434e30f31c8fddce3c484a4f33aa6321b5185675866029d022100d188a83d0fde029f8b586061c65ab72b43755c3fb10fdd59501bb9bbadbb1ff7:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4a0a00473045022100b8e676ce0c57b60c233a0203539dec20457bbb5f1790d351a5d45405b6668b2602204b1f2fa18e7db099f05329009597ceb2d9b7337562c1a676e8d50ea2f1c6fcbe:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/workflow/code-template-1.yaml b/integration_tests/workflow/code-template-1.yaml index d41a1a6957..81a9773ae0 100644 --- a/integration_tests/workflow/code-template-1.yaml +++ b/integration_tests/workflow/code-template-1.yaml @@ -19,4 +19,4 @@ code: regex: - 'hello from (.*)' group: 1 -# digest: 490a0046304402202c63d47bb0acdd40b3b852d95490d492ff5741b84071b2a8a40371be7797c13602202b6b977e157edf2ef70a402a2e57d4eb5a67c5ca91f0a2f9a10a966e8485ebaf:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 490a00463044022050da011362cf08c2cb81e812c7f86d7282afe0562d4bf00d390f1300d19bc910022029e9d305da69e941ac18797645aecb217abde6557f891e141301b48e89a3c0cd:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/workflow/code-template-2.yaml b/integration_tests/workflow/code-template-2.yaml index ddd7d36a4e..1fb9805501 100644 --- a/integration_tests/workflow/code-template-2.yaml +++ b/integration_tests/workflow/code-template-2.yaml @@ -18,4 +18,4 @@ code: - type: word words: - "hello from first" -# digest: 490a00463044022025661eab353b7f359c0d428a86b6287545d7f759375e8025cc8c9c77b616ca6502200bc2c019059622df3c88e7caa6dd7d1fb9b956010aa0de2ee2b9f7dd0a3c4954:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4b0a00483046022100b3b8759c0df028455eb59b1433ac240e5d4604b011bb0c63680bd3cc159ac6f0022100f44aa11b640d11ad0e2902897f4eb51666ab3cd83c31dfd2590f6e43391e39b0:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/pkg/input/provider/http/multiformat.go b/pkg/input/provider/http/multiformat.go index 651c3656f6..d58970fec5 100644 --- a/pkg/input/provider/http/multiformat.go +++ b/pkg/input/provider/http/multiformat.go @@ -66,10 +66,10 @@ func (i *HttpInputProvider) Count() int64 { // Iterate over all inputs in order func (i *HttpInputProvider) Iterate(callback func(value *contextargs.MetaInput) bool) { err := i.format.Parse(i.inputFile, func(request *types.RequestResponse) bool { - return callback(&contextargs.MetaInput{ - ReqResp: request, - Input: request.URL.String(), - }) + metaInput := contextargs.NewMetaInput() + metaInput.ReqResp = request + metaInput.Input = request.URL.String() + return callback(metaInput) }) if err != nil { gologger.Warning().Msgf("Could not parse input file while iterating: %s\n", err) diff --git a/pkg/input/provider/list/hmap.go b/pkg/input/provider/list/hmap.go index f7e3bd14c6..edf3729193 100644 --- a/pkg/input/provider/list/hmap.go +++ b/pkg/input/provider/list/hmap.go @@ -122,7 +122,7 @@ func (i *ListInputProvider) Iterate(callback func(value *contextargs.MetaInput) }) } callbackFunc := func(k, _ []byte) error { - metaInput := &contextargs.MetaInput{} + metaInput := contextargs.NewMetaInput() if err := metaInput.Unmarshal(string(k)); err != nil { return err } @@ -153,14 +153,16 @@ func (i *ListInputProvider) Set(value string) { } return fmt.Sprintf("got empty hostname for %v skipping ip selection", URL) }) - metaInput := &contextargs.MetaInput{Input: URL} + metaInput := contextargs.NewMetaInput() + metaInput.Input = URL i.setItem(metaInput) return } // Check if input is ip or hostname if iputil.IsIP(urlx.Hostname()) { - metaInput := &contextargs.MetaInput{Input: URL} + metaInput := contextargs.NewMetaInput() + metaInput.Input = URL i.setItem(metaInput) return } @@ -181,7 +183,9 @@ func (i *ListInputProvider) Set(value string) { if ip == "" { continue } - metaInput := &contextargs.MetaInput{Input: value, CustomIP: ip} + metaInput := contextargs.NewMetaInput() + metaInput.Input = value + metaInput.CustomIP = ip i.setItem(metaInput) } return @@ -211,11 +215,13 @@ func (i *ListInputProvider) Set(value string) { } for _, ip := range ips { + metaInput := contextargs.NewMetaInput() if ip != "" { - metaInput := &contextargs.MetaInput{Input: URL, CustomIP: ip} + metaInput.Input = URL + metaInput.CustomIP = ip i.setItem(metaInput) } else { - metaInput := &contextargs.MetaInput{Input: URL} + metaInput.Input = URL i.setItem(metaInput) } } @@ -353,7 +359,8 @@ func (i *ListInputProvider) scanInputFromReader(reader io.Reader) { // isExcluded checks if a URL is in the exclusion list func (i *ListInputProvider) isExcluded(URL string) bool { - metaInput := &contextargs.MetaInput{Input: URL} + metaInput := contextargs.NewMetaInput() + metaInput.Input = URL key, err := metaInput.MarshalString() if err != nil { gologger.Warning().Msgf("%s\n", err) @@ -378,14 +385,16 @@ func (i *ListInputProvider) Del(value string) { } return fmt.Sprintf("got empty hostname for %v skipping ip selection", URL) }) - metaInput := &contextargs.MetaInput{Input: URL} + metaInput := contextargs.NewMetaInput() + metaInput.Input = URL i.delItem(metaInput) return } // Check if input is ip or hostname if iputil.IsIP(urlx.Hostname()) { - metaInput := &contextargs.MetaInput{Input: URL} + metaInput := contextargs.NewMetaInput() + metaInput.Input = URL i.delItem(metaInput) return } @@ -406,7 +415,9 @@ func (i *ListInputProvider) Del(value string) { if ip == "" { continue } - metaInput := &contextargs.MetaInput{Input: value, CustomIP: ip} + metaInput := contextargs.NewMetaInput() + metaInput.Input = value + metaInput.CustomIP = ip i.delItem(metaInput) } return @@ -436,11 +447,13 @@ func (i *ListInputProvider) Del(value string) { } for _, ip := range ips { + metaInput := contextargs.NewMetaInput() if ip != "" { - metaInput := &contextargs.MetaInput{Input: URL, CustomIP: ip} + metaInput.Input = URL + metaInput.CustomIP = ip i.delItem(metaInput) } else { - metaInput := &contextargs.MetaInput{Input: URL} + metaInput.Input = URL i.delItem(metaInput) } } @@ -514,7 +527,8 @@ func (i *ListInputProvider) addTargets(targets []string) { func (i *ListInputProvider) removeTargets(targets []string) { for _, target := range targets { - metaInput := &contextargs.MetaInput{Input: target} + metaInput := contextargs.NewMetaInput() + metaInput.Input = target i.delItem(metaInput) } } diff --git a/pkg/input/provider/list/hmap_test.go b/pkg/input/provider/list/hmap_test.go index e8a7e8eea8..cd28b247a1 100644 --- a/pkg/input/provider/list/hmap_test.go +++ b/pkg/input/provider/list/hmap_test.go @@ -40,7 +40,7 @@ func Test_expandCIDR(t *testing.T) { // scan got := []string{} input.hostMap.Scan(func(k, _ []byte) error { - var metainput contextargs.MetaInput + metainput := contextargs.NewMetaInput() if err := metainput.Unmarshal(string(k)); err != nil { return err } @@ -141,7 +141,7 @@ func Test_scanallips_normalizeStoreInputValue(t *testing.T) { // scan got := []string{} input.hostMap.Scan(func(k, v []byte) error { - var metainput contextargs.MetaInput + metainput := contextargs.NewMetaInput() if err := metainput.Unmarshal(string(k)); err != nil { return err } @@ -184,7 +184,7 @@ func Test_expandASNInputValue(t *testing.T) { // scan the hmap got := []string{} input.hostMap.Scan(func(k, v []byte) error { - var metainput contextargs.MetaInput + metainput := contextargs.NewMetaInput() if err := metainput.Unmarshal(string(k)); err != nil { return err } diff --git a/pkg/input/provider/simple.go b/pkg/input/provider/simple.go index 71b280c2f5..c85f7871b9 100644 --- a/pkg/input/provider/simple.go +++ b/pkg/input/provider/simple.go @@ -43,7 +43,9 @@ func (s *SimpleInputProvider) Iterate(callback func(value *contextargs.MetaInput // Set adds an item to the input provider func (s *SimpleInputProvider) Set(value string) { - s.Inputs = append(s.Inputs, &contextargs.MetaInput{Input: value}) + metaInput := contextargs.NewMetaInput() + metaInput.Input = value + s.Inputs = append(s.Inputs, metaInput) } // SetWithProbe adds an item to the input provider with HTTP probing @@ -52,13 +54,17 @@ func (s *SimpleInputProvider) SetWithProbe(value string, probe types.InputLivene if err != nil { return err } - s.Inputs = append(s.Inputs, &contextargs.MetaInput{Input: probedValue}) + metaInput := contextargs.NewMetaInput() + metaInput.Input = probedValue + s.Inputs = append(s.Inputs, metaInput) return nil } // SetWithExclusions adds an item to the input provider if it doesn't match any of the exclusions func (s *SimpleInputProvider) SetWithExclusions(value string) error { - s.Inputs = append(s.Inputs, &contextargs.MetaInput{Input: value}) + metaInput := contextargs.NewMetaInput() + metaInput.Input = value + s.Inputs = append(s.Inputs, metaInput) return nil } diff --git a/pkg/protocols/common/contextargs/contextargs.go b/pkg/protocols/common/contextargs/contextargs.go index ed004ae370..af55595498 100644 --- a/pkg/protocols/common/contextargs/contextargs.go +++ b/pkg/protocols/common/contextargs/contextargs.go @@ -50,9 +50,11 @@ func NewWithInput(ctx context.Context, input string) *Context { if err != nil { gologger.Error().Msgf("contextargs: could not create cookie jar: %s\n", err) } + metaInput := NewMetaInput() + metaInput.Input = input return &Context{ ctx: ctx, - MetaInput: &MetaInput{Input: input}, + MetaInput: metaInput, CookieJar: jar, args: &mapsutil.SyncLockMap[string, interface{}]{ Map: make(map[string]interface{}), diff --git a/pkg/protocols/common/contextargs/metainput.go b/pkg/protocols/common/contextargs/metainput.go index 72eac6247d..b3c0dabe7a 100644 --- a/pkg/protocols/common/contextargs/metainput.go +++ b/pkg/protocols/common/contextargs/metainput.go @@ -6,6 +6,7 @@ import ( "fmt" "net" "strings" + "sync" jsoniter "github.com/json-iterator/go" "github.com/projectdiscovery/nuclei/v3/pkg/input/types" @@ -24,6 +25,12 @@ type MetaInput struct { // ReqResp is the raw request for the input ReqResp *types.RequestResponse `json:"raw-request,omitempty"` + + mu *sync.Mutex +} + +func NewMetaInput() *MetaInput { + return &MetaInput{mu: &sync.Mutex{}} } func (metaInput *MetaInput) marshalToBuffer() (bytes.Buffer, error) { @@ -135,10 +142,9 @@ func (metaInput *MetaInput) Unmarshal(data string) error { } func (metaInput *MetaInput) Clone() *MetaInput { - input := &MetaInput{ - Input: metaInput.Input, - CustomIP: metaInput.CustomIP, - } + input := NewMetaInput() + input.Input = metaInput.Input + input.CustomIP = metaInput.CustomIP if metaInput.ReqResp != nil { input.ReqResp = metaInput.ReqResp.Clone() } @@ -160,6 +166,9 @@ func (metaInput *MetaInput) GetScanHash(templateId string) string { // there may be some cases where metainput is changed ex: while executing self-contained template etc // but that totally changes the scanID/hash so to avoid that we compute hash only once // and reuse it for all subsequent calls + metaInput.mu.Lock() + defer metaInput.mu.Unlock() + if metaInput.hash == "" { var rawRequest string if metaInput.ReqResp != nil { diff --git a/pkg/scan/scan_context.go b/pkg/scan/scan_context.go index 69fbfde4c0..b8f59ac7d4 100644 --- a/pkg/scan/scan_context.go +++ b/pkg/scan/scan_context.go @@ -77,6 +77,9 @@ func (s *ScanContext) LogEvent(e *output.InternalWrappedEvent) { s.events = append(s.events, e) } + e.RLock() + defer e.RUnlock() + s.results = append(s.results, e.Results...) } From 2bd68993e7923bae684d16b5fda0b1711ff466e3 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Fri, 12 Jul 2024 19:45:49 +0200 Subject: [PATCH 083/283] fixing loader issue --- cmd/integration-test/loader.go | 18 ++++++++++++++++-- pkg/testutils/integration.go | 10 +++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/cmd/integration-test/loader.go b/cmd/integration-test/loader.go index 2c2beb4cd9..8e5ea40ff8 100644 --- a/cmd/integration-test/loader.go +++ b/cmd/integration-test/loader.go @@ -172,7 +172,14 @@ func (h *nonExistentTemplateList) Execute(nonExistingTemplateList string) error ts := httptest.NewServer(router) defer ts.Close() - _, err := testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-template-url", ts.URL+"/404") + configFileData := `remote-template-domain: [ "` + ts.Listener.Addr().String() + `" ]` + err := os.WriteFile("test-config.yaml", []byte(configFileData), permissionutil.ConfigFilePermission) + if err != nil { + return err + } + defer os.Remove("test-config.yaml") + + _, err = testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-template-url", ts.URL+"/404", "-config", "test-config.yaml") if err == nil { return fmt.Errorf("expected error for nonexisting workflow url") } @@ -188,7 +195,14 @@ func (h *nonExistentWorkflowList) Execute(nonExistingWorkflowList string) error ts := httptest.NewServer(router) defer ts.Close() - _, err := testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-workflow-url", ts.URL+"/404") + configFileData := `remote-template-domain: [ "` + ts.Listener.Addr().String() + `" ]` + err := os.WriteFile("test-config.yaml", []byte(configFileData), permissionutil.ConfigFilePermission) + if err != nil { + return err + } + defer os.Remove("test-config.yaml") + + _, err = testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-workflow-url", ts.URL+"/404", "-config", "test-config.yaml") if err == nil { return fmt.Errorf("expected error for nonexisting workflow url") } diff --git a/pkg/testutils/integration.go b/pkg/testutils/integration.go index 8b5a71b1ab..8bd78a53b6 100644 --- a/pkg/testutils/integration.go +++ b/pkg/testutils/integration.go @@ -14,6 +14,7 @@ import ( "github.com/gobwas/ws" "github.com/julienschmidt/httprouter" + "github.com/projectdiscovery/utils/conversion" ) // ExtraArgs @@ -74,9 +75,7 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( if debug { fmt.Println(string(data)) } - if len(data) < 1 && err != nil { - return nil, fmt.Errorf("%v: %v", err.Error(), string(data)) - } + dataStr := conversion.String(data) var parts []string items := strings.Split(string(data), "\n") for _, i := range items { @@ -84,6 +83,11 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( parts = append(parts, i) } } + + if (dataStr == "" || len(parts) == 0) && err != nil { + return nil, fmt.Errorf("%v: %v", err.Error(), dataStr) + } + return parts, nil } From 860507bbe9ecef90f3e78c04bf3fe9f6eb5a9d36 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Sun, 14 Jul 2024 23:19:42 +0200 Subject: [PATCH 084/283] fixing tests --- pkg/testutils/integration.go | 46 +++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/pkg/testutils/integration.go b/pkg/testutils/integration.go index 8bd78a53b6..83a6105cc2 100644 --- a/pkg/testutils/integration.go +++ b/pkg/testutils/integration.go @@ -71,11 +71,14 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( } else { cmd.Args = append(cmd.Args, "-silent") } - data, err := cmd.Output() + output, err := cmd.Output() + var data string + if len(output) > 0 { + data = conversion.String(output) + } if debug { - fmt.Println(string(data)) + fmt.Println(data) } - dataStr := conversion.String(data) var parts []string items := strings.Split(string(data), "\n") for _, i := range items { @@ -84,8 +87,8 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( } } - if (dataStr == "" || len(parts) == 0) && err != nil { - return nil, fmt.Errorf("%v: %v", err.Error(), dataStr) + if (data == "" || len(parts) == 0) && err != nil { + return nil, fmt.Errorf("%v: %v", err.Error(), data) } return parts, nil @@ -102,20 +105,25 @@ func RunNucleiWithArgsAndGetResults(debug bool, args ...string) ([]string, error } else { cmd.Args = append(cmd.Args, "-silent") } - data, err := cmd.Output() - if debug { - fmt.Println(string(data)) + output, err := cmd.Output() + var data string + if len(output) > 0 { + data = conversion.String(output) } - if len(data) < 1 && err != nil { - return nil, fmt.Errorf("%v: %v", err.Error(), string(data)) + if debug { + fmt.Println(data) } var parts []string - items := strings.Split(string(data), "\n") + items := strings.Split(data, "\n") for _, i := range items { if i != "" { parts = append(parts, i) } } + + if (data == "" || len(parts) == 0) && err != nil { + return nil, fmt.Errorf("%v: %v", err.Error(), data) + } return parts, nil } @@ -168,20 +176,24 @@ func RunNucleiArgsWithEnvAndGetResults(debug bool, env []string, extra ...string } else { cmd.Args = append(cmd.Args, "-silent") } - data, err := cmd.Output() - if debug { - fmt.Println(string(data)) + dataOutput, err := cmd.Output() + var data string + if len(dataOutput) > 0 { + data = conversion.String(dataOutput) } - if len(data) < 1 && err != nil { - return nil, fmt.Errorf("%v: %v", err.Error(), string(data)) + if debug { + fmt.Println(data) } var parts []string - items := strings.Split(string(data), "\n") + items := strings.Split(data, "\n") for _, i := range items { if i != "" { parts = append(parts, i) } } + if (data == "" || len(parts) == 0) && err != nil { + return nil, fmt.Errorf("%v: %v", err.Error(), data) + } return parts, nil } From cdb39d851bee9bbac7773815708d0d0d05dcd0ad Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Sun, 14 Jul 2024 23:45:28 +0200 Subject: [PATCH 085/283] trim space --- pkg/testutils/integration.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkg/testutils/integration.go b/pkg/testutils/integration.go index 83a6105cc2..7d6e7cebfa 100644 --- a/pkg/testutils/integration.go +++ b/pkg/testutils/integration.go @@ -74,7 +74,7 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( output, err := cmd.Output() var data string if len(output) > 0 { - data = conversion.String(output) + data = strings.TrimSpace(conversion.String(output)) } if debug { fmt.Println(data) @@ -108,7 +108,7 @@ func RunNucleiWithArgsAndGetResults(debug bool, args ...string) ([]string, error output, err := cmd.Output() var data string if len(output) > 0 { - data = conversion.String(output) + data = strings.TrimSpace(conversion.String(output)) } if debug { fmt.Println(data) @@ -139,12 +139,16 @@ func RunNucleiArgsAndGetErrors(debug bool, env []string, extra ...string) ([]str cmd.Args = append(cmd.Args, "-allow-local-file-access") cmd.Args = append(cmd.Args, "-nc") // disable color cmd.Env = append(cmd.Env, ExtraEnvVars...) - data, err := cmd.CombinedOutput() + dataOutput, err := cmd.CombinedOutput() if debug { - fmt.Println(string(data)) + fmt.Println(string(dataOutput)) + } + var data string + if len(dataOutput) > 0 { + data = strings.TrimSpace(conversion.String(dataOutput)) } results := []string{} - for _, v := range strings.Split(string(data), "\n") { + for _, v := range strings.Split(data, "\n") { line := strings.TrimSpace(v) switch { case strings.HasPrefix(line, "[ERR]"): @@ -179,7 +183,7 @@ func RunNucleiArgsWithEnvAndGetResults(debug bool, env []string, extra ...string dataOutput, err := cmd.Output() var data string if len(dataOutput) > 0 { - data = conversion.String(dataOutput) + data = strings.TrimSpace(conversion.String(dataOutput)) } if debug { fmt.Println(data) From d7997e47ecbbb72ea0757143438f7e157e8770d8 Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Sun, 14 Jul 2024 23:47:05 +0200 Subject: [PATCH 086/283] trim space --- pkg/testutils/integration.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/testutils/integration.go b/pkg/testutils/integration.go index 7d6e7cebfa..c8a67e41cb 100644 --- a/pkg/testutils/integration.go +++ b/pkg/testutils/integration.go @@ -80,7 +80,7 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( fmt.Println(data) } var parts []string - items := strings.Split(string(data), "\n") + items := strings.Split(data, "\n") for _, i := range items { if i != "" { parts = append(parts, i) From d4e81fd9e6a9f3c6de2b925fec029637a2aec702 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Mon, 15 Jul 2024 00:28:30 -0700 Subject: [PATCH 087/283] register goja func to check udp port (#5397) * register goja func to check port with network param * register goja func to check udp port --- pkg/js/devtools/scrapefuncs/README.md | 6 +++++- pkg/js/global/scripts.go | 23 ++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/pkg/js/devtools/scrapefuncs/README.md b/pkg/js/devtools/scrapefuncs/README.md index de7c29ce2c..ecde2d5ab4 100644 --- a/pkg/js/devtools/scrapefuncs/README.md +++ b/pkg/js/devtools/scrapefuncs/README.md @@ -42,7 +42,11 @@ Description: getNetworkPort registers defaultPort and returns defaultPort if it Name: isPortOpen Signatures: "isPortOpen(host string, port string, [timeout int]) bool" -Description: isPortOpen checks if given port is open on host. timeout is optional and defaults to 5 seconds +Description: isPortOpen checks if given TCP port is open on host. timeout is optional and defaults to 5 seconds + +Name: isUDPPortOpen +Signatures: "isUDPPortOpen(host string, port string, [timeout int]) bool" +Description: isUDPPortOpen checks if the given UDP port is open on the host. Timeout is optional and defaults to 5 seconds. Name: ToBytes Signatures: "ToBytes(...interface{}) []byte" diff --git a/pkg/js/global/scripts.go b/pkg/js/global/scripts.go index 64d6b25c17..c6771fadf3 100644 --- a/pkg/js/global/scripts.go +++ b/pkg/js/global/scripts.go @@ -109,7 +109,7 @@ func initBuiltInFunc(runtime *goja.Runtime) { Signatures: []string{ "isPortOpen(host string, port string, [timeout int]) bool", }, - Description: "isPortOpen checks if given port is open on host. timeout is optional and defaults to 5 seconds", + Description: "isPortOpen checks if given TCP port is open on host. timeout is optional and defaults to 5 seconds", FuncDecl: func(host string, port string, timeout ...int) (bool, error) { timeoutInSec := 5 if len(timeout) > 0 { @@ -124,6 +124,27 @@ func initBuiltInFunc(runtime *goja.Runtime) { }, }) + _ = gojs.RegisterFuncWithSignature(runtime, gojs.FuncOpts{ + Name: "isUDPPortOpen", + Signatures: []string{ + "isUDPPortOpen(host string, port string, [timeout int]) bool", + }, + Description: "isUDPPortOpen checks if the given UDP port is open on the host. Timeout is optional and defaults to 5 seconds.", + FuncDecl: func(host string, port string, timeout ...int) (bool, error) { + timeoutInSec := 5 + if len(timeout) > 0 { + timeoutInSec = timeout[0] + } + conn, err := net.DialTimeout("udp", net.JoinHostPort(host, port), time.Duration(timeoutInSec)*time.Second) + if err != nil { + return false, err + } + _ = conn.Close() + + return true, nil + }, + }) + _ = gojs.RegisterFuncWithSignature(runtime, gojs.FuncOpts{ Name: "ToBytes", Signatures: []string{ From f080d614c3c7dfc0e9656fb8913620de5fb0d690 Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Mon, 15 Jul 2024 13:27:15 +0300 Subject: [PATCH 088/283] introduce timeouts config in types.Options (#5228) * introduce timeout variants * update instances and add codeexectimeout * fix test * default to 10s * minor * make timeouts pluggable and rename * remove residual code --------- Co-authored-by: Tarun Koyalwar --- cmd/nuclei/main.go | 2 - pkg/js/compiler/compiler.go | 24 ++---- pkg/js/compiler/compiler_test.go | 19 +++-- pkg/js/compiler/init.go | 11 +-- pkg/protocols/code/code.go | 18 ++--- pkg/protocols/common/protocolstate/state.go | 4 +- pkg/protocols/http/http.go | 2 +- .../http/httpclientpool/clientpool.go | 23 ++---- pkg/protocols/http/request.go | 2 +- pkg/protocols/http/request_annotations.go | 6 +- pkg/protocols/javascript/js.go | 20 +++-- pkg/protocols/network/request.go | 4 +- pkg/templates/compile_test.go | 18 ++--- pkg/testutils/testutils.go | 23 +++--- pkg/tmplexec/flow/flow_executor_test.go | 18 ++--- pkg/types/types.go | 78 +++++++++++++++++-- 16 files changed, 151 insertions(+), 121 deletions(-) diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index 5aea16337c..2d2be0aa1a 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -297,7 +297,6 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.BoolVarP(&options.ShowMatchLine, "show-match-line", "sml", false, "show match lines for file templates, works with extractors only"), flagSet.BoolVar(&options.ZTLS, "ztls", false, "use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default"), //nolint:all flagSet.StringVar(&options.SNI, "sni", "", "tls sni hostname to use (default: input domain name)"), - flagSet.DurationVarP(&options.DialerTimeout, "dialer-timeout", "dt", 0, "timeout for network requests."), flagSet.DurationVarP(&options.DialerKeepAlive, "dialer-keep-alive", "dka", 0, "keep-alive duration for network requests."), flagSet.BoolVarP(&options.AllowLocalFileAccess, "allow-local-file-access", "lfa", false, "allows file (payload) access anywhere on the system"), flagSet.BoolVarP(&options.RestrictLocalNetworkAccess, "restrict-local-network-access", "lna", false, "blocks connections to the local / private network"), @@ -306,7 +305,6 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.StringVarP(&options.SourceIP, "source-ip", "sip", "", "source ip address to use for network scan"), flagSet.IntVarP(&options.ResponseReadSize, "response-size-read", "rsr", 0, "max response size to read in bytes"), flagSet.IntVarP(&options.ResponseSaveSize, "response-size-save", "rss", unitutils.Mega, "max response size to read in bytes"), - flagSet.DurationVarP(&options.ResponseReadTimeout, "response-read-timeout", "rrt", time.Duration(5*time.Second), "response read timeout in seconds"), flagSet.CallbackVar(resetCallback, "reset", "reset removes all nuclei configuration and data files (including nuclei-templates)"), flagSet.BoolVarP(&options.TlsImpersonate, "tls-impersonate", "tlsi", false, "enable experimental client hello (ja3) tls randomization"), flagSet.StringVarP(&options.HttpApiEndpoint, "http-api-endpoint", "hae", "", "experimental http api endpoint"), diff --git a/pkg/js/compiler/compiler.go b/pkg/js/compiler/compiler.go index 367bd013b2..f50e44ff2a 100644 --- a/pkg/js/compiler/compiler.go +++ b/pkg/js/compiler/compiler.go @@ -4,11 +4,11 @@ package compiler import ( "context" "fmt" - "time" "github.com/dop251/goja" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" + "github.com/projectdiscovery/nuclei/v3/pkg/types" contextutil "github.com/projectdiscovery/utils/context" "github.com/projectdiscovery/utils/errkit" stringsutil "github.com/projectdiscovery/utils/strings" @@ -38,13 +38,13 @@ type ExecuteOptions struct { // Cleanup is extra cleanup function to be called after execution Cleanup func(runtime *goja.Runtime) - /// Timeout for this script execution - Timeout int // Source is original source of the script Source *string Context context.Context + TimeoutVariants *types.Timeouts + // Manually exported objects exports map[string]interface{} } @@ -79,15 +79,6 @@ func (e ExecuteResult) GetSuccess() bool { return val } -// Execute executes a script with the default options. -func (c *Compiler) Execute(code string, args *ExecuteArgs) (ExecuteResult, error) { - p, err := WrapScriptNCompile(code, false) - if err != nil { - return nil, err - } - return c.ExecuteWithOptions(p, args, &ExecuteOptions{Context: context.Background()}) -} - // ExecuteWithOptions executes a script with the provided options. func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, opts *ExecuteOptions) (ExecuteResult, error) { if opts == nil { @@ -106,14 +97,9 @@ func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, // merge all args into templatectx args.TemplateCtx = generators.MergeMaps(args.TemplateCtx, args.Args) - if opts.Timeout <= 0 || opts.Timeout > 180 { - // some js scripts can take longer time so allow configuring timeout - // from template but keep it within sane limits (180s) - opts.Timeout = JsProtocolTimeout - } - // execute with context and timeout - ctx, cancel := context.WithTimeoutCause(opts.Context, time.Duration(opts.Timeout)*time.Second, ErrJSExecDeadline) + + ctx, cancel := context.WithTimeoutCause(opts.Context, opts.TimeoutVariants.JsCompilerExecutionTimeout, ErrJSExecDeadline) defer cancel() // execute the script results, err := contextutil.ExecFuncWithTwoReturns(ctx, func() (val goja.Value, err error) { diff --git a/pkg/js/compiler/compiler_test.go b/pkg/js/compiler/compiler_test.go index ca09e7782e..3a43a4016e 100644 --- a/pkg/js/compiler/compiler_test.go +++ b/pkg/js/compiler/compiler_test.go @@ -1,11 +1,14 @@ package compiler import ( + "context" "strings" "testing" + "time" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/gologger/levels" + "github.com/projectdiscovery/nuclei/v3/pkg/types" ) func TestNewCompilerConsoleDebug(t *testing.T) { @@ -18,23 +21,19 @@ func TestNewCompilerConsoleDebug(t *testing.T) { }) compiler := New() - _, err := compiler.Execute("console.log('hello world');", NewExecuteArgs()) + p, err := WrapScriptNCompile("console.log('hello world');", false) if err != nil { t.Fatal(err) } - if !strings.HasSuffix(gotString, "hello world") { - t.Fatalf("console.log not working, got=%v", gotString) - } -} -func TestExecuteResultGetSuccess(t *testing.T) { - compiler := New() - result, err := compiler.Execute("1+1 == 2", NewExecuteArgs()) + _, err = compiler.ExecuteWithOptions(p, NewExecuteArgs(), &ExecuteOptions{Context: context.Background(), + TimeoutVariants: &types.Timeouts{JsCompilerExecutionTimeout: time.Duration(20) * time.Second}}, + ) if err != nil { t.Fatal(err) } - if result.GetSuccess() != true { - t.Fatalf("expected true, got=%v", result.GetSuccess()) + if !strings.HasSuffix(gotString, "hello world") { + t.Fatalf("console.log not working, got=%v", gotString) } } diff --git a/pkg/js/compiler/init.go b/pkg/js/compiler/init.go index 8a171dc3da..92301df5e4 100644 --- a/pkg/js/compiler/init.go +++ b/pkg/js/compiler/init.go @@ -7,26 +7,17 @@ import ( // jsprotocolInit var ( - // Per Execution Javascript timeout in seconds - JsProtocolTimeout = 10 PoolingJsVmConcurrency = 100 NonPoolingVMConcurrency = 20 - JsTimeoutMultiplier = 1.5 ) // Init initializes the javascript protocol func Init(opts *types.Options) error { - if opts.Timeout < 10 { - // keep existing 10s timeout - return nil - } + if opts.JsConcurrency < 100 { // 100 is reasonable default opts.JsConcurrency = 100 } - // we have dialer timeout set to 10s so js needs to be at least - // 15s to return the actual error if not it will be a dialer timeout - JsProtocolTimeout = int(float64(opts.Timeout) * JsTimeoutMultiplier) PoolingJsVmConcurrency = opts.JsConcurrency PoolingJsVmConcurrency -= NonPoolingVMConcurrency return nil diff --git a/pkg/protocols/code/code.go b/pkg/protocols/code/code.go index f103f50d0c..7736113dca 100644 --- a/pkg/protocols/code/code.go +++ b/pkg/protocols/code/code.go @@ -37,8 +37,7 @@ import ( ) const ( - pythonEnvRegex = `os\.getenv\(['"]([^'"]+)['"]\)` - TimeoutMultiplier = 6 // timeout multiplier for code protocol + pythonEnvRegex = `os\.getenv\(['"]([^'"]+)['"]\)` ) var ( @@ -179,9 +178,6 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa metaSrc.AddVariable(gozerotypes.Variable{Name: name, Value: v}) } - // set timeout using multiplier - timeout := TimeoutMultiplier * request.options.Options.Timeout - if request.PreCondition != "" { if request.options.Options.Debug || request.options.Options.DebugRequests { gologger.Debug().Msgf("[%s] Executing Precondition for Code request\n", request.TemplateID) @@ -199,11 +195,11 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa result, err := request.options.JsCompiler.ExecuteWithOptions(request.preConditionCompiled, args, &compiler.ExecuteOptions{ - Timeout: timeout, - Source: &request.PreCondition, - Callback: registerPreConditionFunctions, - Cleanup: cleanUpPreConditionFunctions, - Context: input.Context(), + TimeoutVariants: request.options.Options.GetTimeouts(), + Source: &request.PreCondition, + Callback: registerPreConditionFunctions, + Cleanup: cleanUpPreConditionFunctions, + Context: input.Context(), }) if err != nil { return errorutil.NewWithTag(request.TemplateID, "could not execute pre-condition: %s", err) @@ -218,7 +214,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa } } - ctx, cancel := context.WithTimeoutCause(input.Context(), time.Duration(timeout)*time.Second, ErrCodeExecutionDeadline) + ctx, cancel := context.WithTimeoutCause(input.Context(), request.options.Options.GetTimeouts().CodeExecutionTimeout, ErrCodeExecutionDeadline) defer cancel() // Note: we use contextutil despite the fact that gozero accepts context as argument gOutput, err := contextutil.ExecFuncWithTwoReturns(ctx, func() (*gozerotypes.Result, error) { diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index cf6f5234ec..b7c7796fa8 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -34,9 +34,7 @@ func Init(options *types.Options) error { lfaAllowed = options.AllowLocalFileAccess opts := fastdialer.DefaultOptions - if options.DialerTimeout > 0 { - opts.DialerTimeout = options.DialerTimeout - } + opts.DialerTimeout = options.GetTimeouts().DialTimeout if options.DialerKeepAlive > 0 { opts.DialerKeepAlive = options.DialerKeepAlive } diff --git a/pkg/protocols/http/http.go b/pkg/protocols/http/http.go index c20cbbfa66..fc347ce88d 100644 --- a/pkg/protocols/http/http.go +++ b/pkg/protocols/http/http.go @@ -336,7 +336,7 @@ func (request *Request) Compile(options *protocols.ExecutorOptions) error { request.Raw[i] = strings.ReplaceAll(raw, "\n", "\r\n") } } - request.rawhttpClient = httpclientpool.GetRawHTTP(options.Options) + request.rawhttpClient = httpclientpool.GetRawHTTP(options) } if len(request.Matchers) > 0 || len(request.Extractors) > 0 { compiled := &request.Operators diff --git a/pkg/protocols/http/httpclientpool/clientpool.go b/pkg/protocols/http/httpclientpool/clientpool.go index b4ca5d40cf..2c244556ae 100644 --- a/pkg/protocols/http/httpclientpool/clientpool.go +++ b/pkg/protocols/http/httpclientpool/clientpool.go @@ -17,6 +17,7 @@ import ( "golang.org/x/net/publicsuffix" "github.com/projectdiscovery/fastdialer/fastdialer/ja3/impersonate" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" "github.com/projectdiscovery/nuclei/v3/pkg/types" @@ -31,28 +32,14 @@ var ( forceMaxRedirects int normalClient *retryablehttp.Client clientPool *mapsutil.SyncLockMap[string, *retryablehttp.Client] - // MaxResponseHeaderTimeout is the timeout for response headers - // to be read from the server (this prevents infinite hang started by server if any) - // Note: this will be overridden temporarily when using @timeout request annotation - MaxResponseHeaderTimeout = time.Duration(10) * time.Second - // HttpTimeoutMultiplier is the multiplier for the http timeout - HttpTimeoutMultiplier = 3 ) -// GetHttpTimeout returns the http timeout for the client -func GetHttpTimeout(opts *types.Options) time.Duration { - return time.Duration(opts.Timeout*HttpTimeoutMultiplier) * time.Second -} - // Init initializes the clientpool implementation func Init(options *types.Options) error { // Don't create clients if already created in the past. if normalClient != nil { return nil } - if options.Timeout > 10 { - MaxResponseHeaderTimeout = time.Duration(options.Timeout) * time.Second - } if options.ShouldFollowHTTPRedirects() { forceMaxRedirects = options.MaxRedirects } @@ -143,7 +130,7 @@ func (c *Configuration) HasStandardOptions() bool { } // GetRawHTTP returns the rawhttp request client -func GetRawHTTP(options *types.Options) *rawhttp.Client { +func GetRawHTTP(options *protocols.ExecutorOptions) *rawhttp.Client { if rawHttpClient == nil { rawHttpOptions := rawhttp.DefaultOptions if types.ProxyURL != "" { @@ -153,7 +140,7 @@ func GetRawHTTP(options *types.Options) *rawhttp.Client { } else if protocolstate.Dialer != nil { rawHttpOptions.FastDialer = protocolstate.Dialer } - rawHttpOptions.Timeout = GetHttpTimeout(options) + rawHttpOptions.Timeout = options.Options.GetTimeouts().HttpTimeout rawHttpClient = rawhttp.NewClient(rawHttpOptions) } return rawHttpClient @@ -239,7 +226,7 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl } // responseHeaderTimeout is max timeout for response headers to be read - responseHeaderTimeout := MaxResponseHeaderTimeout + responseHeaderTimeout := options.GetTimeouts().HttpResponseHeaderTimeout if configuration.ResponseHeaderTimeout != 0 { responseHeaderTimeout = configuration.ResponseHeaderTimeout } @@ -308,7 +295,7 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl CheckRedirect: makeCheckRedirectFunc(redirectFlow, maxRedirects), } if !configuration.NoTimeout { - httpclient.Timeout = GetHttpTimeout(options) + httpclient.Timeout = options.GetTimeouts().HttpTimeout } client := retryablehttp.NewWithHTTPClient(httpclient, retryableHttpOptions) if jar != nil { diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index c84db691f7..0df13b8872 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -483,7 +483,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa request.options.RateLimitTake() ctx := request.newContext(input) - ctxWithTimeout, cancel := context.WithTimeoutCause(ctx, httpclientpool.GetHttpTimeout(request.options.Options), ErrHttpEngineRequestDeadline) + ctxWithTimeout, cancel := context.WithTimeoutCause(ctx, request.options.Options.GetTimeouts().HttpTimeout, ErrHttpEngineRequestDeadline) defer cancel() generatedHttpRequest, err := generator.Make(ctxWithTimeout, input, data, payloads, dynamicValue) diff --git a/pkg/protocols/http/request_annotations.go b/pkg/protocols/http/request_annotations.go index c0f4b69774..fa2a5eaedd 100644 --- a/pkg/protocols/http/request_annotations.go +++ b/pkg/protocols/http/request_annotations.go @@ -130,6 +130,10 @@ func (r *Request) parseAnnotations(rawRequest string, request *retryablehttp.Req if duration := reTimeoutAnnotation.FindStringSubmatch(rawRequest); len(duration) > 0 { value := strings.TrimSpace(duration[1]) if parsed, err := time.ParseDuration(value); err == nil { + // to avoid dos via timeout request annotation in http template we set it to maximum of 2 minutes + if parsed > 2*time.Minute { + parsed = 2 * time.Minute + } //nolint:govet // cancelled automatically by withTimeout // global timeout is overridden by annotation by replacing context ctx, overrides.cancelFunc = context.WithTimeoutCause(context.TODO(), parsed, ErrTimeoutAnnotationDeadline) @@ -140,7 +144,7 @@ func (r *Request) parseAnnotations(rawRequest string, request *retryablehttp.Req } else { //nolint:govet // cancelled automatically by withTimeout // global timeout is overridden by annotation by replacing context - ctx, overrides.cancelFunc = context.WithTimeoutCause(context.TODO(), httpclientpool.GetHttpTimeout(r.options.Options), ErrRequestTimeoutDeadline) + ctx, overrides.cancelFunc = context.WithTimeoutCause(context.TODO(), r.options.Options.GetTimeouts().HttpTimeout, ErrRequestTimeoutDeadline) request = request.Clone(ctx) } } diff --git a/pkg/protocols/javascript/js.go b/pkg/protocols/javascript/js.go index 71f9f53413..2e43c61cd9 100644 --- a/pkg/protocols/javascript/js.go +++ b/pkg/protocols/javascript/js.go @@ -65,9 +65,6 @@ type Request struct { // Code contains code to execute for the javascript request. Code string `yaml:"code,omitempty" json:"code,omitempty" jsonschema:"title=code to execute in javascript,description=Executes inline javascript code for the request"` // description: | - // Timeout in seconds is optional timeout for each javascript script execution (i.e init, pre-condition, code) - Timeout int `yaml:"timeout,omitempty" json:"timeout,omitempty" jsonschema:"title=timeout for javascript execution,description=Timeout in seconds is optional timeout for entire javascript script execution"` - // description: | // StopAtFirstMatch stops processing the request at first match. StopAtFirstMatch bool `yaml:"stop-at-first-match,omitempty" json:"stop-at-first-match,omitempty" jsonschema:"title=stop at first match,description=Stop the execution after a match is found"` // description: | @@ -153,9 +150,9 @@ func (request *Request) Compile(options *protocols.ExecutorOptions) error { } opts := &compiler.ExecuteOptions{ - Timeout: request.Timeout, - Source: &request.Init, - Context: context.Background(), + TimeoutVariants: request.options.Options.GetTimeouts(), + Source: &request.Init, + Context: context.Background(), } // register 'export' function to export variables from init code // these are saved in args and are available in pre-condition and request code @@ -345,7 +342,10 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, dynamicV argsCopy.TemplateCtx = templateCtx.GetAll() result, err := request.options.JsCompiler.ExecuteWithOptions(request.preConditionCompiled, argsCopy, - &compiler.ExecuteOptions{Timeout: request.Timeout, Source: &request.PreCondition, Context: target.Context()}) + &compiler.ExecuteOptions{ + TimeoutVariants: requestOptions.Options.GetTimeouts(), + Source: &request.PreCondition, Context: target.Context(), + }) if err != nil { return errorutil.NewWithTag(request.TemplateID, "could not execute pre-condition: %s", err) } @@ -500,7 +500,11 @@ func (request *Request) executeRequestWithPayloads(hostPort string, input *conte } results, err := request.options.JsCompiler.ExecuteWithOptions(request.scriptCompiled, argsCopy, - &compiler.ExecuteOptions{Timeout: request.Timeout, Source: &request.Code, Context: input.Context()}) + &compiler.ExecuteOptions{ + TimeoutVariants: requestOptions.Options.GetTimeouts(), + Source: &request.Code, + Context: input.Context(), + }) if err != nil { // shouldn't fail even if it returned error instead create a failure event results = compiler.ExecuteResult{"success": false, "error": err.Error()} diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 62807abf93..90390e53c3 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -327,7 +327,7 @@ func (request *Request) executeRequestWithPayloads(variables map[string]interfac } if input.Read > 0 { - buffer, err := ConnReadNWithTimeout(conn, int64(input.Read), request.options.Options.ResponseReadTimeout) + buffer, err := ConnReadNWithTimeout(conn, int64(input.Read), request.options.Options.GetTimeouts().TcpReadTimeout) if err != nil { return errorutil.NewWithErr(err).Msgf("could not read response from connection") } @@ -377,7 +377,7 @@ func (request *Request) executeRequestWithPayloads(variables map[string]interfac bufferSize = -1 } - final, err := ConnReadNWithTimeout(conn, int64(bufferSize), request.options.Options.ResponseReadTimeout) + final, err := ConnReadNWithTimeout(conn, int64(bufferSize), request.options.Options.GetTimeouts().TcpReadTimeout) if err != nil { request.options.Output.Request(request.options.TemplatePath, address, request.Type().String(), err) gologger.Verbose().Msgf("could not read more data from %s: %s", actualAddress, err) diff --git a/pkg/templates/compile_test.go b/pkg/templates/compile_test.go index 81c5f8fd51..91a858bd7e 100644 --- a/pkg/templates/compile_test.go +++ b/pkg/templates/compile_test.go @@ -39,15 +39,15 @@ func setup() { progressImpl, _ := progress.NewStatsTicker(0, false, false, false, 0) executerOpts = protocols.ExecutorOptions{ - Output: testutils.NewMockOutputWriter(options.OmitTemplate), - Options: options, - Progress: progressImpl, - ProjectFile: nil, - IssuesClient: nil, - Browser: nil, - Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), - RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), - Parser: templates.NewParser(), + Output: testutils.NewMockOutputWriter(options.OmitTemplate), + Options: options, + Progress: progressImpl, + ProjectFile: nil, + IssuesClient: nil, + Browser: nil, + Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), + RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), + Parser: templates.NewParser(), } workflowLoader, err := workflow.NewLoader(&executerOpts) if err != nil { diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go index 6e6f94d9eb..930787aab9 100644 --- a/pkg/testutils/testutils.go +++ b/pkg/testutils/testutils.go @@ -76,7 +76,6 @@ var DefaultOptions = &types.Options{ InteractionsPollDuration: 5, GitHubTemplateRepo: []string{}, GitHubToken: "", - ResponseReadTimeout: time.Second * 5, } // TemplateInfo contains info for a mock executed template. @@ -90,17 +89,17 @@ type TemplateInfo struct { func NewMockExecuterOptions(options *types.Options, info *TemplateInfo) *protocols.ExecutorOptions { progressImpl, _ := progress.NewStatsTicker(0, false, false, false, 0) executerOpts := &protocols.ExecutorOptions{ - TemplateID: info.ID, - TemplateInfo: info.Info, - TemplatePath: info.Path, - Output: NewMockOutputWriter(options.OmitTemplate), - Options: options, - Progress: progressImpl, - ProjectFile: nil, - IssuesClient: nil, - Browser: nil, - Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), - RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), + TemplateID: info.ID, + TemplateInfo: info.Info, + TemplatePath: info.Path, + Output: NewMockOutputWriter(options.OmitTemplate), + Options: options, + Progress: progressImpl, + ProjectFile: nil, + IssuesClient: nil, + Browser: nil, + Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), + RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), } executerOpts.CreateTemplateCtxStore() return executerOpts diff --git a/pkg/tmplexec/flow/flow_executor_test.go b/pkg/tmplexec/flow/flow_executor_test.go index b47b38a2a0..cf7b1790a6 100644 --- a/pkg/tmplexec/flow/flow_executor_test.go +++ b/pkg/tmplexec/flow/flow_executor_test.go @@ -27,15 +27,15 @@ func setup() { progressImpl, _ := progress.NewStatsTicker(0, false, false, false, 0) executerOpts = protocols.ExecutorOptions{ - Output: testutils.NewMockOutputWriter(options.OmitTemplate), - Options: options, - Progress: progressImpl, - ProjectFile: nil, - IssuesClient: nil, - Browser: nil, - Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), - RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), - Parser: templates.NewParser(), + Output: testutils.NewMockOutputWriter(options.OmitTemplate), + Options: options, + Progress: progressImpl, + ProjectFile: nil, + IssuesClient: nil, + Browser: nil, + Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), + RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), + Parser: templates.NewParser(), } workflowLoader, err := workflow.NewLoader(&executerOpts) if err != nil { diff --git a/pkg/types/types.go b/pkg/types/types.go index f49da194cc..48e9039d37 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -278,8 +278,6 @@ type Options struct { SNI string // InputFileMode specifies the mode of input file (jsonl, burp, openapi, swagger, etc) InputFileMode string - // DialerTimeout sets the timeout for network requests. - DialerTimeout time.Duration // DialerKeepAlive sets the keep alive duration for network requests. DialerKeepAlive time.Duration // Interface to use for network scan @@ -292,8 +290,6 @@ type Options struct { ResponseReadSize int // ResponseSaveSize is the maximum size of response to save ResponseSaveSize int - // ResponseReadTimeout is response read timeout in seconds - ResponseReadTimeout time.Duration // Health Check HealthCheck bool // Time to wait between each input read operation before closing the stream @@ -406,6 +402,79 @@ type Options struct { HttpApiEndpoint string // ListTemplateProfiles lists all available template profiles ListTemplateProfiles bool + // timeouts contains various types of timeouts used in nuclei + // these timeouts are derived from dial-timeout (-timeout) with known multipliers + // This is internally managed and does not need to be set by user by explicitly setting + // this overrides the default/derived one + timeouts *Timeouts +} + +// SetTimeouts sets the timeout variants to use for the executor +func (opts *Options) SetTimeouts(t *Timeouts) { + opts.timeouts = t +} + +// GetTimeouts returns the timeout variants to use for the executor +func (eo *Options) GetTimeouts() *Timeouts { + if eo.timeouts != nil { + // redundant but apply to avoid any potential issues + eo.timeouts.ApplyDefaults() + return eo.timeouts + } + // set timeout variant value + eo.timeouts = NewTimeoutVariant(eo.Timeout) + eo.timeouts.ApplyDefaults() + return eo.timeouts +} + +// Timeouts is a struct that contains all the timeout variants for nuclei +// dialer timeout is used to derive other timeouts +type Timeouts struct { + // DialTimeout for fastdialer (default 10s) + DialTimeout time.Duration + // Tcp(Network Protocol) Read From Connection Timeout (default 5s) + TcpReadTimeout time.Duration + // Http Response Header Timeout (default 10s) + // this timeout prevents infinite hangs started by server if any + // this is temporarily overridden when using @timeout request annotation + HttpResponseHeaderTimeout time.Duration + // HttpTimeout for http client (default -> 3 x dial-timeout = 30s) + HttpTimeout time.Duration + // JsCompilerExec timeout/deadline (default -> 2 x dial-timeout = 20s) + JsCompilerExecutionTimeout time.Duration + // CodeExecutionTimeout for code execution (default -> 3 x dial-timeout = 30s) + CodeExecutionTimeout time.Duration +} + +// NewTimeoutVariant creates a new timeout variant with the given dial timeout in seconds +func NewTimeoutVariant(dialTimeoutSec int) *Timeouts { + tv := &Timeouts{ + DialTimeout: time.Duration(dialTimeoutSec) * time.Second, + } + tv.ApplyDefaults() + return tv +} + +// ApplyDefaults applies default values to timeout variants when missing +func (tv *Timeouts) ApplyDefaults() { + if tv.DialTimeout == 0 { + tv.DialTimeout = 10 * time.Second + } + if tv.TcpReadTimeout == 0 { + tv.TcpReadTimeout = 5 * time.Second + } + if tv.HttpResponseHeaderTimeout == 0 { + tv.HttpResponseHeaderTimeout = 10 * time.Second + } + if tv.HttpTimeout == 0 { + tv.HttpTimeout = 3 * tv.DialTimeout + } + if tv.JsCompilerExecutionTimeout == 0 { + tv.JsCompilerExecutionTimeout = 2 * tv.DialTimeout + } + if tv.CodeExecutionTimeout == 0 { + tv.CodeExecutionTimeout = 3 * tv.DialTimeout + } } // ShouldLoadResume resume file @@ -444,7 +513,6 @@ func DefaultOptions() *Options { MaxHostError: 30, ResponseReadSize: 10 * unitutils.Mega, ResponseSaveSize: unitutils.Mega, - ResponseReadTimeout: 5 * time.Second, } } From 49d85796627f37cb1471e6b1673c28fed0b9abc8 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 15 Jul 2024 10:28:25 +0000 Subject: [PATCH 089/283] Auto Generate Syntax Docs + JSONSchema [Mon Jul 15 10:28:25 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 13 ---------- nuclei-jsonschema.json | 5 ---- pkg/templates/templates_doc.go | 43 +++++++++++++++------------------- 3 files changed, 19 insertions(+), 42 deletions(-) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index 0db5711f5a..d6449e29e4 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -4339,19 +4339,6 @@ Code contains code to execute for the javascript request.
-timeout int - -
-
- -Timeout in seconds is optional timeout for each javascript script execution (i.e init, pre-condition, code) - -
- -
- -
- stop-at-first-match bool
diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index 61bdc68ff8..73ba92381e 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -941,11 +941,6 @@ "title": "code to execute in javascript", "description": "Executes inline javascript code for the request" }, - "timeout": { - "type": "integer", - "title": "timeout for javascript execution", - "description": "Timeout in seconds is optional timeout for entire javascript script execution" - }, "stop-at-first-match": { "type": "boolean", "title": "stop at first match", diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index 536b80ad7f..53864516a7 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -1929,7 +1929,7 @@ func init() { Value: "Matched is the input which was matched upon", }, } - JAVASCRIPTRequestDoc.Fields = make([]encoder.Doc, 10) + JAVASCRIPTRequestDoc.Fields = make([]encoder.Doc, 9) JAVASCRIPTRequestDoc.Fields[0].Name = "id" JAVASCRIPTRequestDoc.Fields[0].Type = "string" JAVASCRIPTRequestDoc.Fields[0].Note = "" @@ -1955,33 +1955,28 @@ func init() { JAVASCRIPTRequestDoc.Fields[4].Note = "" JAVASCRIPTRequestDoc.Fields[4].Description = "Code contains code to execute for the javascript request." JAVASCRIPTRequestDoc.Fields[4].Comments[encoder.LineComment] = "Code contains code to execute for the javascript request." - JAVASCRIPTRequestDoc.Fields[5].Name = "timeout" - JAVASCRIPTRequestDoc.Fields[5].Type = "int" + JAVASCRIPTRequestDoc.Fields[5].Name = "stop-at-first-match" + JAVASCRIPTRequestDoc.Fields[5].Type = "bool" JAVASCRIPTRequestDoc.Fields[5].Note = "" - JAVASCRIPTRequestDoc.Fields[5].Description = "Timeout in seconds is optional timeout for each javascript script execution (i.e init, pre-condition, code)" - JAVASCRIPTRequestDoc.Fields[5].Comments[encoder.LineComment] = "Timeout in seconds is optional timeout for each javascript script execution (i.e init, pre-condition, code)" - JAVASCRIPTRequestDoc.Fields[6].Name = "stop-at-first-match" - JAVASCRIPTRequestDoc.Fields[6].Type = "bool" + JAVASCRIPTRequestDoc.Fields[5].Description = "StopAtFirstMatch stops processing the request at first match." + JAVASCRIPTRequestDoc.Fields[5].Comments[encoder.LineComment] = "StopAtFirstMatch stops processing the request at first match." + JAVASCRIPTRequestDoc.Fields[6].Name = "attack" + JAVASCRIPTRequestDoc.Fields[6].Type = "generators.AttackTypeHolder" JAVASCRIPTRequestDoc.Fields[6].Note = "" - JAVASCRIPTRequestDoc.Fields[6].Description = "StopAtFirstMatch stops processing the request at first match." - JAVASCRIPTRequestDoc.Fields[6].Comments[encoder.LineComment] = "StopAtFirstMatch stops processing the request at first match." - JAVASCRIPTRequestDoc.Fields[7].Name = "attack" - JAVASCRIPTRequestDoc.Fields[7].Type = "generators.AttackTypeHolder" + JAVASCRIPTRequestDoc.Fields[6].Description = "Attack is the type of payload combinations to perform.\n\nSniper is each payload once, pitchfork combines multiple payload sets and clusterbomb generates\npermutations and combinations for all payloads." + JAVASCRIPTRequestDoc.Fields[6].Comments[encoder.LineComment] = "Attack is the type of payload combinations to perform." + JAVASCRIPTRequestDoc.Fields[7].Name = "threads" + JAVASCRIPTRequestDoc.Fields[7].Type = "int" JAVASCRIPTRequestDoc.Fields[7].Note = "" - JAVASCRIPTRequestDoc.Fields[7].Description = "Attack is the type of payload combinations to perform.\n\nSniper is each payload once, pitchfork combines multiple payload sets and clusterbomb generates\npermutations and combinations for all payloads." - JAVASCRIPTRequestDoc.Fields[7].Comments[encoder.LineComment] = "Attack is the type of payload combinations to perform." - JAVASCRIPTRequestDoc.Fields[8].Name = "threads" - JAVASCRIPTRequestDoc.Fields[8].Type = "int" + JAVASCRIPTRequestDoc.Fields[7].Description = "Payload concurreny i.e threads for sending requests." + JAVASCRIPTRequestDoc.Fields[7].Comments[encoder.LineComment] = "Payload concurreny i.e threads for sending requests." + + JAVASCRIPTRequestDoc.Fields[7].AddExample("Send requests using 10 concurrent threads", 10) + JAVASCRIPTRequestDoc.Fields[8].Name = "payloads" + JAVASCRIPTRequestDoc.Fields[8].Type = "map[string]interface{}" JAVASCRIPTRequestDoc.Fields[8].Note = "" - JAVASCRIPTRequestDoc.Fields[8].Description = "Payload concurreny i.e threads for sending requests." - JAVASCRIPTRequestDoc.Fields[8].Comments[encoder.LineComment] = "Payload concurreny i.e threads for sending requests." - - JAVASCRIPTRequestDoc.Fields[8].AddExample("Send requests using 10 concurrent threads", 10) - JAVASCRIPTRequestDoc.Fields[9].Name = "payloads" - JAVASCRIPTRequestDoc.Fields[9].Type = "map[string]interface{}" - JAVASCRIPTRequestDoc.Fields[9].Note = "" - JAVASCRIPTRequestDoc.Fields[9].Description = "Payloads contains any payloads for the current request.\n\nPayloads support both key-values combinations where a list\nof payloads is provided, or optionally a single file can also\nbe provided as payload which will be read on run-time." - JAVASCRIPTRequestDoc.Fields[9].Comments[encoder.LineComment] = "Payloads contains any payloads for the current request." + JAVASCRIPTRequestDoc.Fields[8].Description = "Payloads contains any payloads for the current request.\n\nPayloads support both key-values combinations where a list\nof payloads is provided, or optionally a single file can also\nbe provided as payload which will be read on run-time." + JAVASCRIPTRequestDoc.Fields[8].Comments[encoder.LineComment] = "Payloads contains any payloads for the current request." HTTPSignatureTypeHolderDoc.Type = "http.SignatureTypeHolder" HTTPSignatureTypeHolderDoc.Comments[encoder.LineComment] = " SignatureTypeHolder is used to hold internal type of the signature" From 0b71d983a5fd5ddf7cf89655d037030de8a2053b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:22:16 +0000 Subject: [PATCH 090/283] chore(deps): bump github.com/projectdiscovery/dsl from 0.1.3 to 0.1.6 Bumps [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) from 0.1.3 to 0.1.6. - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](https://github.com/projectdiscovery/dsl/compare/v0.1.3...v0.1.6) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/dsl dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 29ea6becc6..578da71d01 100644 --- a/go.mod +++ b/go.mod @@ -79,11 +79,11 @@ require ( github.com/mholt/archiver v3.1.1+incompatible github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.1.3 + github.com/projectdiscovery/dsl v0.1.6 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.56 - github.com/projectdiscovery/gologger v1.1.13 + github.com/projectdiscovery/gologger v1.1.14 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.3 @@ -95,7 +95,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.57 - github.com/projectdiscovery/utils v0.1.6 + github.com/projectdiscovery/utils v0.2.0 github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 2ff05a1532..02d85e58a9 100644 --- a/go.sum +++ b/go.sum @@ -834,8 +834,8 @@ github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQO github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.1.3 h1:Lxlgpx8lwq/CaBjVUmwF6KmkMDnYf9IVKlMsWCF72OE= -github.com/projectdiscovery/dsl v0.1.3/go.mod h1:WAuQLD4KQ/94RASotE7cvk7X6kY7JQG9Fcqc3lRQfpI= +github.com/projectdiscovery/dsl v0.1.6 h1:6TUYMwbjcYJ5OoRoawPX1SYD7wgubX/1FreC8SwFqgc= +github.com/projectdiscovery/dsl v0.1.6/go.mod h1:1PAV9A6X+fdyMXW0SY4i0BHrO8yN2+FB2jp25+0AT04= github.com/projectdiscovery/fastdialer v0.1.5 h1:5rNJ8I+GVzDsUqRSVLUqGTm7LsshfNYmCh20lLn1aaI= github.com/projectdiscovery/fastdialer v0.1.5/go.mod h1:oVoMl9Y6da2timhszy0okyBvhbKDSk+zqFazGV4y6pU= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= @@ -846,8 +846,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.56 h1:tJYiZN7s9Jk9DxfYOUiqOoybaIDlXyX4ZgT4B/06SyU= github.com/projectdiscovery/goflags v0.1.56/go.mod h1:DsGF0NPpM5hGg75N3MTSvWJ4MIT7HFEAOEeWZ074+Fg= -github.com/projectdiscovery/gologger v1.1.13 h1:7h4yCnMk+DQ/43v+A3NuA1uuI4XlJd0W0xvTZioD05E= -github.com/projectdiscovery/gologger v1.1.13/go.mod h1:PAsVPr2aHoopCzE0BOnp2bPCv+BU/Oq81ygcP3xVwgI= +github.com/projectdiscovery/gologger v1.1.14 h1:8SS9qDCisCFffKHzWMX+GDDArxBJ9A7DhYrESEixAYo= +github.com/projectdiscovery/gologger v1.1.14/go.mod h1:CPk1nAZ3PqgspKBuSJR+xwY2i/Rm+P/ovahpP30EJy8= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= @@ -888,8 +888,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.57 h1:y6ML3GVJ6Sq+nhqk2gY9aD0JNaKzfpunJPjPN40eVN4= github.com/projectdiscovery/useragent v0.0.57/go.mod h1:iChqL4rGApUsdXhAzItirEpMvYYOlruieZE+nqoKpCc= -github.com/projectdiscovery/utils v0.1.6 h1:fzdN+oCTics3hPPOEV1FWqf/Hpenav5Ml/73aEwpTZc= -github.com/projectdiscovery/utils v0.1.6/go.mod h1:kOnMoFfuQMY8U+nh8e32odjC00iEbiLVBcDxyAZFwCc= +github.com/projectdiscovery/utils v0.2.0 h1:GC9FOq2mVacVYZgD2s6XW7RP6jAC/XjOKclSpLYPUUQ= +github.com/projectdiscovery/utils v0.2.0/go.mod h1:kOnMoFfuQMY8U+nh8e32odjC00iEbiLVBcDxyAZFwCc= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 3e1cd279433b845bd2a064e582926ff8b23254fb Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Mon, 15 Jul 2024 04:27:12 -0700 Subject: [PATCH 091/283] Fix stop-at-first-match in headless mode fuzzing (#5330) --- pkg/protocols/headless/request.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/protocols/headless/request.go b/pkg/protocols/headless/request.go index 05bf5d3548..973dfa642a 100644 --- a/pkg/protocols/headless/request.go +++ b/pkg/protocols/headless/request.go @@ -215,6 +215,10 @@ func (request *Request) executeRequestWithPayloads(input *contextargs.Context, p } dumpResponse(event, request.options, responseBody, input.MetaInput.Input) + shouldStopAtFirstMatch := request.StopAtFirstMatch || request.options.StopAtFirstMatch || request.options.Options.StopAtFirstMatch + if shouldStopAtFirstMatch && event.HasOperatorResult() { + return types.ErrNoMoreRequests + } return nil } From deb0dd2a5fab1e162ade26f16238da940b19ee94 Mon Sep 17 00:00:00 2001 From: boyhack <34109680@qq.com> Date: Mon, 15 Jul 2024 19:32:14 +0800 Subject: [PATCH 092/283] fix(engine): Resolve issue with ExecuteWithResults function not returning expected results (#5376) fix(engine): Resolve issue with ExecuteWithResults function not returning expected results When attempting to use the `ExecuteWithResults` function, users were finding that the function was not returning the expected results. This fix addresses the root cause of this problem. --- pkg/core/executors.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/core/executors.go b/pkg/core/executors.go index 0e91c3883b..8447efed13 100644 --- a/pkg/core/executors.go +++ b/pkg/core/executors.go @@ -27,7 +27,7 @@ func (e *Engine) executeAllSelfContained(ctx context.Context, alltemplates []*te var match bool ctx := scan.NewScanContext(ctx, contextargs.New(ctx)) if e.Callback != nil { - if results, err := template.Executer.ExecuteWithResults(ctx); err != nil { + if results, err := template.Executer.ExecuteWithResults(ctx); err == nil { for _, result := range results { e.Callback(result) } @@ -129,7 +129,7 @@ func (e *Engine) executeTemplateWithTargets(ctx context.Context, template *templ match = e.executeWorkflow(ctx, template.CompiledWorkflow) default: if e.Callback != nil { - if results, err := template.Executer.ExecuteWithResults(ctx); err != nil { + if results, err := template.Executer.ExecuteWithResults(ctx); err == nil { for _, result := range results { e.Callback(result) } @@ -194,7 +194,7 @@ func (e *Engine) executeTemplatesOnTarget(ctx context.Context, alltemplates []*t match = e.executeWorkflow(ctx, template.CompiledWorkflow) default: if e.Callback != nil { - if results, err := template.Executer.ExecuteWithResults(ctx); err != nil { + if results, err := template.Executer.ExecuteWithResults(ctx); err == nil { for _, result := range results { e.Callback(result) } From ceea533681abcb89a1b3757a56a28bf4fa56bc4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:48:13 +0000 Subject: [PATCH 093/283] chore(deps): bump github.com/projectdiscovery/goflags Bumps [github.com/projectdiscovery/goflags](https://github.com/projectdiscovery/goflags) from 0.1.56 to 0.1.59. - [Release notes](https://github.com/projectdiscovery/goflags/releases) - [Commits](https://github.com/projectdiscovery/goflags/compare/v0.1.56...v0.1.59) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/goflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 578da71d01..25c924037a 100644 --- a/go.mod +++ b/go.mod @@ -82,7 +82,7 @@ require ( github.com/projectdiscovery/dsl v0.1.6 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.56 + github.com/projectdiscovery/goflags v0.1.59 github.com/projectdiscovery/gologger v1.1.14 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 diff --git a/go.sum b/go.sum index 02d85e58a9..859dee0c5b 100644 --- a/go.sum +++ b/go.sum @@ -844,8 +844,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.56 h1:tJYiZN7s9Jk9DxfYOUiqOoybaIDlXyX4ZgT4B/06SyU= -github.com/projectdiscovery/goflags v0.1.56/go.mod h1:DsGF0NPpM5hGg75N3MTSvWJ4MIT7HFEAOEeWZ074+Fg= +github.com/projectdiscovery/goflags v0.1.59 h1:rFScpC57L0Ln0dJmBtstyxHUH7K9H4UmHACXcSkdqqk= +github.com/projectdiscovery/goflags v0.1.59/go.mod h1:dj67QGp/D81WRLtzU0HsWR20zgoGZ0cnk3Wbt9xJcuo= github.com/projectdiscovery/gologger v1.1.14 h1:8SS9qDCisCFffKHzWMX+GDDArxBJ9A7DhYrESEixAYo= github.com/projectdiscovery/gologger v1.1.14/go.mod h1:CPk1nAZ3PqgspKBuSJR+xwY2i/Rm+P/ovahpP30EJy8= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= From 455a900a961b671352b2293f640c4307fac0a52f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:48:27 +0000 Subject: [PATCH 094/283] chore(deps): bump github.com/projectdiscovery/cdncheck Bumps [github.com/projectdiscovery/cdncheck](https://github.com/projectdiscovery/cdncheck) from 1.0.9 to 1.1.0. - [Release notes](https://github.com/projectdiscovery/cdncheck/releases) - [Changelog](https://github.com/projectdiscovery/cdncheck/blob/main/.goreleaser.yaml) - [Commits](https://github.com/projectdiscovery/cdncheck/compare/v1.0.9...v1.1.0) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/cdncheck dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 3 +-- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 578da71d01..4cbc641f03 100644 --- a/go.mod +++ b/go.mod @@ -201,7 +201,7 @@ require ( github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/projectdiscovery/asnmap v1.1.1 // indirect - github.com/projectdiscovery/cdncheck v1.0.9 // indirect + github.com/projectdiscovery/cdncheck v1.1.0 // indirect github.com/projectdiscovery/freeport v0.0.5 // indirect github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb // indirect github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect @@ -293,7 +293,6 @@ require ( github.com/trivago/tgo v1.0.7 github.com/ulikunitz/xz v0.5.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/yl2chen/cidranger v1.0.2 // indirect github.com/ysmood/goob v0.4.0 // indirect github.com/ysmood/gson v0.7.3 // indirect github.com/ysmood/leakless v0.8.0 // indirect diff --git a/go.sum b/go.sum index 02d85e58a9..35c8639ef7 100644 --- a/go.sum +++ b/go.sum @@ -830,8 +830,8 @@ github.com/projectdiscovery/asnmap v1.1.1 h1:ImJiKIaACOT7HPx4Pabb5dksolzaFYsD1kI github.com/projectdiscovery/asnmap v1.1.1/go.mod h1:QT7jt9nQanj+Ucjr9BqGr1Q2veCCKSAVyUzLXfEcQ60= github.com/projectdiscovery/blackrock v0.0.1 h1:lHQqhaaEFjgf5WkuItbpeCZv2DUIE45k0VbGJyft6LQ= github.com/projectdiscovery/blackrock v0.0.1/go.mod h1:ANUtjDfaVrqB453bzToU+YB4cUbvBRpLvEwoWIwlTss= -github.com/projectdiscovery/cdncheck v1.0.9 h1:BS15gzj9gb5AVSKqTDzPamfSgStu7nJQOocUvrssFlg= -github.com/projectdiscovery/cdncheck v1.0.9/go.mod h1:18SSl1w7rMj53CGeRIZTbDoa286a6xZIxGbaiEo4Fxs= +github.com/projectdiscovery/cdncheck v1.1.0 h1:qDITidmJsejzpk3rMkauCh6sjI2GH9hW/snk0cQ3kXE= +github.com/projectdiscovery/cdncheck v1.1.0/go.mod h1:sZ8U4MjHSsyaTVjBbYWHT1cwUVvUYwDX1W+WvWRicIc= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.6 h1:6TUYMwbjcYJ5OoRoawPX1SYD7wgubX/1FreC8SwFqgc= From 2e78b50f8049ff844edaf33a09e23f1b078a7f03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:48:28 +0000 Subject: [PATCH 095/283] chore(deps): bump github.com/projectdiscovery/rawhttp Bumps [github.com/projectdiscovery/rawhttp](https://github.com/projectdiscovery/rawhttp) from 0.1.51 to 0.1.57. - [Release notes](https://github.com/projectdiscovery/rawhttp/releases) - [Commits](https://github.com/projectdiscovery/rawhttp/compare/v0.1.51...v0.1.57) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/rawhttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 578da71d01..018abb64f2 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.5 - github.com/projectdiscovery/hmap v0.0.48 + github.com/projectdiscovery/fastdialer v0.1.6 + github.com/projectdiscovery/hmap v0.0.49 github.com/projectdiscovery/interactsh v1.2.0 - github.com/projectdiscovery/rawhttp v0.1.51 + github.com/projectdiscovery/rawhttp v0.1.57 github.com/projectdiscovery/retryabledns v1.0.65 - github.com/projectdiscovery/retryablehttp-go v1.0.67 + github.com/projectdiscovery/retryablehttp-go v1.0.68 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 diff --git a/go.sum b/go.sum index 02d85e58a9..260c57428f 100644 --- a/go.sum +++ b/go.sum @@ -836,8 +836,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.6 h1:6TUYMwbjcYJ5OoRoawPX1SYD7wgubX/1FreC8SwFqgc= github.com/projectdiscovery/dsl v0.1.6/go.mod h1:1PAV9A6X+fdyMXW0SY4i0BHrO8yN2+FB2jp25+0AT04= -github.com/projectdiscovery/fastdialer v0.1.5 h1:5rNJ8I+GVzDsUqRSVLUqGTm7LsshfNYmCh20lLn1aaI= -github.com/projectdiscovery/fastdialer v0.1.5/go.mod h1:oVoMl9Y6da2timhszy0okyBvhbKDSk+zqFazGV4y6pU= +github.com/projectdiscovery/fastdialer v0.1.6 h1:dtdE7WjaydpndKPcUYWms5iOhBSC0nvBAHyZd6I4pdQ= +github.com/projectdiscovery/fastdialer v0.1.6/go.mod h1:a5XOjvaO4b+ddO/YLoM4nvK3CPPviW6HmoAd+AoszMw= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -852,8 +852,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.48 h1:pbxoDcwZWSdaqZ3QgaG5Aw1G1qEFN2zeQco6eWeROAo= -github.com/projectdiscovery/hmap v0.0.48/go.mod h1:KMSbPJoIgI+9PkG6alZ0INEMRiIGnND128RUjxiY+8I= +github.com/projectdiscovery/hmap v0.0.49 h1:QNW98JDqd0nmaIFRMbn0sLocRIGXAud1liGip4iPdvc= +github.com/projectdiscovery/hmap v0.0.49/go.mod h1:BA4cyYTrWKMUa78815R6p3tuGiYu2MJHYnjwXmefdbU= github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -870,14 +870,14 @@ github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+ github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= github.com/projectdiscovery/ratelimit v0.0.45 h1:h28oF+hJ0CHcdBZozT1Go7ppWmzTxSXDKNNh2G1Ot9Q= github.com/projectdiscovery/ratelimit v0.0.45/go.mod h1:1vSJUseDS7SjNwIBi9wNRcgsMKNTLxy/GfdlLFVbgI4= -github.com/projectdiscovery/rawhttp v0.1.51 h1:T4sskU2fsX9zNR7nyae0tD/0fliIs73KwBzyoJwBs10= -github.com/projectdiscovery/rawhttp v0.1.51/go.mod h1:ejBaw3dCfJSfbtFv0ib6YfFSjQzt7ZdRVpQWJASxIUs= +github.com/projectdiscovery/rawhttp v0.1.57 h1:2vCT2i1NSZbTBH+uUBrxOJjxDPKgIl2q6BGtQjs/Hko= +github.com/projectdiscovery/rawhttp v0.1.57/go.mod h1:qtthyaU0k8eqcEdza1R/fTqwyxSK4BZ511ThxgkiQtE= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.65 h1:wOtMuVkrcrGkzaT8Jixb3BtUcJODXLRz+z9EjftmFsQ= github.com/projectdiscovery/retryabledns v1.0.65/go.mod h1:lf3xRdFhGh55fWVlzK1oAaDPrsKliqH3gGvsFNAOkCk= -github.com/projectdiscovery/retryablehttp-go v1.0.67 h1:3jCiREsQEWJN2fG3D+i46zJNkq5+GtrLGf+Q77jGgrE= -github.com/projectdiscovery/retryablehttp-go v1.0.67/go.mod h1:LXTRQdTOOmMLJDbw5R9fyYgQKLjwS/l5tVt2wP09FBI= +github.com/projectdiscovery/retryablehttp-go v1.0.68 h1:MN/kfccDnebmp1kNcCnGlGuCfvet6y5eN1Y1hIKBB1I= +github.com/projectdiscovery/retryablehttp-go v1.0.68/go.mod h1:F3QNCoJExPFT59AACrVgYVhNiDW5Fp8s5HbXc+8CaaU= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From 6cbd73f780bc322420f6bfe481a68b68c8c34a5f Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Mon, 15 Jul 2024 18:42:22 +0530 Subject: [PATCH 096/283] feat: improve ldap output with custom type: (#5387) * feat: improve ldap output with custom type: * js bindings update * lint fix --- pkg/js/compiler/pool.go | 2 +- pkg/js/generated/go/libldap/ldap.go | 10 +- pkg/js/generated/ts/kerberos.ts | 96 +++++----- pkg/js/generated/ts/ldap.ts | 276 +++++++++++++++++++++------- pkg/js/generated/ts/rdp.ts | 4 +- pkg/js/generated/ts/smb.ts | 24 +-- pkg/js/generated/ts/ssh.ts | 42 ++--- pkg/js/libs/ldap/adenum.go | 70 +++---- pkg/js/libs/ldap/ldap.go | 33 +--- pkg/js/libs/ldap/utils.go | 181 ++++++++++++++++++ 10 files changed, 515 insertions(+), 223 deletions(-) diff --git a/pkg/js/compiler/pool.go b/pkg/js/compiler/pool.go index 17d9f746f5..3407d97369 100644 --- a/pkg/js/compiler/pool.go +++ b/pkg/js/compiler/pool.go @@ -241,5 +241,5 @@ func stringify(gojaValue goja.Value, runtime *goja.Runtime) string { } } // for everything else stringify - return fmt.Sprintf("%v", value) + return fmt.Sprintf("%+v", value) } diff --git a/pkg/js/generated/go/libldap/ldap.go b/pkg/js/generated/go/libldap/ldap.go index 8d0c2702e4..978ded0c09 100644 --- a/pkg/js/generated/go/libldap/ldap.go +++ b/pkg/js/generated/go/libldap/ldap.go @@ -53,10 +53,12 @@ func init() { "FilterWorkstationTrustAccount": lib_ldap.FilterWorkstationTrustAccount, // Objects / Classes - "ADObject": gojs.GetClassConstructor[lib_ldap.ADObject](&lib_ldap.ADObject{}), - "Client": lib_ldap.NewClient, - "Config": gojs.GetClassConstructor[lib_ldap.Config](&lib_ldap.Config{}), - "Metadata": gojs.GetClassConstructor[lib_ldap.Metadata](&lib_ldap.Metadata{}), + "Client": lib_ldap.NewClient, + "Config": gojs.GetClassConstructor[lib_ldap.Config](&lib_ldap.Config{}), + "LdapAttributes": gojs.GetClassConstructor[lib_ldap.LdapAttributes](&lib_ldap.LdapAttributes{}), + "LdapEntry": gojs.GetClassConstructor[lib_ldap.LdapEntry](&lib_ldap.LdapEntry{}), + "Metadata": gojs.GetClassConstructor[lib_ldap.Metadata](&lib_ldap.Metadata{}), + "SearchResult": gojs.GetClassConstructor[lib_ldap.SearchResult](&lib_ldap.SearchResult{}), }, ).Register() } diff --git a/pkg/js/generated/ts/kerberos.ts b/pkg/js/generated/ts/kerberos.ts index 8f9ce98f99..d0af2d0e7e 100755 --- a/pkg/js/generated/ts/kerberos.ts +++ b/pkg/js/generated/ts/kerberos.ts @@ -188,9 +188,9 @@ export class Config { */ export interface AuthorizationDataEntry { - ADType?: number, - ADData?: Uint8Array, + + ADType?: number, } @@ -200,9 +200,9 @@ export interface AuthorizationDataEntry { */ export interface BitString { - BitLength?: number, - Bytes?: Uint8Array, + + BitLength?: number, } @@ -212,9 +212,9 @@ export interface BitString { */ export interface BitString { - BitLength?: number, - Bytes?: Uint8Array, + + BitLength?: number, } @@ -236,19 +236,15 @@ export interface Config { */ export interface EncTicketPart { - AuthTime?: Date, - - StartTime?: Date, - EndTime?: Date, RenewTill?: Date, CRealm?: string, - CAddr?: HostAddress, + AuthTime?: Date, - AuthorizationData?: AuthorizationDataEntry, + StartTime?: Date, Flags?: BitString, @@ -257,6 +253,10 @@ export interface EncTicketPart { CName?: PrincipalName, Transited?: TransitedEncoding, + + CAddr?: HostAddress, + + AuthorizationData?: AuthorizationDataEntry, } @@ -266,11 +266,11 @@ export interface EncTicketPart { */ export interface EncryptedData { + EType?: number, + KVNO?: number, Cipher?: Uint8Array, - - EType?: number, } @@ -318,41 +318,33 @@ export interface HostAddress { */ export interface LibDefaults { - NoAddresses?: boolean, + CCacheType?: number, - RealmTryDomains?: number, + K5LoginAuthoritative?: boolean, - DNSLookupKDC?: boolean, + Proxiable?: boolean, - DefaultRealm?: string, + RDNS?: boolean, - SafeChecksumType?: number, + K5LoginDirectory?: string, - VerifyAPReqNofail?: boolean, + KDCTimeSync?: number, - AllowWeakCrypto?: boolean, + VerifyAPReqNofail?: boolean, DefaultTGSEnctypes?: string[], - DefaultTktEnctypeIDs?: number[], - - IgnoreAcceptorHostname?: boolean, + DefaultTGSEnctypeIDs?: number[], - K5LoginAuthoritative?: boolean, + DNSCanonicalizeHostname?: boolean, - PermittedEnctypes?: string[], + Forwardable?: boolean, /** * time in nanoseconds */ - Clockskew?: number, - - DNSCanonicalizeHostname?: boolean, - - Proxiable?: boolean, - - RDNS?: boolean, + RenewLifetime?: number, /** * time in nanoseconds @@ -362,37 +354,45 @@ export interface LibDefaults { DefaultClientKeytabName?: string, + DefaultTktEnctypeIDs?: number[], + + DNSLookupRealm?: boolean, + + ExtraAddresses?: Uint8Array, + + DefaultRealm?: string, + + NoAddresses?: boolean, + + PreferredPreauthTypes?: number[], + PermittedEnctypeIDs?: number[], - UDPPreferenceLimit?: number, + RealmTryDomains?: number, - DefaultTGSEnctypeIDs?: number[], + DefaultKeytabName?: string, DefaultTktEnctypes?: string[], - CCacheType?: number, - - DNSLookupRealm?: boolean, + DNSLookupKDC?: boolean, - ExtraAddresses?: Uint8Array, + IgnoreAcceptorHostname?: boolean, - PreferredPreauthTypes?: number[], + AllowWeakCrypto?: boolean, Canonicalize?: boolean, - Forwardable?: boolean, - - K5LoginDirectory?: string, + SafeChecksumType?: number, - KDCTimeSync?: number, + UDPPreferenceLimit?: number, /** * time in nanoseconds */ - RenewLifetime?: number, + Clockskew?: number, - DefaultKeytabName?: string, + PermittedEnctypes?: string[], KDCDefaultOptions?: BitString, } @@ -416,6 +416,8 @@ export interface PrincipalName { */ export interface Realm { + Realm?: string, + AdminServer?: string[], DefaultDomain?: string, @@ -425,8 +427,6 @@ export interface Realm { KPasswdServer?: string[], MasterKDC?: string[], - - Realm?: string, } diff --git a/pkg/js/generated/ts/ldap.ts b/pkg/js/generated/ts/ldap.ts index daca4f86b9..02a10075b9 100755 --- a/pkg/js/generated/ts/ldap.ts +++ b/pkg/js/generated/ts/ldap.ts @@ -209,8 +209,8 @@ export class Client { * log(to_json(users)); * ``` */ - public FindADObjects(filter: string): ADObject[] { - return []; + public FindADObjects(filter: string): SearchResult | null { + return null; } @@ -225,8 +225,8 @@ export class Client { * log(to_json(users)); * ``` */ - public GetADUsers(): ADObject[] { - return []; + public GetADUsers(): SearchResult | null { + return null; } @@ -241,8 +241,8 @@ export class Client { * log(to_json(users)); * ``` */ - public GetADActiveUsers(): ADObject[] { - return []; + public GetADActiveUsers(): SearchResult | null { + return null; } @@ -257,8 +257,8 @@ export class Client { * log(to_json(users)); * ``` */ - public GetADUserWithNeverExpiringPasswords(): ADObject[] { - return []; + public GetADUserWithNeverExpiringPasswords(): SearchResult | null { + return null; } @@ -273,8 +273,8 @@ export class Client { * log(to_json(users)); * ``` */ - public GetADUserTrustedForDelegation(): ADObject[] { - return []; + public GetADUserTrustedForDelegation(): SearchResult | null { + return null; } @@ -289,8 +289,8 @@ export class Client { * log(to_json(users)); * ``` */ - public GetADUserWithPasswordNotRequired(): ADObject[] { - return []; + public GetADUserWithPasswordNotRequired(): SearchResult | null { + return null; } @@ -305,8 +305,8 @@ export class Client { * log(to_json(groups)); * ``` */ - public GetADGroups(): ADObject[] { - return []; + public GetADGroups(): SearchResult | null { + return null; } @@ -321,8 +321,8 @@ export class Client { * log(to_json(dcs)); * ``` */ - public GetADDCList(): ADObject[] { - return []; + public GetADDCList(): SearchResult | null { + return null; } @@ -337,8 +337,8 @@ export class Client { * log(to_json(admins)); * ``` */ - public GetADAdmins(): ADObject[] { - return []; + public GetADAdmins(): SearchResult | null { + return null; } @@ -353,8 +353,8 @@ export class Client { * log(to_json(kerberoastable)); * ``` */ - public GetADUserKerberoastable(): ADObject[] { - return []; + public GetADUserKerberoastable(): SearchResult | null { + return null; } @@ -369,8 +369,8 @@ export class Client { * log(to_json(AsRepRoastable)); * ``` */ - public GetADUserAsRepRoastable(): ADObject[] { - return []; + public GetADUserAsRepRoastable(): SearchResult | null { + return null; } @@ -428,8 +428,8 @@ export class Client { * const results = client.Search('(objectClass=*)', 'cn', 'mail'); * ``` */ - public Search(filter: string, attributes: any): Record[] { - return []; + public Search(filter: string, attributes: any): SearchResult | null { + return null; } @@ -481,33 +481,6 @@ export class Client { -/** - * ADObject represents an Active Directory object - * @example - * ```javascript - * const ldap = require('nuclei/ldap'); - * const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); - * const users = client.GetADUsers(); - * log(to_json(users)); - * ``` - */ -export interface ADObject { - - DistinguishedName?: string, - - SAMAccountName?: string, - - PWDLastSet?: string, - - LastLogon?: string, - - MemberOf?: string[], - - ServicePrincipalName?: string[], -} - - - /** * Config is extra configuration for the ldap client * @example @@ -535,27 +508,186 @@ export interface Config { /** - * Entry Interface + * LdapAttributes represents all LDAP attributes of a particular + * ldap entry */ -export interface Entry { +export interface LdapAttributes { - DN?: string, + /** + * CurrentTime contains current time + */ + + CurrentTime?: string[], + + /** + * SubschemaSubentry contains subschema subentry + */ + + SubschemaSubentry?: string[], + + /** + * DsServiceName contains ds service name + */ + + DsServiceName?: string[], + + /** + * NamingContexts contains naming contexts + */ + + NamingContexts?: string[], + + /** + * DefaultNamingContext contains default naming context + */ + + DefaultNamingContext?: string[], + + /** + * SchemaNamingContext contains schema naming context + */ + + SchemaNamingContext?: string[], + + /** + * ConfigurationNamingContext contains configuration naming context + */ + + ConfigurationNamingContext?: string[], + + /** + * RootDomainNamingContext contains root domain naming context + */ + + RootDomainNamingContext?: string[], + + /** + * SupportedLDAPVersion contains supported LDAP version + */ + + SupportedLDAPVersion?: string[], + + /** + * HighestCommittedUSN contains highest committed USN + */ + + HighestCommittedUSN?: string[], + + /** + * SupportedSASLMechanisms contains supported SASL mechanisms + */ + + SupportedSASLMechanisms?: string[], + + /** + * DnsHostName contains DNS host name + */ + + DnsHostName?: string[], - Attributes?: EntryAttribute, + /** + * LdapServiceName contains LDAP service name + */ + + LdapServiceName?: string[], + + /** + * ServerName contains server name + */ + + ServerName?: string[], + + /** + * IsSynchronized contains is synchronized + */ + + IsSynchronized?: string[], + + /** + * IsGlobalCatalogReady contains is global catalog ready + */ + + IsGlobalCatalogReady?: string[], + + /** + * DomainFunctionality contains domain functionality + */ + + DomainFunctionality?: string[], + + /** + * ForestFunctionality contains forest functionality + */ + + ForestFunctionality?: string[], + + /** + * DomainControllerFunctionality contains domain controller functionality + */ + + DomainControllerFunctionality?: string[], + + /** + * DistinguishedName contains the distinguished name + */ + + DistinguishedName?: string[], + + /** + * SAMAccountName contains the SAM account name + */ + + SAMAccountName?: string[], + + /** + * PWDLastSet contains the password last set time + */ + + PWDLastSet?: string[], + + /** + * LastLogon contains the last logon time + */ + + LastLogon?: string[], + + /** + * MemberOf contains the groups the entry is a member of + */ + + MemberOf?: string[], + + /** + * ServicePrincipalName contains the service principal names + */ + + ServicePrincipalName?: string[], + + /** + * Extra contains other extra fields which might be present + */ + + Extra?: Record, } /** - * EntryAttribute Interface + * LdapEntry represents a single LDAP entry */ -export interface EntryAttribute { +export interface LdapEntry { - Name?: string, + /** + * DN contains distinguished name + */ - Values?: string[], + DN?: string, - ByteValues?: Uint8Array, + /** + * Attributes contains list of attributes + */ + + Attributes?: LdapAttributes, } @@ -584,12 +716,32 @@ export interface Metadata { /** - * SearchResult Interface + * SearchResult contains search result of any / all ldap search request + * @example + * ```javascript + * const ldap = require('nuclei/ldap'); + * const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); + * const results = client.Search('(objectinterface=*)', 'cn', 'mail'); + * ``` */ export interface SearchResult { + /** + * Referrals contains list of referrals + */ + Referrals?: string[], - Entries?: Entry, + /** + * Controls contains list of controls + */ + + Controls?: string[], + + /** + * Entries contains list of entries + */ + + Entries?: LdapEntry[], } diff --git a/pkg/js/generated/ts/rdp.ts b/pkg/js/generated/ts/rdp.ts index 77dfeafb13..7858b78319 100755 --- a/pkg/js/generated/ts/rdp.ts +++ b/pkg/js/generated/ts/rdp.ts @@ -78,8 +78,6 @@ export interface IsRDPResponse { */ export interface ServiceRDP { - DNSDomainName?: string, - ForestName?: string, OSFingerprint?: string, @@ -93,5 +91,7 @@ export interface ServiceRDP { NetBIOSDomainName?: string, DNSComputerName?: string, + + DNSDomainName?: string, } diff --git a/pkg/js/generated/ts/smb.ts b/pkg/js/generated/ts/smb.ts index b0ca997ac5..c9b769cb5d 100755 --- a/pkg/js/generated/ts/smb.ts +++ b/pkg/js/generated/ts/smb.ts @@ -137,6 +137,10 @@ export interface NegotiationLog { */ export interface SMBCapabilities { + DFSSupport?: boolean, + + Leasing?: boolean, + LargeMTU?: boolean, MultiChan?: boolean, @@ -146,10 +150,6 @@ export interface SMBCapabilities { DirLeasing?: boolean, Encryption?: boolean, - - DFSSupport?: boolean, - - Leasing?: boolean, } @@ -159,16 +159,16 @@ export interface SMBCapabilities { */ export interface SMBLog { - SupportV1?: boolean, - - NativeOs?: string, - NTLM?: string, GroupName?: string, HasNTLM?: boolean, + SupportV1?: boolean, + + NativeOs?: string, + Version?: SMBVersions, Capabilities?: SMBCapabilities, @@ -185,13 +185,13 @@ export interface SMBLog { */ export interface SMBVersions { - VerString?: string, - Major?: number, Minor?: number, Revision?: number, + + VerString?: string, } @@ -225,12 +225,12 @@ export interface ServiceSMB { */ export interface SessionSetupLog { - NegotiateFlags?: number, - SetupFlags?: number, TargetName?: string, + NegotiateFlags?: number, + HeaderLog?: HeaderLog, } diff --git a/pkg/js/generated/ts/ssh.ts b/pkg/js/generated/ts/ssh.ts index 21dacf4054..058df03c5b 100755 --- a/pkg/js/generated/ts/ssh.ts +++ b/pkg/js/generated/ts/ssh.ts @@ -133,9 +133,9 @@ export interface Algorithms { HostKey?: string, - R?: DirectionAlgorithms, - W?: DirectionAlgorithms, + + R?: DirectionAlgorithms, } @@ -159,13 +159,13 @@ export interface DirectionAlgorithms { */ export interface EndpointId { - Raw?: string, - - ProtoVersion?: string, - SoftwareVersion?: string, Comment?: string, + + Raw?: string, + + ProtoVersion?: string, } @@ -197,34 +197,34 @@ export interface HandshakeLog { */ export interface KexInitMsg { - Reserved?: number, - - /** - * fixed size array of length: [16] - */ - - Cookie?: Uint8Array, + KexAlgos?: string[], CiphersClientServer?: string[], - MACsClientServer?: string[], - MACsServerClient?: string[], + LanguagesClientServer?: string[], + + CompressionClientServer?: string[], + CompressionServerClient?: string[], - LanguagesClientServer?: string[], + Reserved?: number, - FirstKexFollows?: boolean, + MACsClientServer?: string[], - KexAlgos?: string[], + /** + * fixed size array of length: [16] + */ - CiphersServerClient?: string[], + Cookie?: Uint8Array, - CompressionClientServer?: string[], + ServerHostKeyAlgos?: string[], + + CiphersServerClient?: string[], LanguagesServerClient?: string[], - ServerHostKeyAlgos?: string[], + FirstKexFollows?: boolean, } diff --git a/pkg/js/libs/ldap/adenum.go b/pkg/js/libs/ldap/adenum.go index 9aea98be97..849e4d6a15 100644 --- a/pkg/js/libs/ldap/adenum.go +++ b/pkg/js/libs/ldap/adenum.go @@ -74,25 +74,6 @@ func NegativeFilter(filter string) string { return fmt.Sprintf("(!%s)", filter) } -type ( - // ADObject represents an Active Directory object - // @example - // ```javascript - // const ldap = require('nuclei/ldap'); - // const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); - // const users = client.GetADUsers(); - // log(to_json(users)); - // ``` - ADObject struct { - DistinguishedName string - SAMAccountName string - PWDLastSet string - LastLogon string - MemberOf []string - ServicePrincipalName []string - } -) - // FindADObjects finds AD objects based on a filter // and returns them as a list of ADObject // @example @@ -102,7 +83,7 @@ type ( // const users = client.FindADObjects(ldap.FilterIsPerson); // log(to_json(users)); // ``` -func (c *Client) FindADObjects(filter string) []ADObject { +func (c *Client) FindADObjects(filter string) SearchResult { c.nj.Require(c.conn != nil, "no existing connection") sr := ldap.NewSearchRequest( c.BaseDN, ldap.ScopeWholeSubtree, @@ -121,19 +102,7 @@ func (c *Client) FindADObjects(filter string) []ADObject { res, err := c.conn.Search(sr) c.nj.HandleError(err, "ldap search request failed") - - var objects []ADObject - for _, obj := range res.Entries { - objects = append(objects, ADObject{ - DistinguishedName: obj.GetAttributeValue("distinguishedName"), - SAMAccountName: obj.GetAttributeValue("sAMAccountName"), - PWDLastSet: DecodeADTimestamp(obj.GetAttributeValue("pwdLastSet")), - LastLogon: DecodeADTimestamp(obj.GetAttributeValue("lastLogon")), - MemberOf: obj.GetAttributeValues("memberOf"), - ServicePrincipalName: obj.GetAttributeValues("servicePrincipalName"), - }) - } - return objects + return *getSearchResult(res) } // GetADUsers returns all AD users @@ -145,7 +114,7 @@ func (c *Client) FindADObjects(filter string) []ADObject { // const users = client.GetADUsers(); // log(to_json(users)); // ``` -func (c *Client) GetADUsers() []ADObject { +func (c *Client) GetADUsers() SearchResult { return c.FindADObjects(FilterIsPerson) } @@ -158,7 +127,7 @@ func (c *Client) GetADUsers() []ADObject { // const users = client.GetADActiveUsers(); // log(to_json(users)); // ``` -func (c *Client) GetADActiveUsers() []ADObject { +func (c *Client) GetADActiveUsers() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterAccountEnabled)) } @@ -171,7 +140,7 @@ func (c *Client) GetADActiveUsers() []ADObject { // const users = client.GetADUserWithNeverExpiringPasswords(); // log(to_json(users)); // ``` -func (c *Client) GetADUserWithNeverExpiringPasswords() []ADObject { +func (c *Client) GetADUserWithNeverExpiringPasswords() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterDontExpirePassword)) } @@ -184,7 +153,7 @@ func (c *Client) GetADUserWithNeverExpiringPasswords() []ADObject { // const users = client.GetADUserTrustedForDelegation(); // log(to_json(users)); // ``` -func (c *Client) GetADUserTrustedForDelegation() []ADObject { +func (c *Client) GetADUserTrustedForDelegation() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterTrustedForDelegation)) } @@ -197,7 +166,7 @@ func (c *Client) GetADUserTrustedForDelegation() []ADObject { // const users = client.GetADUserWithPasswordNotRequired(); // log(to_json(users)); // ``` -func (c *Client) GetADUserWithPasswordNotRequired() []ADObject { +func (c *Client) GetADUserWithPasswordNotRequired() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterPasswordNotRequired)) } @@ -210,7 +179,7 @@ func (c *Client) GetADUserWithPasswordNotRequired() []ADObject { // const groups = client.GetADGroups(); // log(to_json(groups)); // ``` -func (c *Client) GetADGroups() []ADObject { +func (c *Client) GetADGroups() SearchResult { return c.FindADObjects(FilterIsGroup) } @@ -223,7 +192,7 @@ func (c *Client) GetADGroups() []ADObject { // const dcs = client.GetADDCList(); // log(to_json(dcs)); // ``` -func (c *Client) GetADDCList() []ADObject { +func (c *Client) GetADDCList() SearchResult { return c.FindADObjects(JoinFilters(FilterIsComputer, FilterAccountEnabled, FilterServerTrustAccount)) } @@ -236,7 +205,7 @@ func (c *Client) GetADDCList() []ADObject { // const admins = client.GetADAdmins(); // log(to_json(admins)); // ``` -func (c *Client) GetADAdmins() []ADObject { +func (c *Client) GetADAdmins() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterAccountEnabled, FilterIsAdmin)) } @@ -249,7 +218,7 @@ func (c *Client) GetADAdmins() []ADObject { // const kerberoastable = client.GetADUserKerberoastable(); // log(to_json(kerberoastable)); // ``` -func (c *Client) GetADUserKerberoastable() []ADObject { +func (c *Client) GetADUserKerberoastable() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterAccountEnabled, FilterHasServicePrincipalName)) } @@ -262,7 +231,7 @@ func (c *Client) GetADUserKerberoastable() []ADObject { // const AsRepRoastable = client.GetADUserAsRepRoastable(); // log(to_json(AsRepRoastable)); // ``` -func (c *Client) GetADUserAsRepRoastable() []ADObject { +func (c *Client) GetADUserAsRepRoastable() SearchResult { return c.FindADObjects(JoinFilters(FilterIsPerson, FilterDontRequirePreauth)) } @@ -276,7 +245,16 @@ func (c *Client) GetADUserAsRepRoastable() []ADObject { // ``` func (c *Client) GetADDomainSID() string { r := c.Search(FilterServerTrustAccount, "objectSid") - c.nj.Require(len(r) > 0, "no result from GetADDomainSID query") - c.nj.Require(len(r[0]["objectSid"]) > 0, "could not grab DomainSID") - return DecodeSID(r[0]["objectSid"][0]) + c.nj.Require(len(r.Entries) > 0, "no result from GetADDomainSID query") + for _, entry := range r.Entries { + if sid, ok := entry.Attributes.Extra["objectSid"]; ok { + if sid, ok := sid.([]string); ok { + return DecodeSID(sid[0]) + } else { + c.nj.HandleError(fmt.Errorf("invalid objectSid type: %T", entry.Attributes.Extra["objectSid"]), "invalid objectSid type") + } + } + } + c.nj.HandleError(fmt.Errorf("no objectSid found"), "no objectSid found") + return "" } diff --git a/pkg/js/libs/ldap/ldap.go b/pkg/js/libs/ldap/ldap.go index 31afa232d0..3961fa7b7e 100644 --- a/pkg/js/libs/ldap/ldap.go +++ b/pkg/js/libs/ldap/ldap.go @@ -203,7 +203,7 @@ func (c *Client) AuthenticateWithNTLMHash(username, hash string) { // const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); // const results = client.Search('(objectClass=*)', 'cn', 'mail'); // ``` -func (c *Client) Search(filter string, attributes ...string) []map[string][]string { +func (c *Client) Search(filter string, attributes ...string) SearchResult { c.nj.Require(c.conn != nil, "no existing connection") c.nj.Require(c.BaseDN != "", "base dn cannot be empty") c.nj.Require(len(attributes) > 0, "attributes cannot be empty") @@ -211,7 +211,7 @@ func (c *Client) Search(filter string, attributes ...string) []map[string][]stri res, err := c.conn.Search( ldap.NewSearchRequest( "", - ldap.ScopeBaseObject, + ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, filter, @@ -220,28 +220,7 @@ func (c *Client) Search(filter string, attributes ...string) []map[string][]stri ), ) c.nj.HandleError(err, "ldap search request failed") - if len(res.Entries) == 0 { - // return empty list - return nil - } - - // convert ldap.Entry to []map[string][]string - var out []map[string][]string - for _, r := range res.Entries { - app := make(map[string][]string) - empty := true - for _, a := range attributes { - v := r.GetAttributeValues(a) - if len(v) > 0 { - app[a] = v - empty = false - } - } - if !empty { - out = append(out, app) - } - } - return out + return *getSearchResult(res) } // AdvancedSearch accepts all values of search request type and return Ldap Entry @@ -257,7 +236,7 @@ func (c *Client) AdvancedSearch( TypesOnly bool, Filter string, Attributes []string, - Controls []ldap.Control) ldap.SearchResult { + Controls []ldap.Control) SearchResult { c.nj.Require(c.conn != nil, "no existing connection") if c.BaseDN == "" { c.BaseDN = fmt.Sprintf("dc=%s", strings.Join(strings.Split(c.Realm, "."), ",dc=")) @@ -266,7 +245,7 @@ func (c *Client) AdvancedSearch( res, err := c.conn.Search(req) c.nj.HandleError(err, "ldap search request failed") c.nj.Require(res != nil, "ldap search request failed got nil response") - return *res + return *getSearchResult(res) } type ( @@ -302,7 +281,7 @@ func (c *Client) CollectMetadata() Metadata { srMetadata := ldap.NewSearchRequest( "", - ldap.ScopeBaseObject, + ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, "(objectClass=*)", diff --git a/pkg/js/libs/ldap/utils.go b/pkg/js/libs/ldap/utils.go index 96a243bbc7..bcff41dc49 100644 --- a/pkg/js/libs/ldap/utils.go +++ b/pkg/js/libs/ldap/utils.go @@ -5,8 +5,189 @@ import ( "strconv" "strings" "time" + + "github.com/go-ldap/ldap/v3" ) +type ( + // SearchResult contains search result of any / all ldap search request + // @example + // ```javascript + // const ldap = require('nuclei/ldap'); + // const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); + // const results = client.Search('(objectClass=*)', 'cn', 'mail'); + // ``` + SearchResult struct { + // Referrals contains list of referrals + Referrals []string `json:"referrals"` + // Controls contains list of controls + Controls []string `json:"controls"` + // Entries contains list of entries + Entries []LdapEntry `json:"entries"` + } + + // LdapEntry represents a single LDAP entry + LdapEntry struct { + // DN contains distinguished name + DN string `json:"dn"` + // Attributes contains list of attributes + Attributes LdapAttributes `json:"attributes"` + } + + // LdapAttributes represents all LDAP attributes of a particular + // ldap entry + LdapAttributes struct { + // CurrentTime contains current time + CurrentTime []string `json:"currentTime,omitempty"` + // SubschemaSubentry contains subschema subentry + SubschemaSubentry []string `json:"subschemaSubentry,omitempty"` + // DsServiceName contains ds service name + DsServiceName []string `json:"dsServiceName,omitempty"` + // NamingContexts contains naming contexts + NamingContexts []string `json:"namingContexts,omitempty"` + // DefaultNamingContext contains default naming context + DefaultNamingContext []string `json:"defaultNamingContext,omitempty"` + // SchemaNamingContext contains schema naming context + SchemaNamingContext []string `json:"schemaNamingContext,omitempty"` + // ConfigurationNamingContext contains configuration naming context + ConfigurationNamingContext []string `json:"configurationNamingContext,omitempty"` + // RootDomainNamingContext contains root domain naming context + RootDomainNamingContext []string `json:"rootDomainNamingContext,omitempty"` + // SupportedLDAPVersion contains supported LDAP version + SupportedLDAPVersion []string `json:"supportedLDAPVersion,omitempty"` + // HighestCommittedUSN contains highest committed USN + HighestCommittedUSN []string `json:"highestCommittedUSN,omitempty"` + // SupportedSASLMechanisms contains supported SASL mechanisms + SupportedSASLMechanisms []string `json:"supportedSASLMechanisms,omitempty"` + // DnsHostName contains DNS host name + DnsHostName []string `json:"dnsHostName,omitempty"` + // LdapServiceName contains LDAP service name + LdapServiceName []string `json:"ldapServiceName,omitempty"` + // ServerName contains server name + ServerName []string `json:"serverName,omitempty"` + // IsSynchronized contains is synchronized + IsSynchronized []string `json:"isSynchronized,omitempty"` + // IsGlobalCatalogReady contains is global catalog ready + IsGlobalCatalogReady []string `json:"isGlobalCatalogReady,omitempty"` + // DomainFunctionality contains domain functionality + DomainFunctionality []string `json:"domainFunctionality,omitempty"` + // ForestFunctionality contains forest functionality + ForestFunctionality []string `json:"forestFunctionality,omitempty"` + // DomainControllerFunctionality contains domain controller functionality + DomainControllerFunctionality []string `json:"domainControllerFunctionality,omitempty"` + // DistinguishedName contains the distinguished name + DistinguishedName []string `json:"distinguishedName,omitempty"` + // SAMAccountName contains the SAM account name + SAMAccountName []string `json:"sAMAccountName,omitempty"` + // PWDLastSet contains the password last set time + PWDLastSet []string `json:"pwdLastSet,omitempty"` + // LastLogon contains the last logon time + LastLogon []string `json:"lastLogon,omitempty"` + // MemberOf contains the groups the entry is a member of + MemberOf []string `json:"memberOf,omitempty"` + // ServicePrincipalName contains the service principal names + ServicePrincipalName []string `json:"servicePrincipalName,omitempty"` + // Extra contains other extra fields which might be present + Extra map[string]any `json:"extra,omitempty"` + } +) + +// getSearchResult converts a ldap.SearchResult to a SearchResult +func getSearchResult(sr *ldap.SearchResult) *SearchResult { + t := &SearchResult{ + Referrals: []string{}, + Controls: []string{}, + Entries: []LdapEntry{}, + } + // add referrals + t.Referrals = append(t.Referrals, sr.Referrals...) + // add controls + for _, ctrl := range sr.Controls { + t.Controls = append(t.Controls, ctrl.String()) + } + // add entries + for _, entry := range sr.Entries { + t.Entries = append(t.Entries, parseLdapEntry(entry)) + } + return t +} + +func parseLdapEntry(entry *ldap.Entry) LdapEntry { + e := LdapEntry{ + DN: entry.DN, + } + attrs := LdapAttributes{ + Extra: make(map[string]any), + } + for _, attr := range entry.Attributes { + switch attr.Name { + case "currentTime": + attrs.CurrentTime = decodeTimestamps(attr.Values) + case "subschemaSubentry": + attrs.SubschemaSubentry = attr.Values + case "dsServiceName": + attrs.DsServiceName = attr.Values + case "namingContexts": + attrs.NamingContexts = attr.Values + case "defaultNamingContext": + attrs.DefaultNamingContext = attr.Values + case "schemaNamingContext": + attrs.SchemaNamingContext = attr.Values + case "configurationNamingContext": + attrs.ConfigurationNamingContext = attr.Values + case "rootDomainNamingContext": + attrs.RootDomainNamingContext = attr.Values + case "supportedLDAPVersion": + attrs.SupportedLDAPVersion = attr.Values + case "highestCommittedUSN": + attrs.HighestCommittedUSN = attr.Values + case "supportedSASLMechanisms": + attrs.SupportedSASLMechanisms = attr.Values + case "dnsHostName": + attrs.DnsHostName = attr.Values + case "ldapServiceName": + attrs.LdapServiceName = attr.Values + case "serverName": + attrs.ServerName = attr.Values + case "isSynchronized": + attrs.IsSynchronized = attr.Values + case "isGlobalCatalogReady": + attrs.IsGlobalCatalogReady = attr.Values + case "domainFunctionality": + attrs.DomainFunctionality = attr.Values + case "forestFunctionality": + attrs.ForestFunctionality = attr.Values + case "domainControllerFunctionality": + attrs.DomainControllerFunctionality = attr.Values + case "distinguishedName": + attrs.DistinguishedName = attr.Values + case "sAMAccountName": + attrs.SAMAccountName = attr.Values + case "pwdLastSet": + attrs.PWDLastSet = decodeTimestamps(attr.Values) + case "lastLogon": + attrs.LastLogon = decodeTimestamps(attr.Values) + case "memberOf": + attrs.MemberOf = attr.Values + case "servicePrincipalName": + attrs.ServicePrincipalName = attr.Values + default: + attrs.Extra[attr.Name] = attr.Values + } + } + e.Attributes = attrs + return e +} + +// decodeTimestamps decodes multiple timestamps +func decodeTimestamps(timestamps []string) []string { + res := []string{} + for _, timestamp := range timestamps { + res = append(res, DecodeADTimestamp(timestamp)) + } + return res +} + // DecodeSID decodes a SID string // @example // ```javascript From 6c32eb7d1e84155d7a59bbf503c6c261621d7ec9 Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Mon, 15 Jul 2024 16:21:16 +0300 Subject: [PATCH 097/283] add sdk option to disable update check (#5346) --- examples/simple/simple.go | 8 ++++++-- lib/config.go | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/examples/simple/simple.go b/examples/simple/simple.go index 42d3fe4387..29de464655 100644 --- a/examples/simple/simple.go +++ b/examples/simple/simple.go @@ -1,9 +1,13 @@ package main -import nuclei "github.com/projectdiscovery/nuclei/v3/lib" +import ( + "context" + + nuclei "github.com/projectdiscovery/nuclei/v3/lib" +) func main() { - ne, err := nuclei.NewNucleiEngine( + ne, err := nuclei.NewNucleiEngineCtx(context.Background(), nuclei.WithTemplateFilters(nuclei.TemplateFilters{Tags: []string{"oast"}}), nuclei.EnableStatsWithOpts(nuclei.StatsOptions{MetricServerPort: 6064}), // optionally enable metrics server for better observability ) diff --git a/lib/config.go b/lib/config.go index 24bc08691f..df44566225 100644 --- a/lib/config.go +++ b/lib/config.go @@ -440,3 +440,11 @@ func WithCatalog(cat catalog.Catalog) NucleiSDKOptions { return nil } } + +// DisableUpdateCheck disables nuclei update check +func DisableUpdateCheck() NucleiSDKOptions { + return func(e *NucleiEngine) error { + DefaultConfig.DisableUpdateCheck() + return nil + } +} From efc01c90c55d3147cae60a7b8e9b332436c0291a Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Mon, 15 Jul 2024 21:58:53 +0530 Subject: [PATCH 098/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index 113cb11509..8aa6beedfe 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.3.0-dev` + Version = `v3.3.0` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From f1253e16c91b1bc1e5ea971ca5693ff438d60088 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Wed, 17 Jul 2024 14:03:03 +0530 Subject: [PATCH 099/283] readme updates --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 26b3d4a727..6f69782e05 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,6 @@ CONFIGURATIONS: -sml, -show-match-line show match lines for file templates, works with extractors only -ztls use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default -sni string tls sni hostname to use (default: input domain name) - -dt, -dialer-timeout value timeout for network requests. -dka, -dialer-keep-alive value keep-alive duration for network requests. -lfa, -allow-local-file-access allows file (payload) access anywhere on the system -lna, -restrict-local-network-access blocks connections to the local / private network @@ -212,7 +211,6 @@ CONFIGURATIONS: -sip, -source-ip string source ip address to use for network scan -rsr, -response-size-read int max response size to read in bytes -rss, -response-size-save int max response size to read in bytes (default 1048576) - -rrt, -response-read-timeout value response read timeout in seconds (default 5s) -reset reset removes all nuclei configuration and data files (including nuclei-templates) -tlsi, -tls-impersonate enable experimental client hello (ja3) tls randomization -hae, -http-api-endpoint string experimental http api endpoint @@ -238,7 +236,7 @@ FUZZING: UNCOVER: -uc, -uncover enable uncover engine -uq, -uncover-query string[] uncover search query - -ue, -uncover-engine string[] uncover search engine (shodan,censys,fofa,shodan-idb,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow) (default shodan) + -ue, -uncover-engine string[] uncover search engine (shodan,censys,fofa,shodan-idb,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow,google) (default shodan) -uf, -uncover-field string uncover fields to return (ip,port,host) (default "ip:port") -ul, -uncover-limit int uncover results to return (default 100) -ur, -uncover-ratelimit int override ratelimit of engines with unknown ratelimit (default 60 req/min) (default 60) @@ -311,9 +309,10 @@ STATISTICS: -mp, -metrics-port int port to expose nuclei metrics on (default 9092) CLOUD: - -auth configure projectdiscovery cloud (pdcp) api key - -cup, -cloud-upload upload scan results to pdcp dashboard - -sid, -scan-id string upload scan results to given scan id + -auth configure projectdiscovery cloud (pdcp) api key (default true) + -cup, -cloud-upload upload scan results to pdcp dashboard + -sid, -scan-id string upload scan results to existing scan id (optional) + -sname, -scan-name string scan name to set (optional) AUTHENTICATION: -sf, -secret-file string[] path to config file containing secrets for nuclei authenticated scan From 0433c83730eb50562bf6503b0520354d50ece6a9 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Wed, 17 Jul 2024 18:36:05 +0530 Subject: [PATCH 100/283] dep update --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 67cfe79a80..d80fb0a03a 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.49 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.57 - github.com/projectdiscovery/retryabledns v1.0.65 + github.com/projectdiscovery/retryabledns v1.0.66 github.com/projectdiscovery/retryablehttp-go v1.0.68 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 @@ -94,8 +94,8 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 - github.com/projectdiscovery/useragent v0.0.57 - github.com/projectdiscovery/utils v0.2.0 + github.com/projectdiscovery/useragent v0.0.60 + github.com/projectdiscovery/utils v0.2.1 github.com/projectdiscovery/wappalyzergo v0.1.6 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index c7c8ea430b..49bb48facf 100644 --- a/go.sum +++ b/go.sum @@ -874,8 +874,8 @@ github.com/projectdiscovery/rawhttp v0.1.57 h1:2vCT2i1NSZbTBH+uUBrxOJjxDPKgIl2q6 github.com/projectdiscovery/rawhttp v0.1.57/go.mod h1:qtthyaU0k8eqcEdza1R/fTqwyxSK4BZ511ThxgkiQtE= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.65 h1:wOtMuVkrcrGkzaT8Jixb3BtUcJODXLRz+z9EjftmFsQ= -github.com/projectdiscovery/retryabledns v1.0.65/go.mod h1:lf3xRdFhGh55fWVlzK1oAaDPrsKliqH3gGvsFNAOkCk= +github.com/projectdiscovery/retryabledns v1.0.66 h1:OzKcR+TqIYdSDEED2JWJA90ZNFCEKRv+hOvpMHEZEOY= +github.com/projectdiscovery/retryabledns v1.0.66/go.mod h1:ODpvZ6kXXB2uqK7GPyfkd/tR+4wkeIm1DR5TkRQv7KE= github.com/projectdiscovery/retryablehttp-go v1.0.68 h1:MN/kfccDnebmp1kNcCnGlGuCfvet6y5eN1Y1hIKBB1I= github.com/projectdiscovery/retryablehttp-go v1.0.68/go.mod h1:F3QNCoJExPFT59AACrVgYVhNiDW5Fp8s5HbXc+8CaaU= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= @@ -886,10 +886,10 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= -github.com/projectdiscovery/useragent v0.0.57 h1:y6ML3GVJ6Sq+nhqk2gY9aD0JNaKzfpunJPjPN40eVN4= -github.com/projectdiscovery/useragent v0.0.57/go.mod h1:iChqL4rGApUsdXhAzItirEpMvYYOlruieZE+nqoKpCc= -github.com/projectdiscovery/utils v0.2.0 h1:GC9FOq2mVacVYZgD2s6XW7RP6jAC/XjOKclSpLYPUUQ= -github.com/projectdiscovery/utils v0.2.0/go.mod h1:kOnMoFfuQMY8U+nh8e32odjC00iEbiLVBcDxyAZFwCc= +github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2ZvuaoWH7QIkuc= +github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= +github.com/projectdiscovery/utils v0.2.1 h1:XcOUJtR5ReXDWqxDkJWPVpC2lSqIYTs8z8YNILcPiqk= +github.com/projectdiscovery/utils v0.2.1/go.mod h1:h3o2zmJguUm9FKvel1F9jYCLxoWhFakyytRMjqb7Dg4= github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From d776dbb2dd29f022e89fe0192a37d796eacadfe2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jul 2024 13:07:13 +0000 Subject: [PATCH 101/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.6 to 0.1.10. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.6...v0.1.10) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d80fb0a03a..e9efbb8f70 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.60 github.com/projectdiscovery/utils v0.2.1 - github.com/projectdiscovery/wappalyzergo v0.1.6 + github.com/projectdiscovery/wappalyzergo v0.1.10 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 49bb48facf..52dfe6a693 100644 --- a/go.sum +++ b/go.sum @@ -890,8 +890,8 @@ github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2Z github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= github.com/projectdiscovery/utils v0.2.1 h1:XcOUJtR5ReXDWqxDkJWPVpC2lSqIYTs8z8YNILcPiqk= github.com/projectdiscovery/utils v0.2.1/go.mod h1:h3o2zmJguUm9FKvel1F9jYCLxoWhFakyytRMjqb7Dg4= -github.com/projectdiscovery/wappalyzergo v0.1.6 h1:4iZDEnytsnAqjQgD5K6lmAzVx++KSQeMCDfomDtQM1M= -github.com/projectdiscovery/wappalyzergo v0.1.6/go.mod h1:wBYGKmA5BQp/NWsAy1q/jSH8N1LHWQ/LV26DuR+KzPM= +github.com/projectdiscovery/wappalyzergo v0.1.10 h1:cUTMw8xYXyKTAxUiGYltJxEh4OtJyCvaahj+RG3mHSY= +github.com/projectdiscovery/wappalyzergo v0.1.10/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 90bbecb51c798812494b0e86a0914edb79e2a61d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 05:59:47 +0000 Subject: [PATCH 102/283] chore(deps): bump github.com/projectdiscovery/httpx from 1.6.3 to 1.6.6 Bumps [github.com/projectdiscovery/httpx](https://github.com/projectdiscovery/httpx) from 1.6.3 to 1.6.6. - [Release notes](https://github.com/projectdiscovery/httpx/releases) - [Changelog](https://github.com/projectdiscovery/httpx/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/httpx/compare/v1.6.3...v1.6.6) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/httpx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e9efbb8f70..efb3dcbc5c 100644 --- a/go.mod +++ b/go.mod @@ -86,7 +86,7 @@ require ( github.com/projectdiscovery/gologger v1.1.14 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 - github.com/projectdiscovery/httpx v1.6.3 + github.com/projectdiscovery/httpx v1.6.6 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 github.com/projectdiscovery/ratelimit v0.0.45 diff --git a/go.sum b/go.sum index 52dfe6a693..ffa9cff5e4 100644 --- a/go.sum +++ b/go.sum @@ -854,8 +854,8 @@ github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3c github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= github.com/projectdiscovery/hmap v0.0.49 h1:QNW98JDqd0nmaIFRMbn0sLocRIGXAud1liGip4iPdvc= github.com/projectdiscovery/hmap v0.0.49/go.mod h1:BA4cyYTrWKMUa78815R6p3tuGiYu2MJHYnjwXmefdbU= -github.com/projectdiscovery/httpx v1.6.3 h1:TSu3zEKOHGFfMsGeB0lZEFRl6Tq4nPuIgKDXi9NnYpg= -github.com/projectdiscovery/httpx v1.6.3/go.mod h1:9FmsmkT71aTa4WnOyBIPzB8I9c0QAJ9PSVUqs2NkHRQ= +github.com/projectdiscovery/httpx v1.6.6 h1:e9deBDrW2ILhuHjPYBAskIgEaLTJYbiBjC5FAHKuV4A= +github.com/projectdiscovery/httpx v1.6.6/go.mod h1:7kLxlw3gW6IJYwRbThI3rFkaQxJ/Z4zNeJtk408RnW0= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= github.com/projectdiscovery/interactsh v1.2.0/go.mod h1:Wxt0fnzxsfrAZQQlpVrf3xMatP4OXZaZbjuDkIQKdYY= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= From d7d5adff5310a31c3dc0e7e7127b51d16ab77c51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 05:59:52 +0000 Subject: [PATCH 103/283] chore(deps): bump github.com/projectdiscovery/retryabledns Bumps [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) from 1.0.66 to 1.0.68. - [Release notes](https://github.com/projectdiscovery/retryabledns/releases) - [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.66...v1.0.68) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryabledns dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e9efbb8f70..2b56c4faae 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.49 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.57 - github.com/projectdiscovery/retryabledns v1.0.66 + github.com/projectdiscovery/retryabledns v1.0.68 github.com/projectdiscovery/retryablehttp-go v1.0.68 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index 52dfe6a693..17504cf76a 100644 --- a/go.sum +++ b/go.sum @@ -874,8 +874,8 @@ github.com/projectdiscovery/rawhttp v0.1.57 h1:2vCT2i1NSZbTBH+uUBrxOJjxDPKgIl2q6 github.com/projectdiscovery/rawhttp v0.1.57/go.mod h1:qtthyaU0k8eqcEdza1R/fTqwyxSK4BZ511ThxgkiQtE= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.66 h1:OzKcR+TqIYdSDEED2JWJA90ZNFCEKRv+hOvpMHEZEOY= -github.com/projectdiscovery/retryabledns v1.0.66/go.mod h1:ODpvZ6kXXB2uqK7GPyfkd/tR+4wkeIm1DR5TkRQv7KE= +github.com/projectdiscovery/retryabledns v1.0.68 h1:EWWG7WsGTT0YvwIjHclIWSWgv4R29xMWShR6Yt5Z+pA= +github.com/projectdiscovery/retryabledns v1.0.68/go.mod h1:72W9RwsHVRIGmtc4W6i6izVtYzKBTdnCE1VciqYM5Eg= github.com/projectdiscovery/retryablehttp-go v1.0.68 h1:MN/kfccDnebmp1kNcCnGlGuCfvet6y5eN1Y1hIKBB1I= github.com/projectdiscovery/retryablehttp-go v1.0.68/go.mod h1:F3QNCoJExPFT59AACrVgYVhNiDW5Fp8s5HbXc+8CaaU= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 327a15f94fe4fd185631437ff87291073ba49c3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 06:27:14 +0000 Subject: [PATCH 104/283] chore(deps): bump github.com/projectdiscovery/hmap from 0.0.49 to 0.0.51 Bumps [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) from 0.0.49 to 0.0.51. - [Release notes](https://github.com/projectdiscovery/hmap/releases) - [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.49...v0.0.51) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/hmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9deb77f2b2..ad51ffbe5c 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.1.6 - github.com/projectdiscovery/hmap v0.0.49 + github.com/projectdiscovery/hmap v0.0.51 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.57 github.com/projectdiscovery/retryabledns v1.0.68 diff --git a/go.sum b/go.sum index cd59ce47f6..b35498f019 100644 --- a/go.sum +++ b/go.sum @@ -852,8 +852,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.49 h1:QNW98JDqd0nmaIFRMbn0sLocRIGXAud1liGip4iPdvc= -github.com/projectdiscovery/hmap v0.0.49/go.mod h1:BA4cyYTrWKMUa78815R6p3tuGiYu2MJHYnjwXmefdbU= +github.com/projectdiscovery/hmap v0.0.51 h1:xqbpRAJRHPMoS2uERkbWGObIO4bv+whe3PEk3h4lDEg= +github.com/projectdiscovery/hmap v0.0.51/go.mod h1:vqdeWnNVMJYyIDytu+IdJDFg3wZdRVN83AKHR40RP6c= github.com/projectdiscovery/httpx v1.6.6 h1:e9deBDrW2ILhuHjPYBAskIgEaLTJYbiBjC5FAHKuV4A= github.com/projectdiscovery/httpx v1.6.6/go.mod h1:7kLxlw3gW6IJYwRbThI3rFkaQxJ/Z4zNeJtk408RnW0= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= From ec682695b6d55c3894cfc1bb25f68d8e56549f28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 06:52:54 +0000 Subject: [PATCH 105/283] chore(deps): bump github.com/projectdiscovery/utils from 0.2.1 to 0.2.2 Bumps [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) from 0.2.1 to 0.2.2. - [Release notes](https://github.com/projectdiscovery/utils/releases) - [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/projectdiscovery/utils/compare/v0.2.1...v0.2.2) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/utils dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index ad51ffbe5c..c03677c803 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.1.6 + github.com/projectdiscovery/fastdialer v0.2.0 github.com/projectdiscovery/hmap v0.0.51 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.57 github.com/projectdiscovery/retryabledns v1.0.68 - github.com/projectdiscovery/retryablehttp-go v1.0.68 + github.com/projectdiscovery/retryablehttp-go v1.0.69 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -83,7 +83,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.59 - github.com/projectdiscovery/gologger v1.1.14 + github.com/projectdiscovery/gologger v1.1.15 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.6 @@ -95,7 +95,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.60 - github.com/projectdiscovery/utils v0.2.1 + github.com/projectdiscovery/utils v0.2.2 github.com/projectdiscovery/wappalyzergo v0.1.10 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 @@ -205,7 +205,7 @@ require ( github.com/projectdiscovery/freeport v0.0.5 // indirect github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb // indirect github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect - github.com/refraction-networking/utls v1.6.6 // indirect + github.com/refraction-networking/utls v1.6.7 // indirect github.com/sashabaranov/go-openai v1.15.3 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect diff --git a/go.sum b/go.sum index b35498f019..2172188616 100644 --- a/go.sum +++ b/go.sum @@ -836,8 +836,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.6 h1:6TUYMwbjcYJ5OoRoawPX1SYD7wgubX/1FreC8SwFqgc= github.com/projectdiscovery/dsl v0.1.6/go.mod h1:1PAV9A6X+fdyMXW0SY4i0BHrO8yN2+FB2jp25+0AT04= -github.com/projectdiscovery/fastdialer v0.1.6 h1:dtdE7WjaydpndKPcUYWms5iOhBSC0nvBAHyZd6I4pdQ= -github.com/projectdiscovery/fastdialer v0.1.6/go.mod h1:a5XOjvaO4b+ddO/YLoM4nvK3CPPviW6HmoAd+AoszMw= +github.com/projectdiscovery/fastdialer v0.2.0 h1:ZEYKA9L5VerrD9LcXH/gtTqUHiBQvTudrbqkZSRMpJo= +github.com/projectdiscovery/fastdialer v0.2.0/go.mod h1:bwBv51HzxK7DkCjB1EHQJKDzXKGPDLp6MgK8PPjaW/w= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -846,8 +846,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.59 h1:rFScpC57L0Ln0dJmBtstyxHUH7K9H4UmHACXcSkdqqk= github.com/projectdiscovery/goflags v0.1.59/go.mod h1:dj67QGp/D81WRLtzU0HsWR20zgoGZ0cnk3Wbt9xJcuo= -github.com/projectdiscovery/gologger v1.1.14 h1:8SS9qDCisCFffKHzWMX+GDDArxBJ9A7DhYrESEixAYo= -github.com/projectdiscovery/gologger v1.1.14/go.mod h1:CPk1nAZ3PqgspKBuSJR+xwY2i/Rm+P/ovahpP30EJy8= +github.com/projectdiscovery/gologger v1.1.15 h1:EgXC9uQkYb5qWcazV6mH0mev23MZ0GLiGyl203nDYbU= +github.com/projectdiscovery/gologger v1.1.15/go.mod h1:qPDCXZIxqlaKYhX0iyXZtsbtTFU152knbNRF4Z6fXUQ= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= @@ -876,8 +876,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.68 h1:EWWG7WsGTT0YvwIjHclIWSWgv4R29xMWShR6Yt5Z+pA= github.com/projectdiscovery/retryabledns v1.0.68/go.mod h1:72W9RwsHVRIGmtc4W6i6izVtYzKBTdnCE1VciqYM5Eg= -github.com/projectdiscovery/retryablehttp-go v1.0.68 h1:MN/kfccDnebmp1kNcCnGlGuCfvet6y5eN1Y1hIKBB1I= -github.com/projectdiscovery/retryablehttp-go v1.0.68/go.mod h1:F3QNCoJExPFT59AACrVgYVhNiDW5Fp8s5HbXc+8CaaU= +github.com/projectdiscovery/retryablehttp-go v1.0.69 h1:EbbHtZS1g/aT7sM3ZFNMcvnMfe9wuqXX2rEG1vGFKe4= +github.com/projectdiscovery/retryablehttp-go v1.0.69/go.mod h1:STJ0rpHJHofbAq22yI8nZCKTVWOk50xZ+oMJHL1rc5g= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -888,8 +888,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2ZvuaoWH7QIkuc= github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= -github.com/projectdiscovery/utils v0.2.1 h1:XcOUJtR5ReXDWqxDkJWPVpC2lSqIYTs8z8YNILcPiqk= -github.com/projectdiscovery/utils v0.2.1/go.mod h1:h3o2zmJguUm9FKvel1F9jYCLxoWhFakyytRMjqb7Dg4= +github.com/projectdiscovery/utils v0.2.2 h1:ZzanMTiVboM7vFO6cjt+GRDtvVjZD1GChBa7knekBgs= +github.com/projectdiscovery/utils v0.2.2/go.mod h1:sZHBCrS37ejIb0/pFjKZewm1nBWMTXUsLJH3hTVww0Y= github.com/projectdiscovery/wappalyzergo v0.1.10 h1:cUTMw8xYXyKTAxUiGYltJxEh4OtJyCvaahj+RG3mHSY= github.com/projectdiscovery/wappalyzergo v0.1.10/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= @@ -929,8 +929,8 @@ github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY= github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= -github.com/refraction-networking/utls v1.6.6 h1:igFsYBUJPYM8Rno9xUuDoM5GQrVEqY4llzEXOkL43Ig= -github.com/refraction-networking/utls v1.6.6/go.mod h1:BC3O4vQzye5hqpmDTWUqi4P5DDhzJfkV1tdqtawQIH0= +github.com/refraction-networking/utls v1.6.7 h1:zVJ7sP1dJx/WtVuITug3qYUq034cDq9B2MR1K67ULZM= +github.com/refraction-networking/utls v1.6.7/go.mod h1:BC3O4vQzye5hqpmDTWUqi4P5DDhzJfkV1tdqtawQIH0= github.com/remeh/sizedwaitgroup v1.0.0 h1:VNGGFwNo/R5+MJBf6yrsr110p0m4/OX4S3DCy7Kyl5E= github.com/remeh/sizedwaitgroup v1.0.0/go.mod h1:3j2R4OIe/SeS6YDhICBy22RWjJC5eNCJ1V+9+NVNYlo= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= From 0e881ebb78c1431afe8637d592b012d78075e304 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 07:20:36 +0000 Subject: [PATCH 106/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.10 to 0.1.11. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.10...v0.1.11) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c03677c803..1a6526390d 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.60 github.com/projectdiscovery/utils v0.2.2 - github.com/projectdiscovery/wappalyzergo v0.1.10 + github.com/projectdiscovery/wappalyzergo v0.1.11 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 2172188616..68aab23454 100644 --- a/go.sum +++ b/go.sum @@ -890,8 +890,8 @@ github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2Z github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= github.com/projectdiscovery/utils v0.2.2 h1:ZzanMTiVboM7vFO6cjt+GRDtvVjZD1GChBa7knekBgs= github.com/projectdiscovery/utils v0.2.2/go.mod h1:sZHBCrS37ejIb0/pFjKZewm1nBWMTXUsLJH3hTVww0Y= -github.com/projectdiscovery/wappalyzergo v0.1.10 h1:cUTMw8xYXyKTAxUiGYltJxEh4OtJyCvaahj+RG3mHSY= -github.com/projectdiscovery/wappalyzergo v0.1.10/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= +github.com/projectdiscovery/wappalyzergo v0.1.11 h1:6RZFcu4XcZ7nxi0iSI7hfq/Ivb/eEIF8h7fnajyoibo= +github.com/projectdiscovery/wappalyzergo v0.1.11/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 9f08fe21d8cc271d9b6f611facaeea80cc66b2fd Mon Sep 17 00:00:00 2001 From: fudancoder Date: Mon, 22 Jul 2024 16:59:35 +0800 Subject: [PATCH 107/283] chore: fix some comments (#5432) Signed-off-by: fudancoder --- pkg/testutils/integration.go | 2 +- pkg/types/types.go | 2 +- pkg/utils/utils.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/testutils/integration.go b/pkg/testutils/integration.go index c8a67e41cb..49eda29626 100644 --- a/pkg/testutils/integration.go +++ b/pkg/testutils/integration.go @@ -162,7 +162,7 @@ func RunNucleiArgsAndGetErrors(debug bool, env []string, extra ...string) ([]str return results, err } -// RunNucleiArgsWithEnvAndGetErrors returns a list of errors in nuclei output (ERR,WRN,FTL) +// RunNucleiArgsWithEnvAndGetResults returns a list of results in nuclei output (ERR,WRN,FTL) func RunNucleiArgsWithEnvAndGetResults(debug bool, env []string, extra ...string) ([]string, error) { cmd := exec.Command("./nuclei") extra = append(extra, ExtraDebugArgs...) diff --git a/pkg/types/types.go b/pkg/types/types.go index 48e9039d37..9d05a0b742 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -592,7 +592,7 @@ func (o *Options) GetValidAbsPath(helperFilePath, templatePath string) (string, return "", errorutil.New("access to helper file %v denied", helperFilePath) } -// isRootDir checks if given is root directory +// isHomeDir checks if given is home directory func isHomeDir(path string) bool { homeDir := folderutil.HomeDirOrDefault("") return strings.HasPrefix(path, homeDir) diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index dfe37ae99e..9a8c669f9b 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -35,7 +35,7 @@ func IsURL(input string) bool { return err == nil && u.Scheme != "" && u.Host != "" } -// ReadFromPathOrURL reads and returns the contents of a file or url. +// ReaderFromPathOrURL reads and returns the contents of a file or url. func ReaderFromPathOrURL(templatePath string, catalog catalog.Catalog) (io.ReadCloser, error) { if IsURL(templatePath) { resp, err := retryablehttp.DefaultClient().Get(templatePath) From 1fa0e2b4738a762468d829b6908ef2d4a9c5c741 Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:55:02 +0300 Subject: [PATCH 108/283] disable http probe when passive mode is enabled (#5418) --- lib/config.go | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/config.go b/lib/config.go index df44566225..7a9419aa50 100644 --- a/lib/config.go +++ b/lib/config.go @@ -396,6 +396,7 @@ func WithHeaders(headers []string) NucleiSDKOptions { func EnablePassiveMode() NucleiSDKOptions { return func(e *NucleiEngine) error { e.opts.OfflineHTTP = true + e.opts.DisableHTTPProbe = true return nil } } From c5a39494734b1121f03e4d0536b276c801890961 Mon Sep 17 00:00:00 2001 From: shubo <814183583@qq.com> Date: Tue, 23 Jul 2024 09:25:46 +0800 Subject: [PATCH 109/283] fix: Missing close statements file.Close() & ticker.Stop() --- internal/pdcp/writer.go | 2 +- pkg/scan/charts/echarts.go | 1 + pkg/scan/events/stats_build.go | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/pdcp/writer.go b/internal/pdcp/writer.go index 5dfda78ca2..2197041137 100644 --- a/internal/pdcp/writer.go +++ b/internal/pdcp/writer.go @@ -142,7 +142,7 @@ func (u *UploadWriter) autoCommit(ctx context.Context, r *io.PipeReader) { // temporary buffer to store the results buff := &bytes.Buffer{} ticker := time.NewTicker(flushTimer) - + defer ticker.Stop() for { select { case <-ctx.Done(): diff --git a/pkg/scan/charts/echarts.go b/pkg/scan/charts/echarts.go index a2a9815888..69960588da 100644 --- a/pkg/scan/charts/echarts.go +++ b/pkg/scan/charts/echarts.go @@ -30,6 +30,7 @@ func (s *ScanEventsCharts) GenerateHTML(filePath string) error { if err != nil { return err } + defer output.Close() return page.Render(output) } diff --git a/pkg/scan/events/stats_build.go b/pkg/scan/events/stats_build.go index 0f01724411..6fe5f27174 100644 --- a/pkg/scan/events/stats_build.go +++ b/pkg/scan/events/stats_build.go @@ -56,6 +56,7 @@ func (s *ScanStatsWorker) initEventsFile() error { if err != nil { return err } + defer f.Close() s.enc = json.NewEncoder(f) return nil } From f930e9a58fcd93293461e0e65a9c3c1c9ed973bb Mon Sep 17 00:00:00 2001 From: jarnpher_rice Date: Thu, 25 Jul 2024 05:29:35 +0800 Subject: [PATCH 110/283] chore(deps): change github.com/denisenkom/go-mssqldb to github.com/microsoft/go-mssqldb (#5419) --- go.mod | 4 ++-- go.sum | 20 ++++++++------------ pkg/js/generated/ts/mssql.ts | 2 +- pkg/js/libs/mssql/memo.mssql.go | 2 +- pkg/js/libs/mssql/mssql.go | 4 ++-- 5 files changed, 14 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 1a6526390d..290bba6ee1 100644 --- a/go.mod +++ b/go.mod @@ -61,7 +61,6 @@ require ( github.com/cespare/xxhash v1.1.0 github.com/charmbracelet/glamour v0.6.0 github.com/clbanning/mxj/v2 v2.7.0 - github.com/denisenkom/go-mssqldb v0.12.3 github.com/ditashi/jsbeautifier-go v0.0.0-20141206144643-2520a8026a9c github.com/docker/go-units v0.5.0 github.com/dop251/goja v0.0.0-20240220182346-e401ed450204 @@ -77,6 +76,7 @@ require ( github.com/lib/pq v1.10.9 github.com/mattn/go-sqlite3 v1.14.22 github.com/mholt/archiver v3.1.1+incompatible + github.com/microsoft/go-mssqldb v1.6.0 github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 github.com/projectdiscovery/dsl v0.1.6 @@ -158,7 +158,7 @@ require ( github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect - github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect + github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/google/certificate-transparency-go v1.1.4 // indirect github.com/google/go-github/v30 v30.1.0 // indirect diff --git a/go.sum b/go.sum index 68aab23454..d781abdc20 100644 --- a/go.sum +++ b/go.sum @@ -40,17 +40,18 @@ dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= git.mills.io/prologic/smtpd v0.0.0-20210710122116-a525b76c287a h1:3i+FJ7IpSZHL+VAjtpQeZCRhrpP0odl5XfoLBY4fxJ8= git.mills.io/prologic/smtpd v0.0.0-20210710122116-a525b76c287a/go.mod h1:C7hXLmFmPYPjIDGfQl1clsmQ5TMEQfmzWTrJk475bUs= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 h1:U2rTu3Ef+7w9FHKIAXM6ZyqF3UOWJZ12zIm8zECAFfg= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0 h1:Ma67P/GGprNwsslzEH6+Kb8nybI8jpDTm4Wmzu2ReK8= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0/go.mod h1:c+Lifp3EDEamAkPVzMooRNOK6CZjNSdEnf1A7jsI9u4= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.0 h1:yfJe15aSwEQ6Oo6J+gdfdulPNoZ3TEhmbhLIoxZcA+U= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.0/go.mod h1:Q28U+75mpCaSCDowNEmhIo/rmgdkqmkmzI7N6TGR4UY= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v0.8.0 h1:T028gtTPiYt/RMUfs8nVsAL7FDQrfLlrm/NnRG/zcC4= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v0.8.0/go.mod h1:cw4zVQgBby0Z5f2v0itn6se2dDP17nTjbZFXW5uPyHA= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 h1:nVocQV40OQne5613EeLayJiRAJuKlBGy+m22qWG+WRg= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0/go.mod h1:7QJP7dr2wznCMeqIrhMgWGf7XpAQnVrJqDm9nvV3Cu4= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= @@ -260,8 +261,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0= github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE= -github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+8Y+8shw= -github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= @@ -274,7 +273,6 @@ github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwu github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v24.0.9+incompatible h1:HPGzNmwfLZWdxHqK9/II92pyi1EpYKsAqcl4G0Of9v0= @@ -420,8 +418,8 @@ github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOW github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -713,6 +711,8 @@ github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssn github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM= github.com/microcosm-cc/bluemonday v1.0.26 h1:xbqSvqzQMeEHCqMi64VAs4d8uy6Mequs3rQ0k/Khz58= github.com/microcosm-cc/bluemonday v1.0.26/go.mod h1:JyzOCs9gkyQyjs+6h10UEVSe02CGwkhd72Xdqh78TWs= +github.com/microsoft/go-mssqldb v1.6.0 h1:mM3gYdVwEPFrlg/Dvr2DNVEgYFG7L42l+dGc67NNNpc= +github.com/microsoft/go-mssqldb v1.6.0/go.mod h1:00mDtPbeQCRGC1HwOOR5K/gr30P1NcEG0vx6Kbv2aJU= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs= @@ -741,7 +741,6 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= @@ -811,7 +810,6 @@ github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1174,7 +1172,6 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= @@ -1268,7 +1265,6 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= diff --git a/pkg/js/generated/ts/mssql.ts b/pkg/js/generated/ts/mssql.ts index bff2edf8b5..947aa0e9ed 100755 --- a/pkg/js/generated/ts/mssql.ts +++ b/pkg/js/generated/ts/mssql.ts @@ -2,7 +2,7 @@ /** * Client is a client for MS SQL database. - * Internally client uses denisenkom/go-mssqldb driver. + * Internally client uses microsoft/go-mssqldb driver. * @example * ```javascript * const mssql = require('nuclei/mssql'); diff --git a/pkg/js/libs/mssql/memo.mssql.go b/pkg/js/libs/mssql/memo.mssql.go index eb169761a0..e57dec5cdd 100755 --- a/pkg/js/libs/mssql/memo.mssql.go +++ b/pkg/js/libs/mssql/memo.mssql.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - _ "github.com/denisenkom/go-mssqldb" + _ "github.com/microsoft/go-mssqldb" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" ) diff --git a/pkg/js/libs/mssql/mssql.go b/pkg/js/libs/mssql/mssql.go index 1b0efa4284..5660cc2a6f 100644 --- a/pkg/js/libs/mssql/mssql.go +++ b/pkg/js/libs/mssql/mssql.go @@ -9,14 +9,14 @@ import ( "strings" "time" - _ "github.com/denisenkom/go-mssqldb" + _ "github.com/microsoft/go-mssqldb" "github.com/praetorian-inc/fingerprintx/pkg/plugins/services/mssql" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" ) type ( // Client is a client for MS SQL database. - // Internally client uses denisenkom/go-mssqldb driver. + // Internally client uses microsoft/go-mssqldb driver. // @example // ```javascript // const mssql = require('nuclei/mssql'); From 33dbb51505c7fbcdb9ba229dafdb9e556f53ade5 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 26 Jul 2024 00:01:05 +0530 Subject: [PATCH 111/283] fix unresolved `interactsh-url` variable with fuzzing (#5289) * fix unresolved interactsh variable with fuzzing * fix variables override with fuzzing --- pkg/fuzz/execute.go | 7 +++++-- pkg/fuzz/parts.go | 4 ++-- pkg/protocols/common/interactsh/const.go | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/fuzz/execute.go b/pkg/fuzz/execute.go index 4f33ba6ddc..8eb57f6b40 100644 --- a/pkg/fuzz/execute.go +++ b/pkg/fuzz/execute.go @@ -167,9 +167,12 @@ func (rule *Rule) evaluateVarsWithInteractsh(data map[string]interface{}, intera if rule.options.Interactsh != nil { // Iterate through the data to replace and evaluate variables with Interactsh URLs for k, v := range data { + value := fmt.Sprint(v) // Replace variables with Interactsh URLs and collect new URLs - got, oastUrls := rule.options.Interactsh.Replace(fmt.Sprint(v), interactshUrls) - + got, oastUrls := rule.options.Interactsh.Replace(value, interactshUrls) + if got != value { + data[k] = got + } // Append new OAST URLs if any if len(oastUrls) > 0 { interactshUrls = append(interactshUrls, oastUrls...) diff --git a/pkg/fuzz/parts.go b/pkg/fuzz/parts.go index 6ab1643296..86e1df9f93 100644 --- a/pkg/fuzz/parts.go +++ b/pkg/fuzz/parts.go @@ -181,9 +181,9 @@ func (rule *Rule) execWithInput(input *ExecuteRuleInput, httpReq *retryablehttp. // for fuzzing. func (rule *Rule) executeEvaluate(input *ExecuteRuleInput, _, value, payload string, interactshURLs []string) (string, []string) { // TODO: Handle errors - values := generators.MergeMaps(input.Values, map[string]interface{}{ + values := generators.MergeMaps(rule.options.Variables.GetAll(), map[string]interface{}{ "value": value, - }, rule.options.Options.Vars.AsMap(), rule.options.Variables.GetAll()) + }, rule.options.Options.Vars.AsMap(), input.Values) firstpass, _ := expressions.Evaluate(payload, values) interactData, interactshURLs := rule.options.Interactsh.Replace(firstpass, interactshURLs) evaluated, _ := expressions.Evaluate(interactData, values) diff --git a/pkg/protocols/common/interactsh/const.go b/pkg/protocols/common/interactsh/const.go index 079940240f..aad130d468 100644 --- a/pkg/protocols/common/interactsh/const.go +++ b/pkg/protocols/common/interactsh/const.go @@ -8,7 +8,7 @@ import ( var ( defaultInteractionDuration = 60 * time.Second - interactshURLMarkerRegex = regexp.MustCompile(`{{interactsh-url(?:_[0-9]+){0,3}}}`) + interactshURLMarkerRegex = regexp.MustCompile(`(%7[B|b]|\{){2}(interactsh-url(?:_[0-9]+){0,3})(%7[D|d]|\}){2}`) ErrInteractshClientNotInitialized = errors.New("interactsh client not initialized") ) From 6d325a4ebe5cd7d33084e97fc74d961eac241659 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Fri, 26 Jul 2024 22:24:35 +0700 Subject: [PATCH 112/283] feat(http): assign `customHeaders` to the map directly (#5445) also add skip expr if header key is "Host" Signed-off-by: Dwi Siswanto --- pkg/protocols/http/request.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 0df13b8872..2eec929808 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -1083,10 +1083,15 @@ func (request *Request) setCustomHeaders(req *generatedRequest) { req.rawRequest.Headers[k] = v } else { kk, vv := strings.TrimSpace(k), strings.TrimSpace(v) - req.request.Header.Set(kk, vv) + // NOTE(dwisiswant0): Do we really not need to convert it first into + // lowercase? if kk == "Host" { req.request.Host = vv + + continue } + + req.request.Header[kk] = []string{vv} } } } From 2418319df403b74ea2e38557adb1806589e9b87c Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sat, 27 Jul 2024 02:46:34 +0530 Subject: [PATCH 113/283] js: generate matcher-status event (#5450) * js: generate matcher-status event * isPortOpen: use fastdialer instance * update sdk unit test * add docs :) --- examples/advanced/advanced.go | 13 ++- pkg/js/compiler/compiler.go | 21 ++++- pkg/js/global/scripts.go | 26 ++++-- pkg/protocols/javascript/js.go | 150 +++++++++++++++++++-------------- 4 files changed, 137 insertions(+), 73 deletions(-) diff --git a/examples/advanced/advanced.go b/examples/advanced/advanced.go index 110160f9a1..79355e5d9d 100644 --- a/examples/advanced/advanced.go +++ b/examples/advanced/advanced.go @@ -1,13 +1,24 @@ package main import ( + "context" + nuclei "github.com/projectdiscovery/nuclei/v3/lib" + "github.com/projectdiscovery/nuclei/v3/pkg/installer" syncutil "github.com/projectdiscovery/utils/sync" ) func main() { + ctx := context.Background() + // when running nuclei in parallel for first time it is a good practice to make sure + // templates exists first + tm := installer.TemplateManager{} + if err := tm.FreshInstallIfNotExists(); err != nil { + panic(err) + } + // create nuclei engine with options - ne, err := nuclei.NewThreadSafeNucleiEngine() + ne, err := nuclei.NewThreadSafeNucleiEngineCtx(ctx) if err != nil { panic(err) } diff --git a/pkg/js/compiler/compiler.go b/pkg/js/compiler/compiler.go index f50e44ff2a..99cbcce923 100644 --- a/pkg/js/compiler/compiler.go +++ b/pkg/js/compiler/compiler.go @@ -55,6 +55,11 @@ type ExecuteArgs struct { TemplateCtx map[string]interface{} // templateCtx contains template scoped variables } +// Map returns a merged map of the TemplateCtx and Args fields. +func (e *ExecuteArgs) Map() map[string]interface{} { + return generators.MergeMaps(e.TemplateCtx, e.Args) +} + // NewExecuteArgs returns a new execute arguments. func NewExecuteArgs() *ExecuteArgs { return &ExecuteArgs{ @@ -66,12 +71,24 @@ func NewExecuteArgs() *ExecuteArgs { // ExecuteResult is the result of executing a script. type ExecuteResult map[string]interface{} +// Map returns the map representation of the ExecuteResult +func (e ExecuteResult) Map() map[string]interface{} { + if e == nil { + return make(map[string]interface{}) + } + return e +} + +// NewExecuteResult returns a new execute result instance func NewExecuteResult() ExecuteResult { return make(map[string]interface{}) } // GetSuccess returns whether the script was successful or not. func (e ExecuteResult) GetSuccess() bool { + if e == nil { + return false + } val, ok := e["success"].(bool) if !ok { return false @@ -114,7 +131,9 @@ func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, if val, ok := err.(*goja.Exception); ok { err = val.Unwrap() } - return nil, err + e := NewExecuteResult() + e["error"] = err.Error() + return e, err } var res ExecuteResult if opts.exports != nil { diff --git a/pkg/js/global/scripts.go b/pkg/js/global/scripts.go index c6771fadf3..2c1d56e12b 100644 --- a/pkg/js/global/scripts.go +++ b/pkg/js/global/scripts.go @@ -2,6 +2,7 @@ package global import ( "bytes" + "context" "embed" "math/rand" "net" @@ -12,8 +13,10 @@ import ( "github.com/logrusorgru/aurora" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/nuclei/v3/pkg/js/gojs" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump" "github.com/projectdiscovery/nuclei/v3/pkg/types" + "github.com/projectdiscovery/utils/errkit" errorutil "github.com/projectdiscovery/utils/errors" stringsutil "github.com/projectdiscovery/utils/strings" ) @@ -111,11 +114,16 @@ func initBuiltInFunc(runtime *goja.Runtime) { }, Description: "isPortOpen checks if given TCP port is open on host. timeout is optional and defaults to 5 seconds", FuncDecl: func(host string, port string, timeout ...int) (bool, error) { - timeoutInSec := 5 + ctx := context.Background() if len(timeout) > 0 { - timeoutInSec = timeout[0] + var cancel context.CancelFunc + ctx, cancel = context.WithTimeout(ctx, time.Duration(timeout[0])*time.Second) + defer cancel() } - conn, err := net.DialTimeout("tcp", net.JoinHostPort(host, port), time.Duration(timeoutInSec)*time.Second) + if host == "" || port == "" { + return false, errkit.New("isPortOpen: host or port is empty") + } + conn, err := protocolstate.Dialer.Dial(ctx, "tcp", net.JoinHostPort(host, port)) if err != nil { return false, err } @@ -131,16 +139,20 @@ func initBuiltInFunc(runtime *goja.Runtime) { }, Description: "isUDPPortOpen checks if the given UDP port is open on the host. Timeout is optional and defaults to 5 seconds.", FuncDecl: func(host string, port string, timeout ...int) (bool, error) { - timeoutInSec := 5 + ctx := context.Background() if len(timeout) > 0 { - timeoutInSec = timeout[0] + var cancel context.CancelFunc + ctx, cancel = context.WithTimeout(ctx, time.Duration(timeout[0])*time.Second) + defer cancel() + } + if host == "" || port == "" { + return false, errkit.New("isPortOpen: host or port is empty") } - conn, err := net.DialTimeout("udp", net.JoinHostPort(host, port), time.Duration(timeoutInSec)*time.Second) + conn, err := protocolstate.Dialer.Dial(ctx, "udp", net.JoinHostPort(host, port)) if err != nil { return false, err } _ = conn.Close() - return true, nil }, }) diff --git a/pkg/protocols/javascript/js.go b/pkg/protocols/javascript/js.go index 2e43c61cd9..fbcd1a6ff9 100644 --- a/pkg/protocols/javascript/js.go +++ b/pkg/protocols/javascript/js.go @@ -35,6 +35,7 @@ import ( "github.com/projectdiscovery/utils/errkit" errorutil "github.com/projectdiscovery/utils/errors" iputil "github.com/projectdiscovery/utils/ip" + mapsutil "github.com/projectdiscovery/utils/maps" syncutil "github.com/projectdiscovery/utils/sync" urlutil "github.com/projectdiscovery/utils/url" ) @@ -346,17 +347,33 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, dynamicV TimeoutVariants: requestOptions.Options.GetTimeouts(), Source: &request.PreCondition, Context: target.Context(), }) - if err != nil { - return errorutil.NewWithTag(request.TemplateID, "could not execute pre-condition: %s", err) - } - if !result.GetSuccess() || types.ToString(result["error"]) != "" { - gologger.Warning().Msgf("[%s] Precondition for request %s was not satisfied\n", request.TemplateID, request.PreCondition) - request.options.Progress.IncrementFailedRequestsBy(1) - return nil - } - if request.options.Options.Debug || request.options.Options.DebugRequests { - request.options.Progress.IncrementRequests() - gologger.Debug().Msgf("[%s] Precondition for request was satisfied\n", request.TemplateID) + // if precondition was successful + if err == nil && result.GetSuccess() { + if request.options.Options.Debug || request.options.Options.DebugRequests { + request.options.Progress.IncrementRequests() + gologger.Debug().Msgf("[%s] Precondition for request was satisfied\n", request.TemplateID) + } + } else { + var outError error + // if js code failed to execute + if err != nil { + outError = errkit.Append(errkit.New("pre-condition not satisfied skipping template execution"), err) + } else { + // execution successful but pre-condition returned false + outError = errkit.New("pre-condition not satisfied skipping template execution") + } + results := map[string]interface{}(result) + results["error"] = outError.Error() + // generate and return failed event + data := request.generateEventData(input, results, hostPort) + data = generators.MergeMaps(data, payloadValues) + event := eventcreator.CreateEventWithAdditionalOptions(request, data, request.options.Options.Debug || request.options.Options.DebugResponse, func(wrappedEvent *output.InternalWrappedEvent) { + allVars := argsCopy.Map() + allVars = generators.MergeMaps(allVars, data) + wrappedEvent.OperatorsResult.PayloadValues = allVars + }) + callback(event) + return err } } @@ -531,24 +548,72 @@ func (request *Request) executeRequestWithPayloads(hostPort string, input *conte } } + values := mapsutil.Merge(payloadValues, results) + // generate event data + data := request.generateEventData(input, values, hostPort) + + // add and get values from templatectx + request.options.AddTemplateVars(input.MetaInput, request.Type(), request.GetID(), data) + data = generators.MergeMaps(data, request.options.GetTemplateCtx(input.MetaInput).GetAll()) + + if requestOptions.Options.Debug || requestOptions.Options.DebugRequests || requestOptions.Options.StoreResponse { + msg := fmt.Sprintf("[%s] Dumped Javascript response for %s:\n%v", requestOptions.TemplateID, input.MetaInput.Input, vardump.DumpVariables(results)) + if requestOptions.Options.Debug || requestOptions.Options.DebugRequests { + gologger.Debug().Str("address", input.MetaInput.Input).Msg(msg) + } + if requestOptions.Options.StoreResponse { + request.options.Output.WriteStoreDebugData(input.MetaInput.Input, request.options.TemplateID, request.Type().String(), msg) + } + } + + if _, ok := data["error"]; ok { + event := eventcreator.CreateEventWithAdditionalOptions(request, generators.MergeMaps(data, payloadValues), request.options.Options.Debug || request.options.Options.DebugResponse, func(wrappedEvent *output.InternalWrappedEvent) { + wrappedEvent.OperatorsResult.PayloadValues = payload + }) + callback(event) + return err + } + + if request.options.Interactsh != nil { + request.options.Interactsh.MakePlaceholders(interactshURLs, data) + } + + var event *output.InternalWrappedEvent + if len(interactshURLs) == 0 { + event = eventcreator.CreateEventWithAdditionalOptions(request, generators.MergeMaps(data, payloadValues), request.options.Options.Debug || request.options.Options.DebugResponse, func(wrappedEvent *output.InternalWrappedEvent) { + wrappedEvent.OperatorsResult.PayloadValues = payload + }) + callback(event) + } else if request.options.Interactsh != nil { + event = &output.InternalWrappedEvent{InternalEvent: data, UsesInteractsh: true} + request.options.Interactsh.RequestEvent(interactshURLs, &interactsh.RequestData{ + MakeResultFunc: request.MakeResultEvent, + Event: event, + Operators: request.CompiledOperators, + MatchFunc: request.Match, + ExtractFunc: request.Extract, + }) + } + return nil +} + +// generateEventData generates event data for the request +func (request *Request) generateEventData(input *contextargs.Context, values map[string]interface{}, matched string) map[string]interface{} { data := make(map[string]interface{}) - for k, v := range payloadValues { + for k, v := range values { data[k] = v } data["type"] = request.Type().String() - for k, v := range results { - data[k] = v - } + data["request-pre-condition"] = beautifyJavascript(request.PreCondition) data["request"] = beautifyJavascript(request.Code) data["host"] = input.MetaInput.Input - data["matched"] = hostPort - data["template-path"] = requestOptions.TemplatePath - data["template-id"] = requestOptions.TemplateID - data["template-info"] = requestOptions.TemplateInfo + data["matched"] = matched + data["template-path"] = request.options.TemplatePath + data["template-id"] = request.options.TemplateID + data["template-info"] = request.options.TemplateInfo if request.StopAtFirstMatch || request.options.StopAtFirstMatch { data["stop-at-first-match"] = true } - // add ip address to data if input.MetaInput.CustomIP != "" { data["ip"] = input.MetaInput.CustomIP @@ -588,50 +653,7 @@ func (request *Request) executeRequestWithPayloads(hostPort string, input *conte } } } - - // add and get values from templatectx - request.options.AddTemplateVars(input.MetaInput, request.Type(), request.GetID(), data) - data = generators.MergeMaps(data, request.options.GetTemplateCtx(input.MetaInput).GetAll()) - - if requestOptions.Options.Debug || requestOptions.Options.DebugRequests || requestOptions.Options.StoreResponse { - msg := fmt.Sprintf("[%s] Dumped Javascript response for %s:\n%v", requestOptions.TemplateID, input.MetaInput.Input, vardump.DumpVariables(results)) - if requestOptions.Options.Debug || requestOptions.Options.DebugRequests { - gologger.Debug().Str("address", input.MetaInput.Input).Msg(msg) - } - if requestOptions.Options.StoreResponse { - request.options.Output.WriteStoreDebugData(input.MetaInput.Input, request.options.TemplateID, request.Type().String(), msg) - } - } - - if _, ok := data["error"]; ok { - event := eventcreator.CreateEventWithAdditionalOptions(request, generators.MergeMaps(data, payloadValues), request.options.Options.Debug || request.options.Options.DebugResponse, func(wrappedEvent *output.InternalWrappedEvent) { - wrappedEvent.OperatorsResult.PayloadValues = payload - }) - callback(event) - return err - } - - if request.options.Interactsh != nil { - request.options.Interactsh.MakePlaceholders(interactshURLs, data) - } - - var event *output.InternalWrappedEvent - if len(interactshURLs) == 0 { - event = eventcreator.CreateEventWithAdditionalOptions(request, generators.MergeMaps(data, payloadValues), request.options.Options.Debug || request.options.Options.DebugResponse, func(wrappedEvent *output.InternalWrappedEvent) { - wrappedEvent.OperatorsResult.PayloadValues = payload - }) - callback(event) - } else if request.options.Interactsh != nil { - event = &output.InternalWrappedEvent{InternalEvent: data, UsesInteractsh: true} - request.options.Interactsh.RequestEvent(interactshURLs, &interactsh.RequestData{ - MakeResultFunc: request.MakeResultEvent, - Event: event, - Operators: request.CompiledOperators, - MatchFunc: request.Match, - ExtractFunc: request.Extract, - }) - } - return nil + return data } func (request *Request) getArgsCopy(input *contextargs.Context, payloadValues map[string]interface{}, requestOptions *protocols.ExecutorOptions, ignoreErrors bool) (*compiler.ExecuteArgs, error) { From c67a579ab12d380d67673d25e0e0380b4e7730ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 05:59:04 +0000 Subject: [PATCH 114/283] chore(deps): bump github.com/projectdiscovery/ratelimit Bumps [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) from 0.0.45 to 0.0.49. - [Release notes](https://github.com/projectdiscovery/ratelimit/releases) - [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.45...v0.0.49) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/ratelimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 290bba6ee1..1916fa0cf3 100644 --- a/go.mod +++ b/go.mod @@ -89,7 +89,7 @@ require ( github.com/projectdiscovery/httpx v1.6.6 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.45 + github.com/projectdiscovery/ratelimit v0.0.49 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 diff --git a/go.sum b/go.sum index d781abdc20..8fc8094c20 100644 --- a/go.sum +++ b/go.sum @@ -866,8 +866,8 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+nek7TdtvEBwCxqk= github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= -github.com/projectdiscovery/ratelimit v0.0.45 h1:h28oF+hJ0CHcdBZozT1Go7ppWmzTxSXDKNNh2G1Ot9Q= -github.com/projectdiscovery/ratelimit v0.0.45/go.mod h1:1vSJUseDS7SjNwIBi9wNRcgsMKNTLxy/GfdlLFVbgI4= +github.com/projectdiscovery/ratelimit v0.0.49 h1:PYatMp8g5OuoFsZOA90e48nLd2vB6a4Tw0FZ8h9zqkQ= +github.com/projectdiscovery/ratelimit v0.0.49/go.mod h1:Xi0LTMHg4HQlmCZFzRBIhRW6N+QW5RxQ8V/Qs+Vta4k= github.com/projectdiscovery/rawhttp v0.1.57 h1:2vCT2i1NSZbTBH+uUBrxOJjxDPKgIl2q6BGtQjs/Hko= github.com/projectdiscovery/rawhttp v0.1.57/go.mod h1:qtthyaU0k8eqcEdza1R/fTqwyxSK4BZ511ThxgkiQtE= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= From 24f4ad545a3f98d30c57948a19414f83001790ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 05:59:09 +0000 Subject: [PATCH 115/283] chore(deps): bump github.com/projectdiscovery/utils from 0.2.2 to 0.2.3 Bumps [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) from 0.2.2 to 0.2.3. - [Release notes](https://github.com/projectdiscovery/utils/releases) - [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/projectdiscovery/utils/compare/v0.2.2...v0.2.3) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/utils dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 290bba6ee1..32b2d891d7 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.2.0 + github.com/projectdiscovery/fastdialer v0.2.1 github.com/projectdiscovery/hmap v0.0.51 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.57 github.com/projectdiscovery/retryabledns v1.0.68 - github.com/projectdiscovery/retryablehttp-go v1.0.69 + github.com/projectdiscovery/retryablehttp-go v1.0.70 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -83,7 +83,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.59 - github.com/projectdiscovery/gologger v1.1.15 + github.com/projectdiscovery/gologger v1.1.16 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.6 @@ -95,7 +95,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.8 github.com/projectdiscovery/useragent v0.0.60 - github.com/projectdiscovery/utils v0.2.2 + github.com/projectdiscovery/utils v0.2.3 github.com/projectdiscovery/wappalyzergo v0.1.11 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index d781abdc20..0b97fa2d08 100644 --- a/go.sum +++ b/go.sum @@ -834,8 +834,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.6 h1:6TUYMwbjcYJ5OoRoawPX1SYD7wgubX/1FreC8SwFqgc= github.com/projectdiscovery/dsl v0.1.6/go.mod h1:1PAV9A6X+fdyMXW0SY4i0BHrO8yN2+FB2jp25+0AT04= -github.com/projectdiscovery/fastdialer v0.2.0 h1:ZEYKA9L5VerrD9LcXH/gtTqUHiBQvTudrbqkZSRMpJo= -github.com/projectdiscovery/fastdialer v0.2.0/go.mod h1:bwBv51HzxK7DkCjB1EHQJKDzXKGPDLp6MgK8PPjaW/w= +github.com/projectdiscovery/fastdialer v0.2.1 h1:or3QuGW1jlZKi+IRkwxShSAG/hgR+yamd52RqjaZ28Q= +github.com/projectdiscovery/fastdialer v0.2.1/go.mod h1:FGPJZIPzAfR7SyDCPTsftaf61lGOqIjrJpwo2IgkNpg= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -844,8 +844,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.59 h1:rFScpC57L0Ln0dJmBtstyxHUH7K9H4UmHACXcSkdqqk= github.com/projectdiscovery/goflags v0.1.59/go.mod h1:dj67QGp/D81WRLtzU0HsWR20zgoGZ0cnk3Wbt9xJcuo= -github.com/projectdiscovery/gologger v1.1.15 h1:EgXC9uQkYb5qWcazV6mH0mev23MZ0GLiGyl203nDYbU= -github.com/projectdiscovery/gologger v1.1.15/go.mod h1:qPDCXZIxqlaKYhX0iyXZtsbtTFU152knbNRF4Z6fXUQ= +github.com/projectdiscovery/gologger v1.1.16 h1:NsYQVNt1H8O3Wmag4sXxQxvbLbIP16bjCm/cnCvf5hc= +github.com/projectdiscovery/gologger v1.1.16/go.mod h1:WlyfroigIqU/in8A3fTEeMJ6t5NfbCG+rgWcvI5dQiQ= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= @@ -874,8 +874,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.68 h1:EWWG7WsGTT0YvwIjHclIWSWgv4R29xMWShR6Yt5Z+pA= github.com/projectdiscovery/retryabledns v1.0.68/go.mod h1:72W9RwsHVRIGmtc4W6i6izVtYzKBTdnCE1VciqYM5Eg= -github.com/projectdiscovery/retryablehttp-go v1.0.69 h1:EbbHtZS1g/aT7sM3ZFNMcvnMfe9wuqXX2rEG1vGFKe4= -github.com/projectdiscovery/retryablehttp-go v1.0.69/go.mod h1:STJ0rpHJHofbAq22yI8nZCKTVWOk50xZ+oMJHL1rc5g= +github.com/projectdiscovery/retryablehttp-go v1.0.70 h1:J19y9kM3SL9TlYRtMD1H8tx0tGMTWBs80aFUZlICnRI= +github.com/projectdiscovery/retryablehttp-go v1.0.70/go.mod h1:54vRm5DSwGBbBXfsjKbFDXrr7JLefWkp0iBV9mbhdoA= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -886,8 +886,8 @@ github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiM github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2ZvuaoWH7QIkuc= github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= -github.com/projectdiscovery/utils v0.2.2 h1:ZzanMTiVboM7vFO6cjt+GRDtvVjZD1GChBa7knekBgs= -github.com/projectdiscovery/utils v0.2.2/go.mod h1:sZHBCrS37ejIb0/pFjKZewm1nBWMTXUsLJH3hTVww0Y= +github.com/projectdiscovery/utils v0.2.3 h1:rkambl0EoTF/y6DpjCfSwcVUFdkAeVOtYkK3lX6InCY= +github.com/projectdiscovery/utils v0.2.3/go.mod h1:eGuuQ5Acekg47WsFS1Q9Qxw8+vI6IxwqIQSAplBBG0c= github.com/projectdiscovery/wappalyzergo v0.1.11 h1:6RZFcu4XcZ7nxi0iSI7hfq/Ivb/eEIF8h7fnajyoibo= github.com/projectdiscovery/wappalyzergo v0.1.11/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From ec0a8ba3ab8f69beebf16dbbaabbfe0e7fc2d9e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 06:27:15 +0000 Subject: [PATCH 116/283] chore(deps): bump github.com/projectdiscovery/dsl from 0.1.6 to 0.1.8 Bumps [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) from 0.1.6 to 0.1.8. - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](https://github.com/projectdiscovery/dsl/compare/v0.1.6...v0.1.8) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/dsl dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f4569171e..cd3ca1bbaa 100644 --- a/go.mod +++ b/go.mod @@ -79,7 +79,7 @@ require ( github.com/microsoft/go-mssqldb v1.6.0 github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.1.6 + github.com/projectdiscovery/dsl v0.1.8 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.59 diff --git a/go.sum b/go.sum index 37ff2cd549..fcdf1c73ce 100644 --- a/go.sum +++ b/go.sum @@ -832,8 +832,8 @@ github.com/projectdiscovery/cdncheck v1.1.0 h1:qDITidmJsejzpk3rMkauCh6sjI2GH9hW/ github.com/projectdiscovery/cdncheck v1.1.0/go.mod h1:sZ8U4MjHSsyaTVjBbYWHT1cwUVvUYwDX1W+WvWRicIc= github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.1.6 h1:6TUYMwbjcYJ5OoRoawPX1SYD7wgubX/1FreC8SwFqgc= -github.com/projectdiscovery/dsl v0.1.6/go.mod h1:1PAV9A6X+fdyMXW0SY4i0BHrO8yN2+FB2jp25+0AT04= +github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= +github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= github.com/projectdiscovery/fastdialer v0.2.1 h1:or3QuGW1jlZKi+IRkwxShSAG/hgR+yamd52RqjaZ28Q= github.com/projectdiscovery/fastdialer v0.2.1/go.mod h1:FGPJZIPzAfR7SyDCPTsftaf61lGOqIjrJpwo2IgkNpg= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= From 372eab80c872652f91c5de6883046df59bba9677 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 06:27:18 +0000 Subject: [PATCH 117/283] chore(deps): bump github.com/projectdiscovery/uncover Bumps [github.com/projectdiscovery/uncover](https://github.com/projectdiscovery/uncover) from 1.0.8 to 1.0.9. - [Release notes](https://github.com/projectdiscovery/uncover/releases) - [Changelog](https://github.com/projectdiscovery/uncover/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/uncover/compare/v1.0.8...v1.0.9) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/uncover dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f4569171e..75fac45682 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 - github.com/projectdiscovery/uncover v1.0.8 + github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.60 github.com/projectdiscovery/utils v0.2.3 github.com/projectdiscovery/wappalyzergo v0.1.11 diff --git a/go.sum b/go.sum index 37ff2cd549..83ff631650 100644 --- a/go.sum +++ b/go.sum @@ -882,8 +882,8 @@ github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZA github.com/projectdiscovery/stringsutil v0.0.2/go.mod h1:EJ3w6bC5fBYjVou6ryzodQq37D5c6qbAYQpGmAy+DC0= github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1UzcNsC77A= github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= -github.com/projectdiscovery/uncover v1.0.8 h1:nE8bYJuwhqk0BEMRQRhNbjPGMy40A9gkiMk5xq6U4u0= -github.com/projectdiscovery/uncover v1.0.8/go.mod h1:1SwsNqjwMkJEzJQ7lQr5AHIdYd+BQlyqhO5IwIYmIAM= +github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0JprejqLSopN9Y= +github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2ZvuaoWH7QIkuc= github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= github.com/projectdiscovery/utils v0.2.3 h1:rkambl0EoTF/y6DpjCfSwcVUFdkAeVOtYkK3lX6InCY= From 82e6f0c1c28f76b24e457bf50b4081209883853d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 06:27:19 +0000 Subject: [PATCH 118/283] chore(deps): bump github.com/projectdiscovery/retryablehttp-go Bumps [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) from 1.0.69 to 1.0.71. - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.0.69...v1.0.71) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f4569171e..145366b28c 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.57 github.com/projectdiscovery/retryabledns v1.0.68 - github.com/projectdiscovery/retryablehttp-go v1.0.70 + github.com/projectdiscovery/retryablehttp-go v1.0.71 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 diff --git a/go.sum b/go.sum index 37ff2cd549..8a02201d2a 100644 --- a/go.sum +++ b/go.sum @@ -874,8 +874,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.68 h1:EWWG7WsGTT0YvwIjHclIWSWgv4R29xMWShR6Yt5Z+pA= github.com/projectdiscovery/retryabledns v1.0.68/go.mod h1:72W9RwsHVRIGmtc4W6i6izVtYzKBTdnCE1VciqYM5Eg= -github.com/projectdiscovery/retryablehttp-go v1.0.70 h1:J19y9kM3SL9TlYRtMD1H8tx0tGMTWBs80aFUZlICnRI= -github.com/projectdiscovery/retryablehttp-go v1.0.70/go.mod h1:54vRm5DSwGBbBXfsjKbFDXrr7JLefWkp0iBV9mbhdoA= +github.com/projectdiscovery/retryablehttp-go v1.0.71 h1:yXPNShCOwoTz7dBSJsBhBh4g4ujX62XS/BrH/fL1VyE= +github.com/projectdiscovery/retryablehttp-go v1.0.71/go.mod h1:wY3T89EwcCKAw6iyMDvwzGPyL3d8TaBU80hnDErEKgM= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From 38e130201ed7f95801869666b18960d31dfbea4a Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:34:56 +0530 Subject: [PATCH 119/283] fix possible nil panic (#5473) --- pkg/js/compiler/compiler.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/js/compiler/compiler.go b/pkg/js/compiler/compiler.go index 99cbcce923..c2dc15d2cb 100644 --- a/pkg/js/compiler/compiler.go +++ b/pkg/js/compiler/compiler.go @@ -129,7 +129,9 @@ func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, }) if err != nil { if val, ok := err.(*goja.Exception); ok { - err = val.Unwrap() + if x := val.Unwrap(); x != nil { + err = x + } } e := NewExecuteResult() e["error"] = err.Error() From 64885dcde67ee4b8fddcc8e89412e468719483b2 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Thu, 1 Aug 2024 16:28:22 +0700 Subject: [PATCH 120/283] docs(issue-report): add Nuclei command section (#5477) Signed-off-by: Dwi Siswanto --- .github/ISSUE_TEMPLATE/issue-report.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/issue-report.md b/.github/ISSUE_TEMPLATE/issue-report.md index 264b09cccc..3aa563b195 100644 --- a/.github/ISSUE_TEMPLATE/issue-report.md +++ b/.github/ISSUE_TEMPLATE/issue-report.md @@ -18,6 +18,11 @@ labels: 'Type: Bug' +## Nuclei command: + + + + ### Current Behavior: From 2655c29458367fa48e7a0e914a47f3a1d686ad32 Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:54:27 +0300 Subject: [PATCH 121/283] remove redundant code (#5479) --- internal/runner/options.go | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/internal/runner/options.go b/internal/runner/options.go index 8798c73113..2872b96a7a 100644 --- a/internal/runner/options.go +++ b/internal/runner/options.go @@ -19,7 +19,6 @@ import ( "github.com/projectdiscovery/gologger/levels" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" - "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/headless/engine" "github.com/projectdiscovery/nuclei/v3/pkg/reporting" @@ -115,12 +114,7 @@ func ParseOptions(options *types.Options) { // Load the resolvers if user asked for them loadResolvers(options) - err := protocolstate.Init(options) - if err != nil { - gologger.Fatal().Msgf("Could not initialize protocol state: %s\n", err) - } - - err = protocolinit.Init(options) + err := protocolinit.Init(options) if err != nil { gologger.Fatal().Msgf("Could not initialize protocols: %s\n", err) } From ff23949bb0f61ba9458faf3adc740233d7de3b8c Mon Sep 17 00:00:00 2001 From: Mohammed Diaa Date: Thu, 1 Aug 2024 18:13:47 +0300 Subject: [PATCH 122/283] Apply input transformation to multi-protocol templates (#5426) * Apply input transformation to multi-protocol template execution * Remove ad hoc input transoformation from DNS protocol * Add SSL protocol input transformer * Remove ad hoc input transoformation from SSL protocol * Remove unused function extractDomain from the DNS protocol engine * transform in flow as well * bug fix + update test * bug fix multi proto : * bug fix multi proto input * bug fixes in input transform --------- Co-authored-by: Tarun Koyalwar --- pkg/input/transform.go | 13 ++++++++++- pkg/input/transform_test.go | 4 ++-- pkg/protocols/common/contextargs/metainput.go | 1 + pkg/protocols/dns/dns.go | 6 ----- pkg/protocols/dns/request.go | 23 ++----------------- pkg/protocols/dns/request_test.go | 16 +------------ pkg/protocols/ssl/ssl.go | 19 +-------------- pkg/protocols/ssl/ssl_test.go | 5 ---- pkg/tmplexec/flow/flow_internal.go | 22 +++++++++++++++--- pkg/tmplexec/multiproto/multi.go | 14 +++++++---- pkg/tmplexec/multiproto/multi_test.go | 10 ++++++-- 11 files changed, 55 insertions(+), 78 deletions(-) diff --git a/pkg/input/transform.go b/pkg/input/transform.go index 0afd649710..76f122c2e3 100644 --- a/pkg/input/transform.go +++ b/pkg/input/transform.go @@ -47,6 +47,8 @@ func (h *Helper) Transform(input string, protocol templateTypes.ProtocolType) st return h.convertInputToType(input, typeHostWithOptionalPort, "") case templateTypes.WebsocketProtocol: return h.convertInputToType(input, typeWebsocket, "") + case templateTypes.SSLProtocol: + return h.convertInputToType(input, typeHostWithPort, "443") } return input } @@ -94,6 +96,8 @@ func (h *Helper) convertInputToType(input string, inputType inputType, defaultPo if _, err := filepath.Match(input, ""); err != filepath.ErrBadPattern && !isURL { return input } + // if none of these satisfy the condition return empty + return "" case typeHostOnly: if hasHost { return host @@ -111,6 +115,10 @@ func (h *Helper) convertInputToType(input string, inputType inputType, defaultPo return string(probed) } } + // try to parse it as absolute url and return + if absUrl, err := urlutil.ParseAbsoluteURL(input, false); err == nil { + return absUrl.String() + } case typeHostWithPort, typeHostWithOptionalPort: if hasHost && hasPort { return net.JoinHostPort(host, port) @@ -128,6 +136,9 @@ func (h *Helper) convertInputToType(input string, inputType inputType, defaultPo if uri != nil && stringsutil.EqualFoldAny(uri.Scheme, "ws", "wss") { return input } + // empty if prefix is not given + return "" } - return "" + // do not return empty + return input } diff --git a/pkg/input/transform_test.go b/pkg/input/transform_test.go index 76cabd3b53..699d877729 100644 --- a/pkg/input/transform_test.go +++ b/pkg/input/transform_test.go @@ -30,7 +30,7 @@ func TestConvertInputToType(t *testing.T) { {"https://google.com:443", typeHostOnly, "google.com", ""}, // url - {"test.com", typeURL, "", ""}, + {"test.com", typeURL, "test.com", ""}, {"google.com", typeURL, "https://google.com", ""}, {"https://google.com", typeURL, "https://google.com", ""}, @@ -43,7 +43,7 @@ func TestConvertInputToType(t *testing.T) { {"input_test.*", typeFilepath, "input_test.*", ""}, // host-port - {"google.com", typeHostWithPort, "", ""}, + {"google.com", typeHostWithPort, "google.com", ""}, {"google.com:443", typeHostWithPort, "google.com:443", ""}, {"https://google.com", typeHostWithPort, "google.com:443", ""}, {"https://google.com:443", typeHostWithPort, "google.com:443", ""}, diff --git a/pkg/protocols/common/contextargs/metainput.go b/pkg/protocols/common/contextargs/metainput.go index b3c0dabe7a..d6515ed8e6 100644 --- a/pkg/protocols/common/contextargs/metainput.go +++ b/pkg/protocols/common/contextargs/metainput.go @@ -145,6 +145,7 @@ func (metaInput *MetaInput) Clone() *MetaInput { input := NewMetaInput() input.Input = metaInput.Input input.CustomIP = metaInput.CustomIP + input.hash = metaInput.hash if metaInput.ReqResp != nil { input.ReqResp = metaInput.ReqResp.Clone() } diff --git a/pkg/protocols/dns/dns.go b/pkg/protocols/dns/dns.go index 0a1bbca6cb..d6f462c440 100644 --- a/pkg/protocols/dns/dns.go +++ b/pkg/protocols/dns/dns.go @@ -141,12 +141,6 @@ func (request *Request) Compile(options *protocols.ExecutorOptions) error { recursion := true request.Recursion = &recursion } - dnsClientOptions := &dnsclientpool.Configuration{ - Retries: request.Retries, - } - if len(request.Resolvers) > 0 { - dnsClientOptions.Resolvers = request.Resolvers - } // Create a dns client for the class client, err := request.getDnsClient(options, nil) if err != nil { diff --git a/pkg/protocols/dns/request.go b/pkg/protocols/dns/request.go index b4f04118e5..83501c15b1 100644 --- a/pkg/protocols/dns/request.go +++ b/pkg/protocols/dns/request.go @@ -3,7 +3,6 @@ package dns import ( "encoding/hex" "fmt" - "net/url" "strings" "sync" @@ -23,7 +22,6 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump" protocolutils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" - "github.com/projectdiscovery/nuclei/v3/pkg/utils" "github.com/projectdiscovery/retryabledns" iputil "github.com/projectdiscovery/utils/ip" syncutil "github.com/projectdiscovery/utils/sync" @@ -38,16 +36,8 @@ func (request *Request) Type() templateTypes.ProtocolType { // ExecuteWithResults executes the protocol requests and returns results instead of writing them. func (request *Request) ExecuteWithResults(input *contextargs.Context, metadata, previous output.InternalEvent, callback protocols.OutputEventCallback) error { - // Parse the URL and return domain if URL. - var domain string - if utils.IsURL(input.MetaInput.Input) { - domain = extractDomain(input.MetaInput.Input) - } else { - domain = input.MetaInput.Input - } - var err error - domain, err = request.parseDNSInput(domain) + domain, err := request.parseDNSInput(input.MetaInput.Input) if err != nil { return errors.Wrap(err, "could not build request") } @@ -230,7 +220,7 @@ func (request *Request) parseDNSInput(host string) (string, error) { return host, nil } -func dumpResponse(event *output.InternalWrappedEvent, request *Request, requestOptions *protocols.ExecutorOptions, response, domain string) { +func dumpResponse(event *output.InternalWrappedEvent, request *Request, _ *protocols.ExecutorOptions, response, domain string) { cliOptions := request.options.Options if cliOptions.Debug || cliOptions.DebugResponse || cliOptions.StoreResponse { hexDump := false @@ -261,12 +251,3 @@ func dumpTraceData(event *output.InternalWrappedEvent, requestOptions *protocols gologger.Debug().Msgf("[%s] Dumped DNS Trace data for %s\n\n%s", requestOptions.TemplateID, domain, highlightedResponse) } } - -// extractDomain extracts the domain name of a URL -func extractDomain(theURL string) string { - u, err := url.Parse(theURL) - if err != nil { - return "" - } - return u.Hostname() -} diff --git a/pkg/protocols/dns/request_test.go b/pkg/protocols/dns/request_test.go index 81f0b98ab2..6410de7080 100644 --- a/pkg/protocols/dns/request_test.go +++ b/pkg/protocols/dns/request_test.go @@ -67,19 +67,5 @@ func TestDNSExecuteWithResults(t *testing.T) { require.Equal(t, 1, len(finalEvent.Results[0].ExtractedResults), "could not get correct number of extracted results") require.Equal(t, "93.184.215.14", finalEvent.Results[0].ExtractedResults[0], "could not get correct extracted results") finalEvent = nil - - t.Run("url-to-domain", func(t *testing.T) { - metadata := make(output.InternalEvent) - previous := make(output.InternalEvent) - err := request.ExecuteWithResults(contextargs.NewWithInput(context.Background(), "https://example.com"), metadata, previous, func(event *output.InternalWrappedEvent) { - finalEvent = event - }) - require.Nil(t, err, "could not execute dns request") - }) - require.NotNil(t, finalEvent, "could not get event output from request") - require.Equal(t, 1, len(finalEvent.Results), "could not get correct number of results") - require.Equal(t, "test", finalEvent.Results[0].MatcherName, "could not get correct matcher name of results") - require.Equal(t, 1, len(finalEvent.Results[0].ExtractedResults), "could not get correct number of extracted results") - require.Equal(t, "93.184.215.14", finalEvent.Results[0].ExtractedResults[0], "could not get correct extracted results") - finalEvent = nil + // Note: changing url to domain is responsible at tmplexec package and is implemented there } diff --git a/pkg/protocols/ssl/ssl.go b/pkg/protocols/ssl/ssl.go index 1abde973aa..50da53111b 100644 --- a/pkg/protocols/ssl/ssl.go +++ b/pkg/protocols/ssl/ssl.go @@ -34,7 +34,6 @@ import ( "github.com/projectdiscovery/tlsx/pkg/tlsx/openssl" errorutil "github.com/projectdiscovery/utils/errors" stringsutil "github.com/projectdiscovery/utils/strings" - urlutil "github.com/projectdiscovery/utils/url" ) // Request is a request for the SSL protocol @@ -199,10 +198,7 @@ func (request *Request) GetID() string { // ExecuteWithResults executes the protocol requests and returns results instead of writing them. func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicValues, previous output.InternalEvent, callback protocols.OutputEventCallback) error { - hostPort, err := getAddress(input.MetaInput.Input) - if err != nil { - return err - } + hostPort := input.MetaInput.Input hostname, port, _ := net.SplitHostPort(hostPort) requestOptions := request.options @@ -358,19 +354,6 @@ var RequestPartDefinitions = map[string]string{ "matched": "Matched is the input which was matched upon", } -// getAddress returns the address of the host to make request to -func getAddress(toTest string) (string, error) { - urlx, err := urlutil.Parse(toTest) - if err != nil { - // use given input instead of url parsing failure - return toTest, nil - } - if urlx.Port() == "" { - urlx.UpdatePort("443") - } - return urlx.Host, nil -} - // Match performs matching operation for a matcher on model and returns: // true and a list of matched snippets if the matcher type is supports it // otherwise false and an empty string slice diff --git a/pkg/protocols/ssl/ssl_test.go b/pkg/protocols/ssl/ssl_test.go index 59c9f85f3e..52a3ae5077 100644 --- a/pkg/protocols/ssl/ssl_test.go +++ b/pkg/protocols/ssl/ssl_test.go @@ -36,8 +36,3 @@ func TestSSLProtocol(t *testing.T) { require.Nil(t, err, "could not run ssl request") require.NotEmpty(t, gotEvent, "could not get event items") } - -func TestGetAddress(t *testing.T) { - address, _ := getAddress("https://scanme.sh") - require.Equal(t, "scanme.sh:443", address, "could not get correct address") -} diff --git a/pkg/tmplexec/flow/flow_internal.go b/pkg/tmplexec/flow/flow_internal.go index 6e82bd960e..e63153c547 100644 --- a/pkg/tmplexec/flow/flow_internal.go +++ b/pkg/tmplexec/flow/flow_internal.go @@ -29,7 +29,15 @@ func (f *FlowExecutor) requestExecutor(runtime *goja.Runtime, reqMap mapsutil.Ma // execution logic for http()/dns() etc for index := range f.allProtocols[opts.protoName] { req := f.allProtocols[opts.protoName][index] - err := req.ExecuteWithResults(f.ctx.Input, output.InternalEvent(f.options.GetTemplateCtx(f.ctx.Input.MetaInput).GetAll()), nil, f.protocolResultCallback(req, matcherStatus, opts)) + // transform input if required + inputItem := f.ctx.Input.Clone() + if f.options.InputHelper != nil && f.ctx.Input.MetaInput.Input != "" { + if inputItem.MetaInput.Input = f.options.InputHelper.Transform(inputItem.MetaInput.Input, req.Type()); inputItem.MetaInput.Input == "" { + f.ctx.LogError(fmt.Errorf("failed to transform input for protocol %s", req.Type())) + return false + } + } + err := req.ExecuteWithResults(inputItem, output.InternalEvent(f.options.GetTemplateCtx(f.ctx.Input.MetaInput).GetAll()), nil, f.protocolResultCallback(req, matcherStatus, opts)) if err != nil { // save all errors in a map with id as key // its less likely that there will be race condition but just in case @@ -58,7 +66,15 @@ func (f *FlowExecutor) requestExecutor(runtime *goja.Runtime, reqMap mapsutil.Ma } return matcherStatus.Load() } - err := req.ExecuteWithResults(f.ctx.Input, output.InternalEvent(f.options.GetTemplateCtx(f.ctx.Input.MetaInput).GetAll()), nil, f.protocolResultCallback(req, matcherStatus, opts)) + // transform input if required + inputItem := f.ctx.Input.Clone() + if f.options.InputHelper != nil && f.ctx.Input.MetaInput.Input != "" { + if inputItem.MetaInput.Input = f.options.InputHelper.Transform(inputItem.MetaInput.Input, req.Type()); inputItem.MetaInput.Input == "" { + f.ctx.LogError(fmt.Errorf("failed to transform input for protocol %s", req.Type())) + return false + } + } + err := req.ExecuteWithResults(inputItem, output.InternalEvent(f.options.GetTemplateCtx(f.ctx.Input.MetaInput).GetAll()), nil, f.protocolResultCallback(req, matcherStatus, opts)) if err != nil { index := id err = f.allErrs.Set(opts.protoName+":"+index, err) @@ -72,7 +88,7 @@ func (f *FlowExecutor) requestExecutor(runtime *goja.Runtime, reqMap mapsutil.Ma // protocolResultCallback returns a callback that is executed // after execution of each protocol request -func (f *FlowExecutor) protocolResultCallback(req protocols.Request, matcherStatus *atomic.Bool, opts *ProtoOptions) func(result *output.InternalWrappedEvent) { +func (f *FlowExecutor) protocolResultCallback(req protocols.Request, matcherStatus *atomic.Bool, _ *ProtoOptions) func(result *output.InternalWrappedEvent) { return func(result *output.InternalWrappedEvent) { if result != nil { // Note: flow specific implicit behaviours should be handled here diff --git a/pkg/tmplexec/multiproto/multi.go b/pkg/tmplexec/multiproto/multi.go index 7bbc2a1403..87fc35c00a 100644 --- a/pkg/tmplexec/multiproto/multi.go +++ b/pkg/tmplexec/multiproto/multi.go @@ -109,14 +109,19 @@ func (m *MultiProtocol) ExecuteWithResults(ctx *scan.ScanContext) error { return ctx.Context().Err() default: } - - values := m.options.GetTemplateCtx(ctx.Input.MetaInput).GetAll() - err := req.ExecuteWithResults(ctx.Input, output.InternalEvent(values), nil, multiProtoCallback) + inputItem := ctx.Input.Clone() + if m.options.InputHelper != nil && ctx.Input.MetaInput.Input != "" { + if inputItem.MetaInput.Input = m.options.InputHelper.Transform(inputItem.MetaInput.Input, req.Type()); inputItem.MetaInput.Input == "" { + return nil + } + } + // FIXME: this hack of using hash to get templateCtx has known issues scan context based approach should be adopted ASAP + values := m.options.GetTemplateCtx(inputItem.MetaInput).GetAll() + err := req.ExecuteWithResults(inputItem, output.InternalEvent(values), nil, multiProtoCallback) // in case of fatal error skip execution of next protocols if err != nil { // always log errors ctx.LogError(err) - // for some classes of protocols (i.e ssl) errors like tls handshake are a legitimate behavior so we don't stop execution // connection failures are already tracked by the internal host error cache // we use strings comparison as the error is not formalized into instance within the standard library @@ -124,7 +129,6 @@ func (m *MultiProtocol) ExecuteWithResults(ctx *scan.ScanContext) error { if req.Type() == types.SSLProtocol && stringsutil.ContainsAnyI(err.Error(), "protocol version not supported", "could not do tls handshake") { continue } - return err } } diff --git a/pkg/tmplexec/multiproto/multi_test.go b/pkg/tmplexec/multiproto/multi_test.go index 4f2aa25e4e..2750b8cd64 100644 --- a/pkg/tmplexec/multiproto/multi_test.go +++ b/pkg/tmplexec/multiproto/multi_test.go @@ -3,11 +3,13 @@ package multiproto_test import ( "context" "log" + "os" "testing" "time" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/disk" + "github.com/projectdiscovery/nuclei/v3/pkg/input" "github.com/projectdiscovery/nuclei/v3/pkg/loader/workflow" "github.com/projectdiscovery/nuclei/v3/pkg/progress" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" @@ -36,6 +38,7 @@ func setup() { Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), Parser: templates.NewParser(), + InputHelper: input.NewHelper(), } workflowLoader, err := workflow.NewLoader(&executerOpts) if err != nil { @@ -45,7 +48,6 @@ func setup() { } func TestMultiProtoWithDynamicExtractor(t *testing.T) { - setup() Template, err := templates.Parse("testcases/multiprotodynamic.yaml", nil, executerOpts) require.Nil(t, err, "could not parse template") @@ -62,7 +64,6 @@ func TestMultiProtoWithDynamicExtractor(t *testing.T) { } func TestMultiProtoWithProtoPrefix(t *testing.T) { - setup() Template, err := templates.Parse("testcases/multiprotowithprefix.yaml", nil, executerOpts) require.Nil(t, err, "could not parse template") @@ -77,3 +78,8 @@ func TestMultiProtoWithProtoPrefix(t *testing.T) { require.Nil(t, err, "could not execute template") require.True(t, gotresults) } + +func TestMain(m *testing.M) { + setup() + os.Exit(m.Run()) +} From 0787ff29e0e1380e89fa73ba298b5f12a9afa028 Mon Sep 17 00:00:00 2001 From: alban-stourbe-wmx <159776828+alban-stourbe-wmx@users.noreply.github.com> Date: Sat, 3 Aug 2024 19:43:31 +0200 Subject: [PATCH 123/283] Add Workflows SDK scan (#5409) * Add Workflows SDK scan * minor --------- Co-authored-by: Mzack9999 --- lib/sdk.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/sdk.go b/lib/sdk.go index 60f5255bcd..04b084f244 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -243,7 +243,12 @@ func (e *NucleiEngine) ExecuteCallbackWithCtx(ctx context.Context, callback ...f } e.resultCallbacks = append(e.resultCallbacks, filtered...) - _ = e.engine.ExecuteScanWithOpts(ctx, e.store.Templates(), e.inputProvider, false) + templatesAndWorkflows := append(e.store.Templates(), e.store.Workflows()...) + if len(templatesAndWorkflows) == 0 { + return ErrNoTemplatesAvailable + } + + _ = e.engine.ExecuteScanWithOpts(ctx, templatesAndWorkflows, e.inputProvider, false) defer e.engine.WorkPool().Wait() return nil } From ddcc9211beb18dea51710728386b77e078f80ece Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Sun, 4 Aug 2024 01:14:37 +0700 Subject: [PATCH 124/283] ci: use composite actions (#5483) Signed-off-by: Dwi Siswanto --- .github/workflows/build-test.yml | 15 ++++++--------- .github/workflows/functional-test.yml | 10 ++++------ .github/workflows/lint-test.yml | 15 +++++---------- .github/workflows/performance-test.yaml | 11 ++++------- .github/workflows/publish-docs.yaml | 11 +++++------ .github/workflows/release-binary.yml | 13 +++++-------- .github/workflows/release-test.yml | 13 ++++--------- .github/workflows/template-validate.yml | 7 +++---- 8 files changed, 36 insertions(+), 59 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 75591aa8b8..8ee149c79d 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -12,24 +12,21 @@ jobs: name: Test Builds strategy: matrix: - go-version: [1.21.x] os: [ubuntu-latest, windows-latest, macOS-latest] - runs-on: ${{ matrix.os }} steps: + - name: Check out code + uses: actions/checkout@v4 + - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: ${{ matrix.go-version }} + uses: projectdiscovery/actions/setup/go@v1 - - name: Set up Python # required for running python code in py-snippet.yaml integration test + # required for running python code in py-snippet.yaml integration test + - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - - name: Check out code - uses: actions/checkout@v3 - - name: Go Mod hygiene run: | go clean -modcache diff --git a/.github/workflows/functional-test.yml b/.github/workflows/functional-test.yml index 912080d8a0..cfe8ab1465 100644 --- a/.github/workflows/functional-test.yml +++ b/.github/workflows/functional-test.yml @@ -15,13 +15,11 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.21.x - - name: Check out code - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Set up Go + uses: projectdiscovery/actions/setup/go@v1 - name: Functional Tests env: diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index 8b4695dc83..cd8ceed9ca 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -12,16 +12,11 @@ jobs: name: Lint Test runs-on: ubuntu-latest steps: - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.21.x - - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Set up Go + uses: projectdiscovery/actions/setup/go@v1 - name: Run golangci-lint - uses: golangci/golangci-lint-action@v4.0.0 - with: - version: latest - args: --timeout 5m \ No newline at end of file + uses: projectdiscovery/actions/golangci-lint@v1 diff --git a/.github/workflows/performance-test.yaml b/.github/workflows/performance-test.yaml index 76c24bf916..6baecfaff2 100644 --- a/.github/workflows/performance-test.yaml +++ b/.github/workflows/performance-test.yaml @@ -11,19 +11,16 @@ jobs: name: Test Performance strategy: matrix: - go-version: [1.21.x] os: [ubuntu-latest, macOS-latest] runs-on: ${{ matrix.os }} if: github.repository == 'projectdiscovery/nuclei' steps: - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: ${{ matrix.go-version }} - - name: Check out code - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Set up Go + uses: projectdiscovery/actions/setup/go@v1 - name: Go Mod hygine run: | diff --git a/.github/workflows/publish-docs.yaml b/.github/workflows/publish-docs.yaml index da3a5110cd..72adb4b0ad 100644 --- a/.github/workflows/publish-docs.yaml +++ b/.github/workflows/publish-docs.yaml @@ -11,14 +11,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: "Set up Go" - uses: actions/setup-go@v4 - with: - go-version: 1.21.x + uses: projectdiscovery/actions/setup/go@v1 + + - name: "Set up Git" + uses: projectdiscovery/actions/setup/git@v1 - name: Generate YAML Syntax Documentation id: generate-docs @@ -35,8 +36,6 @@ jobs: - name: Commit files if: steps.generate-docs.outputs.CHANGES > 0 run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" git add SYNTAX-REFERENCE.md nuclei-jsonschema.json git commit -m "Auto Generate Syntax Docs + JSONSchema [$(date)] :robot:" -a diff --git a/.github/workflows/release-binary.yml b/.github/workflows/release-binary.yml index 5c7181776a..b4827c8c2d 100644 --- a/.github/workflows/release-binary.yml +++ b/.github/workflows/release-binary.yml @@ -9,20 +9,17 @@ on: jobs: release: runs-on: ubuntu-latest-16-cores - steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-go@v4 - with: - go-version: 1.21.x + - name: Set up Go + uses: projectdiscovery/actions/setup/go@v1 - - uses: goreleaser/goreleaser-action@v4 + - uses: projectdiscovery/actions/goreleaser@v1 with: - args: "release --clean" - version: latest + release: true env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" SLACK_WEBHOOK: "${{ secrets.RELEASE_SLACK_WEBHOOK }}" diff --git a/.github/workflows/release-test.yml b/.github/workflows/release-test.yml index 4a13baae63..b4edbc728b 100644 --- a/.github/workflows/release-test.yml +++ b/.github/workflows/release-test.yml @@ -12,17 +12,12 @@ jobs: runs-on: ubuntu-latest-16-cores steps: - name: "Check out code" - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.21.x + uses: projectdiscovery/actions/setup/go@v1 - - name: release test - uses: goreleaser/goreleaser-action@v4 - with: - args: "release --clean --snapshot" - version: latest \ No newline at end of file + - name: Release snapshot + uses: projectdiscovery/actions/goreleaser@v1 diff --git a/.github/workflows/template-validate.yml b/.github/workflows/template-validate.yml index a3ca5bd9f1..05279def57 100644 --- a/.github/workflows/template-validate.yml +++ b/.github/workflows/template-validate.yml @@ -10,10 +10,9 @@ jobs: build: runs-on: ubuntu-latest-16-cores steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version: 1.21.x + - uses: actions/checkout@v4 + + - uses: projectdiscovery/actions/setup/go@v1 - name: Template Validation run: | From 2df1b2e88e464b76b32e98f260dd6091fe429edf Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sun, 4 Aug 2024 18:14:08 +0530 Subject: [PATCH 125/283] file proto missing vars in flow & multi-protocol (#5480) * fix missing template context in file proto * fix file protocol missing vars * fix test * skip example advanced test --- .github/workflows/build-test.yml | 7 ++++--- pkg/protocols/file/request.go | 6 +++++- pkg/protocols/protocols.go | 10 ++++++++++ pkg/templates/types/types.go | 12 ++++++++++++ pkg/tmplexec/flow/flow_executor_test.go | 19 ++++++++++--------- 5 files changed, 41 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 8ee149c79d..92e2b479cd 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -62,9 +62,10 @@ jobs: run: go run . working-directory: examples/simple/ - - name: Example SDK Advanced - run: go run . - working-directory: examples/advanced/ + # Temporarily disabled very flaky in github actions + # - name: Example SDK Advanced + # run: go run . + # working-directory: examples/advanced/ - name: Example SDK with speed control run: go run . diff --git a/pkg/protocols/file/request.go b/pkg/protocols/file/request.go index f13f08d1ab..b7d8d086b7 100644 --- a/pkg/protocols/file/request.go +++ b/pkg/protocols/file/request.go @@ -51,6 +51,9 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, metadata, if err != nil { return err } + if input.MetaInput.Input == "" { + return errors.New("input cannot be empty file or folder expected") + } err = request.getInputPaths(input.MetaInput.Input, func(filePath string) { wg.Add() func(filePath string) { @@ -250,6 +253,8 @@ func (request *Request) findMatchesWithReader(reader io.Reader, input *contextar for k, v := range previous { dslMap[k] = v } + // add vars to template context + request.options.AddTemplateVars(input.MetaInput, request.Type(), request.ID, dslMap) // add template context variables to DSL map if request.options.HasTemplateCtx(input.MetaInput) { dslMap = generators.MergeMaps(dslMap, request.options.GetTemplateCtx(input.MetaInput).GetAll()) @@ -323,7 +328,6 @@ func (request *Request) buildEvent(input, filePath string, fileMatches []FileMat exprLines[fileMatch.Expr] = append(exprLines[fileMatch.Expr], fileMatch.Line) exprBytes[fileMatch.Expr] = append(exprBytes[fileMatch.Expr], fileMatch.ByteIndex) } - event := eventcreator.CreateEventWithOperatorResults(request, internalEvent, operatorResult) // Annotate with line numbers if asked by the user if request.options.Options.ShowMatchLine { diff --git a/pkg/protocols/protocols.go b/pkg/protocols/protocols.go index af7d2b4766..8b8854cd8b 100644 --- a/pkg/protocols/protocols.go +++ b/pkg/protocols/protocols.go @@ -197,6 +197,11 @@ func (e *ExecutorOptions) AddTemplateVars(input *contextargs.MetaInput, reqType } templateCtx := e.GetTemplateCtx(input) for k, v := range vars { + if stringsutil.HasPrefixAny(k, templateTypes.SupportedProtocolsStrings()...) { + // this was inherited from previous protocols no need to modify it we can directly set it or omit + templateCtx.Set(k, v) + continue + } if !stringsutil.EqualFoldAny(k, "template-id", "template-info", "template-path") { if reqID != "" { k = reqID + "_" + k @@ -216,6 +221,11 @@ func (e *ExecutorOptions) AddTemplateVar(input *contextargs.MetaInput, templateT return } templateCtx := e.GetTemplateCtx(input) + if stringsutil.HasPrefixAny(key, templateTypes.SupportedProtocolsStrings()...) { + // this was inherited from previous protocols no need to modify it we can directly set it or omit + templateCtx.Set(key, value) + return + } if reqID != "" { key = reqID + "_" + key } else if templateType < templateTypes.InvalidProtocol { diff --git a/pkg/templates/types/types.go b/pkg/templates/types/types.go index f51c444f8b..164deb68b3 100644 --- a/pkg/templates/types/types.go +++ b/pkg/templates/types/types.go @@ -69,6 +69,18 @@ func GetSupportedProtocolTypes() ProtocolTypes { return result } +// SupportedProtocolsStrings returns a slice of strings of supported protocols +func SupportedProtocolsStrings() []string { + var result []string + for _, protocol := range GetSupportedProtocolTypes() { + if protocol.String() == "" { + continue + } + result = append(result, protocol.String()) + } + return result +} + func toProtocolType(valueToMap string) (ProtocolType, error) { normalizedValue := normalizeValue(valueToMap) for key, currentValue := range protocolMappings { diff --git a/pkg/tmplexec/flow/flow_executor_test.go b/pkg/tmplexec/flow/flow_executor_test.go index cf7b1790a6..fd4da0d6f7 100644 --- a/pkg/tmplexec/flow/flow_executor_test.go +++ b/pkg/tmplexec/flow/flow_executor_test.go @@ -27,15 +27,15 @@ func setup() { progressImpl, _ := progress.NewStatsTicker(0, false, false, false, 0) executerOpts = protocols.ExecutorOptions{ - Output: testutils.NewMockOutputWriter(options.OmitTemplate), - Options: options, - Progress: progressImpl, - ProjectFile: nil, - IssuesClient: nil, - Browser: nil, - Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), - RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), - Parser: templates.NewParser(), + Output: testutils.NewMockOutputWriter(options.OmitTemplate), + Options: options, + Progress: progressImpl, + ProjectFile: nil, + IssuesClient: nil, + Browser: nil, + Catalog: disk.NewCatalog(config.DefaultConfig.TemplatesDirectory), + RateLimiter: ratelimit.New(context.Background(), uint(options.RateLimit), time.Second), + Parser: templates.NewParser(), } workflowLoader, err := workflow.NewLoader(&executerOpts) if err != nil { @@ -146,6 +146,7 @@ func TestFlowWithConditionPositive(t *testing.T) { } func TestFlowWithNoMatchers(t *testing.T) { + setup() // when using conditional flow with no matchers at all // we implicitly assume that request was successful and internally changed the result to true (for scope of condition only) From 471d6730f477f8d7af8149dbb169610ddc6cae0b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 05:45:47 +0000 Subject: [PATCH 126/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.11 to 0.1.13. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.11...v0.1.13) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d9c722509f..1d1e96ed93 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.60 github.com/projectdiscovery/utils v0.2.3 - github.com/projectdiscovery/wappalyzergo v0.1.11 + github.com/projectdiscovery/wappalyzergo v0.1.13 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index d9973196fa..d43e561a85 100644 --- a/go.sum +++ b/go.sum @@ -888,8 +888,8 @@ github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2Z github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= github.com/projectdiscovery/utils v0.2.3 h1:rkambl0EoTF/y6DpjCfSwcVUFdkAeVOtYkK3lX6InCY= github.com/projectdiscovery/utils v0.2.3/go.mod h1:eGuuQ5Acekg47WsFS1Q9Qxw8+vI6IxwqIQSAplBBG0c= -github.com/projectdiscovery/wappalyzergo v0.1.11 h1:6RZFcu4XcZ7nxi0iSI7hfq/Ivb/eEIF8h7fnajyoibo= -github.com/projectdiscovery/wappalyzergo v0.1.11/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= +github.com/projectdiscovery/wappalyzergo v0.1.13 h1:tQ/pjdW4w2NHqUiFlNe/dULrPH8A9GOfnmplDzEOp3M= +github.com/projectdiscovery/wappalyzergo v0.1.13/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 6179e9dd4172b16fe7e79a5e8d2eedf94231f1c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 05:46:02 +0000 Subject: [PATCH 127/283] chore(deps): bump github.com/projectdiscovery/gologger Bumps [github.com/projectdiscovery/gologger](https://github.com/projectdiscovery/gologger) from 1.1.16 to 1.1.18. - [Release notes](https://github.com/projectdiscovery/gologger/releases) - [Commits](https://github.com/projectdiscovery/gologger/compare/v1.1.16...v1.1.18) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/gologger dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d9c722509f..73b226ef8d 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.59 - github.com/projectdiscovery/gologger v1.1.16 + github.com/projectdiscovery/gologger v1.1.18 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.6 diff --git a/go.sum b/go.sum index d9973196fa..a525d15be5 100644 --- a/go.sum +++ b/go.sum @@ -844,8 +844,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.59 h1:rFScpC57L0Ln0dJmBtstyxHUH7K9H4UmHACXcSkdqqk= github.com/projectdiscovery/goflags v0.1.59/go.mod h1:dj67QGp/D81WRLtzU0HsWR20zgoGZ0cnk3Wbt9xJcuo= -github.com/projectdiscovery/gologger v1.1.16 h1:NsYQVNt1H8O3Wmag4sXxQxvbLbIP16bjCm/cnCvf5hc= -github.com/projectdiscovery/gologger v1.1.16/go.mod h1:WlyfroigIqU/in8A3fTEeMJ6t5NfbCG+rgWcvI5dQiQ= +github.com/projectdiscovery/gologger v1.1.18 h1:fux2S/LXYe18/w4PylAFpEFg+EApNCuyS85x25nDE98= +github.com/projectdiscovery/gologger v1.1.18/go.mod h1:IgjKgVLfVGUovxlC6WJcXK0qvo/tNZ1P0+r6miQqyRk= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= From b84488e1cd60451b15f18fd1ebd10a41aca5dbf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 06:12:23 +0000 Subject: [PATCH 128/283] chore(deps): bump github.com/projectdiscovery/goflags Bumps [github.com/projectdiscovery/goflags](https://github.com/projectdiscovery/goflags) from 0.1.59 to 0.1.62. - [Release notes](https://github.com/projectdiscovery/goflags/releases) - [Commits](https://github.com/projectdiscovery/goflags/compare/v0.1.59...v0.1.62) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/goflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 73b226ef8d..7fc76a19d8 100644 --- a/go.mod +++ b/go.mod @@ -82,7 +82,7 @@ require ( github.com/projectdiscovery/dsl v0.1.8 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.59 + github.com/projectdiscovery/goflags v0.1.62 github.com/projectdiscovery/gologger v1.1.18 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 diff --git a/go.sum b/go.sum index a525d15be5..f9e7fbe640 100644 --- a/go.sum +++ b/go.sum @@ -842,8 +842,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.59 h1:rFScpC57L0Ln0dJmBtstyxHUH7K9H4UmHACXcSkdqqk= -github.com/projectdiscovery/goflags v0.1.59/go.mod h1:dj67QGp/D81WRLtzU0HsWR20zgoGZ0cnk3Wbt9xJcuo= +github.com/projectdiscovery/goflags v0.1.62 h1:UmzKJQT+1UyqT1cZDmb3vZ8/IGhQ7LTsWfdqVcAGoJc= +github.com/projectdiscovery/goflags v0.1.62/go.mod h1:d1/D8GaTDoV332ABwceUcY1ffKODaYFlGP0Oriq3wfk= github.com/projectdiscovery/gologger v1.1.18 h1:fux2S/LXYe18/w4PylAFpEFg+EApNCuyS85x25nDE98= github.com/projectdiscovery/gologger v1.1.18/go.mod h1:IgjKgVLfVGUovxlC6WJcXK0qvo/tNZ1P0+r6miQqyRk= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= From de29517572ff2f9968cde211c9c7bf012ba24d99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 06:12:39 +0000 Subject: [PATCH 129/283] chore(deps): bump github.com/projectdiscovery/rawhttp Bumps [github.com/projectdiscovery/rawhttp](https://github.com/projectdiscovery/rawhttp) from 0.1.57 to 0.1.60. - [Release notes](https://github.com/projectdiscovery/rawhttp/releases) - [Commits](https://github.com/projectdiscovery/rawhttp/compare/v0.1.57...v0.1.60) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/rawhttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 73b226ef8d..2a352cd251 100644 --- a/go.mod +++ b/go.mod @@ -20,11 +20,11 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.2.1 + github.com/projectdiscovery/fastdialer v0.2.2 github.com/projectdiscovery/hmap v0.0.51 github.com/projectdiscovery/interactsh v1.2.0 - github.com/projectdiscovery/rawhttp v0.1.57 - github.com/projectdiscovery/retryabledns v1.0.68 + github.com/projectdiscovery/rawhttp v0.1.60 + github.com/projectdiscovery/retryabledns v1.0.69 github.com/projectdiscovery/retryablehttp-go v1.0.71 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index a525d15be5..caafc6aaa3 100644 --- a/go.sum +++ b/go.sum @@ -834,8 +834,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= -github.com/projectdiscovery/fastdialer v0.2.1 h1:or3QuGW1jlZKi+IRkwxShSAG/hgR+yamd52RqjaZ28Q= -github.com/projectdiscovery/fastdialer v0.2.1/go.mod h1:FGPJZIPzAfR7SyDCPTsftaf61lGOqIjrJpwo2IgkNpg= +github.com/projectdiscovery/fastdialer v0.2.2 h1:AiUT4jIbS6JyM2QBQH9f+ZFBgvOVHzQG5K+M2FCA5jA= +github.com/projectdiscovery/fastdialer v0.2.2/go.mod h1:QKrkTQiUhedqxqR65hLeN+FTbkul50TzMxgkk5Va+Uk= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -868,12 +868,12 @@ github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+ github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= github.com/projectdiscovery/ratelimit v0.0.49 h1:PYatMp8g5OuoFsZOA90e48nLd2vB6a4Tw0FZ8h9zqkQ= github.com/projectdiscovery/ratelimit v0.0.49/go.mod h1:Xi0LTMHg4HQlmCZFzRBIhRW6N+QW5RxQ8V/Qs+Vta4k= -github.com/projectdiscovery/rawhttp v0.1.57 h1:2vCT2i1NSZbTBH+uUBrxOJjxDPKgIl2q6BGtQjs/Hko= -github.com/projectdiscovery/rawhttp v0.1.57/go.mod h1:qtthyaU0k8eqcEdza1R/fTqwyxSK4BZ511ThxgkiQtE= +github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco2RVfwqh/II= +github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.68 h1:EWWG7WsGTT0YvwIjHclIWSWgv4R29xMWShR6Yt5Z+pA= -github.com/projectdiscovery/retryabledns v1.0.68/go.mod h1:72W9RwsHVRIGmtc4W6i6izVtYzKBTdnCE1VciqYM5Eg= +github.com/projectdiscovery/retryabledns v1.0.69 h1:6vhhlfxPQoJI0j1enYSzyagyAZJNfGSg9TNloVsxEBQ= +github.com/projectdiscovery/retryabledns v1.0.69/go.mod h1:5SDuGtXgL4W1z/9V+xnmHFYg03Fi1Ud/F2kqlPlAgfE= github.com/projectdiscovery/retryablehttp-go v1.0.71 h1:yXPNShCOwoTz7dBSJsBhBh4g4ujX62XS/BrH/fL1VyE= github.com/projectdiscovery/retryablehttp-go v1.0.71/go.mod h1:wY3T89EwcCKAw6iyMDvwzGPyL3d8TaBU80hnDErEKgM= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From a7b815d561029c66b2f1284be74886c96d2cc54e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 06:40:21 +0000 Subject: [PATCH 130/283] chore(deps): bump github.com/projectdiscovery/fastdialer Bumps [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) from 0.2.1 to 0.2.3. - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.2.1...v0.2.3) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 16c37c919c..0642eb604a 100644 --- a/go.mod +++ b/go.mod @@ -20,8 +20,8 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 - github.com/projectdiscovery/fastdialer v0.2.2 - github.com/projectdiscovery/hmap v0.0.51 + github.com/projectdiscovery/fastdialer v0.2.3 + github.com/projectdiscovery/hmap v0.0.52 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 github.com/projectdiscovery/retryabledns v1.0.69 diff --git a/go.sum b/go.sum index e8e1d756e8..9ce53f77b1 100644 --- a/go.sum +++ b/go.sum @@ -834,8 +834,8 @@ github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPo github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= -github.com/projectdiscovery/fastdialer v0.2.2 h1:AiUT4jIbS6JyM2QBQH9f+ZFBgvOVHzQG5K+M2FCA5jA= -github.com/projectdiscovery/fastdialer v0.2.2/go.mod h1:QKrkTQiUhedqxqR65hLeN+FTbkul50TzMxgkk5Va+Uk= +github.com/projectdiscovery/fastdialer v0.2.3 h1:K03x5XEXGyVWxS2rtSR104E9kHF0aphN7kOCzbh8zv0= +github.com/projectdiscovery/fastdialer v0.2.3/go.mod h1:a0BKvETrO1EAohUYp9gwtbbce0hKD1qGrTegyAUqyRo= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -850,8 +850,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.51 h1:xqbpRAJRHPMoS2uERkbWGObIO4bv+whe3PEk3h4lDEg= -github.com/projectdiscovery/hmap v0.0.51/go.mod h1:vqdeWnNVMJYyIDytu+IdJDFg3wZdRVN83AKHR40RP6c= +github.com/projectdiscovery/hmap v0.0.52 h1:Gm0aI0HDgsPW1+pq3PflO7PJ5cbOXUKt0DorlVsN3pI= +github.com/projectdiscovery/hmap v0.0.52/go.mod h1:1YAS+8xYRIm+M8Qnlim8vw+U4rOPGLw5CqlirAVIPQ4= github.com/projectdiscovery/httpx v1.6.6 h1:e9deBDrW2ILhuHjPYBAskIgEaLTJYbiBjC5FAHKuV4A= github.com/projectdiscovery/httpx v1.6.6/go.mod h1:7kLxlw3gW6IJYwRbThI3rFkaQxJ/Z4zNeJtk408RnW0= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= From 350fa4c10c43c0888561dfe1ee5fa473d5023f73 Mon Sep 17 00:00:00 2001 From: Peter Kasza Date: Mon, 5 Aug 2024 11:53:21 +0200 Subject: [PATCH 131/283] fix: FileAuthProvider stores the same strategy for each entry (#5474) --- pkg/authprovider/file.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/authprovider/file.go b/pkg/authprovider/file.go index 77f45e40fb..c20f85509d 100644 --- a/pkg/authprovider/file.go +++ b/pkg/authprovider/file.go @@ -51,7 +51,8 @@ func NewFileAuthProvider(path string, callback authx.LazyFetchSecret) (AuthProvi // init initializes the file auth provider func (f *FileAuthProvider) init() { - for _, secret := range f.store.Secrets { + for _, _secret := range f.store.Secrets { + secret := _secret // allocate copy of pointer if len(secret.DomainsRegex) > 0 { for _, domain := range secret.DomainsRegex { if f.compiled == nil { From 543c8341737bfeb4dec0261496a5007d689c0cb7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 05:12:30 +0000 Subject: [PATCH 132/283] chore(deps): bump github.com/projectdiscovery/httpx from 1.6.6 to 1.6.7 Bumps [github.com/projectdiscovery/httpx](https://github.com/projectdiscovery/httpx) from 1.6.6 to 1.6.7. - [Release notes](https://github.com/projectdiscovery/httpx/releases) - [Changelog](https://github.com/projectdiscovery/httpx/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/httpx/compare/v1.6.6...v1.6.7) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/httpx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 701289c076..276b111d1e 100644 --- a/go.mod +++ b/go.mod @@ -86,7 +86,7 @@ require ( github.com/projectdiscovery/gologger v1.1.18 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 - github.com/projectdiscovery/httpx v1.6.6 + github.com/projectdiscovery/httpx v1.6.7 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 github.com/projectdiscovery/ratelimit v0.0.49 diff --git a/go.sum b/go.sum index 25dd6b8add..571b7e1431 100644 --- a/go.sum +++ b/go.sum @@ -852,8 +852,8 @@ github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3c github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= github.com/projectdiscovery/hmap v0.0.52 h1:Gm0aI0HDgsPW1+pq3PflO7PJ5cbOXUKt0DorlVsN3pI= github.com/projectdiscovery/hmap v0.0.52/go.mod h1:1YAS+8xYRIm+M8Qnlim8vw+U4rOPGLw5CqlirAVIPQ4= -github.com/projectdiscovery/httpx v1.6.6 h1:e9deBDrW2ILhuHjPYBAskIgEaLTJYbiBjC5FAHKuV4A= -github.com/projectdiscovery/httpx v1.6.6/go.mod h1:7kLxlw3gW6IJYwRbThI3rFkaQxJ/Z4zNeJtk408RnW0= +github.com/projectdiscovery/httpx v1.6.7 h1:luJAtQ+iKpiyKKDpcWw1/fF1MaRX6JZ4R3P+ol5Uikk= +github.com/projectdiscovery/httpx v1.6.7/go.mod h1:rqcuexBrb4v36ZyX0BHcHaovTurOJn2P65Tdt9cYdfE= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= github.com/projectdiscovery/interactsh v1.2.0/go.mod h1:Wxt0fnzxsfrAZQQlpVrf3xMatP4OXZaZbjuDkIQKdYY= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= From 1643f51839ab30c3fb60088dcf219366e44482b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 05:12:34 +0000 Subject: [PATCH 133/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.13 to 0.1.14. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.13...v0.1.14) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 701289c076..b29b065ea1 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.60 github.com/projectdiscovery/utils v0.2.3 - github.com/projectdiscovery/wappalyzergo v0.1.13 + github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 25dd6b8add..a523588428 100644 --- a/go.sum +++ b/go.sum @@ -888,8 +888,8 @@ github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2Z github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= github.com/projectdiscovery/utils v0.2.3 h1:rkambl0EoTF/y6DpjCfSwcVUFdkAeVOtYkK3lX6InCY= github.com/projectdiscovery/utils v0.2.3/go.mod h1:eGuuQ5Acekg47WsFS1Q9Qxw8+vI6IxwqIQSAplBBG0c= -github.com/projectdiscovery/wappalyzergo v0.1.13 h1:tQ/pjdW4w2NHqUiFlNe/dULrPH8A9GOfnmplDzEOp3M= -github.com/projectdiscovery/wappalyzergo v0.1.13/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= +github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= +github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From 0b90504a0d4efa0341a9edcc662dfbae48aab94e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 05:39:17 +0000 Subject: [PATCH 134/283] chore(deps): bump github.com/projectdiscovery/useragent Bumps [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) from 0.0.60 to 0.0.65. - [Release notes](https://github.com/projectdiscovery/useragent/releases) - [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.60...v0.0.65) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/useragent dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index b29b065ea1..47eb725239 100644 --- a/go.mod +++ b/go.mod @@ -94,8 +94,8 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.9 - github.com/projectdiscovery/useragent v0.0.60 - github.com/projectdiscovery/utils v0.2.3 + github.com/projectdiscovery/useragent v0.0.65 + github.com/projectdiscovery/utils v0.2.4 github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index a523588428..b1ee8e63ea 100644 --- a/go.sum +++ b/go.sum @@ -884,10 +884,10 @@ github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1Uzc github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0JprejqLSopN9Y= github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= -github.com/projectdiscovery/useragent v0.0.60 h1:qDU1rwA+XOKmSqp7yoijAN4PuvLQc2ZvuaoWH7QIkuc= -github.com/projectdiscovery/useragent v0.0.60/go.mod h1:05IDiJEy2dWl3x6dnsWtJYPwT40oWha144Us7+Fwr6w= -github.com/projectdiscovery/utils v0.2.3 h1:rkambl0EoTF/y6DpjCfSwcVUFdkAeVOtYkK3lX6InCY= -github.com/projectdiscovery/utils v0.2.3/go.mod h1:eGuuQ5Acekg47WsFS1Q9Qxw8+vI6IxwqIQSAplBBG0c= +github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= +github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= +github.com/projectdiscovery/utils v0.2.4 h1:CHnlt2la4jr8TeL7ZK7UhQItHY7DDXqIuLnnxyAJLDY= +github.com/projectdiscovery/utils v0.2.4/go.mod h1:2Vx7geSrBfCPqknZywqbChQm8SE30mcyrlB5YsxEnhA= github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From f363b307d416adf42a2a012b80e95587a1a93a95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 06:06:05 +0000 Subject: [PATCH 135/283] chore(deps): bump github.com/projectdiscovery/goflags Bumps [github.com/projectdiscovery/goflags](https://github.com/projectdiscovery/goflags) from 0.1.62 to 0.1.63. - [Release notes](https://github.com/projectdiscovery/goflags/releases) - [Commits](https://github.com/projectdiscovery/goflags/compare/v0.1.62...v0.1.63) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/goflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b17f837267..718bfdc9f5 100644 --- a/go.mod +++ b/go.mod @@ -82,7 +82,7 @@ require ( github.com/projectdiscovery/dsl v0.1.8 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.62 + github.com/projectdiscovery/goflags v0.1.63 github.com/projectdiscovery/gologger v1.1.18 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 diff --git a/go.sum b/go.sum index 52421fd638..e9f71ce5d0 100644 --- a/go.sum +++ b/go.sum @@ -842,8 +842,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.62 h1:UmzKJQT+1UyqT1cZDmb3vZ8/IGhQ7LTsWfdqVcAGoJc= -github.com/projectdiscovery/goflags v0.1.62/go.mod h1:d1/D8GaTDoV332ABwceUcY1ffKODaYFlGP0Oriq3wfk= +github.com/projectdiscovery/goflags v0.1.63 h1:xy3nqpzmSFEmG0LKTv3xLcp9LMbvbFkLZcjcnFe3xR4= +github.com/projectdiscovery/goflags v0.1.63/go.mod h1:ptFbCm+5RmSHTSG4oniwBRRHJlguBTOOfMUfezeGbZ0= github.com/projectdiscovery/gologger v1.1.18 h1:fux2S/LXYe18/w4PylAFpEFg+EApNCuyS85x25nDE98= github.com/projectdiscovery/gologger v1.1.18/go.mod h1:IgjKgVLfVGUovxlC6WJcXK0qvo/tNZ1P0+r6miQqyRk= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= From 9019e36be519acbd6cd541f80fef8dc4c33ee692 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 06:06:06 +0000 Subject: [PATCH 136/283] chore(deps): bump github.com/projectdiscovery/hmap from 0.0.52 to 0.0.54 Bumps [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) from 0.0.52 to 0.0.54. - [Release notes](https://github.com/projectdiscovery/hmap/releases) - [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.52...v0.0.54) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/hmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b17f837267..8f8b5bcb2d 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.0.20 github.com/projectdiscovery/fastdialer v0.2.3 - github.com/projectdiscovery/hmap v0.0.52 + github.com/projectdiscovery/hmap v0.0.54 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 github.com/projectdiscovery/retryabledns v1.0.69 diff --git a/go.sum b/go.sum index 52421fd638..2ebc4095f8 100644 --- a/go.sum +++ b/go.sum @@ -850,8 +850,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.52 h1:Gm0aI0HDgsPW1+pq3PflO7PJ5cbOXUKt0DorlVsN3pI= -github.com/projectdiscovery/hmap v0.0.52/go.mod h1:1YAS+8xYRIm+M8Qnlim8vw+U4rOPGLw5CqlirAVIPQ4= +github.com/projectdiscovery/hmap v0.0.54 h1:b3pdQZwCw4is3xiL2jBx7SJZcYaf/7vtozY7bjUzO/s= +github.com/projectdiscovery/hmap v0.0.54/go.mod h1:j0oakxYOWEfk29wRq5gQgrCv1JnfAfzGaMsRWwEas80= github.com/projectdiscovery/httpx v1.6.7 h1:luJAtQ+iKpiyKKDpcWw1/fF1MaRX6JZ4R3P+ol5Uikk= github.com/projectdiscovery/httpx v1.6.7/go.mod h1:rqcuexBrb4v36ZyX0BHcHaovTurOJn2P65Tdt9cYdfE= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= From 1e49cd9800a138388df6116659166b791486d3ca Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Thu, 15 Aug 2024 20:15:42 +0700 Subject: [PATCH 137/283] ci: don't clean modules cache (#5519) * chore(make): add `verify` command Signed-off-by: Dwi Siswanto * ci: remove hygiene (`clean -modcache`) with verify instead Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- .github/workflows/build-test.yml | 6 ++---- .github/workflows/performance-test.yaml | 6 ++---- Makefile | 4 +++- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 92e2b479cd..f4707b2baf 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -27,10 +27,8 @@ jobs: with: python-version: '3.10' - - name: Go Mod hygiene - run: | - go clean -modcache - go mod tidy + - name: Verify Go modules + run: make verify - name: Build run: go build . diff --git a/.github/workflows/performance-test.yaml b/.github/workflows/performance-test.yaml index 6baecfaff2..92f5714bf4 100644 --- a/.github/workflows/performance-test.yaml +++ b/.github/workflows/performance-test.yaml @@ -22,10 +22,8 @@ jobs: - name: Set up Go uses: projectdiscovery/actions/setup/go@v1 - - name: Go Mod hygine - run: | - go clean -modcache - go mod tidy + - name: Verify Go modules + run: make verify # Max GH exection time 6H => timeout after that - name: Running performance with big list diff --git a/Makefile b/Makefile index e916b980a6..a3f60a64b3 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ ifneq ($(shell go env GOOS),darwin) LDFLAGS := -extldflags "-static" endif -.PHONY: all build build-stats scan-charts docs test integration functional tidy devtools jsupdate ts fuzzplayground memogen dsl-docs +.PHONY: all build build-stats scan-charts docs test integration functional tidy verify devtools jsupdate ts fuzzplayground memogen dsl-docs all: build build: @@ -39,6 +39,8 @@ functional: cd cmd/functional-test; bash run.sh tidy: $(GOMOD) tidy +verify: tidy + $(GOMOD) verify devtools: $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "bindgen" pkg/js/devtools/bindgen/cmd/bindgen/main.go $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go From e0466e102c08969b4ac887920c8efeee6f6f42fd Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Fri, 16 Aug 2024 09:12:38 +0300 Subject: [PATCH 138/283] redact output (#5463) * redact output * update regex * redact matchet-at --- README.md | 1 + cmd/nuclei/main.go | 1 + pkg/output/output.go | 17 +++++++++++++++++ pkg/types/types.go | 2 ++ 4 files changed, 21 insertions(+) diff --git a/README.md b/README.md index 6f69782e05..b6217a9a72 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,7 @@ OUTPUT: -se, -sarif-export string file to export results in SARIF format -je, -json-export string file to export results in JSON format -jle, -jsonl-export string file to export results in JSONL(ine) format + -rd, -redact string[] redact given list of keys from query parameter, request header and body CONFIGURATIONS: -config string path to the nuclei configuration file diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index 2d2be0aa1a..945af907ea 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -272,6 +272,7 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.StringVarP(&options.SarifExport, "sarif-export", "se", "", "file to export results in SARIF format"), flagSet.StringVarP(&options.JSONExport, "json-export", "je", "", "file to export results in JSON format"), flagSet.StringVarP(&options.JSONLExport, "jsonl-export", "jle", "", "file to export results in JSONL(ine) format"), + flagSet.StringSliceVarP(&options.Redact, "redact", "rd", nil, "redact given list of keys from query parameter, request header and body", goflags.CommaSeparatedStringSliceOptions), ) flagSet.CreateGroup("configs", "Configurations", diff --git a/pkg/output/output.go b/pkg/output/output.go index 8044c0aed9..9f68122b0f 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -71,6 +71,7 @@ type StandardWriter struct { omitTemplate bool DisableStdout bool AddNewLinesOutputFile bool // by default this is only done for stdout + KeysToRedact []string } var decolorizerRegex = regexp.MustCompile(`\x1B\[[0-9;]*[a-zA-Z]`) @@ -253,6 +254,7 @@ func NewStandardWriter(options *types.Options) (*StandardWriter, error) { storeResponse: options.StoreResponse, storeResponseDir: options.StoreResponseDir, omitTemplate: options.OmitTemplate, + KeysToRedact: options.Redact, } return writer, nil } @@ -264,6 +266,13 @@ func (w *StandardWriter) Write(event *ResultEvent) error { event.Template, event.TemplateURL = utils.TemplatePathURL(types.ToString(event.TemplatePath), types.ToString(event.TemplateID)) } + if len(w.KeysToRedact) > 0 { + event.Request = redactKeys(event.Request, w.KeysToRedact) + event.Response = redactKeys(event.Response, w.KeysToRedact) + event.CURLCommand = redactKeys(event.CURLCommand, w.KeysToRedact) + event.Matched = redactKeys(event.Matched, w.KeysToRedact) + } + event.Timestamp = time.Now() var data []byte @@ -302,6 +311,14 @@ func (w *StandardWriter) Write(event *ResultEvent) error { return nil } +func redactKeys(data string, keysToRedact []string) string { + for _, key := range keysToRedact { + keyPattern := regexp.MustCompile(fmt.Sprintf(`(?i)(%s\s*[:=]\s*["']?)[^"'\r\n&]+(["'\r\n]?)`, regexp.QuoteMeta(key))) + data = keyPattern.ReplaceAllString(data, `$1***$2`) + } + return data +} + // JSONLogRequest is a trace/error log request written to file type JSONLogRequest struct { Template string `json:"template"` diff --git a/pkg/types/types.go b/pkg/types/types.go index 9d05a0b742..32c7f6f6a2 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -220,6 +220,8 @@ type Options struct { JSONExport string // JSONLExport is the file to export JSONL output format to JSONLExport string + // Redact redacts given keys in + Redact goflags.StringSlice // EnableProgressBar enables progress bar EnableProgressBar bool // TemplateDisplay displays the template contents From 2609d2d135e474b567c14decad1be9f57ab8820b Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:59:15 +0530 Subject: [PATCH 139/283] feat: add support for multiple auth strategies per target from secrets file (#5500) --- pkg/authprovider/file.go | 78 +++++++++++++++++------------ pkg/authprovider/interface.go | 6 +-- pkg/authprovider/multi.go | 6 +-- pkg/protocols/http/build_request.go | 16 +++--- 4 files changed, 61 insertions(+), 45 deletions(-) diff --git a/pkg/authprovider/file.go b/pkg/authprovider/file.go index c20f85509d..3a32a94fe4 100644 --- a/pkg/authprovider/file.go +++ b/pkg/authprovider/file.go @@ -16,8 +16,8 @@ import ( type FileAuthProvider struct { Path string store *authx.Authx - compiled map[*regexp.Regexp]authx.AuthStrategy - domains map[string]authx.AuthStrategy + compiled map[*regexp.Regexp][]authx.AuthStrategy + domains map[string][]authx.AuthStrategy } // NewFileAuthProvider creates a new file based auth provider @@ -56,25 +56,31 @@ func (f *FileAuthProvider) init() { if len(secret.DomainsRegex) > 0 { for _, domain := range secret.DomainsRegex { if f.compiled == nil { - f.compiled = make(map[*regexp.Regexp]authx.AuthStrategy) + f.compiled = make(map[*regexp.Regexp][]authx.AuthStrategy) } compiled, err := regexp.Compile(domain) if err != nil { continue } - f.compiled[compiled] = secret.GetStrategy() + + if ss, ok := f.compiled[compiled]; ok { + f.compiled[compiled] = append(ss, secret.GetStrategy()) + } else { + f.compiled[compiled] = []authx.AuthStrategy{secret.GetStrategy()} + } } } for _, domain := range secret.Domains { if f.domains == nil { - f.domains = make(map[string]authx.AuthStrategy) + f.domains = make(map[string][]authx.AuthStrategy) } - f.domains[strings.TrimSpace(domain)] = secret.GetStrategy() - if strings.HasSuffix(domain, ":80") { - f.domains[strings.TrimSuffix(domain, ":80")] = secret.GetStrategy() - } - if strings.HasSuffix(domain, ":443") { - f.domains[strings.TrimSuffix(domain, ":443")] = secret.GetStrategy() + domain = strings.TrimSpace(domain) + domain = strings.TrimSuffix(domain, ":80") + domain = strings.TrimSuffix(domain, ":443") + if ss, ok := f.domains[domain]; ok { + f.domains[domain] = append(ss, secret.GetStrategy()) + } else { + f.domains[domain] = []authx.AuthStrategy{secret.GetStrategy()} } } } @@ -82,32 +88,38 @@ func (f *FileAuthProvider) init() { if len(dynamic.DomainsRegex) > 0 { for _, domain := range dynamic.DomainsRegex { if f.compiled == nil { - f.compiled = make(map[*regexp.Regexp]authx.AuthStrategy) + f.compiled = make(map[*regexp.Regexp][]authx.AuthStrategy) } compiled, err := regexp.Compile(domain) if err != nil { continue } - f.compiled[compiled] = &authx.DynamicAuthStrategy{Dynamic: dynamic} + if ss, ok := f.compiled[compiled]; !ok { + f.compiled[compiled] = []authx.AuthStrategy{&authx.DynamicAuthStrategy{Dynamic: dynamic}} + } else { + f.compiled[compiled] = append(ss, &authx.DynamicAuthStrategy{Dynamic: dynamic}) + } } } for _, domain := range dynamic.Domains { if f.domains == nil { - f.domains = make(map[string]authx.AuthStrategy) + f.domains = make(map[string][]authx.AuthStrategy) } - f.domains[strings.TrimSpace(domain)] = &authx.DynamicAuthStrategy{Dynamic: dynamic} - if strings.HasSuffix(domain, ":80") { - f.domains[strings.TrimSuffix(domain, ":80")] = &authx.DynamicAuthStrategy{Dynamic: dynamic} - } - if strings.HasSuffix(domain, ":443") { - f.domains[strings.TrimSuffix(domain, ":443")] = &authx.DynamicAuthStrategy{Dynamic: dynamic} + domain = strings.TrimSpace(domain) + domain = strings.TrimSuffix(domain, ":80") + domain = strings.TrimSuffix(domain, ":443") + + if ss, ok := f.domains[domain]; !ok { + f.domains[domain] = []authx.AuthStrategy{&authx.DynamicAuthStrategy{Dynamic: dynamic}} + } else { + f.domains[domain] = append(ss, &authx.DynamicAuthStrategy{Dynamic: dynamic}) } } } } // LookupAddr looks up a given domain/address and returns appropriate auth strategy -func (f *FileAuthProvider) LookupAddr(addr string) authx.AuthStrategy { +func (f *FileAuthProvider) LookupAddr(addr string) []authx.AuthStrategy { if strings.Contains(addr, ":") { // default normalization for host:port host, port, err := net.SplitHostPort(addr) @@ -129,12 +141,12 @@ func (f *FileAuthProvider) LookupAddr(addr string) authx.AuthStrategy { } // LookupURL looks up a given URL and returns appropriate auth strategy -func (f *FileAuthProvider) LookupURL(u *url.URL) authx.AuthStrategy { +func (f *FileAuthProvider) LookupURL(u *url.URL) []authx.AuthStrategy { return f.LookupAddr(u.Host) } // LookupURLX looks up a given URL and returns appropriate auth strategy -func (f *FileAuthProvider) LookupURLX(u *urlutil.URL) authx.AuthStrategy { +func (f *FileAuthProvider) LookupURLX(u *urlutil.URL) []authx.AuthStrategy { return f.LookupAddr(u.Host) } @@ -151,17 +163,21 @@ func (f *FileAuthProvider) GetTemplatePaths() []string { // PreFetchSecrets pre-fetches the secrets from the auth provider func (f *FileAuthProvider) PreFetchSecrets() error { - for _, s := range f.domains { - if val, ok := s.(*authx.DynamicAuthStrategy); ok { - if err := val.Dynamic.Fetch(false); err != nil { - return err + for _, ss := range f.domains { + for _, s := range ss { + if val, ok := s.(*authx.DynamicAuthStrategy); ok { + if err := val.Dynamic.Fetch(false); err != nil { + return err + } } } } - for _, s := range f.compiled { - if val, ok := s.(*authx.DynamicAuthStrategy); ok { - if err := val.Dynamic.Fetch(false); err != nil { - return err + for _, ss := range f.compiled { + for _, s := range ss { + if val, ok := s.(*authx.DynamicAuthStrategy); ok { + if err := val.Dynamic.Fetch(false); err != nil { + return err + } } } } diff --git a/pkg/authprovider/interface.go b/pkg/authprovider/interface.go index b21668fceb..ea1bba7ced 100644 --- a/pkg/authprovider/interface.go +++ b/pkg/authprovider/interface.go @@ -22,13 +22,13 @@ var ( type AuthProvider interface { // LookupAddr looks up a given domain/address and returns appropriate auth strategy // for it (accepted inputs are scanme.sh or scanme.sh:443) - LookupAddr(string) authx.AuthStrategy + LookupAddr(string) []authx.AuthStrategy // LookupURL looks up a given URL and returns appropriate auth strategy // it accepts a valid url struct and returns the auth strategy - LookupURL(*url.URL) authx.AuthStrategy + LookupURL(*url.URL) []authx.AuthStrategy // LookupURLX looks up a given URL and returns appropriate auth strategy // it accepts pd url struct (i.e urlutil.URL) and returns the auth strategy - LookupURLX(*urlutil.URL) authx.AuthStrategy + LookupURLX(*urlutil.URL) []authx.AuthStrategy // GetTemplatePaths returns the template path for the auth provider // that will be used for dynamic secret fetching GetTemplatePaths() []string diff --git a/pkg/authprovider/multi.go b/pkg/authprovider/multi.go index 2e9b19df8c..d059a75922 100644 --- a/pkg/authprovider/multi.go +++ b/pkg/authprovider/multi.go @@ -19,7 +19,7 @@ func NewMultiAuthProvider(providers ...AuthProvider) AuthProvider { return &MultiAuthProvider{Providers: providers} } -func (m *MultiAuthProvider) LookupAddr(host string) authx.AuthStrategy { +func (m *MultiAuthProvider) LookupAddr(host string) []authx.AuthStrategy { for _, provider := range m.Providers { strategy := provider.LookupAddr(host) if strategy != nil { @@ -29,7 +29,7 @@ func (m *MultiAuthProvider) LookupAddr(host string) authx.AuthStrategy { return nil } -func (m *MultiAuthProvider) LookupURL(u *url.URL) authx.AuthStrategy { +func (m *MultiAuthProvider) LookupURL(u *url.URL) []authx.AuthStrategy { for _, provider := range m.Providers { strategy := provider.LookupURL(u) if strategy != nil { @@ -39,7 +39,7 @@ func (m *MultiAuthProvider) LookupURL(u *url.URL) authx.AuthStrategy { return nil } -func (m *MultiAuthProvider) LookupURLX(u *urlutil.URL) authx.AuthStrategy { +func (m *MultiAuthProvider) LookupURLX(u *urlutil.URL) []authx.AuthStrategy { for _, provider := range m.Providers { strategy := provider.LookupURLX(u) if strategy != nil { diff --git a/pkg/protocols/http/build_request.go b/pkg/protocols/http/build_request.go index 18b75c72bd..1b046bffd8 100644 --- a/pkg/protocols/http/build_request.go +++ b/pkg/protocols/http/build_request.go @@ -90,9 +90,9 @@ func (g *generatedRequest) ApplyAuth(provider authprovider.AuthProvider) { return } if g.request != nil { - auth := provider.LookupURLX(g.request.URL) - if auth != nil { - auth.ApplyOnRR(g.request) + authStrategies := provider.LookupURLX(g.request.URL) + for _, strategy := range authStrategies { + strategy.ApplyOnRR(g.request) } } if g.rawRequest != nil { @@ -101,11 +101,11 @@ func (g *generatedRequest) ApplyAuth(provider authprovider.AuthProvider) { gologger.Warning().Msgf("[authprovider] Could not parse URL %s: %s\n", g.rawRequest.FullURL, err) return } - auth := provider.LookupURLX(parsed) - if auth != nil { - // here we need to apply it custom because we don't have a standard/official - // rawhttp request format ( which we probably should have ) - g.rawRequest.ApplyAuthStrategy(auth) + authStrategies := provider.LookupURLX(parsed) + // here we need to apply it custom because we don't have a standard/official + // rawhttp request format ( which we probably should have ) + for _, strategy := range authStrategies { + g.rawRequest.ApplyAuthStrategy(strategy) } } } From 2f7eea410df292ab18c657e8aa34240a07475c6a Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 16 Aug 2024 13:27:26 +0530 Subject: [PATCH 140/283] Add `team-id` option (#5523) * add team-id option * fix dashboard url when uploading to team --------- Co-authored-by: Tarun Koyalwar --- cmd/nuclei/main.go | 2 ++ internal/pdcp/utils.go | 10 +++++++++- internal/pdcp/writer.go | 25 ++++++++++++++++++------- internal/runner/runner.go | 3 +++ pkg/types/types.go | 2 ++ 5 files changed, 34 insertions(+), 8 deletions(-) diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index 945af907ea..de29d6581e 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -12,6 +12,7 @@ import ( "strings" "time" + _pdcp "github.com/projectdiscovery/nuclei/v3/internal/pdcp" "github.com/projectdiscovery/utils/auth/pdcp" "github.com/projectdiscovery/utils/env" _ "github.com/projectdiscovery/utils/pprof" @@ -418,6 +419,7 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.CreateGroup("cloud", "Cloud", flagSet.DynamicVar(&pdcpauth, "auth", "true", "configure projectdiscovery cloud (pdcp) api key"), + flagSet.StringVarP(&options.TeamID, "team-id", "tid", _pdcp.TeamIDEnv, "upload scan results to given team id (optional)"), flagSet.BoolVarP(&options.EnableCloudUpload, "cloud-upload", "cup", false, "upload scan results to pdcp dashboard"), flagSet.StringVarP(&options.ScanID, "scan-id", "sid", "", "upload scan results to existing scan id (optional)"), flagSet.StringVarP(&options.ScanName, "scan-name", "sname", "", "scan name to set (optional)"), diff --git a/internal/pdcp/utils.go b/internal/pdcp/utils.go index 5d4fa4e1f0..3385d5cad5 100644 --- a/internal/pdcp/utils.go +++ b/internal/pdcp/utils.go @@ -5,9 +5,17 @@ import ( urlutil "github.com/projectdiscovery/utils/url" ) -func getScanDashBoardURL(id string) string { +func getScanDashBoardURL(id string, teamID string) string { ux, _ := urlutil.Parse(pdcpauth.DashBoardURL) ux.Path = "/scans/" + id + if ux.Params == nil { + ux.Params = urlutil.NewOrderedParams() + } + if teamID != "" { + ux.Params.Add("team_id", teamID) + } else { + ux.Params.Add("team_id", NoneTeamID) + } ux.Update() return ux.String() } diff --git a/internal/pdcp/writer.go b/internal/pdcp/writer.go index 2197041137..aa2d5134d0 100644 --- a/internal/pdcp/writer.go +++ b/internal/pdcp/writer.go @@ -32,13 +32,14 @@ const ( MaxChunkSize = 4 * unitutils.Mega // 4 MB xidRe = `^[a-z0-9]{20}$` teamIDHeader = "X-Team-Id" + NoneTeamID = "none" ) var ( xidRegex = regexp.MustCompile(xidRe) _ output.Writer = &UploadWriter{} // teamID if given - teamID = env.GetEnvOrDefault("PDCP_TEAM_ID", "") + TeamIDEnv = env.GetEnvOrDefault("PDCP_TEAM_ID", NoneTeamID) ) // UploadWriter is a writer that uploads its output to pdcp @@ -53,6 +54,7 @@ type UploadWriter struct { scanID string scanName string counter atomic.Int32 + TeamID string } // NewUploadWriter creates a new upload writer @@ -61,8 +63,9 @@ func NewUploadWriter(ctx context.Context, creds *pdcpauth.PDCPCredentials) (*Upl return nil, fmt.Errorf("no credentials provided") } u := &UploadWriter{ - creds: creds, - done: make(chan struct{}, 1), + creds: creds, + done: make(chan struct{}, 1), + TeamID: NoneTeamID, } var err error reader, writer := io.Pipe() @@ -110,6 +113,14 @@ func (u *UploadWriter) SetScanName(name string) { u.scanName = name } +func (u *UploadWriter) SetTeamID(id string) { + if id == "" { + u.TeamID = NoneTeamID + } else { + u.TeamID = id + } +} + func (u *UploadWriter) autoCommit(ctx context.Context, r *io.PipeReader) { reader := bufio.NewReader(r) ch := make(chan string, 4) @@ -136,7 +147,7 @@ func (u *UploadWriter) autoCommit(ctx context.Context, r *io.PipeReader) { if u.scanID == "" { gologger.Verbose().Msgf("Scan results upload to cloud skipped, no results found to upload") } else { - gologger.Info().Msgf("%v Scan results uploaded to cloud, you can view scan results at %v", u.counter.Load(), getScanDashBoardURL(u.scanID)) + gologger.Info().Msgf("%v Scan results uploaded to cloud, you can view scan results at %v", u.counter.Load(), getScanDashBoardURL(u.scanID, u.TeamID)) } }() // temporary buffer to store the results @@ -189,7 +200,7 @@ func (u *UploadWriter) uploadChunk(buff *bytes.Buffer) error { // if successful, reset the buffer buff.Reset() // log in verbose mode - gologger.Warning().Msgf("Uploaded results chunk, you can view scan results at %v", getScanDashBoardURL(u.scanID)) + gologger.Warning().Msgf("Uploaded results chunk, you can view scan results at %v", getScanDashBoardURL(u.scanID, u.TeamID)) return nil } @@ -248,8 +259,8 @@ func (u *UploadWriter) getRequest(bin []byte) (*retryablehttp.Request, error) { req.URL.Update() req.Header.Set(pdcpauth.ApiKeyHeaderName, u.creds.APIKey) - if teamID != "" { - req.Header.Set(teamIDHeader, teamID) + if u.TeamID != NoneTeamID && u.TeamID != "" { + req.Header.Set(teamIDHeader, u.TeamID) } req.Header.Set("Content-Type", "application/octet-stream") req.Header.Set("Accept", "application/json") diff --git a/internal/runner/runner.go b/internal/runner/runner.go index bc436500af..bfb2bc64be 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -426,6 +426,9 @@ func (r *Runner) setupPDCPUpload(writer output.Writer) output.Writer { if r.options.ScanName != "" { uploadWriter.SetScanName(r.options.ScanName) } + if r.options.TeamID != "" { + uploadWriter.SetTeamID(r.options.TeamID) + } return output.NewMultiWriter(writer, uploadWriter) } diff --git a/pkg/types/types.go b/pkg/types/types.go index 32c7f6f6a2..cab1aacf54 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -384,6 +384,8 @@ type Options struct { ScanID string // ScanName is the name of the scan to be uploaded ScanName string + // TeamID is the team ID to use for cloud upload + TeamID string // JsConcurrency is the number of concurrent js routines to run JsConcurrency int // SecretsFile is file containing secrets for nuclei From c6e5bdd8570cdc04270779c2630da4a556d782b6 Mon Sep 17 00:00:00 2001 From: Tryfon Papatriantafyllou <67585616+trypa11@users.noreply.github.com> Date: Fri, 16 Aug 2024 15:07:02 +0300 Subject: [PATCH 141/283] Fixing the server URL path for OpenAPI scanning (#5504) * fix_openAPI_serverURL_path * Issue #5503 --- pkg/input/formats/openapi/generator.go | 14 ++++++++++++-- pkg/input/formats/swagger/swagger_test.go | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/input/formats/openapi/generator.go b/pkg/input/formats/openapi/generator.go index 6f10c56d09..adcb26b2fa 100644 --- a/pkg/input/formats/openapi/generator.go +++ b/pkg/input/formats/openapi/generator.go @@ -72,19 +72,29 @@ func GenerateRequestsFromSchema(schema *openapi3.T, opts formats.InputFormatOpti } missingVarMap[param.Name] = struct{}{} } - + for _, serverURL := range schema.Servers { pathURL := serverURL.URL + // Split the server URL into baseURL and serverPath + u, err := url.Parse(pathURL) + if err != nil { + return errors.Wrap(err, "could not parse server url") + } + baseURL := fmt.Sprintf("%s://%s", u.Scheme, u.Host) + serverPath := u.Path for path, v := range schema.Paths.Map() { // a path item can have parameters ops := v.Operations() requestPath := path + if serverPath != "" { + requestPath = serverPath + path + } for method, ov := range ops { if err := generateRequestsFromOp(&generateReqOptions{ requiredOnly: opts.RequiredOnly, method: method, - pathURL: pathURL, + pathURL: baseURL, requestPath: requestPath, op: ov, schema: schema, diff --git a/pkg/input/formats/swagger/swagger_test.go b/pkg/input/formats/swagger/swagger_test.go index 601c20d94b..065ae78f63 100644 --- a/pkg/input/formats/swagger/swagger_test.go +++ b/pkg/input/formats/swagger/swagger_test.go @@ -27,8 +27,8 @@ func TestSwaggerAPIParser(t *testing.T) { } expectedURLs := []string{ - "https://localhost/users", - "https://localhost/users/1?test=asc", + "https://localhost/v1/users", + "https://localhost/v1/users/1?test=asc", } require.ElementsMatch(t, gotMethodsToURLs, expectedURLs, "could not get swagger urls") } From 1293a34707198ff58445385ab404046e4b668c39 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Fri, 16 Aug 2024 18:03:53 +0530 Subject: [PATCH 142/283] dep update --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0130e9d3af..0f729d5598 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.63 - github.com/projectdiscovery/gologger v1.1.18 + github.com/projectdiscovery/gologger v1.1.19 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.7 diff --git a/go.sum b/go.sum index 9f4c82e8b5..3f8cef8e83 100644 --- a/go.sum +++ b/go.sum @@ -844,8 +844,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.63 h1:xy3nqpzmSFEmG0LKTv3xLcp9LMbvbFkLZcjcnFe3xR4= github.com/projectdiscovery/goflags v0.1.63/go.mod h1:ptFbCm+5RmSHTSG4oniwBRRHJlguBTOOfMUfezeGbZ0= -github.com/projectdiscovery/gologger v1.1.18 h1:fux2S/LXYe18/w4PylAFpEFg+EApNCuyS85x25nDE98= -github.com/projectdiscovery/gologger v1.1.18/go.mod h1:IgjKgVLfVGUovxlC6WJcXK0qvo/tNZ1P0+r6miQqyRk= +github.com/projectdiscovery/gologger v1.1.19 h1:b7cU32XuDrDiwhr7hlDeE6mfj/nENBtHEohe51txJCE= +github.com/projectdiscovery/gologger v1.1.19/go.mod h1:DbeKwx9IEfcvnclImX5gBlhIKUuOZwOM5itdpYXl+54= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= From 1af29f97a993d7e47968c2e509f0d1857b535401 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Fri, 16 Aug 2024 19:40:48 +0700 Subject: [PATCH 143/283] feat(http): add `skip-secret-file` field (#5522) * feat(http): add `BypassSecretFile` field Signed-off-by: Dwi Siswanto * feat(http): conditionally apply auth strategies Signed-off-by: Dwi Siswanto * refactor(http): rename `BypassSecretFile` field to `SkipSecretFile` Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- pkg/protocols/http/http.go | 4 ++++ pkg/protocols/http/request.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/protocols/http/http.go b/pkg/protocols/http/http.go index fc347ce88d..844bf8c579 100644 --- a/pkg/protocols/http/http.go +++ b/pkg/protocols/http/http.go @@ -147,6 +147,10 @@ type Request struct { // - "AWS" Signature SignatureTypeHolder `yaml:"signature,omitempty" json:"signature,omitempty" jsonschema:"title=signature is the http request signature method,description=Signature is the HTTP Request signature Method,enum=AWS"` + // description: | + // SkipSecretFile skips the authentication or authorization configured in the secret file. + SkipSecretFile bool `yaml:"skip-secret-file,omitempty" json:"skip-secret-file,omitempty" jsonschema:"title=bypass secret file,description=Skips the authentication or authorization configured in the secret file"` + // description: | // CookieReuse is an optional setting that enables cookie reuse for // all requests defined in raw section. diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 2eec929808..98e1932477 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -689,7 +689,7 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ } // === apply auth strategies === - if generatedRequest.request != nil { + if generatedRequest.request != nil && !request.SkipSecretFile { generatedRequest.ApplyAuth(request.options.AuthProvider) } From d20ec34f636a827838357b769270e12e8013a872 Mon Sep 17 00:00:00 2001 From: ghost Date: Fri, 16 Aug 2024 12:41:50 +0000 Subject: [PATCH 144/283] Auto Generate Syntax Docs + JSONSchema [Fri Aug 16 12:41:50 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 13 ++++ nuclei-jsonschema.json | 5 ++ pkg/templates/templates_doc.go | 117 +++++++++++++++++---------------- 3 files changed, 79 insertions(+), 56 deletions(-) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index d6449e29e4..28bb5bdf24 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -1404,6 +1404,19 @@ Valid values:
+skip-secret-file bool + +
+
+ +SkipSecretFile skips the authentication or authorization configured in the secret file. + +
+ +
+ +
+ cookie-reuse bool
diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index 73ba92381e..cd8f8fa0b0 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -787,6 +787,11 @@ "title": "signature is the http request signature method", "description": "Signature is the HTTP Request signature Method" }, + "skip-secret-file": { + "type": "boolean", + "title": "bypass secret file", + "description": "Skips the authentication or authorization configured in the secret file" + }, "cookie-reuse": { "type": "boolean", "title": "optional cookie reuse enable", diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index 53864516a7..5171e2a88f 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -459,7 +459,7 @@ func init() { Value: "HTTP response headers in name:value format", }, } - HTTPRequestDoc.Fields = make([]encoder.Doc, 35) + HTTPRequestDoc.Fields = make([]encoder.Doc, 36) HTTPRequestDoc.Fields[0].Name = "path" HTTPRequestDoc.Fields[0].Type = "[]string" HTTPRequestDoc.Fields[0].Note = "" @@ -578,91 +578,96 @@ func init() { HTTPRequestDoc.Fields[17].Values = []string{ "AWS", } - HTTPRequestDoc.Fields[18].Name = "cookie-reuse" + HTTPRequestDoc.Fields[18].Name = "skip-secret-file" HTTPRequestDoc.Fields[18].Type = "bool" HTTPRequestDoc.Fields[18].Note = "" - HTTPRequestDoc.Fields[18].Description = "CookieReuse is an optional setting that enables cookie reuse for\nall requests defined in raw section." - HTTPRequestDoc.Fields[18].Comments[encoder.LineComment] = "CookieReuse is an optional setting that enables cookie reuse for" - HTTPRequestDoc.Fields[19].Name = "disable-cookie" + HTTPRequestDoc.Fields[18].Description = "SkipSecretFile skips the authentication or authorization configured in the secret file." + HTTPRequestDoc.Fields[18].Comments[encoder.LineComment] = "SkipSecretFile skips the authentication or authorization configured in the secret file." + HTTPRequestDoc.Fields[19].Name = "cookie-reuse" HTTPRequestDoc.Fields[19].Type = "bool" HTTPRequestDoc.Fields[19].Note = "" - HTTPRequestDoc.Fields[19].Description = "DisableCookie is an optional setting that disables cookie reuse" - HTTPRequestDoc.Fields[19].Comments[encoder.LineComment] = "DisableCookie is an optional setting that disables cookie reuse" - HTTPRequestDoc.Fields[20].Name = "read-all" + HTTPRequestDoc.Fields[19].Description = "CookieReuse is an optional setting that enables cookie reuse for\nall requests defined in raw section." + HTTPRequestDoc.Fields[19].Comments[encoder.LineComment] = "CookieReuse is an optional setting that enables cookie reuse for" + HTTPRequestDoc.Fields[20].Name = "disable-cookie" HTTPRequestDoc.Fields[20].Type = "bool" HTTPRequestDoc.Fields[20].Note = "" - HTTPRequestDoc.Fields[20].Description = "Enables force reading of the entire raw unsafe request body ignoring\nany specified content length headers." - HTTPRequestDoc.Fields[20].Comments[encoder.LineComment] = "Enables force reading of the entire raw unsafe request body ignoring" - HTTPRequestDoc.Fields[21].Name = "redirects" + HTTPRequestDoc.Fields[20].Description = "DisableCookie is an optional setting that disables cookie reuse" + HTTPRequestDoc.Fields[20].Comments[encoder.LineComment] = "DisableCookie is an optional setting that disables cookie reuse" + HTTPRequestDoc.Fields[21].Name = "read-all" HTTPRequestDoc.Fields[21].Type = "bool" HTTPRequestDoc.Fields[21].Note = "" - HTTPRequestDoc.Fields[21].Description = "Redirects specifies whether redirects should be followed by the HTTP Client.\n\nThis can be used in conjunction with `max-redirects` to control the HTTP request redirects." - HTTPRequestDoc.Fields[21].Comments[encoder.LineComment] = "Redirects specifies whether redirects should be followed by the HTTP Client." - HTTPRequestDoc.Fields[22].Name = "host-redirects" + HTTPRequestDoc.Fields[21].Description = "Enables force reading of the entire raw unsafe request body ignoring\nany specified content length headers." + HTTPRequestDoc.Fields[21].Comments[encoder.LineComment] = "Enables force reading of the entire raw unsafe request body ignoring" + HTTPRequestDoc.Fields[22].Name = "redirects" HTTPRequestDoc.Fields[22].Type = "bool" HTTPRequestDoc.Fields[22].Note = "" - HTTPRequestDoc.Fields[22].Description = "Redirects specifies whether only redirects to the same host should be followed by the HTTP Client.\n\nThis can be used in conjunction with `max-redirects` to control the HTTP request redirects." - HTTPRequestDoc.Fields[22].Comments[encoder.LineComment] = "Redirects specifies whether only redirects to the same host should be followed by the HTTP Client." - HTTPRequestDoc.Fields[23].Name = "pipeline" + HTTPRequestDoc.Fields[22].Description = "Redirects specifies whether redirects should be followed by the HTTP Client.\n\nThis can be used in conjunction with `max-redirects` to control the HTTP request redirects." + HTTPRequestDoc.Fields[22].Comments[encoder.LineComment] = "Redirects specifies whether redirects should be followed by the HTTP Client." + HTTPRequestDoc.Fields[23].Name = "host-redirects" HTTPRequestDoc.Fields[23].Type = "bool" HTTPRequestDoc.Fields[23].Note = "" - HTTPRequestDoc.Fields[23].Description = "Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining\n\nAll requests must be idempotent (GET/POST). This can be used for race conditions/billions requests." - HTTPRequestDoc.Fields[23].Comments[encoder.LineComment] = "Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining" - HTTPRequestDoc.Fields[24].Name = "unsafe" + HTTPRequestDoc.Fields[23].Description = "Redirects specifies whether only redirects to the same host should be followed by the HTTP Client.\n\nThis can be used in conjunction with `max-redirects` to control the HTTP request redirects." + HTTPRequestDoc.Fields[23].Comments[encoder.LineComment] = "Redirects specifies whether only redirects to the same host should be followed by the HTTP Client." + HTTPRequestDoc.Fields[24].Name = "pipeline" HTTPRequestDoc.Fields[24].Type = "bool" HTTPRequestDoc.Fields[24].Note = "" - HTTPRequestDoc.Fields[24].Description = "Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests.\n\nThis uses the [rawhttp](https://github.com/projectdiscovery/rawhttp) engine to achieve complete\ncontrol over the request, with no normalization performed by the client." - HTTPRequestDoc.Fields[24].Comments[encoder.LineComment] = "Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests." - HTTPRequestDoc.Fields[25].Name = "race" + HTTPRequestDoc.Fields[24].Description = "Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining\n\nAll requests must be idempotent (GET/POST). This can be used for race conditions/billions requests." + HTTPRequestDoc.Fields[24].Comments[encoder.LineComment] = "Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining" + HTTPRequestDoc.Fields[25].Name = "unsafe" HTTPRequestDoc.Fields[25].Type = "bool" HTTPRequestDoc.Fields[25].Note = "" - HTTPRequestDoc.Fields[25].Description = "Race determines if all the request have to be attempted at the same time (Race Condition)\n\nThe actual number of requests that will be sent is determined by the `race_count` field." - HTTPRequestDoc.Fields[25].Comments[encoder.LineComment] = "Race determines if all the request have to be attempted at the same time (Race Condition)" - HTTPRequestDoc.Fields[26].Name = "req-condition" + HTTPRequestDoc.Fields[25].Description = "Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests.\n\nThis uses the [rawhttp](https://github.com/projectdiscovery/rawhttp) engine to achieve complete\ncontrol over the request, with no normalization performed by the client." + HTTPRequestDoc.Fields[25].Comments[encoder.LineComment] = "Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests." + HTTPRequestDoc.Fields[26].Name = "race" HTTPRequestDoc.Fields[26].Type = "bool" HTTPRequestDoc.Fields[26].Note = "" - HTTPRequestDoc.Fields[26].Description = "ReqCondition automatically assigns numbers to requests and preserves their history.\n\nThis allows matching on them later for multi-request conditions." - HTTPRequestDoc.Fields[26].Comments[encoder.LineComment] = "ReqCondition automatically assigns numbers to requests and preserves their history." - HTTPRequestDoc.Fields[27].Name = "stop-at-first-match" + HTTPRequestDoc.Fields[26].Description = "Race determines if all the request have to be attempted at the same time (Race Condition)\n\nThe actual number of requests that will be sent is determined by the `race_count` field." + HTTPRequestDoc.Fields[26].Comments[encoder.LineComment] = "Race determines if all the request have to be attempted at the same time (Race Condition)" + HTTPRequestDoc.Fields[27].Name = "req-condition" HTTPRequestDoc.Fields[27].Type = "bool" HTTPRequestDoc.Fields[27].Note = "" - HTTPRequestDoc.Fields[27].Description = "StopAtFirstMatch stops the execution of the requests and template as soon as a match is found." - HTTPRequestDoc.Fields[27].Comments[encoder.LineComment] = "StopAtFirstMatch stops the execution of the requests and template as soon as a match is found." - HTTPRequestDoc.Fields[28].Name = "skip-variables-check" + HTTPRequestDoc.Fields[27].Description = "ReqCondition automatically assigns numbers to requests and preserves their history.\n\nThis allows matching on them later for multi-request conditions." + HTTPRequestDoc.Fields[27].Comments[encoder.LineComment] = "ReqCondition automatically assigns numbers to requests and preserves their history." + HTTPRequestDoc.Fields[28].Name = "stop-at-first-match" HTTPRequestDoc.Fields[28].Type = "bool" HTTPRequestDoc.Fields[28].Note = "" - HTTPRequestDoc.Fields[28].Description = "SkipVariablesCheck skips the check for unresolved variables in request" - HTTPRequestDoc.Fields[28].Comments[encoder.LineComment] = "SkipVariablesCheck skips the check for unresolved variables in request" - HTTPRequestDoc.Fields[29].Name = "iterate-all" + HTTPRequestDoc.Fields[28].Description = "StopAtFirstMatch stops the execution of the requests and template as soon as a match is found." + HTTPRequestDoc.Fields[28].Comments[encoder.LineComment] = "StopAtFirstMatch stops the execution of the requests and template as soon as a match is found." + HTTPRequestDoc.Fields[29].Name = "skip-variables-check" HTTPRequestDoc.Fields[29].Type = "bool" HTTPRequestDoc.Fields[29].Note = "" - HTTPRequestDoc.Fields[29].Description = "IterateAll iterates all the values extracted from internal extractors" - HTTPRequestDoc.Fields[29].Comments[encoder.LineComment] = "IterateAll iterates all the values extracted from internal extractors" - HTTPRequestDoc.Fields[30].Name = "digest-username" - HTTPRequestDoc.Fields[30].Type = "string" + HTTPRequestDoc.Fields[29].Description = "SkipVariablesCheck skips the check for unresolved variables in request" + HTTPRequestDoc.Fields[29].Comments[encoder.LineComment] = "SkipVariablesCheck skips the check for unresolved variables in request" + HTTPRequestDoc.Fields[30].Name = "iterate-all" + HTTPRequestDoc.Fields[30].Type = "bool" HTTPRequestDoc.Fields[30].Note = "" - HTTPRequestDoc.Fields[30].Description = "DigestAuthUsername specifies the username for digest authentication" - HTTPRequestDoc.Fields[30].Comments[encoder.LineComment] = "DigestAuthUsername specifies the username for digest authentication" - HTTPRequestDoc.Fields[31].Name = "digest-password" + HTTPRequestDoc.Fields[30].Description = "IterateAll iterates all the values extracted from internal extractors" + HTTPRequestDoc.Fields[30].Comments[encoder.LineComment] = "IterateAll iterates all the values extracted from internal extractors" + HTTPRequestDoc.Fields[31].Name = "digest-username" HTTPRequestDoc.Fields[31].Type = "string" HTTPRequestDoc.Fields[31].Note = "" - HTTPRequestDoc.Fields[31].Description = "DigestAuthPassword specifies the password for digest authentication" - HTTPRequestDoc.Fields[31].Comments[encoder.LineComment] = "DigestAuthPassword specifies the password for digest authentication" - HTTPRequestDoc.Fields[32].Name = "disable-path-automerge" - HTTPRequestDoc.Fields[32].Type = "bool" + HTTPRequestDoc.Fields[31].Description = "DigestAuthUsername specifies the username for digest authentication" + HTTPRequestDoc.Fields[31].Comments[encoder.LineComment] = "DigestAuthUsername specifies the username for digest authentication" + HTTPRequestDoc.Fields[32].Name = "digest-password" + HTTPRequestDoc.Fields[32].Type = "string" HTTPRequestDoc.Fields[32].Note = "" - HTTPRequestDoc.Fields[32].Description = "DisablePathAutomerge disables merging target url path with raw request path" - HTTPRequestDoc.Fields[32].Comments[encoder.LineComment] = "DisablePathAutomerge disables merging target url path with raw request path" - HTTPRequestDoc.Fields[33].Name = "pre-condition" - HTTPRequestDoc.Fields[33].Type = "[]matchers.Matcher" + HTTPRequestDoc.Fields[32].Description = "DigestAuthPassword specifies the password for digest authentication" + HTTPRequestDoc.Fields[32].Comments[encoder.LineComment] = "DigestAuthPassword specifies the password for digest authentication" + HTTPRequestDoc.Fields[33].Name = "disable-path-automerge" + HTTPRequestDoc.Fields[33].Type = "bool" HTTPRequestDoc.Fields[33].Note = "" - HTTPRequestDoc.Fields[33].Description = "Fuzz PreCondition is matcher-like field to check if fuzzing should be performed on this request or not" - HTTPRequestDoc.Fields[33].Comments[encoder.LineComment] = "Fuzz PreCondition is matcher-like field to check if fuzzing should be performed on this request or not" - HTTPRequestDoc.Fields[34].Name = "pre-condition-operator" - HTTPRequestDoc.Fields[34].Type = "string" + HTTPRequestDoc.Fields[33].Description = "DisablePathAutomerge disables merging target url path with raw request path" + HTTPRequestDoc.Fields[33].Comments[encoder.LineComment] = "DisablePathAutomerge disables merging target url path with raw request path" + HTTPRequestDoc.Fields[34].Name = "pre-condition" + HTTPRequestDoc.Fields[34].Type = "[]matchers.Matcher" HTTPRequestDoc.Fields[34].Note = "" - HTTPRequestDoc.Fields[34].Description = "FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR" - HTTPRequestDoc.Fields[34].Comments[encoder.LineComment] = "FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR" + HTTPRequestDoc.Fields[34].Description = "Fuzz PreCondition is matcher-like field to check if fuzzing should be performed on this request or not" + HTTPRequestDoc.Fields[34].Comments[encoder.LineComment] = "Fuzz PreCondition is matcher-like field to check if fuzzing should be performed on this request or not" + HTTPRequestDoc.Fields[35].Name = "pre-condition-operator" + HTTPRequestDoc.Fields[35].Type = "string" + HTTPRequestDoc.Fields[35].Note = "" + HTTPRequestDoc.Fields[35].Description = "FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR" + HTTPRequestDoc.Fields[35].Comments[encoder.LineComment] = "FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR" GENERATORSAttackTypeHolderDoc.Type = "generators.AttackTypeHolder" GENERATORSAttackTypeHolderDoc.Comments[encoder.LineComment] = " AttackTypeHolder is used to hold internal type of the protocol" From f29b94521e4882084ddcbd8fc7c61d75b7aaa37c Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 16 Aug 2024 18:19:44 +0530 Subject: [PATCH 145/283] fix unresolved variables in dast templates (#5443) * fix unresolved variables in dast templates * dedupe interactsh urls * misc update --- pkg/fuzz/execute.go | 13 ++++++++++++- pkg/protocols/http/request_fuzz.go | 14 ++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/pkg/fuzz/execute.go b/pkg/fuzz/execute.go index 8eb57f6b40..2591ec39ac 100644 --- a/pkg/fuzz/execute.go +++ b/pkg/fuzz/execute.go @@ -16,6 +16,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" "github.com/projectdiscovery/retryablehttp-go" errorutil "github.com/projectdiscovery/utils/errors" + mapsutil "github.com/projectdiscovery/utils/maps" sliceutil "github.com/projectdiscovery/utils/slice" urlutil "github.com/projectdiscovery/utils/url" ) @@ -165,6 +166,11 @@ mainLoop: func (rule *Rule) evaluateVarsWithInteractsh(data map[string]interface{}, interactshUrls []string) (map[string]interface{}, []string) { // Check if Interactsh options are configured if rule.options.Interactsh != nil { + interactshUrlsMap := make(map[string]struct{}) + for _, url := range interactshUrls { + interactshUrlsMap[url] = struct{}{} + } + interactshUrls = mapsutil.GetKeys(interactshUrlsMap) // Iterate through the data to replace and evaluate variables with Interactsh URLs for k, v := range data { value := fmt.Sprint(v) @@ -175,7 +181,12 @@ func (rule *Rule) evaluateVarsWithInteractsh(data map[string]interface{}, intera } // Append new OAST URLs if any if len(oastUrls) > 0 { - interactshUrls = append(interactshUrls, oastUrls...) + for _, url := range oastUrls { + if _, ok := interactshUrlsMap[url]; !ok { + interactshUrlsMap[url] = struct{}{} + interactshUrls = append(interactshUrls, url) + } + } } // Evaluate the replaced data evaluatedData, err := expressions.Evaluate(got, data) diff --git a/pkg/protocols/http/request_fuzz.go b/pkg/protocols/http/request_fuzz.go index 49df3c0632..fdf862eb67 100644 --- a/pkg/protocols/http/request_fuzz.go +++ b/pkg/protocols/http/request_fuzz.go @@ -18,6 +18,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump" protocolutils "github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils" @@ -112,6 +113,7 @@ func (request *Request) executeFuzzingRule(input *contextargs.Context, previous // executeAllFuzzingRules executes all fuzzing rules defined in template for a given base request func (request *Request) executeAllFuzzingRules(input *contextargs.Context, values map[string]interface{}, baseRequest *retryablehttp.Request, callback protocols.OutputEventCallback) error { applicable := false + values = generators.MergeMaps(request.filterDataMap(input), values) for _, rule := range request.Fuzzing { select { case <-input.Context().Done(): @@ -234,7 +236,12 @@ func (request *Request) ShouldFuzzTarget(input *contextargs.Context) bool { } status := []bool{} for index, filter := range request.FuzzPreCondition { - isMatch, _ := request.Match(request.filterDataMap(input), filter) + dataMap := request.filterDataMap(input) + // dump if svd is enabled + if request.options.Options.ShowVarDump { + gologger.Debug().Msgf("Fuzz Filter Variables: \n%s\n", vardump.DumpVariables(dataMap)) + } + isMatch, _ := request.Match(dataMap, filter) status = append(status, isMatch) if request.options.Options.MatcherStatus { gologger.Debug().Msgf("[%s] [%s] Filter => %s : %v", input.MetaInput.Target(), request.options.TemplateID, operators.GetMatcherName(filter, index), isMatch) @@ -295,10 +302,5 @@ func (request *Request) filterDataMap(input *contextargs.Context) map[string]int // add default method value m["method"] = http.MethodGet } - - // dump if svd is enabled - if request.options.Options.ShowVarDump { - gologger.Debug().Msgf("Fuzz Filter Variables: \n%s\n", vardump.DumpVariables(m)) - } return m } From 0675aa48a348d14458329edfc14f16cac7cfc5b1 Mon Sep 17 00:00:00 2001 From: Tryfon Papatriantafyllou <67585616+trypa11@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:04:47 +0300 Subject: [PATCH 146/283] Circular References in OpenAPI 3.0 fixed (#5491) * Circular References in OpenAPI 3.0 fixed * Fixing Swagger_test --- go.mod | 8 ++++---- go.sum | 17 ++++++++--------- pkg/input/formats/openapi/examples.go | 12 ++++++------ pkg/input/formats/swagger/swagger.go | 9 +++++++-- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index 0f729d5598..f2053614c1 100644 --- a/go.mod +++ b/go.mod @@ -65,12 +65,13 @@ require ( github.com/docker/go-units v0.5.0 github.com/dop251/goja v0.0.0-20240220182346-e401ed450204 github.com/fatih/structs v1.1.0 - github.com/getkin/kin-openapi v0.123.0 + github.com/getkin/kin-openapi v0.126.0 github.com/go-git/go-git/v5 v5.11.0 github.com/go-ldap/ldap/v3 v3.4.5 github.com/go-pg/pg v8.0.7+incompatible github.com/go-sql-driver/mysql v1.7.1 github.com/h2non/filetype v1.1.3 + github.com/invopop/yaml v0.3.1 github.com/labstack/echo/v4 v4.10.2 github.com/leslie-qiwa/flat v0.0.0-20230424180412-f9d1cf014baa github.com/lib/pq v1.10.9 @@ -152,8 +153,8 @@ require ( github.com/gin-gonic/gin v1.9.1 // indirect github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect github.com/go-fed/httpsig v1.1.0 // indirect - github.com/go-openapi/jsonpointer v0.20.2 // indirect - github.com/go-openapi/swag v0.22.9 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -168,7 +169,6 @@ require ( github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru/v2 v2.0.6 // indirect github.com/hbakhtiyor/strsim v0.0.0-20190107154042-4d2bbb273edf // indirect - github.com/invopop/yaml v0.2.0 // indirect github.com/jcmturner/aescts/v2 v2.0.0 // indirect github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect github.com/jcmturner/gofork v1.7.6 // indirect diff --git a/go.sum b/go.sum index 3f8cef8e83..dadb721a3f 100644 --- a/go.sum +++ b/go.sum @@ -329,8 +329,8 @@ github.com/gaissmai/bart v0.9.5 h1:vy+r4Px6bjZ+v2QYXAsg63vpz9IfzdW146A8Cn4GPIo= github.com/gaissmai/bart v0.9.5/go.mod h1:KHeYECXQiBjTzQz/om2tqn3sZF1J7hw9m6z41ftj3fg= github.com/geoffgarside/ber v1.1.0 h1:qTmFG4jJbwiSzSXoNJeHcOprVzZ8Ulde2Rrrifu5U9w= github.com/geoffgarside/ber v1.1.0/go.mod h1:jVPKeCbj6MvQZhwLYsGwaGI52oUorHoHKNecGT85ZCc= -github.com/getkin/kin-openapi v0.123.0 h1:zIik0mRwFNLyvtXK274Q6ut+dPh6nlxBp0x7mNrPhs8= -github.com/getkin/kin-openapi v0.123.0/go.mod h1:wb1aSZA/iWmorQP9KTAS/phLj/t17B5jT7+fS8ed9NM= +github.com/getkin/kin-openapi v0.126.0 h1:c2cSgLnAsS0xYfKsgt5oBV6MYRM/giU8/RtwUY4wyfY= +github.com/getkin/kin-openapi v0.126.0/go.mod h1:7mONz8IwmSRg6RttPu6v8U/OJ+gr+J99qSFNjPGSQqw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= @@ -369,10 +369,10 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q= -github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs= -github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE= -github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-pg/pg v8.0.7+incompatible h1:ty/sXL1OZLo+47KK9N8llRcmbA9tZasqbQ/OO4ld53g= github.com/go-pg/pg v8.0.7+incompatible/go.mod h1:a2oXow+aFOrvwcKs3eIA0lNFmMilrxK2sOkB5NWe0vA= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= @@ -572,8 +572,8 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= github.com/invopop/jsonschema v0.12.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= -github.com/invopop/yaml v0.2.0 h1:7zky/qH+O0DwAyoobXUqvVBwgBFRxKoQ/3FjcVpjTMY= -github.com/invopop/yaml v0.2.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= +github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso= +github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA= github.com/itchyny/gojq v0.12.13 h1:IxyYlHYIlspQHHTE0f3cJF0NKDMfajxViuhBLnHd/QU= github.com/itchyny/gojq v0.12.13/go.mod h1:JzwzAqenfhrPUuwbmEz3nu3JQmFLlQTQMUcOdnu/Sf4= github.com/itchyny/timefmt-go v0.1.5 h1:G0INE2la8S6ru/ZI5JecgyzbbJNs5lG1RcBqa7Jm6GE= @@ -1604,7 +1604,6 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= diff --git a/pkg/input/formats/openapi/examples.go b/pkg/input/formats/openapi/examples.go index 35c4292cb1..3b788ca42b 100644 --- a/pkg/input/formats/openapi/examples.go +++ b/pkg/input/formats/openapi/examples.go @@ -175,9 +175,9 @@ func openAPIExample(schema *openapi3.Schema, cache map[*openapi3.Schema]*cachedS } switch { - case schema.Type == "boolean": + case schema.Type.Is("boolean"): return true, nil - case schema.Type == "number", schema.Type == "integer": + case schema.Type.Is("number"), schema.Type.Is("integer"): value := 0.0 if schema.Min != nil && *schema.Min > value { @@ -208,11 +208,11 @@ func openAPIExample(schema *openapi3.Schema, cache map[*openapi3.Schema]*cachedS value += float64(int(*schema.MultipleOf) - (int(value) % int(*schema.MultipleOf))) } - if schema.Type == "integer" { + if schema.Type.Is("integer") { return int(value), nil } return value, nil - case schema.Type == "string": + case schema.Type.Is("string"): if ex := stringFormatExample(schema.Format); ex != "" { return ex, nil } @@ -226,7 +226,7 @@ func openAPIExample(schema *openapi3.Schema, cache map[*openapi3.Schema]*cachedS example = example[:*schema.MaxLength] } return example, nil - case schema.Type == "array", schema.Items != nil: + case schema.Type.Is("array"), schema.Items != nil: example := []interface{}{} if schema.Items != nil && schema.Items.Value != nil { @@ -242,7 +242,7 @@ func openAPIExample(schema *openapi3.Schema, cache map[*openapi3.Schema]*cachedS } } return example, nil - case schema.Type == "object", len(schema.Properties) > 0: + case schema.Type.Is("object"), len(schema.Properties) > 0: example := map[string]interface{}{} for k, v := range schema.Properties { diff --git a/pkg/input/formats/swagger/swagger.go b/pkg/input/formats/swagger/swagger.go index 2828bb293e..30a7564ecc 100644 --- a/pkg/input/formats/swagger/swagger.go +++ b/pkg/input/formats/swagger/swagger.go @@ -2,6 +2,7 @@ package swagger import ( "encoding/json" + "io" "os" "path" @@ -10,7 +11,7 @@ import ( "github.com/pkg/errors" "github.com/projectdiscovery/nuclei/v3/pkg/input/formats" "github.com/projectdiscovery/nuclei/v3/pkg/input/formats/openapi" - "gopkg.in/yaml.v2" + "github.com/invopop/yaml" "github.com/getkin/kin-openapi/openapi2conv" ) @@ -49,7 +50,11 @@ func (j *SwaggerFormat) Parse(input string, resultsCb formats.ParseReqRespCallba ext := path.Ext(input) if ext == ".yaml" || ext == ".yml" { - err = yaml.NewDecoder(file).Decode(schemav2) + data, err_data := io.ReadAll(file) + if err_data != nil { + return errors.Wrap(err, "could not read data file") + } + err = yaml.Unmarshal(data, schemav2) } else { err = json.NewDecoder(file).Decode(schemav2) } From 1c76398aeac2b35be6decb197f6303055e9e06a5 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Fri, 16 Aug 2024 08:01:23 -0700 Subject: [PATCH 147/283] lint error fixes (#5531) * lint error fixes * chore: satisfy non-constant format str in call lint (govet) Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto Co-authored-by: Dwi Siswanto --- cmd/tmc/main.go | 8 ++++---- lib/example_test.go | 2 +- pkg/input/formats/openapi/examples.go | 2 +- pkg/input/formats/openapi/generator.go | 4 ++-- pkg/js/devtools/bindgen/generator.go | 2 +- pkg/js/devtools/tsgen/parser.go | 2 +- pkg/js/utils/nucleijs.go | 10 +++++++--- pkg/output/output.go | 4 ++-- pkg/projectfile/httputil.go | 2 +- .../common/helpers/responsehighlighter/hexdump.go | 3 ++- pkg/protocols/dns/request.go | 2 +- pkg/protocols/headless/request.go | 2 +- pkg/reporting/reporting.go | 2 +- pkg/tmplexec/exec.go | 4 +++- 14 files changed, 28 insertions(+), 21 deletions(-) diff --git a/cmd/tmc/main.go b/cmd/tmc/main.go index eae38a1ca7..5cb38afbee 100644 --- a/cmd/tmc/main.go +++ b/cmd/tmc/main.go @@ -162,7 +162,7 @@ func process(opts options) error { var updated bool // if max-requests is updated dataString, updated, err = parseAndAddMaxRequests(templateCatalog, path, dataString) if err != nil { - gologger.Info().Label("max-request").Msgf(logErrMsg(path, err, opts.debug, errFile)) + gologger.Info().Label("max-request").Msg(logErrMsg(path, err, opts.debug, errFile)) } else { if updated { gologger.Info().Label("max-request").Msgf("✅ updated template: %s\n", path) @@ -255,7 +255,7 @@ func enhanceTemplate(data string) (string, bool, error) { return data, false, errorutil.New("validation failed").WithTag("validate") } if templateResp.Error.Name != "" { - return data, false, errorutil.New(templateResp.Error.Name) + return data, false, errorutil.New("%s", templateResp.Error.Name) } if strings.TrimSpace(templateResp.Enhanced) == "" && !templateResp.Lint { if templateResp.LintError.Reason != "" { @@ -289,7 +289,7 @@ func formatTemplate(data string) (string, bool, error) { return data, false, errorutil.New("validation failed").WithTag("validate") } if templateResp.Error.Name != "" { - return data, false, errorutil.New(templateResp.Error.Name) + return data, false, errorutil.New("%s", templateResp.Error.Name) } if strings.TrimSpace(templateResp.Updated) == "" && !templateResp.Lint { if templateResp.LintError.Reason != "" { @@ -345,7 +345,7 @@ func validateTemplate(data string) (bool, error) { return false, errorutil.New("validation failed").WithTag("validate") } if validateResp.Error.Name != "" { - return false, errorutil.New(validateResp.Error.Name) + return false, errorutil.New("%s", validateResp.Error.Name) } return false, errorutil.New("template validation failed") } diff --git a/lib/example_test.go b/lib/example_test.go index 1bbc20e584..1c705677a2 100644 --- a/lib/example_test.go +++ b/lib/example_test.go @@ -82,5 +82,5 @@ func TestMain(m *testing.M) { // no need to run this test on github actions return } - m.Run() + os.Exit(m.Run()) } diff --git a/pkg/input/formats/openapi/examples.go b/pkg/input/formats/openapi/examples.go index 3b788ca42b..9e7224ab73 100644 --- a/pkg/input/formats/openapi/examples.go +++ b/pkg/input/formats/openapi/examples.go @@ -18,7 +18,7 @@ func getSchemaExample(schema *openapi3.Schema) (interface{}, bool) { return schema.Default, true } - if schema.Enum != nil && len(schema.Enum) > 0 { + if len(schema.Enum) > 0 { return schema.Enum[0], true } return nil, false diff --git a/pkg/input/formats/openapi/generator.go b/pkg/input/formats/openapi/generator.go index adcb26b2fa..4027d76fc7 100644 --- a/pkg/input/formats/openapi/generator.go +++ b/pkg/input/formats/openapi/generator.go @@ -72,7 +72,7 @@ func GenerateRequestsFromSchema(schema *openapi3.T, opts formats.InputFormatOpti } missingVarMap[param.Name] = struct{}{} } - + for _, serverURL := range schema.Servers { pathURL := serverURL.URL // Split the server URL into baseURL and serverPath @@ -203,7 +203,7 @@ func generateRequestsFromOp(opts *generateReqOptions) error { paramValue = value.Schema.Value.Default } else if value.Schema.Value.Example != nil { paramValue = value.Schema.Value.Example - } else if value.Schema.Value.Enum != nil && len(value.Schema.Value.Enum) > 0 { + } else if len(value.Schema.Value.Enum) > 0 { paramValue = value.Schema.Value.Enum[0] } else { if !opts.opts.SkipFormatValidation { diff --git a/pkg/js/devtools/bindgen/generator.go b/pkg/js/devtools/bindgen/generator.go index 313c6d41ca..2a58ca7f0d 100644 --- a/pkg/js/devtools/bindgen/generator.go +++ b/pkg/js/devtools/bindgen/generator.go @@ -249,7 +249,7 @@ func identifyGenDecl(pkg *ast.Package, decl *ast.GenDecl, data *TemplateData) { if !spec.Names[0].IsExported() { continue } - if spec.Values == nil || len(spec.Values) == 0 { + if len(spec.Values) == 0 { continue } data.PackageVars[spec.Names[0].Name] = spec.Names[0].Name diff --git a/pkg/js/devtools/tsgen/parser.go b/pkg/js/devtools/tsgen/parser.go index e285b5f007..9f7d81ed7b 100644 --- a/pkg/js/devtools/tsgen/parser.go +++ b/pkg/js/devtools/tsgen/parser.go @@ -489,7 +489,7 @@ func (p *EntityParser) extractVarsNConstants() { if !spec.Names[0].IsExported() { continue } - if spec.Values == nil || len(spec.Values) == 0 { + if len(spec.Values) == 0 { continue } // get comments or description diff --git a/pkg/js/utils/nucleijs.go b/pkg/js/utils/nucleijs.go index d3d4560813..9d9e3f4ece 100644 --- a/pkg/js/utils/nucleijs.go +++ b/pkg/js/utils/nucleijs.go @@ -60,12 +60,16 @@ func (j *NucleiJS) HandleError(err error, msg ...string) { if len(msg) == 0 { j.ThrowError(err) } - j.Throw(fmt.Sprintf("%s: %s", strings.Join(msg, ":"), err.Error())) + j.Throw("%s: %s", strings.Join(msg, ":"), err.Error()) } // Throw throws an error in goja runtime func (j *NucleiJS) Throw(format string, args ...interface{}) { - panic(j.runtime().ToValue(fmt.Sprintf(format, args...))) + if len(args) > 0 { + panic(j.runtime().ToValue(fmt.Sprintf(format, args...))) + } + + panic(j.runtime().ToValue(format)) } // GetArg returns argument at index from goja runtime if not found throws error @@ -95,7 +99,7 @@ func (j *NucleiJS) GetArgSafe(args []goja.Value, index int, defaultValue any) an // Require throws an error if expression is false func (j *NucleiJS) Require(expr bool, msg string) { if !expr { - j.Throw(msg) + j.Throw("%s", msg) } } diff --git a/pkg/output/output.go b/pkg/output/output.go index 9f68122b0f..4f02d71c38 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -525,12 +525,12 @@ func tryParseCause(err error) error { if strings.HasPrefix(msg, "ReadStatusLine:") { // last index is actual error (from rawhttp) parts := strings.Split(msg, ":") - return errkit.New(strings.TrimSpace(parts[len(parts)-1])) + return errkit.New("%s", strings.TrimSpace(parts[len(parts)-1])) } if strings.Contains(msg, "read ") { // same here parts := strings.Split(msg, ":") - return errkit.New(strings.TrimSpace(parts[len(parts)-1])) + return errkit.New("%s", strings.TrimSpace(parts[len(parts)-1])) } return err } diff --git a/pkg/projectfile/httputil.go b/pkg/projectfile/httputil.go index 3f00b8e811..dafeff3fd8 100644 --- a/pkg/projectfile/httputil.go +++ b/pkg/projectfile/httputil.go @@ -17,7 +17,7 @@ func hash(v interface{}) (string, error) { sh := sha256.New() - if _, err = io.WriteString(sh, string(data)); err != nil { + if _, err = sh.Write(data); err != nil { return "", err } return hex.EncodeToString(sh.Sum(nil)), nil diff --git a/pkg/protocols/common/helpers/responsehighlighter/hexdump.go b/pkg/protocols/common/helpers/responsehighlighter/hexdump.go index decc985c72..36d60c34da 100644 --- a/pkg/protocols/common/helpers/responsehighlighter/hexdump.go +++ b/pkg/protocols/common/helpers/responsehighlighter/hexdump.go @@ -44,7 +44,8 @@ func toHighLightedHexDump(hexDump, snippetToHighlight string) (HighlightableHexD hexDumpRowValues := hexDumpParsePattern.FindAllStringSubmatch(hexDump, -1) if hexDumpRowValues == nil || len(hexDumpRowValues) != strings.Count(hexDump, "\n") { message := "could not parse hexdump" - gologger.Warning().Msgf(message) + gologger.Warning().Msg(message) + return HighlightableHexDump{}, errors.New(message) } diff --git a/pkg/protocols/dns/request.go b/pkg/protocols/dns/request.go index 83501c15b1..a16c2af88b 100644 --- a/pkg/protocols/dns/request.go +++ b/pkg/protocols/dns/request.go @@ -142,7 +142,7 @@ func (request *Request) execute(input *contextargs.Context, domain string, metad if request.options.Options.Debug || request.options.Options.DebugRequests || request.options.Options.StoreResponse { msg := fmt.Sprintf("[%s] Dumped DNS request for %s", request.options.TemplateID, question) if request.options.Options.Debug || request.options.Options.DebugRequests { - gologger.Info().Str("domain", domain).Msgf(msg) + gologger.Info().Str("domain", domain).Msg(msg) gologger.Print().Msgf("%s", requestString) } if request.options.Options.StoreResponse { diff --git a/pkg/protocols/headless/request.go b/pkg/protocols/headless/request.go index 973dfa642a..c6fd28a5de 100644 --- a/pkg/protocols/headless/request.go +++ b/pkg/protocols/headless/request.go @@ -174,7 +174,7 @@ func (request *Request) executeRequestWithPayloads(input *contextargs.Context, p reqBuilder.WriteString("\t" + actStepStr + "\n") } } - gologger.Debug().Msgf(reqBuilder.String()) + gologger.Debug().Msg(reqBuilder.String()) } var responseBody string diff --git a/pkg/reporting/reporting.go b/pkg/reporting/reporting.go index 172c31105e..889f92f3f7 100644 --- a/pkg/reporting/reporting.go +++ b/pkg/reporting/reporting.go @@ -240,7 +240,7 @@ func (c *ReportingClient) Close() { if failed > 0 { msgBuilder.WriteString(fmt.Sprintf(", %d failed", failed)) } - gologger.Info().Msgf(msgBuilder.String()) + gologger.Info().Msgf("%v", msgBuilder.String()) } } } diff --git a/pkg/tmplexec/exec.go b/pkg/tmplexec/exec.go index c510131da2..3d09f5e7a0 100644 --- a/pkg/tmplexec/exec.go +++ b/pkg/tmplexec/exec.go @@ -68,8 +68,10 @@ func (e *TemplateExecuter) Compile() error { if cliOptions.Verbose { rawErrorMessage := dslCompilationError.Error() formattedErrorMessage := strings.ToUpper(rawErrorMessage[:1]) + rawErrorMessage[1:] + "." - gologger.Warning().Msgf(formattedErrorMessage) + + gologger.Warning().Msg(formattedErrorMessage) gologger.Info().Msgf("The available custom DSL functions are:") + fmt.Println(dsl.GetPrintableDslFunctionSignatures(cliOptions.NoColor)) } } From f2f250738c9baf258c6da8f81ae5d863d6da0043 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Fri, 16 Aug 2024 20:44:39 +0530 Subject: [PATCH 148/283] version update --- README.md | 1 + pkg/catalog/config/constants.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b6217a9a72..412d348645 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,7 @@ STATISTICS: CLOUD: -auth configure projectdiscovery cloud (pdcp) api key (default true) + -tid, -team-id string upload scan results to given team id (optional) (default "none") -cup, -cloud-upload upload scan results to pdcp dashboard -sid, -scan-id string upload scan results to existing scan id (optional) -sname, -scan-name string scan name to set (optional) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index 8aa6beedfe..cd0e5673c7 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.3.0` + Version = `v3.3.1` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From 02fadbcf775a0a2c8b0ee6eb3f4796c32e2c64ea Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 19 Aug 2024 05:58:30 +0700 Subject: [PATCH 149/283] chore: migrate issue template to issue form (#5538) Signed-off-by: Dwi Siswanto --- .github/ISSUE_TEMPLATE/bug-report.yml | 72 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature-request.yml | 37 +++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 21 ------- .github/ISSUE_TEMPLATE/issue-report.md | 41 ------------ 4 files changed, 109 insertions(+), 62 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .github/ISSUE_TEMPLATE/issue-report.md diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 0000000000..d2053744c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,72 @@ +name: Bug Report +description: Create a report to help us to improve the Nuclei. +title: "[BUG] ..." +labels: ["Type: Bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + For support requests, FAQs or "How to" questions, please use the [GitHub Discussions](https://github.com/projectdiscovery/nuclei/discussions) section instead or join our [Discord server](https://discord.gg/projectdiscovery) to discuss the idea on the **#nuclei** channel. + + :warning: **Issues missing important information may be closed without further investigation.** + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues. + required: true + - type: textarea + attributes: + label: Current Behavior + description: A concise description of what you're experiencing. + validations: + required: true + - type: textarea + attributes: + label: Expected Behavior + description: A concise description of what you expected to happen. + validations: + required: true + - type: textarea + attributes: + label: Steps To Reproduce + description: | + Steps to reproduce the behavior, for example, commands to run Nuclei. + + :warning: **Please redact any literal target hosts/URLs or other sensitive information.** + placeholder: | + 1. Run `nuclei -t ...` + validations: + required: true + - type: textarea + attributes: + label: Relevant log output + description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: shell + - type: textarea + attributes: + label: Environment + description: | + Examples: + - **OS**: Ubuntu 20.04 + - **Nuclei** (`nuclei -version`): v3.3.1 + - **Go** (`go version`): go1.22.0 _(only if you've installed it via the `go install` command)_ + value: | + - OS: + - Nuclei: + - Go: + render: markdown + validations: + required: true + - type: textarea + attributes: + label: Anything else? + description: | + Links? References? Templates? Anything that will give us more context about the issue you are encountering! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 0000000000..ccc1b86298 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,37 @@ +name: Feature Request +description: Request feature to implement in the Nuclei. +title: "[FEATURE] ..." +labels: ["Type: Enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this feature request! + + Please make sure to provide a detailed description with all the relevant information that might be required to start working on this feature. In case you are not sure about your request or whether the particular feature is already supported or not, please [start a discussion](https://github.com/projectdiscovery/nuclei/discussions/categories/ideas) instead. + + Join our [Discord server](https://discord.gg/projectdiscovery) to discuss the idea on the **#nuclei** channel. + - type: textarea + attributes: + label: Describe your feature request + description: A clear and concise description of feature to implement. + validations: + required: true + - type: textarea + attributes: + label: Describe the use case of the feature + description: A clear and concise description of the feature request's motivation and the use-cases in which it could be useful. + validations: + required: true + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + attributes: + label: Additional context + description: Add any other context about the feature request here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 8b41d50c2a..0000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Feature request -about: Request feature to implement in this project -title: "" -labels: 'Type: Enhancement' -assignees: '' - ---- - - - -### Please describe your feature request: - - -### Describe the use case of this feature: - diff --git a/.github/ISSUE_TEMPLATE/issue-report.md b/.github/ISSUE_TEMPLATE/issue-report.md deleted file mode 100644 index 3aa563b195..0000000000 --- a/.github/ISSUE_TEMPLATE/issue-report.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Issue report -about: Create a report to help us to improve the project -labels: 'Type: Bug' - ---- - - - - - -### Nuclei version: - - - - -## Nuclei command: - - - - -### Current Behavior: - - -### Expected Behavior: - - -### Steps To Reproduce: - - - -### Anything else: - From 80b3cc0627482adc17ce2822ae9368dd9d22267d Mon Sep 17 00:00:00 2001 From: Ice3man Date: Mon, 19 Aug 2024 06:20:12 +0530 Subject: [PATCH 150/283] feat: jira accept issue-type and project ids (#5537) * feat: jira accept issue-type and project ids * remove validation for project name --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com> --- pkg/reporting/trackers/jira/jira.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/reporting/trackers/jira/jira.go b/pkg/reporting/trackers/jira/jira.go index 5499445c87..6cb976c44e 100644 --- a/pkg/reporting/trackers/jira/jira.go +++ b/pkg/reporting/trackers/jira/jira.go @@ -70,9 +70,13 @@ type Options struct { // Token is the token for jira instance. Token string `yaml:"token" json:"token" validate:"required"` // ProjectName is the name of the project. - ProjectName string `yaml:"project-name" json:"project_name" validate:"required"` + ProjectName string `yaml:"project-name" json:"project_name"` + // ProjectID is the ID of the project (optional) + ProjectID string `yaml:"project-id" json:"project_id"` // IssueType (optional) is the name of the created issue type IssueType string `yaml:"issue-type" json:"issue_type"` + // IssueTypeID (optional) is the ID of the created issue type + IssueTypeID string `yaml:"issue-type-id" json:"issue_type_id"` // SeverityAsLabel (optional) sends the severity as the label of the created // issue. SeverityAsLabel bool `yaml:"severity-as-label" json:"severity_as_label"` @@ -183,6 +187,7 @@ func (i *Integration) CreateNewIssue(event *output.ResultEvent) (*filters.Create Project: jira.Project{Key: i.options.ProjectName}, Summary: summary, } + // On-prem version of Jira server does not use AccountID if !i.options.Cloud { fields = &jira.IssueFields{ @@ -195,6 +200,12 @@ func (i *Integration) CreateNewIssue(event *output.ResultEvent) (*filters.Create Unknowns: customFields, } } + if i.options.IssueTypeID != "" { + fields.Type = jira.IssueType{ID: i.options.IssueTypeID} + } + if i.options.ProjectID != "" { + fields.Project = jira.Project{ID: i.options.ProjectID} + } issueData := &jira.Issue{ Fields: fields, From c6bafd88eb763b0e0787e3ff692e34f40df5fb36 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 05:12:33 +0000 Subject: [PATCH 151/283] chore(deps): bump github.com/projectdiscovery/clistats Bumps [github.com/projectdiscovery/clistats](https://github.com/projectdiscovery/clistats) from 0.0.20 to 0.1.0. - [Release notes](https://github.com/projectdiscovery/clistats/releases) - [Commits](https://github.com/projectdiscovery/clistats/compare/v0.0.20...v0.1.0) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/clistats dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f2053614c1..c52eb896a3 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/miekg/dns v1.1.59 github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 - github.com/projectdiscovery/clistats v0.0.20 + github.com/projectdiscovery/clistats v0.1.0 github.com/projectdiscovery/fastdialer v0.2.3 github.com/projectdiscovery/hmap v0.0.54 github.com/projectdiscovery/interactsh v1.2.0 diff --git a/go.sum b/go.sum index dadb721a3f..c18b6f1f31 100644 --- a/go.sum +++ b/go.sum @@ -830,8 +830,8 @@ github.com/projectdiscovery/blackrock v0.0.1 h1:lHQqhaaEFjgf5WkuItbpeCZv2DUIE45k github.com/projectdiscovery/blackrock v0.0.1/go.mod h1:ANUtjDfaVrqB453bzToU+YB4cUbvBRpLvEwoWIwlTss= github.com/projectdiscovery/cdncheck v1.1.0 h1:qDITidmJsejzpk3rMkauCh6sjI2GH9hW/snk0cQ3kXE= github.com/projectdiscovery/cdncheck v1.1.0/go.mod h1:sZ8U4MjHSsyaTVjBbYWHT1cwUVvUYwDX1W+WvWRicIc= -github.com/projectdiscovery/clistats v0.0.20 h1:5jO5SLiRJ7f0nDV0ndBNmBeesbROouPooH+DGMgoWq4= -github.com/projectdiscovery/clistats v0.0.20/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= +github.com/projectdiscovery/clistats v0.1.0 h1:b+LF1w0xhNd7cneKWMXb+/yUmF1n5szawxP4XGpmbxs= +github.com/projectdiscovery/clistats v0.1.0/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= github.com/projectdiscovery/fastdialer v0.2.3 h1:K03x5XEXGyVWxS2rtSR104E9kHF0aphN7kOCzbh8zv0= From e16350cde610e11509ebed808f1277ac83e75492 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 05:39:12 +0000 Subject: [PATCH 152/283] chore(deps): bump github.com/projectdiscovery/hmap from 0.0.54 to 0.0.55 Bumps [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) from 0.0.54 to 0.0.55. - [Release notes](https://github.com/projectdiscovery/hmap/releases) - [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.54...v0.0.55) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/hmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index c52eb896a3..c7628b7b47 100644 --- a/go.mod +++ b/go.mod @@ -21,11 +21,11 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.0 github.com/projectdiscovery/fastdialer v0.2.3 - github.com/projectdiscovery/hmap v0.0.54 + github.com/projectdiscovery/hmap v0.0.55 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 - github.com/projectdiscovery/retryabledns v1.0.69 - github.com/projectdiscovery/retryablehttp-go v1.0.71 + github.com/projectdiscovery/retryabledns v1.0.70 + github.com/projectdiscovery/retryablehttp-go v1.0.72 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 - github.com/projectdiscovery/utils v0.2.4 + github.com/projectdiscovery/utils v0.2.5 github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index c18b6f1f31..ecf4846ac7 100644 --- a/go.sum +++ b/go.sum @@ -850,8 +850,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.54 h1:b3pdQZwCw4is3xiL2jBx7SJZcYaf/7vtozY7bjUzO/s= -github.com/projectdiscovery/hmap v0.0.54/go.mod h1:j0oakxYOWEfk29wRq5gQgrCv1JnfAfzGaMsRWwEas80= +github.com/projectdiscovery/hmap v0.0.55 h1:By0qSeQRE/ybeITUEL6oURN+j7qX7FVjCq92duwsqcA= +github.com/projectdiscovery/hmap v0.0.55/go.mod h1:uZOF/W8yOGDb/t9omqATirhVwiboa5F/c00OVhDeE0E= github.com/projectdiscovery/httpx v1.6.7 h1:luJAtQ+iKpiyKKDpcWw1/fF1MaRX6JZ4R3P+ol5Uikk= github.com/projectdiscovery/httpx v1.6.7/go.mod h1:rqcuexBrb4v36ZyX0BHcHaovTurOJn2P65Tdt9cYdfE= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -872,10 +872,10 @@ github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.69 h1:6vhhlfxPQoJI0j1enYSzyagyAZJNfGSg9TNloVsxEBQ= -github.com/projectdiscovery/retryabledns v1.0.69/go.mod h1:5SDuGtXgL4W1z/9V+xnmHFYg03Fi1Ud/F2kqlPlAgfE= -github.com/projectdiscovery/retryablehttp-go v1.0.71 h1:yXPNShCOwoTz7dBSJsBhBh4g4ujX62XS/BrH/fL1VyE= -github.com/projectdiscovery/retryablehttp-go v1.0.71/go.mod h1:wY3T89EwcCKAw6iyMDvwzGPyL3d8TaBU80hnDErEKgM= +github.com/projectdiscovery/retryabledns v1.0.70 h1:2yFMqQ4v3tgI9ORjlPH60h5QIs2EXxHVGCaxrOA1ZlI= +github.com/projectdiscovery/retryabledns v1.0.70/go.mod h1:Ld/RLVsG7d+wlNcye9xcuPTjGHLF9XO8w34GLRKsNis= +github.com/projectdiscovery/retryablehttp-go v1.0.72 h1:3m+9aRwC4KOMoQiOF3lVsDnPm/1+OR5r0UCHt5Edz5k= +github.com/projectdiscovery/retryablehttp-go v1.0.72/go.mod h1:tDPEpm0PlDOMB4yqHFPoLJZaK3uo+Auj/QIiUlzS+6Y= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -886,8 +886,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= -github.com/projectdiscovery/utils v0.2.4 h1:CHnlt2la4jr8TeL7ZK7UhQItHY7DDXqIuLnnxyAJLDY= -github.com/projectdiscovery/utils v0.2.4/go.mod h1:2Vx7geSrBfCPqknZywqbChQm8SE30mcyrlB5YsxEnhA= +github.com/projectdiscovery/utils v0.2.5 h1:puiw3/gK1WTEj9ZKnW00tAS0ex+ETqbLJ8juRuejA98= +github.com/projectdiscovery/utils v0.2.5/go.mod h1:fv3WC6m/+bVT+wH+fMB+JsKviEC/UAuDSeKxWPlK3kk= github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From c94d226a496a9b08026c5f39540356d772d48aba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 06:07:14 +0000 Subject: [PATCH 153/283] chore(deps): bump github.com/projectdiscovery/fastdialer Bumps [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) from 0.2.3 to 0.2.5. - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.2.3...v0.2.5) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index c7628b7b47..171d1bc523 100644 --- a/go.mod +++ b/go.mod @@ -20,11 +20,11 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.0 - github.com/projectdiscovery/fastdialer v0.2.3 + github.com/projectdiscovery/fastdialer v0.2.5 github.com/projectdiscovery/hmap v0.0.55 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 - github.com/projectdiscovery/retryabledns v1.0.70 + github.com/projectdiscovery/retryabledns v1.0.71 github.com/projectdiscovery/retryablehttp-go v1.0.72 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index ecf4846ac7..9bddf93345 100644 --- a/go.sum +++ b/go.sum @@ -834,8 +834,8 @@ github.com/projectdiscovery/clistats v0.1.0 h1:b+LF1w0xhNd7cneKWMXb+/yUmF1n5szaw github.com/projectdiscovery/clistats v0.1.0/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= -github.com/projectdiscovery/fastdialer v0.2.3 h1:K03x5XEXGyVWxS2rtSR104E9kHF0aphN7kOCzbh8zv0= -github.com/projectdiscovery/fastdialer v0.2.3/go.mod h1:a0BKvETrO1EAohUYp9gwtbbce0hKD1qGrTegyAUqyRo= +github.com/projectdiscovery/fastdialer v0.2.5 h1:OZg31LFIBBHbXVnOEcFNtD0gBM80zpY68QvYI0xbw80= +github.com/projectdiscovery/fastdialer v0.2.5/go.mod h1:E1vmos7AeD/KZ7rsDeImjLp5H3jjas+2utVdUxGulvY= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -872,8 +872,8 @@ github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.70 h1:2yFMqQ4v3tgI9ORjlPH60h5QIs2EXxHVGCaxrOA1ZlI= -github.com/projectdiscovery/retryabledns v1.0.70/go.mod h1:Ld/RLVsG7d+wlNcye9xcuPTjGHLF9XO8w34GLRKsNis= +github.com/projectdiscovery/retryabledns v1.0.71 h1:hZnTR7C4G7XDLxQEvdZVREHEJToIfeObNwR+zpmZ1vs= +github.com/projectdiscovery/retryabledns v1.0.71/go.mod h1:P3GAytlIf2c/H+PbHGwLoPrc8pSsCK+i8gt3sO/VynU= github.com/projectdiscovery/retryablehttp-go v1.0.72 h1:3m+9aRwC4KOMoQiOF3lVsDnPm/1+OR5r0UCHt5Edz5k= github.com/projectdiscovery/retryablehttp-go v1.0.72/go.mod h1:tDPEpm0PlDOMB4yqHFPoLJZaK3uo+Auj/QIiUlzS+6Y= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 091ca32b1cd9f1190847e5506b086d3c35b1e0e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 06:33:12 +0000 Subject: [PATCH 154/283] chore(deps): bump github.com/projectdiscovery/retryablehttp-go Bumps [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) from 1.0.71 to 1.0.74. - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.0.71...v1.0.74) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 171d1bc523..c178fb5456 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 github.com/projectdiscovery/retryabledns v1.0.71 - github.com/projectdiscovery/retryablehttp-go v1.0.72 + github.com/projectdiscovery/retryablehttp-go v1.0.74 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 diff --git a/go.sum b/go.sum index 9bddf93345..4e74f6e6aa 100644 --- a/go.sum +++ b/go.sum @@ -874,8 +874,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.71 h1:hZnTR7C4G7XDLxQEvdZVREHEJToIfeObNwR+zpmZ1vs= github.com/projectdiscovery/retryabledns v1.0.71/go.mod h1:P3GAytlIf2c/H+PbHGwLoPrc8pSsCK+i8gt3sO/VynU= -github.com/projectdiscovery/retryablehttp-go v1.0.72 h1:3m+9aRwC4KOMoQiOF3lVsDnPm/1+OR5r0UCHt5Edz5k= -github.com/projectdiscovery/retryablehttp-go v1.0.72/go.mod h1:tDPEpm0PlDOMB4yqHFPoLJZaK3uo+Auj/QIiUlzS+6Y= +github.com/projectdiscovery/retryablehttp-go v1.0.74 h1:jXZsg3nNDuDjGNeL0+hiEx/dqUqPyZW1zsotWW1y70c= +github.com/projectdiscovery/retryablehttp-go v1.0.74/go.mod h1:fVRxa2fVMbomaPiOFA05kM2WrjV8wPFHW7J84eenVmQ= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From 8a3818230dcc074eba34dfab1234b5a117b4f31c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 06:59:19 +0000 Subject: [PATCH 155/283] chore(deps): bump github.com/projectdiscovery/retryabledns Bumps [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) from 1.0.69 to 1.0.72. - [Release notes](https://github.com/projectdiscovery/retryabledns/releases) - [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.69...v1.0.72) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryabledns dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c178fb5456..855b9f3c77 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.55 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 - github.com/projectdiscovery/retryabledns v1.0.71 + github.com/projectdiscovery/retryabledns v1.0.72 github.com/projectdiscovery/retryablehttp-go v1.0.74 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index 4e74f6e6aa..43326744d8 100644 --- a/go.sum +++ b/go.sum @@ -872,8 +872,8 @@ github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.71 h1:hZnTR7C4G7XDLxQEvdZVREHEJToIfeObNwR+zpmZ1vs= -github.com/projectdiscovery/retryabledns v1.0.71/go.mod h1:P3GAytlIf2c/H+PbHGwLoPrc8pSsCK+i8gt3sO/VynU= +github.com/projectdiscovery/retryabledns v1.0.72 h1:+k9JRYBMpZIyEQZJWVHoCHx1TEdpiuAS7iEru2bhs3A= +github.com/projectdiscovery/retryabledns v1.0.72/go.mod h1:BDhYnqSH0Os2G37eb4L4vnKrUcik6Q6pR02Cq5PbT+0= github.com/projectdiscovery/retryablehttp-go v1.0.74 h1:jXZsg3nNDuDjGNeL0+hiEx/dqUqPyZW1zsotWW1y70c= github.com/projectdiscovery/retryablehttp-go v1.0.74/go.mod h1:fVRxa2fVMbomaPiOFA05kM2WrjV8wPFHW7J84eenVmQ= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 0da993afe6d41b4b1b814e8fad23a2acba13c60a Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Mon, 19 Aug 2024 14:32:54 +0200 Subject: [PATCH 156/283] Merge commit from fork MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix template signature verification * fix signature pattern check * add tests * remove signature count constraint, check for lines len * Add more tests * Centralize signature extraction logic in signer package * Move signature handling in Sign function to beginning * Remove comment * Revert `NewTemplateSigVerifier` * update tests * use ExtractSignatureAndContent func * Allow signing code templates * Remove unused const --------- Co-authored-by: Doğan Can Bakır Co-authored-by: Guy Goldenberg --- pkg/templates/signer/tmpl_signer.go | 57 +++++----- pkg/templates/signer/tmpl_signer_test.go | 126 +++++++++++++++++++++++ pkg/templates/template_sign.go | 3 +- 3 files changed, 161 insertions(+), 25 deletions(-) create mode 100644 pkg/templates/signer/tmpl_signer_test.go diff --git a/pkg/templates/signer/tmpl_signer.go b/pkg/templates/signer/tmpl_signer.go index c4378fd406..a530da1fe3 100644 --- a/pkg/templates/signer/tmpl_signer.go +++ b/pkg/templates/signer/tmpl_signer.go @@ -11,7 +11,6 @@ import ( "errors" "fmt" "os" - "regexp" "strings" "sync" @@ -21,18 +20,21 @@ import ( ) var ( - ReDigest = regexp.MustCompile(`(?m)^#\sdigest:\s.+$`) ErrUnknownAlgorithm = errors.New("unknown algorithm") SignaturePattern = "# digest: " SignatureFmt = SignaturePattern + "%x" + ":%v" // `#digest: :` ) -func RemoveSignatureFromData(data []byte) []byte { - return bytes.Trim(ReDigest.ReplaceAll(data, []byte("")), "\n") -} - -func GetSignatureFromData(data []byte) []byte { - return ReDigest.Find(data) +// ExtractSignatureAndContent extracts the signature (if present) and returns the content without the signature +func ExtractSignatureAndContent(data []byte) (signature, content []byte) { + dataStr := string(data) + if idx := strings.LastIndex(dataStr, SignaturePattern); idx != -1 { + signature = []byte(strings.TrimSpace(dataStr[idx:])) + content = []byte(strings.TrimSpace(dataStr[:idx])) + } else { + content = data + } + return } // SignableTemplate is a template that can be signed @@ -69,26 +71,29 @@ func (t *TemplateSigner) GetUserFragment() string { // Sign signs the given template with the template signer and returns the signature func (t *TemplateSigner) Sign(data []byte, tmpl SignableTemplate) (string, error) { + existingSignature, content := ExtractSignatureAndContent(data) + // while re-signing template check if it has a code protocol // if it does then verify that it is signed by current signer // if not then return error if tmpl.HasCodeProtocol() { - sig := GetSignatureFromData(data) - arr := strings.SplitN(string(sig), ":", 3) - if len(arr) == 2 { - // signature has no fragment - return "", errorutil.NewWithTag("signer", "re-signing code templates are not allowed for security reasons.") - } - if len(arr) == 3 { - // signature has fragment verify if it is equal to current fragment - fragment := t.GetUserFragment() - if fragment != arr[2] { + if len(existingSignature) > 0 { + arr := strings.SplitN(string(existingSignature), ":", 3) + if len(arr) == 2 { + // signature has no fragment return "", errorutil.NewWithTag("signer", "re-signing code templates are not allowed for security reasons.") } + if len(arr) == 3 { + // signature has fragment verify if it is equal to current fragment + fragment := t.GetUserFragment() + if fragment != arr[2] { + return "", errorutil.NewWithTag("signer", "re-signing code templates are not allowed for security reasons.") + } + } } } - buff := bytes.NewBuffer(RemoveSignatureFromData(data)) + buff := bytes.NewBuffer(content) // if file has any imports process them for _, file := range tmpl.GetFileImports() { bin, err := os.ReadFile(file) @@ -123,12 +128,16 @@ func (t *TemplateSigner) sign(data []byte) (string, error) { // Verify verifies the given template with the template signer func (t *TemplateSigner) Verify(data []byte, tmpl SignableTemplate) (bool, error) { - digestData := ReDigest.Find(data) - if len(digestData) == 0 { - return false, errors.New("digest not found") + signature, content := ExtractSignatureAndContent(data) + if len(signature) == 0 { + return false, errors.New("no signature found") + } + + if !bytes.HasPrefix(signature, []byte(SignaturePattern)) { + return false, errors.New("signature must be at the end of the template") } - digestData = bytes.TrimSpace(bytes.TrimPrefix(digestData, []byte(SignaturePattern))) + digestData := bytes.TrimSpace(bytes.TrimPrefix(signature, []byte(SignaturePattern))) // remove fragment from digest as it is used for re-signing purposes only digestString := strings.TrimSuffix(string(digestData), ":"+t.GetUserFragment()) digest, err := hex.DecodeString(digestString) @@ -136,7 +145,7 @@ func (t *TemplateSigner) Verify(data []byte, tmpl SignableTemplate) (bool, error return false, err } - buff := bytes.NewBuffer(RemoveSignatureFromData(data)) + buff := bytes.NewBuffer(content) // if file has any imports process them for _, file := range tmpl.GetFileImports() { bin, err := os.ReadFile(file) diff --git a/pkg/templates/signer/tmpl_signer_test.go b/pkg/templates/signer/tmpl_signer_test.go new file mode 100644 index 0000000000..832dcb0e05 --- /dev/null +++ b/pkg/templates/signer/tmpl_signer_test.go @@ -0,0 +1,126 @@ +package signer + +import ( + "bytes" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +const ( + testCertFile = "../../../integration_tests/protocols/keys/ci.crt" + testKeyFile = "../../../integration_tests/protocols/keys/ci-private-key.pem" +) + +type mockSignableTemplate struct { + imports []string + hasCode bool +} + +func (m *mockSignableTemplate) GetFileImports() []string { + return m.imports +} + +func (m *mockSignableTemplate) HasCodeProtocol() bool { + return m.hasCode +} + +var signer, _ = NewTemplateSignerFromFiles(testCertFile, testKeyFile) + +func TestTemplateSignerSignAndVerify(t *testing.T) { + tempDir := t.TempDir() + + tests := []struct { + name string + data []byte + tmpl SignableTemplate + wantSignErr bool + wantVerifyErr bool + wantVerified bool + modifyAfterSign func([]byte) []byte + }{ + { + name: "Simple template", + data: []byte("id: test-template\ninfo:\n name: Test Template"), + tmpl: &mockSignableTemplate{}, + wantVerified: true, + }, + { + name: "Template with imports", + data: []byte("id: test-template\ninfo:\n name: Test Template"), + tmpl: &mockSignableTemplate{imports: []string{ + filepath.Join(tempDir, "import1.yaml"), + filepath.Join(tempDir, "import2.yaml"), + }}, + wantVerified: true, + }, + { + name: "Template with code protocol", + data: []byte("id: test-template\ninfo:\n name: Test Template\n\ncode:\n - engine: bash\n source: echo 'Hello, World!'"), + tmpl: &mockSignableTemplate{hasCode: true}, + wantSignErr: false, + wantVerified: true, + }, + { + name: "Tampered template", + data: []byte("id: test-template\ninfo:\n name: Test Template"), + tmpl: &mockSignableTemplate{}, + modifyAfterSign: func(data []byte) []byte { + signatureIndex := bytes.LastIndex(data, []byte(SignaturePattern)) + if signatureIndex == -1 { + return data + } + return append(data[:signatureIndex], append([]byte("# Tampered content\n"), data[signatureIndex:]...)...) + }, + wantVerified: false, + }, + { + name: "Invalid signature", + data: []byte("id: test-template\ninfo:\n name: Test Template"), + tmpl: &mockSignableTemplate{}, + modifyAfterSign: func(data []byte) []byte { + return append(bytes.TrimSuffix(data, []byte("\n")), []byte("\n# digest: invalid_signature:fragment")...) + }, + wantVerifyErr: true, + wantVerified: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + // Create import files if needed + for _, imp := range tt.tmpl.GetFileImports() { + err := os.WriteFile(imp, []byte("imported content"), 0644) + require.NoError(t, err, "Failed to create import file") + } + + // Sign the template + signature, err := signer.Sign(tt.data, tt.tmpl) + if tt.wantSignErr { + assert.Error(t, err, "Expected an error during signing") + return + } + require.NoError(t, err, "Failed to sign template") + + // Append signature to the template data + signedData := append(tt.data, []byte("\n"+signature)...) + + // Apply any modifications after signing if specified + if tt.modifyAfterSign != nil { + signedData = tt.modifyAfterSign(signedData) + } + + // Verify the signature + verified, err := signer.Verify(signedData, tt.tmpl) + if tt.wantVerifyErr { + assert.Error(t, err, "Expected an error during verification") + } else { + assert.NoError(t, err, "Unexpected error during verification") + } + assert.Equal(t, tt.wantVerified, verified, "Unexpected verification result") + }) + } +} diff --git a/pkg/templates/template_sign.go b/pkg/templates/template_sign.go index 24ae41c5e0..1eb09a447c 100644 --- a/pkg/templates/template_sign.go +++ b/pkg/templates/template_sign.go @@ -75,11 +75,12 @@ func SignTemplate(templateSigner *signer.TemplateSigner, templatePath string) er return ErrNotATemplate } if !template.Verified { + _, content := signer.ExtractSignatureAndContent(bin) signatureData, err := templateSigner.Sign(bin, template) if err != nil { return err } - buff := bytes.NewBuffer(signer.RemoveSignatureFromData(bin)) + buff := bytes.NewBuffer(content) buff.WriteString("\n" + signatureData) return os.WriteFile(templatePath, buff.Bytes(), 0644) } From 3064788d35a8ec8623eb3a54eca920ea289f1259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Mon, 19 Aug 2024 23:02:27 +0300 Subject: [PATCH 157/283] fix race condition --- .../http/httpclientpool/clientpool.go | 20 +++++++++++++++++++ pkg/protocols/http/request.go | 5 +++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/pkg/protocols/http/httpclientpool/clientpool.go b/pkg/protocols/http/httpclientpool/clientpool.go index 2c244556ae..da7d5467e2 100644 --- a/pkg/protocols/http/httpclientpool/clientpool.go +++ b/pkg/protocols/http/httpclientpool/clientpool.go @@ -32,6 +32,7 @@ var ( forceMaxRedirects int normalClient *retryablehttp.Client clientPool *mapsutil.SyncLockMap[string, *retryablehttp.Client] + rawHttpClientMu sync.Mutex ) // Init initializes the clientpool implementation @@ -102,6 +103,22 @@ type Configuration struct { ResponseHeaderTimeout time.Duration } +func (c *Configuration) Clone() *Configuration { + clone := *c + if c.Connection != nil { + cloneConnection := &ConnectionConfiguration{ + DisableKeepAlive: c.Connection.DisableKeepAlive, + } + if c.Connection.HasCookieJar() { + cookiejar := *c.Connection.GetCookieJar() + cloneConnection.SetCookieJar(&cookiejar) + } + clone.Connection = cloneConnection + } + + return &clone +} + // Hash returns the hash of the configuration to allow client pooling func (c *Configuration) Hash() string { builder := &strings.Builder{} @@ -131,6 +148,9 @@ func (c *Configuration) HasStandardOptions() bool { // GetRawHTTP returns the rawhttp request client func GetRawHTTP(options *protocols.ExecutorOptions) *rawhttp.Client { + rawHttpClientMu.Lock() + defer rawHttpClientMu.Unlock() + if rawHttpClient == nil { rawHttpOptions := rawhttp.DefaultOptions if types.ProxyURL != "" { diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 98e1932477..3955325599 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -770,7 +770,7 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ // check for cookie related configuration if input.CookieJar != nil { - connConfiguration := request.connConfiguration + connConfiguration := request.connConfiguration.Clone() connConfiguration.Connection.SetCookieJar(input.CookieJar) modifiedConfig = connConfiguration } @@ -778,7 +778,8 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ updatedTimeout, ok := generatedRequest.request.Context().Value(httpclientpool.WithCustomTimeout{}).(httpclientpool.WithCustomTimeout) if ok { if modifiedConfig == nil { - modifiedConfig = request.connConfiguration + connConfiguration := request.connConfiguration.Clone() + modifiedConfig = connConfiguration } modifiedConfig.ResponseHeaderTimeout = updatedTimeout.Timeout } From 50023428d0ae90f5ed09ebe4392364e06129ecb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Mon, 19 Aug 2024 23:09:07 +0300 Subject: [PATCH 158/283] fix lint --- lib/sdk.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sdk.go b/lib/sdk.go index 04b084f244..daeb68c14b 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -178,7 +178,8 @@ func (e *NucleiEngine) SignTemplate(tmplSigner *signer.TemplateSigner, data []by if err != nil { return data, err } - buff := bytes.NewBuffer(signer.RemoveSignatureFromData(data)) + _, content := signer.ExtractSignatureAndContent(data) + buff := bytes.NewBuffer(content) buff.WriteString("\n" + signatureData) return buff.Bytes(), err } From d84aea93cc2844132af1ae364567124a48b93a87 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Tue, 20 Aug 2024 15:04:01 +0700 Subject: [PATCH 159/283] chore: sorts gitignore (#5548) Signed-off-by: Dwi Siswanto --- .gitignore | 73 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index b9e561e3a6..5a50568910 100644 --- a/.gitignore +++ b/.gitignore @@ -1,43 +1,42 @@ +# Misc +**/*-cache +**/*-config +**/.cache +*.DS_Store +*.exe +.devcontainer +.gitignore .idea .vscode -.devcontainer -vendor + +# Binaries +**/bindgen +**/debug-* +**/docgen +**/functional-test +**/fuzzplayground +**/integration-test +**/jsdocgen +**/main +**/memogen +**/nuclei +**/nuclei-stats* +**/nuclei_dev +**/nuclei_main +**/scan-charts +**/scrapefunc +**/scrapefuncs +**/tsgen + +# Templates +/*.yaml + +# Generated docs +/dsl.md + +# Junk dist -integration_tests/nuclei -integration_tests/.cache -integration_tests/integration-test -cmd/nuclei/main -cmd/nuclei/nuclei -cmd/integration-test/nuclei -cmd/functional-test/nuclei_dev -cmd/functional-test/nuclei_main -cmd/functional-test/functional-test -cmd/docgen/docgen pkg/protocols/common/helpers/deserialization/testdata/Deserialize.class pkg/protocols/common/helpers/deserialization/testdata/ValueObject.class pkg/protocols/common/helpers/deserialization/testdata/ValueObject2.ser -*.exe -.gitignore -pkg/js/devtools/bindgen/cmd/bindgen/bindgen -pkg/js/devtools/jsdocgen/jsdocgen -pkg/js/devtools/tsgen/tsgen -pkg/js/devtools/tsgen/cmd/tsgen/tsgen -*.DS_Store -pkg/protocols/headless/engine/.cache -/nuclei -/bindgen -/jsdocgen -/tsgen -/scrapefuncs -/integration_tests/.cache/ -/*.yaml -**/*-config -**/*-cache -/fuzzplayground -integration_tests/fuzzplayground -/dsl.md -/nuclei-stats -/nuclei-stats-* -/scan-charts -/**/debug-* - +vendor \ No newline at end of file From b1152efd422363fd00843cc1ff94b19837e54392 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Tue, 20 Aug 2024 15:06:39 +0700 Subject: [PATCH 160/283] chore(make): make it DRY (#5549) Signed-off-by: Dwi Siswanto --- Makefile | 141 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 102 insertions(+), 39 deletions(-) diff --git a/Makefile b/Makefile index a3f60a64b3..3fa6a033ef 100644 --- a/Makefile +++ b/Makefile @@ -1,64 +1,127 @@ # Go parameters -GOCMD=go -GOBUILD=$(GOCMD) build -GOMOD=$(GOCMD) mod -GOTEST=$(GOCMD) test +GOCMD := go +GOBUILD := $(GOCMD) build +GOBUILD_OUTPUT := +GOBUILD_PACKAGES := +GOBUILD_ADDITIONAL_ARGS := +GOMOD := $(GOCMD) mod +GOTEST := $(GOCMD) test GOFLAGS := -v # This should be disabled if the binary uses pprof LDFLAGS := -s -w ifneq ($(shell go env GOOS),darwin) -LDFLAGS := -extldflags "-static" + LDFLAGS = -extldflags "-static" endif -.PHONY: all build build-stats scan-charts docs test integration functional tidy verify devtools jsupdate ts fuzzplayground memogen dsl-docs +.PHONY: all build build-stats clean devtools-all devtools-bindgen devtools-scrapefuncs +.PHONY: devtools-tsgen docs dsl-docs functional fuzzplayground go-build integration +.PHONY: jsupdate-all jsupdate-bindgen jsupdate-tsgen memogen scan-charts test tidy ts verify all: build -build: - rm -f nuclei 2>/dev/null - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "nuclei" cmd/nuclei/main.go -build-stats: - rm -f nuclei-stats 2>/dev/null - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -tags=stats -o "nuclei-stats" cmd/nuclei/main.go -scan-charts: - rm -f scan-charts 2>/dev/null - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "scan-charts" cmd/scan-charts/main.go + +clean: + rm -f '${GOBUILD_OUTPUT}' 2>/dev/null + +go-build: clean +go-build: + $(GOBUILD) $(GOFLAGS) -ldflags '${LDFLAGS}' $(GOBUILD_ADDITIONAL_ARGS) \ + -o '${GOBUILD_OUTPUT}' $(GOBUILD_PACKAGES) + +build: GOBUILD_OUTPUT = nuclei +build: GOBUILD_PACKAGES = cmd/nuclei/main.go +build: go-build + +build-stats: GOBUILD_OUTPUT = nuclei-stats +build-stats: GOBUILD_PACKAGES = cmd/nuclei/main.go +build-stats: GOBUILD_ADDITIONAL_ARGS = -tags=stats +build-stats: go-build + +scan-charts: GOBUILD_OUTPUT = scan-charts +scan-charts: GOBUILD_PACKAGES = cmd/scan-charts/main.go +scan-charts: go-build + +docs: GOBUILD_OUTPUT = cmd/docgen/docgen +docs: GOBUILD_PACKAGES = cmd/docgen/docgen.go +docs: bin = dstdocgen docs: - if ! which dstdocgen > /dev/null; then - echo -e "Command not found! Install? (y/n) \c" - go get -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/dstdocgen + @if ! which $(bin) >/dev/null; then \ + read -p "${bin} not found. Do you want to install it? (y/n) " answer; \ + if [ "$$answer" = "y" ]; then \ + echo "Installing ${bin}..."; \ + go get -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/$(bin); \ + go install -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/$(bin); \ + else \ + echo "Please install ${bin} manually."; \ + exit 1; \ + fi \ fi + + # TODO: Handle the panic, so that we just need to run `go install $(bin)@latest` (line 51-52) $(GOCMD) generate pkg/templates/templates.go - $(GOBUILD) -o "cmd/docgen/docgen" cmd/docgen/docgen.go - ./cmd/docgen/docgen docs.md nuclei-jsonschema.json + + $(GOBUILD) -o "${GOBUILD_OUTPUT}" $(GOBUILD_PACKAGES) + ./$(GOBUILD_OUTPUT) docs.md nuclei-jsonschema.json + + git reset --hard # line 59 + test: $(GOTEST) $(GOFLAGS) ./... + integration: cd integration_tests; bash run.sh + functional: cd cmd/functional-test; bash run.sh + tidy: $(GOMOD) tidy + verify: tidy $(GOMOD) verify -devtools: - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "bindgen" pkg/js/devtools/bindgen/cmd/bindgen/main.go - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "scrapefuncs" pkg/js/devtools/scrapefuncs/main.go -jsupdate: - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "bindgen" pkg/js/devtools/bindgen/cmd/bindgen/main.go - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go - ./bindgen -dir pkg/js/libs -out pkg/js/generated - ./tsgen -dir pkg/js/libs -out pkg/js/generated/ts -ts: - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go - ./tsgen -dir pkg/js/libs -out pkg/js/generated/ts -fuzzplayground: - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "fuzzplayground" cmd/tools/fuzzplayground/main.go + +devtools-bindgen: GOBUILD_OUTPUT = bindgen +devtools-bindgen: GOBUILD_PACKAGES = pkg/js/devtools/bindgen/cmd/bindgen/main.go +devtools-bindgen: go-build + +devtools-tsgen: GOBUILD_OUTPUT = tsgen +devtools-tsgen: GOBUILD_PACKAGES = pkg/js/devtools/tsgen/cmd/tsgen/main.go +devtools-tsgen: go-build + +devtools-scrapefuncs: GOBUILD_OUTPUT = scrapefuncs +devtools-scrapefuncs: GOBUILD_PACKAGES = pkg/js/devtools/scrapefuncs/main.go +devtools-scrapefuncs: go-build + +devtools-all: devtools-bindgen devtools-tsgen devtools-scrapefuncs + +jsupdate-bindgen: GOBUILD_OUTPUT = bindgen +jsupdate-bindgen: GOBUILD_PACKAGES = pkg/js/devtools/bindgen/cmd/bindgen/main.go +jsupdate-bindgen: go-build +jsupdate-bindgen: + ./$(GOBUILD_OUTPUT) -dir pkg/js/libs -out pkg/js/generated + +jsupdate-tsgen: GOBUILD_OUTPUT = tsgen +jsupdate-tsgen: GOBUILD_PACKAGES = pkg/js/devtools/tsgen/cmd/tsgen/main.go +jsupdate-tsgen: go-build +jsupdate-tsgen: + ./$(GOBUILD_OUTPUT) -dir pkg/js/libs -out pkg/js/generated/ts + +jsupdate-all: jsupdate-bindgen jsupdate-tsgen + +ts: jsupdate-tsgen + +fuzzplayground: GOBUILD_OUTPUT = fuzzplayground +fuzzplayground: GOBUILD_PACKAGES = cmd/tools/fuzzplayground/main.go +fuzzplayground: LDFLAGS = -s -w +fuzzplayground: go-build + +memogen: GOBUILD_OUTPUT = memogen +memogen: GOBUILD_PACKAGES = cmd/memogen/memogen.go +memogen: go-build memogen: - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "memogen" cmd/memogen/memogen.go - ./memogen -src pkg/js/libs -tpl cmd/memogen/function.tpl + ./$(GOBUILD_OUTPUT) -src pkg/js/libs -tpl cmd/memogen/function.tpl + +dsl-docs: GOBUILD_OUTPUT = scrapefuncs +dsl-docs: GOBUILD_PACKAGES = pkg/js/devtools/scrapefuncs/main.go dsl-docs: - rm -f dsl.md scrapefuncs 2>/dev/null - $(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "scrapefuncs" pkg/js/devtools/scrapefuncs/main.go - ./scrapefuncs -out dsl.md + ./$(GOBUILD_OUTPUT) -out dsl.md From 46782ff90c29d2bc04ca130763ffbf95e95c5b37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Wed, 21 Aug 2024 11:26:17 +0300 Subject: [PATCH 161/283] use sync.Once --- pkg/protocols/http/httpclientpool/clientpool.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkg/protocols/http/httpclientpool/clientpool.go b/pkg/protocols/http/httpclientpool/clientpool.go index da7d5467e2..5750d5aead 100644 --- a/pkg/protocols/http/httpclientpool/clientpool.go +++ b/pkg/protocols/http/httpclientpool/clientpool.go @@ -29,10 +29,10 @@ import ( var ( rawHttpClient *rawhttp.Client + rawHttpClientOnce sync.Once forceMaxRedirects int normalClient *retryablehttp.Client clientPool *mapsutil.SyncLockMap[string, *retryablehttp.Client] - rawHttpClientMu sync.Mutex ) // Init initializes the clientpool implementation @@ -148,10 +148,7 @@ func (c *Configuration) HasStandardOptions() bool { // GetRawHTTP returns the rawhttp request client func GetRawHTTP(options *protocols.ExecutorOptions) *rawhttp.Client { - rawHttpClientMu.Lock() - defer rawHttpClientMu.Unlock() - - if rawHttpClient == nil { + rawHttpClientOnce.Do(func() { rawHttpOptions := rawhttp.DefaultOptions if types.ProxyURL != "" { rawHttpOptions.Proxy = types.ProxyURL @@ -162,7 +159,7 @@ func GetRawHTTP(options *protocols.ExecutorOptions) *rawhttp.Client { } rawHttpOptions.Timeout = options.Options.GetTimeouts().HttpTimeout rawHttpClient = rawhttp.NewClient(rawHttpOptions) - } + }) return rawHttpClient } From 35a0d673ad8e12b11e90e8e0090feb26ea042b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Wed, 21 Aug 2024 11:36:33 +0300 Subject: [PATCH 162/283] remove redundant code --- pkg/protocols/common/protocolstate/state.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index b7c7796fa8..b21a1be9e5 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -214,6 +214,5 @@ func Close() { Dialer.Close() Dialer = nil } - Dialer = nil StopActiveMemGuardian() } From 87c8cd8e0133d03f31ecad27f18f738c04174cb0 Mon Sep 17 00:00:00 2001 From: Roy Reznik Date: Wed, 21 Aug 2024 11:44:01 +0100 Subject: [PATCH 163/283] Upgrade gitlab --- go.mod | 10 ++++------ go.sum | 19 ++++++++----------- pkg/reporting/trackers/gitlab/gitlab.go | 2 +- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 855b9f3c77..026a96169e 100644 --- a/go.mod +++ b/go.mod @@ -36,10 +36,10 @@ require ( github.com/syndtr/goleveldb v1.0.0 github.com/valyala/fasttemplate v1.2.2 github.com/weppos/publicsuffix-go v0.30.2 - github.com/xanzy/go-gitlab v0.84.0 + github.com/xanzy/go-gitlab v0.107.0 go.uber.org/multierr v1.11.0 golang.org/x/net v0.26.0 - golang.org/x/oauth2 v0.18.0 + golang.org/x/oauth2 v0.22.0 golang.org/x/text v0.16.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -262,7 +262,6 @@ require ( github.com/gobwas/pool v0.2.1 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/uuid v1.6.0 // indirect @@ -306,10 +305,9 @@ require ( golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 golang.org/x/mod v0.17.0 // indirect golang.org/x/sys v0.21.0 // indirect - golang.org/x/time v0.5.0 // indirect + golang.org/x/time v0.6.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect gopkg.in/corvus-ch/zbase32.v1 v1.0.0 // indirect ) diff --git a/go.sum b/go.sum index 43326744d8..22a4618330 100644 --- a/go.sum +++ b/go.sum @@ -453,8 +453,6 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -1068,8 +1066,8 @@ github.com/weppos/publicsuffix-go v0.30.2/go.mod h1:/hGscit36Yt+wammfBBwdMdxBT8b github.com/weppos/publicsuffix-go/publicsuffix/generator v0.0.0-20220927085643-dc0d00c92642/go.mod h1:GHfoeIdZLdZmLjMlzBftbTDntahTttUMWjxZwQJhULE= github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= -github.com/xanzy/go-gitlab v0.84.0 h1:PdpCaskQSgcVDsx21c6ikf8Rfyo7SNtFAJwP9PrbCFE= -github.com/xanzy/go-gitlab v0.84.0/go.mod h1:5ryv+MnpZStBH8I/77HuQBsMbBGANtVpLWC15qOjWAw= +github.com/xanzy/go-gitlab v0.107.0 h1:P2CT9Uy9yN9lJo3FLxpMZ4xj6uWcpnigXsjvqJ6nd2Y= +github.com/xanzy/go-gitlab v0.107.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= @@ -1291,8 +1289,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1421,8 +1419,8 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= +golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1505,8 +1503,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1569,8 +1565,9 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/reporting/trackers/gitlab/gitlab.go b/pkg/reporting/trackers/gitlab/gitlab.go index d816a26af6..fdb2b948f1 100644 --- a/pkg/reporting/trackers/gitlab/gitlab.go +++ b/pkg/reporting/trackers/gitlab/gitlab.go @@ -78,7 +78,7 @@ func (i *Integration) CreateIssue(event *output.ResultEvent) (*filters.CreateIss if label := i.options.IssueLabel; label != "" { labels = append(labels, label) } - customLabels := gitlab.Labels(labels) + customLabels := gitlab.LabelOptions(labels) assigneeIDs := []int{i.userID} if i.options.DuplicateIssueCheck { searchIn := "title" From d1f4c98cd76f82e556b4a9c9406c45bcec32ae7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Wed, 21 Aug 2024 15:03:41 +0300 Subject: [PATCH 164/283] Revert "remove redundant code" This reverts commit 35a0d673ad8e12b11e90e8e0090feb26ea042b46. --- pkg/protocols/common/protocolstate/state.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index b21a1be9e5..b7c7796fa8 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -214,5 +214,6 @@ func Close() { Dialer.Close() Dialer = nil } + Dialer = nil StopActiveMemGuardian() } From 5e102b782ba28386288460f7e6f1fec08ea514fa Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Wed, 21 Aug 2024 16:09:47 +0200 Subject: [PATCH 165/283] fixing race + nil crash --- pkg/protocols/common/protocolstate/state.go | 15 +++++++++++++-- pkg/protocols/http/httpclientpool/clientpool.go | 4 ++-- pkg/protocols/http/request.go | 6 +++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/pkg/protocols/common/protocolstate/state.go b/pkg/protocols/common/protocolstate/state.go index b7c7796fa8..5c56fdf77e 100644 --- a/pkg/protocols/common/protocolstate/state.go +++ b/pkg/protocols/common/protocolstate/state.go @@ -5,6 +5,7 @@ import ( "fmt" "net" "net/url" + "sync" "github.com/go-sql-driver/mysql" "github.com/pkg/errors" @@ -19,9 +20,17 @@ import ( // Dialer is a shared fastdialer instance for host DNS resolution var ( - Dialer *fastdialer.Dialer + muDialer sync.RWMutex + Dialer *fastdialer.Dialer ) +func GetDialer() *fastdialer.Dialer { + muDialer.RLock() + defer muDialer.RUnlock() + + return Dialer +} + func ShouldInit() bool { return Dialer == nil } @@ -210,10 +219,12 @@ func interfaceAddresses(interfaceName string) ([]net.Addr, error) { // Close closes the global shared fastdialer func Close() { + muDialer.Lock() + defer muDialer.Unlock() + if Dialer != nil { Dialer.Close() Dialer = nil } - Dialer = nil StopActiveMemGuardian() } diff --git a/pkg/protocols/http/httpclientpool/clientpool.go b/pkg/protocols/http/httpclientpool/clientpool.go index 5750d5aead..65879818f6 100644 --- a/pkg/protocols/http/httpclientpool/clientpool.go +++ b/pkg/protocols/http/httpclientpool/clientpool.go @@ -250,7 +250,7 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl transport := &http.Transport{ ForceAttemptHTTP2: options.ForceAttemptHTTP2, - DialContext: protocolstate.Dialer.Dial, + DialContext: protocolstate.GetDialer().Dial, DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) { if options.TlsImpersonate { return protocolstate.Dialer.DialTLSWithConfigImpersonate(ctx, network, addr, tlsConfig, impersonate.Random, nil) @@ -258,7 +258,7 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl if options.HasClientCertificates() || options.ForceAttemptHTTP2 { return protocolstate.Dialer.DialTLSWithConfig(ctx, network, addr, tlsConfig) } - return protocolstate.Dialer.DialTLS(ctx, network, addr) + return protocolstate.GetDialer().DialTLS(ctx, network, addr) }, MaxIdleConns: maxIdleConns, MaxIdleConnsPerHost: maxIdleConnsPerHost, diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 3955325599..5a1219b83f 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -942,7 +942,11 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ if input.MetaInput.CustomIP != "" { outputEvent["ip"] = input.MetaInput.CustomIP } else { - outputEvent["ip"] = protocolstate.Dialer.GetDialedIP(hostname) + dialer := protocolstate.GetDialer() + if dialer != nil { + outputEvent["ip"] = dialer.GetDialedIP(hostname) + } + // try getting cname request.addCNameIfAvailable(hostname, outputEvent) } From ddf9b2fbec27224a536e38ee0ecde5874f7b2c5b Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Wed, 21 Aug 2024 16:29:00 +0200 Subject: [PATCH 166/283] fix --- lib/sdk.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sdk.go b/lib/sdk.go index 04b084f244..daeb68c14b 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -178,7 +178,8 @@ func (e *NucleiEngine) SignTemplate(tmplSigner *signer.TemplateSigner, data []by if err != nil { return data, err } - buff := bytes.NewBuffer(signer.RemoveSignatureFromData(data)) + _, content := signer.ExtractSignatureAndContent(data) + buff := bytes.NewBuffer(content) buff.WriteString("\n" + signatureData) return buff.Bytes(), err } From bfdc507c6cef6db636ae8b3e693002271ed4ddab Mon Sep 17 00:00:00 2001 From: mzack9999 Date: Wed, 21 Aug 2024 16:34:53 +0200 Subject: [PATCH 167/283] lint --- pkg/external/customtemplates/gitlab.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/external/customtemplates/gitlab.go b/pkg/external/customtemplates/gitlab.go index 40f191423a..fbb9a61cef 100644 --- a/pkg/external/customtemplates/gitlab.go +++ b/pkg/external/customtemplates/gitlab.go @@ -83,8 +83,8 @@ func (bk *customTemplateGitLabRepo) Download(_ context.Context) { // Get the directory listing for the files in the project tree, _, err := bk.gitLabClient.Repositories.ListTree(projectID, &gitlab.ListTreeOptions{ - Ref: gitlab.String(project.DefaultBranch), - Recursive: gitlab.Bool(true), + Ref: gitlab.Ptr(project.DefaultBranch), + Recursive: gitlab.Ptr(true), }) if err != nil { gologger.Error().Msgf("error retrieving files from GitLab project: %s (%d) %s", project.Name, projectID, err) @@ -95,7 +95,7 @@ func (bk *customTemplateGitLabRepo) Download(_ context.Context) { // If the object is not a file or file extension is not .yaml, skip it if file.Type == "blob" && filepath.Ext(file.Path) == ".yaml" { gf := &gitlab.GetFileOptions{ - Ref: gitlab.String(project.DefaultBranch), + Ref: gitlab.Ptr(project.DefaultBranch), } f, _, err := bk.gitLabClient.RepositoryFiles.GetFile(projectID, file.Path, gf) if err != nil { From 56af26a502692774dc879f5fe5f10d3caf5f0e6e Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:49:07 +0300 Subject: [PATCH 168/283] Add auto assign (#5555) * add auto assign * commit to last commit --- .github/auto_assign.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/auto_assign.yml diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml new file mode 100644 index 0000000000..127400e160 --- /dev/null +++ b/.github/auto_assign.yml @@ -0,0 +1,8 @@ +addReviewers: true +reviewers: + - dogancanbakir + +numberOfReviewers: 1 +# A list of keywords to be skipped the process that add reviewers if pull requests include it +# skipKeywords: +# - wip \ No newline at end of file From 710f1ad240a1fedbdd0e91573c633f218e9fb409 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 05:02:29 +0000 Subject: [PATCH 169/283] chore(deps): bump github.com/projectdiscovery/gologger Bumps [github.com/projectdiscovery/gologger](https://github.com/projectdiscovery/gologger) from 1.1.19 to 1.1.21. - [Release notes](https://github.com/projectdiscovery/gologger/releases) - [Commits](https://github.com/projectdiscovery/gologger/compare/v1.1.19...v1.1.21) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/gologger dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 026a96169e..05ddf348f1 100644 --- a/go.mod +++ b/go.mod @@ -84,7 +84,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.63 - github.com/projectdiscovery/gologger v1.1.19 + github.com/projectdiscovery/gologger v1.1.21 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.7 @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 - github.com/projectdiscovery/utils v0.2.5 + github.com/projectdiscovery/utils v0.2.6 github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 22a4618330..a5d836f324 100644 --- a/go.sum +++ b/go.sum @@ -842,8 +842,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.63 h1:xy3nqpzmSFEmG0LKTv3xLcp9LMbvbFkLZcjcnFe3xR4= github.com/projectdiscovery/goflags v0.1.63/go.mod h1:ptFbCm+5RmSHTSG4oniwBRRHJlguBTOOfMUfezeGbZ0= -github.com/projectdiscovery/gologger v1.1.19 h1:b7cU32XuDrDiwhr7hlDeE6mfj/nENBtHEohe51txJCE= -github.com/projectdiscovery/gologger v1.1.19/go.mod h1:DbeKwx9IEfcvnclImX5gBlhIKUuOZwOM5itdpYXl+54= +github.com/projectdiscovery/gologger v1.1.21 h1:FD9MGE9adY/y2IxDpQgPZIvZAkQIx3bvcuY+d1FLQUo= +github.com/projectdiscovery/gologger v1.1.21/go.mod h1:eyvlcHiSuzJQtwmh+fcfwZVaqVgSGtEP1oL1gJFgP3c= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= @@ -884,8 +884,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= -github.com/projectdiscovery/utils v0.2.5 h1:puiw3/gK1WTEj9ZKnW00tAS0ex+ETqbLJ8juRuejA98= -github.com/projectdiscovery/utils v0.2.5/go.mod h1:fv3WC6m/+bVT+wH+fMB+JsKviEC/UAuDSeKxWPlK3kk= +github.com/projectdiscovery/utils v0.2.6 h1:7ZZ+tK8u3vO/X7i0HXwybNusFBtYnM363bxDxJkVnso= +github.com/projectdiscovery/utils v0.2.6/go.mod h1:XFy8Ldt537TGkj3snH0zXfF9LigRfmHPGCNfDolSdEQ= github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 4a39fdb8d6553793feb9c7310d9ee348ff927a1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 05:26:22 +0000 Subject: [PATCH 170/283] chore(deps): bump github.com/projectdiscovery/utils from 0.2.5 to 0.2.7 Bumps [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) from 0.2.5 to 0.2.7. - [Release notes](https://github.com/projectdiscovery/utils/releases) - [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/projectdiscovery/utils/compare/v0.2.5...v0.2.7) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/utils dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 05ddf348f1..e7c5efd226 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.6 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 - github.com/projectdiscovery/utils v0.2.6 + github.com/projectdiscovery/utils v0.2.7 github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index a5d836f324..28af644eed 100644 --- a/go.sum +++ b/go.sum @@ -884,8 +884,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= -github.com/projectdiscovery/utils v0.2.6 h1:7ZZ+tK8u3vO/X7i0HXwybNusFBtYnM363bxDxJkVnso= -github.com/projectdiscovery/utils v0.2.6/go.mod h1:XFy8Ldt537TGkj3snH0zXfF9LigRfmHPGCNfDolSdEQ= +github.com/projectdiscovery/utils v0.2.7 h1:XWdz7SscL++jqsnQ9ecHzSZE0RK33tyPcnqcXw+vmKs= +github.com/projectdiscovery/utils v0.2.7/go.mod h1:N0N7tbdNFPegd9NpJ3onCPClaBrERcOIB88yww6UCF8= github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 253fbc36190aec186bdf8c32e1fea34350ad8d8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 05:26:23 +0000 Subject: [PATCH 171/283] chore(deps): bump github.com/projectdiscovery/goflags Bumps [github.com/projectdiscovery/goflags](https://github.com/projectdiscovery/goflags) from 0.1.63 to 0.1.64. - [Release notes](https://github.com/projectdiscovery/goflags/releases) - [Commits](https://github.com/projectdiscovery/goflags/compare/v0.1.63...v0.1.64) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/goflags dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 05ddf348f1..851fc631ee 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( github.com/projectdiscovery/dsl v0.1.8 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb - github.com/projectdiscovery/goflags v0.1.63 + github.com/projectdiscovery/goflags v0.1.64 github.com/projectdiscovery/gologger v1.1.21 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 diff --git a/go.sum b/go.sum index a5d836f324..fe4f540f3d 100644 --- a/go.sum +++ b/go.sum @@ -840,8 +840,8 @@ github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvm github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= -github.com/projectdiscovery/goflags v0.1.63 h1:xy3nqpzmSFEmG0LKTv3xLcp9LMbvbFkLZcjcnFe3xR4= -github.com/projectdiscovery/goflags v0.1.63/go.mod h1:ptFbCm+5RmSHTSG4oniwBRRHJlguBTOOfMUfezeGbZ0= +github.com/projectdiscovery/goflags v0.1.64 h1:FDfwdt9N97Hi8OuhbkDlKtVttpc/CRMIWQVa08VsHsI= +github.com/projectdiscovery/goflags v0.1.64/go.mod h1:3FyHIVQtnycNOc1LE3O1jj/XR5XuMdF9QfHd0ujhnX4= github.com/projectdiscovery/gologger v1.1.21 h1:FD9MGE9adY/y2IxDpQgPZIvZAkQIx3bvcuY+d1FLQUo= github.com/projectdiscovery/gologger v1.1.21/go.mod h1:eyvlcHiSuzJQtwmh+fcfwZVaqVgSGtEP1oL1gJFgP3c= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= From 2670b6865f6590cb4fee720bcaf1a51b90fe256f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 05:53:48 +0000 Subject: [PATCH 172/283] chore(deps): bump github.com/projectdiscovery/tlsx from 1.1.6 to 1.1.7 Bumps [github.com/projectdiscovery/tlsx](https://github.com/projectdiscovery/tlsx) from 1.1.6 to 1.1.7. - [Release notes](https://github.com/projectdiscovery/tlsx/releases) - [Changelog](https://github.com/projectdiscovery/tlsx/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/tlsx/compare/v1.1.6...v1.1.7) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/tlsx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e7c5efd226..4832777901 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/projectdiscovery/ratelimit v0.0.49 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 - github.com/projectdiscovery/tlsx v1.1.6 + github.com/projectdiscovery/tlsx v1.1.7 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 github.com/projectdiscovery/utils v0.2.7 diff --git a/go.sum b/go.sum index 28af644eed..35385e3eb6 100644 --- a/go.sum +++ b/go.sum @@ -878,8 +878,8 @@ github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGL github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= github.com/projectdiscovery/stringsutil v0.0.2/go.mod h1:EJ3w6bC5fBYjVou6ryzodQq37D5c6qbAYQpGmAy+DC0= -github.com/projectdiscovery/tlsx v1.1.6 h1:iw2zwKbd2+kRQ8J1G4dLmS0CLyemd/tKz1UzcNsC77A= -github.com/projectdiscovery/tlsx v1.1.6/go.mod h1:s7SRRFdrwIZBK/RXXZi4CR/CubqFSvp8h5Bk1srEZIo= +github.com/projectdiscovery/tlsx v1.1.7 h1:eSsl/SmTDL/z2CMeSrbssk4f/9oOotMP1SgXl3yynSM= +github.com/projectdiscovery/tlsx v1.1.7/go.mod h1:g66QQ4/y4tLVjoGbzWIv+Q6xwFzxfJbEDx86Y1dYHDM= github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0JprejqLSopN9Y= github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= From 4a85e73fbb717109f98dd3e8f96bc524b8cda26b Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Mon, 26 Aug 2024 19:48:45 +0300 Subject: [PATCH 173/283] skip dependabot prs (#5575) --- .github/auto_assign.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml index 127400e160..0c65e536ca 100644 --- a/.github/auto_assign.yml +++ b/.github/auto_assign.yml @@ -3,6 +3,5 @@ reviewers: - dogancanbakir numberOfReviewers: 1 -# A list of keywords to be skipped the process that add reviewers if pull requests include it -# skipKeywords: -# - wip \ No newline at end of file +skipKeywords: + - '@dependabot' \ No newline at end of file From aac1af1308da2187d1f6bb9aa73c8fe226c4fe6b Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Wed, 28 Aug 2024 14:11:02 +0700 Subject: [PATCH 174/283] refactor(fuzz): use `mapsutil.Map` type (#5558) * refactor(fuzz): use `mapsutil.Map` type Signed-off-by: Dwi Siswanto * fix(headless): handle empty `key` in `*Value.SetParsedValue` Signed-off-by: Dwi Siswanto * feat(fuzz): add type assertion checks Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- pkg/fuzz/component/path.go | 21 ++++++++++++++++++--- pkg/fuzz/component/value.go | 12 +++++++++++- pkg/fuzz/dataformat/kv.go | 2 +- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/pkg/fuzz/component/path.go b/pkg/fuzz/component/path.go index b9aebd61af..a81955167a 100644 --- a/pkg/fuzz/component/path.go +++ b/pkg/fuzz/component/path.go @@ -7,6 +7,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/fuzz/dataformat" "github.com/projectdiscovery/retryablehttp-go" + "github.com/projectdiscovery/utils/maps" urlutil "github.com/projectdiscovery/utils/url" ) @@ -81,7 +82,7 @@ func (q *Path) Delete(key string) error { // Rebuild returns a new request with the // component rebuilt func (q *Path) Rebuild() (*retryablehttp.Request, error) { - originalValues := make(map[string]interface{}) + originalValues := mapsutil.Map[string, any]{} splitted := strings.Split(q.req.URL.Path, "/") for i := range splitted { pathTillNow := strings.Join(splitted[:i+1], "/") @@ -95,8 +96,22 @@ func (q *Path) Rebuild() (*retryablehttp.Request, error) { lengthSplitted := len(q.value.parsed.Map) for i := lengthSplitted; i > 0; i-- { key := strconv.Itoa(i) - original := originalValues[key].(string) - new := q.value.parsed.Map[key].(string) + + original, ok := originalValues.GetOrDefault(key, "").(string) + if !ok { + continue + } + + new, ok := q.value.parsed.Map.GetOrDefault(key, "").(string) + if !ok { + continue + } + + if new == original { + // no need to replace + continue + } + originalPath = strings.Replace(originalPath, original, new, 1) } diff --git a/pkg/fuzz/component/value.go b/pkg/fuzz/component/value.go index ad2044cf1b..030c5194bf 100644 --- a/pkg/fuzz/component/value.go +++ b/pkg/fuzz/component/value.go @@ -73,12 +73,22 @@ func (v *Value) SetParsed(data dataformat.KV, dataFormat string) { // SetParsedValue sets the parsed value for a key // in the parsed map -func (v *Value) SetParsedValue(key string, value string) bool { +func (v *Value) SetParsedValue(key, value string) bool { + if key == "" { + return false + } + origValue := v.parsed.Get(key) if origValue == nil { v.parsed.Set(key, value) return true } + + // TODO(dwisiswant0): I'm sure that this can be simplified because + // `dataformat.KV.*` is a type of `mapsutil.*` where the value is `any`. So, + // it looks like we won't type conversion here or even have its own methods + // inside `dataformat.KV`. + // If the value is a list, append to it // otherwise replace it switch v := origValue.(type) { diff --git a/pkg/fuzz/dataformat/kv.go b/pkg/fuzz/dataformat/kv.go index 72bd0da62e..3036a1c76c 100644 --- a/pkg/fuzz/dataformat/kv.go +++ b/pkg/fuzz/dataformat/kv.go @@ -13,7 +13,7 @@ import ( // if it's not important/significant (ex: json,xml) we use map // this also allows us to iteratively implement ordered map type KV struct { - Map map[string]interface{} + Map mapsutil.Map[string, any] OrderedMap *mapsutil.OrderedMap[string, any] } From bf58b4d756ce8e2ba595024c54e87b4cdc2ad1c3 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Wed, 28 Aug 2024 18:54:15 +0800 Subject: [PATCH 175/283] Remove conflicting `-U` option for `apk` in Dockerfile (#5578) The `--no-cache` option updates the index and avoids temporary files, making `-U` unnecessary, consistent with the subsequent `apk add`. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9dde3d7e27..45f92d4485 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ RUN go build ./cmd/nuclei # Release FROM alpine:3.18.6 -RUN apk -U upgrade --no-cache \ +RUN apk upgrade --no-cache \ && apk add --no-cache bind-tools chromium ca-certificates COPY --from=build-env /app/nuclei /usr/local/bin/ From 6b71af448a995d76d3069aa1326f1c85946c346b Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Wed, 28 Aug 2024 13:57:43 +0300 Subject: [PATCH 176/283] Fixed issue with `-ms` option to scan non accessible host (#5576) * fail if OnResult callback is not called * generate error message from error logs * try..parse.. * fix lint * add error message to last matcher event * fix network protocol error logging * log returned log from ExecuteWithResults * add back specific logging * clean up the msg * minor * init integration test for -ms * add tests for http,network,js,ws protocols * fix lint * fix network test * return err for dns protocol * add integration test for dns protocol --- cmd/integration-test/integration-test.go | 1 + cmd/integration-test/matcher-status.go | 119 +++++++++++++++++++++++ pkg/protocols/dns/request.go | 4 +- pkg/protocols/network/request.go | 4 +- pkg/protocols/network/request_test.go | 2 +- pkg/scan/scan_context.go | 6 +- pkg/tmplexec/exec.go | 57 +++++++++++ 7 files changed, 187 insertions(+), 6 deletions(-) create mode 100644 cmd/integration-test/matcher-status.go diff --git a/cmd/integration-test/integration-test.go b/cmd/integration-test/integration-test.go index 180efcfc6e..84ec6790f8 100644 --- a/cmd/integration-test/integration-test.go +++ b/cmd/integration-test/integration-test.go @@ -55,6 +55,7 @@ var ( "dsl": dslTestcases, "flow": flowTestcases, "javascript": jsTestcases, + "matcher-status": matcherStatusTestcases, } // flakyTests are run with a retry count of 3 flakyTests = map[string]bool{ diff --git a/cmd/integration-test/matcher-status.go b/cmd/integration-test/matcher-status.go new file mode 100644 index 0000000000..b88763720a --- /dev/null +++ b/cmd/integration-test/matcher-status.go @@ -0,0 +1,119 @@ +package main + +import ( + "encoding/json" + "fmt" + + "github.com/projectdiscovery/nuclei/v3/pkg/output" + "github.com/projectdiscovery/nuclei/v3/pkg/testutils" +) + +var matcherStatusTestcases = []TestCaseInfo{ + {Path: "protocols/http/get.yaml", TestCase: &httpNoAccess{}}, + {Path: "protocols/network/net-https.yaml", TestCase: &networkNoAccess{}}, + {Path: "protocols/headless/headless-basic.yaml", TestCase: &headlessNoAccess{}}, + {Path: "protocols/javascript/net-https.yaml", TestCase: &javascriptNoAccess{}}, + {Path: "protocols/websocket/basic.yaml", TestCase: &websocketNoAccess{}}, + {Path: "protocols/dns/a.yaml", TestCase: &dnsNoAccess{}}, +} + +type httpNoAccess struct{} + +func (h *httpNoAccess) Execute(filePath string) error { + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "trust_me_bro.real", debug, "-ms", "-j") + if err != nil { + return err + } + event := &output.ResultEvent{} + _ = json.Unmarshal([]byte(results[0]), event) + + if event.Error != "no address found for host" { + return fmt.Errorf("unexpected result: expecting \"no address found for host\" error but got none") + } + return nil +} + +type networkNoAccess struct{} + +// Execute executes a test case and returns an error if occurred +func (h *networkNoAccess) Execute(filePath string) error { + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "trust_me_bro.real", debug, "-ms", "-j") + if err != nil { + return err + } + event := &output.ResultEvent{} + _ = json.Unmarshal([]byte(results[0]), event) + + if event.Error != "no address found for host" { + return fmt.Errorf("unexpected result: expecting \"no address found for host\" error but got \"%s\"", event.Error) + } + return nil +} + +type headlessNoAccess struct{} + +// Execute executes a test case and returns an error if occurred +func (h *headlessNoAccess) Execute(filePath string) error { + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "trust_me_bro.real", debug, "-headless", "-ms", "-j") + if err != nil { + return err + } + event := &output.ResultEvent{} + _ = json.Unmarshal([]byte(results[0]), event) + + if event.Error == "" { + return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error) + } + return nil +} + +type javascriptNoAccess struct{} + +// Execute executes a test case and returns an error if occurred +func (h *javascriptNoAccess) Execute(filePath string) error { + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "trust_me_bro.real", debug, "-ms", "-j") + if err != nil { + return err + } + event := &output.ResultEvent{} + _ = json.Unmarshal([]byte(results[0]), event) + + if event.Error == "" { + return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error) + } + return nil +} + +type websocketNoAccess struct{} + +// Execute executes a test case and returns an error if occurred +func (h *websocketNoAccess) Execute(filePath string) error { + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "ws://trust_me_bro.real", debug, "-ms", "-j") + if err != nil { + return err + } + event := &output.ResultEvent{} + _ = json.Unmarshal([]byte(results[0]), event) + + if event.Error == "" { + return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error) + } + return nil +} + +type dnsNoAccess struct{} + +// Execute executes a test case and returns an error if occurred +func (h *dnsNoAccess) Execute(filePath string) error { + results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "trust_me_bro.real", debug, "-ms", "-j") + if err != nil { + return err + } + event := &output.ResultEvent{} + _ = json.Unmarshal([]byte(results[0]), event) + + if event.Error == "" { + return fmt.Errorf("unexpected result: expecting an error but got \"%s\"", event.Error) + } + return nil +} diff --git a/pkg/protocols/dns/request.go b/pkg/protocols/dns/request.go index a16c2af88b..9457845270 100644 --- a/pkg/protocols/dns/request.go +++ b/pkg/protocols/dns/request.go @@ -106,7 +106,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, metadata, } func (request *Request) execute(input *contextargs.Context, domain string, metadata, previous output.InternalEvent, vars map[string]interface{}, callback protocols.OutputEventCallback) error { - + var err error if vardump.EnableVarDump { gologger.Debug().Msgf("DNS Protocol request variables: \n%s\n", vardump.DumpVariables(vars)) } @@ -199,7 +199,7 @@ func (request *Request) execute(input *contextargs.Context, domain string, metad } callback(event) - return nil + return err } func (request *Request) parseDNSInput(host string) (string, error) { diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 90390e53c3..5fa8609d51 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -155,14 +155,14 @@ func (request *Request) executeOnTarget(input *contextargs.Context, visited maps } visited.Set(actualAddress, struct{}{}) - if err := request.executeAddress(variables, actualAddress, address, input, kv.tls, previous, callback); err != nil { + if err = request.executeAddress(variables, actualAddress, address, input, kv.tls, previous, callback); err != nil { outputEvent := request.responseToDSLMap("", "", "", address, "") callback(&output.InternalWrappedEvent{InternalEvent: outputEvent}) gologger.Warning().Msgf("[%v] Could not make network request for (%s) : %s\n", request.options.TemplateID, actualAddress, err) continue } } - return nil + return err } // executeAddress executes the request for an address diff --git a/pkg/protocols/network/request_test.go b/pkg/protocols/network/request_test.go index 1945888e9b..7ff0f4882b 100644 --- a/pkg/protocols/network/request_test.go +++ b/pkg/protocols/network/request_test.go @@ -86,7 +86,7 @@ func TestNetworkExecuteWithResults(t *testing.T) { err := request.ExecuteWithResults(ctxArgs, metadata, previous, func(event *output.InternalWrappedEvent) { finalEvent = event }) - require.Nil(t, err, "could not execute network request") + require.NotNil(t, err, "could not execute network request") }) require.Nil(t, finalEvent.Results, "could not get event output from request") diff --git a/pkg/scan/scan_context.go b/pkg/scan/scan_context.go index b8f59ac7d4..45456ddcac 100644 --- a/pkg/scan/scan_context.go +++ b/pkg/scan/scan_context.go @@ -52,6 +52,10 @@ func (s *ScanContext) Context() context.Context { return s.ctx } +func (s *ScanContext) GenerateErrorMessage() string { + return joinErrors(s.errors) +} + // GenerateResult returns final results slice from all events func (s *ScanContext) GenerateResult() []*output.ResultEvent { s.m.Lock() @@ -96,7 +100,7 @@ func (s *ScanContext) LogError(err error) { } s.errors = append(s.errors, err) - errorMessage := joinErrors(s.errors) + errorMessage := s.GenerateErrorMessage() for _, result := range s.results { result.Error = errorMessage diff --git a/pkg/tmplexec/exec.go b/pkg/tmplexec/exec.go index 3d09f5e7a0..4ca9badf70 100644 --- a/pkg/tmplexec/exec.go +++ b/pkg/tmplexec/exec.go @@ -10,6 +10,7 @@ import ( "github.com/dop251/goja" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/nuclei/v3/pkg/js/compiler" + "github.com/projectdiscovery/nuclei/v3/pkg/operators" "github.com/projectdiscovery/nuclei/v3/pkg/operators/common/dsl" "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" @@ -19,6 +20,8 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/flow" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/generic" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/multiproto" + "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" + "github.com/projectdiscovery/utils/errkit" ) // TemplateExecutor is an executor for a template @@ -126,6 +129,8 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { executed := &atomic.Bool{} // matched in this case means something was exported / written to output matched := &atomic.Bool{} + // callbackCalled tracks if the callback was called or not + callbackCalled := &atomic.Bool{} defer func() { // it is essential to remove template context of `Scan i.e template x input pair` // since it is of no use after scan is completed (regardless of success or failure) @@ -143,6 +148,7 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { } ctx.OnResult = func(event *output.InternalWrappedEvent) { + callbackCalled.Store(true) if event == nil { // something went wrong return @@ -198,13 +204,64 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { } else { errx = e.engine.ExecuteWithResults(ctx) } + ctx.LogError(errx) if lastMatcherEvent != nil { + lastMatcherEvent.InternalEvent["error"] = tryParseCause(fmt.Errorf("%s", ctx.GenerateErrorMessage())) writeFailureCallback(lastMatcherEvent, e.options.Options.MatcherStatus) } + + //TODO: this is a hacky way to handle the case where the callback is not called and matcher-status is true. + // This is a workaround and needs to be refactored. + // Check if callback was never called and matcher-status is true + if !callbackCalled.Load() && e.options.Options.MatcherStatus { + fakeEvent := &output.InternalWrappedEvent{ + Results: []*output.ResultEvent{ + { + TemplateID: e.options.TemplateID, + Info: e.options.TemplateInfo, + Type: e.getTemplateType(), + Host: ctx.Input.MetaInput.Input, + Error: tryParseCause(fmt.Errorf("%s", ctx.GenerateErrorMessage())), + }, + }, + OperatorsResult: &operators.Result{ + Matched: false, + }, + } + writeFailureCallback(fakeEvent, e.options.Options.MatcherStatus) + } + return executed.Load() || matched.Load(), errx } +// tryParseCause tries to parse the cause of given error +// this is legacy support due to use of errorutil in existing libraries +// but this should not be required once all libraries are updated +func tryParseCause(err error) string { + errStr := "" + errX := errkit.FromError(err) + if errX != nil { + var errCause error + + if len(errX.Errors()) > 1 { + errCause = errX.Errors()[0] + } + if errCause == nil { + errCause = errX + } + + msg := strings.Trim(errCause.Error(), "{} ") + parts := strings.Split(msg, ":") + errCause = errkit.New("%s", parts[len(parts)-1]) + errKind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic).String() + errStr = errCause.Error() + errStr = strings.TrimSpace(strings.Replace(errStr, "errKind="+errKind, "", -1)) + } + + return errStr +} + // ExecuteWithResults executes the protocol requests and returns results instead of writing them. func (e *TemplateExecuter) ExecuteWithResults(ctx *scan.ScanContext) ([]*output.ResultEvent, error) { var errx error From e0b254286806d4517ea8ce69b6cb25a044b5a1ef Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Wed, 28 Aug 2024 19:27:45 +0700 Subject: [PATCH 177/283] feat: conditionally panic-recover (#5553) * feat: conditionally panic-recover As discussed with @Mzack9999, we should avoid overusing panic-recover. We need to review the RCA first to determine whether this is an exceptional situation or if it's a higher-level function meant to recover from a panic. This approach will help us establish a robust error-handling strategy. The implementation of panic-recover should be conditional and NOT applied when running in a CI environment AND IS temporary. Once we've caught all errors and made the necessary corrections, we can remove the deferred recover function. Signed-off-by: Dwi Siswanto * chore(deps): bump `go-ci` to v1.0.2 Signed-off-by: Dwi Siswanto * chore(make): add `-race` to `GOFLAGS` in `test` Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- Makefile | 1 + go.mod | 1 + go.sum | 4 ++++ pkg/js/compiler/compiler.go | 7 +++++++ pkg/js/compiler/pool.go | 8 ++++++++ pkg/protocols/headless/engine/page_actions.go | 6 ++++++ pkg/tmplexec/flow/flow_executor.go | 7 +++++++ 7 files changed, 34 insertions(+) diff --git a/Makefile b/Makefile index 3fa6a033ef..8614ef82c9 100644 --- a/Makefile +++ b/Makefile @@ -65,6 +65,7 @@ docs: git reset --hard # line 59 +test: GOFLAGS = -race -v test: $(GOTEST) $(GOFLAGS) ./... diff --git a/go.mod b/go.mod index a0cd13984a..858a21bca3 100644 --- a/go.mod +++ b/go.mod @@ -177,6 +177,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kataras/jwt v0.1.10 // indirect + github.com/kitabisa/go-ci v1.0.2 // indirect github.com/klauspost/compress v1.17.8 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kylelemons/godebug v1.1.0 // indirect diff --git a/go.sum b/go.sum index 310bd42ef8..66c91ae901 100644 --- a/go.sum +++ b/go.sum @@ -625,6 +625,10 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kitabisa/go-ci v1.0.1 h1://FHQzlDqYW+3qr0judsOE9X2ZrdRlRc66sCaVrLFGc= +github.com/kitabisa/go-ci v1.0.1/go.mod h1:4MWu+kf/+tvd0vLWSJA689Kn+hrYkZiymmZYT5BGT4g= +github.com/kitabisa/go-ci v1.0.2 h1:rqHf8KEbQOxVb998TbqGRo70Z7ol44io7/jLYJUvKp8= +github.com/kitabisa/go-ci v1.0.2/go.mod h1:e3wBSzaJbcifXrr/Gw2ZBLn44MmeqP5WySwXyHlCK/U= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= diff --git a/pkg/js/compiler/compiler.go b/pkg/js/compiler/compiler.go index c2dc15d2cb..b13e7f9ecb 100644 --- a/pkg/js/compiler/compiler.go +++ b/pkg/js/compiler/compiler.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/dop251/goja" + "github.com/kitabisa/go-ci" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" "github.com/projectdiscovery/nuclei/v3/pkg/types" @@ -120,11 +121,17 @@ func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, defer cancel() // execute the script results, err := contextutil.ExecFuncWithTwoReturns(ctx, func() (val goja.Value, err error) { + // TODO(dwisiswant0): remove this once we get the RCA. defer func() { + if ci.IsCI() { + return + } + if r := recover(); r != nil { err = fmt.Errorf("panic: %v", r) } }() + return ExecuteProgram(program, args, opts) }) if err != nil { diff --git a/pkg/js/compiler/pool.go b/pkg/js/compiler/pool.go index 3407d97369..31e2e5378f 100644 --- a/pkg/js/compiler/pool.go +++ b/pkg/js/compiler/pool.go @@ -11,6 +11,7 @@ import ( "github.com/dop251/goja" "github.com/dop251/goja_nodejs/console" "github.com/dop251/goja_nodejs/require" + "github.com/kitabisa/go-ci" "github.com/projectdiscovery/gologger" _ "github.com/projectdiscovery/nuclei/v3/pkg/js/generated/go/libbytes" _ "github.com/projectdiscovery/nuclei/v3/pkg/js/generated/go/libfs" @@ -84,11 +85,18 @@ func executeWithRuntime(runtime *goja.Runtime, p *goja.Program, args *ExecuteArg opts.Cleanup(runtime) } }() + + // TODO(dwisiswant0): remove this once we get the RCA. defer func() { + if ci.IsCI() { + return + } + if r := recover(); r != nil { err = fmt.Errorf("panic: %s", r) } }() + // set template ctx _ = runtime.Set("template", args.TemplateCtx) // set args diff --git a/pkg/protocols/headless/engine/page_actions.go b/pkg/protocols/headless/engine/page_actions.go index 57cc371093..576b6134fa 100644 --- a/pkg/protocols/headless/engine/page_actions.go +++ b/pkg/protocols/headless/engine/page_actions.go @@ -14,6 +14,7 @@ import ( "github.com/go-rod/rod/lib/input" "github.com/go-rod/rod/lib/proto" "github.com/go-rod/rod/lib/utils" + "github.com/kitabisa/go-ci" "github.com/pkg/errors" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" @@ -54,7 +55,12 @@ func (p *Page) ExecuteActions(input *contextargs.Context, actions []*Action, var waitFuncs := make([]func() error, 0) // avoid any future panics caused due to go-rod library + // TODO(dwisiswant0): remove this once we get the RCA. defer func() { + if ci.IsCI() { + return + } + if r := recover(); r != nil { err = errorutil.New("panic on headless action: %v", r) } diff --git a/pkg/tmplexec/flow/flow_executor.go b/pkg/tmplexec/flow/flow_executor.go index 6a1813efd9..6e71cf8407 100644 --- a/pkg/tmplexec/flow/flow_executor.go +++ b/pkg/tmplexec/flow/flow_executor.go @@ -13,6 +13,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/scan" templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types" + "github.com/kitabisa/go-ci" "github.com/projectdiscovery/nuclei/v3/pkg/types" errorutil "github.com/projectdiscovery/utils/errors" fileutil "github.com/projectdiscovery/utils/file" @@ -201,7 +202,13 @@ func (f *FlowExecutor) ExecuteWithResults(ctx *scan.ScanContext) error { } }() + + // TODO(dwisiswant0): remove this once we get the RCA. defer func() { + if ci.IsCI() { + return + } + if r := recover(); r != nil { f.ctx.LogError(fmt.Errorf("panic occurred while executing flow: %v", r)) } From 88b281ae476bb7f93e84c501d86bb4fa31e0454a Mon Sep 17 00:00:00 2001 From: linchizhen Date: Sun, 1 Sep 2024 16:41:01 +0800 Subject: [PATCH 178/283] chore: fix some function names in comment (#5586) Signed-off-by: linchizhen --- cmd/tmc/main.go | 2 +- pkg/input/formats/openapi/generator.go | 2 +- pkg/input/provider/interface.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/tmc/main.go b/cmd/tmc/main.go index 5cb38afbee..a5971ca193 100644 --- a/cmd/tmc/main.go +++ b/cmd/tmc/main.go @@ -300,7 +300,7 @@ func formatTemplate(data string) (string, bool, error) { return data, false, errorutil.New("template format failed") } -// lintTemplateData lints template data using templateman lint api +// lintTemplate lints template data using templateman lint api func lintTemplate(data string) (bool, error) { resp, err := retryablehttp.DefaultClient().Post(fmt.Sprintf("%s/lint", tmBaseUrl), "application/x-yaml", strings.NewReader(data)) if err != nil { diff --git a/pkg/input/formats/openapi/generator.go b/pkg/input/formats/openapi/generator.go index 4027d76fc7..63fef7e290 100644 --- a/pkg/input/formats/openapi/generator.go +++ b/pkg/input/formats/openapi/generator.go @@ -416,7 +416,7 @@ schemaLabel: return globalParams, nil } -// generateExampleFromSchema generates an example from a schema object +// GenerateParameterFromSecurityScheme generates an example from a schema object func GenerateParameterFromSecurityScheme(scheme *openapi3.SecuritySchemeRef) (*openapi3.Parameter, error) { if !generic.EqualsAny(scheme.Value.Type, "http", "apiKey") { return nil, errorutil.NewWithTag("openapi", "unsupported security scheme type (%s) found in openapi file", scheme.Value.Type) diff --git a/pkg/input/provider/interface.go b/pkg/input/provider/interface.go index b7ad4b4480..e6d5da14a5 100644 --- a/pkg/input/provider/interface.go +++ b/pkg/input/provider/interface.go @@ -121,7 +121,7 @@ func NewInputProvider(opts InputOptions) (InputProvider, error) { } } -// SupportedFormats returns all supported input formats of nuclei +// SupportedInputFormats returns all supported input formats of nuclei func SupportedInputFormats() string { return "list, " + http.SupportedFormats() } From fdb8e0a8c68f0aaa6669848e035400ccae47a0fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 05:11:44 +0000 Subject: [PATCH 179/283] chore(deps): bump github.com/projectdiscovery/fastdialer Bumps [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) from 0.2.5 to 0.2.7. - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.2.5...v0.2.7) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 14 ++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 858a21bca3..7b3b596b96 100644 --- a/go.mod +++ b/go.mod @@ -20,11 +20,11 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.0 - github.com/projectdiscovery/fastdialer v0.2.5 - github.com/projectdiscovery/hmap v0.0.55 + github.com/projectdiscovery/fastdialer v0.2.7 + github.com/projectdiscovery/hmap v0.0.56 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 - github.com/projectdiscovery/retryabledns v1.0.72 + github.com/projectdiscovery/retryabledns v1.0.73 github.com/projectdiscovery/retryablehttp-go v1.0.74 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 @@ -72,6 +72,7 @@ require ( github.com/go-sql-driver/mysql v1.7.1 github.com/h2non/filetype v1.1.3 github.com/invopop/yaml v0.3.1 + github.com/kitabisa/go-ci v1.0.2 github.com/labstack/echo/v4 v4.10.2 github.com/leslie-qiwa/flat v0.0.0-20230424180412-f9d1cf014baa github.com/lib/pq v1.10.9 @@ -177,7 +178,6 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kataras/jwt v0.1.10 // indirect - github.com/kitabisa/go-ci v1.0.2 // indirect github.com/klauspost/compress v1.17.8 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kylelemons/godebug v1.1.0 // indirect diff --git a/go.sum b/go.sum index 66c91ae901..2fedffa27a 100644 --- a/go.sum +++ b/go.sum @@ -625,8 +625,6 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kitabisa/go-ci v1.0.1 h1://FHQzlDqYW+3qr0judsOE9X2ZrdRlRc66sCaVrLFGc= -github.com/kitabisa/go-ci v1.0.1/go.mod h1:4MWu+kf/+tvd0vLWSJA689Kn+hrYkZiymmZYT5BGT4g= github.com/kitabisa/go-ci v1.0.2 h1:rqHf8KEbQOxVb998TbqGRo70Z7ol44io7/jLYJUvKp8= github.com/kitabisa/go-ci v1.0.2/go.mod h1:e3wBSzaJbcifXrr/Gw2ZBLn44MmeqP5WySwXyHlCK/U= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= @@ -836,8 +834,8 @@ github.com/projectdiscovery/clistats v0.1.0 h1:b+LF1w0xhNd7cneKWMXb+/yUmF1n5szaw github.com/projectdiscovery/clistats v0.1.0/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= -github.com/projectdiscovery/fastdialer v0.2.5 h1:OZg31LFIBBHbXVnOEcFNtD0gBM80zpY68QvYI0xbw80= -github.com/projectdiscovery/fastdialer v0.2.5/go.mod h1:E1vmos7AeD/KZ7rsDeImjLp5H3jjas+2utVdUxGulvY= +github.com/projectdiscovery/fastdialer v0.2.7 h1:x7bEf/kDyVOuG9kHfJLMhWO3h7J+6fMDgLWkGYL8EFg= +github.com/projectdiscovery/fastdialer v0.2.7/go.mod h1:7/BGdaw7sCekuBh6lLZqPuoO5N0Qaizwvex/PjO+V8o= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= @@ -852,8 +850,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.55 h1:By0qSeQRE/ybeITUEL6oURN+j7qX7FVjCq92duwsqcA= -github.com/projectdiscovery/hmap v0.0.55/go.mod h1:uZOF/W8yOGDb/t9omqATirhVwiboa5F/c00OVhDeE0E= +github.com/projectdiscovery/hmap v0.0.56 h1:QLIuFhCc7jrBH9WYpxNBDooSoH+/S8cCm7VO5rMt3lU= +github.com/projectdiscovery/hmap v0.0.56/go.mod h1:XyGKMO93nLOzpaTTCDBSKEGx/XWXjSpoyZJxT92Qd/Q= github.com/projectdiscovery/httpx v1.6.7 h1:luJAtQ+iKpiyKKDpcWw1/fF1MaRX6JZ4R3P+ol5Uikk= github.com/projectdiscovery/httpx v1.6.7/go.mod h1:rqcuexBrb4v36ZyX0BHcHaovTurOJn2P65Tdt9cYdfE= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -874,8 +872,8 @@ github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.72 h1:+k9JRYBMpZIyEQZJWVHoCHx1TEdpiuAS7iEru2bhs3A= -github.com/projectdiscovery/retryabledns v1.0.72/go.mod h1:BDhYnqSH0Os2G37eb4L4vnKrUcik6Q6pR02Cq5PbT+0= +github.com/projectdiscovery/retryabledns v1.0.73 h1:CLqtgoI6+YVcUE2jnZPFVvwj59CHDE4HNImLf62sSuw= +github.com/projectdiscovery/retryabledns v1.0.73/go.mod h1:Wo5tQHKtx6XcYYhMypRg8dr0GGnqIb4CzoTSEw2lo7I= github.com/projectdiscovery/retryablehttp-go v1.0.74 h1:jXZsg3nNDuDjGNeL0+hiEx/dqUqPyZW1zsotWW1y70c= github.com/projectdiscovery/retryablehttp-go v1.0.74/go.mod h1:fVRxa2fVMbomaPiOFA05kM2WrjV8wPFHW7J84eenVmQ= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 841d8913e574b75dac3feb7c5e418d9d959a84eb Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 2 Sep 2024 16:59:52 +0700 Subject: [PATCH 180/283] feat(headless): add `ActionWaitDialog` type (#5545) * feat(headless): add `dialog` action type also implement it Signed-off-by: Dwi Siswanto * refactor(headless): add `ActionData` for action output datas Signed-off-by: Dwi Siswanto * refactor(headless): rm `value` arg for `*Page.HandleDialog` also: * expose `err` from \*proto.PageHandleJavaScriptDialog` * conditional ActionData assignment based on Signed-off-by: Dwi Siswanto * refactor(headless): rename to `ActionWaitDialog` Signed-off-by: Dwi Siswanto * test(headless): fix mismatch assertion of `src` output of `ActionGetResource` Signed-off-by: Dwi Siswanto * test(headless): add TestActionWaitDialog test case Signed-off-by: Dwi Siswanto * feat(headless): add `GetActionDataWithDefault` generic func Signed-off-by: Dwi Siswanto * feat(headless): implement `GetActionDataWithDefault` to `header` & `status_code` Signed-off-by: Dwi Siswanto * refactor(headless): use `mapsutil.Map` instead Signed-off-by: Dwi Siswanto * Revert "feat(headless): add `GetActionDataWithDefault` generic func" This reverts commit fa12e0d6a221c8a7bf62200f69814ee27681f08f. --------- Signed-off-by: Dwi Siswanto --- pkg/protocols/headless/engine/action_types.go | 9 ++ pkg/protocols/headless/engine/page.go | 2 +- pkg/protocols/headless/engine/page_actions.go | 87 +++++++++---- .../headless/engine/page_actions_test.go | 118 ++++++++++++++---- pkg/protocols/headless/request.go | 8 +- 5 files changed, 171 insertions(+), 53 deletions(-) diff --git a/pkg/protocols/headless/engine/action_types.go b/pkg/protocols/headless/engine/action_types.go index c9cd39ad2a..d61e377431 100644 --- a/pkg/protocols/headless/engine/action_types.go +++ b/pkg/protocols/headless/engine/action_types.go @@ -6,11 +6,15 @@ import ( "strings" "github.com/invopop/jsonschema" + mapsutil "github.com/projectdiscovery/utils/maps" ) // ActionType defines the action type for a browser action type ActionType int8 +// ActionData stores the action output data +type ActionData = mapsutil.Map[string, any] + // Types to be executed by the user. // name:ActionType const ( @@ -68,6 +72,9 @@ const ( // ActionWaitEvent waits for a specific event. // name:waitevent ActionWaitEvent + // ActionWaitDialog waits for JavaScript dialog (alert, confirm, prompt, or onbeforeunload). + // name:dialog + ActionWaitDialog // ActionKeyboard performs a keyboard action event on a page. // name:keyboard ActionKeyboard @@ -104,6 +111,7 @@ var ActionStringToAction = map[string]ActionType{ "deleteheader": ActionDeleteHeader, "setbody": ActionSetBody, "waitevent": ActionWaitEvent, + "waitdialog": ActionWaitDialog, "keyboard": ActionKeyboard, "debug": ActionDebug, "sleep": ActionSleep, @@ -130,6 +138,7 @@ var ActionToActionString = map[ActionType]string{ ActionDeleteHeader: "deleteheader", ActionSetBody: "setbody", ActionWaitEvent: "waitevent", + ActionWaitDialog: "waitdialog", ActionKeyboard: "keyboard", ActionDebug: "debug", ActionSleep: "sleep", diff --git a/pkg/protocols/headless/engine/page.go b/pkg/protocols/headless/engine/page.go index 7e2bb37bbe..1b417ec402 100644 --- a/pkg/protocols/headless/engine/page.go +++ b/pkg/protocols/headless/engine/page.go @@ -45,7 +45,7 @@ type Options struct { } // Run runs a list of actions by creating a new page in the browser. -func (i *Instance) Run(input *contextargs.Context, actions []*Action, payloads map[string]interface{}, options *Options) (map[string]string, *Page, error) { +func (i *Instance) Run(input *contextargs.Context, actions []*Action, payloads map[string]interface{}, options *Options) (ActionData, *Page, error) { page, err := i.engine.Page(proto.TargetCreateTarget{}) if err != nil { return nil, nil, err diff --git a/pkg/protocols/headless/engine/page_actions.go b/pkg/protocols/headless/engine/page_actions.go index 576b6134fa..b34ed18b94 100644 --- a/pkg/protocols/headless/engine/page_actions.go +++ b/pkg/protocols/headless/engine/page_actions.go @@ -48,8 +48,8 @@ const ( ) // ExecuteActions executes a list of actions on a page. -func (p *Page) ExecuteActions(input *contextargs.Context, actions []*Action, variables map[string]interface{}) (outData map[string]string, err error) { - outData = make(map[string]string) +func (p *Page) ExecuteActions(input *contextargs.Context, actions []*Action, variables map[string]interface{}) (outData ActionData, err error) { + outData = make(ActionData) // waitFuncs are function that needs to be executed after navigation // typically used for waitEvent waitFuncs := make([]func() error, 0) @@ -106,6 +106,8 @@ func (p *Page) ExecuteActions(input *contextargs.Context, actions []*Action, var if waitFunc != nil { waitFuncs = append(waitFuncs, waitFunc) } + case ActionWaitDialog: + err = p.HandleDialog(act, outData) case ActionFilesInput: if p.options.Options.AllowLocalFileAccess { err = p.FilesInput(act, outData) @@ -148,7 +150,7 @@ type rule struct { } // WaitVisible waits until an element appears. -func (p *Page) WaitVisible(act *Action, out map[string]string) error { +func (p *Page) WaitVisible(act *Action, out ActionData) error { timeout, err := getTimeout(p, act) if err != nil { return errors.Wrap(err, "Wrong timeout given") @@ -223,7 +225,7 @@ func geTimeParameter(p *Page, act *Action, parameterName string, defaultValue ti } // ActionAddHeader executes a AddHeader action. -func (p *Page) ActionAddHeader(act *Action, out map[string]string) error { +func (p *Page) ActionAddHeader(act *Action, out ActionData) error { in := p.getActionArgWithDefaultValues(act, "part") args := make(map[string]string) @@ -234,7 +236,7 @@ func (p *Page) ActionAddHeader(act *Action, out map[string]string) error { } // ActionSetHeader executes a SetHeader action. -func (p *Page) ActionSetHeader(act *Action, out map[string]string) error { +func (p *Page) ActionSetHeader(act *Action, out ActionData) error { in := p.getActionArgWithDefaultValues(act, "part") args := make(map[string]string) @@ -245,7 +247,7 @@ func (p *Page) ActionSetHeader(act *Action, out map[string]string) error { } // ActionDeleteHeader executes a DeleteHeader action. -func (p *Page) ActionDeleteHeader(act *Action, out map[string]string) error { +func (p *Page) ActionDeleteHeader(act *Action, out ActionData) error { in := p.getActionArgWithDefaultValues(act, "part") args := make(map[string]string) @@ -255,7 +257,7 @@ func (p *Page) ActionDeleteHeader(act *Action, out map[string]string) error { } // ActionSetBody executes a SetBody action. -func (p *Page) ActionSetBody(act *Action, out map[string]string) error { +func (p *Page) ActionSetBody(act *Action, out ActionData) error { in := p.getActionArgWithDefaultValues(act, "part") args := make(map[string]string) @@ -265,7 +267,7 @@ func (p *Page) ActionSetBody(act *Action, out map[string]string) error { } // ActionSetMethod executes an SetMethod action. -func (p *Page) ActionSetMethod(act *Action, out map[string]string) error { +func (p *Page) ActionSetMethod(act *Action, out ActionData) error { in := p.getActionArgWithDefaultValues(act, "part") args := make(map[string]string) @@ -275,7 +277,7 @@ func (p *Page) ActionSetMethod(act *Action, out map[string]string) error { } // NavigateURL executes an ActionLoadURL actions loading a URL for the page. -func (p *Page) NavigateURL(action *Action, out map[string]string, allvars map[string]interface{}) error { +func (p *Page) NavigateURL(action *Action, out ActionData, allvars map[string]interface{}) error { // input <- is input url from cli // target <- is the url from template (ex: {{BaseURL}}/test) input, err := urlutil.Parse(p.input.MetaInput.Input) @@ -331,7 +333,7 @@ func (p *Page) NavigateURL(action *Action, out map[string]string, allvars map[st } // RunScript runs a script on the loaded page -func (p *Page) RunScript(action *Action, out map[string]string) error { +func (p *Page) RunScript(action *Action, out ActionData) error { code := p.getActionArgWithDefaultValues(action, "code") if code == "" { return errinvalidArguments @@ -352,7 +354,7 @@ func (p *Page) RunScript(action *Action, out map[string]string) error { } // ClickElement executes click actions for an element. -func (p *Page) ClickElement(act *Action, out map[string]string) error { +func (p *Page) ClickElement(act *Action, out ActionData) error { element, err := p.pageElementBy(act.Data) if err != nil { return errors.Wrap(err, errCouldNotGetElement) @@ -367,12 +369,12 @@ func (p *Page) ClickElement(act *Action, out map[string]string) error { } // KeyboardAction executes a keyboard action on the page. -func (p *Page) KeyboardAction(act *Action, out map[string]string) error { +func (p *Page) KeyboardAction(act *Action, out ActionData) error { return p.page.Keyboard.Type([]input.Key(p.getActionArgWithDefaultValues(act, "keys"))...) } // RightClickElement executes right click actions for an element. -func (p *Page) RightClickElement(act *Action, out map[string]string) error { +func (p *Page) RightClickElement(act *Action, out ActionData) error { element, err := p.pageElementBy(act.Data) if err != nil { return errors.Wrap(err, errCouldNotGetElement) @@ -387,7 +389,7 @@ func (p *Page) RightClickElement(act *Action, out map[string]string) error { } // Screenshot executes screenshot action on a page -func (p *Page) Screenshot(act *Action, out map[string]string) error { +func (p *Page) Screenshot(act *Action, out ActionData) error { to := p.getActionArgWithDefaultValues(act, "to") if to == "" { to = ksuid.New().String() @@ -450,7 +452,7 @@ func (p *Page) Screenshot(act *Action, out map[string]string) error { } // InputElement executes input element actions for an element. -func (p *Page) InputElement(act *Action, out map[string]string) error { +func (p *Page) InputElement(act *Action, out ActionData) error { value := p.getActionArgWithDefaultValues(act, "value") if value == "" { return errinvalidArguments @@ -469,7 +471,7 @@ func (p *Page) InputElement(act *Action, out map[string]string) error { } // TimeInputElement executes time input on an element -func (p *Page) TimeInputElement(act *Action, out map[string]string) error { +func (p *Page) TimeInputElement(act *Action, out ActionData) error { value := p.getActionArgWithDefaultValues(act, "value") if value == "" { return errinvalidArguments @@ -492,7 +494,7 @@ func (p *Page) TimeInputElement(act *Action, out map[string]string) error { } // SelectInputElement executes select input statement action on a element -func (p *Page) SelectInputElement(act *Action, out map[string]string) error { +func (p *Page) SelectInputElement(act *Action, out ActionData) error { value := p.getActionArgWithDefaultValues(act, "value") if value == "" { return errinvalidArguments @@ -517,7 +519,7 @@ func (p *Page) SelectInputElement(act *Action, out map[string]string) error { } // WaitLoad waits for the page to load -func (p *Page) WaitLoad(act *Action, out map[string]string) error { +func (p *Page) WaitLoad(act *Action, out ActionData) error { p.page.Timeout(2 * time.Second).WaitNavigation(proto.PageLifecycleEventNameFirstMeaningfulPaint)() // Wait for the window.onload event and also wait for the network requests @@ -531,7 +533,7 @@ func (p *Page) WaitLoad(act *Action, out map[string]string) error { } // GetResource gets a resource from an element from page. -func (p *Page) GetResource(act *Action, out map[string]string) error { +func (p *Page) GetResource(act *Action, out ActionData) error { element, err := p.pageElementBy(act.Data) if err != nil { return errors.Wrap(err, errCouldNotGetElement) @@ -547,7 +549,7 @@ func (p *Page) GetResource(act *Action, out map[string]string) error { } // FilesInput acts with a file input element on page -func (p *Page) FilesInput(act *Action, out map[string]string) error { +func (p *Page) FilesInput(act *Action, out ActionData) error { element, err := p.pageElementBy(act.Data) if err != nil { return errors.Wrap(err, errCouldNotGetElement) @@ -564,7 +566,7 @@ func (p *Page) FilesInput(act *Action, out map[string]string) error { } // ExtractElement extracts from an element on the page. -func (p *Page) ExtractElement(act *Action, out map[string]string) error { +func (p *Page) ExtractElement(act *Action, out ActionData) error { element, err := p.pageElementBy(act.Data) if err != nil { return errors.Wrap(err, errCouldNotGetElement) @@ -598,7 +600,7 @@ func (p *Page) ExtractElement(act *Action, out map[string]string) error { } // WaitEvent waits for an event to happen on the page. -func (p *Page) WaitEvent(act *Action, out map[string]string) (func() error, error) { +func (p *Page) WaitEvent(act *Action, out ActionData) (func() error, error) { event := p.getActionArgWithDefaultValues(act, "event") if event == "" { return nil, errors.New("event not recognized") @@ -636,6 +638,43 @@ func (p *Page) WaitEvent(act *Action, out map[string]string) (func() error, erro return waitFunc, nil } +// HandleDialog handles JavaScript dialog (alert, confirm, prompt, or onbeforeunload). +func (p *Page) HandleDialog(act *Action, out ActionData) error { + maxDuration := 10 * time.Second + + if dur := p.getActionArgWithDefaultValues(act, "max-duration"); dur != "" { + var err error + + maxDuration, err = time.ParseDuration(dur) + if err != nil { + return errorutil.NewWithErr(err).Msgf("could not parse max-duration") + } + } + + ctx, cancel := context.WithTimeout(context.Background(), maxDuration) + defer cancel() + + wait, handle := p.page.HandleDialog() + fn := func() (*proto.PageJavascriptDialogOpening, error) { + dialog := wait() + err := handle(&proto.PageHandleJavaScriptDialog{ + Accept: true, + PromptText: "", + }) + + return dialog, err + } + + dialog, err := contextutil.ExecFuncWithTwoReturns(ctx, fn) + if err == nil && act.Name != "" { + out[act.Name] = true + out[act.Name+"_type"] = string(dialog.Type) + out[act.Name+"_message"] = dialog.Message + } + + return nil +} + // pageElementBy returns a page element from a variety of inputs. // // Supported values for by: r -> selector & regex, x -> xpath, js -> eval js, @@ -670,14 +709,14 @@ func (p *Page) pageElementBy(data map[string]string) (*rod.Element, error) { } // DebugAction enables debug action on a page. -func (p *Page) DebugAction(act *Action, out map[string]string) error { +func (p *Page) DebugAction(act *Action, out ActionData) error { p.instance.browser.engine.SlowMotion(5 * time.Second) p.instance.browser.engine.Trace(true) return nil } // SleepAction sleeps on the page for a specified duration -func (p *Page) SleepAction(act *Action, out map[string]string) error { +func (p *Page) SleepAction(act *Action, out ActionData) error { seconds := act.Data["duration"] if seconds == "" { seconds = "5" diff --git a/pkg/protocols/headless/engine/page_actions_test.go b/pkg/protocols/headless/engine/page_actions_test.go index e6699d6408..3620bb2bb4 100644 --- a/pkg/protocols/headless/engine/page_actions_test.go +++ b/pkg/protocols/headless/engine/page_actions_test.go @@ -38,7 +38,7 @@ func TestActionNavigate(t *testing.T) { actions := []*Action{{ActionType: ActionTypeHolder{ActionType: ActionNavigate}, Data: map[string]string{"url": "{{BaseURL}}"}}, {ActionType: ActionTypeHolder{ActionType: ActionWaitLoad}}} - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nilf(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") }) @@ -63,7 +63,7 @@ func TestActionScript(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionScript}, Name: "test", Data: map[string]string{"code": "() => window.test"}}, } - testHeadlessSimpleResponse(t, response, actions, timeout, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, timeout, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") require.Equal(t, "some-data", out["test"], "could not run js and get results correctly") @@ -77,7 +77,7 @@ func TestActionScript(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionWaitLoad}}, {ActionType: ActionTypeHolder{ActionType: ActionScript}, Name: "test", Data: map[string]string{"code": "() => window.test"}}, } - testHeadlessSimpleResponse(t, response, actions, timeout, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, timeout, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") require.Equal(t, "some-data", out["test"], "could not run js and get results correctly with js hook") @@ -101,7 +101,7 @@ func TestActionClick(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionClick}, Data: map[string]string{"selector": "button"}}, // Use css selector for clicking } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") el := page.Page().MustElement("button") @@ -134,7 +134,7 @@ func TestActionRightClick(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionRightClick}, Data: map[string]string{"selector": "button"}}, // Use css selector for clicking } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") el := page.Page().MustElement("button") @@ -159,7 +159,7 @@ func TestActionTextInput(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionTextInput}, Data: map[string]string{"selector": "input", "value": "test"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") el := page.Page().MustElement("input") @@ -182,7 +182,7 @@ func TestActionHeadersChange(t *testing.T) { } } - testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out map[string]string) { + testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "found", strings.ToLower(strings.TrimSpace(page.Page().MustElement("html").MustText())), "could not set header correctly") }) @@ -205,7 +205,7 @@ func TestActionScreenshot(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionScreenshot}, Data: map[string]string{"to": filePath}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") _ = page.Page() @@ -233,7 +233,7 @@ func TestActionScreenshotToDir(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionScreenshot}, Data: map[string]string{"to": filePath, "mkdir": "true"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") _ = page.Page() @@ -260,7 +260,7 @@ func TestActionTimeInput(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionTimeInput}, Data: map[string]string{"selector": "input", "value": "2006-01-02T15:04:05Z"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") el := page.Page().MustElement("input") @@ -288,7 +288,7 @@ func TestActionSelectInput(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionSelectInput}, Data: map[string]string{"by": "x", "xpath": "//select[@id='test']", "value": "Test2", "selected": "true"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") el := page.Page().MustElement("select") require.Equal(t, "Test2", el.MustText(), "could not get input change value") @@ -311,7 +311,7 @@ func TestActionFilesInput(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionFilesInput}, Data: map[string]string{"selector": "input", "value": "test1.pdf"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Nuclei Test Page", page.Page().MustInfo().Title, "could not navigate correctly") el := page.Page().MustElement("input") @@ -337,7 +337,7 @@ func TestActionFilesInputNegative(t *testing.T) { } t.Setenv("LOCAL_FILE_ACCESS", "false") - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.ErrorContains(t, err, ErrLFAccessDenied.Error(), "got file access when -lfa is false") }) } @@ -359,7 +359,7 @@ func TestActionWaitLoad(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionWaitLoad}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") el := page.Page().MustElement("button") style, attributeErr := el.Attribute("style") @@ -384,9 +384,12 @@ func TestActionGetResource(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionGetResource}, Data: map[string]string{"by": "x", "xpath": "//img[@id='test']"}, Name: "src"}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") - require.Equal(t, len(out["src"]), 121808, "could not find resource") + + src, ok := out["src"].(string) + require.True(t, ok, "could not assert src to string") + require.Equal(t, len(src), 121808, "could not find resource") }) } @@ -404,7 +407,7 @@ func TestActionExtract(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionExtract}, Data: map[string]string{"by": "x", "xpath": "//button[@id='test']"}, Name: "extract"}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "Wait for me!", out["extract"], "could not extract text") }) @@ -423,7 +426,7 @@ func TestActionSetMethod(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionSetMethod}, Data: map[string]string{"part": "x", "method": "SET"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "SET", page.rules[0].Args["method"], "could not find resource") }) @@ -442,7 +445,7 @@ func TestActionAddHeader(t *testing.T) { } } - testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out map[string]string) { + testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "found", strings.ToLower(strings.TrimSpace(page.Page().MustElement("html").MustText())), "could not set header correctly") }) @@ -463,7 +466,7 @@ func TestActionDeleteHeader(t *testing.T) { } } - testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out map[string]string) { + testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "header deleted", strings.ToLower(strings.TrimSpace(page.Page().MustElement("html").MustText())), "could not delete header correctly") }) @@ -481,7 +484,7 @@ func TestActionSetBody(t *testing.T) { _, _ = fmt.Fprintln(w, string(body)) } - testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out map[string]string) { + testHeadless(t, actions, 20*time.Second, handler, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.Equal(t, "hello", strings.ToLower(strings.TrimSpace(page.Page().MustElement("html").MustText())), "could not set header correctly") }) @@ -505,7 +508,7 @@ func TestActionKeyboard(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionKeyboard}, Data: map[string]string{"keys": "Test2"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") el := page.Page().MustElement("input") require.Equal(t, "Test2", el.MustText(), "could not get input change value") @@ -529,7 +532,7 @@ func TestActionSleep(t *testing.T) { {ActionType: ActionTypeHolder{ActionType: ActionSleep}, Data: map[string]string{"duration": "2"}}, } - testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 20*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") require.True(t, page.Page().MustElement("button").MustVisible(), "could not get button") }) @@ -553,7 +556,7 @@ func TestActionWaitVisible(t *testing.T) { } t.Run("wait for an element being visible", func(t *testing.T) { - testHeadlessSimpleResponse(t, response, actions, 2*time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, 2*time.Second, func(page *Page, err error, out ActionData) { require.Nil(t, err, "could not run page actions") page.Page().MustElement("button").MustVisible() @@ -562,21 +565,82 @@ func TestActionWaitVisible(t *testing.T) { t.Run("timeout because of element not visible", func(t *testing.T) { // increased timeout from time.Second/2 to time.Second due to random fails (probably due to overhead and system) - testHeadlessSimpleResponse(t, response, actions, time.Second, func(page *Page, err error, out map[string]string) { + testHeadlessSimpleResponse(t, response, actions, time.Second, func(page *Page, err error, out ActionData) { require.Error(t, err) require.Contains(t, err.Error(), "Element did not appear in the given amount of time") }) }) } -func testHeadlessSimpleResponse(t *testing.T, response string, actions []*Action, timeout time.Duration, assert func(page *Page, pageErr error, out map[string]string)) { +func TestActionWaitDialog(t *testing.T) { + response := ` + + Nuclei Test Page + + + + + ` + + t.Run("Triggered", func(t *testing.T) { + actions := []*Action{ + { + ActionType: ActionTypeHolder{ActionType: ActionNavigate}, + Data: map[string]string{"url": "{{BaseURL}}/?script=alert%281%29"}, + }, + { + ActionType: ActionTypeHolder{ActionType: ActionWaitDialog}, + Name: "test", + }, + } + + testHeadlessSimpleResponse(t, response, actions, 1*time.Second, func(page *Page, err error, out ActionData) { + require.Nil(t, err, "could not run page actions") + + test, ok := out["test"].(bool) + require.True(t, ok, "could not assert test to bool") + require.True(t, test, "could not find test") + }) + }) + + t.Run("Invalid", func(t *testing.T) { + actions := []*Action{ + { + ActionType: ActionTypeHolder{ActionType: ActionNavigate}, + Data: map[string]string{"url": "{{BaseURL}}/?script=foo"}, + }, + { + ActionType: ActionTypeHolder{ActionType: ActionWaitDialog}, + Name: "test", + }, + } + + testHeadlessSimpleResponse(t, response, actions, 1*time.Second, func(page *Page, err error, out ActionData) { + require.Nil(t, err, "could not run page actions") + + _, ok := out["test"].(bool) + require.False(t, ok, "output assertion is success") + }) + }) +} + +func testHeadlessSimpleResponse(t *testing.T, response string, actions []*Action, timeout time.Duration, assert func(page *Page, pageErr error, out ActionData)) { t.Helper() testHeadless(t, actions, timeout, func(w http.ResponseWriter, r *http.Request) { _, _ = fmt.Fprintln(w, response) }, assert) } -func testHeadless(t *testing.T, actions []*Action, timeout time.Duration, handler func(w http.ResponseWriter, r *http.Request), assert func(page *Page, pageErr error, extractedData map[string]string)) { +func testHeadless(t *testing.T, actions []*Action, timeout time.Duration, handler func(w http.ResponseWriter, r *http.Request), assert func(page *Page, pageErr error, extractedData ActionData)) { t.Helper() lfa := getBoolFromEnv("LOCAL_FILE_ACCESS", true) diff --git a/pkg/protocols/headless/request.go b/pkg/protocols/headless/request.go index c6fd28a5de..5f9b53174e 100644 --- a/pkg/protocols/headless/request.go +++ b/pkg/protocols/headless/request.go @@ -183,7 +183,13 @@ func (request *Request) executeRequestWithPayloads(input *contextargs.Context, p responseBody, _ = html.HTML() } - outputEvent := request.responseToDSLMap(responseBody, out["header"], out["status_code"], reqBuilder.String(), input.MetaInput.Input, navigatedURL, page.DumpHistory()) + header := out.GetOrDefault("header", "").(string) + + // NOTE(dwisiswant0): `status_code` key should be an integer type. + // Ref: https://github.com/projectdiscovery/nuclei/pull/5545#discussion_r1721291013 + statusCode := out.GetOrDefault("status_code", "").(string) + + outputEvent := request.responseToDSLMap(responseBody, header, statusCode, reqBuilder.String(), input.MetaInput.Input, navigatedURL, page.DumpHistory()) // add response fields to template context and merge templatectx variables to output event request.options.AddTemplateVars(input.MetaInput, request.Type(), request.ID, outputEvent) if request.options.HasTemplateCtx(input.MetaInput) { From cb05f55251691eaff8e8d821cfa4cfc0e85cbb40 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 2 Sep 2024 10:01:02 +0000 Subject: [PATCH 181/283] Auto Generate Syntax Docs + JSONSchema [Mon Sep 2 10:01:02 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 2 ++ nuclei-jsonschema.json | 1 + pkg/templates/templates_doc.go | 1 + 3 files changed, 4 insertions(+) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index 28bb5bdf24..c757321494 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -3682,6 +3682,8 @@ Enum Values: - waitevent + - dialog + - keyboard - debug diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index cd8f8fa0b0..993a744502 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -256,6 +256,7 @@ "deleteheader", "setbody", "waitevent", + "waitdialog", "keyboard", "debug", "sleep", diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index 5171e2a88f..b484dad565 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -1612,6 +1612,7 @@ func init() { "deleteheader", "setbody", "waitevent", + "dialog", "keyboard", "debug", "sleep", From 0c4c0af4e9a6612d8dae300b08b58efdaf25f8a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:36:39 +0530 Subject: [PATCH 182/283] chore(deps): bump github.com/projectdiscovery/dsl from 0.1.8 to 0.2.1 (#5587) Bumps [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) from 0.1.8 to 0.2.1. - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](https://github.com/projectdiscovery/dsl/compare/v0.1.8...v0.2.1) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/dsl dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7b3b596b96..075c1f0f76 100644 --- a/go.mod +++ b/go.mod @@ -81,7 +81,7 @@ require ( github.com/microsoft/go-mssqldb v1.6.0 github.com/ory/dockertest/v3 v3.10.0 github.com/praetorian-inc/fingerprintx v1.1.9 - github.com/projectdiscovery/dsl v0.1.8 + github.com/projectdiscovery/dsl v0.2.1 github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.64 diff --git a/go.sum b/go.sum index 2fedffa27a..fed643d2ab 100644 --- a/go.sum +++ b/go.sum @@ -832,8 +832,8 @@ github.com/projectdiscovery/cdncheck v1.1.0 h1:qDITidmJsejzpk3rMkauCh6sjI2GH9hW/ github.com/projectdiscovery/cdncheck v1.1.0/go.mod h1:sZ8U4MjHSsyaTVjBbYWHT1cwUVvUYwDX1W+WvWRicIc= github.com/projectdiscovery/clistats v0.1.0 h1:b+LF1w0xhNd7cneKWMXb+/yUmF1n5szawxP4XGpmbxs= github.com/projectdiscovery/clistats v0.1.0/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= -github.com/projectdiscovery/dsl v0.1.8 h1:ulz+o097XsYgqP4QXaAQhVSkoeD2ZPWd29wX3CTodUA= -github.com/projectdiscovery/dsl v0.1.8/go.mod h1:AYJS2WQ/q0smr2v4pEJTg4DPe6k56KFKR7UFXvzNz/4= +github.com/projectdiscovery/dsl v0.2.1 h1:TK3KD4jsg4YbvY7WJqnz1QyH4AOvAwezeBFOX97Evgk= +github.com/projectdiscovery/dsl v0.2.1/go.mod h1:IRQXsmi5/g1dDZ79//A9t2vrRtxm4frRSd5t8CZVSbI= github.com/projectdiscovery/fastdialer v0.2.7 h1:x7bEf/kDyVOuG9kHfJLMhWO3h7J+6fMDgLWkGYL8EFg= github.com/projectdiscovery/fastdialer v0.2.7/go.mod h1:7/BGdaw7sCekuBh6lLZqPuoO5N0Qaizwvex/PjO+V8o= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= From 04a61597130de20e730c928f68b086dfd67fbd0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:46:16 +0530 Subject: [PATCH 183/283] chore(deps): bump github.com/projectdiscovery/retryablehttp-go (#5591) Bumps [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) from 1.0.74 to 1.0.76. - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.0.74...v1.0.76) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 075c1f0f76..4a382aa7a4 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.60 github.com/projectdiscovery/retryabledns v1.0.73 - github.com/projectdiscovery/retryablehttp-go v1.0.74 + github.com/projectdiscovery/retryablehttp-go v1.0.76 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 diff --git a/go.sum b/go.sum index fed643d2ab..69164e9995 100644 --- a/go.sum +++ b/go.sum @@ -874,8 +874,8 @@ github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gB github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.73 h1:CLqtgoI6+YVcUE2jnZPFVvwj59CHDE4HNImLf62sSuw= github.com/projectdiscovery/retryabledns v1.0.73/go.mod h1:Wo5tQHKtx6XcYYhMypRg8dr0GGnqIb4CzoTSEw2lo7I= -github.com/projectdiscovery/retryablehttp-go v1.0.74 h1:jXZsg3nNDuDjGNeL0+hiEx/dqUqPyZW1zsotWW1y70c= -github.com/projectdiscovery/retryablehttp-go v1.0.74/go.mod h1:fVRxa2fVMbomaPiOFA05kM2WrjV8wPFHW7J84eenVmQ= +github.com/projectdiscovery/retryablehttp-go v1.0.76 h1:2+4QpWnXUZFBkoeCEBXtUjSeBTdgKtaGwP8LRtKAC3g= +github.com/projectdiscovery/retryablehttp-go v1.0.76/go.mod h1:0qIv7Ld8WWSKWYXMsNAWRYU5gsxnxpBza3SjDgt6nVc= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= From 7bc257d7a57932816f0319de402f8ed8d71aa04a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:47:35 +0530 Subject: [PATCH 184/283] chore(deps): bump github.com/projectdiscovery/ratelimit (#5588) Bumps [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) from 0.0.49 to 0.0.53. - [Release notes](https://github.com/projectdiscovery/ratelimit/releases) - [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.49...v0.0.53) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/ratelimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4a382aa7a4..f3b56a408c 100644 --- a/go.mod +++ b/go.mod @@ -91,7 +91,7 @@ require ( github.com/projectdiscovery/httpx v1.6.7 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.49 + github.com/projectdiscovery/ratelimit v0.0.53 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.7 diff --git a/go.sum b/go.sum index 69164e9995..d50806fa64 100644 --- a/go.sum +++ b/go.sum @@ -866,8 +866,8 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+nek7TdtvEBwCxqk= github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= -github.com/projectdiscovery/ratelimit v0.0.49 h1:PYatMp8g5OuoFsZOA90e48nLd2vB6a4Tw0FZ8h9zqkQ= -github.com/projectdiscovery/ratelimit v0.0.49/go.mod h1:Xi0LTMHg4HQlmCZFzRBIhRW6N+QW5RxQ8V/Qs+Vta4k= +github.com/projectdiscovery/ratelimit v0.0.53 h1:1ci2zaVCtJ9daDi9IXjNwpDxl2InYq375role/xqUR4= +github.com/projectdiscovery/ratelimit v0.0.53/go.mod h1:4kNYTL7xKLo1qMYHTREUCBqHyvykFF+XBWutTh9fkwg= github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco2RVfwqh/II= github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= From 5bb730849ce124aca3a2e7177ce80d94217c493b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:55:34 +0530 Subject: [PATCH 185/283] chore(deps): bump github.com/projectdiscovery/httpx from 1.6.7 to 1.6.8 (#5590) Bumps [github.com/projectdiscovery/httpx](https://github.com/projectdiscovery/httpx) from 1.6.7 to 1.6.8. - [Release notes](https://github.com/projectdiscovery/httpx/releases) - [Changelog](https://github.com/projectdiscovery/httpx/blob/main/.goreleaser.yml) - [Commits](https://github.com/projectdiscovery/httpx/compare/v1.6.7...v1.6.8) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/httpx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index f3b56a408c..1a478943b8 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/projectdiscovery/fastdialer v0.2.7 github.com/projectdiscovery/hmap v0.0.56 github.com/projectdiscovery/interactsh v1.2.0 - github.com/projectdiscovery/rawhttp v0.1.60 + github.com/projectdiscovery/rawhttp v0.1.61 github.com/projectdiscovery/retryabledns v1.0.73 github.com/projectdiscovery/retryablehttp-go v1.0.76 github.com/projectdiscovery/yamldoc-go v1.0.4 @@ -88,7 +88,7 @@ require ( github.com/projectdiscovery/gologger v1.1.21 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 - github.com/projectdiscovery/httpx v1.6.7 + github.com/projectdiscovery/httpx v1.6.8 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 github.com/projectdiscovery/ratelimit v0.0.53 diff --git a/go.sum b/go.sum index d50806fa64..031530e8a4 100644 --- a/go.sum +++ b/go.sum @@ -852,8 +852,8 @@ github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3c github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= github.com/projectdiscovery/hmap v0.0.56 h1:QLIuFhCc7jrBH9WYpxNBDooSoH+/S8cCm7VO5rMt3lU= github.com/projectdiscovery/hmap v0.0.56/go.mod h1:XyGKMO93nLOzpaTTCDBSKEGx/XWXjSpoyZJxT92Qd/Q= -github.com/projectdiscovery/httpx v1.6.7 h1:luJAtQ+iKpiyKKDpcWw1/fF1MaRX6JZ4R3P+ol5Uikk= -github.com/projectdiscovery/httpx v1.6.7/go.mod h1:rqcuexBrb4v36ZyX0BHcHaovTurOJn2P65Tdt9cYdfE= +github.com/projectdiscovery/httpx v1.6.8 h1:k0Y5g3ue/7QbDP0+LykIxp/VhPDLfau3UEUyuxtP7qE= +github.com/projectdiscovery/httpx v1.6.8/go.mod h1:7BIsDxyRwkBjthqFmEajXrA5f3yb4tlVfLmpNdf0ZXA= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= github.com/projectdiscovery/interactsh v1.2.0/go.mod h1:Wxt0fnzxsfrAZQQlpVrf3xMatP4OXZaZbjuDkIQKdYY= github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8= @@ -868,8 +868,8 @@ github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+ github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= github.com/projectdiscovery/ratelimit v0.0.53 h1:1ci2zaVCtJ9daDi9IXjNwpDxl2InYq375role/xqUR4= github.com/projectdiscovery/ratelimit v0.0.53/go.mod h1:4kNYTL7xKLo1qMYHTREUCBqHyvykFF+XBWutTh9fkwg= -github.com/projectdiscovery/rawhttp v0.1.60 h1:L57kAATGRuCfOp8Fs0ly3j2wlip7R5pco2RVfwqh/II= -github.com/projectdiscovery/rawhttp v0.1.60/go.mod h1:M97w6lsphTHKeqLSio4Lw9K4KLO2riJMYAOqVMIZ3ck= +github.com/projectdiscovery/rawhttp v0.1.61 h1:EbskCj6kkDSG31sO5zEUFTqHp9ltccG1DdcI+MCdahQ= +github.com/projectdiscovery/rawhttp v0.1.61/go.mod h1:5XmDAKph9pLVnh87zjL+vXDpfG5W8Gz5N2BAtYTkuVU= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= github.com/projectdiscovery/retryabledns v1.0.73 h1:CLqtgoI6+YVcUE2jnZPFVvwj59CHDE4HNImLf62sSuw= From 042b33de3dec66ab92c392e7450cc25c0b76859b Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:38:48 +0530 Subject: [PATCH 186/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index cd0e5673c7..ff54ce9bc0 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.3.1` + Version = `v3.3.2` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From f30d0b3b8dc817a0416fb83bb3529a246132aeb0 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 6 Sep 2024 23:49:55 +0530 Subject: [PATCH 187/283] fix: mysql connection with special characters in password (#5604) --- pkg/js/libs/mysql/mysql_private.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/js/libs/mysql/mysql_private.go b/pkg/js/libs/mysql/mysql_private.go index aa89df2600..42e76a5579 100644 --- a/pkg/js/libs/mysql/mysql_private.go +++ b/pkg/js/libs/mysql/mysql_private.go @@ -53,7 +53,7 @@ func BuildDSN(opts MySQLOptions) (string, error) { } target := net.JoinHostPort(opts.Host, fmt.Sprintf("%d", opts.Port)) var dsn strings.Builder - dsn.WriteString(fmt.Sprintf("%v:%v", url.QueryEscape(opts.Username), url.QueryEscape(opts.Password))) + dsn.WriteString(fmt.Sprintf("%v:%v", url.QueryEscape(opts.Username), opts.Password)) dsn.WriteString("@") dsn.WriteString(fmt.Sprintf("%v(%v)", opts.Protocol, target)) if opts.DbName != "" { From 2b5a8f5b63cded0019a1c54764f215dc422e45df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 23:51:56 +0530 Subject: [PATCH 188/283] chore(deps): bump github.com/opencontainers/runc from 1.1.12 to 1.1.14 (#5596) Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.1.12 to 1.1.14. - [Release notes](https://github.com/opencontainers/runc/releases) - [Changelog](https://github.com/opencontainers/runc/blob/main/CHANGELOG.md) - [Commits](https://github.com/opencontainers/runc/compare/v1.1.12...v1.1.14) --- updated-dependencies: - dependency-name: github.com/opencontainers/runc dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1a478943b8..ec9faea29d 100644 --- a/go.mod +++ b/go.mod @@ -195,7 +195,7 @@ require ( github.com/muesli/termenv v0.15.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect - github.com/opencontainers/runc v1.1.12 // indirect + github.com/opencontainers/runc v1.1.14 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/perimeterx/marshmallow v1.1.5 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect diff --git a/go.sum b/go.sum index 031530e8a4..3fca3d09db 100644 --- a/go.sum +++ b/go.sum @@ -781,8 +781,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss= -github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8= +github.com/opencontainers/runc v1.1.14 h1:rgSuzbmgz5DUJjeSnw337TxDbRuqjs6iqQck/2weR6w= +github.com/opencontainers/runc v1.1.14/go.mod h1:E4C2z+7BxR7GHXp0hAY53mek+x49X1LjPNeMTfRGvOA= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= From cc332979aabb803d325540053cc27f8b0ab19b60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 05:21:46 +0000 Subject: [PATCH 189/283] chore(deps): bump github.com/projectdiscovery/clistats Bumps [github.com/projectdiscovery/clistats](https://github.com/projectdiscovery/clistats) from 0.1.0 to 0.1.1. - [Release notes](https://github.com/projectdiscovery/clistats/releases) - [Commits](https://github.com/projectdiscovery/clistats/compare/v0.1.0...v0.1.1) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/clistats dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index ec9faea29d..a1dc198bb2 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/miekg/dns v1.1.59 github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 - github.com/projectdiscovery/clistats v0.1.0 + github.com/projectdiscovery/clistats v0.1.1 github.com/projectdiscovery/fastdialer v0.2.7 github.com/projectdiscovery/hmap v0.0.56 github.com/projectdiscovery/interactsh v1.2.0 @@ -203,7 +203,7 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/projectdiscovery/asnmap v1.1.1 // indirect github.com/projectdiscovery/cdncheck v1.1.0 // indirect - github.com/projectdiscovery/freeport v0.0.5 // indirect + github.com/projectdiscovery/freeport v0.0.6 // indirect github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb // indirect github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect github.com/refraction-networking/utls v1.6.7 // indirect diff --git a/go.sum b/go.sum index 3fca3d09db..aa6318788d 100644 --- a/go.sum +++ b/go.sum @@ -830,16 +830,16 @@ github.com/projectdiscovery/blackrock v0.0.1 h1:lHQqhaaEFjgf5WkuItbpeCZv2DUIE45k github.com/projectdiscovery/blackrock v0.0.1/go.mod h1:ANUtjDfaVrqB453bzToU+YB4cUbvBRpLvEwoWIwlTss= github.com/projectdiscovery/cdncheck v1.1.0 h1:qDITidmJsejzpk3rMkauCh6sjI2GH9hW/snk0cQ3kXE= github.com/projectdiscovery/cdncheck v1.1.0/go.mod h1:sZ8U4MjHSsyaTVjBbYWHT1cwUVvUYwDX1W+WvWRicIc= -github.com/projectdiscovery/clistats v0.1.0 h1:b+LF1w0xhNd7cneKWMXb+/yUmF1n5szawxP4XGpmbxs= -github.com/projectdiscovery/clistats v0.1.0/go.mod h1:GJ2av0KnOvK0AISQnP8hyDclYIji1LVkx2l0pwnzAu4= +github.com/projectdiscovery/clistats v0.1.1 h1:8mwbdbwTU4aT88TJvwIzTpiNeow3XnAB72JIg66c8wE= +github.com/projectdiscovery/clistats v0.1.1/go.mod h1:4LtTC9Oy//RiuT1+76MfTg8Hqs7FQp1JIGBM3nHK6a0= github.com/projectdiscovery/dsl v0.2.1 h1:TK3KD4jsg4YbvY7WJqnz1QyH4AOvAwezeBFOX97Evgk= github.com/projectdiscovery/dsl v0.2.1/go.mod h1:IRQXsmi5/g1dDZ79//A9t2vrRtxm4frRSd5t8CZVSbI= github.com/projectdiscovery/fastdialer v0.2.7 h1:x7bEf/kDyVOuG9kHfJLMhWO3h7J+6fMDgLWkGYL8EFg= github.com/projectdiscovery/fastdialer v0.2.7/go.mod h1:7/BGdaw7sCekuBh6lLZqPuoO5N0Qaizwvex/PjO+V8o= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= -github.com/projectdiscovery/freeport v0.0.5 h1:jnd3Oqsl4S8n0KuFkE5Hm8WGDP24ITBvmyw5pFTHS8Q= -github.com/projectdiscovery/freeport v0.0.5/go.mod h1:PY0bxSJ34HVy67LHIeF3uIutiCSDwOqKD8ruBkdiCwE= +github.com/projectdiscovery/freeport v0.0.6 h1:ROqzuXN8JPqkGdBueb3ah691nS2g2p7r3/3x2E33GbI= +github.com/projectdiscovery/freeport v0.0.6/go.mod h1:T2kIy+WrbyxBIhI8V3Y9aeNGnuhnM8tEUSK/cm9GjAg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG906Drtbpz4DwU5mhGIeOhRcktDH4cGQitGUMAsg= github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.64 h1:FDfwdt9N97Hi8OuhbkDlKtVttpc/CRMIWQVa08VsHsI= From 6b0ba0f4f3f5f67eb81746fabdbb26f6449f62fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 05:21:53 +0000 Subject: [PATCH 190/283] chore(deps): bump github.com/projectdiscovery/rawhttp Bumps [github.com/projectdiscovery/rawhttp](https://github.com/projectdiscovery/rawhttp) from 0.1.61 to 0.1.65. - [Release notes](https://github.com/projectdiscovery/rawhttp/releases) - [Commits](https://github.com/projectdiscovery/rawhttp/compare/v0.1.61...v0.1.65) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/rawhttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index ec9faea29d..da9ce168a9 100644 --- a/go.mod +++ b/go.mod @@ -21,10 +21,10 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.0 github.com/projectdiscovery/fastdialer v0.2.7 - github.com/projectdiscovery/hmap v0.0.56 + github.com/projectdiscovery/hmap v0.0.57 github.com/projectdiscovery/interactsh v1.2.0 - github.com/projectdiscovery/rawhttp v0.1.61 - github.com/projectdiscovery/retryabledns v1.0.73 + github.com/projectdiscovery/rawhttp v0.1.65 + github.com/projectdiscovery/retryabledns v1.0.74 github.com/projectdiscovery/retryablehttp-go v1.0.76 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 @@ -97,7 +97,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.7 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 - github.com/projectdiscovery/utils v0.2.7 + github.com/projectdiscovery/utils v0.2.8 github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 3fca3d09db..28404585a6 100644 --- a/go.sum +++ b/go.sum @@ -850,8 +850,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.56 h1:QLIuFhCc7jrBH9WYpxNBDooSoH+/S8cCm7VO5rMt3lU= -github.com/projectdiscovery/hmap v0.0.56/go.mod h1:XyGKMO93nLOzpaTTCDBSKEGx/XWXjSpoyZJxT92Qd/Q= +github.com/projectdiscovery/hmap v0.0.57 h1:n45T9Me/fL0fqdVZ+Pi/eVizBguNRCleThqxgzNPLrA= +github.com/projectdiscovery/hmap v0.0.57/go.mod h1:aa7egkpPIBukf5tis936KSddiXfEvWUKYLzrtV3CH8M= github.com/projectdiscovery/httpx v1.6.8 h1:k0Y5g3ue/7QbDP0+LykIxp/VhPDLfau3UEUyuxtP7qE= github.com/projectdiscovery/httpx v1.6.8/go.mod h1:7BIsDxyRwkBjthqFmEajXrA5f3yb4tlVfLmpNdf0ZXA= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -868,12 +868,12 @@ github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+ github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= github.com/projectdiscovery/ratelimit v0.0.53 h1:1ci2zaVCtJ9daDi9IXjNwpDxl2InYq375role/xqUR4= github.com/projectdiscovery/ratelimit v0.0.53/go.mod h1:4kNYTL7xKLo1qMYHTREUCBqHyvykFF+XBWutTh9fkwg= -github.com/projectdiscovery/rawhttp v0.1.61 h1:EbskCj6kkDSG31sO5zEUFTqHp9ltccG1DdcI+MCdahQ= -github.com/projectdiscovery/rawhttp v0.1.61/go.mod h1:5XmDAKph9pLVnh87zjL+vXDpfG5W8Gz5N2BAtYTkuVU= +github.com/projectdiscovery/rawhttp v0.1.65 h1:/SGp+UbFBSDquEHgWGA8VRH3kYiM9uMFQjfLfXBKOfY= +github.com/projectdiscovery/rawhttp v0.1.65/go.mod h1:X7kvZ1uTzdSHc5bb68qmmpit6DGuqc1wXQLfFNfRJq0= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.73 h1:CLqtgoI6+YVcUE2jnZPFVvwj59CHDE4HNImLf62sSuw= -github.com/projectdiscovery/retryabledns v1.0.73/go.mod h1:Wo5tQHKtx6XcYYhMypRg8dr0GGnqIb4CzoTSEw2lo7I= +github.com/projectdiscovery/retryabledns v1.0.74 h1:4NtSjnVdPWT1NuabOMf5vjUoky3X1DwJN6iFanrtQnk= +github.com/projectdiscovery/retryabledns v1.0.74/go.mod h1:GRBpKmWIds0UVeDpqSek2Q8RITuuIZWD5wHL4cN5geg= github.com/projectdiscovery/retryablehttp-go v1.0.76 h1:2+4QpWnXUZFBkoeCEBXtUjSeBTdgKtaGwP8LRtKAC3g= github.com/projectdiscovery/retryablehttp-go v1.0.76/go.mod h1:0qIv7Ld8WWSKWYXMsNAWRYU5gsxnxpBza3SjDgt6nVc= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= @@ -886,8 +886,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= -github.com/projectdiscovery/utils v0.2.7 h1:XWdz7SscL++jqsnQ9ecHzSZE0RK33tyPcnqcXw+vmKs= -github.com/projectdiscovery/utils v0.2.7/go.mod h1:N0N7tbdNFPegd9NpJ3onCPClaBrERcOIB88yww6UCF8= +github.com/projectdiscovery/utils v0.2.8 h1:++NcCJ+lXEfNBHKBs6q+cWa8JrVS8cYdGcW9jOgZebI= +github.com/projectdiscovery/utils v0.2.8/go.mod h1:UYJ8GKbZaezPFRT/cOk01LreQZ1QK0fko1EUnSUiSGU= github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 7f4cdf61965d2d49d58fd46ec327e1a7a8d2c23b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 05:21:57 +0000 Subject: [PATCH 191/283] chore(deps): bump github.com/projectdiscovery/gologger Bumps [github.com/projectdiscovery/gologger](https://github.com/projectdiscovery/gologger) from 1.1.21 to 1.1.23. - [Release notes](https://github.com/projectdiscovery/gologger/releases) - [Commits](https://github.com/projectdiscovery/gologger/compare/v1.1.21...v1.1.23) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/gologger dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index ec9faea29d..25f912424a 100644 --- a/go.mod +++ b/go.mod @@ -85,7 +85,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.64 - github.com/projectdiscovery/gologger v1.1.21 + github.com/projectdiscovery/gologger v1.1.23 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.8 @@ -97,7 +97,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.7 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 - github.com/projectdiscovery/utils v0.2.7 + github.com/projectdiscovery/utils v0.2.8 github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index 3fca3d09db..b8d4343fd6 100644 --- a/go.sum +++ b/go.sum @@ -844,8 +844,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.64 h1:FDfwdt9N97Hi8OuhbkDlKtVttpc/CRMIWQVa08VsHsI= github.com/projectdiscovery/goflags v0.1.64/go.mod h1:3FyHIVQtnycNOc1LE3O1jj/XR5XuMdF9QfHd0ujhnX4= -github.com/projectdiscovery/gologger v1.1.21 h1:FD9MGE9adY/y2IxDpQgPZIvZAkQIx3bvcuY+d1FLQUo= -github.com/projectdiscovery/gologger v1.1.21/go.mod h1:eyvlcHiSuzJQtwmh+fcfwZVaqVgSGtEP1oL1gJFgP3c= +github.com/projectdiscovery/gologger v1.1.23 h1:u9ksRgkWuUoaOqkk0Z1FngWriXH0Bnt73yYwFGmZo8E= +github.com/projectdiscovery/gologger v1.1.23/go.mod h1:zcFt3u4U0kmhXou7cTXWwwu+yqVPX3GSABD1hqU0Ur8= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= @@ -886,8 +886,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= -github.com/projectdiscovery/utils v0.2.7 h1:XWdz7SscL++jqsnQ9ecHzSZE0RK33tyPcnqcXw+vmKs= -github.com/projectdiscovery/utils v0.2.7/go.mod h1:N0N7tbdNFPegd9NpJ3onCPClaBrERcOIB88yww6UCF8= +github.com/projectdiscovery/utils v0.2.8 h1:++NcCJ+lXEfNBHKBs6q+cWa8JrVS8cYdGcW9jOgZebI= +github.com/projectdiscovery/utils v0.2.8/go.mod h1:UYJ8GKbZaezPFRT/cOk01LreQZ1QK0fko1EUnSUiSGU= github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From fcdead9157a23cee596e9dc90c4488e222c05e47 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 9 Sep 2024 20:54:49 +0700 Subject: [PATCH 192/283] chore: bump `go-ci` to `v1.0.3` (#5611) Signed-off-by: Dwi Siswanto --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 16cc0543d3..e24efbbe45 100644 --- a/go.mod +++ b/go.mod @@ -72,7 +72,7 @@ require ( github.com/go-sql-driver/mysql v1.7.1 github.com/h2non/filetype v1.1.3 github.com/invopop/yaml v0.3.1 - github.com/kitabisa/go-ci v1.0.2 + github.com/kitabisa/go-ci v1.0.3 github.com/labstack/echo/v4 v4.10.2 github.com/leslie-qiwa/flat v0.0.0-20230424180412-f9d1cf014baa github.com/lib/pq v1.10.9 diff --git a/go.sum b/go.sum index 3ef1939612..77b6bdfd3b 100644 --- a/go.sum +++ b/go.sum @@ -627,6 +627,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kitabisa/go-ci v1.0.2 h1:rqHf8KEbQOxVb998TbqGRo70Z7ol44io7/jLYJUvKp8= github.com/kitabisa/go-ci v1.0.2/go.mod h1:e3wBSzaJbcifXrr/Gw2ZBLn44MmeqP5WySwXyHlCK/U= +github.com/kitabisa/go-ci v1.0.3 h1:JmIUIvcercRQc/9x/v02ydCCqU4MadSHaNaOF8T2pGA= +github.com/kitabisa/go-ci v1.0.3/go.mod h1:e3wBSzaJbcifXrr/Gw2ZBLn44MmeqP5WySwXyHlCK/U= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= From 59e69b561da5ed518e39abb220975a69a5b90654 Mon Sep 17 00:00:00 2001 From: Ice3man Date: Thu, 12 Sep 2024 15:34:50 +0530 Subject: [PATCH 193/283] feat: added linear issue tracker support to nuclei (#5601) * feat: added linear issue tracker support to nuclei * misc * feat: fixed unmarshal issues * added linear config --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com> --- cmd/nuclei/issue-tracker-config.yaml | 21 +- go.mod | 1 + go.sum | 2 + pkg/reporting/options.go | 3 + pkg/reporting/reporting.go | 11 + .../trackers/linear/jsonutil/jsonutil.go | 312 ++++++++++++++ pkg/reporting/trackers/linear/linear.go | 404 ++++++++++++++++++ 7 files changed, 753 insertions(+), 1 deletion(-) create mode 100644 pkg/reporting/trackers/linear/jsonutil/jsonutil.go create mode 100644 pkg/reporting/trackers/linear/linear.go diff --git a/cmd/nuclei/issue-tracker-config.yaml b/cmd/nuclei/issue-tracker-config.yaml index 51778eb0ad..b7e0e6dafc 100644 --- a/cmd/nuclei/issue-tracker-config.yaml +++ b/cmd/nuclei/issue-tracker-config.yaml @@ -142,4 +142,23 @@ # # Username for the elasticsearch instance # username: test # # Password is the password for elasticsearch instance -# password: test \ No newline at end of file +# password: test +#linear: +# # api-key is the API key for the linear account +# api-key: "" +# # allow-list sets a tracker level filter to only create issues for templates with +# # these severity labels or tags (does not affect exporters. set those globally) +# deny-list: +# severity: critical +# # deny-list sets a tracker level filter to never create issues for templates with +# # these severity labels or tags (does not affect exporters. set those globally) +# deny-list: +# severity: low +# # team-id is the ID of the team in Linear +# team-id: "" +# # project-id is the ID of the project in Linear +# project-id: "" +# # duplicate-issue-check flag to enable duplicate tracking issue check +# duplicate-issue-check: false +# # open-state-id is the ID of the open state in Linear +# open-state-id: "" diff --git a/go.mod b/go.mod index e24efbbe45..7b5e247bf7 100644 --- a/go.mod +++ b/go.mod @@ -101,6 +101,7 @@ require ( github.com/projectdiscovery/wappalyzergo v0.1.14 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 + github.com/shurcooL/graphql v0.0.0-20230722043721-ed46e5a46466 github.com/stretchr/testify v1.9.0 github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 diff --git a/go.sum b/go.sum index 77b6bdfd3b..70ee685efe 100644 --- a/go.sum +++ b/go.sum @@ -966,6 +966,8 @@ github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFt github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shurcooL/graphql v0.0.0-20230722043721-ed46e5a46466 h1:17JxqqJY66GmZVHkmAsGEkcIu0oCe3AM420QDgGwZx0= +github.com/shurcooL/graphql v0.0.0-20230722043721-ed46e5a46466/go.mod h1:9dIRpgIY7hVhoqfe0/FcYp0bpInZaT7dc3BYOprrIUE= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= diff --git a/pkg/reporting/options.go b/pkg/reporting/options.go index 06a749d658..c5090de014 100644 --- a/pkg/reporting/options.go +++ b/pkg/reporting/options.go @@ -12,6 +12,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/github" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/gitlab" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/jira" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/linear" "github.com/projectdiscovery/retryablehttp-go" ) @@ -29,6 +30,8 @@ type Options struct { Gitea *gitea.Options `yaml:"gitea"` // Jira contains configuration options for Jira Issue Tracker Jira *jira.Options `yaml:"jira"` + // Linear contains configuration options for Linear Issue Tracker + Linear *linear.Options `yaml:"linear"` // MarkdownExporter contains configuration options for Markdown Exporter Module MarkdownExporter *markdown.Options `yaml:"markdown"` // SarifExporter contains configuration options for Sarif Exporter Module diff --git a/pkg/reporting/reporting.go b/pkg/reporting/reporting.go index 889f92f3f7..c6a7d63e10 100644 --- a/pkg/reporting/reporting.go +++ b/pkg/reporting/reporting.go @@ -28,6 +28,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/github" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/gitlab" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/jira" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/linear" errorutil "github.com/projectdiscovery/utils/errors" fileutil "github.com/projectdiscovery/utils/file" ) @@ -112,6 +113,15 @@ func New(options *Options, db string, doNotDedupe bool) (Client, error) { } client.trackers = append(client.trackers, tracker) } + if options.Linear != nil { + options.Linear.HttpClient = options.HttpClient + options.Linear.OmitRaw = options.OmitRaw + tracker, err := linear.New(options.Linear) + if err != nil { + return nil, errorutil.NewWithErr(err).Wrap(ErrReportingClientCreation) + } + client.trackers = append(client.trackers, tracker) + } if options.MarkdownExporter != nil { exporter, err := markdown.New(options.MarkdownExporter) if err != nil { @@ -195,6 +205,7 @@ func CreateConfigIfNotExists() error { GitLab: &gitlab.Options{}, Gitea: &gitea.Options{}, Jira: &jira.Options{}, + Linear: &linear.Options{}, MarkdownExporter: &markdown.Options{}, SarifExporter: &sarif.Options{}, ElasticsearchExporter: &es.Options{}, diff --git a/pkg/reporting/trackers/linear/jsonutil/jsonutil.go b/pkg/reporting/trackers/linear/jsonutil/jsonutil.go new file mode 100644 index 0000000000..cf66b7aa1e --- /dev/null +++ b/pkg/reporting/trackers/linear/jsonutil/jsonutil.go @@ -0,0 +1,312 @@ +// Package jsonutil provides a function for decoding JSON +// into a GraphQL query data structure. +// +// Taken from: https://github.com/shurcooL/graphql/blob/ed46e5a4646634fc16cb07c3b8db389542cc8847/internal/jsonutil/graphql.go +package jsonutil + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "io" + "reflect" + "strings" +) + +// UnmarshalGraphQL parses the JSON-encoded GraphQL response data and stores +// the result in the GraphQL query data structure pointed to by v. +// +// The implementation is created on top of the JSON tokenizer available +// in "encoding/json".Decoder. +func UnmarshalGraphQL(data []byte, v any) error { + dec := json.NewDecoder(bytes.NewReader(data)) + dec.UseNumber() + err := (&decoder{tokenizer: dec}).Decode(v) + if err != nil { + return err + } + tok, err := dec.Token() + switch err { + case io.EOF: + // Expect to get io.EOF. There shouldn't be any more + // tokens left after we've decoded v successfully. + return nil + case nil: + return fmt.Errorf("invalid token '%v' after top-level value", tok) + default: + return err + } +} + +// decoder is a JSON decoder that performs custom unmarshaling behavior +// for GraphQL query data structures. It's implemented on top of a JSON tokenizer. +type decoder struct { + tokenizer interface { + Token() (json.Token, error) + } + + // Stack of what part of input JSON we're in the middle of - objects, arrays. + parseState []json.Delim + + // Stacks of values where to unmarshal. + // The top of each stack is the reflect.Value where to unmarshal next JSON value. + // + // The reason there's more than one stack is because we might be unmarshaling + // a single JSON value into multiple GraphQL fragments or embedded structs, so + // we keep track of them all. + vs [][]reflect.Value +} + +// Decode decodes a single JSON value from d.tokenizer into v. +func (d *decoder) Decode(v any) error { + rv := reflect.ValueOf(v) + if rv.Kind() != reflect.Ptr { + return fmt.Errorf("cannot decode into non-pointer %T", v) + } + d.vs = [][]reflect.Value{{rv.Elem()}} + return d.decode() +} + +// decode decodes a single JSON value from d.tokenizer into d.vs. +func (d *decoder) decode() error { + // The loop invariant is that the top of each d.vs stack + // is where we try to unmarshal the next JSON value we see. + for len(d.vs) > 0 { + tok, err := d.tokenizer.Token() + if err == io.EOF { + return errors.New("unexpected end of JSON input") + } else if err != nil { + return err + } + + switch { + + // Are we inside an object and seeing next key (rather than end of object)? + case d.state() == '{' && tok != json.Delim('}'): + key, ok := tok.(string) + if !ok { + return errors.New("unexpected non-key in JSON input") + } + someFieldExist := false + for i := range d.vs { + v := d.vs[i][len(d.vs[i])-1] + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + var f reflect.Value + if v.Kind() == reflect.Struct { + f = fieldByGraphQLName(v, key) + if f.IsValid() { + someFieldExist = true + } + } + d.vs[i] = append(d.vs[i], f) + } + if !someFieldExist { + return fmt.Errorf("struct field for %q doesn't exist in any of %v places to unmarshal", key, len(d.vs)) + } + + // We've just consumed the current token, which was the key. + // Read the next token, which should be the value, and let the rest of code process it. + tok, err = d.tokenizer.Token() + if err == io.EOF { + return errors.New("unexpected end of JSON input") + } else if err != nil { + return err + } + + // Are we inside an array and seeing next value (rather than end of array)? + case d.state() == '[' && tok != json.Delim(']'): + someSliceExist := false + for i := range d.vs { + v := d.vs[i][len(d.vs[i])-1] + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + var f reflect.Value + if v.Kind() == reflect.Slice { + v.Set(reflect.Append(v, reflect.Zero(v.Type().Elem()))) // v = append(v, T). + f = v.Index(v.Len() - 1) + someSliceExist = true + } + d.vs[i] = append(d.vs[i], f) + } + if !someSliceExist { + return fmt.Errorf("slice doesn't exist in any of %v places to unmarshal", len(d.vs)) + } + } + + switch tok := tok.(type) { + case string, json.Number, bool, nil: + // Value. + + for i := range d.vs { + v := d.vs[i][len(d.vs[i])-1] + if !v.IsValid() { + continue + } + err := unmarshalValue(tok, v) + if err != nil { + return err + } + } + d.popAllVs() + + case json.Delim: + switch tok { + case '{': + // Start of object. + + d.pushState(tok) + + frontier := make([]reflect.Value, len(d.vs)) // Places to look for GraphQL fragments/embedded structs. + for i := range d.vs { + v := d.vs[i][len(d.vs[i])-1] + frontier[i] = v + // TODO: Do this recursively or not? Add a test case if needed. + if v.Kind() == reflect.Ptr && v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) // v = new(T). + } + } + // Find GraphQL fragments/embedded structs recursively, adding to frontier + // as new ones are discovered and exploring them further. + for len(frontier) > 0 { + v := frontier[0] + frontier = frontier[1:] + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if v.Kind() != reflect.Struct { + continue + } + for i := 0; i < v.NumField(); i++ { + if isGraphQLFragment(v.Type().Field(i)) || v.Type().Field(i).Anonymous { + // Add GraphQL fragment or embedded struct. + d.vs = append(d.vs, []reflect.Value{v.Field(i)}) + frontier = append(frontier, v.Field(i)) + } + } + } + case '[': + // Start of array. + + d.pushState(tok) + + for i := range d.vs { + v := d.vs[i][len(d.vs[i])-1] + // TODO: Confirm this is needed, write a test case. + //if v.Kind() == reflect.Ptr && v.IsNil() { + // v.Set(reflect.New(v.Type().Elem())) // v = new(T). + //} + + // Reset slice to empty (in case it had non-zero initial value). + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if v.Kind() != reflect.Slice { + continue + } + v.Set(reflect.MakeSlice(v.Type(), 0, 0)) // v = make(T, 0, 0). + } + case '}', ']': + // End of object or array. + d.popAllVs() + d.popState() + default: + return errors.New("unexpected delimiter in JSON input") + } + default: + return errors.New("unexpected token in JSON input") + } + } + return nil +} + +// pushState pushes a new parse state s onto the stack. +func (d *decoder) pushState(s json.Delim) { + d.parseState = append(d.parseState, s) +} + +// popState pops a parse state (already obtained) off the stack. +// The stack must be non-empty. +func (d *decoder) popState() { + d.parseState = d.parseState[:len(d.parseState)-1] +} + +// state reports the parse state on top of stack, or 0 if empty. +func (d *decoder) state() json.Delim { + if len(d.parseState) == 0 { + return 0 + } + return d.parseState[len(d.parseState)-1] +} + +// popAllVs pops from all d.vs stacks, keeping only non-empty ones. +func (d *decoder) popAllVs() { + var nonEmpty [][]reflect.Value + for i := range d.vs { + d.vs[i] = d.vs[i][:len(d.vs[i])-1] + if len(d.vs[i]) > 0 { + nonEmpty = append(nonEmpty, d.vs[i]) + } + } + d.vs = nonEmpty +} + +// fieldByGraphQLName returns an exported struct field of struct v +// that matches GraphQL name, or invalid reflect.Value if none found. +func fieldByGraphQLName(v reflect.Value, name string) reflect.Value { + for i := 0; i < v.NumField(); i++ { + if v.Type().Field(i).PkgPath != "" { + // Skip unexported field. + continue + } + if hasGraphQLName(v.Type().Field(i), name) { + return v.Field(i) + } + } + return reflect.Value{} +} + +// hasGraphQLName reports whether struct field f has GraphQL name. +func hasGraphQLName(f reflect.StructField, name string) bool { + value, ok := f.Tag.Lookup("graphql") + if !ok { + // TODO: caseconv package is relatively slow. Optimize it, then consider using it here. + //return caseconv.MixedCapsToLowerCamelCase(f.Name) == name + return strings.EqualFold(f.Name, name) + } + value = strings.TrimSpace(value) // TODO: Parse better. + if strings.HasPrefix(value, "...") { + // GraphQL fragment. It doesn't have a name. + return false + } + // Cut off anything that follows the field name, + // such as field arguments, aliases, directives. + if i := strings.IndexAny(value, "(:@"); i != -1 { + value = value[:i] + } + return strings.TrimSpace(value) == name +} + +// isGraphQLFragment reports whether struct field f is a GraphQL fragment. +func isGraphQLFragment(f reflect.StructField) bool { + value, ok := f.Tag.Lookup("graphql") + if !ok { + return false + } + value = strings.TrimSpace(value) // TODO: Parse better. + return strings.HasPrefix(value, "...") +} + +// unmarshalValue unmarshals JSON value into v. +// v must be addressable and not obtained by the use of unexported +// struct fields, otherwise unmarshalValue will panic. +func unmarshalValue(value json.Token, v reflect.Value) error { + b, err := json.Marshal(value) // TODO: Short-circuit (if profiling says it's worth it). + if err != nil { + return err + } + return json.Unmarshal(b, v.Addr().Interface()) +} diff --git a/pkg/reporting/trackers/linear/linear.go b/pkg/reporting/trackers/linear/linear.go new file mode 100644 index 0000000000..1ad9552f26 --- /dev/null +++ b/pkg/reporting/trackers/linear/linear.go @@ -0,0 +1,404 @@ +package linear + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + + "github.com/shurcooL/graphql" + + "github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity" + "github.com/projectdiscovery/nuclei/v3/pkg/output" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/markdown/util" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/format" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/filters" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/linear/jsonutil" + "github.com/projectdiscovery/nuclei/v3/pkg/types" + "github.com/projectdiscovery/retryablehttp-go" +) + +// Integration is a client for linear issue tracker integration +type Integration struct { + url string + httpclient *http.Client + options *Options +} + +// Options contains the configuration options for linear issue tracker client +type Options struct { + // APIKey is the API key for linear account. + APIKey string `yaml:"api-key" validate:"required"` + + // AllowList contains a list of allowed events for this tracker + AllowList *filters.Filter `yaml:"allow-list"` + // DenyList contains a list of denied events for this tracker + DenyList *filters.Filter `yaml:"deny-list"` + + // TeamID is the team id for the project + TeamID string `yaml:"team-id"` + // ProjectID is the project id for the project + ProjectID string `yaml:"project-id"` + // DuplicateIssueCheck is a bool to enable duplicate tracking issue check and update the newest + DuplicateIssueCheck bool `yaml:"duplicate-issue-check" default:"false"` + + // OpenStateID is the id of the open state for the project + OpenStateID string `yaml:"open-state-id"` + + HttpClient *retryablehttp.Client `yaml:"-"` + OmitRaw bool `yaml:"-"` +} + +// New creates a new issue tracker integration client based on options. +func New(options *Options) (*Integration, error) { + httpClient := &http.Client{ + Transport: &addHeaderTransport{ + T: http.DefaultTransport, + Key: options.APIKey, + }, + } + + integration := &Integration{ + url: "https://api.linear.app/graphql", + options: options, + httpclient: httpClient, + } + + return integration, nil +} + +// CreateIssue creates an issue in the tracker +func (i *Integration) CreateIssue(event *output.ResultEvent) (*filters.CreateIssueResponse, error) { + summary := format.Summary(event) + description := format.CreateReportDescription(event, util.MarkdownFormatter{}, i.options.OmitRaw) + _ = description + + ctx := context.Background() + + var err error + var existingIssue *linearIssue + if i.options.DuplicateIssueCheck { + existingIssue, err = i.findIssueByTitle(ctx, summary) + if err != nil && !errors.Is(err, io.EOF) { + return nil, err + } + } + + if existingIssue == nil { + // Create a new issue + createdIssue, err := i.createIssueLinear(ctx, summary, description, priorityFromSeverity(event.Info.SeverityHolder.Severity)) + if err != nil { + return nil, err + } + return &filters.CreateIssueResponse{ + IssueID: types.ToString(createdIssue.ID), + IssueURL: types.ToString(createdIssue.URL), + }, nil + } else { + if existingIssue.State.Name == "Done" { + // Update the issue state to open + var issueUpdateInput struct { + StateID string `json:"stateId"` + } + issueUpdateInput.StateID = i.options.OpenStateID + variables := map[string]interface{}{ + "issueUpdateInput": issueUpdateInput, + "issueID": types.ToString(existingIssue.ID), + } + var resp struct { + LastSyncID string `json:"lastSyncId"` + } + err := i.doGraphqlRequest(ctx, existingIssueUpdateStateMutation, &resp, variables, "IssueUpdate") + if err != nil { + return nil, fmt.Errorf("error reopening issue %s: %s", existingIssue.ID, err) + } + } + + commentInput := map[string]interface{}{ + "issueId": types.ToString(existingIssue.ID), + "body": description, + } + variables := map[string]interface{}{ + "commentCreateInput": commentInput, + } + var resp struct { + LastSyncID string `json:"lastSyncId"` + } + err := i.doGraphqlRequest(ctx, commentCreateExistingTicketMutation, &resp, variables, "CommentCreate") + if err != nil { + return nil, fmt.Errorf("error commenting on issue %s: %s", existingIssue.ID, err) + } + return &filters.CreateIssueResponse{ + IssueID: types.ToString(existingIssue.ID), + IssueURL: types.ToString(existingIssue.URL), + }, nil + } +} + +func priorityFromSeverity(sev severity.Severity) float64 { + switch sev { + case severity.Critical: + return linearPriorityCritical + case severity.High: + return linearPriorityHigh + case severity.Medium: + return linearPriorityMedium + case severity.Low: + return linearPriorityLow + default: + return linearPriorityNone + } +} + +type createIssueMutation struct { + IssueCreate struct { + Issue struct { + ID graphql.ID + Title graphql.String + Identifier graphql.String + State struct { + Name graphql.String + } + URL graphql.String + } + } +} + +const ( + createIssueGraphQLMutation = `mutation CreateIssue($input: IssueCreateInput!) { + issueCreate(input: $input) { + issue { + id + title + identifier + state { + name + } + url + } + } +}` + + searchExistingTicketQuery = `query ($teamID: ID, $projectID: ID, $title: String!) { + issues(filter: { + title: { eq: $title }, + team: { id: { eq: $teamID } } + project: { id: { eq: $projectID } } + }) { + nodes { + id + title + identifier + state { + name + } + url + } + } +} +` + + existingIssueUpdateStateMutation = `mutation IssueUpdate($issueUpdateInput: IssueUpdateInput!, $issueID: String!) { + issueUpdate(input: $issueUpdateInput, id: $issueID) { + lastSyncId + } +} +` + + commentCreateExistingTicketMutation = `mutation CommentCreate($commentCreateInput: CommentCreateInput!) { + commentCreate(input: $commentCreateInput) { + lastSyncId + } +} +` +) + +func (i *Integration) createIssueLinear(ctx context.Context, title, description string, priority float64) (*linearIssue, error) { + var mutation createIssueMutation + input := map[string]interface{}{ + "title": title, + "description": description, + "priority": priority, + } + if i.options.TeamID != "" { + input["teamId"] = graphql.ID(i.options.TeamID) + } + if i.options.ProjectID != "" { + input["projectId"] = i.options.ProjectID + } + + variables := map[string]interface{}{ + "input": input, + } + + err := i.doGraphqlRequest(ctx, createIssueGraphQLMutation, &mutation, variables, "CreateIssue") + if err != nil { + return nil, err + } + + return &linearIssue{ + ID: mutation.IssueCreate.Issue.ID, + Title: mutation.IssueCreate.Issue.Title, + Identifier: mutation.IssueCreate.Issue.Identifier, + State: struct { + Name graphql.String + }{ + Name: mutation.IssueCreate.Issue.State.Name, + }, + URL: mutation.IssueCreate.Issue.URL, + }, nil +} + +func (i *Integration) findIssueByTitle(ctx context.Context, title string) (*linearIssue, error) { + var query findExistingIssuesSearch + variables := map[string]interface{}{ + "title": graphql.String(title), + } + if i.options.TeamID != "" { + variables["teamId"] = graphql.ID(i.options.TeamID) + } + if i.options.ProjectID != "" { + variables["projectID"] = graphql.ID(i.options.ProjectID) + } + + err := i.doGraphqlRequest(ctx, searchExistingTicketQuery, &query, variables, "") + if err != nil { + return nil, err + } + + if len(query.Issues.Nodes) > 0 { + return &query.Issues.Nodes[0], nil + } + return nil, io.EOF +} + +func (i *Integration) Name() string { + return "linear" +} + +func (i *Integration) CloseIssue(event *output.ResultEvent) error { + // TODO: Unimplemented for now as not used in many places + // and overhead of maintaining our own API for this. + // This is too much code as it is :( + return nil +} + +// ShouldFilter determines if an issue should be logged to this tracker +func (i *Integration) ShouldFilter(event *output.ResultEvent) bool { + if i.options.AllowList != nil && !i.options.AllowList.GetMatch(event) { + return false + } + + if i.options.DenyList != nil && i.options.DenyList.GetMatch(event) { + return false + } + + return true +} + +type linearIssue struct { + ID graphql.ID + Title graphql.String + Identifier graphql.String + State struct { + Name graphql.String + } + URL graphql.String +} + +type findExistingIssuesSearch struct { + Issues struct { + Nodes []linearIssue + } +} + +// Custom transport to add the API key to the header +type addHeaderTransport struct { + T http.RoundTripper + Key string +} + +func (adt *addHeaderTransport) RoundTrip(req *http.Request) (*http.Response, error) { + req.Header.Add("Authorization", adt.Key) + return adt.T.RoundTrip(req) +} + +const ( + linearPriorityNone = float64(0) + linearPriorityCritical = float64(1) + linearPriorityHigh = float64(2) + linearPriorityMedium = float64(3) + linearPriorityLow = float64(4) +) + +// errors represents the "errors" array in a response from a GraphQL server. +// If returned via error interface, the slice is expected to contain at least 1 element. +// +// Specification: https://spec.graphql.org/October2021/#sec-Errors. +type errorsGraphql []struct { + Message string + Locations []struct { + Line int + Column int + } +} + +// Error implements error interface. +func (e errorsGraphql) Error() string { + return e[0].Message +} + +// do executes a single GraphQL operation. +func (i *Integration) doGraphqlRequest(ctx context.Context, query string, v any, variables map[string]any, operationName string) error { + in := struct { + Query string `json:"query"` + Variables map[string]any `json:"variables,omitempty"` + OperationName string `json:"operationName,omitempty"` + }{ + Query: query, + Variables: variables, + OperationName: operationName, + } + + var buf bytes.Buffer + err := json.NewEncoder(&buf).Encode(in) + if err != nil { + return err + } + req, err := http.NewRequestWithContext(ctx, http.MethodPost, i.url, &buf) + if err != nil { + return err + } + req.Header.Set("Content-Type", "application/json") + resp, err := i.httpclient.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + body, _ := io.ReadAll(resp.Body) + return fmt.Errorf("non-200 OK status code: %v body: %q", resp.Status, body) + } + var out struct { + Data *json.RawMessage + Errors errorsGraphql + //Extensions any // Unused. + } + err = json.NewDecoder(resp.Body).Decode(&out) + if err != nil { + return err + } + if out.Data != nil { + err := jsonutil.UnmarshalGraphQL(*out.Data, v) + if err != nil { + return err + } + } + if len(out.Errors) > 0 { + return out.Errors + } + return nil +} From 39f8be2125c5f7e988f0a56884b908cee07f974a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 10:05:56 +0000 Subject: [PATCH 194/283] chore(deps): bump github.com/projectdiscovery/wappalyzergo Bumps [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) from 0.1.14 to 0.1.18. - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.1.14...v0.1.18) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 7b5e247bf7..b0bbb7570b 100644 --- a/go.mod +++ b/go.mod @@ -98,7 +98,7 @@ require ( github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 github.com/projectdiscovery/utils v0.2.8 - github.com/projectdiscovery/wappalyzergo v0.1.14 + github.com/projectdiscovery/wappalyzergo v0.1.18 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 github.com/shurcooL/graphql v0.0.0-20230722043721-ed46e5a46466 diff --git a/go.sum b/go.sum index 70ee685efe..5f64afe1e8 100644 --- a/go.sum +++ b/go.sum @@ -625,8 +625,6 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kitabisa/go-ci v1.0.2 h1:rqHf8KEbQOxVb998TbqGRo70Z7ol44io7/jLYJUvKp8= -github.com/kitabisa/go-ci v1.0.2/go.mod h1:e3wBSzaJbcifXrr/Gw2ZBLn44MmeqP5WySwXyHlCK/U= github.com/kitabisa/go-ci v1.0.3 h1:JmIUIvcercRQc/9x/v02ydCCqU4MadSHaNaOF8T2pGA= github.com/kitabisa/go-ci v1.0.3/go.mod h1:e3wBSzaJbcifXrr/Gw2ZBLn44MmeqP5WySwXyHlCK/U= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= @@ -890,8 +888,8 @@ github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19 github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= github.com/projectdiscovery/utils v0.2.8 h1:++NcCJ+lXEfNBHKBs6q+cWa8JrVS8cYdGcW9jOgZebI= github.com/projectdiscovery/utils v0.2.8/go.mod h1:UYJ8GKbZaezPFRT/cOk01LreQZ1QK0fko1EUnSUiSGU= -github.com/projectdiscovery/wappalyzergo v0.1.14 h1:nt1IM4RUmqeymsXk4h6BsZbKDoS2hjFvPkT2GaI1rz4= -github.com/projectdiscovery/wappalyzergo v0.1.14/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= +github.com/projectdiscovery/wappalyzergo v0.1.18 h1:fFgETis0HcsNE7wREaUPYP45JqIyHgGorJaVp1RH7g4= +github.com/projectdiscovery/wappalyzergo v0.1.18/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= github.com/projectdiscovery/yamldoc-go v1.0.4/go.mod h1:8PIPRcUD55UbtQdcfFR1hpIGRWG0P7alClXNGt1TBik= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= From bd6330f72aa45d1fb8bacc62fe9a41e0aeb92bb5 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:13:49 +0530 Subject: [PATCH 195/283] feat: upload existing scan results (#5603) * feat: upload existing scan results * fix lint test * misc update --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com> --- cmd/nuclei/main.go | 11 +++++++++- internal/runner/runner.go | 46 +++++++++++++++++++++++++++++++++++++++ pkg/types/types.go | 2 ++ 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index de29d6581e..8fe5b29573 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -123,6 +123,13 @@ func main() { runner.ParseOptions(options) + if options.ScanUploadFile != "" { + if err := runner.UploadResultsToCloud(options); err != nil { + gologger.Fatal().Msgf("could not upload scan results to cloud dashboard: %s\n", err) + } + return + } + nucleiRunner, err := runner.New(options) if err != nil { gologger.Fatal().Msgf("Could not create runner: %s\n", err) @@ -420,9 +427,11 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.CreateGroup("cloud", "Cloud", flagSet.DynamicVar(&pdcpauth, "auth", "true", "configure projectdiscovery cloud (pdcp) api key"), flagSet.StringVarP(&options.TeamID, "team-id", "tid", _pdcp.TeamIDEnv, "upload scan results to given team id (optional)"), - flagSet.BoolVarP(&options.EnableCloudUpload, "cloud-upload", "cup", false, "upload scan results to pdcp dashboard"), + flagSet.BoolVarP(&options.EnableCloudUpload, "cloud-upload", "cup", false, "upload scan results to pdcp dashboard [DEPRECATED use -dashboard]"), flagSet.StringVarP(&options.ScanID, "scan-id", "sid", "", "upload scan results to existing scan id (optional)"), flagSet.StringVarP(&options.ScanName, "scan-name", "sname", "", "scan name to set (optional)"), + flagSet.BoolVarP(&options.EnableCloudUpload, "dashboard", "pd", false, "upload / view nuclei results in projectdiscovery cloud (pdcp) UI dashboard"), + flagSet.StringVarP(&options.ScanUploadFile, "dashboard-upload", "pdu", "", "upload / view nuclei results file (jsonl) in projectdiscovery cloud (pdcp) UI dashboard"), ) flagSet.CreateGroup("Authentication", "Authentication", diff --git a/internal/runner/runner.go b/internal/runner/runner.go index bfb2bc64be..b36d8ed584 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -784,6 +784,52 @@ func (r *Runner) SaveResumeConfig(path string) error { return os.WriteFile(path, data, permissionutil.ConfigFilePermission) } +// upload existing scan results to cloud with progress +func UploadResultsToCloud(options *types.Options) error { + h := &pdcpauth.PDCPCredHandler{} + creds, err := h.GetCreds() + if err != nil { + return errors.Wrap(err, "could not get credentials for cloud upload") + } + ctx := context.TODO() + uploadWriter, err := pdcp.NewUploadWriter(ctx, creds) + if err != nil { + return errors.Wrap(err, "could not create upload writer") + } + if options.ScanID != "" { + _ = uploadWriter.SetScanID(options.ScanID) + } + if options.ScanName != "" { + uploadWriter.SetScanName(options.ScanName) + } + if options.TeamID != "" { + uploadWriter.SetTeamID(options.TeamID) + } + + // Open file to count the number of results first + file, err := os.Open(options.ScanUploadFile) + if err != nil { + return errors.Wrap(err, "could not open scan upload file") + } + defer file.Close() + + gologger.Info().Msgf("Uploading scan results to cloud dashboard from %s", options.ScanUploadFile) + dec := json.NewDecoder(file) + for dec.More() { + var r output.ResultEvent + err := dec.Decode(&r) + if err != nil { + gologger.Warning().Msgf("Could not decode jsonl: %s\n", err) + continue + } + if err = uploadWriter.Write(&r); err != nil { + gologger.Warning().Msgf("[%s] failed to upload: %s\n", r.TemplateID, err) + } + } + uploadWriter.Close() + return nil +} + type WalkFunc func(reflect.Value, reflect.StructField) // Walk traverses a struct and executes a callback function on each value in the struct. diff --git a/pkg/types/types.go b/pkg/types/types.go index cab1aacf54..51375e7342 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -384,6 +384,8 @@ type Options struct { ScanID string // ScanName is the name of the scan to be uploaded ScanName string + // ScanUploadFile is the jsonl file to upload scan results to cloud + ScanUploadFile string // TeamID is the team ID to use for cloud upload TeamID string // JsConcurrency is the number of concurrent js routines to run From 72da91a3999838fd32d1bd1703f203be5e143b34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:14:27 +0530 Subject: [PATCH 196/283] chore(deps): bump github.com/projectdiscovery/hmap from 0.0.56 to 0.0.58 (#5619) Bumps [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) from 0.0.56 to 0.0.58. - [Release notes](https://github.com/projectdiscovery/hmap/releases) - [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.56...v0.0.58) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/hmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b0bbb7570b..fc2934614e 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.1 github.com/projectdiscovery/fastdialer v0.2.7 - github.com/projectdiscovery/hmap v0.0.57 + github.com/projectdiscovery/hmap v0.0.58 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.65 github.com/projectdiscovery/retryabledns v1.0.74 diff --git a/go.sum b/go.sum index 5f64afe1e8..b1a6fc5f92 100644 --- a/go.sum +++ b/go.sum @@ -850,8 +850,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.57 h1:n45T9Me/fL0fqdVZ+Pi/eVizBguNRCleThqxgzNPLrA= -github.com/projectdiscovery/hmap v0.0.57/go.mod h1:aa7egkpPIBukf5tis936KSddiXfEvWUKYLzrtV3CH8M= +github.com/projectdiscovery/hmap v0.0.58 h1:SoXmnmYS2egPSRgFKgUhHozu8QvPIUKAuoDpuii9jkw= +github.com/projectdiscovery/hmap v0.0.58/go.mod h1:nQTelqkgxU6vuuU+qmQloMrDBxYZMt2TTO0fV86yXN4= github.com/projectdiscovery/httpx v1.6.8 h1:k0Y5g3ue/7QbDP0+LykIxp/VhPDLfau3UEUyuxtP7qE= github.com/projectdiscovery/httpx v1.6.8/go.mod h1:7BIsDxyRwkBjthqFmEajXrA5f3yb4tlVfLmpNdf0ZXA= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= From a45e4bbd19b45d3154c8c11ebaf645d3a34c0ebd Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Thu, 12 Sep 2024 14:35:32 +0300 Subject: [PATCH 197/283] move code around (#5626) --- lib/sdk_private.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/sdk_private.go b/lib/sdk_private.go index b65ecf2a2f..cacd9a1ca1 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -108,14 +108,6 @@ func (e *NucleiEngine) init(ctx context.Context) error { return err } - if e.opts.ProxyInternal && types.ProxyURL != "" || types.ProxySocksURL != "" { - httpclient, err := httpclientpool.Get(e.opts, &httpclientpool.Configuration{}) - if err != nil { - return err - } - e.httpClient = httpclient - } - e.parser = templates.NewParser() if sharedInit == nil || protocolstate.ShouldInit() { @@ -126,6 +118,14 @@ func (e *NucleiEngine) init(ctx context.Context) error { _ = protocolinit.Init(e.opts) }) + if e.opts.ProxyInternal && types.ProxyURL != "" || types.ProxySocksURL != "" { + httpclient, err := httpclientpool.Get(e.opts, &httpclientpool.Configuration{}) + if err != nil { + return err + } + e.httpClient = httpclient + } + e.applyRequiredDefaults(ctx) var err error From 2ac9aaf8717fddc4a94e766d0136619e4cf141e3 Mon Sep 17 00:00:00 2001 From: Ice3man Date: Fri, 13 Sep 2024 23:45:27 +0530 Subject: [PATCH 198/283] bugfix: fixed misc issues with linear integration (#5630) --- pkg/reporting/trackers/linear/linear.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/reporting/trackers/linear/linear.go b/pkg/reporting/trackers/linear/linear.go index 1ad9552f26..11712039f8 100644 --- a/pkg/reporting/trackers/linear/linear.go +++ b/pkg/reporting/trackers/linear/linear.go @@ -109,7 +109,9 @@ func (i *Integration) CreateIssue(event *output.ResultEvent) (*filters.CreateIss "issueID": types.ToString(existingIssue.ID), } var resp struct { - LastSyncID string `json:"lastSyncId"` + IssueUpdate struct { + LastSyncID int `json:"lastSyncId"` + } } err := i.doGraphqlRequest(ctx, existingIssueUpdateStateMutation, &resp, variables, "IssueUpdate") if err != nil { @@ -125,7 +127,9 @@ func (i *Integration) CreateIssue(event *output.ResultEvent) (*filters.CreateIss "commentCreateInput": commentInput, } var resp struct { - LastSyncID string `json:"lastSyncId"` + CommentCreate struct { + LastSyncID int `json:"lastSyncId"` + } } err := i.doGraphqlRequest(ctx, commentCreateExistingTicketMutation, &resp, variables, "CommentCreate") if err != nil { @@ -387,6 +391,7 @@ func (i *Integration) doGraphqlRequest(ctx context.Context, query string, v any, Errors errorsGraphql //Extensions any // Unused. } + err = json.NewDecoder(resp.Body).Decode(&out) if err != nil { return err From 87e99be4f6ba63db85de76c9e1d2389e653a7956 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sat, 14 Sep 2024 00:06:08 +0530 Subject: [PATCH 199/283] scan error formatting (#5628) --- pkg/scan/scan_context.go | 27 +++++++++--------------- pkg/tmplexec/exec.go | 43 +++++++++++++++++---------------------- pkg/tmplexec/interface.go | 39 +++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 41 deletions(-) diff --git a/pkg/scan/scan_context.go b/pkg/scan/scan_context.go index 45456ddcac..51b98007a6 100644 --- a/pkg/scan/scan_context.go +++ b/pkg/scan/scan_context.go @@ -8,6 +8,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" + "github.com/projectdiscovery/utils/errkit" ) type ScanContextOption func(*ScanContext) @@ -30,7 +31,7 @@ type ScanContext struct { OnWarning func(string) // unexported state fields - errors []error + error error warnings []string events []*output.InternalWrappedEvent results []*output.ResultEvent @@ -52,8 +53,8 @@ func (s *ScanContext) Context() context.Context { return s.ctx } -func (s *ScanContext) GenerateErrorMessage() string { - return joinErrors(s.errors) +func (s *ScanContext) GenerateErrorMessage() error { + return s.error } // GenerateResult returns final results slice from all events @@ -94,13 +95,16 @@ func (s *ScanContext) LogError(err error) { if err == nil { return } - if s.OnError != nil { s.OnError(err) } - s.errors = append(s.errors, err) + if s.error == nil { + s.error = err + } else { + s.error = errkit.Append(s.error, err) + } - errorMessage := s.GenerateErrorMessage() + errorMessage := s.GenerateErrorMessage().Error() for _, result := range s.results { result.Error = errorMessage @@ -129,14 +133,3 @@ func (s *ScanContext) LogWarning(format string, args ...any) { } } } - -// joinErrors joins multiple errors and returns a single error string -func joinErrors(errors []error) string { - var errorMessages []string - for _, e := range errors { - if e != nil { - errorMessages = append(errorMessages, e.Error()) - } - } - return strings.Join(errorMessages, "; ") -} diff --git a/pkg/tmplexec/exec.go b/pkg/tmplexec/exec.go index 4ca9badf70..149deaa4d5 100644 --- a/pkg/tmplexec/exec.go +++ b/pkg/tmplexec/exec.go @@ -20,7 +20,6 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/flow" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/generic" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/multiproto" - "github.com/projectdiscovery/nuclei/v3/pkg/types/nucleierr" "github.com/projectdiscovery/utils/errkit" ) @@ -207,7 +206,7 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { ctx.LogError(errx) if lastMatcherEvent != nil { - lastMatcherEvent.InternalEvent["error"] = tryParseCause(fmt.Errorf("%s", ctx.GenerateErrorMessage())) + lastMatcherEvent.InternalEvent["error"] = getErrorCause(ctx.GenerateErrorMessage()) writeFailureCallback(lastMatcherEvent, e.options.Options.MatcherStatus) } @@ -222,7 +221,7 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { Info: e.options.TemplateInfo, Type: e.getTemplateType(), Host: ctx.Input.MetaInput.Input, - Error: tryParseCause(fmt.Errorf("%s", ctx.GenerateErrorMessage())), + Error: getErrorCause(ctx.GenerateErrorMessage()), }, }, OperatorsResult: &operators.Result{ @@ -235,31 +234,27 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { return executed.Load() || matched.Load(), errx } -// tryParseCause tries to parse the cause of given error +// getErrorCause tries to parse the cause of given error // this is legacy support due to use of errorutil in existing libraries // but this should not be required once all libraries are updated -func tryParseCause(err error) string { - errStr := "" - errX := errkit.FromError(err) - if errX != nil { - var errCause error - - if len(errX.Errors()) > 1 { - errCause = errX.Errors()[0] - } - if errCause == nil { - errCause = errX +func getErrorCause(err error) string { + if err == nil { + return "" + } + errx := errkit.FromError(err) + var cause error + for _, e := range errx.Errors() { + if e != nil && strings.Contains(e.Error(), "context deadline exceeded") { + continue } - - msg := strings.Trim(errCause.Error(), "{} ") - parts := strings.Split(msg, ":") - errCause = errkit.New("%s", parts[len(parts)-1]) - errKind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic).String() - errStr = errCause.Error() - errStr = strings.TrimSpace(strings.Replace(errStr, "errKind="+errKind, "", -1)) + cause = e + break } - - return errStr + if cause == nil { + cause = errkit.Append(errkit.New("could not get error cause"), errx) + } + // parseScanError prettifies the error message and removes everything except the cause + return parseScanError(cause.Error()) } // ExecuteWithResults executes the protocol requests and returns results instead of writing them. diff --git a/pkg/tmplexec/interface.go b/pkg/tmplexec/interface.go index 67f9621116..36f139cc57 100644 --- a/pkg/tmplexec/interface.go +++ b/pkg/tmplexec/interface.go @@ -1,10 +1,15 @@ package tmplexec import ( + "errors" + "regexp" + "strings" + "github.com/projectdiscovery/nuclei/v3/pkg/scan" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/flow" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/generic" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/multiproto" + "github.com/projectdiscovery/utils/errkit" ) var ( @@ -30,3 +35,37 @@ type TemplateEngine interface { // Name returns name of template engine Name() string } + +var ( + // A temporary fix to remove errKind from error message + // this is because errkit is not used everywhere yet + reNoKind = regexp.MustCompile(`([\[][^][]+[\]]|errKind=[^ ]+) `) +) + +// parseScanError parses given scan error and only returning the cause +// instead of inefficient one +func parseScanError(msg string) string { + if msg == "" { + return "" + } + if strings.HasPrefix(msg, "ReadStatusLine:") { + // last index is actual error (from rawhttp) + parts := strings.Split(msg, ":") + msg = strings.TrimSpace(parts[len(parts)-1]) + } + if strings.Contains(msg, "read ") { + // same here + parts := strings.Split(msg, ":") + msg = strings.TrimSpace(parts[len(parts)-1]) + } + e := errkit.FromError(errors.New(msg)) + for _, err := range e.Errors() { + if err != nil && strings.Contains(err.Error(), "context deadline exceeded") { + continue + } + msg = reNoKind.ReplaceAllString(err.Error(), "") + return msg + } + wrapped := errkit.Append(errkit.New("failed to get error cause"), e).Error() + return reNoKind.ReplaceAllString(wrapped, "") +} From c8cc419e8111e9f964944cd050ab0c1d40f6e9cf Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Sun, 15 Sep 2024 16:50:59 +0300 Subject: [PATCH 200/283] remove duplicate directive (#5635) --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 45f92d4485..9ac12d7d23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,6 @@ FROM golang:1.21-alpine AS build-env RUN apk add build-base WORKDIR /app COPY . /app -WORKDIR /app RUN go mod download RUN go build ./cmd/nuclei From 0a536e6ce00b183b4169fbbdcf22a206bd8f6517 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Thu, 19 Sep 2024 18:52:49 +0530 Subject: [PATCH 201/283] fix matcher-status tests (#5647) --- cmd/integration-test/matcher-status.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/integration-test/matcher-status.go b/cmd/integration-test/matcher-status.go index b88763720a..d89f7c46b0 100644 --- a/cmd/integration-test/matcher-status.go +++ b/cmd/integration-test/matcher-status.go @@ -3,6 +3,7 @@ package main import ( "encoding/json" "fmt" + "strings" "github.com/projectdiscovery/nuclei/v3/pkg/output" "github.com/projectdiscovery/nuclei/v3/pkg/testutils" @@ -26,9 +27,9 @@ func (h *httpNoAccess) Execute(filePath string) error { } event := &output.ResultEvent{} _ = json.Unmarshal([]byte(results[0]), event) - - if event.Error != "no address found for host" { - return fmt.Errorf("unexpected result: expecting \"no address found for host\" error but got none") + expectedError := "no address found for host" + if !strings.Contains(event.Error, expectedError) { + return fmt.Errorf("unexpected result: expecting \"%s\" error but got \"%s\"", expectedError, event.Error) } return nil } From 3d2f31a56fc87ccae84afa21f4b4a537e1849e18 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Thu, 19 Sep 2024 18:58:20 +0530 Subject: [PATCH 202/283] fix missing template_url for pd signed templates when executed from custom path (#5644) --- pkg/catalog/loader/loader.go | 3 ++- pkg/keys/key.go | 2 ++ pkg/output/output.go | 5 +++-- pkg/protocols/code/code.go | 1 + pkg/protocols/dns/operators.go | 1 + pkg/protocols/file/operators.go | 1 + pkg/protocols/headless/operators.go | 1 + pkg/protocols/http/operators.go | 1 + pkg/protocols/javascript/js.go | 1 + pkg/protocols/network/operators.go | 15 ++++++++------- pkg/protocols/offlinehttp/operators.go | 1 + pkg/protocols/protocols.go | 2 ++ pkg/protocols/ssl/ssl.go | 1 + pkg/protocols/websocket/websocket.go | 1 + pkg/protocols/whois/whois.go | 1 + pkg/templates/compile.go | 5 ++--- pkg/templates/workflows.go | 3 ++- pkg/testutils/testutils.go | 2 +- pkg/utils/template_path.go | 16 +++++++--------- 19 files changed, 39 insertions(+), 24 deletions(-) diff --git a/pkg/catalog/loader/loader.go b/pkg/catalog/loader/loader.go index e1d8371e35..731ebbd68e 100644 --- a/pkg/catalog/loader/loader.go +++ b/pkg/catalog/loader/loader.go @@ -15,6 +15,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/catalog" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/loader/filter" + "github.com/projectdiscovery/nuclei/v3/pkg/keys" "github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/templates" @@ -434,7 +435,7 @@ func (store *Store) LoadTemplatesWithTags(templatesList, tags []string) []*templ // increment signed/unsigned counters if tmpl.Verified { if tmpl.TemplateVerifier == "" { - templates.SignatureStats[templates.PDVerifier].Add(1) + templates.SignatureStats[keys.PDVerifier].Add(1) } else { templates.SignatureStats[tmpl.TemplateVerifier].Add(1) } diff --git a/pkg/keys/key.go b/pkg/keys/key.go index bb0c900626..eac43f27ae 100644 --- a/pkg/keys/key.go +++ b/pkg/keys/key.go @@ -3,5 +3,7 @@ package keys import _ "embed" +const PDVerifier = "projectdiscovery/nuclei-templates" + //go:embed nuclei.crt var NucleiCert []byte // public key for verifying digital signature of templates diff --git a/pkg/output/output.go b/pkg/output/output.go index 4f02d71c38..07c6f4c71f 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -190,6 +190,7 @@ type ResultEvent struct { FuzzingPosition string `json:"fuzzing_position,omitempty"` FileToIndexPosition map[string]int `json:"-"` + TemplateVerifier string `json:"-"` Error string `json:"error,omitempty"` } @@ -263,7 +264,7 @@ func NewStandardWriter(options *types.Options) (*StandardWriter, error) { func (w *StandardWriter) Write(event *ResultEvent) error { // Enrich the result event with extra metadata on the template-path and url. if event.TemplatePath != "" { - event.Template, event.TemplateURL = utils.TemplatePathURL(types.ToString(event.TemplatePath), types.ToString(event.TemplateID)) + event.Template, event.TemplateURL = utils.TemplatePathURL(types.ToString(event.TemplatePath), types.ToString(event.TemplateID), event.TemplateVerifier) } if len(w.KeysToRedact) > 0 { @@ -435,7 +436,7 @@ func (w *StandardWriter) WriteFailure(wrappedEvent *InternalWrappedEvent) error // if no results were found, manually create a failure event event := wrappedEvent.InternalEvent - templatePath, templateURL := utils.TemplatePathURL(types.ToString(event["template-path"]), types.ToString(event["template-id"])) + templatePath, templateURL := utils.TemplatePathURL(types.ToString(event["template-path"]), types.ToString(event["template-id"]), types.ToString(event["template-verifier"])) var templateInfo model.Info if event["template-info"] != nil { templateInfo = event["template-info"].(model.Info) diff --git a/pkg/protocols/code/code.go b/pkg/protocols/code/code.go index 7736113dca..87a0128645 100644 --- a/pkg/protocols/code/code.go +++ b/pkg/protocols/code/code.go @@ -348,6 +348,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(request.options.TemplateID), TemplatePath: types.ToString(request.options.TemplatePath), Info: request.options.TemplateInfo, + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Matched: types.ToString(wrapped.InternalEvent["input"]), Host: fields.Host, diff --git a/pkg/protocols/dns/operators.go b/pkg/protocols/dns/operators.go index 7b8467646b..0f18315303 100644 --- a/pkg/protocols/dns/operators.go +++ b/pkg/protocols/dns/operators.go @@ -114,6 +114,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: types.ToString(wrapped.InternalEvent["host"]), Matched: types.ToString(wrapped.InternalEvent["matched"]), diff --git a/pkg/protocols/file/operators.go b/pkg/protocols/file/operators.go index ff18af0979..5dab75bb91 100644 --- a/pkg/protocols/file/operators.go +++ b/pkg/protocols/file/operators.go @@ -104,6 +104,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Path: types.ToString(wrapped.InternalEvent["path"]), Matched: types.ToString(wrapped.InternalEvent["matched"]), diff --git a/pkg/protocols/headless/operators.go b/pkg/protocols/headless/operators.go index d1b790f99c..3ad30e9c55 100644 --- a/pkg/protocols/headless/operators.go +++ b/pkg/protocols/headless/operators.go @@ -137,6 +137,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: fields.Host, Path: fields.Path, diff --git a/pkg/protocols/http/operators.go b/pkg/protocols/http/operators.go index 3de3e63e34..d630bfd8b0 100644 --- a/pkg/protocols/http/operators.go +++ b/pkg/protocols/http/operators.go @@ -170,6 +170,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: fields.Host, Port: fields.Port, diff --git a/pkg/protocols/javascript/js.go b/pkg/protocols/javascript/js.go index fbcd1a6ff9..0bd26b88a5 100644 --- a/pkg/protocols/javascript/js.go +++ b/pkg/protocols/javascript/js.go @@ -766,6 +766,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: fields.Host, Port: fields.Port, diff --git a/pkg/protocols/network/operators.go b/pkg/protocols/network/operators.go index 4ff22130f4..2aa19e5b3b 100644 --- a/pkg/protocols/network/operators.go +++ b/pkg/protocols/network/operators.go @@ -100,13 +100,14 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent fields.Ip = types.ToString(wrapped.InternalEvent["ip"]) } data := &output.ResultEvent{ - TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), - TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), - Info: wrapped.InternalEvent["template-info"].(model.Info), - Type: types.ToString(wrapped.InternalEvent["type"]), - Host: fields.Host, - Port: fields.Port, - URL: fields.URL, + TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), + TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), + Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, + Type: types.ToString(wrapped.InternalEvent["type"]), + Host: fields.Host, + Port: fields.Port, + URL: fields.URL, Matched: types.ToString(wrapped.InternalEvent["matched"]), ExtractedResults: wrapped.OperatorsResult.OutputExtracts, Metadata: wrapped.OperatorsResult.PayloadValues, diff --git a/pkg/protocols/offlinehttp/operators.go b/pkg/protocols/offlinehttp/operators.go index 0d906ff514..f69abc4412 100644 --- a/pkg/protocols/offlinehttp/operators.go +++ b/pkg/protocols/offlinehttp/operators.go @@ -142,6 +142,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Path: types.ToString(wrapped.InternalEvent["path"]), Matched: types.ToString(wrapped.InternalEvent["matched"]), diff --git a/pkg/protocols/protocols.go b/pkg/protocols/protocols.go index 8b8854cd8b..a9d50c1481 100644 --- a/pkg/protocols/protocols.go +++ b/pkg/protocols/protocols.go @@ -61,6 +61,8 @@ type ExecutorOptions struct { TemplatePath string // TemplateInfo contains information block of the template request TemplateInfo model.Info + // TemplateVerifier is the verifier for the template + TemplateVerifier string // RawTemplate is the raw template for the request RawTemplate []byte // Output is a writer interface for writing output events from executer. diff --git a/pkg/protocols/ssl/ssl.go b/pkg/protocols/ssl/ssl.go index 50da53111b..681043d3bf 100644 --- a/pkg/protocols/ssl/ssl.go +++ b/pkg/protocols/ssl/ssl.go @@ -398,6 +398,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), Info: wrapped.InternalEvent["template-info"].(model.Info), + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: fields.Host, Port: fields.Port, diff --git a/pkg/protocols/websocket/websocket.go b/pkg/protocols/websocket/websocket.go index a956de0e3f..aa099ef43a 100644 --- a/pkg/protocols/websocket/websocket.go +++ b/pkg/protocols/websocket/websocket.go @@ -402,6 +402,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(request.options.TemplateID), TemplatePath: types.ToString(request.options.TemplatePath), Info: request.options.TemplateInfo, + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: fields.Host, Port: fields.Port, diff --git a/pkg/protocols/whois/whois.go b/pkg/protocols/whois/whois.go index ce0bafe56c..9963ec19f8 100644 --- a/pkg/protocols/whois/whois.go +++ b/pkg/protocols/whois/whois.go @@ -177,6 +177,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent TemplateID: types.ToString(request.options.TemplateID), TemplatePath: types.ToString(request.options.TemplatePath), Info: request.options.TemplateInfo, + TemplateVerifier: request.options.TemplateVerifier, Type: types.ToString(wrapped.InternalEvent["type"]), Host: types.ToString(wrapped.InternalEvent["host"]), Metadata: wrapped.OperatorsResult.PayloadValues, diff --git a/pkg/templates/compile.go b/pkg/templates/compile.go index 54708e7ea1..01af3a999b 100644 --- a/pkg/templates/compile.go +++ b/pkg/templates/compile.go @@ -36,8 +36,7 @@ var ( ) const ( - Unsigned = "unsigned" - PDVerifier = "projectdiscovery/nuclei-templates" + Unsigned = "unsigned" ) func init() { @@ -420,7 +419,7 @@ func parseTemplate(data []byte, options protocols.ExecutorOptions) (*Template, e break } } - + options.TemplateVerifier = template.TemplateVerifier if !(template.Verified && verifier.Identifier() == "projectdiscovery/nuclei-templates") { template.Options.RawTemplate = data } diff --git a/pkg/templates/workflows.go b/pkg/templates/workflows.go index bafb7aaf31..50029af18a 100644 --- a/pkg/templates/workflows.go +++ b/pkg/templates/workflows.go @@ -4,6 +4,7 @@ import ( "github.com/pkg/errors" "github.com/projectdiscovery/gologger" + "github.com/projectdiscovery/nuclei/v3/pkg/keys" "github.com/projectdiscovery/nuclei/v3/pkg/model" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/utils/stats" @@ -105,7 +106,7 @@ func parseWorkflowTemplate(workflow *workflows.WorkflowTemplate, preprocessor Pr // increment signed/unsigned counters if template.Verified { if template.TemplateVerifier == "" { - SignatureStats[PDVerifier].Add(1) + SignatureStats[keys.PDVerifier].Add(1) } else { SignatureStats[template.TemplateVerifier].Add(1) } diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go index 930787aab9..a1ed685c87 100644 --- a/pkg/testutils/testutils.go +++ b/pkg/testutils/testutils.go @@ -167,7 +167,7 @@ func (m *MockOutputWriter) WriteFailure(wrappedEvent *output.InternalWrappedEven // create event event := wrappedEvent.InternalEvent - templatePath, templateURL := utils.TemplatePathURL(types.ToString(event["template-path"]), types.ToString(event["template-id"])) + templatePath, templateURL := utils.TemplatePathURL(types.ToString(event["template-path"]), types.ToString(event["template-id"]), types.ToString(event["template-verifier"])) var templateInfo model.Info if ti, ok := event["template-info"].(model.Info); ok { templateInfo = ti diff --git a/pkg/utils/template_path.go b/pkg/utils/template_path.go index f6ed8ae92c..6570d90f20 100644 --- a/pkg/utils/template_path.go +++ b/pkg/utils/template_path.go @@ -4,6 +4,7 @@ import ( "strings" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" + "github.com/projectdiscovery/nuclei/v3/pkg/keys" ) const ( @@ -12,16 +13,13 @@ const ( ) // TemplatePathURL returns the Path and URL for the provided template -func TemplatePathURL(fullPath, templateId string) (string, string) { - var templateDirectory string +func TemplatePathURL(fullPath, templateId, templateVerifier string) (path string, url string) { configData := config.DefaultConfig if configData.TemplatesDirectory != "" && strings.HasPrefix(fullPath, configData.TemplatesDirectory) { - templateDirectory = configData.TemplatesDirectory - } else { - return "", "" + path = strings.TrimPrefix(strings.TrimPrefix(fullPath, configData.TemplatesDirectory), "/") } - - finalPath := strings.TrimPrefix(strings.TrimPrefix(fullPath, templateDirectory), "/") - templateURL := TemplatesRepoURL + templateId - return finalPath, templateURL + if templateVerifier == keys.PDVerifier { + url = TemplatesRepoURL + templateId + } + return } From 4cd065df5f78d871562ab96d55a7fdcc6a99eb75 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Thu, 19 Sep 2024 20:31:12 +0700 Subject: [PATCH 203/283] feat(headless): supporting standard lifecycle events (#5632) * refactor(headless): use `WaitStable` for `waitload` action Signed-off-by: Dwi Siswanto * feat(headless): add `getNavigationFunc` Signed-off-by: Dwi Siswanto * feat(headless): add `WaitDOM` action Signed-off-by: Dwi Siswanto * feat(headless): add `WaitFMP` action Signed-off-by: Dwi Siswanto * feat(headless): add `WaitFCP` action Signed-off-by: Dwi Siswanto * feat(headless): add `WaitIdle` action Signed-off-by: Dwi Siswanto * refactor(headless): `ActionWaitLoad` waits for `proto.PageLifecycleEventNameLoad` also rename `Page.WaitLoad` to `Page.WaitStable` method. Signed-off-by: Dwi Siswanto * feat(headless): add `WaitStable` action Signed-off-by: Dwi Siswanto * refactor(headless): supporting `duration` arg for `WaitStable` action Signed-off-by: Dwi Siswanto * chore: ignore `*.png` Signed-off-by: Dwi Siswanto * test(headless): update `TestActionScreenshot*` call `ActionWaitFMP` instead of `WaitLoad` before take screenshot Signed-off-by: Dwi Siswanto * feat(headless): chained with `Timeout` when `WaitStable` Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- .gitignore | 5 +- pkg/protocols/headless/engine/action_types.go | 27 ++++++- pkg/protocols/headless/engine/page_actions.go | 71 ++++++++++++++++--- .../headless/engine/page_actions_test.go | 4 +- 4 files changed, 92 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 5a50568910..146b0a892c 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,7 @@ dist pkg/protocols/common/helpers/deserialization/testdata/Deserialize.class pkg/protocols/common/helpers/deserialization/testdata/ValueObject.class pkg/protocols/common/helpers/deserialization/testdata/ValueObject2.ser -vendor \ No newline at end of file +vendor + +# Headless `screenshot` action +*.png \ No newline at end of file diff --git a/pkg/protocols/headless/engine/action_types.go b/pkg/protocols/headless/engine/action_types.go index d61e377431..d66fe91130 100644 --- a/pkg/protocols/headless/engine/action_types.go +++ b/pkg/protocols/headless/engine/action_types.go @@ -45,9 +45,24 @@ const ( // ActionFilesInput performs an action on a file input. // name:files ActionFilesInput - // ActionWaitLoad waits for the page to stop loading. + // ActionWaitDOM waits for the HTML document has been completely loaded & parsed. + // name:waitdom + ActionWaitDOM + // ActionWaitFCP waits for the first piece of content (text, image, etc.) is painted on the screen. + // name:waitfcp + ActionWaitFCP + // ActionWaitFMP waits for page has rendered enough meaningful content to be useful to the user. + // name:waitfmp + ActionWaitFMP + // ActionWaitIdle waits for the network is completely idle (no ongoing network requests). + // name:waitidle + ActionWaitIdle + // ActionWaitLoad waits for the page and all its resources (like stylesheets and images) have finished loading. // name:waitload ActionWaitLoad + // ActionWaitStable waits until the page is stable. + // name:waitstable + ActionWaitStable // ActionGetResource performs a get resource action on an element // name:getresource ActionGetResource @@ -102,7 +117,12 @@ var ActionStringToAction = map[string]ActionType{ "time": ActionTimeInput, "select": ActionSelectInput, "files": ActionFilesInput, + "waitdom": ActionWaitDOM, + "waitfcp": ActionWaitFCP, + "waitfmp": ActionWaitFMP, + "waitidle": ActionWaitIdle, "waitload": ActionWaitLoad, + "waitstable": ActionWaitStable, "getresource": ActionGetResource, "extract": ActionExtract, "setmethod": ActionSetMethod, @@ -129,7 +149,12 @@ var ActionToActionString = map[ActionType]string{ ActionTimeInput: "time", ActionSelectInput: "select", ActionFilesInput: "files", + ActionWaitDOM: "waitdom", + ActionWaitFCP: "waitfcp", + ActionWaitFMP: "waitfmp", + ActionWaitIdle: "waitidle", ActionWaitLoad: "waitload", + ActionWaitStable: "waitstable", ActionGetResource: "getresource", ActionExtract: "extract", ActionSetMethod: "setmethod", diff --git a/pkg/protocols/headless/engine/page_actions.go b/pkg/protocols/headless/engine/page_actions.go index b34ed18b94..18ed515662 100644 --- a/pkg/protocols/headless/engine/page_actions.go +++ b/pkg/protocols/headless/engine/page_actions.go @@ -94,8 +94,28 @@ func (p *Page) ExecuteActions(input *contextargs.Context, actions []*Action, var err = p.TimeInputElement(act, outData) case ActionSelectInput: err = p.SelectInputElement(act, outData) + case ActionWaitDOM: + event := proto.PageLifecycleEventNameDOMContentLoaded + err = p.WaitPageLifecycleEvent(act, outData, event) + case ActionWaitFCP: + event := proto.PageLifecycleEventNameFirstContentfulPaint + err = p.WaitPageLifecycleEvent(act, outData, event) + case ActionWaitFMP: + event := proto.PageLifecycleEventNameFirstMeaningfulPaint + err = p.WaitPageLifecycleEvent(act, outData, event) + case ActionWaitIdle: + event := proto.PageLifecycleEventNameNetworkIdle + err = p.WaitPageLifecycleEvent(act, outData, event) case ActionWaitLoad: - err = p.WaitLoad(act, outData) + event := proto.PageLifecycleEventNameLoad + err = p.WaitPageLifecycleEvent(act, outData, event) + case ActionWaitStable: + err = p.WaitStable(act, outData) + // NOTE(dwisiswant0): Mapping `ActionWaitLoad` to `Page.WaitStable`, + // just in case waiting for the `proto.PageLifecycleEventNameLoad` event + // doesn't meet expectations. + // case ActionWaitLoad, ActionWaitStable: + // err = p.WaitStable(act, outData) case ActionGetResource: err = p.GetResource(act, outData) case ActionExtract: @@ -204,6 +224,17 @@ func createBackOffSleeper(pollTimeout, timeout time.Duration) utils.Sleeper { } } +func getNavigationFunc(p *Page, act *Action, event proto.PageLifecycleEventName) (func(), error) { + dur, err := getTimeout(p, act) + if err != nil { + return nil, errors.Wrap(err, "Wrong timeout given") + } + + fn := p.page.Timeout(dur).WaitNavigation(event) + + return fn, nil +} + func getTimeout(p *Page, act *Action) (time.Duration, error) { return geTimeParameter(p, act, "timeout", 3, time.Second) } @@ -518,20 +549,38 @@ func (p *Page) SelectInputElement(act *Action, out ActionData) error { return nil } -// WaitLoad waits for the page to load -func (p *Page) WaitLoad(act *Action, out ActionData) error { - p.page.Timeout(2 * time.Second).WaitNavigation(proto.PageLifecycleEventNameFirstMeaningfulPaint)() - - // Wait for the window.onload event and also wait for the network requests - // to become idle for a maximum duration of 3 seconds. If the requests - // do not finish, - if err := p.page.WaitLoad(); err != nil { - return errors.Wrap(err, "could not wait load event") +// WaitPageLifecycleEvent waits for specified page lifecycle event name +func (p *Page) WaitPageLifecycleEvent(act *Action, out ActionData, event proto.PageLifecycleEventName) error { + fn, err := getNavigationFunc(p, act, event) + if err != nil { + return err } - _ = p.page.WaitIdle(1 * time.Second) + + fn() + return nil } +// WaitStable waits until the page is stable +func (p *Page) WaitStable(act *Action, out ActionData) error { + var dur time.Duration = time.Second // default stable page duration: 1s + + timeout, err := getTimeout(p, act) + if err != nil { + return errors.Wrap(err, "Wrong timeout given") + } + + argDur := act.Data["duration"] + if argDur != "" { + dur, err = time.ParseDuration(argDur) + if err != nil { + dur = time.Second + } + } + + return p.page.Timeout(timeout).WaitStable(dur) +} + // GetResource gets a resource from an element from page. func (p *Page) GetResource(act *Action, out ActionData) error { element, err := p.pageElementBy(act.Data) diff --git a/pkg/protocols/headless/engine/page_actions_test.go b/pkg/protocols/headless/engine/page_actions_test.go index 3620bb2bb4..bc85ea7417 100644 --- a/pkg/protocols/headless/engine/page_actions_test.go +++ b/pkg/protocols/headless/engine/page_actions_test.go @@ -201,7 +201,7 @@ func TestActionScreenshot(t *testing.T) { filePath := filepath.Join(os.TempDir(), "test.png") actions := []*Action{ {ActionType: ActionTypeHolder{ActionType: ActionNavigate}, Data: map[string]string{"url": "{{BaseURL}}"}}, - {ActionType: ActionTypeHolder{ActionType: ActionWaitLoad}}, + {ActionType: ActionTypeHolder{ActionType: ActionWaitFMP}}, {ActionType: ActionTypeHolder{ActionType: ActionScreenshot}, Data: map[string]string{"to": filePath}}, } @@ -229,7 +229,7 @@ func TestActionScreenshotToDir(t *testing.T) { actions := []*Action{ {ActionType: ActionTypeHolder{ActionType: ActionNavigate}, Data: map[string]string{"url": "{{BaseURL}}"}}, - {ActionType: ActionTypeHolder{ActionType: ActionWaitLoad}}, + {ActionType: ActionTypeHolder{ActionType: ActionWaitFMP}}, {ActionType: ActionTypeHolder{ActionType: ActionScreenshot}, Data: map[string]string{"to": filePath, "mkdir": "true"}}, } From 6347efa5900c34f80384d93df43d11562f9b76a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levente=20Kov=C3=A1ts?= <22732484+tovask@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:32:03 +0200 Subject: [PATCH 204/283] Clone Input when the workflow execution forks (#5621) * clone Input when the workflow forks, add integration test * fix line endings --- cmd/integration-test/workflow.go | 40 +++++++++++++++++++ .../multimatch-value-share-template.yaml | 23 +++++++++++ .../multimatch-value-share-workflow.yaml | 21 ++++++++++ pkg/core/workflow_execute.go | 3 +- 4 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 integration_tests/workflow/multimatch-value-share-template.yaml create mode 100644 integration_tests/workflow/multimatch-value-share-workflow.yaml diff --git a/cmd/integration-test/workflow.go b/cmd/integration-test/workflow.go index e11575f90e..442e5169f6 100644 --- a/cmd/integration-test/workflow.go +++ b/cmd/integration-test/workflow.go @@ -13,6 +13,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/templates" "github.com/projectdiscovery/nuclei/v3/pkg/templates/signer" "github.com/projectdiscovery/nuclei/v3/pkg/testutils" + sliceutil "github.com/projectdiscovery/utils/slice" ) var workflowTestcases = []TestCaseInfo{ @@ -25,6 +26,7 @@ var workflowTestcases = []TestCaseInfo{ {Path: "workflow/dns-value-share-workflow.yaml", TestCase: &workflowDnsKeyValueShare{}}, {Path: "workflow/code-value-share-workflow.yaml", TestCase: &workflowCodeKeyValueShare{}, DisableOn: isCodeDisabled}, // isCodeDisabled declared in code.go {Path: "workflow/multiprotocol-value-share-workflow.yaml", TestCase: &workflowMultiProtocolKeyValueShare{}}, + {Path: "workflow/multimatch-value-share-workflow.yaml", TestCase: &workflowMultiMatchKeyValueShare{}}, {Path: "workflow/shared-cookie.yaml", TestCase: &workflowSharedCookies{}}, } @@ -229,6 +231,44 @@ func (h *workflowMultiProtocolKeyValueShare) Execute(filePath string) error { return expectResultsCount(results, 2) } +type workflowMultiMatchKeyValueShare struct{} + +// Execute executes a test case and returns an error if occurred +func (h *workflowMultiMatchKeyValueShare) Execute(filePath string) error { + var receivedData []string + router := httprouter.New() + router.GET("/", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { + fmt.Fprintf(w, "This is test matcher text") + }) + router.GET("/path1", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { + fmt.Fprintf(w, "href=\"test-value-%s\"", r.URL.Query().Get("v")) + }) + router.GET("/path2", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { + body, _ := io.ReadAll(r.Body) + receivedData = append(receivedData, string(body)) + fmt.Fprintf(w, "test-value") + }) + ts := httptest.NewServer(router) + defer ts.Close() + + results, err := testutils.RunNucleiWorkflowAndGetResults(filePath, ts.URL, debug) + if err != nil { + return err + } + + // Check if we received the data from both request to /path1 and it is not overwritten by the later one. + // They will appear in brackets because of another bug: https://github.com/orgs/projectdiscovery/discussions/3766 + if !sliceutil.Contains(receivedData, "[test-value-1]") || !sliceutil.Contains(receivedData, "[test-value-2]") { + return fmt.Errorf( + "incorrect data: did not receive both extracted data from the first request!\nReceived Data:\n\t%s\nResults:\n\t%s", + strings.Join(receivedData, "\n\t"), + strings.Join(results, "\n\t"), + ) + } + // The number of expected results is 3: the workflow's Matcher Name based condition check forwards both match, and the other branch with simple subtemplates goes with one + return expectResultsCount(results, 3) +} + type workflowSharedCookies struct{} // Execute executes a test case and returns an error if occurred diff --git a/integration_tests/workflow/multimatch-value-share-template.yaml b/integration_tests/workflow/multimatch-value-share-template.yaml new file mode 100644 index 0000000000..fd66975e26 --- /dev/null +++ b/integration_tests/workflow/multimatch-value-share-template.yaml @@ -0,0 +1,23 @@ +id: multimatch-value-share-template + +info: + name: MultiMatch Value Share Template + author: tovask + severity: info + +http: + - path: + - "{{BaseURL}}/path1?v=1" + - "{{BaseURL}}/path1?v=2" + matchers: + - type: word + name: test-matcher + words: + - "href" + extractors: + - type: regex + part: body + name: extracted + regex: + - 'href="(.*)"' + group: 1 diff --git a/integration_tests/workflow/multimatch-value-share-workflow.yaml b/integration_tests/workflow/multimatch-value-share-workflow.yaml new file mode 100644 index 0000000000..f197f28864 --- /dev/null +++ b/integration_tests/workflow/multimatch-value-share-workflow.yaml @@ -0,0 +1,21 @@ +id: multimatch-value-share-workflow + +info: + name: MultiMatch Value Share Workflow + author: tovask + severity: info + description: Workflow to test value sharing when multiple matches occur in the extractor template + +workflows: + - template: workflow/multimatch-value-share-template.yaml + subtemplates: + - template: workflow/match-1.yaml + subtemplates: + - template: workflow/http-value-share-template-2.yaml + - template: workflow/multimatch-value-share-template.yaml + matchers: + - name: test-matcher + subtemplates: + - template: workflow/match-1.yaml + subtemplates: + - template: workflow/http-value-share-template-2.yaml diff --git a/pkg/core/workflow_execute.go b/pkg/core/workflow_execute.go index 028df4d01f..0b5d7e8722 100644 --- a/pkg/core/workflow_execute.go +++ b/pkg/core/workflow_execute.go @@ -139,7 +139,8 @@ func (e *Engine) runWorkflowStep(template *workflows.WorkflowTemplate, ctx *scan defer swg.Done() // create a new context with the same input but with unset callbacks - subCtx := scan.NewScanContext(ctx.Context(), ctx.Input) + // clone the Input so that other parallel executions won't overwrite the shared variables when subsequent templates are running + subCtx := scan.NewScanContext(ctx.Context(), ctx.Input.Clone()) if err := e.runWorkflowStep(subtemplate, subCtx, results, swg, w); err != nil { gologger.Warning().Msgf(workflowStepExecutionError, subtemplate.Template, err) } From 1610d96bc238b505dd3b7369b702bcfdc51ad172 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 19 Sep 2024 13:34:08 +0000 Subject: [PATCH 205/283] Auto Generate Syntax Docs + JSONSchema [Thu Sep 19 13:34:08 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 10 ++++++++++ nuclei-jsonschema.json | 5 +++++ pkg/templates/templates_doc.go | 5 +++++ 3 files changed, 20 insertions(+) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index c757321494..9ec413d3ed 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -3664,8 +3664,18 @@ Enum Values: - files + - waitdom + + - waitfcp + + - waitfmp + + - waitidle + - waitload + - waitstable + - getresource - extract diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index 993a744502..b4ed1d2982 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -247,7 +247,12 @@ "time", "select", "files", + "waitdom", + "waitfcp", + "waitfmp", + "waitidle", "waitload", + "waitstable", "getresource", "extract", "setmethod", diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index b484dad565..827e583d3b 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -1603,7 +1603,12 @@ func init() { "time", "select", "files", + "waitdom", + "waitfcp", + "waitfmp", + "waitidle", "waitload", + "waitstable", "getresource", "extract", "setmethod", From b69de1577718daf397e8de3fd3465ebe082ef5d7 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:29:19 +0530 Subject: [PATCH 206/283] fix: Parse OpenApi http security schemes on empty values (#5606) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: parse openapi http security schemes on empty values * minor --------- Co-authored-by: Doğan Can Bakır --- pkg/input/formats/openapi/generator.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/input/formats/openapi/generator.go b/pkg/input/formats/openapi/generator.go index 63fef7e290..e22c078769 100644 --- a/pkg/input/formats/openapi/generator.go +++ b/pkg/input/formats/openapi/generator.go @@ -27,7 +27,8 @@ import ( ) const ( - globalAuth = "globalAuth" + globalAuth = "globalAuth" + DEFAULT_HTTP_SCHEME_HEADER = "Authorization" ) // GenerateRequestsFromSchema generates http requests from an OpenAPI 3.0 document object @@ -426,18 +427,20 @@ func GenerateParameterFromSecurityScheme(scheme *openapi3.SecuritySchemeRef) (*o if !generic.EqualsAny(scheme.Value.Scheme, "basic", "bearer") { return nil, errorutil.NewWithTag("openapi", "unsupported security scheme (%s) found in openapi file", scheme.Value.Scheme) } - if scheme.Value.Name == "" { - return nil, errorutil.NewWithTag("openapi", "security scheme (%s) name is empty", scheme.Value.Scheme) + // HTTP authentication schemes basic or bearer use the Authorization header + headerName := scheme.Value.Name + if headerName == "" { + headerName = DEFAULT_HTTP_SCHEME_HEADER } // create parameters using the scheme switch scheme.Value.Scheme { case "basic": - h := openapi3.NewHeaderParameter(scheme.Value.Name) + h := openapi3.NewHeaderParameter(headerName) h.Required = true h.Description = globalAuth // differentiator for normal variables and global auth return h, nil case "bearer": - h := openapi3.NewHeaderParameter(scheme.Value.Name) + h := openapi3.NewHeaderParameter(headerName) h.Required = true h.Description = globalAuth // differentiator for normal variables and global auth return h, nil From 3eee9678d06c075049a259149422024ad861434a Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 20 Sep 2024 23:04:42 +0530 Subject: [PATCH 207/283] fix loading dynamic auth templates on fuzzing (#5646) --- internal/runner/lazy.go | 1 + pkg/catalog/loader/loader.go | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/runner/lazy.go b/internal/runner/lazy.go index eb41374513..900850b673 100644 --- a/internal/runner/lazy.go +++ b/internal/runner/lazy.go @@ -51,6 +51,7 @@ func GetAuthTmplStore(opts types.Options, catalog catalog.Catalog, execOpts prot opts.ExcludeProtocols = nil opts.IncludeConditions = nil cfg := loader.NewConfig(&opts, catalog, execOpts) + cfg.StoreId = loader.AuthStoreId store, err := loader.New(cfg) if err != nil { return nil, errorutil.NewWithErr(err).Msgf("failed to initialize dynamic auth templates store") diff --git a/pkg/catalog/loader/loader.go b/pkg/catalog/loader/loader.go index 731ebbd68e..48f14a4054 100644 --- a/pkg/catalog/loader/loader.go +++ b/pkg/catalog/loader/loader.go @@ -33,6 +33,7 @@ import ( const ( httpPrefix = "http://" httpsPrefix = "https://" + AuthStoreId = "auth_store" ) var ( @@ -41,6 +42,7 @@ var ( // Config contains the configuration options for the loader type Config struct { + StoreId string // used to set store id (optional) Templates []string TemplateURLs []string Workflows []string @@ -67,6 +69,7 @@ type Config struct { // Store is a storage for loaded nuclei templates type Store struct { + id string // id of the store (optional) tagFilter *templates.TagFilter pathFilter *filter.PathFilter config *Config @@ -132,6 +135,7 @@ func New(cfg *Config) (*Store, error) { // Create a tag filter based on provided configuration store := &Store{ + id: cfg.StoreId, config: cfg, tagFilter: tagFilter, pathFilter: filter.NewPathFilter(&filter.PathFilterConfig{ @@ -230,6 +234,10 @@ func (store *Store) ReadTemplateFromURI(uri string, remote bool) ([]byte, error) } } +func (store *Store) ID() string { + return store.id +} + // Templates returns all the templates in the store func (store *Store) Templates() []*templates.Template { return store.templates @@ -472,7 +480,8 @@ func (store *Store) LoadTemplatesWithTags(templatesList, tags []string) []*templ return } // DAST only templates - if store.config.ExecutorOptions.Options.DAST { + // Skip DAST filter when loading auth templates + if store.ID() != AuthStoreId && store.config.ExecutorOptions.Options.DAST { // check if the template is a DAST template if parsed.IsFuzzing() { loadTemplate(parsed) From 694835c459517250c661399e0320e74f1db3387e Mon Sep 17 00:00:00 2001 From: Douglas Danger Manley <127235272+doug-threatmate@users.noreply.github.com> Date: Fri, 20 Sep 2024 17:11:22 -0400 Subject: [PATCH 208/283] Add more support for `fs.FS` in template parsing (#5421) * misc update * chore(deps): bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1 (#4252) Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.0 to 1.9.1. - [Release notes](https://github.com/gin-gonic/gin/releases) - [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md) - [Commits](https://github.com/gin-gonic/gin/compare/v1.9.0...v1.9.1) --- updated-dependencies: - dependency-name: github.com/gin-gonic/gin dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/docker/docker (#4316) Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.5+incompatible to 24.0.7+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v24.0.5...v24.0.7) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix README_CN.md typos (#4369) * version update * Add more support for `fs.FS` in the disk catalog This adds more support for `fs.FS` in the disk catalog. This fixes some places where direct `os` file-related calls were being made to use the catalog interface instead. Note that the JavaScript compiler *still* does not work in any context where the `pkg/js/libs/fs` package is used. In particular, the `ReadFilesFromDir` function is hard-coded to use the `os` package and not respect the catalog. * Remove some testing artifacts * Wrap up * Unwind other changes * Add a LoadHelperFileFunction to Options * Use a direct func * Tweak validation * Use a function type --------- Signed-off-by: dependabot[bot] Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xc1Ym Co-authored-by: Sandeep Singh --- pkg/catalog/disk/find.go | 13 +++++++- pkg/catalog/disk/path.go | 34 +++++++++++++++------ pkg/protocols/common/generators/validate.go | 7 +++++ pkg/types/types.go | 21 +++++++++++-- 4 files changed, 62 insertions(+), 13 deletions(-) diff --git a/pkg/catalog/disk/find.go b/pkg/catalog/disk/find.go index a5d46ff078..0e4021b87c 100644 --- a/pkg/catalog/disk/find.go +++ b/pkg/catalog/disk/find.go @@ -216,12 +216,17 @@ func (c *DiskCatalog) findGlobPathMatches(absPath string, processed map[string]s // is a file, it returns true otherwise false with no errors. func (c *DiskCatalog) findFileMatches(absPath string, processed map[string]struct{}) (match string, matched bool, err error) { if c.templatesFS != nil { - absPath = strings.TrimPrefix(absPath, "/") + absPath = strings.Trim(absPath, "/") } var info fs.File if c.templatesFS == nil { info, err = os.Open(absPath) } else { + // If we were given no path, then it's not a file, it's the root, and we can quietly return. + if absPath == "" { + return "", false, nil + } + info, err = c.templatesFS.Open(absPath) } if err != nil { @@ -263,6 +268,12 @@ func (c *DiskCatalog) findDirectoryMatches(absPath string, processed map[string] }, ) } else { + // For the special case of the root directory, we need to pass "." to `fs.WalkDir`. + if absPath == "" { + absPath = "." + } + absPath = strings.TrimSuffix(absPath, "/") + err = fs.WalkDir( c.templatesFS, absPath, diff --git a/pkg/catalog/disk/path.go b/pkg/catalog/disk/path.go index a55faee8f6..5c4b6dbb95 100644 --- a/pkg/catalog/disk/path.go +++ b/pkg/catalog/disk/path.go @@ -2,6 +2,7 @@ package disk import ( "fmt" + "io/fs" "os" "path/filepath" "strings" @@ -21,6 +22,11 @@ func (c *DiskCatalog) ResolvePath(templateName, second string) (string, error) { if filepath.IsAbs(templateName) { return templateName, nil } + if c.templatesFS != nil { + if potentialPath, err := c.tryResolve(templateName); err != errNoValidCombination { + return potentialPath, nil + } + } if second != "" { secondBasePath := filepath.Join(filepath.Dir(second), templateName) if potentialPath, err := c.tryResolve(secondBasePath); err != errNoValidCombination { @@ -28,17 +34,19 @@ func (c *DiskCatalog) ResolvePath(templateName, second string) (string, error) { } } - curDirectory, err := os.Getwd() - if err != nil { - return "", err - } + if c.templatesFS == nil { + curDirectory, err := os.Getwd() + if err != nil { + return "", err + } - templatePath := filepath.Join(curDirectory, templateName) - if potentialPath, err := c.tryResolve(templatePath); err != errNoValidCombination { - return potentialPath, nil + templatePath := filepath.Join(curDirectory, templateName) + if potentialPath, err := c.tryResolve(templatePath); err != errNoValidCombination { + return potentialPath, nil + } } - templatePath = filepath.Join(config.DefaultConfig.GetTemplateDir(), templateName) + templatePath := filepath.Join(config.DefaultConfig.GetTemplateDir(), templateName) if potentialPath, err := c.tryResolve(templatePath); err != errNoValidCombination { return potentialPath, nil } @@ -50,8 +58,14 @@ var errNoValidCombination = errors.New("no valid combination found") // tryResolve attempts to load locate the target by iterating across all the folders tree func (c *DiskCatalog) tryResolve(fullPath string) (string, error) { - if fileutil.FileOrFolderExists(fullPath) { - return fullPath, nil + if c.templatesFS == nil { + if fileutil.FileOrFolderExists(fullPath) { + return fullPath, nil + } + } else { + if _, err := fs.Stat(c.templatesFS, fullPath); err == nil { + return fullPath, nil + } } return "", errNoValidCombination } diff --git a/pkg/protocols/common/generators/validate.go b/pkg/protocols/common/generators/validate.go index adb537d289..0aa0737149 100644 --- a/pkg/protocols/common/generators/validate.go +++ b/pkg/protocols/common/generators/validate.go @@ -22,6 +22,13 @@ func (g *PayloadGenerator) validate(payloads map[string]interface{}, templatePat return errors.New("invalid number of lines in payload") } + // For historical reasons, "validate" checks to see if the payload file exist. + // If we're using a custom helper function, then we need to skip any validation beyond just checking the string syntax. + // Actually attempting to load the file will determine whether or not it exists. + if g.options.LoadHelperFileFunction != nil { + return nil + } + // check if it's a file and try to load it if fileutil.FileExists(payloadType) { continue diff --git a/pkg/types/types.go b/pkg/types/types.go index 51375e7342..9cc88f49ff 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -23,6 +23,9 @@ var ( ErrNoMoreRequests = io.EOF ) +// LoadHelperFileFunction can be used to load a helper file. +type LoadHelperFileFunction func(helperFile, templatePath string, catalog catalog.Catalog) (io.ReadCloser, error) + // Options contains the configuration options for nuclei scanner. type Options struct { // Tags contains a list of tags to execute templates for. Multiple paths @@ -408,6 +411,9 @@ type Options struct { HttpApiEndpoint string // ListTemplateProfiles lists all available template profiles ListTemplateProfiles bool + // LoadHelperFileFunction is a function that will be used to execute LoadHelperFile. + // If none is provided, then the default implementation will be used. + LoadHelperFileFunction LoadHelperFileFunction // timeouts contains various types of timeouts used in nuclei // these timeouts are derived from dial-timeout (-timeout) with known multipliers // This is internally managed and does not need to be set by user by explicitly setting @@ -540,10 +546,21 @@ func (options *Options) ParseHeadlessOptionalArguments() map[string]string { return optionalArguments } -// LoadHelperFile loads a helper file needed for the template +// LoadHelperFile loads a helper file needed for the template. +// +// If LoadHelperFileFunction is set, then that function will be used. +// Otherwise, the default implementation will be used, which respects the sandbox rules and only loads files from allowed directories. +func (options *Options) LoadHelperFile(helperFile, templatePath string, catalog catalog.Catalog) (io.ReadCloser, error) { + if options.LoadHelperFileFunction != nil { + return options.LoadHelperFileFunction(helperFile, templatePath, catalog) + } + return options.defaultLoadHelperFile(helperFile, templatePath, catalog) +} + +// defaultLoadHelperFile loads a helper file needed for the template // this respects the sandbox rules and only loads files from // allowed directories -func (options *Options) LoadHelperFile(helperFile, templatePath string, catalog catalog.Catalog) (io.ReadCloser, error) { +func (options *Options) defaultLoadHelperFile(helperFile, templatePath string, catalog catalog.Catalog) (io.ReadCloser, error) { if !options.AllowLocalFileAccess { // if global file access is disabled try loading with restrictions absPath, err := options.GetValidAbsPath(helperFile, templatePath) From b18f99e4621141ba2b61c0ec82eb6d9c78602571 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 05:16:47 +0000 Subject: [PATCH 209/283] chore(deps): bump github.com/projectdiscovery/rawhttp Bumps [github.com/projectdiscovery/rawhttp](https://github.com/projectdiscovery/rawhttp) from 0.1.65 to 0.1.67. - [Release notes](https://github.com/projectdiscovery/rawhttp/releases) - [Commits](https://github.com/projectdiscovery/rawhttp/compare/v0.1.65...v0.1.67) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/rawhttp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index fc2934614e..0cdfc66be3 100644 --- a/go.mod +++ b/go.mod @@ -20,12 +20,12 @@ require ( github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.1 - github.com/projectdiscovery/fastdialer v0.2.7 + github.com/projectdiscovery/fastdialer v0.2.9 github.com/projectdiscovery/hmap v0.0.58 github.com/projectdiscovery/interactsh v1.2.0 - github.com/projectdiscovery/rawhttp v0.1.65 - github.com/projectdiscovery/retryabledns v1.0.74 - github.com/projectdiscovery/retryablehttp-go v1.0.76 + github.com/projectdiscovery/rawhttp v0.1.67 + github.com/projectdiscovery/retryabledns v1.0.76 + github.com/projectdiscovery/retryablehttp-go v1.0.78 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 github.com/rs/xid v1.5.0 @@ -85,7 +85,7 @@ require ( github.com/projectdiscovery/fasttemplate v0.0.2 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb github.com/projectdiscovery/goflags v0.1.64 - github.com/projectdiscovery/gologger v1.1.23 + github.com/projectdiscovery/gologger v1.1.24 github.com/projectdiscovery/gostruct v0.0.2 github.com/projectdiscovery/gozero v0.0.2 github.com/projectdiscovery/httpx v1.6.8 @@ -97,7 +97,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.7 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.65 - github.com/projectdiscovery/utils v0.2.8 + github.com/projectdiscovery/utils v0.2.10 github.com/projectdiscovery/wappalyzergo v0.1.18 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 diff --git a/go.sum b/go.sum index b1a6fc5f92..b91861860e 100644 --- a/go.sum +++ b/go.sum @@ -834,8 +834,8 @@ github.com/projectdiscovery/clistats v0.1.1 h1:8mwbdbwTU4aT88TJvwIzTpiNeow3XnAB7 github.com/projectdiscovery/clistats v0.1.1/go.mod h1:4LtTC9Oy//RiuT1+76MfTg8Hqs7FQp1JIGBM3nHK6a0= github.com/projectdiscovery/dsl v0.2.1 h1:TK3KD4jsg4YbvY7WJqnz1QyH4AOvAwezeBFOX97Evgk= github.com/projectdiscovery/dsl v0.2.1/go.mod h1:IRQXsmi5/g1dDZ79//A9t2vrRtxm4frRSd5t8CZVSbI= -github.com/projectdiscovery/fastdialer v0.2.7 h1:x7bEf/kDyVOuG9kHfJLMhWO3h7J+6fMDgLWkGYL8EFg= -github.com/projectdiscovery/fastdialer v0.2.7/go.mod h1:7/BGdaw7sCekuBh6lLZqPuoO5N0Qaizwvex/PjO+V8o= +github.com/projectdiscovery/fastdialer v0.2.9 h1:vDCqxVMCyUu3oVEizEK1K8K+CCcLkVDW3X2HfiWaVFA= +github.com/projectdiscovery/fastdialer v0.2.9/go.mod h1:mYv5QaNBDDSHlZO9DI0niRMw+G5hUzwIhs8QixSElUI= github.com/projectdiscovery/fasttemplate v0.0.2 h1:h2cISk5xDhlJEinlBQS6RRx0vOlOirB2y3Yu4PJzpiA= github.com/projectdiscovery/fasttemplate v0.0.2/go.mod h1:XYWWVMxnItd+r0GbjA1GCsUopMw1/XusuQxdyAIHMCw= github.com/projectdiscovery/freeport v0.0.6 h1:ROqzuXN8JPqkGdBueb3ah691nS2g2p7r3/3x2E33GbI= @@ -844,8 +844,8 @@ github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb h1:rutG90 github.com/projectdiscovery/go-smb2 v0.0.0-20240129202741-052cc450c6cb/go.mod h1:FLjF1DmZ+POoGEiIQdWuYVwS++C/GwpX8YaCsTSm1RY= github.com/projectdiscovery/goflags v0.1.64 h1:FDfwdt9N97Hi8OuhbkDlKtVttpc/CRMIWQVa08VsHsI= github.com/projectdiscovery/goflags v0.1.64/go.mod h1:3FyHIVQtnycNOc1LE3O1jj/XR5XuMdF9QfHd0ujhnX4= -github.com/projectdiscovery/gologger v1.1.23 h1:u9ksRgkWuUoaOqkk0Z1FngWriXH0Bnt73yYwFGmZo8E= -github.com/projectdiscovery/gologger v1.1.23/go.mod h1:zcFt3u4U0kmhXou7cTXWwwu+yqVPX3GSABD1hqU0Ur8= +github.com/projectdiscovery/gologger v1.1.24 h1:TmA4k9sA6ZvfyRnprZKQ0Uq34g//u5R9yTDPL9IzTOQ= +github.com/projectdiscovery/gologger v1.1.24/go.mod h1:JA0JMJ+ply+J2wD062TN4h85thm6/28jAlrntwccKVU= github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBDDSv7VEdG1M= github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= @@ -868,14 +868,14 @@ github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+ github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= github.com/projectdiscovery/ratelimit v0.0.53 h1:1ci2zaVCtJ9daDi9IXjNwpDxl2InYq375role/xqUR4= github.com/projectdiscovery/ratelimit v0.0.53/go.mod h1:4kNYTL7xKLo1qMYHTREUCBqHyvykFF+XBWutTh9fkwg= -github.com/projectdiscovery/rawhttp v0.1.65 h1:/SGp+UbFBSDquEHgWGA8VRH3kYiM9uMFQjfLfXBKOfY= -github.com/projectdiscovery/rawhttp v0.1.65/go.mod h1:X7kvZ1uTzdSHc5bb68qmmpit6DGuqc1wXQLfFNfRJq0= +github.com/projectdiscovery/rawhttp v0.1.67 h1:HYzathMk3c8Y83hYjHM4GCBFbz/G+vABe0Lz6ajaowY= +github.com/projectdiscovery/rawhttp v0.1.67/go.mod h1:5viJ6odzc9ZuEFppj/E7HdX+u99FoYlvXnhHyTNc7N0= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.74 h1:4NtSjnVdPWT1NuabOMf5vjUoky3X1DwJN6iFanrtQnk= -github.com/projectdiscovery/retryabledns v1.0.74/go.mod h1:GRBpKmWIds0UVeDpqSek2Q8RITuuIZWD5wHL4cN5geg= -github.com/projectdiscovery/retryablehttp-go v1.0.76 h1:2+4QpWnXUZFBkoeCEBXtUjSeBTdgKtaGwP8LRtKAC3g= -github.com/projectdiscovery/retryablehttp-go v1.0.76/go.mod h1:0qIv7Ld8WWSKWYXMsNAWRYU5gsxnxpBza3SjDgt6nVc= +github.com/projectdiscovery/retryabledns v1.0.76 h1:6PyRCSW5SMUfE7uozZWckWuIDnBgLU/b1ofeWqeKONs= +github.com/projectdiscovery/retryabledns v1.0.76/go.mod h1:vc4L2dng+nPLpQu7s0eqFc0OvyrZibuMNWFMA9bnN3w= +github.com/projectdiscovery/retryablehttp-go v1.0.78 h1:If7/XjCWk893YrnTMaW69TNMsfE1Er3i1SWOkWbEk4E= +github.com/projectdiscovery/retryablehttp-go v1.0.78/go.mod h1:NqzTdnGihSRkF9c/aXo+3qTJXEeNwnOuza6GrlPo9qw= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ= github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA= @@ -886,8 +886,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= -github.com/projectdiscovery/utils v0.2.8 h1:++NcCJ+lXEfNBHKBs6q+cWa8JrVS8cYdGcW9jOgZebI= -github.com/projectdiscovery/utils v0.2.8/go.mod h1:UYJ8GKbZaezPFRT/cOk01LreQZ1QK0fko1EUnSUiSGU= +github.com/projectdiscovery/utils v0.2.10 h1:MFx9pAaSyYGjXNi46mdAD7ceSZ80E0AGeuBj8fXaAF4= +github.com/projectdiscovery/utils v0.2.10/go.mod h1:jvTckFUQxZSiJrhACUuU63tqtd0tdBu3ng3QUVm/Ce0= github.com/projectdiscovery/wappalyzergo v0.1.18 h1:fFgETis0HcsNE7wREaUPYP45JqIyHgGorJaVp1RH7g4= github.com/projectdiscovery/wappalyzergo v0.1.18/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= From 182e000f2c1e9ba85d3f0b7b8b5861e9da8b5152 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 05:43:13 +0000 Subject: [PATCH 210/283] chore(deps): bump github.com/projectdiscovery/ratelimit Bumps [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) from 0.0.53 to 0.0.56. - [Release notes](https://github.com/projectdiscovery/ratelimit/releases) - [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.53...v0.0.56) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/ratelimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0cdfc66be3..4c3f14ab40 100644 --- a/go.mod +++ b/go.mod @@ -91,7 +91,7 @@ require ( github.com/projectdiscovery/httpx v1.6.8 github.com/projectdiscovery/mapcidr v1.1.34 github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 - github.com/projectdiscovery/ratelimit v0.0.53 + github.com/projectdiscovery/ratelimit v0.0.56 github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.7 diff --git a/go.sum b/go.sum index b91861860e..fc6751209e 100644 --- a/go.sum +++ b/go.sum @@ -866,8 +866,8 @@ github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5 h1:L/e8z8yw github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5/go.mod h1:pGW2ncnTxTxHtP9wzcIJAB+3/NMp6IiuQWd2NK7K+oc= github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+nek7TdtvEBwCxqk= github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M= -github.com/projectdiscovery/ratelimit v0.0.53 h1:1ci2zaVCtJ9daDi9IXjNwpDxl2InYq375role/xqUR4= -github.com/projectdiscovery/ratelimit v0.0.53/go.mod h1:4kNYTL7xKLo1qMYHTREUCBqHyvykFF+XBWutTh9fkwg= +github.com/projectdiscovery/ratelimit v0.0.56 h1:WliU7NvfMb5hK/IJjOFlWIXU1G7+QRylMhSybaSCTI8= +github.com/projectdiscovery/ratelimit v0.0.56/go.mod h1:GbnAo+MbB4R/4jiOI1mH4KAJfovmrPnq4NElcI99fvs= github.com/projectdiscovery/rawhttp v0.1.67 h1:HYzathMk3c8Y83hYjHM4GCBFbz/G+vABe0Lz6ajaowY= github.com/projectdiscovery/rawhttp v0.1.67/go.mod h1:5viJ6odzc9ZuEFppj/E7HdX+u99FoYlvXnhHyTNc7N0= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= From 3e6c62b03b4a471bfef8cc5bf63c1b7aff53eeb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 05:43:17 +0000 Subject: [PATCH 211/283] chore(deps): bump github.com/projectdiscovery/useragent Bumps [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) from 0.0.65 to 0.0.71. - [Release notes](https://github.com/projectdiscovery/useragent/releases) - [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.65...v0.0.71) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/useragent dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0cdfc66be3..344e530191 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/projectdiscovery/sarif v0.0.1 github.com/projectdiscovery/tlsx v1.1.7 github.com/projectdiscovery/uncover v1.0.9 - github.com/projectdiscovery/useragent v0.0.65 + github.com/projectdiscovery/useragent v0.0.71 github.com/projectdiscovery/utils v0.2.10 github.com/projectdiscovery/wappalyzergo v0.1.18 github.com/redis/go-redis/v9 v9.1.0 diff --git a/go.sum b/go.sum index b91861860e..8c68810570 100644 --- a/go.sum +++ b/go.sum @@ -884,8 +884,8 @@ github.com/projectdiscovery/tlsx v1.1.7 h1:eSsl/SmTDL/z2CMeSrbssk4f/9oOotMP1SgXl github.com/projectdiscovery/tlsx v1.1.7/go.mod h1:g66QQ4/y4tLVjoGbzWIv+Q6xwFzxfJbEDx86Y1dYHDM= github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0JprejqLSopN9Y= github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= -github.com/projectdiscovery/useragent v0.0.65 h1:x78ZwWdqpzokOHxLITUXvq+ljkTKc19z3ILGtoV1N70= -github.com/projectdiscovery/useragent v0.0.65/go.mod h1:deOP8YLJU6SCzM8k+K8PjkcOF4Ux0spqyO4ODZGIT4A= +github.com/projectdiscovery/useragent v0.0.71 h1:Q02L3LV15ztOQ6FfmVSqVmOd5QhvzI+yAgYOc/32Nvg= +github.com/projectdiscovery/useragent v0.0.71/go.mod h1:DHPruFLCvCvkd2qqPwwQZrP9sziv0lxQJ0R1rE1fa8E= github.com/projectdiscovery/utils v0.2.10 h1:MFx9pAaSyYGjXNi46mdAD7ceSZ80E0AGeuBj8fXaAF4= github.com/projectdiscovery/utils v0.2.10/go.mod h1:jvTckFUQxZSiJrhACUuU63tqtd0tdBu3ng3QUVm/Ce0= github.com/projectdiscovery/wappalyzergo v0.1.18 h1:fFgETis0HcsNE7wREaUPYP45JqIyHgGorJaVp1RH7g4= From 9983d7415c3da36d8fa588fde258516d280c7f57 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 23 Sep 2024 17:27:30 +0700 Subject: [PATCH 212/283] refactor(runner): adjust `max-host-error` if gt `concurrency` (#5633) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(common): use `ParseRequestURI` instead when `NormalizeCacheValue` also it exports the method Signed-off-by: Dwi Siswanto * refactor(runner): adjust `max-host-error` if gt `concurrency` Signed-off-by: Dwi Siswanto * fix lint * chore(runner): expose adjusted `max-host-error` value Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto Co-authored-by: Doğan Can Bakır --- internal/runner/runner.go | 11 ++++- .../common/hosterrorscache/hosterrorscache.go | 42 ++++++++++++------- .../hosterrorscache/hosterrorscache_test.go | 4 +- 3 files changed, 38 insertions(+), 19 deletions(-) diff --git a/internal/runner/runner.go b/internal/runner/runner.go index b36d8ed584..0b6da592d3 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -501,8 +501,17 @@ func (r *Runner) RunEnumeration() error { } if r.options.ShouldUseHostError() { - cache := hosterrorscache.New(r.options.MaxHostError, hosterrorscache.DefaultMaxHostsCount, r.options.TrackError) + maxHostError := r.options.MaxHostError + if r.options.TemplateThreads > maxHostError { + gologger.Print().Msgf("[%v] The concurrency value is higher than max-host-error", r.colorizer.BrightYellow("WRN")) + gologger.Info().Msgf("Adjusting max-host-error to the concurrency value: %d", r.options.TemplateThreads) + + maxHostError = r.options.TemplateThreads + } + + cache := hosterrorscache.New(maxHostError, hosterrorscache.DefaultMaxHostsCount, r.options.TrackError) cache.SetVerbose(r.options.Verbose) + r.hostErrors = cache executorOpts.HostErrorsCache = cache } diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index 1630e97c7d..bcfa27dbe4 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -75,24 +75,34 @@ func (c *Cache) Close() { c.failedTargets.Purge() } -func (c *Cache) normalizeCacheValue(value string) string { - finalValue := value - if strings.HasPrefix(value, "http") { - if parsed, err := url.Parse(value); err == nil { - hostname := parsed.Host - finalPort := parsed.Port() - if finalPort == "" { - if parsed.Scheme == "https" { - finalPort = "443" - } else { - finalPort = "80" - } - hostname = net.JoinHostPort(parsed.Host, finalPort) +// NormalizeCacheValue processes the input value and returns a normalized cache +// value. +func (c *Cache) NormalizeCacheValue(value string) string { + var normalizedValue string = value + + u, err := url.ParseRequestURI(value) + if err != nil || u.Host == "" { + u, err2 := url.ParseRequestURI("https://" + value) + if err2 != nil { + return normalizedValue + } + + normalizedValue = u.Host + } else { + port := u.Port() + if port == "" { + switch u.Scheme { + case "https": + normalizedValue = net.JoinHostPort(u.Host, "443") + case "http": + normalizedValue = net.JoinHostPort(u.Host, "80") } - finalValue = hostname + } else { + normalizedValue = u.Host } } - return finalValue + + return normalizedValue } // ErrUnresponsiveHost is returned when a host is unresponsive @@ -166,7 +176,7 @@ func (c *Cache) GetKeyFromContext(ctx *contextargs.Context, err error) string { address = tmp.String() } } - finalValue := c.normalizeCacheValue(address) + finalValue := c.NormalizeCacheValue(address) return finalValue } diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go index 112690d875..3c93177674 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go @@ -109,7 +109,7 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { // the cache is not atomic during items creation, so we pre-create them with counter to zero for _, test := range tests { - normalizedValue := cache.normalizeCacheValue(test.host) + normalizedValue := cache.NormalizeCacheValue(test.host) newItem := &cacheItem{errors: atomic.Int32{}} newItem.errors.Store(0) _ = cache.failedTargets.Set(normalizedValue, newItem) @@ -131,7 +131,7 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { for _, test := range tests { require.True(t, cache.Check(newCtxArgs(test.host))) - normalizedCacheValue := cache.normalizeCacheValue(test.host) + normalizedCacheValue := cache.NormalizeCacheValue(test.host) failedTarget, err := cache.failedTargets.Get(normalizedCacheValue) require.Nil(t, err) require.NotNil(t, failedTarget) From 828dac90025f803bd5621cd3f638189498b49d66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 17:49:04 +0530 Subject: [PATCH 213/283] chore(deps): bump github.com/projectdiscovery/retryabledns (#5657) Bumps [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) from 1.0.74 to 1.0.77. - [Release notes](https://github.com/projectdiscovery/retryabledns/releases) - [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.74...v1.0.77) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/retryabledns dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 73fc84aa9b..a4f29ff9b9 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/projectdiscovery/hmap v0.0.58 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.67 - github.com/projectdiscovery/retryabledns v1.0.76 + github.com/projectdiscovery/retryabledns v1.0.77 github.com/projectdiscovery/retryablehttp-go v1.0.78 github.com/projectdiscovery/yamldoc-go v1.0.4 github.com/remeh/sizedwaitgroup v1.0.0 diff --git a/go.sum b/go.sum index a51634bab3..4e5a765cf5 100644 --- a/go.sum +++ b/go.sum @@ -872,8 +872,8 @@ github.com/projectdiscovery/rawhttp v0.1.67 h1:HYzathMk3c8Y83hYjHM4GCBFbz/G+vABe github.com/projectdiscovery/rawhttp v0.1.67/go.mod h1:5viJ6odzc9ZuEFppj/E7HdX+u99FoYlvXnhHyTNc7N0= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk= github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg= -github.com/projectdiscovery/retryabledns v1.0.76 h1:6PyRCSW5SMUfE7uozZWckWuIDnBgLU/b1ofeWqeKONs= -github.com/projectdiscovery/retryabledns v1.0.76/go.mod h1:vc4L2dng+nPLpQu7s0eqFc0OvyrZibuMNWFMA9bnN3w= +github.com/projectdiscovery/retryabledns v1.0.77 h1:rCFSiTPNI7h9PP1uUvrmcq/6XVZVdxpha2H1ioArKpk= +github.com/projectdiscovery/retryabledns v1.0.77/go.mod h1:ce1JTjAOxLujqITtA5VLlbhLRVubx+GETYasivapai4= github.com/projectdiscovery/retryablehttp-go v1.0.78 h1:If7/XjCWk893YrnTMaW69TNMsfE1Er3i1SWOkWbEk4E= github.com/projectdiscovery/retryablehttp-go v1.0.78/go.mod h1:NqzTdnGihSRkF9c/aXo+3qTJXEeNwnOuza6GrlPo9qw= github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGLkKCr/us= From 6a561c64700d05ff2141860c768374d6ca1ea07d Mon Sep 17 00:00:00 2001 From: Ice3man Date: Tue, 24 Sep 2024 18:43:35 +0530 Subject: [PATCH 214/283] feat: clone event in clustering to generate correct failure events (#5653) --- pkg/output/output.go | 10 ++++++++++ pkg/templates/cluster.go | 34 +++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/pkg/output/output.go b/pkg/output/output.go index 07c6f4c71f..fbc9f71306 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "log/slog" + "maps" "os" "path/filepath" "regexp" @@ -99,6 +100,15 @@ type InternalWrappedEvent struct { InteractshMatched atomic.Bool } +func (iwe *InternalWrappedEvent) CloneShallow() *InternalWrappedEvent { + return &InternalWrappedEvent{ + InternalEvent: maps.Clone(iwe.InternalEvent), + Results: nil, + OperatorsResult: nil, + UsesInteractsh: iwe.UsesInteractsh, + } +} + func (iwe *InternalWrappedEvent) HasOperatorResult() bool { iwe.RLock() defer iwe.RUnlock() diff --git a/pkg/templates/cluster.go b/pkg/templates/cluster.go index a4a4ac4bad..8f1af96b74 100644 --- a/pkg/templates/cluster.go +++ b/pkg/templates/cluster.go @@ -251,23 +251,25 @@ func (e *ClusterExecuter) Execute(ctx *scan.ScanContext) (bool, error) { event.InternalEvent = make(map[string]interface{}) } for _, operator := range e.operators { - result, matched := operator.operator.Execute(event.InternalEvent, e.requests.Match, e.requests.Extract, e.options.Options.Debug || e.options.Options.DebugResponse) - event.InternalEvent["template-id"] = operator.templateID - event.InternalEvent["template-path"] = operator.templatePath - event.InternalEvent["template-info"] = operator.templateInfo + clonedEvent := event.CloneShallow() + + result, matched := operator.operator.Execute(clonedEvent.InternalEvent, e.requests.Match, e.requests.Extract, e.options.Options.Debug || e.options.Options.DebugResponse) + clonedEvent.InternalEvent["template-id"] = operator.templateID + clonedEvent.InternalEvent["template-path"] = operator.templatePath + clonedEvent.InternalEvent["template-info"] = operator.templateInfo if result == nil && !matched && e.options.Options.MatcherStatus { - if err := e.options.Output.WriteFailure(event); err != nil { + if err := e.options.Output.WriteFailure(clonedEvent); err != nil { gologger.Warning().Msgf("Could not write failure event to output: %s\n", err) } continue } if matched && result != nil { - event.OperatorsResult = result - event.Results = e.requests.MakeResultEvent(event) + clonedEvent.OperatorsResult = result + clonedEvent.Results = e.requests.MakeResultEvent(clonedEvent) results = true - _ = writer.WriteResult(event, e.options.Output, e.options.Progress, e.options.IssuesClient) + _ = writer.WriteResult(clonedEvent, e.options.Output, e.options.Progress, e.options.IssuesClient) } } }) @@ -290,14 +292,16 @@ func (e *ClusterExecuter) ExecuteWithResults(ctx *scan.ScanContext) ([]*output.R } err := e.requests.ExecuteWithResults(inputItem, dynamicValues, nil, func(event *output.InternalWrappedEvent) { for _, operator := range e.operators { - result, matched := operator.operator.Execute(event.InternalEvent, e.requests.Match, e.requests.Extract, e.options.Options.Debug || e.options.Options.DebugResponse) + clonedEvent := event.CloneShallow() + + result, matched := operator.operator.Execute(clonedEvent.InternalEvent, e.requests.Match, e.requests.Extract, e.options.Options.Debug || e.options.Options.DebugResponse) if matched && result != nil { - event.OperatorsResult = result - event.InternalEvent["template-id"] = operator.templateID - event.InternalEvent["template-path"] = operator.templatePath - event.InternalEvent["template-info"] = operator.templateInfo - event.Results = e.requests.MakeResultEvent(event) - scanCtx.LogEvent(event) + clonedEvent.OperatorsResult = result + clonedEvent.InternalEvent["template-id"] = operator.templateID + clonedEvent.InternalEvent["template-path"] = operator.templatePath + clonedEvent.InternalEvent["template-info"] = operator.templateInfo + clonedEvent.Results = e.requests.MakeResultEvent(clonedEvent) + scanCtx.LogEvent(clonedEvent) } } }) From c93a2b1ba412adb7aa353d97c0cdadd581ff6602 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 18:44:01 +0530 Subject: [PATCH 215/283] chore(deps): bump github.com/projectdiscovery/utils from 0.2.8 to 0.2.11 (#5660) Bumps [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) from 0.2.8 to 0.2.11. - [Release notes](https://github.com/projectdiscovery/utils/releases) - [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md) - [Commits](https://github.com/projectdiscovery/utils/compare/v0.2.8...v0.2.11) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/utils dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 35 ++++++++++++----------- go.sum | 89 ++++++++++++++++++++++++++++++++-------------------------- 2 files changed, 68 insertions(+), 56 deletions(-) diff --git a/go.mod b/go.mod index a4f29ff9b9..f2adacca21 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/projectdiscovery/clistats v0.1.1 github.com/projectdiscovery/fastdialer v0.2.9 - github.com/projectdiscovery/hmap v0.0.58 + github.com/projectdiscovery/hmap v0.0.59 github.com/projectdiscovery/interactsh v1.2.0 github.com/projectdiscovery/rawhttp v0.1.67 github.com/projectdiscovery/retryabledns v1.0.77 @@ -38,9 +38,9 @@ require ( github.com/weppos/publicsuffix-go v0.30.2 github.com/xanzy/go-gitlab v0.107.0 go.uber.org/multierr v1.11.0 - golang.org/x/net v0.26.0 + golang.org/x/net v0.29.0 golang.org/x/oauth2 v0.22.0 - golang.org/x/text v0.16.0 + golang.org/x/text v0.18.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -59,7 +59,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.72 github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0 github.com/cespare/xxhash v1.1.0 - github.com/charmbracelet/glamour v0.6.0 + github.com/charmbracelet/glamour v0.8.0 github.com/clbanning/mxj/v2 v2.7.0 github.com/ditashi/jsbeautifier-go v0.0.0-20141206144643-2520a8026a9c github.com/docker/go-units v0.5.0 @@ -97,7 +97,7 @@ require ( github.com/projectdiscovery/tlsx v1.1.7 github.com/projectdiscovery/uncover v1.0.9 github.com/projectdiscovery/useragent v0.0.71 - github.com/projectdiscovery/utils v0.2.10 + github.com/projectdiscovery/utils v0.2.11 github.com/projectdiscovery/wappalyzergo v0.1.18 github.com/redis/go-redis/v9 v9.1.0 github.com/seh-msft/burpxml v1.0.1 @@ -105,7 +105,7 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 - golang.org/x/term v0.21.0 + golang.org/x/term v0.24.0 gopkg.in/yaml.v3 v3.0.1 moul.io/http2curl v1.0.0 ) @@ -120,6 +120,7 @@ require ( github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/VividCortex/ewma v1.2.0 // indirect + github.com/alecthomas/chroma/v2 v2.14.0 // indirect github.com/andybalholm/brotli v1.1.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27 // indirect @@ -134,6 +135,8 @@ require ( github.com/bytedance/sonic v1.9.1 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/charmbracelet/lipgloss v0.13.0 // indirect + github.com/charmbracelet/x/ansi v0.3.2 // indirect github.com/cheggaaa/pb/v3 v3.1.4 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect github.com/cloudflare/cfssl v1.6.4 // indirect @@ -142,7 +145,7 @@ require ( github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davidmz/go-pageant v1.0.2 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/dlclark/regexp2 v1.11.0 // indirect + github.com/dlclark/regexp2 v1.11.4 // indirect github.com/docker/cli v24.0.5+incompatible // indirect github.com/docker/docker v24.0.9+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect @@ -193,7 +196,7 @@ require ( github.com/moby/term v0.5.0 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect github.com/muesli/reflow v0.3.0 // indirect - github.com/muesli/termenv v0.15.1 // indirect + github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect github.com/opencontainers/runc v1.1.14 // indirect @@ -230,13 +233,13 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/ysmood/fetchup v0.2.3 // indirect github.com/ysmood/got v0.34.1 // indirect - github.com/yuin/goldmark v1.5.4 // indirect - github.com/yuin/goldmark-emoji v1.0.1 // indirect + github.com/yuin/goldmark v1.7.4 // indirect + github.com/yuin/goldmark-emoji v1.0.3 // indirect github.com/zcalusic/sysinfo v1.0.2 // indirect github.com/zeebo/blake3 v0.2.3 // indirect go.uber.org/goleak v1.3.0 // indirect golang.org/x/arch v0.3.0 // indirect - golang.org/x/sync v0.7.0 // indirect + golang.org/x/sync v0.8.0 // indirect gopkg.in/djherbis/times.v1 v1.3.0 // indirect mellium.im/sasl v0.3.1 // indirect ) @@ -278,16 +281,16 @@ require ( github.com/lor00x/goldap v0.0.0-20180618054307-a546dffdd1a3 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mholt/acmez v1.2.0 // indirect - github.com/microcosm-cc/bluemonday v1.0.26 // indirect + github.com/microcosm-cc/bluemonday v1.0.27 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/projectdiscovery/blackrock v0.0.1 // indirect github.com/projectdiscovery/networkpolicy v0.0.9 - github.com/rivo/uniseg v0.4.6 // indirect + github.com/rivo/uniseg v0.4.7 // indirect github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect @@ -303,10 +306,10 @@ require ( go.etcd.io/bbolt v1.3.10 // indirect go.uber.org/zap v1.25.0 // indirect goftp.io/server/v2 v2.0.1 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.27.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 golang.org/x/mod v0.17.0 // indirect - golang.org/x/sys v0.21.0 // indirect + golang.org/x/sys v0.25.0 // indirect golang.org/x/time v0.6.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d google.golang.org/protobuf v1.34.2 // indirect diff --git a/go.sum b/go.sum index 4e5a765cf5..da71e9b287 100644 --- a/go.sum +++ b/go.sum @@ -93,9 +93,15 @@ github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/ github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/akrylysov/pogreb v0.10.2 h1:e6PxmeyEhWyi2AKOBIJzAEi4HkiC+lKyCocRGlnDi78= github.com/akrylysov/pogreb v0.10.2/go.mod h1:pNs6QmpQ1UlTJKDezuRWmaqkgUE2TuU0YTWyqJZ7+lI= +github.com/alecthomas/assert/v2 v2.7.0 h1:QtqSACNS3tF7oasA8CU6A6sXZSBDqnm7RfpLl9bZqbE= +github.com/alecthomas/assert/v2 v2.7.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek= github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= +github.com/alecthomas/chroma/v2 v2.14.0 h1:R3+wzpnUArGcQz7fCETQBzO5n9IMNi13iIs46aU4V9E= +github.com/alecthomas/chroma/v2 v2.14.0/go.mod h1:QolEbTfmUHIMVpBqxeDnNBj2uoeI4EbYP4i6n68SG4I= github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= +github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= +github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -174,9 +180,10 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.19.3 h1:e5mnydVdCVWxP+5rPAGi2PYxC7u2 github.com/aws/aws-sdk-go-v2/service/sts v1.19.3/go.mod h1:yVGZA1CPkmUhBdA039jXNJJG7/6t+G+EBWmFq23xqnY= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aymanbagabas/go-osc52 v1.0.3/go.mod h1:zT8H+Rk4VSabYN90pWyugflM3ZhpTZNC7cASDfUCdT4= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= +github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8= +github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= @@ -217,8 +224,14 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charmbracelet/glamour v0.6.0 h1:wi8fse3Y7nfcabbbDuwolqTqMQPMnVPeZhDM273bISc= -github.com/charmbracelet/glamour v0.6.0/go.mod h1:taqWV4swIMMbWALc0m7AfE9JkPSU8om2538k9ITBxOc= +github.com/charmbracelet/glamour v0.8.0 h1:tPrjL3aRcQbn++7t18wOpgLyl8wrOHUEDS7IZ68QtZs= +github.com/charmbracelet/glamour v0.8.0/go.mod h1:ViRgmKkf3u5S7uakt2czJ272WSg2ZenlYEZXT2x7Bjw= +github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw= +github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY= +github.com/charmbracelet/x/ansi v0.3.2 h1:wsEwgAN+C9U06l9dCVMX0/L3x7ptvY1qmjMwyfE6USY= +github.com/charmbracelet/x/ansi v0.3.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= +github.com/charmbracelet/x/exp/golden v0.0.0-20240806155701-69247e0abc2a h1:G99klV19u0QnhiizODirwVksQB91TJKV/UaTnACcG30= +github.com/charmbracelet/x/exp/golden v0.0.0-20240806155701-69247e0abc2a/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U= github.com/cheggaaa/pb/v3 v3.1.4 h1:DN8j4TVVdKu3WxVwcRKu0sG00IIU6FewoABZzXbRQeo= github.com/cheggaaa/pb/v3 v3.1.4/go.mod h1:6wVjILNBaXMs8c21qRiaUM8BR82erfgau1DQ4iUXmSA= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= @@ -271,8 +284,8 @@ github.com/ditashi/jsbeautifier-go v0.0.0-20141206144643-2520a8026a9c/go.mod h1: github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= -github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dlclark/regexp2 v1.11.4 h1:rPYF9/LECdNymJufQKmri9gV604RvvABwgOA8un7yAo= +github.com/dlclark/regexp2 v1.11.4/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v24.0.9+incompatible h1:HPGzNmwfLZWdxHqK9/II92pyi1EpYKsAqcl4G0Of9v0= @@ -508,7 +521,6 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= @@ -559,6 +571,8 @@ github.com/hbakhtiyor/strsim v0.0.0-20190107154042-4d2bbb273edf h1:umfGUaWdFP2s6 github.com/hbakhtiyor/strsim v0.0.0-20190107154042-4d2bbb273edf/go.mod h1:V99KdStnMHZsvVOwIvhfcUzYgYkRZeQWUtumtL+SKxA= github.com/hdm/jarm-go v0.0.7 h1:Eq0geenHrBSYuKrdVhrBdMMzOmA+CAMLzN2WrF3eL6A= github.com/hdm/jarm-go v0.0.7/go.mod h1:kinGoS0+Sdn1Rr54OtanET5E5n7AlD6T6CrJAKDjJSQ= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -695,9 +709,8 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= -github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= -github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= +github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -708,9 +721,8 @@ github.com/mholt/archiver v3.1.1+incompatible h1:1dCVxuqs0dJseYEhi5pl7MYPH9zDa1w github.com/mholt/archiver v3.1.1+incompatible/go.mod h1:Dh2dOXnSdiLxRiPoVfIr/fI1TwETms9B8CTWfeh7ROU= github.com/mholt/archiver/v3 v3.5.1 h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Clwo= github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4= -github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM= -github.com/microcosm-cc/bluemonday v1.0.26 h1:xbqSvqzQMeEHCqMi64VAs4d8uy6Mequs3rQ0k/Khz58= -github.com/microcosm-cc/bluemonday v1.0.26/go.mod h1:JyzOCs9gkyQyjs+6h10UEVSe02CGwkhd72Xdqh78TWs= +github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk= +github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA= github.com/microsoft/go-mssqldb v1.6.0 h1:mM3gYdVwEPFrlg/Dvr2DNVEgYFG7L42l+dGc67NNNpc= github.com/microsoft/go-mssqldb v1.6.0/go.mod h1:00mDtPbeQCRGC1HwOOR5K/gr30P1NcEG0vx6Kbv2aJU= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= @@ -747,9 +759,8 @@ github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1 github.com/mreiferson/go-httpclient v0.0.0-20201222173833-5e475fde3a4d/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= -github.com/muesli/termenv v0.13.0/go.mod h1:sP1+uffeLaEYpyOTb8pLCUctGcGLnoFjSn4YJK5e2bc= -github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs= -github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ= +github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a h1:2MaM6YC3mGu54x+RKAA6JiFFHlHDY1UbkxqppT7wYOg= +github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a/go.mod h1:hxSnBBYLK21Vtq/PHd0S2FYCxBXzBua8ov5s1RobyRQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -850,8 +861,8 @@ github.com/projectdiscovery/gostruct v0.0.2 h1:s8gP8ApugGM4go1pA+sVlPDXaWqNP5BBD github.com/projectdiscovery/gostruct v0.0.2/go.mod h1:H86peL4HKwMXcQQtEa6lmC8FuD9XFt6gkNR0B/Mu5PE= github.com/projectdiscovery/gozero v0.0.2 h1:8fJeaCjxL9tpm33uG/RsCQs6HGM/NE6eA3cjkilRQ+E= github.com/projectdiscovery/gozero v0.0.2/go.mod h1:d8bZvDWW07LWNYWrwjZ4OO1I0cpkfqaysyDfSs9ibK8= -github.com/projectdiscovery/hmap v0.0.58 h1:SoXmnmYS2egPSRgFKgUhHozu8QvPIUKAuoDpuii9jkw= -github.com/projectdiscovery/hmap v0.0.58/go.mod h1:nQTelqkgxU6vuuU+qmQloMrDBxYZMt2TTO0fV86yXN4= +github.com/projectdiscovery/hmap v0.0.59 h1:xWCr/GY2QJanFzwKydh/EkGdOKM4iAcN9hQvvCMgO6A= +github.com/projectdiscovery/hmap v0.0.59/go.mod h1:uHhhnPmvq9qXvCjBSQXCBAlmA1r8JGufP775IkBSbgs= github.com/projectdiscovery/httpx v1.6.8 h1:k0Y5g3ue/7QbDP0+LykIxp/VhPDLfau3UEUyuxtP7qE= github.com/projectdiscovery/httpx v1.6.8/go.mod h1:7BIsDxyRwkBjthqFmEajXrA5f3yb4tlVfLmpNdf0ZXA= github.com/projectdiscovery/interactsh v1.2.0 h1:Al6jHiR+Usl9egYJDLJaWNHOcH8Rugk8gWMasc8Cmw8= @@ -886,8 +897,8 @@ github.com/projectdiscovery/uncover v1.0.9 h1:s5RbkD/V4r8QcPkys4gTTqMuRSgXq0Jpre github.com/projectdiscovery/uncover v1.0.9/go.mod h1:2PUF3SpB5QNIJ8epaB2xbRzkPaxEAWRDm3Ir2ijt81U= github.com/projectdiscovery/useragent v0.0.71 h1:Q02L3LV15ztOQ6FfmVSqVmOd5QhvzI+yAgYOc/32Nvg= github.com/projectdiscovery/useragent v0.0.71/go.mod h1:DHPruFLCvCvkd2qqPwwQZrP9sziv0lxQJ0R1rE1fa8E= -github.com/projectdiscovery/utils v0.2.10 h1:MFx9pAaSyYGjXNi46mdAD7ceSZ80E0AGeuBj8fXaAF4= -github.com/projectdiscovery/utils v0.2.10/go.mod h1:jvTckFUQxZSiJrhACUuU63tqtd0tdBu3ng3QUVm/Ce0= +github.com/projectdiscovery/utils v0.2.11 h1:TO7fBG5QI256sn1YuTD87yn4+4OjGJ2wT1772uEnp4Q= +github.com/projectdiscovery/utils v0.2.11/go.mod h1:W0E74DWkKxlcyKS5XwcAwiob7+smoszPPi1NgX3vZyk= github.com/projectdiscovery/wappalyzergo v0.1.18 h1:fFgETis0HcsNE7wREaUPYP45JqIyHgGorJaVp1RH7g4= github.com/projectdiscovery/wappalyzergo v0.1.18/go.mod h1:/hzgxkBFTMe2wDbA93nFfoMjULw7/vIZ9QPSAnCgUa8= github.com/projectdiscovery/yamldoc-go v1.0.4 h1:eZoESapnMw6WAHiVgRwNqvbJEfNHEH148uthhFbG5jE= @@ -933,8 +944,8 @@ github.com/remeh/sizedwaitgroup v1.0.0 h1:VNGGFwNo/R5+MJBf6yrsr110p0m4/OX4S3DCy7 github.com/remeh/sizedwaitgroup v1.0.0/go.mod h1:3j2R4OIe/SeS6YDhICBy22RWjJC5eNCJ1V+9+NVNYlo= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rivo/uniseg v0.4.6 h1:Sovz9sDSwbOz9tgUy8JpT+KgCkPYJEN/oYzlJiYTNLg= -github.com/rivo/uniseg v0.4.6/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -1106,11 +1117,11 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark v1.5.2/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark v1.5.4 h1:2uY/xC0roWy8IBEGLgB1ywIoEJFGmRrX21YQcvGZzjU= -github.com/yuin/goldmark v1.5.4/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark-emoji v1.0.1 h1:ctuWEyzGBwiucEqxzwe0SOYDXPAucOrE9NQC18Wa1os= -github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ= +github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= +github.com/yuin/goldmark v1.7.4 h1:BDXOHExt+A7gwPCJgPIIq7ENvceR7we7rOS9TNoLZeg= +github.com/yuin/goldmark v1.7.4/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= +github.com/yuin/goldmark-emoji v1.0.3 h1:aLRkLHOuBR2czCY4R8olwMjID+tENfhyFDMCRhbIQY4= +github.com/yuin/goldmark-emoji v1.0.3/go.mod h1:tTkZEbwu5wkPmgTcitqddVxY9osFZiavD+r4AzQrh1U= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zcalusic/sysinfo v1.0.2 h1:nwTTo2a+WQ0NXwo0BGRojOJvJ/5XKvQih+2RrtWqfxc= @@ -1187,8 +1198,8 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= +golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1272,7 +1283,6 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= @@ -1282,8 +1292,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= +golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1308,8 +1318,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1372,7 +1382,6 @@ golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1385,8 +1394,8 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1399,8 +1408,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= +golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1417,8 +1426,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From c9f67897c483ff9ad436fad0682e2fa1d2c2406a Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Wed, 25 Sep 2024 23:30:39 +0700 Subject: [PATCH 216/283] fix(http): prevent `addCNameIfAvailable` from using closed `Dialer` (#5665) added a check in `addCNameIfAvailable` to ensure the `Dialer` isnot NIL before attempting to fetch DNS data. this prevents potential panics (ex. SIGSEGV) when the `Dialer` is closed due to an interruption. Signed-off-by: Dwi Siswanto --- pkg/protocols/http/request.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 5a1219b83f..180ee512ce 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -1042,6 +1042,10 @@ func (request *Request) validateNFixEvent(input *contextargs.Context, gr *genera // addCNameIfAvailable adds the cname to the event if available func (request *Request) addCNameIfAvailable(hostname string, outputEvent map[string]interface{}) { + if protocolstate.Dialer == nil { + return + } + data, err := protocolstate.Dialer.GetDNSData(hostname) if err == nil { switch len(data.CNAME) { From e4dae52d5a8828ce4d9c87c4b6880249ffe191c7 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:09:13 +0400 Subject: [PATCH 217/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index ff54ce9bc0..bc657aaef7 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.3.2` + Version = `v3.3.3` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From 1f945d6d505aed8a6bcced2bd1d76c74c38728a1 Mon Sep 17 00:00:00 2001 From: Tarun Koyalwar <45962551+tarunKoyalwar@users.noreply.github.com> Date: Sat, 28 Sep 2024 17:20:35 +0400 Subject: [PATCH 218/283] consider protocolType in max host error (#5668) * consider protocolType in max host error * add mutex when updating internal-event --- pkg/core/executors.go | 2 +- pkg/core/workflow_execute.go | 2 +- .../common/hosterrorscache/hosterrorscache.go | 20 +++++++++-------- .../hosterrorscache/hosterrorscache_test.go | 22 +++++++++++-------- pkg/protocols/http/request.go | 4 ++-- pkg/protocols/http/request_fuzz.go | 4 ++-- pkg/protocols/network/request.go | 4 ++-- pkg/templates/cluster.go | 4 ++-- pkg/tmplexec/exec.go | 2 ++ pkg/tmplexec/generic/exec.go | 2 +- 10 files changed, 37 insertions(+), 29 deletions(-) diff --git a/pkg/core/executors.go b/pkg/core/executors.go index 8447efed13..39ec97aa40 100644 --- a/pkg/core/executors.go +++ b/pkg/core/executors.go @@ -107,7 +107,7 @@ func (e *Engine) executeTemplateWithTargets(ctx context.Context, template *templ currentInfo.Unlock() // Skip if the host has had errors - if e.executerOpts.HostErrorsCache != nil && e.executerOpts.HostErrorsCache.Check(contextargs.NewWithMetaInput(ctx, scannedValue)) { + if e.executerOpts.HostErrorsCache != nil && e.executerOpts.HostErrorsCache.Check(e.executerOpts.ProtocolType.String(), contextargs.NewWithMetaInput(ctx, scannedValue)) { return true } diff --git a/pkg/core/workflow_execute.go b/pkg/core/workflow_execute.go index 0b5d7e8722..22b1b813f7 100644 --- a/pkg/core/workflow_execute.go +++ b/pkg/core/workflow_execute.go @@ -98,7 +98,7 @@ func (e *Engine) runWorkflowStep(template *workflows.WorkflowTemplate, ctx *scan } if err != nil { if w.Options.HostErrorsCache != nil { - w.Options.HostErrorsCache.MarkFailed(ctx.Input, err) + w.Options.HostErrorsCache.MarkFailed(w.Options.ProtocolType.String(), ctx.Input, err) } if len(template.Executers) == 1 { mainErr = err diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache.go b/pkg/protocols/common/hosterrorscache/hosterrorscache.go index bcfa27dbe4..bca4803e8a 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache.go @@ -20,10 +20,10 @@ import ( // CacheInterface defines the signature of the hosterrorscache so that // users of Nuclei as embedded lib may implement their own cache type CacheInterface interface { - SetVerbose(verbose bool) // log verbosely - Close() // close the cache - Check(ctx *contextargs.Context) bool // return true if the host should be skipped - MarkFailed(ctx *contextargs.Context, err error) // record a failure (and cause) for the host + SetVerbose(verbose bool) // log verbosely + Close() // close the cache + Check(protoType string, ctx *contextargs.Context) bool // return true if the host should be skipped + MarkFailed(protoType string, ctx *contextargs.Context, err error) // record a failure (and cause) for the host } var ( @@ -115,7 +115,7 @@ func (c *Cache) NormalizeCacheValue(value string) string { // - URL: https?:// type // - Host:port type // - host type -func (c *Cache) Check(ctx *contextargs.Context) bool { +func (c *Cache) Check(protoType string, ctx *contextargs.Context) bool { finalValue := c.GetKeyFromContext(ctx, nil) existingCacheItem, err := c.failedTargets.GetIFPresent(finalValue) @@ -138,8 +138,8 @@ func (c *Cache) Check(ctx *contextargs.Context) bool { } // MarkFailed marks a host as failed previously -func (c *Cache) MarkFailed(ctx *contextargs.Context, err error) { - if !c.checkError(err) { +func (c *Cache) MarkFailed(protoType string, ctx *contextargs.Context, err error) { + if !c.checkError(protoType, err) { return } finalValue := c.GetKeyFromContext(ctx, err) @@ -186,11 +186,13 @@ var reCheckError = regexp.MustCompile(`(no address found for host|could not reso // added to the host skipping table. // it first parses error and extracts the cause and checks for blacklisted // or common errors that should be skipped -func (c *Cache) checkError(err error) bool { +func (c *Cache) checkError(protoType string, err error) bool { if err == nil { return false } - + if protoType != "http" { + return false + } kind := errkit.GetErrorKind(err, nucleierr.ErrTemplateLogic) switch kind { case nucleierr.ErrTemplateLogic: diff --git a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go index 3c93177674..9977b968d9 100644 --- a/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go +++ b/pkg/protocols/common/hosterrorscache/hosterrorscache_test.go @@ -11,12 +11,16 @@ import ( "github.com/stretchr/testify/require" ) +const ( + protoType = "http" +) + func TestCacheCheck(t *testing.T) { cache := New(3, DefaultMaxHostsCount, nil) for i := 0; i < 100; i++ { - cache.MarkFailed(newCtxArgs("test"), fmt.Errorf("could not resolve host")) - got := cache.Check(newCtxArgs("test")) + cache.MarkFailed(protoType, newCtxArgs("test"), fmt.Errorf("could not resolve host")) + got := cache.Check(protoType, newCtxArgs("test")) if i < 2 { // till 3 the host is not flagged to skip require.False(t, got) @@ -26,7 +30,7 @@ func TestCacheCheck(t *testing.T) { } } - value := cache.Check(newCtxArgs("test")) + value := cache.Check(protoType, newCtxArgs("test")) require.Equal(t, true, value, "could not get checked value") } @@ -34,8 +38,8 @@ func TestTrackErrors(t *testing.T) { cache := New(3, DefaultMaxHostsCount, []string{"custom error"}) for i := 0; i < 100; i++ { - cache.MarkFailed(newCtxArgs("custom"), fmt.Errorf("got: nested: custom error")) - got := cache.Check(newCtxArgs("custom")) + cache.MarkFailed(protoType, newCtxArgs("custom"), fmt.Errorf("got: nested: custom error")) + got := cache.Check(protoType, newCtxArgs("custom")) if i < 2 { // till 3 the host is not flagged to skip require.False(t, got) @@ -44,7 +48,7 @@ func TestTrackErrors(t *testing.T) { require.True(t, got) } } - value := cache.Check(newCtxArgs("custom")) + value := cache.Check(protoType, newCtxArgs("custom")) require.Equal(t, true, value, "could not get checked value") } @@ -86,7 +90,7 @@ func TestCacheMarkFailed(t *testing.T) { for _, test := range tests { normalizedCacheValue := cache.GetKeyFromContext(newCtxArgs(test.host), nil) - cache.MarkFailed(newCtxArgs(test.host), fmt.Errorf("no address found for host")) + cache.MarkFailed(protoType, newCtxArgs(test.host), fmt.Errorf("no address found for host")) failedTarget, err := cache.failedTargets.Get(normalizedCacheValue) require.Nil(t, err) require.NotNil(t, failedTarget) @@ -122,14 +126,14 @@ func TestCacheMarkFailedConcurrent(t *testing.T) { wg.Add(1) go func() { defer wg.Done() - cache.MarkFailed(newCtxArgs(currentTest.host), fmt.Errorf("could not resolve host")) + cache.MarkFailed(protoType, newCtxArgs(currentTest.host), fmt.Errorf("could not resolve host")) }() } } wg.Wait() for _, test := range tests { - require.True(t, cache.Check(newCtxArgs(test.host))) + require.True(t, cache.Check(protoType, newCtxArgs(test.host))) normalizedCacheValue := cache.NormalizeCacheValue(test.host) failedTarget, err := cache.failedTargets.Get(normalizedCacheValue) diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 180ee512ce..994e065582 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -1177,14 +1177,14 @@ func (request *Request) markUnresponsiveAddress(input *contextargs.Context, err return } if request.options.HostErrorsCache != nil { - request.options.HostErrorsCache.MarkFailed(input, err) + request.options.HostErrorsCache.MarkFailed(request.options.ProtocolType.String(), input, err) } } // isUnresponsiveAddress checks if the error is a unreponsive based on its execution history func (request *Request) isUnresponsiveAddress(input *contextargs.Context) bool { if request.options.HostErrorsCache != nil { - return request.options.HostErrorsCache.Check(input) + return request.options.HostErrorsCache.Check(request.options.ProtocolType.String(), input) } return false } diff --git a/pkg/protocols/http/request_fuzz.go b/pkg/protocols/http/request_fuzz.go index fdf862eb67..a7c6e80c07 100644 --- a/pkg/protocols/http/request_fuzz.go +++ b/pkg/protocols/http/request_fuzz.go @@ -161,7 +161,7 @@ func (request *Request) executeAllFuzzingRules(input *contextargs.Context, value func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, input *contextargs.Context, callback protocols.OutputEventCallback) bool { hasInteractMatchers := interactsh.HasMatchers(request.CompiledOperators) hasInteractMarkers := len(gr.InteractURLs) > 0 - if request.options.HostErrorsCache != nil && request.options.HostErrorsCache.Check(input) { + if request.options.HostErrorsCache != nil && request.options.HostErrorsCache.Check(request.options.ProtocolType.String(), input) { return false } request.options.RateLimitTake() @@ -215,7 +215,7 @@ func (request *Request) executeGeneratedFuzzingRequest(gr fuzz.GeneratedRequest, } if requestErr != nil { if request.options.HostErrorsCache != nil { - request.options.HostErrorsCache.MarkFailed(input, requestErr) + request.options.HostErrorsCache.MarkFailed(request.options.ProtocolType.String(), input, requestErr) } gologger.Verbose().Msgf("[%s] Error occurred in request: %s\n", request.options.TemplateID, requestErr) } diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 5fa8609d51..32d4ae3494 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -504,14 +504,14 @@ func (request *Request) markUnresponsiveAddress(input *contextargs.Context, err return } if request.options.HostErrorsCache != nil { - request.options.HostErrorsCache.MarkFailed(input, err) + request.options.HostErrorsCache.MarkFailed(request.options.ProtocolType.String(), input, err) } } // isUnresponsiveAddress checks if the error is a unreponsive based on its execution history func (request *Request) isUnresponsiveAddress(input *contextargs.Context) bool { if request.options.HostErrorsCache != nil { - return request.options.HostErrorsCache.Check(input) + return request.options.HostErrorsCache.Check(request.options.ProtocolType.String(), input) } return false } diff --git a/pkg/templates/cluster.go b/pkg/templates/cluster.go index 8f1af96b74..63b065d346 100644 --- a/pkg/templates/cluster.go +++ b/pkg/templates/cluster.go @@ -274,7 +274,7 @@ func (e *ClusterExecuter) Execute(ctx *scan.ScanContext) (bool, error) { } }) if err != nil && e.options.HostErrorsCache != nil { - e.options.HostErrorsCache.MarkFailed(ctx.Input, err) + e.options.HostErrorsCache.MarkFailed(e.options.ProtocolType.String(), ctx.Input, err) } return results, err } @@ -310,7 +310,7 @@ func (e *ClusterExecuter) ExecuteWithResults(ctx *scan.ScanContext) ([]*output.R } if err != nil && e.options.HostErrorsCache != nil { - e.options.HostErrorsCache.MarkFailed(ctx.Input, err) + e.options.HostErrorsCache.MarkFailed(e.options.ProtocolType.String(), ctx.Input, err) } return scanCtx.GenerateResult(), err } diff --git a/pkg/tmplexec/exec.go b/pkg/tmplexec/exec.go index 149deaa4d5..279d03d849 100644 --- a/pkg/tmplexec/exec.go +++ b/pkg/tmplexec/exec.go @@ -206,7 +206,9 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { ctx.LogError(errx) if lastMatcherEvent != nil { + lastMatcherEvent.Lock() lastMatcherEvent.InternalEvent["error"] = getErrorCause(ctx.GenerateErrorMessage()) + lastMatcherEvent.Unlock() writeFailureCallback(lastMatcherEvent, e.options.Options.MatcherStatus) } diff --git a/pkg/tmplexec/generic/exec.go b/pkg/tmplexec/generic/exec.go index 3b337f6b20..c8303f70d9 100644 --- a/pkg/tmplexec/generic/exec.go +++ b/pkg/tmplexec/generic/exec.go @@ -85,7 +85,7 @@ func (g *Generic) ExecuteWithResults(ctx *scan.ScanContext) error { if err != nil { ctx.LogError(err) if g.options.HostErrorsCache != nil { - g.options.HostErrorsCache.MarkFailed(ctx.Input, err) + g.options.HostErrorsCache.MarkFailed(g.options.ProtocolType.String(), ctx.Input, err) } gologger.Warning().Msgf("[%s] Could not execute request for %s: %s\n", g.options.TemplateID, ctx.Input.MetaInput.PrettyPrint(), err) } From d1614857bd345affb24f209aeebde94db7303b6d Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Sat, 28 Sep 2024 19:06:40 +0400 Subject: [PATCH 219/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index bc657aaef7..e29af00cdd 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.3.3` + Version = `v3.3.4` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From d0463e8ca39cf28e5e25b6426d041eab4c30b569 Mon Sep 17 00:00:00 2001 From: "alban.stourbe stourbe" Date: Mon, 30 Sep 2024 16:52:54 +0200 Subject: [PATCH 220/283] Add vars with SDK --- lib/config.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/config.go b/lib/config.go index 7a9419aa50..e2a56c1375 100644 --- a/lib/config.go +++ b/lib/config.go @@ -392,6 +392,20 @@ func WithHeaders(headers []string) NucleiSDKOptions { } } +// WithVars allows setting custom variables to use in templates/workflows context +func WithVars(vars []string) NucleiSDKOptions { + // Create a goflags.RuntimeMap + runtimeVars := goflags.RuntimeMap{} + for _, v := range vars { + runtimeVars.Set(v) + } + + return func(e *NucleiEngine) error { + e.opts.Vars = runtimeVars + return nil + } +} + // EnablePassiveMode allows enabling passive HTTP response processing mode func EnablePassiveMode() NucleiSDKOptions { return func(e *NucleiEngine) error { From ed3e06a7011a92da046549916a2e499b3a741e4b Mon Sep 17 00:00:00 2001 From: "alban.stourbe stourbe" Date: Tue, 1 Oct 2024 09:29:43 +0200 Subject: [PATCH 221/283] Add checkerr on runtimeVars & Add a new TestSDK --- lib/config.go | 7 ++++++- lib/tests/sdk_test.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/lib/config.go b/lib/config.go index e2a56c1375..20b3449c4c 100644 --- a/lib/config.go +++ b/lib/config.go @@ -397,7 +397,12 @@ func WithVars(vars []string) NucleiSDKOptions { // Create a goflags.RuntimeMap runtimeVars := goflags.RuntimeMap{} for _, v := range vars { - runtimeVars.Set(v) + err := runtimeVars.Set(v) + if err != nil { + return func(e *NucleiEngine) error { + return err + } + } } return func(e *NucleiEngine) error { diff --git a/lib/tests/sdk_test.go b/lib/tests/sdk_test.go index 97ec489abc..395acfd515 100644 --- a/lib/tests/sdk_test.go +++ b/lib/tests/sdk_test.go @@ -133,3 +133,36 @@ func TestThreadSafeNuclei(t *testing.T) { fn() } } + +func TestWithVarsNuclei(t *testing.T) { + fn := func() { + defer func() { + // resources like leveldb have a delay to commit in-memory resources + // to disk, typically 1-2 seconds, so we wait for 2 seconds + time.Sleep(2 * time.Second) + goleak.VerifyNone(t, knownLeaks...) + }() + ne, err := nuclei.NewNucleiEngineCtx( + context.TODO(), + nuclei.WithTemplatesOrWorkflows(nuclei.TemplateSources{Templates: []string{"http/token-spray/api-1forge.yaml"}}), + nuclei.WithVars([]string{"token=foobar"}), + nuclei.WithVerbosity(nuclei.VerbosityOptions{Debug: true}), + ) + require.Nil(t, err) + ne.LoadTargets([]string{"scanme.sh"}, true) // probe http/https target is set to true here + err = ne.ExecuteWithCallback(nil) + require.Nil(t, err) + defer ne.Close() + } + // this is shared test so needs to be run as seperate process + if env.GetEnvOrDefault("TestWithVarsNuclei", false) { + cmd := exec.Command(os.Args[0], "-test.run=TestWithVarsNuclei") + cmd.Env = append(os.Environ(), "TestWithVarsNuclei=true") + out, err := cmd.CombinedOutput() + if err != nil { + t.Fatalf("process ran with error %s, output: %s", err, out) + } + } else { + fn() + } +} From 23825c77b2869dd3dce9f15f4d4b4bde3ec2c63a Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Fri, 4 Oct 2024 23:07:07 +0200 Subject: [PATCH 222/283] style: do not use backticks (#5687) --- gh_retry.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gh_retry.sh b/gh_retry.sh index bf212e1290..43542276b3 100755 --- a/gh_retry.sh +++ b/gh_retry.sh @@ -21,9 +21,9 @@ WORKFLOW="Build Test" GREP_ERROR_PATTERN='Test "http/interactsh.yaml" failed' #Set fonts for Help. -NORM=`tput sgr0` -BOLD=`tput bold` -REV=`tput smso` +NORM=$(tput sgr0) +BOLD=$(tput bold) +REV=$(tput smso) HELP() { @@ -73,7 +73,7 @@ function print_bold() { function retry_failed_jobs() { print_bold "Checking failed workflows for branch $BRANCH before $BEFORE" - date=`date +%Y-%m-%d'T'%H:%M'Z' -d "$BEFORE"` + date=$(date +%Y-%m-%d'T'%H:%M'Z' -d "$BEFORE") workflowIds=$(gh run list --limit "$LIMIT" --json headBranch,status,name,conclusion,databaseId,updatedAt | jq -c '.[] | select ( .headBranch==$branch ) | From 8b9acb292780cb8647db27b517cf5d2c0fa782f2 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:11:03 +0530 Subject: [PATCH 223/283] return bool resp on successful ldap authentication (#5682) --- pkg/js/libs/ldap/ldap.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkg/js/libs/ldap/ldap.go b/pkg/js/libs/ldap/ldap.go index 3961fa7b7e..e10015acfa 100644 --- a/pkg/js/libs/ldap/ldap.go +++ b/pkg/js/libs/ldap/ldap.go @@ -155,7 +155,7 @@ func NewClient(call goja.ConstructorCall, runtime *goja.Runtime) *goja.Object { // const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); // client.Authenticate('user', 'password'); // ``` -func (c *Client) Authenticate(username, password string) { +func (c *Client) Authenticate(username, password string) bool { c.nj.Require(c.conn != nil, "no existing connection") if c.BaseDN == "" { c.BaseDN = fmt.Sprintf("dc=%s", strings.Join(strings.Split(c.Realm, "."), ",dc=")) @@ -163,19 +163,21 @@ func (c *Client) Authenticate(username, password string) { if err := c.conn.NTLMBind(c.Realm, username, password); err == nil { // if bind with NTLMBind(), there is nothing // else to do, you are authenticated - return + return true } + var err error switch password { case "": - if err := c.conn.UnauthenticatedBind(username); err != nil { + if err = c.conn.UnauthenticatedBind(username); err != nil { c.nj.ThrowError(err) } default: - if err := c.conn.Bind(username, password); err != nil { + if err = c.conn.Bind(username, password); err != nil { c.nj.ThrowError(err) } } + return err == nil } // AuthenticateWithNTLMHash authenticates with the ldap server using the given username and NTLM hash @@ -185,14 +187,16 @@ func (c *Client) Authenticate(username, password string) { // const client = new ldap.Client('ldap://ldap.example.com', 'acme.com'); // client.AuthenticateWithNTLMHash('pdtm', 'hash'); // ``` -func (c *Client) AuthenticateWithNTLMHash(username, hash string) { +func (c *Client) AuthenticateWithNTLMHash(username, hash string) bool { c.nj.Require(c.conn != nil, "no existing connection") if c.BaseDN == "" { c.BaseDN = fmt.Sprintf("dc=%s", strings.Join(strings.Split(c.Realm, "."), ",dc=")) } - if err := c.conn.NTLMBindWithHash(c.Realm, username, hash); err != nil { + var err error + if err = c.conn.NTLMBindWithHash(c.Realm, username, hash); err != nil { c.nj.ThrowError(err) } + return err == nil } // Search accepts whatever filter and returns a list of maps having provided attributes From 7ba5d51b0002410d30f163c7fdd866bf23e7dc5c Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:12:07 +0530 Subject: [PATCH 224/283] fix: ldap metadata collection err (#5683) --- pkg/js/libs/ldap/ldap.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/js/libs/ldap/ldap.go b/pkg/js/libs/ldap/ldap.go index e10015acfa..a8f0eb0c8e 100644 --- a/pkg/js/libs/ldap/ldap.go +++ b/pkg/js/libs/ldap/ldap.go @@ -283,9 +283,10 @@ func (c *Client) CollectMetadata() Metadata { } metadata.BaseDN = c.BaseDN + // Use scope as Base since Root DSE doesn't have subentries srMetadata := ldap.NewSearchRequest( "", - ldap.ScopeWholeSubtree, + ldap.ScopeBaseObject, ldap.NeverDerefAliases, 0, 0, false, "(objectClass=*)", From f0624820d314d70b86742765e6a335ebb54c6dda Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Thu, 10 Oct 2024 00:34:23 +0300 Subject: [PATCH 225/283] update ssl part definitions (#5710) --- pkg/protocols/ssl/ssl.go | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/pkg/protocols/ssl/ssl.go b/pkg/protocols/ssl/ssl.go index 681043d3bf..554a4f5c10 100644 --- a/pkg/protocols/ssl/ssl.go +++ b/pkg/protocols/ssl/ssl.go @@ -347,11 +347,33 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa // description. Multiple definitions are separated by commas. // Definitions not having a name (generated on runtime) are prefixed & suffixed by <>. var RequestPartDefinitions = map[string]string{ - "type": "Type is the type of request made", - "response": "JSON SSL protocol handshake details", - "not_after": "Timestamp after which the remote cert expires", - "host": "Host is the input to the template", - "matched": "Matched is the input which was matched upon", + "template-id": "ID of the template executed", + "template-info": "Info Block of the template executed", + "template-path": "Path of the template executed", + "host": "Host is the input to the template", + "port": "Port is the port of the host", + "matched": "Matched is the input which was matched upon", + "type": "Type is the type of request made", + "timestamp": "Timestamp is the time when the request was made", + "response": "JSON SSL protocol handshake details", + "cipher": "Cipher is the encryption algorithm used", + "domains": "Domains are the list of domain names in the certificate", + "fingerprint_hash": "Fingerprint hash is the unique identifier of the certificate", + "ip": "IP is the IP address of the server", + "issuer_cn": "Issuer CN is the common name of the certificate issuer", + "issuer_dn": "Issuer DN is the distinguished name of the certificate issuer", + "issuer_org": "Issuer organization is the organization of the certificate issuer", + "not_after": "Timestamp after which the remote cert expires", + "not_before": "Timestamp before which the certificate is not valid", + "probe_status": "Probe status indicates if the probe was successful", + "serial": "Serial is the serial number of the certificate", + "sni": "SNI is the server name indication used in the handshake", + "subject_an": "Subject AN is the list of subject alternative names", + "subject_cn": "Subject CN is the common name of the certificate subject", + "subject_dn": "Subject DN is the distinguished name of the certificate subject", + "subject_org": "Subject organization is the organization of the certificate subject", + "tls_connection": "TLS connection is the type of TLS connection used", + "tls_version": "TLS version is the version of the TLS protocol used", } // Match performs matching operation for a matcher on model and returns: From 690089e1ce723cc84ff89a0c1cd1ea7ba64f6d15 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 9 Oct 2024 21:36:38 +0000 Subject: [PATCH 226/283] Auto Generate Syntax Docs + JSONSchema [Wed Oct 9 21:36:38 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 26 ++++++++- pkg/templates/templates_doc.go | 96 ++++++++++++++++++++++++++++++++-- 2 files changed, 116 insertions(+), 6 deletions(-) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index 9ec413d3ed..394f0a0684 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -3764,11 +3764,33 @@ Appears in: Part Definitions: +- template-id - ID of the template executed +- template-info - Info Block of the template executed +- template-path - Path of the template executed +- host - Host is the input to the template +- port - Port is the port of the host +- matched - Matched is the input which was matched upon - type - Type is the type of request made +- timestamp - Timestamp is the time when the request was made - response - JSON SSL protocol handshake details +- cipher - Cipher is the encryption algorithm used +- domains - Domains are the list of domain names in the certificate +- fingerprint_hash - Fingerprint hash is the unique identifier of the certificate +- ip - IP is the IP address of the server +- issuer_cn - Issuer CN is the common name of the certificate issuer +- issuer_dn - Issuer DN is the distinguished name of the certificate issuer +- issuer_org - Issuer organization is the organization of the certificate issuer - not_after - Timestamp after which the remote cert expires -- host - Host is the input to the template -- matched - Matched is the input which was matched upon +- not_before - Timestamp before which the certificate is not valid +- probe_status - Probe status indicates if the probe was successful +- serial - Serial is the serial number of the certificate +- sni - SNI is the server name indication used in the handshake +- subject_an - Subject AN is the list of subject alternative names +- subject_cn - Subject CN is the common name of the certificate subject +- subject_dn - Subject DN is the distinguished name of the certificate subject +- subject_org - Subject organization is the organization of the certificate subject +- tls_connection - TLS connection is the type of TLS connection used +- tls_version - TLS version is the version of the TLS protocol used
diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index 827e583d3b..b1422c8333 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -1656,25 +1656,113 @@ func init() { }, } SSLRequestDoc.PartDefinitions = []encoder.KeyValue{ + { + Key: "template-id", + Value: "ID of the template executed", + }, + { + Key: "template-info", + Value: "Info Block of the template executed", + }, + { + Key: "template-path", + Value: "Path of the template executed", + }, + { + Key: "host", + Value: "Host is the input to the template", + }, + { + Key: "port", + Value: "Port is the port of the host", + }, + { + Key: "matched", + Value: "Matched is the input which was matched upon", + }, { Key: "type", Value: "Type is the type of request made", }, + { + Key: "timestamp", + Value: "Timestamp is the time when the request was made", + }, { Key: "response", Value: "JSON SSL protocol handshake details", }, + { + Key: "cipher", + Value: "Cipher is the encryption algorithm used", + }, + { + Key: "domains", + Value: "Domains are the list of domain names in the certificate", + }, + { + Key: "fingerprint_hash", + Value: "Fingerprint hash is the unique identifier of the certificate", + }, + { + Key: "ip", + Value: "IP is the IP address of the server", + }, + { + Key: "issuer_cn", + Value: "Issuer CN is the common name of the certificate issuer", + }, + { + Key: "issuer_dn", + Value: "Issuer DN is the distinguished name of the certificate issuer", + }, + { + Key: "issuer_org", + Value: "Issuer organization is the organization of the certificate issuer", + }, { Key: "not_after", Value: "Timestamp after which the remote cert expires", }, { - Key: "host", - Value: "Host is the input to the template", + Key: "not_before", + Value: "Timestamp before which the certificate is not valid", }, { - Key: "matched", - Value: "Matched is the input which was matched upon", + Key: "probe_status", + Value: "Probe status indicates if the probe was successful", + }, + { + Key: "serial", + Value: "Serial is the serial number of the certificate", + }, + { + Key: "sni", + Value: "SNI is the server name indication used in the handshake", + }, + { + Key: "subject_an", + Value: "Subject AN is the list of subject alternative names", + }, + { + Key: "subject_cn", + Value: "Subject CN is the common name of the certificate subject", + }, + { + Key: "subject_dn", + Value: "Subject DN is the distinguished name of the certificate subject", + }, + { + Key: "subject_org", + Value: "Subject organization is the organization of the certificate subject", + }, + { + Key: "tls_connection", + Value: "TLS connection is the type of TLS connection used", + }, + { + Key: "tls_version", + Value: "TLS version is the version of the TLS protocol used", }, } SSLRequestDoc.Fields = make([]encoder.Doc, 9) From 82680980a5a2504eb0fa668de82338b5c13fba09 Mon Sep 17 00:00:00 2001 From: Ice3man Date: Thu, 10 Oct 2024 20:22:22 +0530 Subject: [PATCH 227/283] bugfix: fix multipart panic + support for filename + content-type (#5702) * bugfix: fix multipart files panic + support for filename + content-type propagation * misc changes --- pkg/fuzz/dataformat/multipart.go | 44 +++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/pkg/fuzz/dataformat/multipart.go b/pkg/fuzz/dataformat/multipart.go index d7e40af10c..227025d22b 100644 --- a/pkg/fuzz/dataformat/multipart.go +++ b/pkg/fuzz/dataformat/multipart.go @@ -6,12 +6,19 @@ import ( "io" "mime" "mime/multipart" + "net/textproto" mapsutil "github.com/projectdiscovery/utils/maps" ) type MultiPartForm struct { - boundary string + boundary string + filesMetadata map[string]FileMetadata +} + +type FileMetadata struct { + ContentType string + Filename string } var ( @@ -41,11 +48,40 @@ func (m *MultiPartForm) Encode(data KV) (string, error) { data.Iterate(func(key string, value any) bool { var fw io.Writer var err error + + if filesArray, ok := value.([]interface{}); ok { + fileMetadata, ok := m.filesMetadata[key] + if !ok { + Itererr = fmt.Errorf("file metadata not found for key %s", key) + return false + } + + for _, file := range filesArray { + h := make(textproto.MIMEHeader) + h.Set("Content-Disposition", + fmt.Sprintf(`form-data; name=%q; filename=%q`, + key, fileMetadata.Filename)) + h.Set("Content-Type", fileMetadata.ContentType) + + if fw, err = w.CreatePart(h); err != nil { + Itererr = err + return false + } + + if _, err = fw.Write([]byte(file.(string))); err != nil { + Itererr = err + return false + } + } + return true + } + // Add field if fw, err = w.CreateFormField(key); err != nil { Itererr = err return false } + if _, err = fw.Write([]byte(value.(string))); err != nil { Itererr = err return false @@ -98,6 +134,7 @@ func (m *MultiPartForm) Decode(data string) (KV, error) { result.Set(key, values[0]) } } + m.filesMetadata = make(map[string]FileMetadata) for key, files := range form.File { fileContents := []interface{}{} for _, fileHeader := range files { @@ -112,6 +149,11 @@ func (m *MultiPartForm) Decode(data string) (KV, error) { return KV{}, err } fileContents = append(fileContents, buffer.String()) + + m.filesMetadata[key] = FileMetadata{ + ContentType: fileHeader.Header.Get("Content-Type"), + Filename: fileHeader.Filename, + } } result.Set(key, fileContents) } From 1cd42c46c7b4b33e63774983bfea59a543c2b826 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Fri, 11 Oct 2024 20:43:02 +0700 Subject: [PATCH 228/283] chore: update `auto_assign` (#5720) add me to `addReviewers` list Signed-off-by: Dwi Siswanto --- .github/auto_assign.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml index 0c65e536ca..3d6642fc59 100644 --- a/.github/auto_assign.yml +++ b/.github/auto_assign.yml @@ -1,6 +1,7 @@ addReviewers: true reviewers: - dogancanbakir + - dwisiswant0 numberOfReviewers: 1 skipKeywords: From 3f0de96726b0dac0304132733e17a1e2d56e8a9f Mon Sep 17 00:00:00 2001 From: Keith Chason Date: Sun, 13 Oct 2024 12:14:33 -0400 Subject: [PATCH 229/283] MongoDB Reporting (#5688) * Initial setup of Mongo reporting * Fix slice pop logic * Switch to config-file logic * Parse database name from connection string * Switch to url.Parse for connection string parsing * Address return/logging feedback --- cmd/nuclei/issue-tracker-config.yaml | 11 ++ go.mod | 6 + go.sum | 12 ++ pkg/reporting/exporters/mongo/mongo.go | 155 +++++++++++++++++++++++++ pkg/reporting/options.go | 3 + pkg/reporting/reporting.go | 9 ++ 6 files changed, 196 insertions(+) create mode 100644 pkg/reporting/exporters/mongo/mongo.go diff --git a/cmd/nuclei/issue-tracker-config.yaml b/cmd/nuclei/issue-tracker-config.yaml index b7e0e6dafc..07ccf828f2 100644 --- a/cmd/nuclei/issue-tracker-config.yaml +++ b/cmd/nuclei/issue-tracker-config.yaml @@ -162,3 +162,14 @@ # duplicate-issue-check: false # # open-state-id is the ID of the open state in Linear # open-state-id: "" +#mongodb: +# # the connection string to the MongoDB database +# # (e.g., mongodb://root:example@localhost:27017/nuclei?ssl=false&authSource=admin) +# connection-string: "" +# # the name of the collection to store the issues +# collection-name: "" +# # excludes the Request and Response from the results (helps with filesize) +# omit-raw: false +# # determines the number of results to be kept in memory before writing it to the database or 0 to +# # persist all in memory and write all results at the end (default) +# batch-size: 0 \ No newline at end of file diff --git a/go.mod b/go.mod index f2adacca21..86a8a00643 100644 --- a/go.mod +++ b/go.mod @@ -105,6 +105,7 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 + go.mongodb.org/mongo-driver v1.17.0 golang.org/x/term v0.24.0 gopkg.in/yaml.v3 v3.0.1 moul.io/http2curl v1.0.0 @@ -195,6 +196,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/montanaflynn/stats v0.7.1 // indirect github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a // indirect github.com/opencontainers/go-digest v1.0.0 // indirect @@ -228,9 +230,13 @@ require ( github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect + github.com/xdg-go/pbkdf2 v1.0.0 // indirect + github.com/xdg-go/scram v1.1.2 // indirect + github.com/xdg-go/stringprep v1.0.4 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect github.com/ysmood/fetchup v0.2.3 // indirect github.com/ysmood/got v0.34.1 // indirect github.com/yuin/goldmark v1.7.4 // indirect diff --git a/go.sum b/go.sum index da71e9b287..b69d6283a5 100644 --- a/go.sum +++ b/go.sum @@ -755,6 +755,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= +github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= github.com/mreiferson/go-httpclient v0.0.0-20201222173833-5e475fde3a4d/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= @@ -1085,6 +1087,12 @@ github.com/xanzy/go-gitlab v0.107.0 h1:P2CT9Uy9yN9lJo3FLxpMZ4xj6uWcpnigXsjvqJ6nd github.com/xanzy/go-gitlab v0.107.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= @@ -1098,6 +1106,8 @@ github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMx github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU= github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g= +github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM= +github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI= github.com/ysmood/fetchup v0.2.3 h1:ulX+SonA0Vma5zUFXtv52Kzip/xe7aj4vqT5AJwQ+ZQ= github.com/ysmood/fetchup v0.2.3/go.mod h1:xhibcRKziSvol0H1/pj33dnKrYyI2ebIvz5cOOkYGns= github.com/ysmood/goob v0.4.0 h1:HsxXhyLBeGzWXnqVKtmT9qM7EuVs/XOgkX7T6r1o1AQ= @@ -1150,6 +1160,8 @@ go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.mongodb.org/mongo-driver v1.17.0 h1:Hp4q2MCjvY19ViwimTs00wHi7G4yzxh4/2+nTx8r40k= +go.mongodb.org/mongo-driver v1.17.0/go.mod h1:wwWm/+BuOddhcq3n68LKRmgk2wXzmF6s0SFOa0GINL4= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= diff --git a/pkg/reporting/exporters/mongo/mongo.go b/pkg/reporting/exporters/mongo/mongo.go new file mode 100644 index 0000000000..faf8bb579b --- /dev/null +++ b/pkg/reporting/exporters/mongo/mongo.go @@ -0,0 +1,155 @@ +package mongo + +import ( + "context" + "github.com/pkg/errors" + "github.com/projectdiscovery/gologger" + "github.com/projectdiscovery/nuclei/v3/pkg/output" + "go.mongodb.org/mongo-driver/mongo" + "net/url" + "os" + "strings" + "sync" + + mongooptions "go.mongodb.org/mongo-driver/mongo/options" +) + +type Exporter struct { + options *Options + mutex *sync.Mutex + rows []output.ResultEvent + collection *mongo.Collection + connection *mongo.Client +} + +// Options contains the configuration options for MongoDB exporter client +type Options struct { + // ConnectionString is the connection string to the MongoDB database + ConnectionString string `yaml:"connection-string"` + // CollectionName is the name of the MongoDB collection in which to store the results + CollectionName string `yaml:"collection-name"` + // OmitRaw excludes the Request and Response from the results (helps with filesize) + OmitRaw bool `yaml:"omit-raw"` + // BatchSize determines the number of results to be kept in memory before writing it to the database or 0 to + // persist all in memory and write all results at the end (default) + BatchSize int `yaml:"batch-size"` +} + +// New creates a new MongoDB exporter integration client based on options. +func New(options *Options) (*Exporter, error) { + exporter := &Exporter{ + mutex: &sync.Mutex{}, + options: options, + rows: []output.ResultEvent{}, + } + + // If the environment variable for the connection string is set, then use that instead. This allows for easier + // management of sensitive items such as credentials + envConnectionString := os.Getenv("MONGO_CONNECTION_STRING") + if envConnectionString != "" { + options.ConnectionString = envConnectionString + gologger.Info().Msgf("Using connection string from environment variable MONGO_CONNECTION_STRING") + } + + // Create the connection to the database + clientOptions := mongooptions.Client().ApplyURI(options.ConnectionString) + + // Create a new client and connect to the MongoDB server + client, err := mongo.Connect(context.TODO(), clientOptions) + if err != nil { + gologger.Error().Msgf("Error creating MongoDB client: %s", err) + return nil, err + } + + // Ensure the connection is valid + err = client.Ping(context.Background(), nil) + if err != nil { + gologger.Error().Msgf("Error connecting to MongoDB: %s", err) + return nil, err + } + + // Get the database from the connection string to set the database and collection + parsed, err := url.Parse(options.ConnectionString) + if err != nil { + gologger.Error().Msgf("Error parsing connection string: %s", options.ConnectionString) + return nil, err + } + + databaseName := strings.TrimPrefix(parsed.Path, "/") + + if databaseName == "" { + return nil, errors.New("error getting database name from connection string") + } + + exporter.connection = client + exporter.collection = client.Database(databaseName).Collection(options.CollectionName) + + return exporter, nil +} + +// Export writes a result document to the configured MongoDB collection +// in the database configured by the connection string +func (exporter *Exporter) Export(event *output.ResultEvent) error { + exporter.mutex.Lock() + defer exporter.mutex.Unlock() + + if exporter.options.OmitRaw { + event.Request = "" + event.Response = "" + } + + // Add the row to the queue to be processed + exporter.rows = append(exporter.rows, *event) + + // If the batch size is greater than 0 and the number of rows has reached the batch, flush it to the database + if exporter.options.BatchSize > 0 && len(exporter.rows) >= exporter.options.BatchSize { + err := exporter.WriteRows() + if err != nil { + // The error is already logged, return it to bubble up to the caller + return err + } + } + + return nil +} + +// WriteRows writes all rows from the rows list to the MongoDB collection and removes them from the list +func (exporter *Exporter) WriteRows() error { + // Loop through the rows and write them, removing them as they're entered + for len(exporter.rows) > 0 { + data := exporter.rows[0] + + // Write the data to the database + _, err := exporter.collection.InsertOne(context.TODO(), data) + if err != nil { + gologger.Fatal().Msgf("Error inserting record into MongoDB collection: %s", err) + return err + } + + // Remove the item from the list + exporter.rows = exporter.rows[1:] + } + + return nil +} + +func (exporter *Exporter) Close() error { + exporter.mutex.Lock() + defer exporter.mutex.Unlock() + + // Write all pending rows + err := exporter.WriteRows() + if err != nil { + // The error is already logged, return it to bubble up to the caller + return err + } + + // Close the database connection + err = exporter.connection.Disconnect(context.TODO()) + if err != nil { + gologger.Error().Msgf("Error disconnecting from MongoDB: %s", err) + return err + } + + return nil +} diff --git a/pkg/reporting/options.go b/pkg/reporting/options.go index c5090de014..bda9b6c28d 100644 --- a/pkg/reporting/options.go +++ b/pkg/reporting/options.go @@ -5,6 +5,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonexporter" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonl" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/markdown" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/mongo" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/sarif" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/splunk" "github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/filters" @@ -44,6 +45,8 @@ type Options struct { JSONExporter *jsonexporter.Options `yaml:"json"` // JSONLExporter contains configuration options for JSONL Exporter Module JSONLExporter *jsonl.Options `yaml:"jsonl"` + // MongoDBExporter containers the configuration options for the MongoDB Exporter Module + MongoDBExporter *mongo.Options `yaml:"mongodb"` HttpClient *retryablehttp.Client `yaml:"-"` OmitRaw bool `yaml:"-"` diff --git a/pkg/reporting/reporting.go b/pkg/reporting/reporting.go index c6a7d63e10..ddc5428636 100644 --- a/pkg/reporting/reporting.go +++ b/pkg/reporting/reporting.go @@ -2,6 +2,7 @@ package reporting import ( "fmt" + "github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/mongo" "os" "strings" "sync/atomic" @@ -166,6 +167,13 @@ func New(options *Options, db string, doNotDedupe bool) (Client, error) { } client.exporters = append(client.exporters, exporter) } + if options.MongoDBExporter != nil { + exporter, err := mongo.New(options.MongoDBExporter) + if err != nil { + return nil, errorutil.NewWithErr(err).Wrap(ErrExportClientCreation) + } + client.exporters = append(client.exporters, exporter) + } if doNotDedupe { return client, nil @@ -212,6 +220,7 @@ func CreateConfigIfNotExists() error { SplunkExporter: &splunk.Options{}, JSONExporter: &json_exporter.Options{}, JSONLExporter: &jsonl.Options{}, + MongoDBExporter: &mongo.Options{}, } reportingFile, err := os.Create(reportingConfig) if err != nil { From 888a732fbc9b16c7776f78f147d9277641fc61ca Mon Sep 17 00:00:00 2001 From: Danny Shemesh Date: Mon, 14 Oct 2024 11:48:59 +0300 Subject: [PATCH 230/283] Unlock memguard global change mutex only when locked (#5714) --- pkg/protocols/common/protocolstate/memguardian.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkg/protocols/common/protocolstate/memguardian.go b/pkg/protocols/common/protocolstate/memguardian.go index 1db1e0a775..b5c8cffc75 100644 --- a/pkg/protocols/common/protocolstate/memguardian.go +++ b/pkg/protocols/common/protocolstate/memguardian.go @@ -77,9 +77,8 @@ var muGlobalChange sync.Mutex // Global setting func GlobalGuardBytesBufferAlloc() error { - if muGlobalChange.TryLock() { + if !muGlobalChange.TryLock() { return nil - } defer muGlobalChange.Unlock() @@ -95,9 +94,8 @@ func GlobalGuardBytesBufferAlloc() error { // Global setting func GlobalRestoreBytesBufferAlloc() { - if muGlobalChange.TryLock() { + if !muGlobalChange.TryLock() { return - } defer muGlobalChange.Unlock() From d68af67e6ea08c9df13f44af8e9fbd9dc378faf2 Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 14 Oct 2024 16:23:36 +0700 Subject: [PATCH 231/283] feat(nuclei): generate trace file when using `profile-mem` (#5690) * feat(nuclei): generate trace file when using `profile-mem` Signed-off-by: Dwi Siswanto * docs(DESIGN): dynamically grep mod path Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- .gitignore | 7 ++++++- DESIGN.md | 43 +++++++++++++++++++++++++++++++++---------- cmd/nuclei/main.go | 40 ++++++++++++++++++++++++++++++---------- 3 files changed, 69 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 146b0a892c..6145103342 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,9 @@ pkg/protocols/common/helpers/deserialization/testdata/ValueObject2.ser vendor # Headless `screenshot` action -*.png \ No newline at end of file +*.png + +# Profiling & tracing +*.prof +*.pprof +*.trace \ No newline at end of file diff --git a/DESIGN.md b/DESIGN.md index 9d92e28f8d..af0e27baf9 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -457,26 +457,49 @@ func (template *Template) compileProtocolRequests(options protocols.ExecuterOpti That's it, you've added a new protocol to Nuclei. The next good step would be to write integration tests which are described in `integration-tests` and `cmd/integration-tests` directories. -## Profiling Instructions +## Profiling and Tracing -To enable dumping of Memory profiling data, `-profile-mem` flag can be used along with path to a file. This writes a pprof formatted file which can be used for investigate resource usage with `pprof` tool. +To analyze Nuclei's performance and resource usage, you can generate memory profiles and trace files using the `-profile-mem` flag: -```console -$ nuclei -t nuclei-templates/ -u https://example.com -profile-mem mem.pprof +```bash +nuclei -t nuclei-templates/ -u https://example.com -profile-mem=nuclei-$(git describe --tags) ``` -To view profile data in pprof, first install pprof. Then run the below command - +This command creates two files: -```console -$ go tool pprof mem.pprof +* `nuclei.prof`: Memory (heap) profile +* `nuclei.trace`: Execution trace + +### Analyzing the Memory Profile + +1. View the profile in the terminal: + +```bash +go tool pprof nuclei.prof +``` + +2. Display top memory consumers: + +```bash +go tool pprof -top nuclei.prof | grep "$(go list -m)" | head -10 ``` -To open a web UI on a port to visualize debug data, the below command can be used. +3. Visualize the profile in a web browser: -```console -$ go tool pprof -http=:8081 mem.pprof +```bash +go tool pprof -http=:$(shuf -i 1000-99999 -n 1) nuclei.prof ``` +### Analyzing the Trace File + +To examine the execution trace: + +```bash +go tool trace nuclei.trace +``` + +These tools help identify performance bottlenecks and memory leaks, allowing for targeted optimizations of Nuclei's codebase. + ## Project Structure - [pkg/reporting](./pkg/reporting) - Reporting modules for nuclei. diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index 8fe5b29573..caac7e5546 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -9,6 +9,7 @@ import ( "path/filepath" "runtime" "runtime/pprof" + "runtime/trace" "strings" "time" @@ -103,21 +104,40 @@ func main() { return } - // Profiling related code + // Profiling & tracing related code if memProfile != "" { - f, err := os.Create(memProfile) + memProfile = strings.TrimSuffix(memProfile, filepath.Ext(memProfile)) + ".prof" + memProfileFile, err := os.Create(memProfile) if err != nil { - gologger.Fatal().Msgf("profile: could not create memory profile %q: %v", memProfile, err) + gologger.Fatal().Msgf("profile: could not create memory profile %q file: %v", memProfile, err) } - old := runtime.MemProfileRate + + traceFilepath := strings.TrimSuffix(memProfile, filepath.Ext(memProfile)) + ".trace" + traceFile, err := os.Create(traceFilepath) + if err != nil { + gologger.Fatal().Msgf("profile: could not create trace %q file: %v", traceFilepath, err) + } + + oldMemProfileRate := runtime.MemProfileRate runtime.MemProfileRate = 4096 - gologger.Print().Msgf("profile: memory profiling enabled (rate %d), %s", runtime.MemProfileRate, memProfile) + + // Start tracing + if err := trace.Start(traceFile); err != nil { + gologger.Fatal().Msgf("profile: could not start trace: %v", err) + } defer func() { - _ = pprof.Lookup("heap").WriteTo(f, 0) - f.Close() - runtime.MemProfileRate = old - gologger.Print().Msgf("profile: memory profiling disabled, %s", memProfile) + // Start CPU profiling + if err := pprof.WriteHeapProfile(memProfileFile); err != nil { + gologger.Fatal().Msgf("profile: could not start CPU profile: %v", err) + } + memProfileFile.Close() + traceFile.Close() + trace.Stop() + runtime.MemProfileRate = oldMemProfileRate + + gologger.Info().Msgf("Memory profile saved at %q", memProfile) + gologger.Info().Msgf("Traced at %q", traceFilepath) }() } @@ -402,7 +422,7 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.CallbackVar(printVersion, "version", "show nuclei version"), flagSet.BoolVarP(&options.HangMonitor, "hang-monitor", "hm", false, "enable nuclei hang monitoring"), flagSet.BoolVarP(&options.Verbose, "verbose", "v", false, "show verbose output"), - flagSet.StringVar(&memProfile, "profile-mem", "", "optional nuclei memory profile dump file"), + flagSet.StringVar(&memProfile, "profile-mem", "", "generate memory (heap) profile & trace files"), flagSet.BoolVar(&options.VerboseVerbose, "vv", false, "display templates loaded for scan"), flagSet.BoolVarP(&options.ShowVarDump, "show-var-dump", "svd", false, "show variables dump for debugging"), flagSet.BoolVarP(&options.EnablePprof, "enable-pprof", "ep", false, "enable pprof debugging server"), From 4ef058758ce29807669b5b350b8dc10d43e7f9c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Mon, 14 Oct 2024 15:53:53 +0300 Subject: [PATCH 232/283] fix template loading logic --- lib/sdk.go | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/sdk.go b/lib/sdk.go index daeb68c14b..9bd46f4766 100644 --- a/lib/sdk.go +++ b/lib/sdk.go @@ -100,6 +100,7 @@ func (e *NucleiEngine) LoadAllTemplates() error { return errorutil.New("Could not create loader client: %s\n", err) } e.store.Load() + e.templatesLoaded = true return nil } From aab2cadb64e32d213586fdea25c8b6192007482d Mon Sep 17 00:00:00 2001 From: chuu Date: Mon, 14 Oct 2024 06:52:52 -0700 Subject: [PATCH 233/283] fix: input helper in executor options (#5712) --- lib/sdk_private.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/sdk_private.go b/lib/sdk_private.go index cacd9a1ca1..f63c7b1c34 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -3,6 +3,7 @@ package nuclei import ( "context" "fmt" + "github.com/projectdiscovery/nuclei/v3/pkg/input" "strings" "sync" "time" @@ -171,6 +172,7 @@ func (e *NucleiEngine) init(ctx context.Context) error { ResumeCfg: types.NewResumeCfg(), Browser: e.browserInstance, Parser: e.parser, + InputHelper: input.NewHelper(), } if len(e.opts.SecretsFile) > 0 { authTmplStore, err := runner.GetAuthTmplStore(*e.opts, e.catalog, e.executerOpts) From cc5c5509dc8d87f8b0779b0dfa1e1b9f6f31b5fb Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 14 Oct 2024 20:55:46 +0700 Subject: [PATCH 234/283] feat: global matchers (#5701) * feat: global matchers Signed-off-by: Dwi Siswanto Co-authored-by: Ice3man543 * feat(globalmatchers): make `Callback` as type Signed-off-by: Dwi Siswanto * feat: update `passive` term to `(matchers-)static` Signed-off-by: Dwi Siswanto * feat(globalmatchers): add `origin-template-*` event also use `Set` method instead of `maps.Clone` Signed-off-by: Dwi Siswanto * feat: update `matchers-static` term to `global-matchers` Signed-off-by: Dwi Siswanto * feat(globalmatchers): clone event before `operator.Execute` Signed-off-by: Dwi Siswanto * fix(tmplexec): don't store `matched` on `global-matchers` templ This will end up generating 2 events from the same `scan.ScanContext` if one of the templates has `global-matchers` enabled. This way, non- `global-matchers` templates can enter the `writeFailureCallback` func to log failure output. Signed-off-by: Dwi Siswanto * feat(globalmatchers): initializes `requests` on `New` Signed-off-by: Dwi Siswanto * feat(globalmatchers): add `hasStorage` method Signed-off-by: Dwi Siswanto * refactor(templates): rename global matchers checks method Signed-off-by: Dwi Siswanto * fix(loader): handle nil `templates.Template` pointer Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto Co-authored-by: Ice3man543 --- internal/runner/runner.go | 2 + pkg/catalog/loader/loader.go | 14 ++++ pkg/output/format_screen.go | 5 ++ pkg/output/output.go | 3 + .../common/globalmatchers/globalmatchers.go | 84 +++++++++++++++++++ pkg/protocols/http/http.go | 3 + pkg/protocols/http/operators.go | 5 ++ pkg/protocols/http/request.go | 11 ++- pkg/protocols/protocols.go | 3 + pkg/templates/compile.go | 32 +++++++ pkg/tmplexec/exec.go | 10 ++- 11 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 pkg/protocols/common/globalmatchers/globalmatchers.go diff --git a/internal/runner/runner.go b/internal/runner/runner.go index 0b6da592d3..516bd7ca50 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -48,6 +48,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/automaticscan" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/globalmatchers" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit" @@ -475,6 +476,7 @@ func (r *Runner) RunEnumeration() error { TemporaryDirectory: r.tmpDir, Parser: r.parser, FuzzParamsFrequency: fuzzFreqCache, + GlobalMatchers: globalmatchers.New(), } if config.DefaultConfig.IsDebugArgEnabled(config.DebugExportURLPattern) { diff --git a/pkg/catalog/loader/loader.go b/pkg/catalog/loader/loader.go index 48f14a4054..94818020b7 100644 --- a/pkg/catalog/loader/loader.go +++ b/pkg/catalog/loader/loader.go @@ -353,6 +353,20 @@ func (store *Store) areWorkflowOrTemplatesValid(filteredTemplatePaths map[string if isParsingError("Error occurred parsing template %s: %s\n", templatePath, err) { areTemplatesValid = false } + } else if template == nil { + // NOTE(dwisiswant0): possibly global matchers template. + // This could definitely be handled better, for example by returning an + // `ErrGlobalMatchersTemplate` during `templates.Parse` and checking it + // with `errors.Is`. + // + // However, I’m not sure if every reference to it should be handled + // that way. Returning a `templates.Template` pointer would mean it’s + // an active template (sending requests), and adding a specific field + // like `isGlobalMatchers` in `templates.Template` (then checking it + // with a `*templates.Template.IsGlobalMatchersEnabled` method) would + // just introduce more unknown issues - like during template + // clustering, AFAIK. + continue } else { if existingTemplatePath, found := templateIDPathMap[template.ID]; !found { templateIDPathMap[template.ID] = templatePath diff --git a/pkg/output/format_screen.go b/pkg/output/format_screen.go index 9d0f03efaf..3cdcec1e15 100644 --- a/pkg/output/format_screen.go +++ b/pkg/output/format_screen.go @@ -39,6 +39,11 @@ func (w *StandardWriter) formatScreen(output *ResultEvent) []byte { } } + if output.GlobalMatchers { + builder.WriteString("] [") + builder.WriteString(w.aurora.BrightMagenta("global").String()) + } + builder.WriteString("] [") builder.WriteString(w.aurora.BrightBlue(output.Type).String()) builder.WriteString("] ") diff --git a/pkg/output/output.go b/pkg/output/output.go index fbc9f71306..9d84fd20fc 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -184,6 +184,9 @@ type ResultEvent struct { MatcherStatus bool `json:"matcher-status"` // Lines is the line count for the specified match Lines []int `json:"matched-line,omitempty"` + // GlobalMatchers identifies whether the matches was detected in the response + // of another template's result event + GlobalMatchers bool `json:"global-matchers,omitempty"` // IssueTrackers is the metadata for issue trackers IssueTrackers map[string]IssueTrackerMetadata `json:"issue_trackers,omitempty"` diff --git a/pkg/protocols/common/globalmatchers/globalmatchers.go b/pkg/protocols/common/globalmatchers/globalmatchers.go new file mode 100644 index 0000000000..321759f927 --- /dev/null +++ b/pkg/protocols/common/globalmatchers/globalmatchers.go @@ -0,0 +1,84 @@ +package globalmatchers + +import ( + "maps" + + "github.com/projectdiscovery/nuclei/v3/pkg/model" + "github.com/projectdiscovery/nuclei/v3/pkg/operators" + "github.com/projectdiscovery/nuclei/v3/pkg/output" +) + +// Storage is a struct that holds the global matchers +type Storage struct { + requests []*Item +} + +// Callback is called when a global matcher is matched. +// It receives internal event & result of the operator execution. +type Callback func(event output.InternalEvent, result *operators.Result) + +// Item is a struct that holds the global matchers +// details for a template +type Item struct { + TemplateID string + TemplatePath string + TemplateInfo model.Info + Operators []*operators.Operators +} + +// New creates a new storage for global matchers +func New() *Storage { + return &Storage{requests: make([]*Item, 0)} +} + +// hasStorage checks if the Storage is initialized +func (s *Storage) hasStorage() bool { + return s != nil +} + +// AddOperator adds a new operator to the global matchers +func (s *Storage) AddOperator(item *Item) { + if !s.hasStorage() { + return + } + + s.requests = append(s.requests, item) +} + +// HasMatchers returns true if we have global matchers +func (s *Storage) HasMatchers() bool { + if !s.hasStorage() { + return false + } + + return len(s.requests) > 0 +} + +// Match matches the global matchers against the response +func (s *Storage) Match( + event output.InternalEvent, + matchFunc operators.MatchFunc, + extractFunc operators.ExtractFunc, + isDebug bool, + callback Callback, +) { + for _, item := range s.requests { + for _, operator := range item.Operators { + newEvent := maps.Clone(event) + newEvent.Set("origin-template-id", event["template-id"]) + newEvent.Set("origin-template-info", event["template-info"]) + newEvent.Set("origin-template-path", event["template-path"]) + newEvent.Set("template-id", item.TemplateID) + newEvent.Set("template-info", item.TemplateInfo) + newEvent.Set("template-path", item.TemplatePath) + newEvent.Set("global-matchers", true) + + result, matched := operator.Execute(newEvent, matchFunc, extractFunc, isDebug) + if !matched { + continue + } + + callback(newEvent, result) + } + } +} diff --git a/pkg/protocols/http/http.go b/pkg/protocols/http/http.go index 844bf8c579..bd089edd47 100644 --- a/pkg/protocols/http/http.go +++ b/pkg/protocols/http/http.go @@ -223,6 +223,9 @@ type Request struct { // FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR FuzzPreConditionOperator string `yaml:"pre-condition-operator,omitempty" json:"pre-condition-operator,omitempty" jsonschema:"title=condition between the filters,description=Operator to use between multiple per-conditions,enum=and,enum=or"` fuzzPreConditionOperator matchers.ConditionType `yaml:"-" json:"-"` + // description: | + // GlobalMatchers marks matchers as static and applies globally to all result events from other templates + GlobalMatchers bool `yaml:"global-matchers,omitempty" json:"global-matchers,omitempty" jsonschema:"title=global matchers,description=marks matchers as static and applies globally to all result events from other templates"` } func (e Request) JSONSchemaExtend(schema *jsonschema.Schema) { diff --git a/pkg/protocols/http/operators.go b/pkg/protocols/http/operators.go index d630bfd8b0..9e7d58af0a 100644 --- a/pkg/protocols/http/operators.go +++ b/pkg/protocols/http/operators.go @@ -166,6 +166,10 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent if types.ToString(wrapped.InternalEvent["path"]) != "" { fields.Path = types.ToString(wrapped.InternalEvent["path"]) } + var isGlobalMatchers bool + if value, ok := wrapped.InternalEvent["global-matchers"]; ok { + isGlobalMatchers = value.(bool) + } data := &output.ResultEvent{ TemplateID: types.ToString(wrapped.InternalEvent["template-id"]), TemplatePath: types.ToString(wrapped.InternalEvent["template-path"]), @@ -183,6 +187,7 @@ func (request *Request) MakeResultEventItem(wrapped *output.InternalWrappedEvent Timestamp: time.Now(), MatcherStatus: true, IP: fields.Ip, + GlobalMatchers: isGlobalMatchers, Request: types.ToString(wrapped.InternalEvent["request"]), Response: request.truncateResponse(wrapped.InternalEvent["response"]), CURLCommand: types.ToString(wrapped.InternalEvent["curl-command"]), diff --git a/pkg/protocols/http/request.go b/pkg/protocols/http/request.go index 994e065582..f74020eefb 100644 --- a/pkg/protocols/http/request.go +++ b/pkg/protocols/http/request.go @@ -973,13 +973,22 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ // prune signature internal values if any request.pruneSignatureInternalValues(generatedRequest.meta) - event := eventcreator.CreateEventWithAdditionalOptions(request, generators.MergeMaps(generatedRequest.dynamicValues, finalEvent), request.options.Options.Debug || request.options.Options.DebugResponse, func(internalWrappedEvent *output.InternalWrappedEvent) { + interimEvent := generators.MergeMaps(generatedRequest.dynamicValues, finalEvent) + isDebug := request.options.Options.Debug || request.options.Options.DebugResponse + event := eventcreator.CreateEventWithAdditionalOptions(request, interimEvent, isDebug, func(internalWrappedEvent *output.InternalWrappedEvent) { internalWrappedEvent.OperatorsResult.PayloadValues = generatedRequest.meta }) + if hasInteractMatchers { event.UsesInteractsh = true } + if request.options.GlobalMatchers.HasMatchers() { + request.options.GlobalMatchers.Match(interimEvent, request.Match, request.Extract, isDebug, func(event output.InternalEvent, result *operators.Result) { + callback(eventcreator.CreateEventWithOperatorResults(request, event, result)) + }) + } + // if requrlpattern is enabled, only then it is reflected in result event else it is empty string // consult @Ice3man543 before changing this logic (context: vuln_hash) if request.options.ExportReqURLPattern { diff --git a/pkg/protocols/protocols.go b/pkg/protocols/protocols.go index a9d50c1481..9ead70321d 100644 --- a/pkg/protocols/protocols.go +++ b/pkg/protocols/protocols.go @@ -25,6 +25,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/progress" "github.com/projectdiscovery/nuclei/v3/pkg/projectfile" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/globalmatchers" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/excludematchers" @@ -126,6 +127,8 @@ type ExecutorOptions struct { // ExportReqURLPattern exports the request URL pattern // in ResultEvent it contains the exact url pattern (ex: {{BaseURL}}/{{randstr}}/xyz) used in the request ExportReqURLPattern bool + // GlobalMatchers is the storage for global matchers with http passive templates + GlobalMatchers *globalmatchers.Storage } // todo: centralizing components is not feasible with current clogged architecture diff --git a/pkg/templates/compile.go b/pkg/templates/compile.go index 01af3a999b..b4005afe81 100644 --- a/pkg/templates/compile.go +++ b/pkg/templates/compile.go @@ -20,6 +20,7 @@ import ( "github.com/projectdiscovery/nuclei/v3/pkg/operators" "github.com/projectdiscovery/nuclei/v3/pkg/protocols" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/generators" + "github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/globalmatchers" "github.com/projectdiscovery/nuclei/v3/pkg/protocols/offlinehttp" "github.com/projectdiscovery/nuclei/v3/pkg/templates/signer" "github.com/projectdiscovery/nuclei/v3/pkg/tmplexec" @@ -81,6 +82,18 @@ func Parse(filePath string, preprocessor Preprocessor, options protocols.Executo if err != nil { return nil, err } + if template.isGlobalMatchersEnabled() { + item := &globalmatchers.Item{ + TemplateID: template.ID, + TemplatePath: filePath, + TemplateInfo: template.Info, + } + for _, request := range template.RequestsHTTP { + item.Operators = append(item.Operators, request.CompiledOperators) + } + options.GlobalMatchers.AddOperator(item) + return nil, nil + } // Compile the workflow request if len(template.Workflows) > 0 { compiled := &template.Workflow @@ -96,6 +109,25 @@ func Parse(filePath string, preprocessor Preprocessor, options protocols.Executo return template, nil } +// isGlobalMatchersEnabled checks if any of requests in the template +// have global matchers enabled. It iterates through all requests and +// returns true if at least one request has global matchers enabled; +// otherwise, it returns false. +// +// Note: This method only checks the `RequestsHTTP` +// field of the template, which is specific to http-protocol-based +// templates. +// +// TODO: support all protocols. +func (template *Template) isGlobalMatchersEnabled() bool { + for _, request := range template.RequestsHTTP { + if request.GlobalMatchers { + return true + } + } + return false +} + // parseSelfContainedRequests parses the self contained template requests. func (template *Template) parseSelfContainedRequests() { if template.Signature.Value.String() != "" { diff --git a/pkg/tmplexec/exec.go b/pkg/tmplexec/exec.go index 279d03d849..0caefe6024 100644 --- a/pkg/tmplexec/exec.go +++ b/pkg/tmplexec/exec.go @@ -174,7 +174,15 @@ func (e *TemplateExecuter) Execute(ctx *scan.ScanContext) (bool, error) { if !event.HasOperatorResult() && event.InternalEvent != nil { lastMatcherEvent = event } else { - if writer.WriteResult(event, e.options.Output, e.options.Progress, e.options.IssuesClient) { + var isGlobalMatchers bool + isGlobalMatchers, _ = event.InternalEvent["global-matchers"].(bool) + // NOTE(dwisiswant0): Don't store `matched` on a `global-matchers` template. + // This will end up generating 2 events from the same `scan.ScanContext` if + // one of the templates has `global-matchers` enabled. This way, + // non-`global-matchers` templates can enter the `writeFailureCallback` + // func to log failure output. + wr := writer.WriteResult(event, e.options.Output, e.options.Progress, e.options.IssuesClient) + if wr && !isGlobalMatchers { matched.Store(true) } else { lastMatcherEvent = event From 53f56e179d6a5f254a442dcc9690153a75b9df10 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 14 Oct 2024 13:56:50 +0000 Subject: [PATCH 235/283] Auto Generate Syntax Docs + JSONSchema [Mon Oct 14 13:56:50 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 13 +++++++++++++ nuclei-jsonschema.json | 5 +++++ pkg/templates/templates_doc.go | 7 ++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index 394f0a0684..c448d251d3 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -1651,6 +1651,19 @@ FuzzPreConditionOperator is the operator between multiple PreConditions for fuzz
+
+ +global-matchers bool + +
+
+ +GlobalMatchers marks matchers as static and applies globally to all result events from other templates + +
+ +
+ diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index b4ed1d2982..8a8d5dd1ba 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -889,6 +889,11 @@ ], "title": "condition between the filters", "description": "Operator to use between multiple per-conditions" + }, + "global-matchers": { + "type": "boolean", + "title": "global matchers", + "description": "marks matchers as static and applies globally to all result events from other templates" } }, "additionalProperties": false, diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index b1422c8333..9a7fc97a37 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -459,7 +459,7 @@ func init() { Value: "HTTP response headers in name:value format", }, } - HTTPRequestDoc.Fields = make([]encoder.Doc, 36) + HTTPRequestDoc.Fields = make([]encoder.Doc, 37) HTTPRequestDoc.Fields[0].Name = "path" HTTPRequestDoc.Fields[0].Type = "[]string" HTTPRequestDoc.Fields[0].Note = "" @@ -668,6 +668,11 @@ func init() { HTTPRequestDoc.Fields[35].Note = "" HTTPRequestDoc.Fields[35].Description = "FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR" HTTPRequestDoc.Fields[35].Comments[encoder.LineComment] = "FuzzPreConditionOperator is the operator between multiple PreConditions for fuzzing Default is OR" + HTTPRequestDoc.Fields[36].Name = "global-matchers" + HTTPRequestDoc.Fields[36].Type = "bool" + HTTPRequestDoc.Fields[36].Note = "" + HTTPRequestDoc.Fields[36].Description = "GlobalMatchers marks matchers as static and applies globally to all result events from other templates" + HTTPRequestDoc.Fields[36].Comments[encoder.LineComment] = "GlobalMatchers marks matchers as static and applies globally to all result events from other templates" GENERATORSAttackTypeHolderDoc.Type = "generators.AttackTypeHolder" GENERATORSAttackTypeHolderDoc.Comments[encoder.LineComment] = " AttackTypeHolder is used to hold internal type of the protocol" From 2c832f559045423bbc9bd1e9b87d85928f429e5c Mon Sep 17 00:00:00 2001 From: Dwi Siswanto Date: Mon, 14 Oct 2024 21:01:36 +0700 Subject: [PATCH 236/283] refactor(vardump): use `godump` lib (#5676) * refactor(vardump): use `godump` lib also increate limit char to `255`. Signed-off-by: Dwi Siswanto * feat(vardump): add global var `Limit` Signed-off-by: Dwi Siswanto * chore(protocols): rm newline Signed-off-by: Dwi Siswanto * feat(types): add `VarDumpLimit` option Signed-off-by: Dwi Siswanto * test(vardump): add test cases Signed-off-by: Dwi Siswanto * chore: tidy up mod Signed-off-by: Dwi Siswanto --------- Signed-off-by: Dwi Siswanto --- cmd/nuclei/main.go | 1 + go.mod | 3 +- go.sum | 2 + internal/runner/options.go | 1 + pkg/protocols/code/code.go | 2 +- .../helpers/eventcreator/eventcreator.go | 2 +- pkg/protocols/common/utils/vardump/dump.go | 84 +++++++++++-------- .../common/utils/vardump/dump_test.go | 55 ++++++++++++ pkg/protocols/common/utils/vardump/vars.go | 8 ++ pkg/protocols/dns/request.go | 2 +- pkg/protocols/headless/engine/page_actions.go | 2 +- pkg/protocols/headless/request.go | 2 +- pkg/protocols/http/build_request.go | 2 +- pkg/protocols/javascript/js.go | 2 +- pkg/protocols/network/request.go | 2 +- pkg/protocols/ssl/ssl.go | 2 +- pkg/protocols/websocket/websocket.go | 2 +- pkg/protocols/whois/whois.go | 2 +- pkg/types/types.go | 2 + 19 files changed, 131 insertions(+), 47 deletions(-) create mode 100644 pkg/protocols/common/utils/vardump/dump_test.go create mode 100644 pkg/protocols/common/utils/vardump/vars.go diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go index caac7e5546..5e95a8b1b2 100644 --- a/cmd/nuclei/main.go +++ b/cmd/nuclei/main.go @@ -425,6 +425,7 @@ on extensive configurability, massive extensibility and ease of use.`) flagSet.StringVar(&memProfile, "profile-mem", "", "generate memory (heap) profile & trace files"), flagSet.BoolVar(&options.VerboseVerbose, "vv", false, "display templates loaded for scan"), flagSet.BoolVarP(&options.ShowVarDump, "show-var-dump", "svd", false, "show variables dump for debugging"), + flagSet.IntVarP(&options.VarDumpLimit, "var-dump-limit", "vdl", 255, "limit the number of characters displayed in var dump"), flagSet.BoolVarP(&options.EnablePprof, "enable-pprof", "ep", false, "enable pprof debugging server"), flagSet.CallbackVarP(printTemplateVersion, "templates-version", "tv", "shows the version of the installed nuclei-templates"), flagSet.BoolVarP(&options.HealthCheck, "health-check", "hc", false, "run diagnostic check up"), diff --git a/go.mod b/go.mod index 86a8a00643..db236f5908 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/projectdiscovery/nuclei/v3 -go 1.21 +go 1.21.0 require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible @@ -104,6 +104,7 @@ require ( github.com/shurcooL/graphql v0.0.0-20230722043721-ed46e5a46466 github.com/stretchr/testify v1.9.0 github.com/tarunKoyalwar/goleak v0.0.0-20240429141123-0efa90dbdcf9 + github.com/yassinebenaid/godump v0.10.0 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 go.mongodb.org/mongo-driver v1.17.0 golang.org/x/term v0.24.0 diff --git a/go.sum b/go.sum index b69d6283a5..556ba04f24 100644 --- a/go.sum +++ b/go.sum @@ -1104,6 +1104,8 @@ github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1 github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yassinebenaid/godump v0.10.0 h1:FolBA+Ix5uwUiXYBBYOsf1VkT5+0f4gtFNTkYTiIR08= +github.com/yassinebenaid/godump v0.10.0/go.mod h1:dc/0w8wmg6kVIvNGAzbKH1Oa54dXQx8SNKh4dPRyW44= github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU= github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g= github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM= diff --git a/internal/runner/options.go b/internal/runner/options.go index 2872b96a7a..4ad62a855a 100644 --- a/internal/runner/options.go +++ b/internal/runner/options.go @@ -68,6 +68,7 @@ func ParseOptions(options *types.Options) { if options.ShowVarDump { vardump.EnableVarDump = true + vardump.Limit = options.VarDumpLimit } if options.ShowActions { gologger.Info().Msgf("Showing available headless actions: ") diff --git a/pkg/protocols/code/code.go b/pkg/protocols/code/code.go index 87a0128645..4503b2117f 100644 --- a/pkg/protocols/code/code.go +++ b/pkg/protocols/code/code.go @@ -235,7 +235,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa gologger.Verbose().Msgf("[%s] Executed code on local machine %v", request.options.TemplateID, input.MetaInput.Input) if vardump.EnableVarDump { - gologger.Debug().Msgf("Code Protocol request variables: \n%s\n", vardump.DumpVariables(allvars)) + gologger.Debug().Msgf("Code Protocol request variables: %s\n", vardump.DumpVariables(allvars)) } if request.options.Options.Debug || request.options.Options.DebugRequests { diff --git a/pkg/protocols/common/helpers/eventcreator/eventcreator.go b/pkg/protocols/common/helpers/eventcreator/eventcreator.go index 078963ceed..22c0a7810d 100644 --- a/pkg/protocols/common/helpers/eventcreator/eventcreator.go +++ b/pkg/protocols/common/helpers/eventcreator/eventcreator.go @@ -24,7 +24,7 @@ func CreateEventWithAdditionalOptions(request protocols.Request, outputEvent out // Dump response variables if ran in debug mode if vardump.EnableVarDump { protoName := cases.Title(language.English).String(request.Type().String()) - gologger.Debug().Msgf("%v Protocol response variables: \n%s\n", protoName, vardump.DumpVariables(outputEvent)) + gologger.Debug().Msgf("%v Protocol response variables: %s\n", protoName, vardump.DumpVariables(outputEvent)) } for _, compiledOperator := range request.GetCompiledOperators() { if compiledOperator != nil { diff --git a/pkg/protocols/common/utils/vardump/dump.go b/pkg/protocols/common/utils/vardump/dump.go index ab4f56b113..82de85e67b 100644 --- a/pkg/protocols/common/utils/vardump/dump.go +++ b/pkg/protocols/common/utils/vardump/dump.go @@ -1,53 +1,67 @@ package vardump import ( - "strconv" "strings" "github.com/projectdiscovery/nuclei/v3/pkg/types" mapsutil "github.com/projectdiscovery/utils/maps" + "github.com/yassinebenaid/godump" ) -// EnableVarDump enables var dump for debugging optionally -var EnableVarDump bool +// variables is a map of variables +type variables = map[string]any -// DumpVariables writes the truncated dump of variables to a string -// in a formatted key-value manner. -// -// The values are truncated to return 50 characters from start and end. -func DumpVariables(data map[string]interface{}) string { - var counter int +// DumpVariables dumps the variables in a pretty format +func DumpVariables(data variables) string { + if !EnableVarDump { + return "" + } + + d := godump.Dumper{ + Indentation: " ", + HidePrivateFields: false, + ShowPrimitiveNamedTypes: true, + } + + d.Theme = godump.Theme{ + String: godump.RGB{R: 138, G: 201, B: 38}, + Quotes: godump.RGB{R: 112, G: 214, B: 255}, + Bool: godump.RGB{R: 249, G: 87, B: 56}, + Number: godump.RGB{R: 10, G: 178, B: 242}, + Types: godump.RGB{R: 0, G: 150, B: 199}, + Address: godump.RGB{R: 205, G: 93, B: 0}, + PointerTag: godump.RGB{R: 110, G: 110, B: 110}, + Nil: godump.RGB{R: 219, G: 57, B: 26}, + Func: godump.RGB{R: 160, G: 90, B: 220}, + Fields: godump.RGB{R: 189, G: 176, B: 194}, + Chan: godump.RGB{R: 195, G: 154, B: 76}, + UnsafePointer: godump.RGB{R: 89, G: 193, B: 180}, + Braces: godump.RGB{R: 185, G: 86, B: 86}, + } - buffer := &strings.Builder{} - buffer.Grow(len(data) * 78) // grow buffer to an approximate size + return d.Sprint(process(data, Limit)) +} - builder := &strings.Builder{} - // sort keys for deterministic output +// process is a helper function that processes the variables +// and returns a new map of variables +func process(data variables, limit int) variables { keys := mapsutil.GetSortedKeys(data) + vars := make(variables) + + if limit == 0 { + limit = 255 + } for _, k := range keys { - v := data[k] - valueString := types.ToString(v) - - counter++ - if len(valueString) > 50 { - builder.Grow(56) - builder.WriteString(valueString[0:25]) - builder.WriteString(" .... ") - builder.WriteString(valueString[len(valueString)-25:]) - valueString = builder.String() - builder.Reset() + v := types.ToString(data[k]) + v = strings.ReplaceAll(strings.ReplaceAll(v, "\r", " "), "\n", " ") + if len(v) > limit { + v = v[:limit] + v += " [...]" } - valueString = strings.ReplaceAll(strings.ReplaceAll(valueString, "\r", " "), "\n", " ") - - buffer.WriteString("\t") - buffer.WriteString(strconv.Itoa(counter)) - buffer.WriteString(". ") - buffer.WriteString(k) - buffer.WriteString(" => ") - buffer.WriteString(valueString) - buffer.WriteString("\n") + + vars[k] = v } - final := buffer.String() - return final + + return vars } diff --git a/pkg/protocols/common/utils/vardump/dump_test.go b/pkg/protocols/common/utils/vardump/dump_test.go new file mode 100644 index 0000000000..9929fa5318 --- /dev/null +++ b/pkg/protocols/common/utils/vardump/dump_test.go @@ -0,0 +1,55 @@ +package vardump + +import ( + "strings" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestDumpVariables(t *testing.T) { + // Enable var dump for testing + EnableVarDump = true + + // Test case + testVars := variables{ + "string": "test", + "int": 42, + "bool": true, + "slice": []string{"a", "b", "c"}, + } + + result := DumpVariables(testVars) + + // Assertions + assert.NotEmpty(t, result) + assert.Contains(t, result, "string") + assert.Contains(t, result, "test") + assert.Contains(t, result, "int") + assert.Contains(t, result, "42") + assert.Contains(t, result, "bool") + assert.Contains(t, result, "true") + assert.Contains(t, result, "slice") + assert.Contains(t, result, "a") + assert.Contains(t, result, "b") + assert.Contains(t, result, "c") + + // Test with EnableVarDump set to false + EnableVarDump = false + result = DumpVariables(testVars) + assert.Empty(t, result) +} + +func TestProcess(t *testing.T) { + testVars := variables{ + "short": "short string", + "long": strings.Repeat("a", 300), + "number": 42, + } + + processed := process(testVars, 255) + + assert.Equal(t, "short string", processed["short"]) + assert.Equal(t, strings.Repeat("a", 255)+" [...]", processed["long"]) + assert.Equal(t, "42", processed["number"]) +} diff --git a/pkg/protocols/common/utils/vardump/vars.go b/pkg/protocols/common/utils/vardump/vars.go new file mode 100644 index 0000000000..f5e18bce69 --- /dev/null +++ b/pkg/protocols/common/utils/vardump/vars.go @@ -0,0 +1,8 @@ +package vardump + +var ( + // EnableVarDump enables var dump for debugging optionally + EnableVarDump bool + // Limit is the maximum characters to be dumped + Limit int = 255 +) diff --git a/pkg/protocols/dns/request.go b/pkg/protocols/dns/request.go index 9457845270..6e82c047bc 100644 --- a/pkg/protocols/dns/request.go +++ b/pkg/protocols/dns/request.go @@ -108,7 +108,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, metadata, func (request *Request) execute(input *contextargs.Context, domain string, metadata, previous output.InternalEvent, vars map[string]interface{}, callback protocols.OutputEventCallback) error { var err error if vardump.EnableVarDump { - gologger.Debug().Msgf("DNS Protocol request variables: \n%s\n", vardump.DumpVariables(vars)) + gologger.Debug().Msgf("DNS Protocol request variables: %s\n", vardump.DumpVariables(vars)) } // Compile each request for the template based on the URL diff --git a/pkg/protocols/headless/engine/page_actions.go b/pkg/protocols/headless/engine/page_actions.go index 18ed515662..640bb76214 100644 --- a/pkg/protocols/headless/engine/page_actions.go +++ b/pkg/protocols/headless/engine/page_actions.go @@ -334,7 +334,7 @@ func (p *Page) NavigateURL(action *Action, out ActionData, allvars map[string]in allvars = generators.MergeMaps(allvars, defaultReqVars) if vardump.EnableVarDump { - gologger.Debug().Msgf("Headless Protocol request variables: \n%s\n", vardump.DumpVariables(allvars)) + gologger.Debug().Msgf("Headless Protocol request variables: %s\n", vardump.DumpVariables(allvars)) } // Evaluate the target url with all variables diff --git a/pkg/protocols/headless/request.go b/pkg/protocols/headless/request.go index 5f9b53174e..aae70aa347 100644 --- a/pkg/protocols/headless/request.go +++ b/pkg/protocols/headless/request.go @@ -122,7 +122,7 @@ func (request *Request) executeRequestWithPayloads(input *contextargs.Context, p defer instance.Close() if vardump.EnableVarDump { - gologger.Debug().Msgf("Headless Protocol request variables: \n%s\n", vardump.DumpVariables(payloads)) + gologger.Debug().Msgf("Headless Protocol request variables: %s\n", vardump.DumpVariables(payloads)) } instance.SetInteractsh(request.options.Interactsh) diff --git a/pkg/protocols/http/build_request.go b/pkg/protocols/http/build_request.go index 1b046bffd8..bc3b41244e 100644 --- a/pkg/protocols/http/build_request.go +++ b/pkg/protocols/http/build_request.go @@ -204,7 +204,7 @@ func (r *requestGenerator) Make(ctx context.Context, input *contextargs.Context, finalVars := generators.MergeMaps(allVars, payloads) if vardump.EnableVarDump { - gologger.Debug().Msgf("HTTP Protocol request variables: \n%s\n", vardump.DumpVariables(finalVars)) + gologger.Debug().Msgf("HTTP Protocol request variables: %s\n", vardump.DumpVariables(finalVars)) } // Note: If possible any changes to current logic (i.e evaluate -> then parse URL) diff --git a/pkg/protocols/javascript/js.go b/pkg/protocols/javascript/js.go index 0bd26b88a5..5953c9c296 100644 --- a/pkg/protocols/javascript/js.go +++ b/pkg/protocols/javascript/js.go @@ -319,7 +319,7 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, dynamicV templateCtx.Merge(payloadValues) if vardump.EnableVarDump { - gologger.Debug().Msgf("Javascript Protocol request variables: \n%s\n", vardump.DumpVariables(payloadValues)) + gologger.Debug().Msgf("JavaScript Protocol request variables: %s\n", vardump.DumpVariables(payloadValues)) } if request.PreCondition != "" { diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 32d4ae3494..29cdca4ad2 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -283,7 +283,7 @@ func (request *Request) executeRequestWithPayloads(variables map[string]interfac interimValues := generators.MergeMaps(variables, payloads) if vardump.EnableVarDump { - gologger.Debug().Msgf("Network Protocol request variables: \n%s\n", vardump.DumpVariables(interimValues)) + gologger.Debug().Msgf("Network Protocol request variables: %s\n", vardump.DumpVariables(interimValues)) } inputEvents := make(map[string]interface{}) diff --git a/pkg/protocols/ssl/ssl.go b/pkg/protocols/ssl/ssl.go index 554a4f5c10..fd0dae83db 100644 --- a/pkg/protocols/ssl/ssl.go +++ b/pkg/protocols/ssl/ssl.go @@ -222,7 +222,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa payloadValues = generators.MergeMaps(variablesMap, payloadValues, request.options.Constants) if vardump.EnableVarDump { - gologger.Debug().Msgf("SSL Protocol request variables: \n%s\n", vardump.DumpVariables(payloadValues)) + gologger.Debug().Msgf("SSL Protocol request variables: %s\n", vardump.DumpVariables(payloadValues)) } finalAddress, dataErr := expressions.EvaluateByte([]byte(request.Address), payloadValues) diff --git a/pkg/protocols/websocket/websocket.go b/pkg/protocols/websocket/websocket.go index aa099ef43a..8eeeedf217 100644 --- a/pkg/protocols/websocket/websocket.go +++ b/pkg/protocols/websocket/websocket.go @@ -207,7 +207,7 @@ func (request *Request) executeRequestWithPayloads(target *contextargs.Context, } if vardump.EnableVarDump { - gologger.Debug().Msgf("Websocket Protocol request variables: \n%s\n", vardump.DumpVariables(payloadValues)) + gologger.Debug().Msgf("WebSocket Protocol request variables: %s\n", vardump.DumpVariables(payloadValues)) } finalAddress, dataErr := expressions.EvaluateByte([]byte(request.Address), payloadValues) diff --git a/pkg/protocols/whois/whois.go b/pkg/protocols/whois/whois.go index 9963ec19f8..91d0edcf8a 100644 --- a/pkg/protocols/whois/whois.go +++ b/pkg/protocols/whois/whois.go @@ -99,7 +99,7 @@ func (request *Request) ExecuteWithResults(input *contextargs.Context, dynamicVa variables := generators.MergeMaps(vars, defaultVars, optionVars, dynamicValues, request.options.Constants) if vardump.EnableVarDump { - gologger.Debug().Msgf("Whois Protocol request variables: \n%s\n", vardump.DumpVariables(variables)) + gologger.Debug().Msgf("Whois Protocol request variables: %s\n", vardump.DumpVariables(variables)) } // and replace placeholders diff --git a/pkg/types/types.go b/pkg/types/types.go index 9cc88f49ff..f6e7ab4470 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -206,6 +206,8 @@ type Options struct { VerboseVerbose bool // ShowVarDump displays variable dump ShowVarDump bool + // VarDumpLimit limits the number of characters displayed in var dump + VarDumpLimit int // No-Color disables the colored output. NoColor bool // UpdateTemplates updates the templates installed at startup (also used by cloud to update datasources) From 98948d0266354fbbd7bbfbaf4041e7e8a59dcda7 Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Mon, 14 Oct 2024 20:54:58 +0530 Subject: [PATCH 237/283] support stop-at-first-match for network templates (#5554) --- pkg/protocols/network/network.go | 4 ++++ pkg/protocols/network/request.go | 33 ++++++++++++++++++++++++++++---- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/pkg/protocols/network/network.go b/pkg/protocols/network/network.go index 70d618dcb5..c90f5e7019 100644 --- a/pkg/protocols/network/network.go +++ b/pkg/protocols/network/network.go @@ -85,6 +85,10 @@ type Request struct { // SelfContained specifies if the request is self-contained. SelfContained bool `yaml:"-" json:"-"` + // description: | + // StopAtFirstMatch stops the execution of the requests and template as soon as a match is found. + StopAtFirstMatch bool `yaml:"stop-at-first-match,omitempty" json:"stop-at-first-match,omitempty" jsonschema:"title=stop at first match,description=Stop the execution after a match is found"` + // description: | // ports is post processed list of ports to scan (obtained from Port) ports []string `yaml:"-" json:"-"` diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 29cdca4ad2..10c71b04db 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -8,6 +8,7 @@ import ( "os" "strings" "sync" + "sync/atomic" "time" "github.com/pkg/errors" @@ -99,6 +100,16 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, metadata gologger.Verbose().Msgf("[%v] got errors while checking open ports: %s\n", request.options.TemplateID, err) } + // stop at first match if requested + atomicBool := &atomic.Bool{} + shouldStopAtFirstMatch := request.StopAtFirstMatch || request.options.StopAtFirstMatch || request.options.Options.StopAtFirstMatch + wrappedCallback := func(event *output.InternalWrappedEvent) { + if event != nil && event.HasOperatorResult() { + atomicBool.Store(true) + } + callback(event) + } + for _, port := range ports { input := target.Clone() // use network port updates input with new port requested in template file @@ -107,9 +118,12 @@ func (request *Request) ExecuteWithResults(target *contextargs.Context, metadata if err := input.UseNetworkPort(port, request.ExcludePorts); err != nil { gologger.Debug().Msgf("Could not network port from constants: %s\n", err) } - if err := request.executeOnTarget(input, visitedAddresses, metadata, previous, callback); err != nil { + if err := request.executeOnTarget(input, visitedAddresses, metadata, previous, wrappedCallback); err != nil { return err } + if shouldStopAtFirstMatch && atomicBool.Load() { + break + } } return nil @@ -141,6 +155,16 @@ func (request *Request) executeOnTarget(input *contextargs.Context, visited maps variablesMap := request.options.Variables.Evaluate(variables) variables = generators.MergeMaps(variablesMap, variables, request.options.Constants) + // stop at first match if requested + atomicBool := &atomic.Bool{} + shouldStopAtFirstMatch := request.StopAtFirstMatch || request.options.StopAtFirstMatch || request.options.Options.StopAtFirstMatch + wrappedCallback := func(event *output.InternalWrappedEvent) { + if event != nil && event.HasOperatorResult() { + atomicBool.Store(true) + } + callback(event) + } + for _, kv := range request.addresses { select { case <-input.Context().Done(): @@ -154,12 +178,13 @@ func (request *Request) executeOnTarget(input *contextargs.Context, visited maps continue } visited.Set(actualAddress, struct{}{}) - - if err = request.executeAddress(variables, actualAddress, address, input, kv.tls, previous, callback); err != nil { + if err = request.executeAddress(variables, actualAddress, address, input, kv.tls, previous, wrappedCallback); err != nil { outputEvent := request.responseToDSLMap("", "", "", address, "") callback(&output.InternalWrappedEvent{InternalEvent: outputEvent}) gologger.Warning().Msgf("[%v] Could not make network request for (%s) : %s\n", request.options.TemplateID, actualAddress, err) - continue + } + if shouldStopAtFirstMatch && atomicBool.Load() { + break } } return err From 159a8a53cfd258e4c2556e6d24bc63957e78e1ed Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 14 Oct 2024 15:26:08 +0000 Subject: [PATCH 238/283] Auto Generate Syntax Docs + JSONSchema [Mon Oct 14 15:26:08 UTC 2024] :robot: --- SYNTAX-REFERENCE.md | 13 +++++++++++++ nuclei-jsonschema.json | 5 +++++ pkg/templates/templates_doc.go | 7 ++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/SYNTAX-REFERENCE.md b/SYNTAX-REFERENCE.md index c448d251d3..6d1d9effc4 100755 --- a/SYNTAX-REFERENCE.md +++ b/SYNTAX-REFERENCE.md @@ -3223,6 +3223,19 @@ read-all: false
+
+ +stop-at-first-match bool + +
+
+ +StopAtFirstMatch stops the execution of the requests and template as soon as a match is found. + +
+ +
+ diff --git a/nuclei-jsonschema.json b/nuclei-jsonschema.json index 8a8d5dd1ba..97477e1f7e 100644 --- a/nuclei-jsonschema.json +++ b/nuclei-jsonschema.json @@ -1370,6 +1370,11 @@ "title": "read all response stream", "description": "Read all response stream till the server stops sending" }, + "stop-at-first-match": { + "type": "boolean", + "title": "stop at first match", + "description": "Stop the execution after a match is found" + }, "matchers": { "items": { "$ref": "#/$defs/matchers.Matcher" diff --git a/pkg/templates/templates_doc.go b/pkg/templates/templates_doc.go index 9a7fc97a37..9bf754e24c 100644 --- a/pkg/templates/templates_doc.go +++ b/pkg/templates/templates_doc.go @@ -1334,7 +1334,7 @@ func init() { Value: "Full Network protocol data", }, } - NETWORKRequestDoc.Fields = make([]encoder.Doc, 10) + NETWORKRequestDoc.Fields = make([]encoder.Doc, 11) NETWORKRequestDoc.Fields[0].Name = "id" NETWORKRequestDoc.Fields[0].Type = "string" NETWORKRequestDoc.Fields[0].Note = "" @@ -1393,6 +1393,11 @@ func init() { NETWORKRequestDoc.Fields[9].Comments[encoder.LineComment] = "ReadAll determines if the data stream should be read till the end regardless of the size" NETWORKRequestDoc.Fields[9].AddExample("", false) + NETWORKRequestDoc.Fields[10].Name = "stop-at-first-match" + NETWORKRequestDoc.Fields[10].Type = "bool" + NETWORKRequestDoc.Fields[10].Note = "" + NETWORKRequestDoc.Fields[10].Description = "StopAtFirstMatch stops the execution of the requests and template as soon as a match is found." + NETWORKRequestDoc.Fields[10].Comments[encoder.LineComment] = "StopAtFirstMatch stops the execution of the requests and template as soon as a match is found." NETWORKInputDoc.Type = "network.Input" NETWORKInputDoc.Comments[encoder.LineComment] = "" From 7e4b4a8c55f2ef1c3495f8c41cfea9d77dd7b7df Mon Sep 17 00:00:00 2001 From: Ramana Reddy <90540245+RamanaReddy0M@users.noreply.github.com> Date: Fri, 18 Oct 2024 20:44:40 +0530 Subject: [PATCH 239/283] fix: interactsh-url placeholder replacement in variables for network template (#5677) --- pkg/protocols/network/request.go | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pkg/protocols/network/request.go b/pkg/protocols/network/request.go index 10c71b04db..3579acd3b8 100644 --- a/pkg/protocols/network/request.go +++ b/pkg/protocols/network/request.go @@ -314,30 +314,31 @@ func (request *Request) executeRequestWithPayloads(variables map[string]interfac inputEvents := make(map[string]interface{}) for _, input := range request.Inputs { - data := []byte(input.Data) + dataInBytes := []byte(input.Data) + var err error - if request.options.Interactsh != nil { - var transformedData string - transformedData, interactshURLs = request.options.Interactsh.Replace(string(data), []string{}) - data = []byte(transformedData) - } - - finalData, err := expressions.EvaluateByte(data, interimValues) + dataInBytes, err = expressions.EvaluateByte(dataInBytes, interimValues) if err != nil { request.options.Output.Request(request.options.TemplatePath, address, request.Type().String(), err) request.options.Progress.IncrementFailedRequestsBy(1) return errors.Wrap(err, "could not evaluate template expressions") } - reqBuilder.Write(finalData) + data := string(dataInBytes) + if request.options.Interactsh != nil { + data, interactshURLs = request.options.Interactsh.Replace(data, []string{}) + dataInBytes = []byte(data) + } + + reqBuilder.Write(dataInBytes) - if err := expressions.ContainsUnresolvedVariables(string(finalData)); err != nil { + if err := expressions.ContainsUnresolvedVariables(data); err != nil { gologger.Warning().Msgf("[%s] Could not make network request for %s: %v\n", request.options.TemplateID, actualAddress, err) return nil } if input.Type.GetType() == hexType { - finalData, err = hex.DecodeString(string(finalData)) + dataInBytes, err = hex.DecodeString(data) if err != nil { request.options.Output.Request(request.options.TemplatePath, address, request.Type().String(), err) request.options.Progress.IncrementFailedRequestsBy(1) @@ -345,7 +346,7 @@ func (request *Request) executeRequestWithPayloads(variables map[string]interfac } } - if _, err := conn.Write(finalData); err != nil { + if _, err := conn.Write(dataInBytes); err != nil { request.options.Output.Request(request.options.TemplatePath, address, request.Type().String(), err) request.options.Progress.IncrementFailedRequestsBy(1) return errors.Wrap(err, "could not write request to server") From d7c8c8af8007a5e6175cc51322bd7a9d50ec7706 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Fri, 18 Oct 2024 22:28:02 +0530 Subject: [PATCH 240/283] version update --- pkg/catalog/config/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go index e29af00cdd..7d11b6f71e 100644 --- a/pkg/catalog/config/constants.go +++ b/pkg/catalog/config/constants.go @@ -31,7 +31,7 @@ const ( CLIConfigFileName = "config.yaml" ReportingConfigFilename = "reporting-config.yaml" // Version is the current version of nuclei - Version = `v3.3.4` + Version = `v3.3.5` // Directory Names of custom templates CustomS3TemplatesDirName = "s3" CustomGitHubTemplatesDirName = "github" From 44f398c08da62acbf555d3b21f7260e5daff2ce1 Mon Sep 17 00:00:00 2001 From: sandeep <8293321+ehsandeep@users.noreply.github.com> Date: Sat, 19 Oct 2024 17:21:13 +0530 Subject: [PATCH 241/283] readme updates --- README.md | 372 +++++++++++++------ static/nuclei-cover-image.png | Bin 0 -> 818033 bytes static/nuclei-cover.png | Bin 0 -> 818033 bytes static/nuclei-getting-started.png | Bin 0 -> 45304 bytes static/nuclei-template-example.png | Bin 0 -> 2155430 bytes static/nuclei-templates-teamcity-example.png | Bin 0 -> 1162315 bytes static/nuclei-templates-teamcity.png | Bin 0 -> 1538352 bytes static/nuclei-write-your-first-template.png | Bin 0 -> 47472 bytes static/projectdiscovery-browse-results.gif | Bin 0 -> 2862660 bytes static/teamcity-example.png | Bin 0 -> 1098783 bytes 10 files changed, 252 insertions(+), 120 deletions(-) create mode 100644 static/nuclei-cover-image.png create mode 100644 static/nuclei-cover.png create mode 100644 static/nuclei-getting-started.png create mode 100644 static/nuclei-template-example.png create mode 100644 static/nuclei-templates-teamcity-example.png create mode 100644 static/nuclei-templates-teamcity.png create mode 100644 static/nuclei-write-your-first-template.png create mode 100644 static/projectdiscovery-browse-results.gif create mode 100644 static/teamcity-example.png diff --git a/README.md b/README.md index 412d348645..02cacb9ccf 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,4 @@ -

-
- Nuclei -

- -

Fast and customisable vulnerability scanner based on simple YAML based DSL.

- - -

- - - - - - - - -

- -

- How • - Install • - Documentation • - Credits • - FAQs • - Join Discord -

+![nuclei](/static/nuclei-cover-image.png)

English • @@ -34,78 +8,103 @@ Spanish日本語

-

---- - -Nuclei is used to send requests across targets based on a template, leading to zero false positives and providing fast scanning on a large number of hosts. Nuclei offers scanning for a variety of protocols, including TCP, DNS, HTTP, SSL, File, Whois, Websocket, Headless, Code etc. With powerful and flexible templating, Nuclei can be used to model all kinds of security checks. +

-We have a [dedicated repository](https://github.com/projectdiscovery/nuclei-templates) that houses various type of vulnerability templates contributed by **more than 300** security researchers and engineers. +

-## How it works + +   + +   + +   + +--- -

- nuclei-flow -

+

+ +
+ +Nuclei is a modern, high-performance vulnerability scanner that leverages simple YAML-based templates. It empowers you to design custom vulnerability detection scenarios that mimic real-world conditions, leading to zero false positives. + +- Simple YAML format for creating and customizing vulnerability templates. +- Contributed by thousands of security professionals to tackle trending vulnerabilities. +- Reduce false positives by simulating real-world steps to verify a vulnerability. +- Ultra-fast parallel scan processing and request clustering. +- Integrate into CI/CD pipelines for vulnerability detection and regression testing. +- Supports multiple protocols like TCP, DNS, HTTP, SSL, WHOIS JavaScript, Code and more. +- Integrate with Jira, Splunk, GitHub, Elastic, GitLab. + +## Table of Contents + +- [Get Started](#get-started) + - [1. Nuclei CLI](#1-nuclei-cli) + - [2. Pro and Enterprise Editions](#2-pro-and-enterprise-editions) +- [Documentation](#documentation) + - [Command Line Flags](#command-line-flags) + - [Single target scan](#single-target-scan) + - [Scanning multiple targets](#scanning-multiple-targets) + - [Network scan](#network-scan) + - [Scanning with your custom template](#scanning-with-your-custom-template) + - [Connect Nuclei to ProjectDiscovery](#connect-nuclei-to-projectdiscovery) +- [Nuclei Templates, Community and Rewards 💎](#nuclei-templates-community-and-rewards-) +- [Our Mission](#our-mission) +- [Contributors ❤️](#contributors-️) +- [License](#license) +--- | :exclamation: **Disclaimer** | |---------------------------------| | **This project is in active development**. Expect breaking changes with releases. Review the release changelog before updating. | -| This project was primarily built to be used as a standalone CLI tool. **Running nuclei as a service may pose security risks.** It's recommended to use with caution and additional security measures. | +| This project is primarily built to be used as a standalone CLI tool. **Running nuclei as a service may pose security risks.** It's recommended to use with caution and additional security measures. | -# Install Nuclei +## Get Started -Nuclei requires **go1.21** to install successfully. Run the following command to install the latest version - +### **1. Nuclei CLI** -```sh -go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest -``` +Install Nuclei on your machine. Get started by following the installation guide [here](https://docs.projectdiscovery.io/tools/nuclei/install?utm_source=github&utm_medium=web&utm_campaign=nuclei_readme). Additionally, We provide [a free cloud tier](https://cloud.projectdiscovery.io/sign-up) and comes with a generous monthly free limits: -
- Brew - - ```sh - brew install nuclei - ``` - -
-
- Docker - - ```sh - docker pull projectdiscovery/nuclei:latest - ``` - -
+- Store and visualize your vulnerability findings +- Write and manage your nuclei templates +- Access latest nuclei templates +- Discover and store your targets + +### **2. Pro and Enterprise Editions** -**More installation [methods can be found here](https://docs.projectdiscovery.io/tools/nuclei/install).** +For security teams and enterprises, we provide a cloud-hosted service built on top of Nuclei OSS, fine-tuned to help you continuously run vulnerability scans at scale with your team and existing workflows: - - - - -
+- 50x faster scans +- Large scale scanning with high accuracy +- Integrations with cloud services (AWS, GCP, Azure, CloudFlare, Fastly, Terraform, Kubernetes) +- Jira, Slack, Linear, APIs and Webhooks +- Executive and compliance reporting +- Plus: Real-time scanning, SAML SSO, SOC 2 compliant platform (with EU and US hosting options), shared team workspaces, and more +- We're constantly [adding new features](https://feedback.projectdiscovery.io/changelog)! +- **Ideal for:** Pentesters, security teams, and enterprises -### Nuclei Templates +## Documentation -Nuclei has built-in support for automatic template download/update as default since version [v2.5.2](https://github.com/projectdiscovery/nuclei/releases/tag/v2.5.2). [**Nuclei-Templates**](https://github.com/projectdiscovery/nuclei-templates) project provides a community-contributed list of ready-to-use templates that is constantly updated. +Browse the full Nuclei [documentation here](https://docs.projectdiscovery.io/tools/nuclei/running). If you’re new to Nuclei, check out our [foundational Youtube series.](https://www.youtube.com/playlist?list=PLZRbR9aMzTTpItEdeNSulo8bYsvil80Rl) -You may still use the `update-templates` flag to update the nuclei templates at any time; You can write your own checks for your individual workflow and needs following Nuclei's [templating guide](https://docs.projectdiscovery.io/templates/). +

-The YAML DSL reference syntax is available [here](SYNTAX-REFERENCE.md). + -

+

-### Usage +### Command Line Flags + +To display all the flags for the tool: ```sh nuclei -h ``` -This will display help for the tool. Here are all the switches it supports. - +
+ Expand full help flags ```console Nuclei is a fast, template based vulnerability scanner focusing @@ -279,23 +278,24 @@ HEADLESS: -lha, -list-headless-action list available headless actions DEBUG: - -debug show all requests and responses - -dreq, -debug-req show all sent requests - -dresp, -debug-resp show all received responses - -p, -proxy string[] list of http/socks5 proxy to use (comma separated or file input) - -pi, -proxy-internal proxy all internal requests - -ldf, -list-dsl-function list all supported DSL function signatures - -tlog, -trace-log string file to write sent requests trace log - -elog, -error-log string file to write sent requests error log - -version show nuclei version - -hm, -hang-monitor enable nuclei hang monitoring - -v, -verbose show verbose output - -profile-mem string optional nuclei memory profile dump file - -vv display templates loaded for scan - -svd, -show-var-dump show variables dump for debugging - -ep, -enable-pprof enable pprof debugging server - -tv, -templates-version shows the version of the installed nuclei-templates - -hc, -health-check run diagnostic check up + -debug show all requests and responses + -dreq, -debug-req show all sent requests + -dresp, -debug-resp show all received responses + -p, -proxy string[] list of http/socks5 proxy to use (comma separated or file input) + -pi, -proxy-internal proxy all internal requests + -ldf, -list-dsl-function list all supported DSL function signatures + -tlog, -trace-log string file to write sent requests trace log + -elog, -error-log string file to write sent requests error log + -version show nuclei version + -hm, -hang-monitor enable nuclei hang monitoring + -v, -verbose show verbose output + -profile-mem string generate memory (heap) profile & trace files + -vv display templates loaded for scan + -svd, -show-var-dump show variables dump for debugging + -vdl, -var-dump-limit int limit the number of characters displayed in var dump (default 255) + -ep, -enable-pprof enable pprof debugging server + -tv, -templates-version shows the version of the installed nuclei-templates + -hc, -health-check run diagnostic check up UPDATE: -up, -update update nuclei engine to the latest released version @@ -310,11 +310,13 @@ STATISTICS: -mp, -metrics-port int port to expose nuclei metrics on (default 9092) CLOUD: - -auth configure projectdiscovery cloud (pdcp) api key (default true) - -tid, -team-id string upload scan results to given team id (optional) (default "none") - -cup, -cloud-upload upload scan results to pdcp dashboard - -sid, -scan-id string upload scan results to existing scan id (optional) - -sname, -scan-name string scan name to set (optional) + -auth configure projectdiscovery cloud (pdcp) api key (default true) + -tid, -team-id string upload scan results to given team id (optional) (default "none") + -cup, -cloud-upload upload scan results to pdcp dashboard [DEPRECATED use -dashboard] + -sid, -scan-id string upload scan results to existing scan id (optional) + -sname, -scan-name string scan name to set (optional) + -pd, -dashboard upload / view nuclei results in projectdiscovery cloud (pdcp) UI dashboard + -pdu, -dashboard-upload string upload / view nuclei results file (jsonl) in projectdiscovery cloud (pdcp) UI dashboard AUTHENTICATION: -sf, -secret-file string[] path to config file containing secrets for nuclei authenticated scan @@ -323,59 +325,189 @@ AUTHENTICATION: EXAMPLES: Run nuclei on single host: - $ nuclei -target example.com + $ nuclei -target example.com Run nuclei with specific template directories: - $ nuclei -target example.com -t http/cves/ -t ssl + $ nuclei -target example.com -t http/cves/ -t ssl Run nuclei against a list of hosts: - $ nuclei -list hosts.txt + $ nuclei -list hosts.txt Run nuclei with a JSON output: - $ nuclei -target example.com -json-export output.json + $ nuclei -target example.com -json-export output.json Run nuclei with sorted Markdown outputs (with environment variables): - $ MARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/ + $ MARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/ Additional documentation is available at: https://docs.nuclei.sh/getting-started/running ``` -### Running Nuclei +Additional documentation is available at: [https://docs.nuclei.sh/getting-started/running](https://docs.nuclei.sh/getting-started/running?utm_source=github&utm_medium=web&utm_campaign=nuclei_readme) -See https://docs.projectdiscovery.io/tools/nuclei/running for details on running Nuclei +
-### Using Nuclei From Go Code +### Single target scan -Complete guide of using Nuclei as Library/SDK is available at [godoc](https://pkg.go.dev/github.com/projectdiscovery/nuclei/v3/lib#section-readme) +To perform a quick scan on web-application: +```sh +nuclei -target https://example.com +``` -### Resources +### Scanning multiple targets -You can access the main documentation for Nuclei at https://docs.projectdiscovery.io/tools/nuclei/, and learn more about Nuclei in the cloud with [ProjectDiscovery Cloud Platform](https://cloud.projectdiscovery.io) +Nuclei can handle bulk scanning by providing a list of targets. You can use a file containing multiple URLs. -See https://docs.projectdiscovery.io/tools/nuclei/resources for more resources and videos about Nuclei! +```sh +nuclei -targets urls.txt +``` -### Credits +### Network scan -Thanks to all the amazing [community contributors for sending PRs](https://github.com/projectdiscovery/nuclei/graphs/contributors) and keeping this project updated. :heart: +This will scan the entire subnet for network-related issues, such as open ports or misconfigured services. + +```sh +nuclei -target 192.168.1.0/24 +``` -If you have an idea or some kind of improvement, you are welcome to contribute and participate in the Project, feel free to send your PR. +### Scanning with your custom template -

- - - +To write and use your own template, create a `.yaml` file with specific rules, then use it as follows. + +```sh +nuclei -u https://example.com -t /path/to/your-template.yaml +``` + +### Connect Nuclei to ProjectDiscovery + +You can run the scans on your machine and upload the results to the cloud platform for further analysis and remediation. + +```sh +nuclei -target https://example.com -dashboard +``` + +> [!NOTE] +> This feature is absolutely free and does not require any subscription. For a detailed guide, refer to the [documentation](https://docs.projectdiscovery.io/cloud/scanning/nuclei-scan?utm_source=github&utm_medium=web&utm_campaign=nuclei_readme). + +## Nuclei Templates, Community and Rewards 💎 +[Nuclei templates](https://github.com/projectdiscovery/nuclei-templates) are based on the concepts of YAML based template files that define how the requests will be sent and processed. This allows easy extensibility capabilities to nuclei. The templates are written in YAML which specifies a simple human-readable format to quickly define the execution process. + +Try it online with our free AI powered Nuclei Templates Editor by [clicking here.](https://cloud.projectdiscovery.io/templates) + +Nuclei Templates offer a streamlined way to identify and communicate vulnerabilities, combining essential details like severity ratings and detection methods. This open-source, community-developed tool accelerates threat response and is widely recognized in the cybersecurity world. Nuclei templates are actively contributed by thousands of security researchers globally. We run two programs for our contributors: [Pioneers](https://projectdiscovery.io/pioneers) and [💎 bounties](https://github.com/projectdiscovery/nuclei-templates/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22%F0%9F%92%8E%20Bounty%22). + + +

+ Nuclei template example for detecting TeamCity misconfiguration

+#### Examples + +Visit [our documentation](https://docs.projectdiscovery.io/templates/introduction) for use cases and ideas. + +| Use case | Nuclei template | +| :----------------------------------- | :------------------------------------------------- | +| Detect known CVEs | **[CVE-2021-44228 (Log4Shell)](https://cloud.projectdiscovery.io/public/CVE-2021-45046)** | +| Identify Out-of-Band vulnerabilities | **[Blind SQL Injection via OOB](https://cloud.projectdiscovery.io/public/CVE-2024-22120)** | +| SQL Injection detection | **[Generic SQL Injection](https://cloud.projectdiscovery.io/public/CVE-2022-34265)** | +| Cross-Site Scripting (XSS) | **[Reflected XSS Detection](https://cloud.projectdiscovery.io/public/CVE-2023-4173)** | +| Default or weak passwords | **[Default Credentials Check](https://cloud.projectdiscovery.io/public/airflow-default-login)** | +| Secret files or data exposure | **[Sensitive File Disclosure](https://cloud.projectdiscovery.io/public/airflow-configuration-exposure)** | +| Identify open redirects | **[Open Redirect Detection](https://cloud.projectdiscovery.io/public/open-redirect)** | +| Detect subdomain takeovers | **[Subdomain Takeover Templates](https://cloud.projectdiscovery.io/public/azure-takeover-detection)** | +| Security misconfigurations | **[Unprotected Jenkins Console](https://cloud.projectdiscovery.io/public/unauthenticated-jenkins)** | +| Weak SSL/TLS configurations | **[SSL Certificate Expiry](https://cloud.projectdiscovery.io/public/expired-ssl)** | +| Misconfigured cloud services | **[Open S3 Bucket Detection](https://cloud.projectdiscovery.io/public/s3-public-read-acp)** | +| Remote code execution vulnerabilities| **[RCE Detection Templates](https://cloud.projectdiscovery.io/public/CVE-2024-29824)** | +| Directory traversal attacks | **[Path Traversal Detection](https://cloud.projectdiscovery.io/public/oracle-fatwire-lfi)** | +| File inclusion vulnerabilities | **[Local/Remote File Inclusion](https://cloud.projectdiscovery.io/public/CVE-2023-6977)** | + -Do also check out the below similar open-source projects that may fit in your workflow: +## Our Mission -[FFuF](https://github.com/ffuf/ffuf), [Qsfuzz](https://github.com/ameenmaali/qsfuzz), [Inception](https://github.com/proabiral/inception), [Snallygaster](https://github.com/hannob/snallygaster), [Gofingerprint](https://github.com/Static-Flow/gofingerprint), [Sn1per](https://github.com/1N3/Sn1per/tree/master/templates), [Google tsunami](https://github.com/google/tsunami-security-scanner), [Jaeles](https://github.com/jaeles-project/jaeles), [ChopChop](https://github.com/michelin/ChopChop) +Traditional vulnerability scanners were built decades ago. They are closed-source, incredibly slow, and vendor-driven. Today's attackers are mass exploiting newly released CVEs across the internet within days, unlike the years it used to take. This shift requires a completely different approach to tackling trending exploits on the internet. + +We built Nuclei to solve this challenge. We made the entire scanning engine framework open and customizable—allowing the global security community to collaborate and tackle the trending attack vectors and vulnerabilities on the internet. Nuclei is now used and contributed by Fortune 500 enterprises, government agencies, universities. + +You can participate by contributing to our code, [templates library](https://github.com/projectdiscovery/nuclei-templates), or [joining our team.](https://projectdiscovery.io/) + +## Contributors :heart: + +Thanks to all the amazing [community contributors for sending PRs](https://github.com/projectdiscovery/nuclei/graphs/contributors) and keeping this project updated. :heart: + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-### License +## License -Nuclei is distributed under [MIT License](https://github.com/projectdiscovery/nuclei/blob/main/LICENSE.md) +Nuclei is distributed under [MIT License](https://github.com/projectdiscovery/nuclei/blob/main/LICENSE.md). -

- Join Discord Check Nuclei Documentation -

+ diff --git a/static/nuclei-cover-image.png b/static/nuclei-cover-image.png new file mode 100644 index 0000000000000000000000000000000000000000..caab6fb2d4ec9d5f02b30220f62d5bb3e3bfd9ce GIT binary patch literal 818033 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%0D#AE>=vtKon^k@zkDU%X*9QAxpYOEnOGi! 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�D_H`USca^9R|+To=sExj+Kg}Yc-^bM&&Z)zv> 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 z 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�EH{X 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 mIZGH+duEAx2g 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

Y?jp+qL61 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

j+*=_Voc7 zOMp4U2U! zmBQHk1%?u5gkRY*HXUv-%sruH{+dVW2K2csiJKjG9={BvaBt{sL;}rLZszon*ZXRx zT6jqt9Z8;cLgd0(TC{3`CwzKT?q-?7g2BZ^P@T4OyoXuASa73MRLE(c#PQ7RKI05d zf{ka~wBc$!(j{xv*uwN=OVRDYNvgG-N@G5+om|VA>bBqQ=Ey`_-aZ`5f12~;Q-gn5 z+p7PHgR1{Xs~v=e=P&T1Cu_zZHjW1^RJcukb;8hA6v#GVGlHm4)vk3EwdVxjG4E?h z$ZtwL>yF1(#a*{$*lMsrtmV^FxpHwmyqhHQH^7w=vr~Z^bz6W2Ht-%>zLPF4lB;>O z*2rhmIFy56c5R0nv=%)QKjjT<+<8Pn>^w(4IZ0I=I=2m0TDQY&*)ga7ZKoQJ)By0t z?pt%FPu)2+AvK{XttY^LHNqHPj9Zh2$7{lCf@5g=d3z#TY{vkgIF6eby!&HEv-^7y zD{=Y3v9=`(?O_dhTH|XI96x~%aYD8eXdwV)WP4}PgSm)qUB~R>(PX1+5}5nB{i-(y ziI-qwoTTe-`L&6$@rCA9%60xNRWEje`6Y{(5MD({&eF?C@7W7yOKy@lzWOd2D*CNN5g_f>twg4K^vxXtgxr&2H@ZPP~%L2-hwG^)zUu2_rc zPlONr@T~31$Hka6NdWPZOBy=FZ8|LanC%d4=B=G^X(@zXJ@bM8b&JqF`>?6}8}3B6 z$2_g7apoCq_{Kba$w0M81tO6@DM9LS)RTkmV4hiah^HA$hT2e+L-jcBv8Y%eW1ZLw z!Xak zKa`moXu&%c<7RyAMY7_rD(l9-p1hO$@Vn))J891p3#rXM@lhC!TRFoGnP+5PP27B> z5MH~_Pr{H9%z<6>wBuMe_anU5n9&R=MtC_Rz^@FEbl{%YB;<{2K>ANILj8bqR}%4; z>dCQRfQgM3B}GBNaOy=xlEz5a`l74!i^(@-s5@jmar%6@oXp3(Nmk~EzkCcpmx@w9 zQHO6(i5Cv1-Ie;@>f$m|;it^=totwfsnLB?MbtEcud^Ip;4p2ivayXGyOFhzQ@rwq z_U?;9KUS|s8&tK2qv2B_T8N18jUie65wK<-UBfM8Ra}gw)Ed}NIJymm8}PJEJGNJ1 z`&X9kTRN%3uhh;XTK8C|s4}E#Do1g~myf9wCv3IXyN@)4#V@$?i*~1mox~Eq*2Ng> zdsU6w1{F=zh(GlA(C}&_9kI45;vBz@5Ay7niE%Nglt@YW=Q%%@z@}r;iTQ4kcd3wl zR~hGCTqP{lhIpRR&gm3(oSJq@mF1|-;Y(7b!wlD7I$2_(Dp94z4;QD3LZHAt$aI3> zs`NU*F~GOSu-&W%4&QlB#G=XKb=#bs!sN>tjX&}9(T=ymN=}KmWI4b>o48`wQ<2OO zoT=H^5_}mdlzWAd@OEW<^P@=Y8yBO;Oaw`V+GfwiI9iR}ZL`!6j2018zf!%zOWsXU zCG1W`Z7nY1pd_!SLjIfElLSGvRsf-|IL}0aU>tQ`DsnE+4O+|h30Z1!A^Ek#Q6Gf9 zkOcM^f^tbLv*E^^7bkUFc5Bx^*PKc;Wiuom--27B3pCTEb0 z!AXK`&vA1$#cKO-!svzcbM|NxlC~LyIC{BH9kog57^4D@V~1W%slsHOzKtL2^h!W} zfyItA?oM4w{e(5IMgK_43s_tG!IsdK-*?THZjxA?Y8VmX^dEA_hyBJGx3XSgd6KXR zJ$UK6%zc3AUfedS?Vw7l7$6LgprPbay|OI|!q z7}B-~po5UiM?kR2lLk){u)m)Z-5E`-o~(x`e@B5r%#}8`*tBCYU4*Bl=5M$UYlRux z;$-UqcL?jII(Zc@_-H8}+qEs&(K5r8TlQ<9H;qL0swVD?ejFR*2V!`Rp?jy}XnzCL7)9KLvjaULq$g*wWd=nm5rElx0I#la`!akKOV zIc{w9bYJN7B4_D;|M3Yoi+CxoGD1qeD)2~G0Z&6Y!rEYow*HOp#tk`@2@ zdWLd0%_N&P8JD{@9JD;C;r$s`x(wOg`EPhGof8tjly3Kg6Gt%^ippSvs+%OSU_4&l z8h;ZDUkP63yieX?iq5jVyAh1fvH9@_;p*l?FtB$$rs7Wk=DIjV5~Nyq>NNvuc2)w)DWqlP13AlSHZ#zQfseT$#}Uuc8>)iSw0eXnxbDzLUbr^W~`2 z+Ul4~clAM-296P-WJmI1Rz6;kx9wUu279*Cei5V?HCg~yuHN@m`z^@&Jwmz<MSoX zba|hJr^oHR9L=KHn+xazu1#%H7i&M>Uu98o9!vF@)f*}@-6!_so;#9SdiB4ygJ#Fo z_of@B#%CMPq-BhlKwsobz*eSV@H=`wC&ucIsjwfX&qHDIiG zjGz=~q^P-Z#ANZ`FlPPIu7+v8E&JIq-sHst>=O1_W_}*TmUlNWF2nOV--uuq$fEmA zCToel85@7L47;OHolVJA#jiurdKRK zs*)3$-Qc`z9?by-w(JlDo;f(*(zHo~>R3^tOVRy$TmlSDm|;b*Ld!zJ#Kff`Hz-83 ziDs3^V4?<5gpNGRoJHp_j)*=;1%g>8m{pyFyKd7UlHsnw&>&MiO*`b01z6xC!TBw4 zNzWC7dbg7kP9|Vio@9f~JackZ1|d7a+qyJ@Yr2@Q`%W65u)Vr?j&$-}TKs|1Y!hoS zwo}I}mC({B$yuLTvE-O?w7r&NceS0B<{Zeu=FJ8cge4mZG4dI0EqFOsTyzeLx>U+C zTDE@%YN4IH!OJlCFg88-zM=c>-+)@MSfjPAP9LxNL_3aYAcx`S(%a-4w<=Y-Ng5b= zVpPm7Na;4|1#jIHt9&t01Xn82%TaOM%PhTnnaBWL=H`V;vYGJdI?I}lWSiY~sf||XRz&hwlfDG4kf8Z~XDke-AfDY{n z*&|hooO-IW?VR_zXufkhs6Xptd#_r#31o0V6y9 zCB|UXmvevyBuF@u>*di9$g9i|2{cZDfbC*8;Q|9)rt8;c?+xJ>ITQRhBKpMuW#Jne z+9?elUOj3dRCn57yst@r@pPd};}lEd z>2kU>{)pm72tiGMS+#cgHoP4qw7Or@ z?H?=-v7K7f!eZsS{u9LtsGJ>fsma@lI{wC~0~7B$+%Dbwx8Yt)F2Q*^KzUmCM2 z&3vJkaXI)W_Ke5#)$||>-1R!B;>~k2?OX<5B$@W2gA={gpeJ4PHqhVOmFY zq9Inl(t28b&akuXhYhuA%j7nHd_-rudhEQE{}8^8Z%=7zM!W!@4&67K3<_NvsUK`N z2;M90gRBVRH)!7)2z0KdG+)5I$Cn&Ph_&7=6|Zrqa_NwgX>l|oV1XL=HZN1I@>X%|DhJ?WtBj6tWw7ujDTkrLX+&#>m@M&&h7snk zsd8B=1r-h<|1CWs|DBhJ8$=jKm+z($hrV#9AC2jwyb|x(P9Q-cXkWZ$0RXaHvA5@I z`Cst38sV459cK>7bs)e*PInBrfOBgyZorX?335lG3!#lW2mSiEcB*7{1uUPyIVC-f z2>w-|(Y4CKE*B=y0l{7K+wI#`ggHxWXYID+TH4#kjxM4>YPso?CFZO2e}w^{?SK)r z*3mkZFeu@9TVR=gV_2sRU%ONGHmcLo17b|@T0a1Vujbvr5}gI3yZ4MFXrfO?@(UOy zsn3+A1yfrEbsY!#Y3HIRF*M~%H7ki`b*!ifh-3cy*1 zFhluC145=QfxYzSgtQd%X!+|-x&QpZHG)AliSY^T{(>q`)j^B?|B#_0%&CY{ z=Z!;b49ZscD$K^>2V+U?N^>%7es5@;b#XC)5UfMU&@3$r)UDf6f+B1G=^&)8b?+{9 zqf?HzM~Y#3PWpUs1x;ceiACVt&R0VdvC>Cj$ys}@jEy;xk5cZOnYJyBJMgPWP6_yj zCyBNagq{l`W`U&$(ah5S^K0Y$vuOYLHT`}-kphDjkSgV8yXkQ!g%8jx>e?B>ZsC)U z^F}}4$|qxC0WWBUCk&q%l1GD{|4DPXKUuMAf0gvl#W=-P!?)|6a+?c3!drUoo`foT zlcC8S5=T;XbM%SCHPI!V<8rL$F0!Mqv)IiA#1_m^$JYtHOb1QLOzd z`p*1lY+377L4MA`-yL|BWA%Fx2+;(!@1%6(OltjVnmb=v9q`!&v|bc0x~D5Nv?&(7 zw1_yn5fzwiZxBm-_u*%52t0JU{--LcTxT4HMZjAw>Nv#wf}%sG2{!zF87u{pk=cP= zhS+#5Q=`F`53fIBAW#+Bb%}l7x8kIaX{sZ?99vC~O1dzi zm%1et65#BR?OgWhR+bLw#UsHW7^EMt4w}?ZX78&DY`;%wSW2aoca}i>A=-AD;;(LO zR9_?wpRnGyS#+W6c{0eLrxUtwgKviBDY=Uh6n}ztQ`_@WDqw6+6D(>jYQ&hm8n$Jnka{ra^_ui5D;yZ>ry#H+=fl%!6q>o%Bl}UX21FhRVhUYv z)4SH6WVoB8KC?L?!75sunv*Mu)f|8PTSnVC-8PPQvjElY-~wo*DcG$^vKu z#`yQ##nSWfg^!68)C~+{@CzaAt>g1XMhm90!=LCvQU%yjo^Od!b0o?K!#pzs(;!3uUSv< zZ=%&M!%MthHK}!UfxEhrwyTK4kBQ{Qp|sMq=B$2%d%=|`kGp@K4_gwilq4)fm4J0A zz{poz)Lom5%3tG^sx<<$pB2ZVh5!Y>^B*Ys(2dklB?v)8cJ4lCoO&d#{iWspk&D10 zib_k8^K4CenJ3-3imtHXk=u5(eRox2$zbrvS8q|0J4bdGal4C>U*DY>q!DJ|FAjf$ z3LXSH@023G!;3+oB~c`=VwbgX%YeL4ES@3hQm{kX#9wbPK)_rP$_8td!C4RobRPu$ z>~kHun+Th$8TqKt{mvoT>F6hW#dU@A_EzHEoo?|?MuHXa%H2fsf2^Iez*Z3Tf(G(I zhgEl8xoLmp!iwO0h*$kP?@zd<79N-NP86-WorKe;dwH!wm!*-=T=zt7Xn}vH_tN;L zlJH7Hor%)%KC`T?D~-Gl5jMv+VU#aajF=-9*)5|JCSQ4szj1Gsy``6SD)FjL58bcj z&wx9(zF+@Kr^>*$@e|{<)Ok-2m!(_sOd$U~44f9}0wnfiFrOYtN(<9HQWbfv>81TM zC3V$+sf|`SQudEqkO?o9E0%OA`Qe5?UedSE>pqL}_`Lz*`63&u?KSY1%|O6!do%oH zwd)YWk~T!xI{WNr`2Yz4k>?)cIbVR#N*sT)5nXAdq!k-*$2Bn$aO@hn(J(DMrSn(c zC@xk{`ST=e^|MC6>Dma>cb8Iq=cBu>A461~3mt#MyJfEP$JH~irY?f_W`_I`@;tWM zb-Z7$HbZ-SCyGpar#bdFF<~O#W@VpEz!6l0N-EC8X0?hCWmkPU5KJpF=zPq$8T`99 z(6dlRt!J=mH8|C`f22_tXtg^7R#zM!pv>k1qLp{URqJPGF7lxD)0jnRZ9*C5^~oM? z${SC@jd3lp_0&JrOE%vDv&nApob2aNh`R%u2<+ ze;MShAlxc>8} z+)EEC-WZwBaJT2P)TH)kmr!;zqZ(s&J>iql)4S$r2k6zeFZ@O zXyd$6^e&uXDemj{%|7PIxQ*G@EoU)`8~AU`0MNmvM-MgJTXtm8bX~?m*9MITj~E6P z9mX2kk!V{*V3)>O!xHKiJxyCDO-iLzv@K{WnA&-VZRLoYMCfj@@|7ox9XS;YE~Wj#F|KsQQR#W8}y)*ltN5I zk7q`zn>R9S>KCtE$;kPcd2CGCBIL*mhVPcB9aHQ-_Kp1;xe{Hk4=Kcb1M?>&A`N+P z}_0t>AougHJ6j#1l8>;#JdAWJ zM0aIOJ80pl6U*SIIDbe4kzb0Hgo#Eo^45?Ryw6>&0iz^!N z7NcylHn^n0#I@ZqvGznZ&s0Y*FGj+uuiWA@&Qef3z=# zs9#uJ6R4`+l)xDS&Vucn$FIdoNc{6I*(Fa95YgaxB!-VFQLF7d5G%u0SEdF(2CtDk z#eD|2aJxW2EgWmsU4GfQKjSgQY=7uI(fwjaR|X;qE;Ak@)_Ouhxrgb zXiTHA$&Eh1J;}k!Zltkb48g0m*G*mm2^4=THy$+zyKlb(ZKj>ffj$r{T}nsR6zh8$QvmF`RZ#M)9z-tw@E z^KF0YHY7KGPQslp1Jq7buRM7QswX`dtDn7t#nlZ70Zva$_zkeLG^IKqQxKDIE+bPD zpY~$CQVs{&Og|NKUF#G~S6|t&Z^vuzT}P*L^O4V-ZaAJDB9FgwwtVBrRIEWDo-cbY z|E$x2(0HXE&lnO^MpqLbw{XX3*oyoEV|RAWehko`_=a0BsXIP{`XeUkj~bI!mrc46 z?DmpvEy^vqTSYg`+>xM$>&#y{@i8*o?wwrsm}1FA=GQ389=qZDH9EwT+l1A=gV*+* zg^>2AqA$O1YU2fTzL&B7egAde16P5feJ)?pv^B;*RFs8GO-8-fxa0Y(Kk9*ozICKk zSD##F)`v-8A!kN*@x$wVzw(d4=UX$}jnB;QlT~!>sfmq`lWiF!H&X}6xYJuxGVOPS z7E$4;v$BeqvEqOUSjc{aqF3DSA_GaKokimNSoxWw7i>=tD(F89cl}!+WzAb=1`em@ znVeT&|LgXU#Y%FUb8ssH`sW^6XQfmzIi`CB@Y5y91!!=E zUJr5zI%~K$+Vf@Bi*=*z-(YN7kOMAL6E<>yW)qwFbDgESl>9fAV;DDpSU)wLk$^8} z6>JH=BY+0C{0=`y87yV}V?6nz!qs%Ve0zC2FQ8%g0l_=YZKPZbdY=57A{;5J%Zx^?weWgg{lVNVU00+T5cUBAkRo9;XwpFqI+!Vd#(LhHI z7Ln8O4^y=m#;(m~dH-5t#{xk_m~_Y(**8LO8u!Ce_l8Z83@vPSuN8QIx^mOY)*cjFV)S(3pCyHE6IT?30o5h5)sN z8o5GL?x(FZ*f6*)^g7o`^x7y*+cach%s_Q3@-DZ|dD?R()?#ZT@8eqiGrg{?$MqO5 z56l0Vn_>ZYy*RniAL&jr(AF=n!gHno5P|(jJ{Y>KkwBQCR&RW5wS*XsZ#Vc>57!oW zIy8<>{Rf%$>#Z^_9ky}cf|x$ET>`nbG&Bs?Zp*a7)V#_8Ft$!NYzK@|-EC*-IRO)) z{_J6S@2FfJos8_=YLJ;tm6y{{wZJ=X@;KC*!9c-o8^fk?FL;IEb(d<3Gk$ElJTNgs}eoAPx`wltD9v??Jqs&TouOGobIXjhJYbES|u+TrPa&4@Kh=)hm62my6yzA9E#g}s5RZ9@fv#@FsI zuj9382=*W;$D>dPXF^eHnDvY4XcJOsyPU*su+*K=bLAfClTW3UwB4 z`9HTZoeg190E4V{RqJDTf7LK-7(KB9SJBB>M9s-t$&eOiwj*3|YSEgLUhgE6jK-+p z?0Y%mHM&9QS#}Jq^5fgfN`a0eM=$LPaAE<&^9u0Vi&t6vShX+Tzxbn=^oz0N4A}xu(h{c-G60*jC_?g){Thh&bp$=O&T)l%ckGh z;&oIyih2MBz0Uw}@(4uBeJdr*wyXVl?LRhOBFoR`s+oPXe_<4^dG%54MU9 zLXK{}e3xwbfNnrK@KTq^E~3B`t{jvZ8xyzdmiasaFEjy#g4w}BjhRbcn&ZU*%7-2k z|Byby$s!unFY(9_-IHukr0?nxax;bP7LK)Z`P!Y^IRWjanUx!UtP8iWzf9lkcO+bRVR&KOHNRW?-bwG{DWO1@=49%j1J?sjtP=Lq!_`Sw zZXO)piNyGjo^p&vipz8Ns;WEq%5K-$LA{AW|3CYqFMIX;vJ9Tte|eR6(SJ7ADF5S) zqd(~}>M|sLCnx89%kV(J*H2m2Oe;1sdynF6^+&zx{tNB*QWdw~5KnOzRdjl4avoiH zH-YS{-tn!=geafVznX2u=*VFGXuk}|h1cJ(Y=t@||Fd5LSqOk@3g{j5+;Z}5w%#Y&qTBPmroa{xRH{6rj*VRA6jF2R--{mmw03M23=9i~Fl zI@IhfG&AmgT+e=Y^+(4OS{|SF#qGXl@1lFDJBAQ1>S^YnO^V7&D{^8DFsj{fuUz>n zr^pJG;3l-?yx$9(v+RzQvb&5LnP$syskxZDt43d^Q+cN0C zxTt1in-eV<=Z81)Zkvw6S%w5nzSeezf=r${1S$D9^HVfyC98YD6>Z|rENG7)s%8DO zID%F#>9j`Y0Xb^8_>9A*)8(J>h$Vt0sw37N+ga~Z>;J=~X^ZNfI%k)IUGf{Nh?8|F z=WwN3Z^pnzV|PhIz{sMxuvrc)GuDvI2=1I)cU?I7m&5(7)&Q`@KJ{NCu!&2rhxX7QIV z4kro*1j#L)#-qD#JZG?9&}86<;&hv%LVHIfG{es+nMqbEK$U+YXQtGZK#NM-!9MaT zR07pf>e5DzSCKG?q%~M*gZ?G*FBxY0ctgbAim3K~d>fzPm^wRH(Zwa^F}Yw-FAuy4 zKpomgYal%f)(#yFcnurdP}9ImF9*>eLIdy6ktp&(mC!cW6r^1Qv)Zk{9ZJ)RU!2?N zfuRx?daLtb(05ZHC%?5eV+9Mwq3NGh?6v;~PatfbboN8$Zt{AJGPF5BVbf4H)H*9AQ zShCUHF4DuUTraYDwL@3N_N^O@@@4+dV7*aQr)KMSDAP@fFj~Wt z4-x&fZpw#v;b+KdPqYhR?;z*RN|f1$8f>0V9cqUtdZ0=Zn}291-aT2Au*_S*iD9C> zSvs83VJJL?M^;u2OrIcPoA83h`~cGJaFJQAHz9;4OW4UUaC=B z>%9Hwx8%rcHW8;a>n%)Ga_phI5dDqlQpV=N=Tv>Mgg9`i`0!&Sq1i58w|O75?5E)3 z=gQHe51yzm?tdYJh?7~y`DPYNhh@Kbnws&9!a0>@qB!yLd90_4a@mfgfFSUnq*b`r z;c^WUwYp{NafX41ob`4F7S6vtr`{a1r@yRtGx+JWoF@30&i&3kWEDG#aSK1KjqtljiqgFD!(5*1_u)CAsPT+OisCb!ob)@fN2=N8*ZdEe_G%B#aSFe!G^PNxhHr@X`6TQ~^Nuw4Ca zSh9-z`bgC|W1+TH_qo~q+x^XrGc^pmXssLhSV~)$-4RK3l0In7$A8Pu^)-sa`M&pn zN3!emS6*a|SKgQJ?mAYA-eKki{@i{N1Kw`vf+_hB1q4YN?r$3zp}|U20Z!zo6yItK zuB!Ax3Aw^`e-s26)a=CM7CP(lBbux0%mn+LChL}h+^Th++Fg>1&LcKee?qSC>SL_x zT+2}k(oBsoIMq03B{Xi)Vi|A>$EkZUsIU@IQ03Ryxn-#hF7wYN`)=k%;;(JNfB17T zsHQFyhy=Nu?)yEbekR{|;FfKUw!q$~X%PM{r75EyZxT{Q9*&jR zK9)tys?fC`>+CD5rM{QU;hH%tH-5;7L~Tp^1e}CBo=ar$ql#F9q>mjfmZ|8S+UZ!j z+_VQBZ{-q5kSVCffj=4MJj3wswmOBP;!(Zy#_y<|0n+k7TZ2q?Y}avWv=DF@+ez|Y zjmSlYO$M~znj}p8-T4c%LG{-g-;R*s%A=L3C{RvmowJEsFraR8ne! z6E*tiWp2(1etFicRm&Qw6w_~w8(yesrYy*YisTeySq>sMx2oWpUE7+fMlTwRs$E}O zt6fzxR=dNpB;FH(NnYbJ#C3|!Nuv%tc(adWqXY4C&hQgqI+bP4)en@vEC6{KZ9~AM znJI&u;5LymN%!F>z$DcoC5HSP7T{?LX&{%yUj(Nf5EEUG)&(uS%y9rRE`WE?y&Yww z`5EGObx4UiKFngrZJCy*mx>T-tb`zZxV{HZGkC*dwU=eqofm=IKu%%E7_YCcLsiw9 zmmYuNPq%jumzpngrc#n3T~tXDL7C;9k&EV*&qp|FFMbh|e`lGWN{akMD`Ea$g9qd{ zaI}r<;FJ_)hd@L19UAb=Vc<_U8VxHtge!BZkU4lR^S@tr?{4SDQnc9!cnE53Ti@(< zLwsj@%BIcKp@YVFeir4ajlxEf#oVa}JAVWREUh0%flfPos@u5>O~8Wmz*(;vcUskl zwKGOS<6+uD$rsjS3xf0I%E()D2hyW*(S7ZFd5oX{BUqMjyD(1UkBX~vbIfc^dq{G`?MbC$dfiur( zuAJyTT3FQT|BJu224tUvsaxKL1-6>ZmpxUDV;W`}1IJ*k7T7G-vi>(xJ&y<*Kg`ypc; zqHyOK5%XrY`&3X=@ISeJF8RMa1TmleVe2Z;pr)g(VRPq3w+tqRkboCEuXkO!WrfyN zm1~uf0cH43neC}j0_bx9#3=Ww*0T=xzxO=aVY|)(Zf@0Em3co*i=IxqH^Vx2<5$Dg z&wzZ~O3N{>?4}(^Q%pB*fjqGnk@YN}mSP$_aO_v$c5TtRLCE9Umcr zE*d`Y`bEkfeFMJDUsFH&MtgXS{lYNxL{gXa%{)|+xS>r+Q+2*0#3VgIVFP1cG2;UN zkleB)`+ONHx$%m5K(wVCH7BQQP5x_!$=e(rmh3a@T&-%?3P>(A92ZSnl^4wX^&kG` zK6&>8VuxZHc}rNowgw%Cq=*N&D`^QFwT%Da(d>SHQ01K>n$^}@oonP?l(GPG56F0w zmS{MbNo09a*!}Jfg?_%T^w#ei`8#@;jz{k9H&JW<@>^$QO-Xf(9XueAF>0$9z5mC~ zxCobGYtbf^%MH-wE3_7We?X7AN9(0f;h5#pI9%a)Tp4dq9oyFc=cY8Aq)S6ugwL<5 zZu;6WsE3n%7VUn*Cv<6w^h=0Qw-h zD+;`=Mo~lQ(yen^>}&uNB&TR(o1~$ROucmc>?gq2}aqFKzg?7S=Z;QdPHpo+c~QG71?d6Z?bF>^}Ta zL30>gZCIIgb8)>b2FxXo#`<-APq*H!{NuUkpjD^{aGNG}<~#;0gB0E-L+RTo5rpGN zQQBm9JsbCs)x0hAooNUwjmm*wZnktbpP3K|1lK`7g+)RVYpyk_2)y;}(z#uLKgi%* zAMS|}!~i#H;K=H*8SbrRZ%vf;Up^b)H4S0+@ZUWFO+}Am=bkE3;e%796j4y0L-6<( zs$b#EA58}c=6=*u2m~s*a{}pqp$s7C2&KJ(fu{cfLJhZk{qC&!m=&3a&ov-0Xy*wQ zf!~;A^Ee`tCH0BGKPYkHNG+Lv1b{grw2HDEYXc5RqzWf`W?FPoiOf%nh~fGOlD`7MW$9{WT&qXeRrJoR^&RW^utzY6qNz$ z(KFQTOz7~?hB2C`*gxK`7RQ`m8|8eh@{opj4v4oj66XI?GmDmD#r!9f6`Zcn_~#Y4 zSX17El#B51ZLK=+3KkJhb(suj%ZOq(RuMX5R^q(RX57!H)pCTDn%krr_I2%{0;JsK zC|v<}e2bZvRfb_$?Auus?xKW#geprtR&YfbVMh)kCN9}~QH;!0)a1xdt=%LUey4eG z#DrD{;;k7(adlrav#xH7gk*tcUiK+CSxE4E%{g>F@OQJ@C-z1II9JQ;nG={a5g0zS z1+6@RQlF;O1`I6{QCJE%dfZ{+gkJvfx`87VkG-kFVL?Tb(m+wK`AAAJLDS>6l*=t%cEW>{Pcy{`(Gb zciz4962>3h*y~7*D8wKMWaa>oR0$IN@9OxiW~F-SO`o>7G0^-dw31?RUoqhGlw1G! zS3WA;5MQS8aG412HoX+W5%LkjNWya6>G`0B*G4zj{*}%n=C9u1Z?!%t(~~Lx<#*uy zGmTVjxV8SZa~i$s(w`!xN)}y=)5NxbH(COt%)R#o1b!Glk(Ihv@Yj*sw)-Sly*GZ6 zDmqgHJ}Gnd+ka~uKcb!*_kMMMdBHDF1&22pO2>f9JFK78Z?lSj=7{Bl;zFd3zNu196;6qp~mwgg(HGc8P zi}ukvqut3?S2n{LqP|h}9_0@J?#zvoz?*vr&`5Kag^sv7S3lJ68eciRu)U`LZj|1p zB#|W=L`E|zZEgnJ0KI+KnJ+xtR%+C8kfm_X2L00ECptl!A$qoZ@tyWu(7d|r^6`=g zv99xHpVgmo{|crwN8!%z^yhWJ$+6R*_vD3$b$7-2AHdbMZw`RKZ~HBmW}b`N?-Ogk z>L>(${4MCYbV=2?80ewi!aAK#1c{ouO(ycy{nvd1wW33G?Oobv*s+!~YkMvlc43xG zO<$ijTfSgOIp|J2DJ+nr-mn*hmaTPI15b=g&q2@TfHn#vW)7EGtzz=`40BinREtag zOu1{7Wh-F}`atI0SJfo;=*^(db`j_op~Q!P&1E!fYWFIfzhu0d&B&Dj6eva3%K;g> zl+@;kbnSaGya1Q50Wg<%7n1ZC_x^L@X4Px|m@vS%J| z_r?nAQrVGfR9+jU`aZ&q;z}@wF}`m-Z!kGGtlLsm811*CUB;#XCOi6~@^lwURF8^o z1v9jv6UaaHI`4ucEp!VXa}PJ4`*6H@W;HjdV+(TWg5+r8(yQpL%s`F}Hy#12m~99O z6E&hlY25XWa4oy3y68Z=GF25y7%uA9L&3!biB5D6?G#A9X2n22uLtecPurCVHaldA zR($Kl7C-3?tR{^RTqQBSvN-1dGCsYRppc00Ru zf2;z!Qm`G2q0oWrgiOTnci0H$H%pFXamYBpCzKw>fUcdbl#6T+9lu`@Uf8=k8W-Jh zBxyWm`bS4k2c~!yM_9Xt*Fw-tOA)EDgP$%1?ZvA1!|9(FFDp}aFWyTcX$Lc}Y;9-7 zy#;mvazS~H@1d}41SoEjQwm*y#sm+R^4~2Wt)8hDReRPimu_F$nTsb=AsfxaGYu4E z;MtYptE3U9t_>>=6mF|x{1_qB_w%EJm7emRs`>)KyT6(j?*c6G=aGVulDO&-iu6SD zCOtMTon^aVsLGz`&0hA8Zra>Tq~Z#VcG=*?+`k|m1bjXvZBUAmPM){MnVgg4$^M66Gt7MKx;Jwm~)9!B&iJgly=+{ zWeXr+{qU`84B9g3A|;LRe`DVZM%O0T7FK-#@6}BE4Es33dYuZ|xM8ja?Bp`$uc+WS zA{b7;?8frh5fDM!y!Vvj5gUUMy}GYskQwEE^|`2Ks7W0j*X#~rhay`lze&Ou#b-_n37DB5EK)NZ(~-}e+4r1{*3s@a-II?*6m2a_Bw4ct4K6mkD>~*~8`>LY z{{vrA3SPYkV8*@-GxG7Fh71AL!}P>gJG4L7|_ZXh_4Q*@KRkD1-l~Yce@HTGP;Zo z1_HyG91nkE$fv<0|8oAd@8LZd-fK1IFh>gWbblDRPWVxR;IIT!13!wokBTk4K7hmW z2$bR2(YxEr({A6pb=GeM?7@2I`%A8iClP1Hl0dw=T?`IWnH4i1iXiR+CKgjsMf)-PlH^zgq+w+nDgn6WhBgdG&SY zBgE=L(Zjf-tdO4m7oi_!_DCgR(#2YEj~i5-&I|B1{A+$GTWvYr;mr$wk`<@ zG=el&-xX^ptmUQkD`*gOS~u5UB;dJP)-wUm+~2>iNE&eutCoRh9}HA-lrt)vt@&j5 zSJ0Id8@<$2)(wM9fYJ?luc$jG-|s(cz4R=@)L1-(eq-dhQT0j-+4x0-Rg#9kq#jJ) zo@ljnc#IkJoMctr`hlExC`r|!a_1hQ*0)-6*TaeY529?NSW^@+aavP<^t`LdO_EXK zIUHAWy&U2cr_pyuE+kWm?* zS4+zbEp+EOni9Z;B; zC5#*#<8Jpn^e=TSO`RxKq;UOsU$u^0I=;4zwOlCQxn{xx0?6u}924SIet!x4DW^O% zN7xBna7KUwrUIEiU-5%|Zd93$>f$$xqsaK}=X;iu7tcV>wgI+h)48&Yhwfjw``hiu zE0;Ixh#iYPS;6RL9T~KM+ZfTuG?CF6AX{6|K7@mu(W%=GYr2xn9PwKlBUF(P8YvOM z*xwO+q)6~55hMf&M%fSoR3{=WobJ08-n8OYP?-mC$It9gy`QJ@#(>3%^9@rq9GM8O_3dL>etSC4;mA5%TL2H*P;^E_NT)H8KR5&qEq=@zv zWl~b4g3TUT7vOJ|M2$RtfYw>YWX?sQ?3KUapimS&MrqN7Qr1sy*JO z;l8}WholWh>dX6aB2Nw;c{Iv$foAq*mgRhCg{;LLFn3_Yil0cJsS4T=+p>{_HE$+z z6LY$JwmaAOv`n8KdnN6RP(Ts#D1(9BntzPN^&9mZSf=7S{a5XLCTF*TrQPjgkL0y_ zsZQUcHYX4}9~G*ToJ$EFTbX(Yl8WOKkUXAC=!_XpK`&=pP-!A{V?}K5^z9@?lv6#J zAfJ^yC>S*3-lhmf2wbq4byePE>OdB)dtkx}6u0jf|0Ct64o_-%FX*aIwe{Q)!@U8e z$^Iwa4e{Vj6=CZp@1|MwzpBMVcz*NOr`>Kf zdhCp8;n`opiYoCy&z6sdYi+fJ_`j&Gh7sBnCbac=bf^Am6Z+Hond+TAyPJEZ*i%`= z-OcQ-=HsW{`%ygm zex5=XR|1o@PCR_2-qB!Tvdy^R>_GwAa(|y`_kEw2oEmE25dVQiVRhGfB1I8&nO(GK z_?1McGPUt@5vO(R$ga zGsWvD88z{6xObxf3AaU{wRib1K^;4pRRGCC#YP0Fc_x@|u~6aW=r!i|8K%rV=EYM* zs^iaUbTCRo##fLlwbS6;hNx?*E5xGUNi^o7N)7yLIMKR}DF@p5>b#LZh9A(r%J-vh zRs%qCq8->Wq|#9(;y%Ror&QeQW$3%U98pf=9Fr4M-co!v6JU1KFzF7*Z9H`!%xaH&ydo{lH z2E#{fvSrQw3^1X=@Ib#KWslzJrP4}x-=MH@iT0Q+_b7TDAF4AMg=V}p z?Ve=lV}SmF4NlZrXY{!A<1VN^lxY+}T@j%ktHb$ITYt5S&Sf-GSl=0_&A0I4P#8rc z!1s`lkk&^ITrNX!`7t@i3KiBW+<}j%Gt*EEaJmI)y*Ug6t9KJr%-XXL8~Jkym$b@_ zA+r&v6@WuM+Sju0Qe2-snd1xh%CD%OxtStCl3-a_aqlA-VSa)|iuWkh--WCr|h8bSsdL$R^Q5hwh(?6T?z)}BWHNLO0bUIq2wKya@e(RpqkW=ER_xjjE-=D-V40wpE7zxY=kq1l82eD|@ABxKaFixD$H%GAdU1JgbnY!08$%rwt1sepkDe_CkvbIZ2v{2P-O0Wd8rCmO3e> zddK}8-mf9NlmrP`gu}`G(C009*K5jBc{ru3NwaH*f~EEdW8)JGYycA{sxLlK{>yy^ zwEf@(#UnH)2A}SJrN!mH1i>*yC*VhecDW>7`j3=XztwPE@d0s9Uo`wPdD9rQsb`1N zZJkIml}gZyQ_o*ewt4|}Hmv&367DUecbmJgI?u0rzVm!Ak`+vF7^rpE2t4yxra^yL zyiB>Aj8yqeNF~y~Za44C$bajNI}v--0U7wS36Q7MxwqTn_vv7i4f(xt@YlSZ)b z6Sd5w=3Lst5~pDp1^%0(>Gx&;-nXGMD``5s-&$JNLZPRA)%Na~cEot%C-6B4=M${C za&#*Yb%WG>S)^eydFdPH?ij!Fe)@N0T&vtJ7Wx4i<*sxVk!O=(obFkZ*Ib+?+b{`c zz9sluO99~1@W~*1u^3jhjWRiA__TF~kK;nD7S?*fNMBxN#eQX%60@kALz)1sP4FtLO>hmAK& zaID$P>MUlRejX>WJqi-EMhG2GNdg&lu{zl+!&Ou+rHyCWdlh=A@ekEEv9(sS*=!t1 z%*iYMRaMmw-2PCcYIyRA>%Wz8+%E((6;imteIgCmT20 zbZMW8$WB#H=}!%FZWX!Hr^4$}l7G5IhmOBwuPw2%%C;xKtMZ3d8{^t-{p#pcHAHqn z=V!n&KGInXQn%H>RC5OyzeQ@R9<*BD5O=?+HQjCVSxcQ6Xr_;B(l$;aPl)og{Qq|n4MgNGU%w`XE+m((3D!ZvbuaRu7e6aZSC0MO;z(KC zclj_jWGE9q3J^cjBpn(y6P}X49KKWElji?y@h);eZ>kjBoZ;8(2CbuqXF#3V93T&l zA@r2Qj*ZSOMEp2~G!q;iV3S4F7e7u^!5@!KG&w)jk{##9C1$MmeY0s&c)Rr<9|E=5 zN0wvckxKWG=3`05XPD0eOOneoy8m>x-rl)XLEpodzm=&HJ#xO*6WxOk+(xfh9lU`? zZewJ+gNMm#uwd?J*w3~24aj-l1?~0wDtXX9>cFjVGx1y>Mne4SM0H(slbuzWJ5t!- zmXeKncc}1JnM+gWJ(NBT{8#w(F-4)SUF~OlR-4wp$@de!0i|cl>@U@XL|&U|IlOPM zP`C#4*!?<3~bq; zf^NaZ|9$lDgIo2hN>1KH#@5fbDnj#GJMuZb-2N1EZsCf;7;&NjZ^Y3GFZNero%S{!F_ zb7!4YPrv;)ve+nS>xbUqb%*^=@~%3@e}iRt({+Ef!^r>S7E||MvO}FdTlF&V_DYG; zui&K-@v;-@rk1aGe?CLC|4P$@9%U5nur%HOX zT=Kp!U!@#3g1A`Bf4vqCmHMIZ!^T*;{-Tv^Ox}lkskUZ!zQICXr>f+sj+%p-hVd{X z=?nhmP37g<#?DRNsjdRY&Szo>PP1;Px&%TU>k>&>R$g!E)x{1bl2r#jW+AC#+K zrnMH@=O|v>lfi#8Tf2KKf)~b9uk$Yp*?DFif!)1;r(K3^6I}6OCA-W>`rc_!A>`5) zf3$g?8jluq8aE$z(TY>FfEpJ)$^aS1^)<|Dmt`e>YpMk8J2d=FG){MNTp2PoUPz=C z@d85ExS1@Xbv=Q|I&S@EXNe(;!pGC*LVcWIkaNZY*bZ|knC>T1@0>5qR$p<(&Z#TT z8Df-Chy7tgxU8O+<^A($QeyfCrI|OD1B|Qc0fgr}Xf9D=iDRfJ} zrCgz>a=Eu-?IuGY@Gv7Rby0`Gyt2NVx6bP&5pq1D*ktrSRS zJ2OUERKn~f_M~;;I>Uo^*Pm`=CL=ZKr;5C0Z0$gfzumYz2mTA5t}z;4N>*mfS?;uA zkp8&Nx#=P_1;ju$cLBh){p@2^x$MmReH>F^YBQK;L_- zne9ksQ;+B8(i%KzO+(e$UE5kqzBV8dKWf;C<2us zCynTT{9eMV+oEq?PysFEv?jBD*co+5FMJ;6g;05=;b`Q(f)g2-4O#J)lXv7hHm*W!tf6pkx zCLUzHc9W~Hk?a*iExEgLK6w^2?;O?~`|{&W=zv6)&2WMA@0wRATUWf}Y7TPWH6jC-l5{bv-%mj;Li5OZa~ z6kT=aV!D({s%kep#~iNs7)lj?R+9C&O>C@vzUbtyQRG}Pr ziw)0lwl+;Y<<1f1DstfFk|As7{75I?M#H;v!yD1QrRhT`>mc_@^^YU&<0bm^-!Y-x zNdK?<_fAZxjIsCZC#@YkFuvMvE)Th*PJvOVWQtwIJ!qypQ+U^!QATSuedk-~RB-~3 zIxC*O^`k^%jPT}dnlx0$;$wdiaV2kff5F)s{2}r#R;XjLe4UBRzcY4%q)NuI198vm zOtXjVcflvT_#x07i@UORY2YmTv!kj+ovN4o=vgZHCCv$q$N4kHS4O4Z*I~rcvzO5K z0?AaOBJY)bMnXj(3zo;H97l7_@GA(Atxvjb|akA)HJ#t3rR7JAp6+u&wS?zFDuon|4G2;8Un zqgX=ct){TjwH{#JQ^$n9GFBLFE^VkQY_nY}i7X=+2aZI_n`VR#4sSu%Cr$5NoC&!{ z@XbqJUmZOBl49IJ2Ons$DQsB~QCVJ8h~NhEb@%C6wM3Dx4;nJ6zqlSv8@4cg>OQfe z9;Kdv+D&F!1mpdpyPExafD`qiA)fJO=DVKb>pjgZ=(aU=0b69j)6hUl##O@rl4f%t zU&W`_C(yj_eNFQlv=WWaBC>aF^`a>#PD7}PnqOO&P-e81hb${6BzyVR(7 zs0x1mI}B4mHagSb_aBX8tH6q6{**yrE{!wJLr%qxi!F^zH$rws-MDY1HH$VZ;1vuN zYW&A_robd3IH0-BRrvJ%IMFCCRx{uY(CA zorW=$_M|0*6A6`r?8E!5Neoy=Bs|=ipAhgq`~!?yJFK&C)p!q!zXz&5wfoB`wxX1= z|6)rDOdZ1dIkB2qoKsna8(z3?x%p@J$L6F-=8v2&81R{Zz+9WevElJ=PN$KQsvK%~ z6xT8HXJ%E7WX*viRwWBJYPPPnNyJX6f8Hyu6Kirhwy_uZv70;Vagwz|8p!inieV2sblgwm+C9^hC`%?UVx=E@;WQN_^FO*!0h#XW{rwSK2&8_S{+NCv+0^@?cLM z2--|)|$84rK;+OwGDbeS?^Qd@I%Q@zET+_AGR>7YB<7xu!;_N$f7w_)(TW$KlV z!;_*V=iF)3nP+l9P|#86#;?}*S?XsYcHgG$RW&0=Pi^$<{c1h%5!8OmtTxiwBSTvg z&1}CExepS25%DoO%j-^%$30YzJN##nQ)n!wS$!yPG! zwJZj`Qj_*PyrH`w=OQCh&$)~v{nj^u-I%B6gl_*h(DNL4zs13bg{6D}8H?}ZYf`5- zIddn)D|1x$g?19oY_#l0m2Kqk4rzen1Ec43v8qy%EyR$k(9^aJ&EY-WVMnc3{7Tc3 zWrupe8$}V**!~Ol_%Z!P-2+l7?$4M0VOFGxkq`3}iElmIvE$ehK~6BbW2o(6eQes= z`#k}WiR0s1*RPWwuIj23?v4az<6As=_l*MI8%$T?As0?s%-A{FywhP?df`PNcc_K( zFm^rAPKjtA@L}Ncb1lE(kKrx4QzG3@Jsu5}XdJmr{+;gYB>CC>nU>aDfInyGIrf`z zxDIS>+|b#9#374BsOPOykW^Xnx%R&(@}(g@D#up(ohuBpkG1>MKc47^Wp^SAf)S&2 z?C93uHDM{1)F#!jyMh6zC=Uyk;s^boI({giePlwm9d2vc@4cGGZ(agKqHiB%DKPIdQ|g zBR$6i%R~PF2GAxb{BpBv>C{wc?BazI8hZ{tO;UgIH^vAM7|_l zh;|McGYJH``M{Z@CIfj)C>0tt);FLLS`pLO{Uq7=Nj8TR||i z+BFLX*^98jLEf=`mf?7Jc(rTNppFGOhgk78r-*o$mhPK=6SOTM>+TfvfS}`I&yh=G zo{t3!M*#E1_)igi?tsFj@ZjKUPskC?Evp2NuiTw%2sjB6!;A$fdQG{7aY@}8v{hNb0`LjQTB#qAO@G0Hj2KfBQDSLTdCfW1oAYxKLt+Dy5{t~6!F4%r9=kVuEcY? zt}5dF-zDzB>m!}hzGJzn!3r|wYFnWT2hlIcK46Piu8_KU5TvV~GM(T>2ny9Pdr@Qh zt!Ay@PNLH_Ytt!)TyLICy2{Vro!tLrDYr-<8DUGQuU6BLNf*X3L@}mEGvC;=5Y{R{qha4TQ+H-8cjfm zIH^q=5j#x}CC;n-wbGGn_~{sMGxzT^S7cT0+2ziy{aIAqoq7|f%Sm7m0wTe94Y3;9i`mRl^DLyqp;Jr;EXrD`^S~c9f{i zYP|!A+(|z-??%3jPg44C6Z7%%r_1+|r?yHhnm+`J5p4z!_~m>&bM9Xfe9D*E z2ArzBcZG5cSYfC4)yC-Y_2~mRixnJe_`ltTu8D)~e_re(Cc7r;S-M;@8`IzC1q9+Q zMLkhkP7gmcogib{VjNnfk(Y#Q`lOd_z)3XDMQLs6jrD0oJ<3RnMM|btcAvRl zYB$VmBzWAD`^AI4zyRj{im68ImaLZm)$=mVflc5_dX8qN@6hY6mP1kh zbcSK9H?G}bE+3?1oNB3t2B`x0>grkrkHUterFSFw6W6?hcEX7o)giOPq#{FkVwOJD z4{E3Cuj*!YRhb;=q8_N__{$L7_QJ=dafn?3CAc+rJ|>?LNtwcM9v$wDATq7(P+DvO zb|D+4O4XCE;%KRQz64@_jSpZw8qiAc}oqWvVfkz|1Kc>>5G2MKn}7>;SNIx=#MZ#dQ*A@Uh z7rWru6+M2c4l#o6#ahzuJ3(r{-`kAg%^+Zug9G68F_9z#8L<1l0Ub3{if>q1U8jih z{##0n+JPmGC&jeYF>lq^+m_GRvR?ls=m`vy$wzZR1>By;g7=1m&L`zg5ky#SMIx`d z%YV@nz4Z+nJ1(54w&vHOQ~HsbyT2F1(N#sBP5zTYwa>+B^+PPo@yV@Cq_G`Z(#GG$ zN0ituM9^x=Z&OqwnpPt<*FRAYBDM(nVM=w;*+Yx*jj-b+KshvGWnCh%gXDC+3*gj@ ze`v3xgxq~}=JBsS^|6WxXE_sBb#xy`|sm)h%uD z;RMb%G_RnyW~Uz?S>Tb@XD>RkR&^ER0qp6VG~&0LrxTZ{;SYx6n^CRWcIL0gIo?+uj&oaX z`Sm)huH-dFQ@lA5I=?b~{&WfC9Q2bvRvj@15q6#T^-KihueofAsq3ffPLo8C#60b> zy1Kw7k3ZFBsCoKuOfOjX3zt;iVOo!66rGyB-O$PA@;!-;S_Ef8*sM7Msrey5^?fD( zvr}v&$Oyl6B(pZkpSl?i`#>I6#@9X3#!a<*=5HrC4N}7156_Kp+%?@|u7n&-zV?Cj zXJ=F==h@A+KS58J2kOTV)A|<09(?y8DL^NbkPykeSxqt%ibDA%QgRyYFb+6UyeMDg z$@mQBYl06+Y$Hh3BmxnZaC}M_wd1vT;4Npwl1L0^Wo|4bdE#Oa-ScXooW>QHVi(15 z@Zf<0W7iWEX(ss+lC`c7*R_Fkl&L&g5!rH`qS6K1zhB?Ue6LmijNHwO=mTDHfh}aY z_rIhc-pinzefd?9a{77n$6;XJqslwp8*)=e8Mm^1l0GLMDn8{Nvil@jf_XnCXg%p% zV%hTC)X)KdqQ8d=$tx^q?q|UcP0EV+1eL>1YLHkp&`y@oVc0xuGWT}Kg~}ZU#y=~e z_gsd2JRJD*nV#kO_FvuR3O`?3Seu7jaF^eT{Y*!BSc~aj&M~bRF^^sqe0t8j65hA> zt!G8vMrU&D%*vj!lBHmUxBik;-EXh8KUkn1;VVR;`QVBfO3AZeWjiIwcMH<&duB7} zgsRlM{+waRMgMwTu@pa7J&DpR2aYKj@%7)d$sXrP z5*wh4j*Uh@^3mZhy7b||`Hsz-R*L&`BS&mqzG?=|Kx5<% z4gXwsSM9${zS@c5>l&xk#HDG2gze!(*J#)1%l(2t$NdQBu85_0DSOcpqtkRqx6ROH z*H;flQT$mvs}_mnQwRv**M#(hr7Y!2@Phv^1AvRvY(tu9(SRL_Yj3r_Do78vbcD1; zVNqCvq;I;_d~BfGry;z~ODjc{;g=E4l@}@&@`MQ)sz+SQ=I$9S;T}==6rJDPg{w5i zWk|5_yCqYO05$w=y8Eq}Fd?UsG21XooRG}0<%Y#kUCrX?-$gV^qV-)s(_LQ9TzWxi z|68w7I+n0Rm~RWWC>f;+EUZCIkccJGX}%-EEpDp z_TA}g z^T*HD<^HS^8q@K@(@|^R-yE9*>0Yq|j<+$6AE|qd({5_Pd7%F{qaA<3XVxV4Yc8`4 z(Lk5N_390zSqRQ=f>`|cv9AT1g02ENiUt|>J1?$x={2GJNa`zJ^zry*8`m|i73{rh z{jxaIZ0GlAsZe;A(o3`mfY3TV57mT<HS>pKVM0Gej;C9kMoAi2gVjJ{8PJ(PPu! z_CRKvqUaG7RJh@E2Q}TsplmWPr?|$oaXV<%*GYmi!eS6SY2Qh{VBSz_NCzQtgrhiM z<2@Wb(y@UoZ(Q9uVB<-t)t&YyQ$W$M*%8y{Re0e@fPeOeWE)J47h?U3xAO{-{J9;mrG!i+KRxm+Aqe8Um=fo0;tu zx2v$W1@$vg-EQ=&2ym)n0X1?_9GX4x9T^A3cKP}Pq_d|W2@$nby*blc0AyfPHzm=U z{>ZR_1t{-fAS>)3T8p}*<;o8k9*qpQ3cGhPjf#E#v#cmzLI zBhQa`H3YecBN3%cc^^hp{dfz%msV`65WU^*2?+NzL4x}wwSS(NpM$&K-x@K-qPeFL z*_S733t1$+kn)&u3Zc^~Hxk6JU;fc^%uErIF^I){#C$%=+5s%8X4oxO+hCJP??1aH zoiuv6_CotZ~eY`z&oGw8>Azt%8O`mJd8aeTyx>h`?C8jh8k- z;QTrh%lNdAK)-73$vyFX0%Gneg)b^J9ozey;d6FMW8>EG+lnEE_Swg;83ctncIpl9 z-n}Nqf9%nINOQ~sv$4VW6%^Juorbt5-SK@+PrNPf@BF4tM%A+s#cK;_Svxt|iS5gh zsj~;fmk=RZ*{UnoEhP646elO5gO@)j4|r}$ITk$jx$6jYeT$m(J>tG!V}d>ZSJdzU zL)3J~$u;%Yeo#urhu4O@?Z0l#|I%T3h_9ZxvgRw(2jGUdfES5YuEN%(7SN*j&`7wjrBkEVeRT zPQgP1%klm?oHtN>URuET#mVVEPuFYwap4~%4q(-CaQui*x`u8AFZ8UGE?R52=UgV{ z`PV^7f8;(^Lrh(3QoR7)Ektbh1^ZjdCni*XAD5$O=|1RMuajBdANQ-j`|&9C48_oX ztm(TMW`IVZ{+;<9CC`_;Xe8$3#8hYV6<99mN3hKj*DdN4NG1Nleo_Uv(Y?=94 zI7DO*!hh6O1zwbrD(SkcR9t|LUcZ{@=D%_|9ojy1P;Nu0&5j-;eN z$eY1-*0?u1yC+IKX}8B|3CRT4#u?uNxME?7SaBpzGf>m9f|8c*n>vIvHHQ1RjAzi+xyCT8*}i4|$P0huT}CdKL3;bhz>6Jm+$J%Pat|9BBi(Z`bq+Q4c*`-`X@` z-&7uqTQSIS%X$H{{b;fH-_IByqPj6Qicl>jafFCa``AM46)g6gcW z0~WO#w4T5TF4_g>6-B*Gr^%JBb}>alAO%jr$8C{g0(K$#5dU**+h$HC(Yp35f2z~8 zdH17AQPq!QV1xpSg6&#(Ky7YYoiosR*tCnH6xlN0Z{aTNa4+lO!iGo|(3!IGvZkC) z^bTP*c9uc`Pc6mxJcN*Ly*&gn#0``dvXBc!uCwYHqEBh0JL+B|<0)nV)HQ@u#b}~6 z_Vs#ZcPW(Dlmbt~L3e9boZze?FqVQ^I)+D@gf<~M@JNk|@I~D3jqAVhU`0O_XviW3 zpj=8U+rac$0DZ+ASZYRqezY%YvkWHOUYn+_^GTCinThOK2CXApiZZUPr2<*~eW+pqc3^ec3KAFbRVGxb=Sv^cTh^0&-f&`CL9 zux9tt|B&mP4}C}U;!fP!dM^Nb#dhT-^Z(y%#9~JXW@H32ktOfa4xM)P@2`v9v>fW0 zxPWqUlZYjiVFFUsLU!i=^_wmtl-9-eN|;xCZiXuQOnpyvhD8Prae9FpRELt#yrCSi znexv_L@d46V(~D`6R=D0UF#TR1c3~En*8m~qd|N^-1JDv>>r`1h@l&Evu);;Y)&z? zw2N^#+Qnboy6N!R|BiB-$f)eu&6h7g>R|wEx!13 z!LPHE_9JZGr!v6gi8$11s131kRS)#eMHoYIgxXK3MP8LyrMUgG6^B!kC02+7M@=h)*u%;DPsqw#zpbm4P`ORpTXFN$lB+jgsPmWAt@UCJ z7+*T5;DX1EcP{r!Bu@YJ_W_T4Ai+-d|8aEQaY^m}AFr&uUQ;WtBWJfVD+g-sfpxpp zEmP_?oPegLhIqvD7_wD1a8j{46V}dciD8Q3W65 zo(=7C7ztRp1r1s3IvTueZx<}1d?5L!RuSV+LG0pS+aAVUsFBk<)m@s}_}U}JgXV^M zENFz^mSh-bEp;+}rB0=vK0dlBGKekBJN(ddDBk-jWul#Yk2lzXBQ>}{uEau-^#zYg z@?+fo$+OtjrtkW~z@*-(c zpnPp{bXuwKvhMsxzc9oV#J8Q*%_B98Op<&X)Zv)yo{w-?lJSHG7RKb!37i~vgU2Gd zFeEUlX&JW>(Dc|vSyssyd9A=MGUZd}Wffe)yEjSxb2&boY*(B$9n0e2No+^2uVfzD zR&Q^v9_yHP%$++bQW3ML!)Uj!<8qX-L*&_q1r}%HIycViQOeU?WQL? z`U1n~(bD=LGbsY?AKB9ivv3*1;X4g_3TF3SY{}Z~5$5rKbY>N-(2cx!e}ZL2b~Y|D@iWHnPI+V<({h-w z=I65Fb5Cv1J@25UCFgKj->q9Ko6JSQ@jrvKg0v+9U{ztKjm34%A;wkPN9;)Br6UVq zUewaMhWIcQ^YIs@>4h4Lqs8BpkRkaoOw#<64kj?pavsw5o%E1No!LR4x5!k1vo(29w-;TJUFL3hTC)*t@D1c zFTc7u8Tei|ZlRT4r?}dec$d_pAtET{aE~@^JrCf7tZ}W;kg`akd_T5Wc2IUY`3xSjTuib?`guL2FjzT0D+ct z0DpPZM*fStlOmb~0EY$$&;fdQt@~=9HXhqhRc)}i8lh1xCSmfSf_6;LEew#2kLt7I zjV782d7_2-0(y>QP&)Nh#)U<4%qW~+v-5obTE3BUKNk?SqqNF%ZvDx2F@e$&cHnl@ zu{N_D6P;VJX0qiD_BzyG&t6vNg?d(PY=J78$~{8&bWo@wTt`u&oa zj^RW!`IcI>JNEsL-svtF7+_Z0=SGcJh%#j+**iyLXVbTAu$OYM_18Qn{orMl^CGnV zzq1&mExE%YRqTQg)QUFQhv!KV^PT1zj12f|w(IN#4@FJ*>tjwdV3F$~V`f&+X;a43Z&KpPqgKWX`1)=ufbrO$&>NXJ$m^F1;D0KD zqVVZSz=_FMZHRQAXH<^%f9oTGjak@YAJE~;1=DVMq#}=Bg_Xa6LHjOZCCpi4W#)2h z>;+A+;mDEaN_}$5Mi!^{b2L{;C5KwBk&}(*ucd%uuP~KOmF#9GyG*Es@nU~2KFxk8 z-S`iLN0pD1brVXg_GqPf;%mpV08@#nf61P_;d}N}<7PtNS+VA)=I`^HWdeeF)(0;vf{z)KtEk#zpe;lY!gk%9hg=ezL^675M+~FEAk7tNvC42c9gVxYI`w?e*Ig z69=XFR~F|z06d&;7Qt?iZ!53tcb_TtTAZdz`sxM%W@@&DYN$6#G0felyx*ICbu>H^ z#^0=VSD}W@U}Ytxm>OH-mwOj8?kh&sU^AZfs*`(-7t$qab*yu)cv*-nJpKkUwkY05 z)jGUyBi0f4TB@@c=Z4mPh|w<4LS%j1bmqU>djMkE|8BoT58ze8N6@37hv7(-iuXQF zsvG#t8vUE1mn@ggYp`t#2aHp| zZBF=0>h)gc;PuS&t5ueP^p1rW+(I&}2fa^25g!k=ZqMA>Ag(;{>m?Bzq$*N;9z`m( z#r9*L(YqTavOoB$JWA zZ?%PQg|S-u8MROaT4oYppJiGYnFFLe?>K?BD$5=0+j1r^@HuOu9xUOVSes(YN20_f zk~<*TUkb6|3m>RQ)uvWAE$$6k1B-2=_+K5KSj>wk6+3&x`WKZ4ok^WXI2t8>RDL|o zV0w1~A#z@Zw}%k0%g*wUjTXrT(i23bpkO6*>7MA%@51z5O)_uadeI0^kpFSKj9)ly zUldv>v~QZz$82b8X{E*jkWGvKHZ@Kj$c1D?jmE*6lGyfwBna;6J9mBqdtuNB%om~| zT%jaxtP-RAE{&qk7~arzc}fEgQ0jJso&dsTV@*nYuVK^5yk?BMU^%;;#F2y0nb~7D zfQbmIMq}m>ch8d#5h#PuV=+{wDSxajwmVBT^06L(1W@_eo1S>Y()mOd5)h48;n4# z#@$5hFtf2Sy)D2=cZW_U06?b+i>|VsF4PpoO&3XRHqp<)E2JyV=|V;u$b{Emh`_Xd z()_oQAis%2yv_CZoQqL%pLSZ>8}K+~l(0luwA$)jW%a%5JGQ0f2S6Ptrc;hu&Dkkj z8d+&eza)+V-2kY26J^Ak3<-J#rQ+DSNto?i8flIum@seldN2G#eFw>SkE`Dkg4Ccb zCe4PCj0n)ji~7pRj5_#VcjU+&uV1ebo=&xjz7w#?`>aCFz5Xxxd&l!5x0VlJ-4f*IbHuI%{2^AweBVD`n^FGshqg!a z{ON;Ds^#HZ?Maq)FSktLF^?DbCkjmLi0TK|J)hy-7Cmx~8fTUry|&H#`y=UIm?g?p4ZV;l zhBoINRs1yozX+@`$vitt;zSjeG#P(iZCgk0qcMhydVY6ct726qzb%pXzh-!KO5(0% z>NC8-fS&EnNI;CevOSRzrv&nj>EFino3MPGC-f2Ew9ifIiGJVh=V=-R^M8g}ErkfF zFNfGaG8{Yq=}-rPsmrpspLjFnk*+e|QG*nTbzuN3-9{GK<*Im(CSZiyd zVn5z$8n2$6^@J{)ktMHNxD1S47kDx9~iN$ZP6NxADB&>Y4XxXVUCl zkUv1+P51FjpK8*E^_Rm}lEUM*8lLQZyBUuUd;~~xp8G}BQb4=h!^FKzwKqS-wvh)| z_~5aq3uU)UTJ3W-CFp~^r(0jGcb`NPJ*Jh2RLRomn2nj?wIsl5Ez$WB9X#X>rY*|# zfBNcPFG578Hg*9yUMc{m;9le1nGnQlz8^}BiWpje1_v!=Ti1w+!oTK=%nRB2>yGnp zIv*4MLZ#M9fp(@V9~Qk?INhY?QJ`bsKTQrB(e|D>6>`aLZS2sz{NK-`sI>>`sV{xq zLL@OZ2ez*1P4(7#%JT%KGtwf2S|tFAPyDNJs0+3+pQ`z6CMhSJ>zjzNLp~kE*ya8$yvE8^`fta4eCT=u5 z@!AjS9y*yDc|<@+QBS;Kg9|Q{FPW%Do%~=d9K8s&F!K^r22||mt64g#=X7fOxQD2z zX-_mIkb@j-oF~9usHa=s!9;1p^1iatY!SGD=ebqWgj-_;FhK3(<5M zyN|D#R|<89u*<{ODr?bD{_M5#_U}e3Ib^Kq!KBYO?65iecIfa1N+?Wo(Y7S>il-nR z`;)a#o`e}H$dpSu%bdEyj3_@=Y!z8sgGPj;Lp+la+Qi?(=`i9fW@*K4QMt!C;{7W3 z-M95&c#}6j8|q}-eU>u}YxbvKN8#?Pm29%JiNDwnOTqwVhHB#`R!CCfC68|Qm#eF^ zXN`IvOeV^jkALja4U<3Kqv^zb`0D&2VqRjh*mC@%>98|#8CpGc`HBqOAAh`|jy`m4 zZol!lWOsM_H;#|k;bX|ScRmBNlDt3li!^Vo(3G3O=gRf!Q+*nl7lOrwOm zD7S9QDywokixX|eCr3Bx-UX4qfRxTk(kidybsr2=j3B>|u!U+p&2i}TFB$oea3@${ zwv2FS-^Caop2wV2`4qsc&Li%0M-E`Q_!mTW-5fZGLG-L@Inof=;%@nLts;qy$aI`- z*3{(P0W| zQ)>Zj-blh2nGzh)0yTrF3!r0;oxbAHj{}0dQLCjwK%~7c9cF(rM4w!vi)jIE`@S=~Mr4uzN8;U6kbqhGcWaOmfvqg^NY`SKIwqiLLXDp!*uID#0Y6saYms`3Op<#!o@b>lV;SozY4t|~rExmH+Cava zn?AO-?#pjQ{hrx=2bjA$SMSImEpKQxsc^D1=fQJ*p}xeQ-*%qyQ&LDw$v*5XyA%fC zGV2hoA6QVF+(d;HaYY#+;wS@%tj=;LIsigF+8`VgNUAf2q83Ov)L;rB-;~83w z_Z4j$f-vS-dP>aG0!Snjw|5C$7BgzIoD+`Cs@VpNqb=)!TUT$ZXRW~1PF;j_e5z}j zPfkV+bRjZVJKh186DA76lw(3i%Uao8c2Rx=g7E2r(LS5=@ECg&i)E%tD1q$hSabV{ z!B5d_&VUe>e-|vK+vz%wrvfBvqoz&2x!3o3F4z>bI`08o9+{)|kh_j)TiI0&AmM7; z(z_CN)Bs_Bzw)|&KsII7#e96Dp(AXVWj;+J+&#uG+QM+Y7L1+5a`(m_)3&=Jn!Jxl z3s|N&zn0;>?{J9mw{nM0xX{U~VRrvTSMZuqnvIuo>4So?2o!PGDe^)x)pRE#c|`Z2 z0zoy&!>uKNfFmy`)d9o{>wwwwP6|k~x zc9nFQ5$h?sNU3}uBA*$7_`ar*;pbl`6Vd_vDX1L%)q!KA_mb2e==!N^m#~@8_T_gA zY_BMGe)~h+f`|MEDg*@IeBZ=&vD3KTIK#>_G{xv3#@2r^!^ql03>iJKd*63^^IA^#x zl%^f}GYP3JpFSt4fA@(d^nhfdc%KLi^?95nYo5DzFqc}Wg`hM?W(b$b%9MD8dF6TV zH3?f$j@&)X(I=~?B6c^G8~982#qR=-h_`vW9k$jy`7FUifBHmN-r;-VKjY7oI~6yR zl(UTCRtKL_pB(cYFMDlwW`$YZ1Db6&xTC5Ww98q3z3$mLFZ<@(ZgR+xVxvoQs_U^C zc@=WwslSco_)E`bPo(B%+=8E~MYL%Wvxg;F+t;n_6xZh)O(gcZO)MmMn-Y$;gbKWY z%P;Zz>XlD2ivo>L^Bl~H!^X|m7LsGbespdcM{Z^{KXIlVNEFssP=c7ofzl|~zd(CD zIa;$Fg-WShrK&2ak$ZC1u~SDZ{iu1>62c4ol$GbTV%odQ z+$Yu@8}g7kx!-c$ie8fkITrDu13|*GE+H5hQI%gr9rIUH+j?Y}sSHWJq^8A;{V5qW zldoODvkjS=Tl7#A*NappTVSiTB{`yd>N8;)+gl9`6r=}jVHqx)4)m3MorRyZbC}8% z9Gse}Nwx`9su*b^~S3HP1N27AZN9gurw zYEcdoTGs&JkO$kd*dTfhbC|fCLv! zYz+rHsjj+o8Twnt)rO)*b28C>;nq~E|M4&akJo4!1Aq#%;ei^U$+lD><&Ia{D6e3) zBow(Z-P#y(4r?|QYpMQ(Rfubg_HwvQ!)BG0gI$ZU(-IsR*ir)~@vCpEd(MLG&eQ>2hE7l`*r1 z!rmmbuHT|BYXQs}r??)q6G9s#t#f#?GHhUM7XrH_sy{FI1nN|JOEOVb=Wux}m@fK` z9J*BT37OT79-IsVw)aEdCEa8RXG##&%tJS)4Oco!f}A`H4g5tbVRasrh@I%p@9O)1 zthwyfEj}q&5WE2f(s5XQ02n`CTNaQLvlK1}j&f5O@T%3yvsG_%wdl5D-iaFC`82Z+ z>(;Qq-E6)aeg95QDS+SE8oDtfii6bsl9nO{aMA2a5CFc6DkTpO@Z>pU{bltxF>O!P zT%ujFH=^2O+lK?uH`*E3HA$Xp+=!*ELMo}xUOt&DYVM^B@8c#h_{XobZX6Y-K;Da2 zc-4l@Yy7Ky(EXOJ1;Q)wgw3u~YdUD?v29R@bo#~2-SYbG^gs7SN-Y^{S(AU_*Dsn? z(_G>OR`XY5)2Kk*uH|B zd&e0O`zRL3Z2?#obk|(7RGNMD-Pl{6Fq8gxL^YZ6XT#Y7gN=XxJ=~Uf>Bi^(qVFB< zI0Q1`u(QAR%f&%7Jl2b>(GD_v?%+D&ye?e``@YrYJf4>RkTJt7-o!8>{5QL~6(A*FWT= zQmW>fb1bZ+z9d>#2OUxsCS51Lq53MaXA1m-Iu^bHu9ZFhA7WY*nZIbt&)izyL zD{e8mS`%{SP4f*2b0hx5t=s2LpLqL_^RZFW8mX%6?%ZF$>e02cpm{v|?Gxwq;8kg) z5Lfzx4{8q11UuFEp9|-SSKjFJ6 zss!v3rZ1qD)FDdZok;0?TJ1DuHR3N(RZd{TV~dWE?{E$AclO0^qE>=>NLpVjHdon0 z`qHZ*?K0=@_Cze#ImnNv(Udtek0wGyM2$lJ`Y|v@+L2fx_2U?>Y}caTarZUFtwgj` zlW5kU@VqTLpy?YF0L<1cj$j-iw{Jc$)xwI_C!46RO59j$-B~Qhpi-oZpkeh$|3f0K zg!6%#q}%?fiNJ$*EgfNMHjpU@FcpxcOItIi5GC!~BD(JKVH2gPZjF1VIFQ6nduzZr zmT#Yj);87+$tg_>pc4>p-S{8l z+;5F>R^+O!HBdBs)V>4i2JFAlDK8oIuFIpBI(qt)Z&PvX5rpQajl+nA@;m^S7G4~x zlLjj#4hAi{zOSRWcN5u;4UgCs@%%D1{K~#jYNs9%mBQNDnOWSoyn#jQqRS$uy(jtk zbCrQm%L^%pUPO+ug0BDlF$zS1$P{Xjimv$_*#G14^x&@$M_zqL?S9iNtI#jXC-MSB zQq&q-IQ>w;@>Lrt?a?FO&fl*wh@gfmJ<(lmb4!C*1$FbjhqZnf5iR0~94G8L`CC#n z#A{;PPfb23u-%#&tpIk}v0nK-U=-QRLvU4lAJ*)9B3u4-BJ4Wk>~*2vOJfPgLKZez zSiMHI^2;2NeA!gXS;4Xxwoz({vW7ntq0L3K_}a~wC8lIScN~rT(VaY(PTs7>&CW2G zNd5=RTz_c2Z;vMTb3lJ7?Ce-E5fBaWdlj(uZXZ2a<{)I5{0>_B8%&E_%X|Aou(p%b zz3ypZgGK`>z&dM>?xt_j|0`L6W0E0y#_VA0BA@9d%C3s+U1Hd{0xXr9<+4z-c`jEw z>cu&14PBUrt2+0e#^0v;?XcP8HKW@QR^7Qo@F!ai)tKsdNKVsHCnz={dsK9NG*AXe z>3x)TA4@?~sTY{2K;Pu)tA!N1Atm3&g)m!^408(}slo6*m|NN(U4xidW^tyrBnGF9 z%vaQI!I(*6SK#KyHBDt6Y0gH`;c?t^b?fwyR+6qu<@Tl&l)Kb%aaa_WJ;DN%W4c6c zHcQHNddyN8>xtjIrl?EfvAH6YNdq=@yp_eAmt36M53u?G>-c`nR?YO3fBBln*Dem_ z_h*AYGFhG+}>i0J&^4!IlF& z*at*mA)(1IU8-=k6T#sG=trY7=1hcn1JM$5uj1Of6f_Rpp3*NH2VRZWZ~D)6vmH}0 zz2eGfjnzLTe$}W4c|B(%;L4MtFe{#?Y?o-(HSqhZyicH-jRd|NoS50KJY?tcZQwa* zd%@N(@XN;~Ee%o(hX3P2?ipz$;`Qv-$!)Z&#aD^3Y?+RCvnl|}p+>QDwPN90Bf+lj z$$NEK_EO<0)nc*&ba>uWgN$-)_f^fOcE2vGa-nA<1_TD@Ff!^YZ`(?kVc)ez4*Mon zJ+(e{Q!_1la#({9HP{TVoc164S(MtdjRW6E zz)rO_%t*9`MN{Oe4{q(poXrcLI*Le11C{9O*hjuA@d@C275vye%$~!?uAO(GARz|! z=FUQapVITj44>EPG!=BJkM-QkfBARXVpWR)v>Q`b)TWcT&AWEHJNK{KeOu2$=Q~2Z zVUrgB)HeMpnH$L{9jmvwp0G$5$I-S8}9?2(0_7vAXW~&Tj=K0k+~KPFh?4sqk7r zz8byZ!DK8k>Mp!tBV+&r%6f>jB@O-;lhUqo7GnIp;`!2Ju8#D6_(b_rmQ9jNg6h4W(zX%{ ziVK)vV>Rd(qnrf{d%xn3kZv8hM!pi3b!aIgSQ*p}DOxS_6>3!Wiyl)*1Vlc(G zS4YzuR!@m4z^6*J%MUb;AaP-mZ$2FaMKpjHAo-${EB2S>?qhi$Qtha2parg0@DM=tvyuHdM{5@QI-{r zoGcq&b6bZ6@S1y^N;9<8mLj?jT2u!%ZUB~4yj-hU18vuqVRbf)kf_QOfYNiiMt_QC zlSK4@U-8Swdp+k9K>6Tu?3a}xCsUkFs{{3QZY$7!qEYw` z{OtPXG&twtI6AKp9!s>n*5*eHYnl4j@ltA>z*BsYaQ{A6FMWF+8tfLWRTo5&)0B<;t>|wAsV$Czf7FX~9Qs-QnA{Dq@1L-Xx zd;@+q*n2gqOJjFsKFqWc_8C2;0ibLjLG8L6d-)%J9R&fPhwfY(*LTc2wp!h^G^Q@x zP#0S2ryc&(rA%z;4B$G^GZMR)v%$pL8_gH#=YHQ;$_bqYsn+smEhcb;^_e5=$D2g{ z&wUE;MuzoXoAuskxcL+3Lw+A53_WG~xo6wCPG^nmaj0>TF6RX*s}mlS8^lfD$4J|&VRi=9Z)(pF0293Bu>h<@6iYpG_Y*%(SVGQHd++5!L6)cQD<#;V6x9Q-pNKjl zzh0%kW*a_L<8~0)*8XC7dFO9qS5~6Y;o`~v;*iw%vwnNax{F~OIU72ctHXkSv&*iC zHoqtLd9OCM1QDy(#<0Byn2}xIeQ-uAcjGV$aA3`R*X+OQ+*SbK@s!800x8FoY`L5t zMFE3={J%T?;|-lk6GvP`4|oJkN}k_04tTD*i@BfORPmJiti*I;vt|9?H78dC>>XK# zXQ$g}WriMJ^?QS^IVnujsV+q})z>6BA*{^O`^vRI7_T8qhVVq?d6(vA$J*}&HPgU> zCAp?6;sLV`3E3)7kj5410U&c?wxY@DZw#Vq>76KYK@faXwtBNQJfj|SV0P!+Bh86F z819Y71ij8Q9a5GoTJ^ZSW}f#jHE)!voWQl}Jg_6y%(8FKme~#%x2^3soOkT4u(;Me zo>ZJYZ`aqD57~5x>olbmT+u`-2W6o)gt!) z4k10}b|N};GsS35QdHzzWh6>3Ef>_pM zyg->e@MbnNdyHZQNsM!${@_vy8wGM3+Z0+xEirLUr0wZ=f za+ekJ2f5@k#>VyT@E5{m<}%GV_wkq;!%1coxB6)ESi!<+v_Cj7CsXv+jPpa=5@)$H z)FUBF50Or5y|I$k9N4(8&_#E&Y+^H)_iAe#Q`9iKyW=Umt-#N-Ay}@3I30|@yc}~~++VW=@bs{RVb-GmCR+}v)0)D@Co}cnxoTs6 zJE{X`eYsDK&O8Hdyu|Y1pVe;{ZG^4_OGd&6Z!#vM)%saaNtZZNeLN!;T(6Dv=n7OV z-0=k!Vo^u^#;OuF>9iZhLV+nV&a5!_l(V|cpp!r&WcS@RF!5E?FQ{M`Dp+yfVLvs3 zr2YK!NODyg{ntTZ&L8beX%4N+(B?13PEcc~n>d92VPXpUFEu@QUt~!^TW>g2QhAOs zuG^5)h-W#d08H)Sj9w-?C!;s>C62nyQj2t9e_>-b?@f}AazoT>;tG7dsL!CVbsg~i z&_I<$5{vycoD7}LU#KONq#ugMiNa(SIch-K+8rWtiv4BPk;Ij!8R4sq=N_$JoY?&5)do4#CEAG2~7h=esx z?3a)6KronK@r+~ARHoiG?|?14+5AjKOq$sQx_v=o5xrz=&mL0s%~NGa%M{4XSaY0TIEor=+{wfyR9kc0R#xATILUCoQ&>j7-h-CQ|< zBXAt#o~m_XFvtk`0Vln0ls}VCdUqUR7Nm}Lc?;Tc1efEz-FcyB+?^jg0-*50&z^?|?*vKQ&vDp+WP9_+FBHIvN}WlpaaSzOQO7pb2v)djPu?x z3!)AO|HKqt78udNZ(#FIkX!KhkAw^IGaX+s@^#ZqmNvq^`5)9wzQS%0BJmP0y5=xY5mdeE{9l z?1QPaj!O~CX7ZSg=((EpawH*c7r}XcXntZR1}&^THVjo1-|g6K3Z5;LBYdFRNRs|x zps}-LflKhfAeSMDv!@fExU`M%DD)(?8cq@Owr6=$Z=nLCXn*qux*{+Ad$+Is7xJR<$d3qc zW!O@8n4nUBF2wV{0BS@Kf;2~pzo(tE?e1u>;cE_aR0pT~7^AnX<1ivyc-@^@C~NM}c(WgGGA(`x zpYOvhweu}-E3wz5tpDl`JG5_hWp&X{f=Bg{SC zq4e9S@k)f-1^cUp=SgQuGFjH!4sQOPYHAXYwlIe1^iUQG_X>nt8Ry&ROnA)#P7>X_ z0v`&~qT&ABK@Ds20UTD$J2%>0S~FIZI^%ZsvrC%xZn89YAwlU}fBrQ-x_>9^Hp>93 zk+*jzHFLe@2UbHp8v9DT>AV>E@{GCb)l5z1q%sa;bfa+(>_fo;a=1=6*}0|rPw0rd z!;BZ=ymIROK6#x#{S&|N@eO@O)6LJ9B*VKxtQqx#c-wx-+p*n=%<6qj9xnxy$^>H@ z#+ZA=$6~aERH$0h?VS!niMwK|jSPlh%XrsuWgfJ^B7Sl=K~4PpJ@{f_hWCi}!p}WY>7jA4&4H0>RWu!-KRPPPVD|=E#GKG;6JepkUr(F`7%p-Jl3DTy^TR% zTRYd<;LDAbZuX2G3H;!$TGbL8*4?q6{ekwM$#ll-krl~xi#G>&CZ|nMx#wQ3Jj>x% zhm;7r&l^1GY}*+;>R4QG)KY5Z8%;#8+_+rzyy)u1I^NKwblHpcu8$!~sJ5jakX4iC z-JnrgU(BbU!EtI~2fGb?9ek5kEVW?2h8tEqE|ZQ{dVmX4xdYcfAuct+vqDv$KAJWZC%JIW>*w{N+TDS#a?lJettb8vfaRjPKBi}6SYIuzv0N0QgDhh z#|M%Hj6djf7rB+gH+?cT3U$ONi?JolNb{cJ+A-80c>$X12hl8$rg+DZTtAd@o8iH+ zXo&Lk>=pP8#3aE)Kg4=o$8ak$@3oQR;LaU!h9~gd!j9PdJ=U09={hZVX@t7{oM8LH zz>-~oj1JnKojyW?c6JsM-9L`$klwMR^&Z?%Nvca(Vl@oMl@ej!lhjySN_1Rb=z8b= z;-F^Q{mJk>ibL~cC`$jr>nRLBW0dI5DH-me3OcBy~U5%v2`}5-_ z!C;U8^RiLqcxAhUCg`TbNO6)PR7_EE@KT{GXHQ* zt^~wGY>0|=#g(w#Dx4K`%1uUg5=YBfGb>=sE9q-9F7k2GH_M<2Gn=qh_xsuf?Jzpz ztjNzAy|fR=g&@C$R`2a1cj`<}0r@KZQTE@3!*4dZtu*({Cp8;rpvcS}yjmdzb*tMR zLXIGma3p%9YA3@GSl@vV2tBmm#K?Cy(3TIwnK3RxPn0d0q#NOXl+`WV#Om{kXy`jN zy>sey5Ot>}-3j3aqjPO1rq>!;k-oE>F4?)9XMnNJ@KT zhoI22b3@36LOtGx_ekhY#9Um{wRQ!6SFav_1Wl>pFXPe2B7u;JOFcDiHMV}_$dXFR z$Pa{z%m%p0O{Fbl>0h^|SwVWj*pybLkzG-OTQ!~yyqe@$OK3;_4EC+_EBsE}!;TLDz`!4Mj>V<@L#U+N2X>;RAPq54-^)4$Qql-p+$^P zU7>F3Y_-g+YT2*hXEsjiP^>G<*EGuamJ0Tl`p>1b)BsI@*uYOvW@)FZUkGF6T-i<) zwXtH-%G_6_0N!I>O2hVzach#AyO7&c&IY3dGmS2Zkj$`UhXlo#xO$aPsCwJ`!vH&D z8freL?fDv_N0a%G6|o~<9|Y$zk|OI3Mt0jo7Bd)rcJsb}%&^ZMr?o_n?Y6j_!i>RU zBb^p}6CRm*w})PPf7he?A=iz+|LQd0oWM@B;P&nz~YG5#tooY)oRdn-= zCd!x_js8^&sW4j~qvGKmb5IN)japN>MPtSGmlL1I!{e0`UC8e>{?fgdYTp}858F+% zJ7*ib`}f@X3w}DN4T`u7nn1a~8DymgbO>lf0jTlLy@|uXq2bdgGHWdw@~5;@uMnP%_k; zzIL$0-qrQ2S0v{2(2iB6>Y`lG=o#vNk5A#hz4VHI8KV`>vjj_~6pu{q8rbS2 zPnIWWCO?1voHL)6Qk$Yta>Y@;Nsok@+S8DXQw!jj@yPGj&y~AaYPjn4X5S69{UZe$ z1%_Nv*Hp}on7{vy;%>TLc5kh&`7dibNbu?D!xz##7lzwCg&5sy>elssh$BGP#f<4N z$k0w=7pZ{^JEr8VKUXO0iIJt6dLE%FfXu{sQOtRReX z>(8O0e8vIVMRIBR>g1toormo%8S0ePX4dFFHN`ks9EuvFvBy$Rt!*YEbG4WL4hgKj zlLMT3TEGBe4qqV7e7XA3uikA3!B^-1)3ND6vHUaw7!i&ZgQNZV9i}+5#dglwa$~&T zSpd;V7^o5Uywk``Ps-Mrwmw!SDUa&DM!Tu7+#uAF_*&v895p2ador+kTpjWt-AmXtvsn@XV?>t08EO#PRiSAJ58P&$^&y)5chZOox zi55rf!bX!6z!vN{a%sxWe7Z7&sc#Npz1X;fcj{k{E*sq1Z-q1tMl~Dxd&X|qEF>K* zZu6v>E0p#O`41aM_MuYf`xE<{I}opcoWYgB_k*m$0ZnrVvQUrL!2h0a!j6Ry9yPjT zeRw#B0k$=Ht7Gd`=PJDvgs&o|jmo@fH80ujQCmDTEi|vJ`Y8$zQRG7LfsJUp(7o26 z0X(j9b1A%xye}mg-m!=Gm<-kaJ|1w)O^tH?U8c)ggA%ixCJui5)2`8}^0&mB=k&^? zu$r?kOM9K!F`^zrHhrJgZzf%GyJCLTG-1)UG!M2%nP}VH?m=^DYkj_jI{J(K_dU_}0Q~UbDvrM^l z18rE9d1)hE#d4(!-l(0_P?_hO`QByGh{m(0uJ{^{pam>qf`SE7%f}!sSFr; zWVL%$PUuL`wg#99yZ3jUJgb5znyO!jWhsRDEyBXT)`Mo$BB)C(tBiGddd^&8aL4aQ3B2mJFLuF4oG=YY+^H;Jt-Ja7Yy{Ds~_;&Q!Fse3t*b?wNHfc zhV83y4^Z0fQ%;Uwfue)d3tA>lt<3`FOV*`E-32ops5_hOfo5G)J`di25mSd6?g+b` zmkzURV0-`nc?z^yZh4y#s`w- z`CRImAO$R<`-X|I^mzWzXqH3%Ym@Z0y{C78z;=%~p|t#OPZt{#&l#KM&nj|6f;-fJ zn4+rbfHmg>Nh2xj8AaVyZ+u(Ij?!{I^RzfcW^2SS!NmTr&)iiRy)5~8!Q7SK#-D$Z z)K)7|UdNpc@9rq$%^#*L-|=$|(gS?}?PNsj+C4tweO+EN=kOZy)2;K;)#XOW))%n( zuQcjai}zx@48wU3r>$}0C{AwEk+q+@wT!a^AFJaD6x9xW9ox&|D!SB{RN+K{n>PX( zvC(Y&74h-%YG;e$&IiEyn8}r!Tff*?W9H^G#$C18K|c3yb{B|ZtQ=75^Wvo8W$0^* zHVOYlm7Qc!^V$D#be;i8ukRnuh8}aBlND|omX!ln?$Pd;tFpueXztv50alita+Ri7 zu9jM<;KYUCNJ(*|rl_bmav~}!pdj$)|9i)~@4JWR`P`rTx>#b9b=_)Xe{ZMY6x5+{ z9rYgPhFf)pL0|79t2Bss4rZ}WiU z=`-819}*R}g8BYRQCPql-st3+p0akgDVn!(XSn#uj>nWhi#yT8iJOO3U3Xg6NBSF! zP7pN$A0tyb&NTz3rf$1aTbSG5L4`RO9)H9TIhpXCz&{Z&M%o2C>0)yfR~<#-jmVBWe5y}lG%0Mi5s_hH6OY*v$k?ly#50IMZ1Q|v89cgBb{b`&3!2v zhU@jvr9iVU(1CxfI7F%I!$U1qahxr_UG-+QAC8|%K;~x$kAlcc04U15T)t@HeGY0P zp0r`b_cx)+0}EC*dLDE4Mh3h95cZ~Dff#t1;a~VbRu6|<$3;|Qepde0#Qb)MUqkst zsMpiSvg=Zmx>%XiE|a>@;*Wvzs%*rw;>by;@`q+O?X;$o-ZA26PQzMPC%&gMlESbi zj`A-zu~+N4t~xP{?YXux!2|n2utW+OLL+yX-qsJa&@^2JEU*rM4qjdCK zjl^px;bZCx1l%k=+r~d1NE!o3jkv*rjQRCBezxuXOIF-{xhY)4v%2nz;LJaD1IH?J zPE`+oH@r;bXsRK!;4g;J%s#c_1{t#tP`DAF?GFX%H7e4Xm-P9kPd| zV`BK7CJ+N7HjTIV)CxEM0hwmR4wZWYwQS_8e0VMXM;d#9WL_VNoy#SPyeqBi05-z* zzV>_%d`0>^#e58sfeYLg?IitrEj$8h%w*eqI<6y7E7z?kq3tFO!tB~fyZ_#&2%0M@ z>^2|HU*r({tG9=YzYd5(5?|c7x#qxHT9KMMPzX1)NjE64Id4(H^>6|5gV_$#)~uni z5KM$bJ{{|W4bHqUXrlUu-l}96e&#)EKEMUFTU^~8%?()@iXTZ<^L|Xp9!^2LSQ%=D zcARAqL@adP+fJ(nXA!#RmJKJeevc()f1fAGBz5AN15tH<_{19gcCc^^#eDXQaBJT8 zeS^<(tsKw4o>YZG6;&4^<}nOU>-l}Z zHruz(BqRj83gHz2SO3y7)c#9>D`z8O&Y4PMT3JpOy&&XyOqI{SkA3bc1DL5+zq^0* zGFxw8t>LevrhCJkmvDi<^Lm$C7j%x7NJWG^d2AHX>dVee*Uy>pRjiuF=*kAdA9yWL z^cX9CorjFyWA>R{_$SE@!36^&STm^&jRp zHM+$;1u!&y#PKOUd+RDkXNn3E`J>@(?cPSQC*;Nuzxr>BaB9yG%^F<0k-s`4v?TY> zUlc1G132>503Yy-c4J?;YcAV3^Ov0bq2D&~s=)WR_VLG(MW5%#SQh16q~1!Dq<)ru zD1NA##xBlQwHv)iPPbZYoprttD!XA068(;&y!>aK9Onnozc-?KP~UOyc*9QI zLZ*MtArzf{F}ya?b*9sOyK5eToi9{9I~v&GYZgFBzv%j8(DVz+KxYjoS3fR!oHfzX zqdRXH72@iJfBfE1`0GHZ`pn@z>Ps!Rdb?G_9f_biudY(wkBA@zPh}x%47_U~Lf3kP zG(?Q5$+~pMZ+YYV*1ezdK}3=QC8d2lHS;=!sX z%SX=-z&UesG2K(0K7@3orOc-%wwFI~9^yMIU85MQ+nFvsrA+29AkCF9A5$)-M9vo* zKq4aY+tVy4&qhxkwTz%#GwX)B{N&p41)vP;zsR3FJgT?Yuf!zcmp%iXu%6rPjP^2; zCU}ADZ`rx9y0JB0=Px*`4|&p`jnu+ADcP2*(5A5Q1u;Uq(_X?LA(9LVEZAt?=ziiC+eeMM z&m{&8@3Awac-s$`GO0aJz3KzY<_qx#4l#8tJzl}qrB+3zqh7jGtj;1L1{+{UxW%+S z^osQD5{0&5-~N2l#syeAB9!Zt0n-jli{yFZm?l)8n^JtRrBK>o#lmKTM7?ws)meq-n!-f&{HP57+dSil6nNZIX2a%iu^pkwD+JE;Os;^2vGCrw4-?;Ka-*~S8DQ*QDP zVNlU%p0dSs6{{GySj^Idg&g$QY?PGzDA~zLQEJAN#|41r|6tEKtQ(+(79KR#(I7^f zX?Uyhx#!#wR-0vvwXra!Rvra{lxr&VE369ZC?VsdX$WzTjRR^-BU^1~~2cZ<96kztvPr zl^1{*IPyunzs9G~2dvYp2@^Oy-`*=#6)h3ysD$?{zbM|EL5~!G4FKR`Jon?le22XLQL{!?3@TZzags%4^6+1%GmKRQoA;zhUD^ z$4>e1jMCGi5ubo=)uFDZjegX+C%!jt#gC&MjC}={?iZfo>#^=hr_zk0CKi(wwLR>- zLyp>@)GD5mkFKg*^?ixW1^#@aSVWlnp`tI@N0mEQ7=)Rvao6Vp5kj12*XF16f0jre zYyGUp;52}&6NQ`gPuYHH^z0X^SwYM)hi5J{_M#c#-%dZbK-_6hA3efzy1l2LP}ZR# z`H8LR@hY-DP=?rj`S-@k=}`-IP2%@d`(9R$#)cNUqoTjDg6uN-B>DMe^4}tFZN$Uc z-JqRLrGfI~o3d-K0{sHt(Bx_2DT)7t=%9w{(uSq~SOfT&aEwCa$27i#`r{O?oIsOv z9#diOJRq zXutgHivgQ?&0Sg|4H+6Kewa3Un|rXy%REmw)t$23jbc2j(rC_!B%66ka->@JAN=PR zRB*W{|Hn=@C3fq;np#?oDHf!lk2PKToVgd`Mfoq!>Oc(1; zo>(aWt2lrsFOE=HQi!!`C_qxMyVJ$FY>XJU>Ucb{t(-v5mQaU-1+;R#D1p$d>x7XG z_QiG}_%D-7Z-MkqyUYBwU0CzA}-TlH>gXr%5k%xxp;0TQo<#8b^AU^0;TG`4{<0jD@ zyxp-iqGeB_0<-g&_sp;{`_;O@N#HoYhZ(PqYd$&iNOr^7Y~j7MZV*WVKeU4OoXMQ#Y9;%5xf*q5?2!ph|i`}qA;&el6Y&B(;7gq|Bq;h_**zOz*s_o9O4 zZglP40Tyg^o{-hnbY{O#Q*$4Rt!8eFFvP|&pIkwd5(MY1pYSY zzNDQkU+_Egt^+cT`dO+@GW}dgMSrG8&i)VHE4XyLJT*Ep|9JN_JMxiuvA=hszon?j zta#k(2w^2=c#J<6qNZX(hS0Q-?aG7y=6@_el_2F;riJwqzXDuB(vosK&RpjjU<0i6FWc3CrZN#e2RGlX{SVuo}h?3LKn z6uWRWm_GC8lf33_?fuSQwvxY0B_#*7 z8s8ESX9(Quhdev4ekgJaIdd?uRX~{|b)mA}sf!??`+l(9u%pPdpB9W|SoBa41hD(e6s{?qxli6yB<;Xn#SEx7S>Ax9l5Q?FO9RIViy z@nP-Hztmm-`wM(zD*27edO5x}A@J*6(o4H_qUD55d%&+bZL@D-o9<+c_!etXL75Ge?e)XY6GO& z=)hU==Ye^gX!!0?Sc`3DjiN!zZm@#d(u+E}&tCHosi7%&yO*_RXBOk8U^d#x;sFEY z%kF+Bj0RKXJUq%aJ$8aEtf0jmm)$Q{1ZDwYz2vRgEq5GZ<&V{QV~D#i9|vVSAbstd zLF1KazODg{497s|UQpu%pZ~Tc<(Ow*sDsH_>OZzuWLz+R4(z|jUKqQT13Zis;w^2a zwfq>m?=WC@Gh%1Gg__Cg{oaFuk2j}iVk$6RBYV?m1q6pl$l6iUyeJ8n%q~drE*|Wx zncJ@(JWe>@Sr@fgS~Q&^Wx+zk-fc)p;Cz*;!q%dZsj%v$7wD#-IK>nO@_}HTtKr~=^%kP0Mprdz`cN}{ur72&SV#VPEloGgl=Oqx(&*&&F z;->h8rP=c!9xV}q{^7aAF6yUYF_sl(>Nbt|qJwyAD1p0AWFEIAXchol-1KZ9Q47VO zq&^R*4n=U?)g^pDhoa5V?1fnP%1xqx^a#}72g-M}_@^=ljRAouL<%wG7Mcz7Z{<)^vJ0v8(lY&w%-@kt!HdD zEiZ(w-nPz2krMoGkrwx?27t1g4ak1@r(}+XL?5(1zB_Ify9*sd8G!>~oDVHa_aPga zrWnrp{1CZ)g9nN8adwCbREF$)FQC?>=#ye5gVh(sE|L=@+bCA z8ZKFRTb0c6pQdmVyFQk~=}koL#bnZDRKS|mk}M#uqBXIPk&|CDkQokpmL@=+fI_}0 zkrQGnDwy<#M-8;1mA~NL#v=vwd;~d_=-pPdnpPA|V=Raq72Eou1P}#T-Fct7!HcOp zj4ilSYvJ@JpLE$8mv)`?{HsUPI;#uPJ`ybGCIA!mkO_O>ff&XG+Bj&w?z8RYJR?2c zcI$-bYpM@hd;CTT(({Oop+=CUV*)EWfyGI@Gpek*Tmjw4JHz><)WWzJt>Po8?_2l7 zx}yuy@n;&lT3EX9g{re4L_+Z`OPb8Lw-S-!k+@moLe&XdXq6QeQhjY|PH4Y1tc~Xf zAD@rVn2PvBtAmh2Q_y=`P0X?8!pXk=vv{@PzLg82@2K&X&s99%Z`9pO&%&RBG{JVy z`Jh;;e8TKLQm3Gwed)YGz_lj^?|`2lCVhCmo)_>?AaSnr{^PN`OAB}u%yztT>eK9} zjrMVsLm3-3L8^bn=!#B6&cBS3QRoP~p5mdYoUh;`Tpt|bR+FpEj{7(G7O8vwLBNIH z=EC*iD{aC@C*Iz2P!PFLDD(by_SxYzo$ofry1@>7lA=zZa=ky*ZARsx`p3G(zHAzw|Rd8|oH%r7xMicvV%dyO^RX^rBe5bq9SG zgK~-vIBTst`~&lDX)JN*t7)_6;8l^GE|d{{tmz?FpSE069VkcIxSR3g%KVThK61Ie zf;Az@(=JifHr@VGY`8J;GNsiw?@x6+la!N~f|9uMv z&zTk@kd~ee*IrV#Sebhf&+Sspg}^rhn?0R24UsJ|ZF^^Bj-tuG5!yU|tX%`NlKbDu zmITHIm5sH7=WW!zE1J-E*gFhln2Zio$#+)46EYcMCDeB-Au9Vi@7$$L5{$ z_p#fCtQCr85j&#I0l_|b4^bA}*IU7j$u26DpM#$MDIuSQ%6ur{x0WPLzVkJ)c(Yyuuy7vx^4wdbQDle{% z$WCzp*nvq}kZK}#l`Q5%4Ds6#c+9jEk7jTX*>?1g+=8N(3EciIMzx-flH!IO^_8+F zIcg-B4y&(ptvrcBLn+K&#sx@1Xye35K9O0E{nNm5ttSNyS3$Q%*pRHbyd|)`RxkuN zpZTJv^#m14Tde^)N0{{%(?baCs2}OS>CsfVsL|EM=p47IzO8~=bpw#>y60lHpTl6+ zU6`jF5=zV0YCM6E*#`Q*&SyeXNda`W2E-`XaZGAQ^qLy>Od3csZb}wA>TP+z_Q3YU zneg*G^?8Qx_6vUmG9zuir@rm#)}(Lq;ltAbj~Zsa*-33<(?P&>m6~%H+IBOAyG|5X z87$y-T4&xoy&Tu^Lj(qYoW=j^cVpH9c55O2cXI?a6NK!kqyC1tZn>B>bZH6T3LqGn z^OK!fR&v&)EyxnYDa2;r&9#J$u9Og>GcT6P!wmOU?Zw*=Bdc};yzKbf~I@kX?@!yE7KB0fK#$KL&Zu27yy7Tm( zO&JO6{iy@9cDz6Q!pR4R8YzZnMJi52q<*FA+aTyEEPQc(`Rs=5nP+Lj1|==BWW>1o zLZsKP9JcK(?VzZJ_%6Q(GWUEJNp6hc=SP=4Utsko8iKEP)SP(sw`$jnjKU3}v$m~y zeUjg`CZ<$yf0A&4U$Fl`--XMQTwGKOc0JFon^Z}~Hu%!MNNw(~{QLatq+aYNV~6Cc zU|+A67j_aqM9+U)0{J;F`jSam4kCFCjvZ-f)oHVo!w7J3Xl=!}{m}OOS-rxUhf5B| z6Pmw;$TOr5E(Wc5$q}}9?6>fR#y|w^t+YS&*JBsMIRWtS#6k6#N2ag6bm-l2`U?Ab zgph009t&Eak9t|FKca2}H-u^HIPsrr)YLB6_T4ZS)%_~gF-|t;Bw2~*wenO+R-bAO z$8bM#YRz3R`Mus|UxU9@H2OX8;8odH`k38Vt81~DT;uGH` zGdi&KHL4Z&y*hXo_8kdVz^f@Q&YpuRbyTt@7~Cn`WPjik3Nx}LjBO@KpZ;hcOUTVp zRHSY zfNeIOUF)wy2q*sM@sN6ghbqlIIXzJ{)T0wKSiB2~ix{LXy=9W3>ZH-yn$3^m^v{QI ztd`R9{NflKLFGok3WRNp45VNt!`I@wXJ1&+dKm!=&XW!7mYv$2z&r@j2U(8c4SeK! zB|h0$9gf&xSoI^GQ!YmZKH!4fL!jt*AaqlX#ZJ8DMQ@+4u75$&LR6QI=IHuy9=ZY zYPN&71a#iC>Uaoo-PeX%tT+%#eh(ZkN%s*{7Wd920AQ$LHo)xHH;`X*dhB?KRVic> z7C+{PMB2oT--}s}g%frgbyg69hGkdL?*21IW--w&CKcrb%M=-I^uWbLj#m=RLC^_a z<}5PEb@OZy1f(rq49lwn~Xtw=_Dh{4K;7zTNZ;j?>jxUsfnRj|ooCRq4pZia|DDJidME51!!S!HEA>w? z8ZvUdIE~QfB%tQK#1`e%&@*(~-_Dt&b&Wy)qO`tgL7hlx^yPnj^;LMD(bVJ83l$b_ zTiqb5XR@04_ZK67nvpL;RWf!*BFimXnDocd#w3>RJoZoCIloxRW^D=bjOv>{{Z}`T za9|^`h|$b@stomz(d09#KdX^&vDDuPaJ*X5>~O<6n$;W})h3vDaNZP9MxtCpponyM ztY>I9$mF4KwK31|O$sSc^P3;dl9yK)@@#~yL^)5KFW&Q;a=uE43LD(XlJ0ta+S7BZ zhId~1kMfMX2&aq3=i&JqED@#Gu9x#2N-`3Kob*hwLG)nWVlXb_GFV=LQ%*_iczV1U z;&SZLo7l~3Bw^}=X4UaLUE|n-n7BTX7?fd|4&!V>)HsuBKniqmDxbu|ZgGN&ESz<< zr;BDd33LGwCUrg8pA%C$ud#l`OpA@A&IjJv;L_v zwp!?xT`KP;I(R}ieMUv*)b$Z@$B!D_7Xd-76T^c)VO_Fh`g@ci`#dTp|9sk0<=XO^ zfKO?JvnHdWy0+i7;VTqNLv!aLR>+NPi*1=PMZ-Cj_krZ$8|pqKM=IZpryiU8`*l{( zqVa61dCRw-X1-n8RV6~ZyEtgk=nZ+b7Q387BHNSQPNt;=evhWYwrmpZC+<>SDle+; zJTsTfDHspD4!XYnGKI2YbL_KMt>uNnwXwq2zVp#9q3J_H?-&()#HNLe;A0^A;iRoL z^iWu4sa@{p;G)SN4LR{4Rejos;x}HxiZW?&&+@ZaJQcpMd+Lz~o3F0v*Z9r#!c_Iy zj$Ziwx|auk9o*A0kL=$GbfKJTYx3ntsbkC{QOAjuS(+7uO-xEqQ5QokraPt1+A{y)UfA8NSP zlX(_O+n?+st0TUp=A`FDvf8#&Zv6RxtZ-FJZ1u)g#NG?`?-mCOZ$0`=yu;dSDSvw?7 zDCQ(p#kekf^4Ysx1X8zu?`$v`)fv@pzA9Iyb;7%2J#4RDFyst+ivc=9m_6J36Q~rQ z-$$aBAIRKM9J=MmW=_wUL?;} zqob#~&g@WPnB-ZcvnGrRykuXej4Wzg3{zxP|D#ljD~||mL0XTN#3&Ft7c4`gzZLEj z!j}iCZWpI;{FF6{*!Ym$KY(4ZqBd}%tCoMyH3UrRucvv{APxg*O%8oAf%Z<9fc`0v z5ShaMD#dtK&5*?eID~vMrgzof3zq=f)SVyWyjb`o74myJ=R6}1Z1vcBidQaXG1T4T zPpFvMd(OAB;Ldhaf&12K^HFVA5{h`WfsWQlD`;8@_uUHpQx<7Op$6J8ngd#2E7jzk zaA3{WRip?nzb0ed;IsE*%PT6x4YgOv^#j|PBu6!*a%H~E=!7iM*W)OgX?!B$5-*#( z)lR)klj6yEvq)o&*h=%N`pO?E1*?oa%Kl=!V0$jGMq$jz>_4;Qp_F=?N`jk=(TI^{LUL&ip>+GM3<(;Zy5)jd(0@EZOPUp_k&#^|&snV=uAMhXm=)O=5N6 zz=D)Q{Sd|9Hlq7s;Piq?!kfrR_G_Z5ej%=q|DPQ|+%=Cva?T_58jS~4V+Pj4uT9&^ zJGTQY@5~Qp<}zW`2IF7&^w5{~CRKrGE7wmBvp!}KS^>T1bhcy_%8kOSNw&}CM>4ZY z>y}h1&%Lx!9X+Xd<$P3dx0}kPGZ{a1SV(L`DD&}c+rzGBCfv@t`%^jswHyg%1BCT* zTBeo=039>QTFr1s^xOQb%Mjb#&wPo5kSKsNWh%B{`<(ua*h?ah=v`165omA`x24n`{85Rzw& zN}&&&rHePjn&oDJnHcOX5WE>zdc@a&N9Yy}ENACi~$0Q^GnJ z9iFJUn3kpTmH5)M#!E3{)?i94c}FDGmRCKfKNa8~fPFG9{TTTBgLIN;-t5hT!>!$_ zB{c@{zzzkss{p&Mf}i$^cG19CYD&W;dtUe*hQ525{D_zqc*^5$ zy{KHy5zj$%W~U@nzwas1Z_ekJu!X0x=Uyb2tx7e5=czV#C7-HaJ{0v6Jyt6zZ>O3( zp{Z|vfqN&T-ESPDa8D+9pumX&!sghfiOpR1Q1N|biVOnjICz|*=12BjUB3wk0m7L4 zq2`ZR6AO`I??~lC@513N=q4P&4_{%_+`W zP-AWK7od9wl@>n3?dkgK7?T|zW2AWtes1ii)=2soFE(KQk*k;oz;dOO_SM5krLQT4QwCskoh4odz@Ri`O0N(Dnm}C@z#bFs5P8%>L4A0=XE zHDtF>jMNgMH=sram=?KdmlrDU4p{CijrBxjn9Bj+Te9g(M|CS3GLWuv08(hGiz_;w zD~u-w310S?8D~2+JBWaq`q6)KZo>ziD=6mfZGIX#5uGq(&=KD~eeNuZ6zfe;S1)O^ z3hrT98K8`5WG!eDX>5hu;eB$6or8uZ9IxrBXG5I&--65`(hGvMLf=+U$B zX<*q8ybRcrjrjiSMRlxf0k20bxM;121Ts#TZzO}aNjU%;&4O=WU}|wa+G5t%_;`Ox zuu@r|3xrw1Yz%|%DH6+9+_8}GuSAEt5Uvx%Su_5=IoSWy?_$bCKJy_bVz5hV6t!2E zY~Jvcab+4ZY!MQtz&@xvDs1%PKW#TrUe^z5P!`Ie@t~5Cjq!HDvq7qZZY{0DP zs>^m#8`pv>33J0w9YGKam8?pfg-p)cmcRibptCMaWgeJ0v`d@Lgyxj%7}IJnJMi(7 zXk>eqU4kp)J!?jpo3nFsNDhs4Etu7w2t9KQJ$p!heeVYvC5>CVBaH+@!aa!crd8qz zTlYp{Gj39*Rks>OGJu1L6W{z@Cw?cp(r*w#C`s~8p4|K|D(0zu7a>;9=NQGKLYW_1 zy>twm%av5;Pj3S>ETgo!mL)f)1yMFjK;g;|CUvc!wt#rZi09w$5)z*FsN3Hzol2`? z&k+1CiHPZ}aSfEmu5Xd+c%$&s_-`U$Y{0iY&P$5LmjB3-U0l@OM=E*yHo+aOpBk9k zBv==wAdb3Npg>sK#$%DA*BO|do&9VMaw7sBk>+|9lF~F#NQ;Nt3YS{#nyPwfx`&9q zFt135yKMJsy>kF4rVUu7J0SRX2*PL1{aBTVd0r?1)sIt)35aU{J72V4y7=NX!(i2a z8iOZ{+5#wuinF%}P7zVN`X_l)^t-U*ZG>m{eZ--s>Ak9cv*oe4c$=~6K`o6|iPQ6Y zM=g)FuKm%R*)F5!$0mr{5Y#Qo{+7HWTg0?|wDn0oX=FpAI9>V&ySMwIxzT_055?}x z8{H9$ven+>x4o^!*r#NLCQjZ?ZAr^m=z+^gsp<%oDT=}y3h6rL673pNGRIAffl{r z@ARXXpfjMt8|()_JDx;d=wV^Dj%zD*xUj(oT&5B9%VW>u(euw+RVBsuq?=O3UbuDZ z1UE+fy^+v*3i#_E_NT0z@ZqKE6CBKNBzSuSmu#F$?e+jzsY^*-QdE~aN#+atn0~g{ z`4mx+a6{794sUj@Z!2JIFm$`!{OG$IOig%YuN*qv1B_j(OrZ><^BncdMY^VRgnLI1 zWzdfF%&o==4pZmoUVqj5^7?G1pVOk+yrHPHi9g5EqRtCbpRV?yY9aTLQ#dDkC^r;n zvSQp-Z21b)NFx~Eg*Y$fS0)2j4;SxO7j0iV2HR)SGE{?@!8udy34<;0zeV(vzSGJF z&{8e0X7%{K8v>m%KdAQ^TE{}OaEuZ&DNxuToE;vUtj>R15`FJCoM1C*e${{ekj-l; z&XJIr_e&7*&6rUsV!@uEZfi2!iT#L5Aqc8*(aY}6Z-H-Dog;rEMmL=cpMI_k#ls@w zUoqPBVrQN4H;P8o$dVakoVCj^J!{hC_WsB8$eu7#6-1AoyN}|cCx6+ITiD6BT7oT@ z49cVMRT9oQ=u*nUf|rQ|dTE1n?e0q0I1(_;a7p?YfnA3hHoP@pw5X9>OE%v|3(V5R z475MtDPXPGXJL0v5bCJHtJk1$Q-T|%z51YGe`Q1Aid(}gkVk62qKN~?H*|lc3CJ0% z6WNtgOcg2K?y@34D&?f8yOHR9-%tgxA+f$aeDVSdd8&f@jOQ9M-4qeoM=tbjtv1rPsxAyMhpr&YWBn8w$ zgg#(GOsl3)3bI{RQFp9*7W~1Gh=3wwA2#!)?Di0=J)zs3&=l~*tIv?s4++N;M<1Yp z@AT~C)MULmf1wmbp!-0?s7axb5w2Dz5ZHjyFAiP07vvFlyeoZHA9EUn*96yKm+9>* z)gr)2nKI14zQ-Y$s9e0_1Vp3$xmczJX0L^$%B~BT+CBha&wG}i3w{lo>oAVW>^YW` zliyxc0AdEr@BaD5Ym1iOwyKotRVj_JNr|jD*L_9a?XyM5N>NXX)DQn9{YBeT6Xv^{ zG7xH(S@~?ka8Ax&TDi&6rJ+~1{mmAdN*qgn!8hext?rB&=0E?#cr;p)pE?Y(X4{Rx z)ICOM6WCFWAk>m0b?YY5tXAnBg!w_M&JBXlnak)sQo1IgsWR8RipaD~_WQLW_fkY5nZs_p8|$ zc}W&rEC?_uP=D!aB6_0W$oim?FHnmUZE`29OTSF z8GN(0CEV6;!snF(;m2Z)w1TimPXqJpF>ZN;`_V_vf6HBIeIC>v|E8_MSw?=0CaX25 zIuQCyOZ>BM+&$7jz%Q!lYGte~JlNXtB{9Y%OvI^~p#24DnpFS%#TuAvwQ4|0-R% zx9d0WRuJk+st%HU4$(iaQE=cx{mk5t@(E$;>y(AvBhWDMR1?9U?Ra@rjA2hFDNQgUV0QC+NAi&lJT5b8gMm!-KrA#*eTHxo^)){%HDpMt?NCt7a<9Wxh>! z+1ElSf9gT#nabHv#f*iUEnO;`zhC^Y-9x+w74wRqcB$_ z2S6;L1^6B8uT!>-(&sl|_J?oB4nCRMyxXL8pZ{!u%y2*!sIz8CwuXHZWPdV5drmdx0?0bDP7Re~u{?4) z3+W2pTJ~AzdnKDDEe$O6Sw%x)a6Jq2+-Ba_h)?|^Brm)spJEQgHQHLOI8Ol~MeE>j zL+bBhtG7rEJzO0=aEUH(fs)chCRtVveIQoyq-DuQ6r` zk(NR_^U6Q+Rs5I_ALka@>yiuAAI5Zq++78gMR(OVU>+F2Hy)zs>`Ct15{vi4Xh+;7 zF@`ii0%bEqjCM-aEcjla4aF-oz~N*5?8oBn`^JSuBSo;s!7zxSZ2xq^;2N8o*|Ign z0$mC&f_)5K4kv>+b19M~AD6sQtYN!^m@TYdtyK3p@?X%QAxOt=8I-#kKLoJ6X9bzK z2(n^3XP#6IuDZp~OwjMPyg-i0nrF0xGFQu6bR-=u?@u&fpM}hCJ8R6GKmCH6J@PrD zA`#7H&%G_1*fjghZ~K{Kv7_=bAQI$b2%JqZOR?Z@Tkvu8fw=7%vKrISDdjnkH_3CZ z*?m(`V^)FKDvh;;Ja!?bCXgUd^Ti_`MbOX~PD_AABvv@kkqd6#6z!UhANdye+&s|V zbYlI8{fd`Mr{x2ynF+s;;rapv18}bC8>Ac9OXE!zKL1}Y_&cnPE%L*^$BxFiHI(~c z&xgL$kS|iv-nuLkt(qDOPZ@sWsHQre3L;n8CG#>5G=0%mJu{L1RG#x|>};l;QFp36 z^;UGIg=Np|kMkQubnvpSD~s;G2f-%R|Lh{-?{5gyKIywrl%j~DP>XIXb)-m-xgEJM zf!TN^3!JLe_*mdU6a#cMJd&M=DZmkZwk+erdU|@7r34# zstwB?dvD~G`TQ0W@4aLh=lU+7VhVN^?yCKj^)3}SfNJwXx|7!dv17CUL*3j!@rQh!)xBp z3^q}HH*{awUvBV;u~d38?I0Q4dlGa0wv(*dVadZEERudni>v*YHMuVpeDLGZG5{jL zk(uY#A@At`b7P5W9tQuE#=o)O4AVLwZqut%(RW+E0O_t}ON~x%hb^xdL`mANmEH4k zHGy|Erm8o2C;GmJN+wZ$W^RDffA7@fHzoM~3*H`NNB}lJiJ3di8^e2J$g%PkAv=Co zl7wP)HEnk4l|NS%rUXnrb(m6xjoa={Ol$d#IkR zSevl4Oua{NNuIv}na`-0nGkK+Ov*Y{mViMs&NVOQ&K92c9T$$GE*HxmCvUA@R3;Z% zv0h6PPi+oIOFz~~VW`5$4ktu7UWFN&`3|Cmu=0ei5&crJG~0&SmP++ekkRL9MBhFx z;MBZ{Xjst^PcvFiL?Hf`^4J<-CX04I5WSGk%+9kd&p$4vK@-G*wE{#+jFXhc+2vPO z(D8uxWaOb{`01Dji~l9cWawkQbq!=)m^h`D4Fsqf9!z!*%^y-JoCq2I4IfH+R?xhk zv*PbOWC2@#B;Q%>+ay=WmgNXppw;ibKj7jhU|{tI2Dr>Zy{4*t@)hHAl&4$kHIXG< zq{`7?$o^UPN=AT3S~MZ7nbguAMem3J1}F5~V6~4FnKw`DI0>{txf`VIG75>i)m3}B z9F3SPioHLE#+6&WNMRT4%w*oC;MwJPHN}Z(7|^a_K#c_JVLY|~%7*%hZ(F8Y5v`4u zPAQx6s&Qs5{mdoH;O#=Pl{9{Rp>JB*eFvo9gW)}#1R(g3ND7+M)wl_znIiT0<+lqy zx3HTEA8M{yNa*gUwOH)cVeo&xRnskjZOt&f$pwu-bXXnT5eW|D5S76DUnwEvejCAE zd5BNsxl#aEiX_skZc=umCx#Q@60&K?xL)ivs}INK4AIM)6-#&JrqkhR37!0s0`7Mz$j7RN z2zp@GgFM;6p9>E4Paw5m_@4Gv#UsO86JhS=EuO^6SoM0f^{MNE(TxHHAoi9LcuN~E&slwNoI8wuqnq!)6iGmh1hpWuVlW$+=hCBoM(-k$XbgXbc;wc4peGb48{q^}}a7W4)bVagc{fW(kg|q9Rl?wHXFX{qpGfr1| zX-P59PvzP%L@VqmJ_TQbr2m36&1!=$6)EvAlUOY%yHRDCk}@<=KO9emWzSC3_P3$# z7c}|CRn(C&IS{0P7^u>nkrkhL3AuZ@AWuBZP_ikkZQwoC^JwgC5oCyt>=X;J-SlAi zhasAl*&#sR?kZCV%IYdsG^5IOB@rzx)VAfA^fpf0(l;@UEuZ*Y%ace+k^)o4hKtW3 zY>IyJ#|Yh_)Wi;h-m{YJZG~%$a*q1x;qLF?voU*%?5C^gWJp+OT`YtCY~lU&FpB>! z5+1u}v9WSI8L*aCSGB<~0qq^{0OLr8dx%I9{+o%>yEWPaK|}?&E6n*ZmM;P^N==}Q`={CGg+K`8#(fe+#VA`-JGX%+FW z228{B5E9m#*fk=Qc|>?oXY`KUso4?lX;}T6sB5y4)AB#3d(~a1U3G9tq^$OlL+L@n z9m(fkTsG#>YKDW%f8+s=fJzKC@PYg-V1i0`&Oa8q5?Vh-uM^WF zl^edzpM5Snz;CE5*g3D*kQY_(yL{$UxpavvJ9rw2f&2}HpTBI2`MxF#m>B7ni6WM* z_{-0|0Q!3P#2h(mQ?2rq@#W~)$3b6jlixoyy7U!(su@d2VoofIZEgl~^)x3F7cs%i z4Cd!w9irv|Z{wbJVs-l}w`btp!GSVI5Wm*%{C!PX{(-#aa0%Se$1g)sXX8m<^WGX&p#j(d!8<(0G@Vk_AVz7=os=+=} zHH7wxm`htYFoy1g3c4>j3;j(Iov%>*oWe``0$=R;}PW+m=k0Z6onEz08^&<>B_&P%kSq5PP(4_YuTd)n8zYPvp+wogig zqO6LL1tH2W&l^0O&8g3Bgs3$sh{TP0d2psU~=U4=ye+!eRG`nmQpjazQHjq-6? za+=*~K?~B=DTX-AG~+^ne@72-YiSPTC1C9%*P_=1-_q(nDew9I?b3Q_aV5@om4c$i zr=t_n19jJs3N4<)^I-Pu5M1K{dMcAsD!6iwY?~&Pl^Zf= zDdOH>W$H0gOG_*VEj4rC#D(BUO>vtd;>L}LI6y(*!~6UF175%0uls&Juj}z>o7lo} z@WIRSn-y|vf;_c&%zBgw(QWyGiSIe{4_16ga6~iIbZxr`ewz*ssGVyIaXBKQeVK1esGR?_nHY?qt z)7VyPKtxoh&^&!<1i&LaE`$ZHZk)?0r~k+eM&yO>{TJ5G9!$2Qq==cAr;&+B2<>Bz znhO>+1u0MiI!gEy6l)R8(}^3j3Ul%iI~~7^n!Uo ze1<=`_T`9sZ69%JQ+Q#pKVbu87I;ES28?UyHUGm9S0c%)1%UUQND4sZ;myuaMM92tl zS385?yo1`+@WZ!Nd^T~80f>Mnq{q`C!MOWyWg8<$^K9pZS8toE@u6qsV4*Qpj$dV? zOq&=y;+nxgDNc60laC+rzHIiaAw!ecjuR<8`s_pemzJV}y*xq=JSz%vfgSbu~ zzcsqavK`1(Q{LrDhN>koVLWg>&(h8*)ohgkRG!3xY9Vd)VLZ9!Iw|1qU+$hr+W(K$ zJJ|Ft293&`DNK5GBUqR!qg`k6nuLExj8HrJzBlZmsg=}9WBC1SWa4vbw&vv%YKOWQ z-99IFWo{q+Co^Du?(=IEu_Ikwo$^uf?_PdBb%4Wkk7r&^Q#tRyzvJZeRl{4SF3bM@ zT`BTdCnLc7>U6mo;#y%`_u-SCpHH5u^;wr2+UcL{JfWia=iOy}aRp6>{px!Ue~)yG zMy7WwM4!6t|1~$@~zUU$k3{MPp7l=KSyciqeTq@K@g1SZg6FTm^ zex56ST$Z$M@Sn>5KRjcLmiFF6eUO{I7vuXE)ruElRapAB-ZwS#z1qt@@TSYso8#*S zwHBUl^SU@E?bE)~n5+9r50q_;cLw(>;whnLY}+~_pEU*%GJN*lMYz|gfeOLTpXS6O zhs6PFqhgx*+mjXaDJ+6@>;&OPMa7NJkDWXX)X$BmQA~&aRQ<3qDtr+s{8TN(q`696 zJE9C+)jhgs*!f%h^nym7H0R({ZgvKs8fKGUsbrs@_38<)obYS%vN`t zA2#xod+P5KVS)Nmv)xjA*W0HqY|s7U6C80-e{wdL`o;!pLav%v|25DVRNWVC{H{Ed zU@$h)V83`8?dVl3)lbqbksMnyJbbcFUwM@_?V9eMOc6dvXRq&Di*juZS?wJpnB+HaufCixz`mct!{z3N*Qb9I8ZLU}!G4Id3mJu7e+MF&-}8)i9Y_B)A?&n)__t*0pz^y7r1vtgpC~l` zDbyS$kDrc8wzCIC?{PPd#eXv^)thOHnI`x?qV=!IIQ*lQ;%tnqbDx{FTMiZ4I~M?k zgy4lseL6O<&7f)hMj-lta8kePjJPoMtPjX-zJx%0LP7a0eb3U5h$CE$dn$>KAlRw( zlZ1`$FyWsdayMl*taA{c{8YHh_2_WJts}@2V6%>`I)7MJ5yX|Q_^bBQjq2@qZrYs= zpi=7|_f!moZMPPV#%9Ku3xV#O$lKf3odZJzpG?)YsOzxs2+5s07ueg@1@i?Hfe_5fxLV z)J2GtmN{^2Oy+LAP4GZEQoa%rQ>FzI-<&Ui=r(${R1z`oOLNSHwNrN=Mg7QqQ^L?+_lH*8a1N?STR9-DZzm0ufC2;+6wW zvONr=mR)8xxBET_iu&5QCPhexQcQW{%}2sfMgGdLRl86-iC?o-Pd3Z!l~Fuhgq*IJ z=ubg>MueaLb6hv$AFZjT8;mryQ0+g*4@0Ur-*xa|yM-+-_7_}aFmwj)Ie#>1_Teka zKWzC`f0xm<}YzOdu0#Xv2 z@PTxRw3b_%BJjCC%n@ROMOG3aCDob0z6coBp;dZN&)b@B)SyRBn6z7&8TYE$_$!zP znWHB3v*VMoC<%KPmP)qoFNn~*-l4?U!Ao&f7GhjC>(wnSe_0i~MM7WcVVMd(mM8&_ zAYe}sdfyE-W~;Y3+H4~}{P0r;R!H*lTSF27Bz?A^Kio=l1`)wb6{Ep??RwTAwJ)i=4g< zLQ;SNXni!7B#jRhX`Pim_vjYzb5KQf*KBG9z9;>Z0M$pXQBEqL*@e1Psg zF*yDd!1&!sbobn^)8Qj`R*gO!@zMVfp312Hd+GTAd}5zocIxvIgMJhUqD)Y z$auQ*($aS$fbKuGBbRpEkrceMO=1A;kS}1hne7E;o`xkHX?8gdwM#vnNDu-z81wZ?gXOGJYWU4JPBGUh_LX zq;+HI`SzggO5~s<(3E_XA6&5y`s^k#sRbTh3zgG>D*U#`o^~G9BcIYnrtV*?i||vV zi&I9ly$}@wkMWbL7xPKi#Z(8XOunrw5S^ zdgG{oy5oiyev3suZ47YXe%R<_O{J@|pK=@}#}fi#$iA(PXbJ~w9$!S&Go-yfEJrf( z5V#4YHDjI~PxBKPT8})sf)A*IA*bOiv*;h@APMnr`ma{tM14S7P+t`iu#h6Z7rlViZVd5S4D9*2fN%eGrpLE|JQ+7jW@3WIhd6Q>e_`7LJe<6}Y=Z z)f1AfcG;NnJ0unr|Ev-i(fFi+*gHTHM#y^&$f2juz3|&fU{YR(2k~|~QO}Ou1;C_p z8%#>AYhsXucD*}4ee5F0dHglb-)uE0;a)T>KpooMC*z#w;<50O;3kv1k-vegu0aNSeM}YPL*Gf@UO-d2j9w7N!hDz$n9L zXFAY0qIr1t0`(!Q-`0J|N3*HJNEzXPSrISNuig)Gy6M7dZ;v@H!v5F`_6+UW>^x!V zqGHdKZzDhNYzcntexf~ZaxUvyMdx7v_HMa~>5uWpP6Hgd`d=FzgsFLL?z z@uket9s180aw%Ak`ue0iMc1Z9)%uj-3%|X^=O39L?Sjv8bBjI~q@!|v*P4aLt*=Zg zJW`Dv%G+JM`mgVi)lL;kuz2QGP(cU$)8|R+ zt@!VUS8dMx2XN4u=o|ngqCwT0TsC@h&Q_fzpgtB|Us0jsb}D?^nF76MjuwT$vN>@8@_5b5Yas zkjvxGjo{ZhiuvN~Z;YRti4*GFY4LNqh28sGv!5^f?ov$oF4MNCZYMzHKZ1qj zqJ0Vgv3rXBFPs4P{@es>$h76vKaTaOErM@(L~J0AC;lr`TH{ZZG(`M`486NWvAa7G zf%~gY^>2A-%u&>`sFKZJn-?5HM@d(*m}QMWbKQKNoqJ{uOD$$EAwB-irQjc^9tt*n zaWUuUHyO>GYjfAmj78mdcPJa*v*b@~(ht3E8rq2ItddqA0}Cd0#9?L(YRq=ixgip| z>y1ZS=n2PG8SvRUK@t=vi1Qk=V2oVCDE_)aQMws96S#~H8PlwC-n$6H!`kDrzRb(%0+zN_2mpR8XkC# zkLc>ffN&ED7`1OFc7_vi9?jZr+#qt{tUGR;!O=oHE6Zm=s+0aOzJJ4S&u_9C3IL~W zw9cA|`)oI9-d_=4G1j;_|1g4zH4RmcXp6y=DuG6Pp*&!i;v+;%WY9e^9Yw#t zbG5o{wlJml)d_8V6;aDiW_*o@s2*TwK;rV<9iW+Jd!9L{b^^mK#*tG_$_(Y3&<$Ww zGyHlW`lrmaqv^W6od6$J{l!n(zzTzcR4L~U>pAk-F2?>d&7+vi(fLoxf~_GizzoIP z3Xjj*@PIfcDT5T2%`nw3yB@e+bT%JM_i<*kzj`c3cNPfGb_Cgi`h<_$nz>mKFfc8g zU)!V1dVDDSigV~OIVkr97+W7{7ju`endH_yKyV`D?Ksy*X|U>T5Z8I*T^?=_9NhXT z=#u76+FGM7xl&6Xi&~!x(BcqN6c* zA}F^dbbE&RlL&HI`m|eM<^s&J&XQ3du3=I5z=#rviveUET5pSvOtwQKU1ZkO9`Pc7 z9gbso2po#QwT;a2c__h@w`B-QAtDQu7o z4o|Ahiw6WIV07fxc)esldx%JmU%7(tMV~<&3B}-#ybjc zRO|)o9wz51S&CS#J6<7j$P4Ch!q@`e|7@KXDGCcGdhAHrHXMHWttF*j* z5Li+)0)ME~Gu1B0ctONJ!jFwaT|jjQW7aA*Suf)A0__ZNQqB5NV6IY64*dCE8HR}4 zY#G+A-D}U&X=*d;+)2q+*YfXF!Yu?VPae3|B4&B|&DEBH<7OEq+BwsI^p|>fVotqr=BRB0_Z-J!`1q_ zYVGx~+J2A8{cUgfxOKp-Dd+L@KYt1o!(ES#{-{aS?>=2?u&!&JAIsHEHma+!aA9^j zRE2EZHt#Qdp$8}!wFqmTY#Fh=f0Ph0d+nlHfk$$xG}c=jf0}r(Ddlj%eUGw%22RDX zIvam~sKKcdV@9Gd)*D;Yv-gDwl1wFg0=~y)vp@y7_3AGLjm@4L`wd_Zt{0yO9C=BdSHMOM`iD)F+&rCKi=-=e;iWpIWoz?X%FesCi`qU-x} z<)|l>wa3HmTv5~2M24kWo zx@~{6Wg*MKM)7-$Sbo#fEJv40YbVw!=rf6giNWVIn9~&NPu43UC0Yc0o5_S+l#uzB+I>)0UGnQF2esaPLGl+6nPztU(EfT|a zGrW}g1x;;g5d)%5dn;Fi@C>}#P#b&0Z~?ve?{-Z)DG;KtrgaBI#Dw4gXGE-)tuS_HKcg{IgzS1d(VU&wD& zv(bH1{i3SD`+9k|GplAR2%VDn6RJe0@3u#Tl3&c)as7-Qrh-N(BM1dOQqh~;ATpFh z7<18lFlm)49@-kYd?SKxR$8xddaP7n3D)7=+_b?&TvpnM7ptSMqr)9-@;f%CNctY}7DY*sg)cWXrNGRiPUWl>N%x zv33+;ST!S%OhT=a7Q&B0NlFmivfK}z7(MiAIZTT#Eb}_|IB~zCOorB4@`7t$(_A*T ze$vW+vUiGv;S0?h(d4q0kzKBpU&PvODE(jvl%6cbHugl!c<7rTNdS3TLn%o?Ju3ej zGf>fwyrbJuw_Xm*59bvJx?~?+ye^$epK9wMq5K{QRns$Jh3I`FgY~=<1w_^(R#FX< zFb1s+dfkzxj3wiwIQdtycE3_1ebO~yMocZ+Y{kEz7t>Z#A*U$lH2|KpJ^F&gN2Kn*f!2Wo1Z3cO#FY)Tgi}uZh zR=!zO!7;GUpz=J;BB!$}CSQ_TqVyH)8R zH)~{`bFdY1THiO;Be4Ee-ZDGwy(*EraP16abNP~0AKFrdY=HChJM1Q)6L>XKv;$>~ zUH4D6aU=RHcMsjs+ND2_&yoY;hB_X3vBSpx0eHOg-aQwSltQmWtek)LQryyaRCo0l z+~BOM53dhcfw`o}Itl@5c?DZ6%1tHek3@0Zk9Qe#`mQ&N&AG1!9+&3QRS5K~?^-N% zoSl;)eybS&T^BbuftSy|&2B#gI$iAh?dCR#p2`($7?^zH%rYTvgq4!;#>U9sxwg`V z%gWq|hzlNc%l4dXYAnFEQhdl^?y1p@uP}DhtphaVNp5H*IlX*254?DVR8XJ-DDBqs z51hy~-mjQxHzLFOxz+IG2eH)Xk>LEbmzk4q;zxZ;8*Gi%%=cUmc0RmRyzfnV$lv!{ zCBLwX71WX2nQ?6ZC)r$6g@9w>Dfg-d!#6YL6x&x{{>V}KbpRl~ZieIyZTH%FFCKLl zt2B5i|CiWe=&R}fHtn@|pDW`I8X1JghuWw+L{&Iz+%G)NCtTN@*;tJWx%1LDW4{I+ zP&3o6iqq17&(}$3)*ovQ?>`*gV@??vbA9Z8_u7=r+j8k8_dJ`goGYg86XE1|CxFl< ztxGsA;zGhq=tOUy&%aRRcJ}652a{;}<=?ucikE)toGvrRw#qpF{^*e)W!WxS`zh0% zQ!53~pb&-&^fGmN*Ih+P0+D}#`lgns4Ue8s?04? zGOKJ?i~5aUcZ8_V$rc)9rDVixjbZy)WZoY$qk|PGwNgYyw@){=+$I7{H-E8t-3UWq z`RS5qz3I^V>ags~RITQBTGn2^pSWd85M&>=SNA(~Gf@ka4J6ER+ezW0lLTM4r|_Ih zz3Y|h4hs|+O*^<111*wD`3U#}FO+JS6Q(K~oXz&fddL_*cA{RhO5IGn@yF+ll=B-4 zCwEc+IHZf;7FrojaQ|v@L-J_Hr3|K)MjcdET+E=MM-)nVk3pH(d%n3k&qym7%Mq^` z$%D6ZRlcQ^tFwn=i-IMiP7>G$AkhLL!q$9<$VBiwx666*s7da-?i&8Q%-e>d zDIdS7z!|NtkDX>b5)J6ZY=}BhZcLwuErR(`|#I058{Jo^KPo;BtfvRA}6D@h0K`3 zqjeZ%^4?0!?%u3x#NCOD=G;9G(#5EeIxq~Vv@^ElZ;qOjjj2(aXiRW5U&Kx+;p1qe z$d=c_n|eIcvKQ*+k{3Eswz((Y5y+%dOvTisBm`|l@zTLf>FB%y*SJ2A5}WfW$hKe; zSXv|wp^SH6giR#$F$s!?05nz=?lSCuYHgzzx&6B1XJ2$v9PgZs8l|ZC)@4^v`m58& zO>Q}!A;(IW-8$rEI+FNcPcEV_BILBf=6e_TCL)U|*e38v4F7WE)j_d6kCF~}7qh5l z9li=G^TXfSJMSm4aQ-J#{`T?U&#Cjdrg@0U_)Z-T3vzAu`UJ;r6H_0uY_p9ExL54}yt3<@D=}~*D3|Vtl<4_n&4t`^^^OtDq z%ucX!qbk|Q4U|YF5%}Be^g`7d6&Z)z)vJ$g=~?u)M{VtkOt*UBE5SOSx$1^^{D!A= zI%D;c{Vn{HK94vRtF03sRmpjw(;I-_8koC^IWb(y6q1n8`v$mVY?=F89aB?T%Iq3$ zeqORPxzT>L4@NC^YqA6teJA>ce6Q(Vl#uV=wSVmIHCo=}pb zb(FYSOG;bJGdJeI#Rh~|rm(cpB{zTd-2l#OaNywV^g8V{bPJ}wu;C&Vvn>q3qG%`1 zp#5wQ+L!y|LXQ7kaRqjL!~LKvj(qgRBi!Ak&p#9fRocR-$^cmYlUFQC)_?!n>lp3o zdI#<6G?3USO#P=RT5R2%x0QhTx8eQw_IAl*lXpqH7TeYv0!eiZ&FJhhuVyX2Z?Vnu zdw(majd4QW9`GM$yLU#Hm6tz{s$eB`3^~5(J z4l85VA)Ky8w3MlTh0XR?lYpSMje{KLEjvYN>6a-PPubYyDU6SWz)UYBD zcQQi?9B7iag$C9;gC91 z{-%;{L`vE3?PlaOsjic^Ohi6dEPWC=N)qu|j+t>HS2dRRX2is`@}L2Cd9gDXXWaUB z__m$-3hib^M;Pp{`2zHsbdRq-P}W-6+g5JRJrz<$@XxoAu{(+h&?o`bHSG8~KJ?VE zEs5DikmdW}Niu@To0stZ}jiUI@h!|cZ`uH+!gRJdha3@P`#CbV7ux+y?2?%P$tw#(<)9!)Gn9d0z@?{Cfypd5^oY`Eshl zZcjsB=s8+L-|muO?{3)cmF}HH4YJyZENHGvq(hc-xLN1Jj%NsxP7Y?5nO9kA>lE6V zMKIsR(C`6p=DS|znk5?>hl z6;1mX1N9GApMHK21>PDL%(Bl%$!Opa4U5^MfqFrxtt!*FQZ@gtQW)vYqEc8>LWADb}qo1g$I;9hk*#|18iU?-m!#~{4dLQk1N^3R4nGGPY?S;RE0uQy54ZV^Q z5g&>IJU}8j_ESspSoZ==jR^SEkg2k~|E~3xyu$O-(%Y|R??plo;Hc0c@t{?K65yL3>RQ2|u=_rVbM=Ary~ z_JJp9glUa7%>e<&A&unQYBqEy(BSRUXzj#T$Yf2rm(?vBR_+2}kFxA<)wE^#5#fG_v9K4X-dpzG~H{hu5V3@yeVzdhfXLIW=*_ zl~;ZvWgqR&R1fjK9|*k`)$5txkzgo!1Xp(0M9s4{?p^s~M{dB&_o6HHU}k>3$P={` zeMBR9^-fdu3n|aq58ct+w(_M1d8_%S)@Qr@ujKDPSaQY7i1Im%I?`fgd|=Xlzxa_> z_*`%2AxTZcL<#2r{z6`dR&sNrMU==@V&Ob`iu5%hT{>rHmK86h*bo61OCBHT{Cuv7 zAz?iob^c0!Zh3dCkx_d|?gzqeEd8o>e=iMkq5q9nK8zMp z;R%Q!gKda`kDqZINm(bvQs!$S9?K$Lro|2zd5C?nX(=3cCCCm{6|WA<*pFn7dPXM~ zM7SIE*964*-7zRiK`}lY1K)=g^=r`z(IHpne7xb2VOKmOBed(wqc=R#N31thNttGn z|GY_>AFirX^@<}IHR+&PPX&vQd+HArV>++U5Ac6sk4LR&Nfg1X^v^#Fd%H`t`xJ_j z2sD|CT0nGESW_~Bw!)|?sV?Szbu&o7x=Xiai9-7ODHgyF9_du7>4vFV@|&AhU#Fh4kDF_QF)JxCt> zETkCKyKI$cP;=86;$ZF)g1XoVAo0$?^rzx;_I5A~tXIXTLI8uZ3 z=nOeBZZP<7sTZ)y*&QOD9O~w)EM|@yJ z4wfS_pMvxW=`?zfms@VidAl)8d$;u7rYpxkEbQB22Wy$}!^X5XRzr zj-}Iw;|ja zaksR#lm`j@9Qja5IC~-ue*nYASuN!|xZrOvb*m2@r4i9zNpaF4%fcl>jd=-jtfL>( zfs6L$mJ4>id&M`?I-CmDpPKQ$b(rC_|2AF`IrAf|^GgSCExwX3_-QM5(dD8t3hLk* z13#>S`VRT@(9M~9(wK&L&ISOa zDDE_aF6K0rjWj)59L#1_EM*|eJ!0T51V}#o#b0d!k?(8m7-RwRh}?j zM41FysJ5D_#J#$<_1~V%PBJvp&)A|UC}1nF{;KxH$XP@e(Q9}l3$*?Oy~g1C;9CS= zc7^c0x|#k1Y2@E9^7= zr*&!H-{CkWLq#uh?aq$;^TGCRwKolm#r`XQq0;~UoYOIz%hYsUXhyRCoO~4{dQ%t< zy$e@qm1=*fx+P^Jc~C4|JP%~<~w6QcB`}>!zw28MyD-j^d)=P zGa@FJq)dDBV&1qaHHQ(sq(yW3|MbkvCT6=}41&s)UNUIz<>G>a=}qv)FPQ~ZGx*)# z)w>&k&wpo%*lZqX)N+=P1$Eq+@H;_)+@Cs}6kiA6{aK(>)5YlB#ljKp?T{kYXM7V` zaOeBhR}Srg7BOYnYs?{K6_@qgK`xTX`*f(GxBBrT!*Z7ry0$=md|y_;wW&K%#6KPh zikil9l8z1L#L58w!OUIGkxU7K$L@w5mVT$~?0=Z?lez6uDWcE5&C~!MB%4~Fqy1|V z_;%iRuW0nfSi3`qb8%(HF4W{yo#H;yNWc_kWp87isC+)kCA#PiZtFAi?>6m8*{^(@ z+k;Zzjw4A=e6rXeqE8cd>g=;9P=tTW^8B||D5Um%F4is|9r9DyshIWwMc2f%+I_s4 zAr7Tg{ozNLq~6PNtaW;GlipT@^S)-R+ynb$JQ7XTY=xjn1_WK8HHcj5QV=txWA;a@ z?`SN{p8nRY8LUnAq0Ygn@SUz$n(f#}8_*um3^D7%)pJ4gxe?lVk)vmF>rzu927csW zD?&hyG8y9S5QPp}7%jBeXH~q{ss_{mt$zp~7ZiahbHp1^GYr)^bUED`zy7pgc7TJP zu4~6}sO)(Vg>>l=4T`PrE9Fy2c~&VFr5u@w+fzmMxwk18WnV|;I{Sa!M4YY}$c(T= zIZzMYs`cLqW~9A?G`v?D`IZC%L0nj@XPXrWnKvjCXa4Hf*5TCo>b{s1AOuHf*HT2U zI3w^|y`0E_0Yv}W$qpeDrBa;T6~x_rM-Nn7Fr!SCIYFZPra%;DS)|HUw0CedA-H8~ zp4*nN;YVl;^@yy2%=qBK+T`-c1*4yNg6zP~=iKQA<`%J+^>Mx_#P|{2e`eiuRrKC_3WAo`Ip0x&m?F6c!RcF-guaui}dv0M-2du{g`=!Q;1mi;?t36nxh+E^+!MU*i(x5W(m3AEy$ouS2vtQRX4ybSm%PcmCh zNPlj?^EOZ)a0eXa2^*!GY{vO0dgS2?R+rD*Ym368eeXUcH>Pgc*h^Q~%XEZqWTD|7mt;pIvi{Ct(`F+2jSUxfXHK6-d;#1 zdeDGbyL8IpwK0@=iR2c98(|tIK+z+szXYSdZUbGSlf&BDV5CM}cX31Nc6NF-BK<(( zRKuj^)pF~NXM_J^|MK`<4?xywsq<9dD8;|U!Wp7j^H4SF)GUK+eBO(Hjmb~h|uy9D+h z_saPi`Pp8HPf4ee2~ZQv6$<<`v98yBkfWf(IJqqDo4Q@(*81}ivF&~VV_G9iysV3!S zQlObPQ)q9`g+cCnLc)bJ1nHfX=n!m14Q*^qdrz*J+S))hyr=Zm z*paMff^*}^Uap|Y)0;#Tr~s{f$Gn+6E2US_2doPctYLJoij}}+R!MA8pNS-o2^> z4gK9WMj`^YkO8l5L6IWq#o zs;7m%Co)i{fB116n0YCS$Ksf2cQD5uj@(J;ni~##Dk}BGhZjhHPIsHZ`PK!53Qrw+ z_@n5ba64tc#Y>eR+8sxd23ad?X~n$dHnDbO=O|HWCxQgMy*czY4brl6t`v4yPf0{urL<-+lMaG1B`i=)6gEhJX6z}>QX@o z$-`ojf4;%OF%JjVzS7Q%VZg@cAwUI3!^-H){9KZA zZOkXe2`Hy-CW8W z-U#MMRs6xW0oX-SY1lS*+ck=)z=-mNg{-IlD3@40Pw(Q7Or|gV*kN zA=7te?(Z#oCAt=w+auWxQwXq<YXPxv-<|I8iNKpov8=jp^x7?9Ae(9)eG-i>LMc$U+*Y3hy^!cn1X>Ssjj$cW>I3tCm8&lJT5bOLY{!ED5*)8TJNv3e^1 zm4gjr--0O@!W%eN@6SrPx?KjjD@L<_;+BW}WwWiY6^OIJ z@mWz%C~0RRJ}6-&cK(wX4T~*}{Xoh~)6|!@@ydD7iGMEj;ztQv>AFV`=W)zdMZgC* zF^*ab4tU9^oAgO;7H-)v%aQOTe6hezdBO_hw@pa~l{KqnhhBej7AYlb=__xIbkPE6 z8+9_AW-k*@a;(mN1jo3er4XUoDjNod&Xncs`LRx?&FeeP$0aRmKV@Uq#@wRT?{Ohl zR{T{y`mzgdPWw6$rWD)|z!!mLhqBsb8&U;lH58XJF_7Bje7&l%QG@pfllNFx zQULR%3AQ3O@Drc-$h>nlQ#b0wL#M@IM#$K#gNA#oWtS~iFE6vRtuDpSAvR~fqvZ~? zx2~_hIiRD!v9hUSe3s%Lzq~&ygw*^hAYRJgkXN~5U&Do!SF$US)~!#uajPFw`v*7< za^<-p%n|V?86rbOZ3&ZjqW1NPgUcfdF~)^y*b%Cc7a%=!)x~L2b||FG%BA)P(BdZ8 zKl1prFkoV0f#n4?-B5lrH1y}~8H)ednE9^0oBq?%{a+$hF1H>o9gQ@;4;a5o;`bQc z{F)!z=5yRL^Nu-Xkn@KK(FypBv08)4_*%WqQJW!Zj^?gspNp1APj6=4tI{%6ck^R( zo;F||s6+9`z-Ps5yl-@@fZy27kFImFe1hM{aQz7ZqC7nVebeT??SU9}km$>`DQRU6 zqwpQ}+;C&N{YcJi@Qi1@e1>Wi*@h&xuOQ?F|A-929&H6B(HSQJZMva#;SSK-${Ov3 z!MZjJt!+~5p=5=vT4`L1*LY8i`8St{hL?CJ^Pd8G0;4O%wF)?zTEw= zu}tGYFG`Ukb#m|BFWri@;ZuVDGD>X6wt@zJ;HM)WDLGSJww;YmPB z8u{_^V2mP|M~`M>*YzyoBPb85S)1HZb_axU5^QrTQn$bTY1ldv1OGJA=Ta{WdH4X0 zxnB<>aH|sl^1txzAuDs_uS#&V?}b#z#+(*Zk9iYYj&Kf{@S>u?29A?JbIa31-ENJm zS9ZNK#ocC#Q!5#bvoDHp!FwKA5hJvAG4p4(cmwA6))l)WwCenk0Bb<_$jo#Cvq2vR!8GuXu)>1`X zT&oWlQ!fKVcgwmB^`U*TLtrv*2vdFehch}Xh-mMYjrzT}oqI-9I; zECceD*IW=T+eW>DBFV-%@k~rT#;}Fx=>Y8Js`)KV+7Uw-6?N$8C~{&;VDi0~CRNQu z$^SQy1sJbRvg&X*eslimJgri=Uhs&e`EffQ^Zr@-NxPhp?RO#}qrD!K;S$pl^}ti^EPqejX<2vNHSJMhJuSA$q) zHKgThAW6P|g=ps)$l~;?n)6O?VpQ(QF02S>`V}{?45nq>I%pxO*PeFC@`!uPtD*92 zl}aJune$mP%GK)DxaAY%hi@LGT*m52aNp<6VBb*hsn`!Kykx_uw!=w6i}Y&VE@mmabkwS1L6 zPP~b%$U^Z+dU8roX|EkH^LO#Gg);J6Z>oPq_X&M!trXR*2ym0SI2Y6zy)I{etKv$6 zAu~WPEK+B8+>2zoCt|3`7|2Pk_ELGaTlRkVDg)P1R}QF*qOZ+Gl?7Iu3a9JSK3lne z2L;14d&2@+NGm~Ua`p8p8sXJZxLFdwDa{*ew6y3CHRhD#8RY4YlJCAfXt-VHizkA( zATdC&?(@y>tTDyyqA6LN!W>FdM~RAQ`o&tjQ%qzUYCUI3%4<|y@uz4SQf7C=cjP}0mk#7x z`bhY`P32oPAAak8$%zqtamu5n%Z}<7A+rr=~c^05D*Qx@L`pvSpQX$Ff9VoDA)laDSr24oH;3;E1}0d#-v~A->O1??Ni&| zU{Nl3I6Gt@p+ms5MGnO-j)()SAo~*|4#M7g1xwn)z(-LCz>YzAx!zPg+~IQXQR#5p ztQ^Ib>fYdszRR7K){QbM0DE4O1R;$glK9J{z=+QG=^No|-?v6|l={2M)9FQ2gQ3X{ z7k+@0V&k;i=?VhwiS%a9Y;D_KH8@`hN4s*({z(i5PRpR}jPZN4a&}+##fH&|JSg)7?#K9hu~O1#+Xi{I zc4+6Jo|W5JEn^J5;`g+pG6~)^{KOCw-C(a=7(;HvBwp%PV8e_YZWa|p_ZJQxQcKFd^S{`2kV^-?iouRa*)wpDI3DjhPK<-b_>Lc$s|Fs1HeQ zP4dD9EJ(L)x*@Yp$q;-&&yzxPzzPH_c39tLuS^aQeUDu0O9}Zuj?Vp&>HhuWNhLW| z$|0u?4&6D-`IzZ&caTsihp^E|VmY6Uq;xwMW#lj_R1R}Kjm>#6S`5Q5%xPxMJ22zB z&-X8Q|MtGF*L7Xb#{-edz32*qc(8!aI%u&lW3YBNqX;Q#A`&zlJHsmQUA8FhV*^3DsvXEdD3t~dWg z-Cz9yAW;*&khO3pY}J2^*<0q`5#68c{3<;N3G#-dP*2mJ)JBhPO*ikvY!VURRw!=q;YWRu%tiYqcX3jHaBc z)(-4B$}&z}7z;|JZFrcUviM?O)wOE*YD8h<;(FTens8M`kCiOe@sLMDbE$6ur&)a+ ziEDocIjUauM+%kFE21rDkM+Ec^~Q1*gdFs&CKFwU)qAVErz{v|6OT*`DQu-K-g8JR@n3KTBt3!vYaM=C2Bz zp8ZhP`!qF6<+E$B-F?~Hhz6~$Ew>*ELRBO;T;MwKf@txnQ=uHOTRF$fi?98=% zOT{y9OZ%>5380b=UKfki`yCvsix;#^Xi5p)j;l)d(Agb22PPpXW;Lk&?v=`^LuH|Vl!C{4SS&0j)>A*s}! z;N)WZN7ow~m1e)A!xoxEa!hw_ELhr%%RJxeOOc&&=_oruFWNkqc8_(SUFW|-`!*9| zLb}nh<}y{Y;zN4yVx`iXHDJb`Q?w3sG|XK(oE%=26Esl6;`DClD_DoC>oCXaj@Gdj(#0RFkY$}NNs7KMBW65_%%Gc6#_$8F*nm>kT>a!2 zZ2BX@@}>h5Qz*wU$lHLf%u2QH72>V_y|03`%kaA=nf|hajyv~$%wV9qr@V-tY&Y?6 z+!+dU&VC{N+LkF$80NWTuG=tfD`iz*Ca+ibEstL5NjH|mv&XyjR=;u2VxCMnUn!}( znR_OCKbgN_jXlY=^O&~b3K~ktQ-&I1{WKz-7r$0g7jET^=vXJi(|b&dU?_0xgK^$% zJp{njyH%-C8?~XsOUGiMDyAU6I_t{{SM2D;ksFZ(6`Xn`0Oc9IUL_JW zqBTh@DZ{S8D5S8VcQ>hiRF8Sru3guwF9Cot-IUs(+5tPW&xAxVcqDHq1=3ZQTP_i@ z-e{WpQ*n0WGcNBFvzvR4_0@sC)K&e*!J-5Q%+?27y+?tsWFIi43%iDW80D1_)Ccx2 zeKZ;`lQkSFrko3PcLy5wEvZjqpzxjj1n#eZ&!5|$az?`}us^OkHxLh`^(nA1C0rgy z$Ju#p(})3uJ2`1)%iBe_Sfi{fe_)%p5xZrMjlMtC)n)74MsisGSd?;w8R zZTr-y`My9}12kaZKlDpU@NV>s@9;nL0?w^exG81@!B|i#1~dZ{M$mxVGJH_4sea*>E{Z2%^R9TSeGj#^AQNaG6kQA7{J*e*Y7| z4n|r=iXnU_|2O^dL|~@ZtIKEDMl`K%dSNWwG5}@Q#~i$g-w4N`bI`(YSB!U0y$>tA zy~LU(M7Cl!u9P2q@RTko7qd;PWsY^T_21Mhj0D;4u1B3F$`g?OmwGxOU!oVriW_%_ z>-_$xkQ|zLnk*=KL}ctg^6g#yZle}A!6T&5Vl>g){Jet++JQn1w}mRK2d@5EE2o2- zyk)&1k!xRP7=0`gg%FMf8n6RMp0wVXY4{yj?yL$n#WJOwBFx&tZ&XfYG2y1Sn8k1l ziE$pND_%Y#&Z<;R5E372QKM+|PW+c`G{-Q#L<(144Dw00qm*$$?~KP535vhF^_nk!e5-oe|MvSfD!;^Z%t7SC zh^qY-v51X7+VNBVFC}^6un!SK3|>ZVkfnz#IjC^TfWyJ-p*(XpXDJmR9k!!vh8f9e z<~21!Dwt;U$*^$)!FHNgc&jQPAh-_B<6ICNyV21 ztMvl0b%zaeWxMs!cU8y2)kQONoE|zKdH#l?TA}XK@{@PIuI~07VsrmaN08<02SFk$ z$XX#_{rWW@`vGYJTsVT};d%q3*{W8jjF0318Ra7qms2dhPvUScryW%Z( zmq`}`-%1o7e--xV`ss4_x!H%}!>xR<;saH`)1ck@Fb|G9_ZwKbKBv3ObW6}_z--+Y zwtSJbXHgLR)|jb2B7^giG;Z$k$y^ce#zKj#2^B?cszF&kciC5)0;n4ERnIhhpb=df z(Mnj%xQRo$cj=$YLy=Wm3l(s8=3BKP#*J1x&m)L$(J40(&Qcpah=sGEPcys`$XnJl z=R`>SxH{+T0i+xFy}9n{my9~kyp@4&ZiYu(ab#VxL#2r3q%@v84v&Gj&!m}}sXC(! zU7OAn_uf@z!LQ8KQLTuAVWyhV3{4vU5dHAg4=4a9jN2c95lsV^^SNOL#mt?noYI%eFjlZ*%ZgkEnzS8O7c* z*GR;_16x0;*Dwn9_jcv^VzGsi&gDiV#dzkK+Vze!5ZHNDa;@Ey^c+kCh7Lj$j07NBs+L? z4-WO#zD)|t@p(^%B|ns*GD_ipg8F*P5m};6*}Q`!WKI@deIc9jdv>f+#Ak7{3uB1F zkI$7zy>ct7ngxO>C}cZWX6BicYVo`!@r?#&GPuQO&pt%QyU>q{whr5wErI4x9Zml7 zVCg5B8`OW`Wus3o78h55s4bUvJzBmnsAu&P8+~$*$P?h-E1^=^ArW!-z%&AWfR1on ztQx3&hj2UNxbak{Ywc#oKw$PVXC=Jn1j$=rRgvEt_P*uKMofBJMr%85r`)c^*)Rjy z{gYPAwOLh?l*6%5NZ*0R2zymV_At*t)rH=BLuCAtX^9#$g7;c*lZi*5#jvGV+BmQ> zwL^6vgMIxlF*FwVRXk^~!`!TtqP1VHVq@`WhT$90?f5JcEJfpaA zWWuu}>WspQs5zW)b9*F0J30NY+-csb%87jR032YL>bKK8()jEqE|AMh6*xIsc?rdQ z_Ae7T=MmUxe$9mMWmUCeaSs9gQRwvXF|*ktwMrN1-;F?gOLiGN8aZK}+=dS~$|A92 z-HUDaix0LDXcgGT%LjWIF!6=~avnz!_gM*~e&LH-`OGzi-^(j|WbPyxR*VbmMeaKv zc-5zO-&N)b36xUWdC?@Dv=8(nk9_5>R-dxCAungXd+vVv4v+s3&5phK!_ZFzc$mEF zfZEYsuLpMqi>yw9d4PsRg1!XO$2h5L)9AS}=k76H8 z<>-BjxR?Tdc*Mo|(1JWvE%f~Dh&Ot|^{z#E)_fiII&H49#~u03Yfglu;$ml{bOk!$)fVe1>1B^3(a zd#bllMSu0aBbh4n;c^=Z@sdsF(sdog}{rw}q=w$aspa&fUEm8B1fn=WIo{+XoNF#C^W zlCxX=bZfYbThTNG=XqO4A-c`)DLoRF?78vJ&L5VB!$wQ5=USs7FxZqZrR|uhhCpgX z9l3-teK^lK$C@1uB5O)42$`8-mPU-v&~DQ$8SxRd4{LQ0bFG1xXYZ`D*+ZyEC*J8z z4=XVn_D2;o(>UXY$tY}h06N1stXnrbf_VKfS;+@}ztJgpa}dFN*z`piO5UN|%7(9? z`iHSkKzLveRS%AG;S8N_ zZKrKc7J5;ZXXiM?wcfYXLoLR5%{@6J*I9RWPN5Ik8_jt4C=30HTAT)Z! zGkCH;(^~h}9y=aV~}aZSj3v;nrfWUC{D7WY{u?&UtBZ@Q$vO=!6ON$wj?b z+i9T@N3!*632~F!JA;@%VM~(PjbbXkJDq2&_&2?#^UubgB^{a?Kdd6Qqxd;`0I}k5 zF!%3=p2^+GhA2I8G*n?Ke2$?7!gT)w=$OoAM~TRhYeiJK-(KyABwJ!fP=Td;+WmBu zHo`uk;u?M+*!&+0`_W_jX%BD5&RCI#oe%##&Ck42G3;!j68U807X-dCwBL$5kc>E% z_eucGu%Oclk;IAR#m;QW{aPwq1I%^6Ll-r^IMbOID*dbO9!^isWak@Lfi6CL5m}zg za6N&lR}^GkVwp}lAXY-s^WVs)H4NF!IEQ{tS^orEoy^Vyw8biB^k_sVmWqdyvtTDE zzvJ)HvL}uyNL1j{E}DB6v~Y?JeG`9TU1aeG8MHQ@2^U-S@jhk_viR}z5#e+SkMmZpVx2C? zIk6~^^u7e+hV7B%dEhSywCZ{bKStTh-esOsvpBuSKt^-9fyg$4hVBTfzAd1Y_5IRS zB$@g?$er?99A<^y-(Ne}kKhdai2fyy-a5PP1zoh}%})-sA&7zis+Z=6yLa-0B2Fky zh%D~-&P9;Fl~@luW^afbymGwPJYe`A;UDvEMFAHG=ZuBb)l2n)J0%K*98KjmgWUhFy^PP zSkMht_`M0aCm%P33a`eu3^YY2C*lp(%5;EQ<^ElIJ>&tVnttb%PD<%#&j;{S|^c zDhHJApv(7-GlGTN6;C_-vNkx7Eq2p{w6rPetHV zvR=V8NcA#S&)fiY=M)YqTbo-}YF&5#B@9;VRkR>e0noB+c?^YDkZp$nG1vrXM%aWQ ze)CD#<#NfDg;N+#a-S0vj8PXuA5h0Dq?9Qu`YDL=cO}cEly6MNJT8K;QY8q#54%#= z@@aGPTs5WM30;W?bAy~)wI6fV^fSoqdv7+XIFj;`a-hhWF!%gAW>vvE46`aQ%v4nk z1~UC+iCNHva+XOo&E8M2C>PXR1Ntjoqh-yw>sIw%#ed%p_8UPXuQ zn1g=t%O|4mgU6c`QaPK1iHI@(tuEawEh1iAcu+IjNq^-DYmprbpG5h-bSB^$hT&%= z4wxbH0mR&NbV5)E^aSl5B##+Uc6R8`6D-J(Ii)&v#k99NagoOvRZw1ZS-WSQ=giEn zVfc(h8hvVwI9_U5`DzSyl#m}j=ih_gAQ`Ce`}vRP|E|wMB~MO%D-*A_wMROCY>mRz09A87u(hF40DH4#QnOa-qDzVVYz zuMHd#9h0#qE5dvS@$1eJOIi_gM>Gk6;nyGa20nxFp|%c1j*6K7SQ;PilMn^rmbz;c zCJbtxa;TGNtcumOXX-o^kEyOYKze_Upn*7UJyFiBMIymuttN|^M(@dCJNH?JaD#c| z7X|x^WOgMnSR+2(O>v~jDCsTiLSUi|=JLAh)nDpWNF=6toopxrsj7R6REkh@s97D9)Rfo_Bnm1m8W2CWYceb~VCTn_dJ?k7P8jjhh264!$7 z=bW2caq2GC!0%X^9sg<|VhW5)shhf6I8}a1BgtF*`VuZXS#k7`!gbkg>2KNFhb>Pk zs#x&}MaD|x9J(zdBm~PU2A(=LUa=u$np1Y)G}JXbVpG?Z;i)N)&@wlClVPaubK}xY zRB*n4a81C)$6=9{CwHwIl)Zh$K*8GY|Eyb9{88*UhOL5*A^Ek{7Ea-1hxqO0Pu_Ho z{AVdCZ0cwvd$%V{T6CI61Fdcgc(7#ryJ>zPB_sT^jdkR-0lO^OuYxc5bV0gU8NUJ>|<>&c7z*>k14xH3LScwB$=rSS7C z&1j+eptZE&LB7VO&__})5hCfFDzzKfU2%>y0Z$nQIpLF3*)s51j|Q2Dzi22jv%f(S zNWkh(`mzG=vV4q*EZ9%Y62$$2O3x!h?mlS;JBZ`WT+4g2Oh*=15Z!r z)vF=z%cPo{Zv70*cjCfdp?&u9!#H~Vd(MdAa5&HjMie`1yBstzYs;Cgn>T@-vXR!< znygz*C$CABV>2_P2_!!uMnXNdvUFz*hc0*8s^9zzL5I%oN{W^5YdmcLknSzL`~ot5 z7!~!^0(aB^0}c3Pk#|5S;(~OW*LVH@&ZVzxhcVjdz_ALr#uk*jHkwg@(?EM~bs@SR ze6o0tyP4`E&y^iF7X3kf@zdMM_i>zQ5sBGI3!3t8^JCOM3;&GBO+34>oEr8RrZ4go z+Z;-@qJoWUVT^-2%)$x@BrOd0gzOuZlL*g4I2UToDA~ak^h|rrSe_1Qd+!GJ%eGbX z=y+cc3$<$ZMJ9D{_G>Z3X7=6qMM{fT$Af)T;8Y~FfpZ!5k^m(-HQjzKA2wMUPzawy zFND>`5=U2QM@u+brq1Pt^A<108e0oP0BFgPI`v7gF_i4qP+AP&1~g;2z3nA|lO3?X zQ{h1a-y(lpbqcJt0;4;jKfsNF&UkB5dCiLPP1mwAujpDoNmC66zpr07(fvH2QfL|D zj4j*Uk)jv;qP2veZ@su(Iy`>{0S&LZjzj!t7Ok9R)F#@3*6Q|T;-I?eZdG=Vpy?qj zd+Xzq34<^L}wWMTb)(A^Ei0%MC109g?`kWNvVJ;@MyQplH$o-# zsmj<}hWr}xf>0NR5*rP>!&ntJEfp#UlbC~R)`c_!$w)YK-G^d(5WLg0d60IBg_kNl zYYe>3GVdH^t*ZOIB@SEGjorDR;6k=wN*%CFf!3?$$L6f3li%Bh9-Ra6V`;pFuW#uG zCw`FPQ%kcj)0tZ(y?PkBcs^eQS|&m>bW%dfsLjK_Z?rjK5V_?TVKslFJLi-BwjHdW(V+P)+ui4jyVnoqQ8DTk?byC4sn%_!btzqOV_YS^=1 zIkktz`T6(9LzXoB8*Wq)_b!^>OHqo$k1Q`P>L1&r)h|ow`&$~i21GG^4wydCNU&GO z1$COo?(M-J12 z&ZDS2*KhmanlHD`rz5&DzWv=y_$npj`qX+BFb*$%cgaFo(Tg zaFODNMYayzd}b^qiTlJjVw{~JJGS`tbp25c#P%_(s3%Kjf5*HJ6EVwarq<~lUZ|F< zOjJn}EmxCSY7r?G`NVnQGV!nI7Rp})j1;^xUlHm5D0#jwdyg(I9iz}XEB>^UUvyVk zT>F`WI$#3L{gV23iaBbiW2K@!s_NFU$xKxHwEOn!t7}gs&S{R7v;Q>~__9#Vsd2hV zw%YF(da)v&G$9shGA8UWSx^5OCMc4RppBV1SFr&*k|(ye1{!KRKJ!f@&0<$aU+jJG z3s5MM31s}^KGK1RYC1Uj!1P8+?%fyQu`cLtmAZlaQYQZ;LO1&{_?%+XD{hNxt@UNR zh>7uo2=|F|7&doa@{h<5GKlItNhs@c9_}RpmhmS3~xb z#mGGc+E4C>`GY4-(-Aw5q9pTFC3rF)bsu$pyV4y&@X}o~$re&7&uoJ3cCI`CsKHxQ z(N2zly}qV3VDsg_ewGjd0dJQn)>rO-Mpu8};FBKg3PuiBC%Bs_2H(rZE<~iyd#kE< ze6k}a+d1Kzz~h?}Rh+NaE#`~&(4n`(sErVCsw>bb7=3lQ0shL_7c*DpYX|?h24B-6 zo76Y2{{XDpLj&3z^1%L)1B<*~Z_=1}BZ(wYZ{6&$To>L4!2M<(sUa+egXn z+2Fv-rW#REY5hWVBh@*NivX~uUL~=(Zwi_OdAe#%PeMhH3z3ETYQy&%oQGdOF>+6Ax~Ygal}IJooyj zMGB555O4lt`AndAKyz(j`y=#p`bw9lw4%v}p|+B?obB3uq}lV}mj4c8UPsdn;lYP(t{F|LoC91-KiVE5=$H6t%JZ?esuWN}E-%2ZtRRf?MgGI{IH{3QAL zn*L6h>IvFY=6gj~VSzO8G3>5D(I#rU%9~fqgB|2GP#aZ3?0jMXi=x%~p78#*wN;Ft zwj^V;lVu#nsnq~8fA}533m4PSzKtur2?tl_{Q%kiWe=H6lo8Pp@Y(0MRy|_q*q3qH z5u?!g^JLDtH<7@hlC0D&QWK6SSrH(n<3{`z!dX`L4KkK0zXPl?#slWiHUA>)qE!yJ z@na-TnP^GrcL#p9JG*IIyMJN(>rsj$D;OWaG!5+x4yTkE79`rBZo|)}S?C}0N!13l z>{IprN|Im4!V(y!P3;}S7x)BC9WO}ZeSZ90mA1w`r4EPN|Y89Xw5&3&$7V+%`V|INHiK+gZ$} z6NgRVvabl=aw}N>3m&kF!Tw8s=K=*ES~w{icmPFO=4vb!B|qNObSi=`=|;p=tLG%e zgC|YX2>MgcgspbpL@7SBCjb8DupKi~01mG8-alj(>=laFS67~Xk~0;cR5WUUd@KhG zb-xskU>jky2RS{%wY}HoCw4b1WPV(UJu479VJva7JXiCGFZuL;%*TR41(JQIF6*!4 zern^5khqs$S1(Nzr=qrs#+O5F-Ur)0PKnV4mfbPyg1-~av_9ztc{!dIwnQ8cE%<64 zCNeHXl-abj&zI9Jr5u*nYQKHhDXGNsu$fxE{>4=+pFZoJ**d6g>AHpR#lR!r!@=D; zX0)qUaDPX)x2Z=mf_yF;b4C+>`@uh@c!f6_`f7@(#s*!pdZ`VH8|Etr+VE075quwX zAA0%&qClwjQids^!m3-F>Lwr96MrGYlJL97w`gZo@6-^orP{ULrux2dL3`7Y9OnkN ziOurO=^j2!#@yvOzH?s`j`$UQbX|TsT2r~gL~w?|Bn4vSz7r$&MQ3PTo1}Gt2@@4_ zBIYjrlixfVTP4T*jt}?Dt!&mD@wzA?rgpH9ZLL-fs9N2byXUeaL0)-#7$>JoyHOq1 z!DhBCBtv67p)$*_N6_t2L)!N?Zlp-6m$Hx>>PWRCPKh_RU7JjnuBZ=qZ5?S`@=7o1 zNU|}5L`?QD5@19nVx4=r*xIx^wqBUEtvs#XvVy1LD;{Hy+}_9>G@6x#>Ay9-q+63%@ECi`D%&Ab@`=Gf~<8_h4yuN=PfiM zlXVJrpRjReTOI44u%k*H{u@~RD&Ge5juY7h?AiG8Kyr^qa(8e=xnPzk{#`<<>wo;b zu%0W9QD-DOY^E?P9fe3q*}tQKO><~pdkkpr73?159!Hlouy68wXZI`XXezdxzVyFU zZ}zLJY>ZGW*_!uTqO3tW|0YJG$ zoY;~*8dQ;?oQwlOwn0IExpiXqh>oD(6`ohCsNdbOkG7l9>xDat#aTIV(Q`QVCnA&( zCPE&9I2YmXsdg}XUP)yLA>om5_%L9O){d%(tV-sMYLtmSs9t*>OBe!8r5_N*^qVT( z=ngZR;hn?|xHIimxkr{NMkAN|9Z*JkM&|s?TO($`64%tC0ETGb%Kkf+UNEf|33AlG zuhQ}F&%S7*7cOiKljt6|nU`k2NlKD{u=OtzEblwzLAf~Fvw4yeaF8^9cFBLInMq(K z`*HgMKH8OXuD~s?$eXoO)A}uJ0nR^LmI69PgDP>D>=d|$6Z_#ka{HW5Dwg#QLHk6E z3Z5YcBg2S7#X=)ISb~kk_<3{J9&trgUw;7=pY`m2i^_hge}q7T+l6V?%~dDOM1>c| z@RgON(qibAmsI5bG7^mm_LQlz(rw%yGLKjz?F2nljg1y`8JgtIR9ZTvU1DFWURGhg zwfS>*!hTYziyh?qjoj@Rp}%!U!Ad3o;r)o1x2^f+^Zo{BFbl5mBL`)lG7j*q1CmP@ zy#d4s!K>eV4$7S|b2IL&{>0^B_r#`GkmwHkDN;k=dLb!}I&Xbn2Px+G#|g_G$zT#1 zroXP0J2+C#lqosiuP-_PX8rdTr*v)oP81Vr%2M%*hvn5enx*fI{g*3M6H$W8`%g^1 zGF5I8{-E+-Np{l)Q33KXzs|!#gYpSk>wI{5cQYH+N^Um5=bw$hPo=MeCeSfqHREfh zDjRNfg4s>lqzd$1-~}o!-ud^Tx}Hi4V%0ybO~yGx?i1^kI5syXKkS~{#N z&2(Wi`O=X&?nRNhQ5lQnG*|clsvL{-eKxgjf7(FB!Br;|cEuk9ynAd>Y+}02(Rh?1 z1N1sbJz%F|kg5IGiVgeI-{pU>krtzKbaUUyN|L7@09pRI{_=id8=O=CzB#U3yd|~yWLH77tet8vzlbRRK zY>PERF2`s{r=jjVc+rqA=xg%dp*-cYdKFb0*bh$Kb$oDx#@t)umJFD$@t*1%_%tm`jneATt>HNAjo4jpz$92LMA^v_Tma`-g zSVP(TYOAtQBu-q2oryTwc@v3@~{d}*Z)pM8$C&$#4LB{FMJSFiO~ ziB(iUf4xziL}b}Tt$>p)um&Op@cIAt*{=?}Ey}#B4kjDF%F^-ak9KRR@g>8XhpeT# zEkH~7Du>)9DLGsNSo7vu`@?-1a z#(S9P)34e>6eytZX78QCJB*vhqW0#qmo)v-ZAg`X9F$spf zp#Ltc&cG8h3t1(vX0{ExXoCcrao0AgyK*&Z`Mv$m?Z!D;l}AedhEdlr_mO}Zb#$g` z>vQ~IQ{czwN38JKHWb4P_$kFCzWdUQ$CEO>)Yze#%8J!DU zjR@U&>bDa9Cjs(vSIYYaq*RhFi)^qTNyNCf8$OQK*h59RjILa|Csbbv8V90=x;Yng z2*V96p=-c?)s7{-BuSqoN?N?N{wPa>TVskWwYkqb3f&|URZS*JOm!@O2{513no3S4 zhlB|qv?k7uCZPLxSU9k5Ws0+A)<|I+jnj3f!!i7^@@|D6Hgr;_yxfO0$SK5m?Yldb zXYN#a+8r!u!$P^$zFV9GugMUMoq#c`(bvxrKU20?zPQ7S;7sZy%cSd0l`4eo!ULHpUxG?O}cnvKCo3b|-33Yj`Qwy>ywzeVLaXb8*3 zd#SfBDgMmWsBuF=S2d^|V#hm7koDza%##g&e8$t%s?c_$AD&xgS}*v6kYy9oNP&`c z%H4@KRyET72CKW9C2|FLm+hQhWL~>6lke^p(f={VpX!gPPKoL-_|TQH+(@C1!;q+f zg{rYtQpH1-v0FjVQVHjkb3|ig{+daKhW8MC_Ytg_O5xNRbsaTq0={Uhw|uKHMQ(Ve zpJo+$i^ALf(hz~(WIG=(zfx-0t3M%bZ_|?uxp+qKWbv^o55Zj7#B&CxpJ&)tzD>>D z)FJ&lc!qIXTZofoPae=lDOn2Qcoe;8ptLvVE=lehQ2=LGU6 z*6&R}}8v(GooyZhpQkgb#?>RDO0SPg*&H}fxM zR`&};Zg@$-FkLaWVdiF*zkJ(eo9ilTTmudrOSL;LJe_3_m%HscU#aC=A$sue>C&Ox z0<-3$3cexF-p#+$()wWgfauenCX%rh;V0DO@VpFfb#3Da?;I090&!uY*4kp+ZkxE| zWF@*cT|efJtyMOAO!~9M8i<$58jU~Lx79Z}rvmYs!oocBrch1mvGOC9id?{0F`m>7H{86smh)AO6 zRQ~8%-LX5Ti<~gpvr*oF{r~}zsI4~~iYoXg{mYniWU=^xLW6l^{ z5@Q$?rLV!`G~`LzFe)F0X45au=^W&yH7>)WNy>ENU{8jALSWhuCiUZ~F!M%rDut$F5{|{oI7X>VXng(IFE)QnCn; z@z`3e-KZof?bN2IVbzJk;agkQ5T_uJJ~zU6?;K^`XB^N~sla_K*(%a|YjyYZGQ(26XWazngW*eiC}0vdlW$(ezkZWB&nOONiL#b8mhjUDQ6+ z0@?ipUjuSB>PuscVIZDf6q14;zepT`o3$)Hv0|e&HhKH=K(Gw48JLh9K5|Xfr^pN9gv(s~T&p#F;H8ci^jPm> zs7FlU)XA#+aRNKk@Ys#&iJ>TP_@iu(uob=CGHZJ1zVnxHQD?vD`Dk?jgEA~W7fSP3 zTAn+RmDB7yXr(X;R!BFq8XPMbXPR>k7DHntBP3})(XuWToKgPn)~NNS_O_lFO$+wu z;_iAZW4h;Rb~^g*VOQZT2rJ`cdrnOK;nEKeJi)I`T@KpN&kX_Q?!_lR{+(CUSvg93 zyME|g!GYpCHWZAiPfr+$`!{b!pNojfzO!v-1~RHC1p!AfJF7SS*ek~A?(9K_@iBuC zHMo!%8Fkv;G|sgOtqat@TAL_$kZ|dWN?gZ|M$%%79B6~5c3~SkC>j0sdYWF=vjW;M zA@_g`BhZA;JI%>n*{SMXW?7&@X=97DVV5s^bRUW}e!v7|(i^_U_N^)^s>G?9%EJfkU}^ z{nJMto_rnNFFOTGil^D~$^GUS&}H+p?90WpzR<;*^)vpy)>pd9Fc7`2YJPQJN2En+ zc)C6DP`4l?5mKdTce3jmfd1fd4)k&Z5gCr(OrU z+>Wl(F^%b0NjUplMKbLWM26kr>e$SVDO37efS$+KjhO#hu*iL(5-l?2U0raBA)7h& z%CEoYXYMrd_NdA@C`*jzM~l~LIeB>EcTU)Ar0;`gzyS$+4fNk`>&anjCw7)~nWI#x z-*T94&9(gxVGR&IgMn*0_CzC-2q z2fvWXcdn@ZZKr^Qq=$=_Khh3;3u|X7I}Is+22C%HmNwb!>fg?{6u+^Yn3N4UDY}E`8^vvj}*dcJUfaM-&TM4@LGV!J4eHk*3+*u`))YX}3 zA43RG^*B>s57W=FYDMdd$f~R_c1o!Hri2ObPl0EQWzK>#WI0=Pj1k)Gbm8{tp}wX}o`{ zc)Y3m`~=E-fVI13$TR}T*C22UB#oNME*fq%@@offff2E|nKU1U@^lz0;bMHZ8@h`3 zaaE5ZT%@G&S3Q4fVBFBKx+tt)?s&FWb8kL&wMDfEv-F2G4p{wcFw!`fA0FA};dszv z^|V;XfP1EBHjD}iDzDK2zQcqM0$-Yq<5fUTo9iup8mQonUs_2F+Msw~E#++LtmC;S zWX$OjskP*;<}p-G7>$Ygodu|#`T?<_n4GZz1f4SwAeNF zT)I8d_x_MyZ~FL-7y9A3OesfyHuY}w@*&>W{(*<5DgW& zeseo znrB=7x>4*%`e;|Uy4bTSAh{Nd7$pSRjM#Gi7O{RM86dh(HH_I^5bTHSs$Xh;6t7js zmz)yHJqMgtZGD#>UpH|7u!PsCQp6MGUX|0G8LgH5>rkgPj(&5C#Ei&>Gvt1U54iJ~ zQAAm(jmTm&jz2Ery#+|!VAu$5?PZ#Ap`QEQOMYupz4m9)#wP5uxZ8jGNc(R=Ag|L5 zOm}|}aHq&CY5CwN$vq@;{a;eLl=j%9Ak1Pyu^@pra4WMEWz`=^R03`nEN}Q5*C}=? z<==m9?!5^-S{F0-kzq6@tJcgsD|`2F>@k#&%uLkZ0abZdSO&56`(gp=Sv#qX1}Q}jyHNo%wo1^ zG#`rYE;cR;m;qOvLPa*w9%G!nRm&TG?Z@k9gr#y4gt*lGmK4@g51m|N@Rh6Y2)eaq zv-pS^;17QCBcR_kk*YaUTTv`uMh`jiXiv{?N%J@ksg^o-8fhpZ+UPJt2PNy_Aag#N z&^~JS^o1E|qiMZ(iyMxIFUCJ*%k5qiOqz2837N1*trb$(YhxKy<+|gOnU=fUwdex^ zEBBawE#NLxJUVj#_=zi^WO!)H$*1x{`tlv2l)3tp>erd%`XFRre#@A$d z=lics)a`K<;jl>Dv222swx6c^Rl$abPXWzR660SR6t8aUN(;yXXMSf_O<(&!a7!Fi zkj5O=TQB+`JYXid-FCH5%sM=uF#oT5^gJ?Gg=qTcbKgRGN)k#)*MIPkZb-M5rf!3# zm|f0s;!(bC-_2C|!ZMtV|l+a#dVTLDB%D#14LGoy8Pi;^4&OZa2 z{~j!5LTz&O8yIJcms*unx=^A*p|ao4iLq`LC`7&!$4)!O8Vgu|zO`&*)D^7oe-xeh zBh!x`$16n=DwQ)nm8cv;&bhiJ;Zw@JjgaKN&zT4xxr&&Z5)wA&oZB2R%)J;JhPmfv z!)APa-+#jUhxhw+Js%H|OV)v}44P-VzGh=0Y!_XiD#meGjz>Dz&bC^8p8I=HLpe|$ ztIDzHbESdG@u`sa6GXYe!{@S})>7QtEJZxBANNc;LwG;C=E`uH9idc4J!?x0r!A8| zz_(j$BtPC+7`>|D|2`JZbQ^&bM!?<Vf8J>OU=K zOlZSec&!JBad}i;xV}UA+H+&V!kK%-3ek4*YDlk^mqZzL=(tl*c;k0FM-3?MBh_Gq^x7^@5vlMhVJn;%;A0e$vOdiUZ&R+CJh()*)RGr& z*fXbiZkGFXA4a@72*Y89pis>aea}kRv56;}DAFmNRdRE$&`|qax z>-U_oFRyI}M9%%@I;hcrhoDzLPNvxy`xf>nl0NBR0NL7K{ZDfdhgnUck*@BZ)H+sk z`)qd7V&G-B*)L?^c>c_HZYCO~+P@Kdqyl*E&JXVh1Mq*|4OjQL;RxRpvy^D~c^_-S zZh`w85?T8iZqSy>Lt*&SkM52(WAPDlfNR_1?L+{XwN;OxvKAS09P;Ui^(j_?e~#L~ zh!?DE;Y9NO5DQ>=a4FMq`~w_;0l;PyWuglWmtL96XPC%SHhw!(x`PnY_Nz|LeJ-T6 z93rT!O(yh0mfS%?yUrmA3C(R1F^Gu*rYE4k$w^&F!|Pp6?gWU2=cC& zSk~3LKNqQ$q0#-zUw+LHn{4$&q+Je%A*Z^H21IjMb`oKqy4i-gBf7!Q43wwsztg*% zufRLoxg*C#WeqS)-J^x0gRHpLlXsey{a};c73(vJ^xb&PG(7+~9~UI$`>gf4elKIl zxrbgW4@dsW2^l()(RnXx7VN*oR7oI%nNIBYGx*~$dDCKe@v*9*T?RGH&oX}ak6*SK zPtw^K=)#q-jiJEH*0nF{Ug!jRi+VXp)UGdX8`b^fPwHN5j3$JcIYdjg?#vbkz9cx(XwZq~oOnOI% zKJd*9kErpDF!c(qkn~Aj9J}}F{+l#PY_H2Mn$xxcyg7a)Vhg?h)T}3PDFBL31dV(D zxZ3(cPY4h$aq7pKncE$)HV52_KHicn@(Yy;;V|VUnaem%0go-}Gu3cy^0I3;e zD|2d1{_(!V|L}D3_e|mCsp02(<$7TY_rE`!_Pf1>U5eR4oz&~_``7vUPd7Cu^aHBo z6+CbGapFL2NI06%5K?W!;qu->OmsY~mWHf@d4#L^#mV&L`9gH>bi;(a2)#a>S34AV zxlQv5I0855+@^k?Rli)ur%K;9I<+<0+$+Sl@x5rXGDP`{qx9VRrte3~8G^#Vi`3e=%BC4sN_CfXfG}qHDhib>Gj+XO zX|*>PuqNVW{B{qd1-MofU!8jb7Rqw^#+lK1wX1wItpp7HSkg>_t2nuL zPoCRjWS=vxqs^}aXfE;!S7~1t)L#*n43pzQQBxzYNSkP+Hq7>GmG?G=U~S(^BuK9u zk>RefbLDJJ)l%LfG_{*)N0Zoq0NoBI1Xb}~Zlc>W&g{CSrM-{GeIWuUk8rah-bOV> zj@`gUV32+vrOFC*Zf%JZNN^1|r+8zUK$8a9#6)P*cm zF^ZMz5gG|f;(wt_hMOL_aPcLsM6rsw~6stpl_G))1iA z(#jc#-M(3IwhU6Y3vT9;bOeWY;f#1xOeh93{C96}lHOR0Xcc9`P{GV3t`y*yHHl>5k$n;0p3cJNS z+@1!?V|4~m)M*ni45x2v@WEn;nAG*GwS=#1?Jz1+V09!ECJFsctKR;8$8e7+sRy4V z`#1C%9FMv_X%`q0Pa}j@90Y}q?$Qg~tTcU>CRG?`44lH*)(;@hUQ}MwLlkN*UJt&_ z%8GlTDg}^ym4KBLS21q!X#p5TOBpX}HpJ>q(r>*?y3ivOs+qz6^u6M>!S71|RlB`0 zIRD5}|4R3{7`H0XWcLN#a>rGBhxe{zPH2Vqq6)Lw=_8?K(2m=x>bj&k@Xoi056|L6 zwVxifywj28=4I2ILQ)=V7x_`5A1J$(S(`~Y-<03SbRe@#LU%gK1x%XM=UYtAx-?nn zLESHT^m4xpQ4Pplyl zt0br9M0-hq5%bRJaAB#=9Y-8Y_E*=0Sek}>E9b3eF^``T`%`hsL5q=+WNGI8 z&=lM*SAb%1(&c+ zcP^Q!FhD+H`cBVWx^HpN8;rTmmnSQ6f?Q1lCnNwG4-TQ{BuRgL=kToqM&=@io7$IX*QEEyQ+1RgA%~s49U2K*J{EbP) z&gVPr%6%*joTtrOZ2CzM?W_C4;5@6YJHitQ@PGlB>0I$C0Eo+^`H_rtNX{#n)N zfcbnJy01%h7p0}`Z2>TA>Q1m&_n0@@YtCAP#oy#1^8u}2pekb}n0D0ulYP8mOLgzB z^B`1dXah7e0T%ee9HfP!hwDIGOC;9Xs+WDKkuS#JFPBZ0OGpd+x(6E*o6lpnDs=wT zF)|F)+}?8}gpBZ+W6E8#O`7aW>H=QS(p{gjNBJcd-(`AivWM0UkmC@XGa4?tUrVP7 z9PGsjx}em;#Y5&| z*ptHu1#8r1_(xV`k>6msg)}&5cCXUeoDP7?H)5~iU1(P(c@jHT4(}PunAL#Rh>Ye# zR;3k%x9n#_mY@%1y_b3MfFR)w9K<<4XFT;6R4y%6n=qOrWN>0_8 zH(6*)p$>J?fFNVaJ8f=RFwwz#9Qo5eIn503d6u&%q#|{lt+BXbX0%rQ?N)?KL{R3o z=J!uOFO7UfKb_NQc&gZxS47!p86BA0G8k^_&SNe56Hq$G=X;1Ckbkjz!@=8CyaPFC zvCTpE1Ei7joux3CSq}T1mGQJjpdi_nHknKpo4B6-Cq_ECWQl;uw<<}L<;4uoeNvwl z-JjD$LalX^2XFm4-w*ZL>b)d+;BgCRth-X%dbEU3QVO^--91HezoamrVnh|;i^%0T z&%nhzYK#IYO{_-yL%T#ZYoaB;#n=B-vH?Ly-m9%Gdsrjp;7(DeZCfKOJ~2ltp`W^L50f4+G%6IGHZ6Efo?Nw-R5 zfOd0ed)YWH@r@~9zxuqX+Bky%EWyzLfcbD-`Yz)xwKc6H>8<2CY2%vZ@C9}v)6@sWeXQFoJWa_n%6W&O5S zSAWx^AE^GAx*U^{I9rot#n;j(5FjPq{7lJe?tA7r)+4^#hfs}Ido7QvDnE=K=mgD@ z^<6?E?RdXA{E0Dwf2?e>oL>^P8koH_o7Z(;2yFj#bE;%h87-gg6CS&NPB*(*KRl1t zb}!fCjBEBMC*h}Da{c0PR6#uJMjlE#KUZGCT+hYIRVFW6&`^$;+OmaHqUN;<4~?V@ z$%7I7YSRloFfwPX63T)Mn^9KslZQjPS8(BJq}ZdQa_ zl)YpfJFIIifv z8sz%LA%DXH&TBGv9B^2AuMQ$AD}Yh41avbUmW^M00=;oM!=G5U5 zSy2_$9w?DA)uM{>zn<`3KVTWay`O#Z${X6IUgXR-q9H1 zIahS-)bn}U?k(MavP>ol?JbRurnbt@SoW1V7Y@#;{R*Z#un~vmZekG71{{&XOK1!& z_0nS*)$$ZlwYU~(hlMQss1fri!{UP9(Ziy{boN4 ze|C0Y&g|lKtT*cWOV*8Xj84a`T9)<0iCY4IesBrU50y&UCOi!Lq`1C zu0t#{a16tfEAh~u>ZtY0G0Q-Z&}{cs^!IKQvV55D@(6-{!ywxZT8Upv3{KUiLUf3j z;iu`~kYhhE?x!`)Z7OK67Zs>H8MTP0(rJ1e>1w*Yfi>PXe|rY`;im8hQB2c^1P$43 zDjgl~GA|$rN`oD5d=JPlt?~YnoF?&=8haL@W}9=JIa6ab;9R#!dd|pHcjLCea=k1*uoqINH`(sB6T!wxi~1Zx$=8^?~Hce_U0xt4wnB8h4;fHPNSB2=@>!L42jfDrqf!@As%wLXlSGf zc6U=BY&#eC)lZ>8H%-*{dp3gxG^w%l0$hWgM(|s^NZ!Q&C7|7D|_E#Vy~rVf07nf&B^Y}>^Phd z@LD8#alEKz>0j{u3!tV*n_hPO`bb8)Oc4<&-T?eXPrjLQrp-;HS=#;2qgu@GwJW37 z7dCP{#XJVwv-4?wZ+X}*LcNrnsfEXnq|aI$b2S@kDs)JL;aGa)tai@nMJU(5sot8C zB0&6o>82_D2LKJsl|aw%^E>5(wJx4wH3BZbWui9EJr}~4Tf(?!Lrx>I&m4SoL^-4e z)4JxAW!pv^$ghn<2j$4`$f6iBCn3?ZI{DpsX$4=U|4Qk#>@)4E#2C(wuF9#?_V_@0 zr%?^vlH%94dnc8*&F)%}_>TOMi-g#QMd8g)G-M4O|q3(3GMFhxL%OF`F-L{BTWz3(nt8Y*JZwMUHb( zh5QM}q@JMm=-0Dlw;w=%1IF0ny&NXdJHw4wekq=4v*F`4?i1{%r?D`%w!Ms z`MZgXb(KqyqZ}8EeUUE!g#H|8ZLW#H{nGI(UGKULRT8ItjZa(_fUdSqY-=0bFrX< z)MJGKL5|T?IDyyuCJ#>-8KGlXe&?;Ui$O5@u1Lfo=tHLNU_*8FigI9iJN0s+pj#nw z0S~AAlB?AME3H;EpypYJjc-#*UaK9)ZJ}T#>ZYduF2u>VjQdzLXTqeDq^&jQd7@|D zHoQLkQp6lF-U?i@aXkf9dspZ2BaukzI&A9i$d%xmdmVoTw>&|ypfr)<4V_sAy5oOj zh8W#X!P;~5i^l+^EUD^v8>5Tc5!Try-#9m-lf6^Fv_4fsMuqD%b@QfKEL6(b!Q0)%(5%UFesA4w_`(oT$eab?WE< zOSGe(xpC((pi5*9V8MfVdjVtRxSWYlnI-i(m-RCD!YfcU>`-J~8B2ck{KD{&in|)P zlc}P^x^HlGOy&aY*x!EW^NO!BLLOPJ^K|HS@{)P}4UIDz*B|`hSDbM!#K|Q0-tt`W z<~B4i6+SQd?K-YgfyhNWdDK*Ql)=Cq?vNT6-C4x6T(Dfd$ z?T!P@o83QBIsHoMw-DSKHeF>clMg}+G-K_Wi6@)gdfIZzyXW0@5?JIQq_5VvGL!UD& zx2|`AJDd2g=Rsz}iJL}!{_(RNOU*{b87}pQ_{kg5gtl9sH-W^KX##CvV(C&*SB2yA zhgHy`C8toTbKxUe=ARcnqLA(fk6AjFo~=U6J{?*85*nAa*)a_ep^>tZ;izeh>*}xK z{-d^d&5LT*@;3K{dv5B2&|g+sVZTg5sXY2EWqrw=MR%u(VFB4ko39kil=FnxGSB=@ zB|{$Ax2oLcye}5RZS=2wf#23i*O#}$E1m7WZHn25^tZn5ICg@6Qj7OEHE>ESY$EyO za`2;0zR8`R3C4Eb7yev?tG)%B&(!jkr*tTV5sJ$8cbpWt&fNU>{&&B!j|uVB#?hW( zTW}Xd@7agmh(Q#$YxC0MRHGl)gn;|!G24#&imMsV%pO^Qg&23S5$9+h=L(hURnc)0 z9)Yr0)oP%__}-sq4Rvk~6|2`yq)Q0K=W(z_h*HjVQA18ZE9YGUJc$BZ}c40DYnixd0O zj7QH-Rk>SuzWq)yam)M^0<=Y;1P-lHgE~`{G3~u4v1A`5NH8^2J3(+yR+CYSLW4Ip zoO~B~mDV;xk{+^iT)#VXZGk0hF~>n?Fs4YK8p7~tWjJP}tqniI$#kA%q&uey(qZbKI=P>&mC~ z6v16(*RH|C-7IoS8dqaC<&FwpI!rW#VS-C#xW_!h$YxP8IL7saH-?0cvA^xAntboG zyr&&T4ReP`M8l(@oi{`~2>lM=u-xx$!b1etT7w2@TVy!^_I+b; zJV9;dec~oHMOY{!sIU;rQsIqAIj#E{>6VR(itzO6X zf~h>lpQ({dD;Nq8iv1i2LVL0dB*2xHELL%!%+=cyyhvS0XhG1DG2U(N3r0Q=u`+Um zvGEBUi-kkC-23%qj8n-od*R>h0>wRgxA!LYcko5Q;IWF&N78}lWz2HZ?9wotwcS*) zG0HW}Xv{?gj$L2AyvD3ZF~9-p0HXd~y$+f3;^6IE25f1EIA}F+L)%nmE3(xk1?byOR;|Z#81k?5(K{Awi`v{Ttd;6w~FWFSp>N5d9 z4^~|e&|Xd^L#7*6=FjvOM2MHrewyimV2ZMC-m96TFl+TIx)2&ie@Cs)Z^-^6dgzxr zL);rL_1_6;x>#d*Z3m4s8X|S)r~bdC>E$uK&V8dzw>CS~cOKYZQZgk{H8suzjJzw# zUfB^((lHNqNM_tZ<|OkMy1Kb@Kt*RlSF?%S$2(D@2d5xL7Sq+@swHEOqfG}qx^50c zpT3-g{6K7hCr5?2!`dPVPs8GacQk^MF5{y1I>u^TlM>g+SrkrPmF?;>uR*@*RW2VKg>xX1Ig=yr^l!&pBnYH z&anhoeZ|%?O{NJZ8_#q;ayDWJt;aOc66;(RU;HzsxXN`>9dvU;CuI)d-7I6&@V4DRqJ)qNg~O5c zE>C>hol92p=^VuvB{Z1V^ zlXkG&3bzSvndCmn_od$bWNSJ7b-YpB@ArHeA0xWBnoy-1%Aclx0@hk|skHmin{|9g z(8{dS2Ma9UyB#gcwI|CD_OdHFcp9vYa|5>4JRzCNISNYGkNsvJy_7_aPBYC@wU)dg z8{LGkWY{@rTD}(yF8T41Z2@;%bs8Rmqp6ACf4yC zMj~b;P0`Wh>oygx4-l?API_3?Sw0)FPoxL`;(}i0nD@!aj1am3UbYRQe6*8(1f*7z zluzin@TpFHC5rO*Y5iLsQ8|TNT1p{1tFv}4J#z>35KuwRw8tgxka9lDjviw|YxQO! zuN_1`dPHVT!}cuj2KKc3h$9y=^zPi2tIVFZ@ed)aPBv}NfTd;(w7NNaz&)b*=_9QWNf9JD>W%6!K#T;>%HC^Q`MBy?FcjBB*F@ow$*}_(`+97 zQwE3K&cV!^|Fk2RL9TO)UBhYRL!pm1tI;mONAlp~4Yu(PnL$S@G*~mXnabjBggOEx zmWL=~P#8f)Px`}#jj2J?5Hagg-8ELmJ?nt|$vGKWgBrE9syd;>KCAIsyKl}I3sI1W zN(b7$o&5$JPaTFiy`=bbQHB}q3#qL`o7PC*iFt=;XLs!di_L={3U5LI<~(L|+wBn~ zar_ro=+a>fXLXA_#Eaqy*#M&kl?(guQYl2#t;lxNY%9$qmwvs5XD()*g{QW-5%K61V)BWrxIQ zmC3tV^H!diMJr3|Adf+c9SLIHbjRg*1OR1QH9ev67JGF^#RyhO!kF4I zAL_*}i0rtB#=N7v2U{GYV9p4|ny zK1*hKbN4e;es6#ElLz?#zIqI4wF^FAzG=hnP3GRHzck_1DzWtxyW!jPkgriUIw$GB zCqvx8O2ud9JH=3NFc`LS<%^Bd#AMB_S8^Y}nqBZ>ipTudDdtRWYWN}$JiudfI(kgZ zsHcr#Y|Iu>0rz)g`mcyK2|iL9yM$$Eq-90?8yYSh)U4i!`h#pqFnWYryB7y(MEMcQ z&^m6)k0=aBP?fcy`~eDT>bqfC^&6l94c(j0$%NfC6KnQm&C2Bb2B0XvCFV28K)-rY zJs4MpZCZibp5i(LN_dY44Mt10-3nQ?M=s&)qliMl2Ls0lDWggWtp`SCf}%!Vmn#j2 zidNGc&Zf`%7Hs?OX(W{d6i`Vo0PwsHcd&6Bz&(^Vbj*F>6s`q0b|i6hY`HJhGsv*c zZol-mcAX2r0wuv??md&rc4IFY!@el7oQwtt|^kqB_zui&fKu zJuqGP0(T>0MN;9RnyS8y5_$m%;E4O`C(frNb65i_HoA;dUa)*#rKF4+V>K(Hfmh|v z(ry}Gyr7En>qTlm`qd>RInXBLzsZ$RIwkb{wJ6s;#2(O_oLM~it0?};sYvPf?M|$3 zO77uS3iS(S&t4%jHFEwD(Uty_=9rt*S;v1~9DA=}* zyCJtZVZ_1?mEwG3yo5r&Osb5uMxDH!hTU*qbJy8I{9K&rv)?!Fdx9j0E5|`f0S}TX zF8lQ~tJ$hS?H`QPS}L29(EL8yF71UHfsb93y=0!fdFP{HdCSvgoXlX}gG-Dq)lStx zK9bT48=K&B;6g$A{68OgMn#n^k>Ar}r)vcD`oDnH4_DC<}8enb{((_KWDtHsJk zCy(95B?BkKPe?$`LyPT#og1egXOE!8v=3}99+zCHUrAi}I5pHtz7S3yxLBO5S{5xX zO4^s!$2hnxZ1%9a zHL2i_s=iP(`wJMJ1cbv%>4MR>gZN_t1Wl4uto%0Ddb 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

-OO!~D_5_rC?s&Go)7u5;@*vZ<1xr4tzxY`jMp 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�sL6QtOStuNm;Vf7XHzI(JEwl; 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 LNkvXXu0mjf*}z3& literal 0 HcmV?d00001 diff --git a/static/nuclei-cover.png b/static/nuclei-cover.png new file mode 100644 index 0000000000000000000000000000000000000000..caab6fb2d4ec9d5f02b30220f62d5bb3e3bfd9ce GIT binary patch literal 818033 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%0D#AE>=vtKon^k@zkDU%X*9QAxpYOEnOGi! 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�D_H`USca^9R|+To=sExj+Kg}Yc-^bM&&Z)zv> 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 z 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�EH{X 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 mIZGH+duEAx2g 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

Y?jp+qL61 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

j+*=_Voc7 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%0Ddb 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

-OO!~D_5_rC?s&Go)7u5;@*vZ<1xr4tzxY`jMp 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�sL6QtOStuNm;Vf7XHzI(JEwl; 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 LNkvXXu0mjf*}z3& literal 0 HcmV?d00001 diff --git a/static/nuclei-getting-started.png b/static/nuclei-getting-started.png new file mode 100644 index 0000000000000000000000000000000000000000..9d57eae7843f1feb3ce3d0b15864e3a9ce67ac01 GIT binary patch literal 45304 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 E0IO%3Jpcdz literal 0 HcmV?d00001 diff --git a/static/nuclei-template-example.png b/static/nuclei-template-example.png new file mode 100644 index 0000000000000000000000000000000000000000..22d71daaf8e52c9e12f6e63f913132d6c22cb17a GIT binary patch literal 2155430 zcmb5WbyU=Q+dVuCgAO1_Bhn25(p`gqbT>#yH_{CQ(k)7NOLx~uE8R#6NVhbI=l$Y2 z=RW7Tf6sc?dj6QD@P}(YwXePRwJ*b!6{RrHo}z(3APgC42~`jX69Ifc&~+Nb5L*K!TX}AEcp%oVUO)k(^bfUVth_NOnLV3XqJ1n7W6-e!E>I&1cswLRa!u zZ|RXo3gK&qPTW%!kBH=ubC=5>`C@d#MfHIY`cgJoeG^;x%hbW#dx&q! z*4dZ>3j3B0VruV6hMl{pcTO2gld8)}aSJiNM=V#N4XSqx>EIqjH9o0F^0Y9;K*ZFOh-q>&<97;66_^{Y9w{v|vOm?_vecDqcTd!1 z@(B(KH!W2YjY-y-M|JoWJBm_bpwp{nO=xF9Ac!^CYo>)vNiMp4x(%hOrK@o&+h`dp zjtW5ui^!)F{MeDM+r2-!B1Vgvkj)^5O*|YbxE8KGkOfj1u~?N+skjnBsTP&-6p*5W z`Mi9P-s~xSlGi^uByQfYlhedyO)BB)!B~!Q!G)F0CjD0Sg@`JM2~soqNXG!@ITx)} zqD|zwUh}-%Xxn1C`r%N42}7bVUW6o%YpcMA*;TV$U8WPIuXifK)y4g4wC{Aw(wbk! z*Gx^~`rlZv`Ks)MDUuo}Y9XUzF=W6q>nr*vCrqpZz;h4y#Za{dd8PJ_lc5H-hWAV-Pew9h?Sj?sGpn6X~Sf#x6EwH`f?b#8?GRnNk^8`+oI(J z*^!lNX-m*i7RXf#P2z|!LIKm_j@8bbd+0g|)o*neA(gqlg;QctDx)E3dNay4ZiVkU zs$XukM6M6K(7fB~jLUn39zX&137~-zXW(H`cwdG?626UTcvXUX-{P}2t^25Ou1KQ{ zrhJ_`?};K);zWPfTljWuV%rsKdbOaAXKoS(-xGSOj`QOkSer8Lm1sD$hGUqWlV?@v zz*%TeZ5Gd5Qc+e6#pm1p+b4Y3WA74NJY-&lV=23d{&~S@V%Vr&!Uu?6ruenUu5?=k zlu!$}dhjctdWnO;+(@K*`k_fZQ?voW=tjh$P>MiYFfEo*K~gqH&mH==#L=Na*x%4;UoUPaJV&azjpKxq?v%5W1nLY+%B_?;g2bm%5uF>2ntS`Jik5DVtx|w0E-y z?KG&i1(NUqdAY}JC$um~E6&>wOvRCIPmko@oKtHbIte^a!%ZY@CrPLuQCITWK2f(} z&fnyXkYmdI2e0w4tdwPzrJUlq)WT$Of(vPeh3p*nzo^ZsTO?R0esR_;?o(#&RAwjm zI(4wCY!I4MY*XGNYIZ4d-cv}Xlpta4W}k>niHX{m6JB?P{^)CJS501P?G$#7K$}aE zq8t>Ko%I{+)Qs)YVYw((Gmc=pS0cJFm?)BFiyua}Is8ZW;^JIWeTmeG6>;H~Pu` zTCaQEMf>Pe6@+fYq7$g->9Z;VNe93@gUxIXy1^>xYO*%7Yr53fu2EkA6E9+-L7Ib^SB|2E5Kl7Y{hi z)^megQOUZ+6L3;aScgq1qvyEozn>RI4gH+mgq**YnvaXWAKtH^IPa8x`9C+q>DVU^pdqirJ zzb%R)87x9-rK*T{!sy7(xkZF}9Q=XkHRp#XNHwKTWFK8)NpEBZg^rftKh~DyQedK* z_)!=JlJ<)CS`&*cl0mN+;KxfMK+m0!sMaDts#wL#=S8W)?%mX;K_yI$=Q>|l<0~)} zKj0jorr%&kKd7cT5G|3#oig={zhUPzDBgdE#@l7a%YS zP}K-2oR0A1w0_()YRpspF(k>X@hq28IJO4Qpf^7Z1)l?dho+j5r4=(*pzXuV18)H+R)&BJ&T%|g z8!1ejPFpJeO%9`sS|iIL`}Pbg;nDdP%^l|eZDRgbK+S(M4#&S4hfb3e*AV5p4hQat zUDxIV_zk6Wo{LD|v{cO+kUk(p69w1jVmqX=h~pa)8jzI3#D?eY&RvEls> zEAcfS_<_A@++qYSD+}yZvfOQ1S8lvS4Hk>9$hMEK8T$6&p7`>=eMS2yXa85>Z?Hjq z-SM3yJg8v1pD8Rli)TIdjVkRORAHsNz&PEJ5=#+5fLLB$CiAm@CcbbmV%xZ|Yf%i= z7TyC&#;VGT(P{FIoA>Qx#pfQfmSQ0ADnxr{b>HQZS>}4rIf0JdR>?e{f+<5$jKC#S za9JD{1~SaY1Ba(m>>`D7P_7Fo9SXw@VUXe7jqif*lHaF# z4hPQ-$thia-M%jyhf`Lb!SI^fwBO)U7V7~C3-qwPWA0}RiB1z)*R8zX2~#FDxRInO zr>ue?>7C6B**iE4EiEmb^l!f1+KT>a%QNlJN?dl7$72{f{;Rcm5^ow4e|A@A&r9fh zI_^UM9-y!RfQpCkJ)&ilGcA%;6?T)c)+!ksFRZ<2fPJ$0e*X4a74=y1i)z9wufx%L zNC)G{H+DRFvCMUm9-4=&f_Y7B$_bkj(Sa_)YK(QVMdv+mG9`@%F9H?wn(7z?!hk2H zOT2GIfp8`M7o9fs{7t8eCkguLGFnz$Wg!FkjK$c4gz7Q>r48B@jMZdbtro^lbm0VB z(+cPOq&F>;itL2D<53loUFgUzB(~EUpNHs zomQb#Zkfy(&uzN4Mi#P^EFHOC# zhJ7A6Cx)F%8%-xG@Pa4K<)fQ+NvCmKz|GE!f|CjsV+ramHXOh`H z)^(F6!(fX{Zs;+X1E?tuqy}FYRNL^)F1dfxh)6@^ccAaMNMGWEYBPVdcJ)!>cbCL$ zPpuX>BgV17kvLVo#k{<{{aLrSf~QwkMr4LUsr~)^B^2k~w~sfwL+h`PSHEUBo|Eh3&khEQEh;Jpcrty?6jK>z`=e}Trr))_k^MGxyMU4rj4_uo7Z&Q?X%URh~6$OBTU;Yo| z{IgOdvBb!;=Xo(BPjC`S)#YYyq&U)kWPb_le5v(vbE)xYxYgYrV55b1 z)sOX#bqVKYIvs4W_jmis>@_#d>r32x>>>>9kjj=YW;)FK>pK?&yPhjWdOx(XX6w|- z0BZ}jWxjn+rnHrmfK3_q7)jGhME7QxhH#^Qi+#B(_SI60&9r+|>4BibjV@-&pl8+z zd%vFaRR9JwUkc7zm0yHPCPsmY6yx%~S$64d@_twv5}y0IM5!4RD{JtL(rb0$`Mnb^ z6n*Doq}~FJsee7Q>Hp=K2{-VO?TnXjDYE5_`ST$%{i)^bw(aPakz2|1p(3lKHQis3=#6T!0v`Dr4Me7gyU#;~&!UOywpRY$X z@bf&e+gU$OXh>Qg;;tEkuptM0MLniX{Q8bF`yrB3)5Egy!Z8v_t{K=GS)uA{sb zHf8QjWrJvS6oC?Y0l({a=x@mnD*v`qzyW~^9GAmg%JZj#` zuB0?N9ZNb&@M)gs;++9DvyP0_oRZsZE~o)*?6dh6M|S^Ya~K;Y#EAwWJF23Q#BZgs zJnYb@`8++9r<)*jndm%c(x|RJw${QVN2o_ueV*AjbHT;Iz80=^9G(8q6Cq&w{IR zPJgQic>#=7637Eo_10=KG6l*q7Iiy=m4ge7RU5T@FN^{fczb6j@8zX?|B3>3*Q&Z6VHiHSrD;ge^?mR(ec{?dBA zKl26uV_Lmi={Q;cgFF`f3?Uo$8e*FuSpW6|q;trXae)_VZ6=7{P}RUvv5?5?kJmpC zs}Gca*TWsAtd7tYY6^{`^KHP6Q?H-dBm~s)0~M>>Ii^U^tQFcs+PwsEW{wX+2TV)> zTSsO9ZHf(cKg)Otv2X+IHF^!;^YoJNxervu2+T`%>WCiM2q>@4$NPi8dc>d^0E z@Py3Jm|wMH`E6;H_T{gnuXSq5D=)U&b}VjN8tL`oHT9vv_2a8%bBo&=U?i$0NW%HZ zyQ>c~n7Qx6ZkFAXxsv5A@RC+Pj>_JADLTp#ndbH=lXKT!wjL8TBUjPWCH>nHalxVx zaNVZ)2C!@}R;YYc49&erE5y_Te5SEtb=LFmG{TvQPvzoIU)sr}&f6AL`rVLOPYS*E zPgv@w;lYieeN_s@%JU1rVnyk#^+{c=d!fz$Sf6<(TwXZyrdObxGLAT)wN($O_Lle6 zo-j5Rz!pa>oz}^+B~ZiH;pt!1x+x23#Lmt(kwy+fZhC}>ipP>wqoc&ND@RdF!82wL z=RG~*-)*j@A2Q$}3QI9E0bXnY;WJHmf|IIFe(Bm4T-xWCm^#zm9>aR`mE_{gRO(AE zQ-WIS#>A5;aPOKS#ECJrtigFtuKsS{Iau753uW z;o(S|&vjRu2k`MZvD|m|wyV-V(=FfX{=?R>Y>8;*5X;-y+s17{zx{Tv<#}MeAmY%? z6{+mbF48E;KmS|z4?NimqbktFlZ9v7SOd>YyJVp90Pti%mF?Uyz8GGrxIOTj8POxp zGW^9(`NG=7FEbdEca*_*nT6Mhf$1he1}@E_<}O@I_oARa(2{Mu+8g6j$hxb~lgQL9L7eP7>%U*6dS8Z)Oz3u||VN3g^ z;h_Fpu!N?Nq%e^|Y*9ovCF-n-04foI3)KNsdZ87?Y|zf~&~PN1q15WZz-NqrT{{_5 zoaiY0y`=PlK?M2=hUQ2qrCdv{YEt9p0t%8qge~Oo=xC@^i*?BGmab{)Ox>aig_c3Hn3C;eJYZVD;ugjSgh279amw&zmv86%4N4=a_?+P zX@OcjaYpK2ezD?z{NnJGIS8M5A67zE272cDN#7jOtB7v(LEvZoG?#k#@Wa z4bQ)uBkl%?XkJSWgZP^%m6tT)tz;}eFV9*ueYdZ|L$tgkKLGgN&iw|Jg6B5-2^ute zD?_QY^+4W2bcfN!XhugzC2Lx@w{^(-p(R)i&*9~fhLdwhiPSe|4C4;3>p+^Ll2Tw@ ze?AUmXcM+keXHY_QjISqdyIZ|Bd>~lPo8P6+9dbAZvUZ6I`jZ+2cDeaWu{~!NBYso zWfSIwo8flZ>&+(sgN49SZG;snO~XvglHrO=u3icxH`p*UQG@mJd;5Qb&rbKd6nu~C z+Dd?r8qJ70LLo8fFJR7T#>_b8a0Qp;PvOTOKTe=!ux@$ z3qX(UyL;CzEP!X)zb=s0U4#m1-L~tHy20xYY_ZFhXfN(%$Q|$z*8ttRY|rj?J|W{6 zH{Ql2=F02_d3o)VpfqBw7vKy;Q++O8Dn3MsQ*l zZRZSom#61r;~})PYitVD(@CybBJ9$MFE6Ijw$EDemcIKE^P~4v;8i3CvkuLWY{d>M@g2ghHbOJ0@ zhf$$Yby~UFaIrC6MM!fxs_H!v+B9v!v6A*L;ivxH-k75v;Z$=MLM|`!6f0@h$@H+s z#1I74^J}w&4WNr&lloGdb3SI{+d+a)Jffx3CC_~71$#Athg0tP$DuDEMg8|NtAMhP zbU+nb(5G)&^GM(Yq8QYGe~AXi`GzLZB?*PIn5c6YMdGPQ`XDRws-e?o3wCF6B#KI$BF#hLLJ;#Xrn%A9hJ40`&rA10NZy<4fT(4sob#!x7t4FmDln1) z#1?xmk}!69bUjka#63vA+zFY9vEQ7Kn0__w;V?#ik33okiD#-+?Ab}vS%u{lpZ8L znBP4iUplu8E&^IYuzu^=)eSD%?eg~k?Qz*9_|A<|B{sJx@NQ#?uem<3khmya*OB>) z%<#|6TzdMQ6Ru8%a8c^1=uz!asKi^c@?#e(aEn%?{ZZ14!QPc;G1--5D8l}AYAeR( zOvyojf9&3`+oK0e2VzfFuDv(vLpHbi!?2Pg5eEn5o<2Tov9Ym$xr4laFdW_7+|JI+ z+t{#tt_=c8yPaZdbGvZESNn#|C2zf-*6wg$hs-Qqjgy_+`bxac5quHrzLRJ0`q~L+ ztVy6ET7FW2(nte5D4StiUsv~hZ+*~X%eYnvSe!NW?f z3B;FwOvp(KOH3jl$W@fUUrvGP(3_!Ke^8XjUzZX4LC>af*Rq!-27VovkIulv68S$Z z&iHejX)}N%B!W&D2i4wk9}-zA7r!F^lm8Gayylep%4UCkA$#u!(-}?^W)WR75yru% z>p?Cd@_~ryTeiZ#vj7P}xZH%%#N-Z+m}8y&RS;+VPYuqo`G1^32veMan+FakhS(zQ z-`%x)dNft~tt>69&FGmJcDA>(1FxcT^8 zFLWP|Hf1H%2+KeCU!5Av=*p%a(~^QEbOdz2p+XXAVLaN2{^{c?+?ZNRnv-D>Ty10J z`7e)7$An{bETgiLMe<6x^#375(Dt>G*Y;N)FJUW}Gk7x6iAi|qfbs1*_rjS}AYr#4 z^9ty>6j$SMIH+UfBzkAL{@dne-{R6zN^9$a_2q2qf}pd_9~Edu z4#UI4U-q>WnoC(ie!s$f`>NZej%OaeUS1r4EZbb~r>|YI4;DUSm)bnZ(NJB;25X~B zD@pI1)a4^gDzM@Juu7sU>0Ms@B1hnT!A_Q?Z}UN(P-)tBWLiCtZrJ?Yr`aj|qv);O_Z+-Atx z;w?A(rmc=aG^CWZ?kx-ra>XHs_Uv0X9@zAR@$Ba2g?j3C{Drc!%uR8uf=hmda?CGm zSN@XJ{`4>fE7E_50l5BS9=%!!`#TJPcaY~5QSwbq0jA`#d-7rKDLp)OJ?e{HwT}z) zky!KYsDQKZxuO(v&t@5Rmk~Df`_t~h{P(pg^n&cRh|xO3y;ZjN%z>`qLX4f%%;||T zNhv+&pgk-&93APNGzQcQwpZBO4;{Rgnk#v7F>(mG!~&GCJdWew|F6=A5&jiw2csI8&-cSojnmJ-7L z+lF)E+X;66~xTzWdD>SYXcQ)c+iGz30XaTL^%(|W%i>kk%)6f;iHUF9o2tp zd}H+KdIpW$EU#QZ&L`y7mD3^l8#rRds!o?m(+ zBtyB(5Z_zHh~FiP_vuDLUnn@AAZ^q(zpn=qLh(%r=vDBD9#GAtEwo(KdzDWY&LdqY z?^~lA9K=+fk9OP$`y(-b?K3?8;U)hZUO#XaluD*Fh%RaV2#FtD=E9%Y!rZIsH&-zf zwyx==r_LI4d0^1x?BH+h`PE|ai$`S6-0sDrMrUp}>J$t^*3bNSBKTg<72%e;ufQZ& zR4``r0HM@?ZItn|Bg$7zQ4te+R9fDrQeS>jZcW_SPzxGJO1UjlOLX&nr zM$n&PXM@~CW+G!HkoMPbzQKu+Vp8nWoveGS8R)rF2Av=SnS<3y#6Z5xk9-!|QtRcsUiY2Ik_z-XHTX zccG`K2suC+TCAYBH z{vp$Bz(;3cQD^D zS`oW>IJnUq=)YnjA?WIA&9yTjUd$BbStN(>A1)Fk6nYDS7-PQ?73upyf!b=dBDyUZ zNIu_*xS^<7J|+i2`FthAvdF*Lj6% z&bPkS_{v20=-9E}yC$TMXdDbK#vZG+2YSD$eFZnv2A~D_6m|sAE9d4*;f2tkR?X8| zSyyvQp09SOm1Pb@>or?C`n+y)@MWJUUy4)OYHuC&wc{m}626V*IdWi|SCE6Q(?h_} ztI9jL*fuyI7#g=y@QF~7YsvfJ#0!&35AeyX*H7#SLUtL@#uzAet);%cWCHK3ZMnDNC zv9Rc}E!u%(pf=Tz0u5FFbPsu^tS(k)-{kEE|jOyduQUup$yZ!e|@`C$;qD zemuFD^nXAZT&323d0B(mXVYQuQfr$bqq;}y6W80F${efHJYI+sWwu56?g>}Y+<+CC z3J^(C_IjZnTf~n-=^TJq1e(0gxJqV1S{tDY&ALxAPnv=w3Hk~9Zs#5E>`k+5WAu(1 zwr!3~%8jQ4w>Ki!JA(VPg$8rT#vg;#P_H)N#d+i8;6ZGPx2*jlY43`bT(u#{j-Akp zM-LNXX*?r|j4fn|uqoEm2yuh+@hAR~mKBrtO^E&(3wft_tjRp0Fj?GQ109IAnAuLb zUBhp)c-|N`Z}=gePB*o^2^(+L%SxA)&oKCs6gQvmy< z3%bYS-Kcqo)Mjlr<|SNG7!|+vylSH?CtsCt1cpd~XL6VHt65xerDq_RQL2W^&VtIw zlq_POJP3ll1h#=Fe1|*1=F8(wUSWeimREIr9c;_9RB!%xG5vYDX~U7uHPTV;IZ7p_ zCdpJ{^%@(N0!17N(xp&b`W_zyh$EW*q_EWzz?X2DCw*vjtayQ@+8_Qfx)3Wanoh?? zZBufEA2s_ny^aVSEQd2zJ@4w#oF5a_j)zn+$t>v?;K&G%hGzWL*{h#>;mRVLuuVU% zle>GeDKFG(q8GElr-IjS&0j(zsup}nydXaqHOgU;@l&_!Qwp?4UiYqHNh-Y-Yi6lb z?ls^i=#iyx$XZKQ*>h$xMiD&#V{K!N)rtU}{jdTBqZuGD8k~7Ny>2!CI>a4IIt}RU z+WD?|&KCXjsJ2KJT~~1%U%LvFTRGvO?^FUFfRh>f5AF&B&I*xNc?XG9XitZ^_Gxgl4ow*YV8*5AiZc=`R~b*EXkxpg{Ia?KkP-d-e|Gte5~wq1G@v z9>ie~6dBC)EoP!Xna=3U{I;m9s<0zggx7sT&=nGc&#^@pKQH(Ra}SH-#q7Kbx~fWi z*VFh^bT^7PbR^+D)!3ruo|lKG+CZ#uHk5%t|1c7MEtXA*ux4c^m@jE1@CkYIgPB{H zhdfsHl2xUdAfv^p$#&LrW6f^%6|3DZx}Yn^TQ)DZ0h_K(K3B;c}ar#c>B z)p%(Mer}VjsdW zj8p48#Y53D=#w~I*!sXfT)`^gKOq+}`1VxJdw3Ea0u9#FLjoC)byilid2~pWU+{3* z1$FzrD?-}`c!`XV!t!&g_M$5VLueE(g~&owHai*nb^Tb5R~suE35(KGV^s^2`9HiC zDSP@@6jv~2JfoJY$RpEFsOC;i`ezng&`qeD+C*P=^**oz{yi%o^C>Qzsi+pTEQhV# z25LxYictm(3)N3OO;`irpi*IaZv9PT{39)2UFKIuOSkstYgZo+dCQa>NZ}p=D94!x>l2-b%<1Xz>_UG&63$w%VN|a?iid7ZZ>zhdn zB%zv{b<3)IO9^399`|BV5m>z_VC)*Upwg&;O81Zn(be7O)`cO9fSje(NoYn19784h#G{SQ>yE0#p8ff%$dx{yg0d41&$^}-k_f1p(i)cu1UK)X#S zQ2O|*`JbG1KftwqQj4>L1t&-GkAT@hI`gC@URSUfoR zzi^NAvZ{t2$i#l%A}pt*5Q8%$W`{+$L93qqm{7Cj8C;=0&P1!;kB-884{ef4_a2nN z9Oq{TZy!=Yfq3vZohw*iP5VCX8tu;x#Y$uUSm=PeRKOkhrvx|J7ctP`O186xoSAw6 z!H>e~Aknd;>@W;ou;2LR?EEmYF0C|d^{xlPxP}8Epofig&;^*P*h){Fu>_H_@|9Z< zt3rsMmXvm^3iQ1gNPi^1M=DV2COQ)b||xSF|y zAv9kOHtIFGZq;JFt^*CAK{q;(IAcZ?&J2M-eE}Fq1!~=vbd$Qf7ixjjj@7h_P}gDy zGxw(FAACz%4}JLC_BW;66}Jc~u`eU*<|p`sMN1uZftL5kVzmH05|y3ed{jX+Xir?1 z{hqOqK_+O}I%fLy^7%R2QeT3We6Pd?LuaNM#xiB&egRsa2ItMhE{8QHJRVzZIuuF@ScQzkA2cqk=nt^JX}T156qm ziVgpyz?o4}G-CSW*JIc{F)FZFE z^sSk<1Xp8^tgMWR=2u46ji!Q-lIz>#6@x&f5)hNYFxA}2LuP4lmztsvb(4#h`Dvi) zVm;BetVj?O%7im^9GR5V{@iaZ_ zn!?RG6J&z=jc@sT)Co1_2q`qt1?)5xDx|y=Y;C8E{4`A(p|nb@iU z$E)j`QehkOt;d;aNoVmkmL*4Lq3{R5m{T&D68CmY>}yCoE4+SkqE`LP<0--OGvNKX zY|xxNrGJys7|Pi!7jwC-&rRCM?`Lvjnzu4v&yN}9@8Nkf7Y$x=4Eae?UaIDGT`qtz{pl0 z>BBJy%uo*}d0%#=txl z<+l@G@)V@%_@}^L?eV<`hG0*<_-J*+*|~dyBioWF9`Rb=e7%LZOz*@>U&1RQ?DgYU zK6`pZ_I^P+kN0S+{k9CnaSTk5!2-~29YZgn=^P=05FEgJ`0&a>l%Rn@F-nZ$HMr~| zsMpbL_;PT;q{Ps_^VI&_bSTq~eYvoDT_8=ZHIuA7sjt6+ICL3o>D4-Ptg6~*Fo_Pl z5l2k^r!R~i0Ii`%aYR(a;4(rPM*N9ahs$sp4_h%H4wMIO+I5r!7lA{7e4u5hN5eHhhg=t!E?{H8iFq(__BH zqQLRBG@I32^%bY$;X^+<$SqH@w1V!j8hQN| z=})GjVO`-RlJl7bg;>n%GRjz)NjxwoAOacy)O~CFsG1E4AEhesU8Wf@ycTQ{yGof2 zK%;)W&%-V8jwa#!pXXss9*thF%VOm|OxxY)8KfC1#m>mhI)r3BZHZZs81z(1BAW5- z*J~kcjam3Y*^(mOd~d)u&vTx#fl2VYn#{(T_U&H~s9E3u?d|L|;m-w=;nsEVLpAlc z%XnTUzBz&~2QGcXZgBF1A@hLnL+M4n53`%oN(M#lfT3?jvqA6hl~j~MX4i}R-oPtf zP9GBi{zodP**O9{mi9u)W`#yQ>);mk$3{B+k}o}_K2)$C+7KQTuw?Cxyy!kMBkk9U zpsNn4qoep4g1`q0%p_v6qSiSpR0<>HJ8IR$M#_lAc%w`0fsWzI zs%4W$k=Lr%S<_Nfg^i#6w?xt}YOz>|b)p?sv_<>77xG`%wjQ45y@SFI1&zBA{9BbkEpb7O07+9n7zO3dG)MOIA^K$Q!=XDbLyAs{$cm14xiSrX(5kN%{vw z9Uq~aDv%h5$@)H4kt7HX2A8>^Q0X^4(RKU!MBvC@814CTxxte?P6C~xOIAGt?~VQT z8MP#RL*LKS2mPD7W1A)6?3%0WyKA0Ju3mu42I!w>kTp^n)s)pmKL*N{A>RNQV+Kk= zs~DFViEr~3I0~l-EhsR4Q$`jkWC{#7Ej({2Dp&ftjGfWDtpwDBVx7N&{h=&evpKj1 zg@6r*Cr3HZ2aK<a0--8Zna7^^u23z7O>p zQ!xoUWAwju_Bq*-(GzU3gt~jUR(lF#^_hPsdC3(7%Z1G8(5SqAgAT@$jz#>ugwSy& z`_XZIMR^3vmV|TKbRmH!QRBWAakkZgG^|Sg$@s!-t(8&9C+QKg@l(*>Ev-KlAr2S_ z)g`Ov?iP=x*en+_(HxRrqV>MpWgEZ-Y%&i|85o5Xf6DgP@@XB+A|w*@*ZQ{62M-qZ zy9DYEebM0hKlvXfj6Sb2Ros$n+)N%8N;yNE%Sjb}57z2ukIDnUEnm-@meIW)f z(Q<|60yMRUE}L2r7^=}@+Aop@Vi}Ajfl62mX`ue0A7@+I>Y1CV=4JOrp!)k?S7?A7 zs#;UipbIoaJHp4w!f^yiqDIUC`2(0S@d1aX>3o0gj>+u87|0^H;Zy6Um}`rb6~nLL zt|3%&*nN38XCZppm16_6&LQ!6e2h zWDo^g0Eo#K-1fEQq7<)U=?&6;@Gx_P;ib6^&!*MoC!vGc&Cfn;3wP!`=TD&j_pg4x zOc*PY9@M+li;b7}@uu6krDkcXHAfAQQf>6m3oa!?X~>nVQgI6q#)%|@uC7$a96m*c z0YOvYJ?YpY>z;lU72qXCtnG8Y#0iT@MxuxV0byt`)hpLeCPkWC#e4(^ve1srZfyw0 z;nuUJ)4k)vn$g?(>n4ATncK_hm`b7l(_a7UT(D#jhmX9yPrDYE+sfQR>thq7a(1m2 zTPBNbZUvi71gi}&8FWDluKQq(f#sU|cgL9`UeUg-U;7E{D3zc6`TYy}RCi7_0hS#+ zS=)Bzp?ec(^b0Hb1(4?oHrVfAck{RNIh;>ixpQq^n;rg@r*qWFO@47S z9Q>Mpq`v$E_==m$xgaTX+3pHI-x{>{&v7qir5O zR%A!y!%G==vrYEHyXG2yFyUW_3wEx;NQT-lFF0fS1?WdN5{^p!I|JGz$tW?kAAU#r z0rG?k!N@2c$30ZvKpI)UCV9WM)f8*vt)I~Ppm>=Z!TR^!B+?>uCTe~Xk=~b`aY&za zQAEi5+wc6ypY>mFCOr-C!c91^x8PX-CVeu8`?u#K<29AZ3qYhw#W~^F|rtV?C_zbp{wO%BxuwY=@TGQ`d@hAM2)Ebx`;O| zoCTzIdD4cr>t8R`_IUrj2^3h0@YBmTZok<8C?Fhil{zT_Pi=L6kgFr?Ga80iPL3TN z-R$na+*~-x*uKTh$LWd&rnrG?}1nBBieIW#k3Y5uRZ-0EJiQEsK``laUHW1J?Uzyf&-m zK51y`ZFOt)$EUUhUo(-z6+=*UYx}Qn-lAM9ci+`&TTWIb^`I~#KQPI=O^cDRW-O!g z`!LkMFp}XN?AE8_>wsq%@{!>m7PsFxqeo9CYrh`2;UN-}!;(4wM$q@uIxT+nBGy)^|G?I<=gwlvLr$eukbEVDSWJW1zMW?;p^Yx)ar-{ARV=~Dq zxAv^~J0lsURzyr6eTp+MaYDf+3mX-fSl?lAd1|Tv^F=DtkQ#LY{DT>l(eD&k;UFd< zoH-fuf=I(kQrD3$^7Mp=5gQ;Y6e#D88~jQm_K`eVfB*V1TI^XjwX{5ScW z5OZ3Dik0T#qX+-}t|M{3y*~!}!-xQc*V4W&OdSXBKgXY~0I#K9L;8Im2mOGE( zN!=EZoA!ocbBXea%^xS_d)+%ad*|I*6@r~WOwYl+a`^ODG4)_kr3kO+&;6Cu(Ei&S z*ut+UACHc&wnLlOz;K;j?ZRP62F8W=?ItXA9on{njwkXE+!HGA^Jt^Yxnqkc<*dhLC+t3Cqc=vrRU+Etv-SsA07HPo2TSG6z@&h?yZc*Q9Z})5%FerqHa-7IE9cr4-pj@nQpP}G!#&Ja#Jq}E zEc)BqzRc@GZ)F|*PFjv1(FJ?h-}VMwZA=w?_b_57sk2Q;caAxPT~90-!C&zZx^RKS zEKJrUH0i!zxH-7&5N~=<3kavLW}XZ7f0-Q5Q}uVW?yfQ^N4faH^tRDJbVDfKH`il0n|Bq z@ah&+anlO&Kkn5K41Rh;M8VlZ5pYBPC?AxFbsrG=v!-l8_>}1Be*Zv$3a&X9laWWI z?}NS};CLB!Ny$c!q=$8TKMzN4n4Gqd7Maty(0+Zhv|!CUchP+axqWjf?A+@0WDd2# zpZ6`$gY_DUKHr&+@+wNQK&$H|4afB4`^LQ1)QBV zEy2!e@SJ#B$=CXZ*<7<1CpI>7IZK8M)DD-Un~kk2Pg;>}Z%-UVZZ9`aM>`z$|39j( zJD%$Q``>$AxhSqZvUeye*<7QDLX<%8;!D zwd;-L*`1*t&M~*;*$uUW{V~h%+=@B(qD3%<*Ar@R^2ibe4Ed7M^EMwn&!{f8Yg{+l z??2B0VhCvCO|3i6Cgu4L4cS%+CFK!YK^F4c%VJ<@nL9F1DGqf)i;t&T-9|uIN=y?g zgJg>{!=bETeo4uunKjaYL^*^z5{+JTSCgWx$n2KQ>pGaTs81g3Bk$H$m(Ha<*{=b% zF~s>kYt*}X6gCBaBZj@9@8F|zal8ZMZoo-F#QI}9Lkg0`v7D;x&y9As?KUh|))qd; zan$eBa;J=J?M6EKmMB`Y^d4Us+fxGcLbn^~U)-`A7HM8ibn|)Q^t|m(J|CI?5f(NU zKQ%<1y(E&N9h&BD%Q~f?92MC~cYBQxgjT_GvBSQT{eo^`L$dg}J;My@GL&pR&RE*t zLsu(YtrHuM`JaUt2@p0!j4qRBl8k`y0+y6=Pl=Px+2sfvF!zd7x1K2_)k=BP1=`nb zm+z?bL{_)A4z-DuC^8fJ-9e$PK(%&A!gh}P!^Y^Fw=;!BWelZD8S~YuY_}PVv4pGe z)wIx`%RW+4Z1U$}=3w*2*P!HQTn0%o=(KQ@2HdQT@~)I8u+qb{6yIoUpwqR|d(=_u5X5*Gb>rA=QE&q`k8H09%6L;@P0Kg-O zb2gU@FjLe((Lqh_@)dhB{XJh2G@yaYH~V9?7^Gmcw6ijnT3M`CNB?4rtVD>Drl>=s zGwF+g43BM&Kak6Gb8I%(Ib$S!KL??#to(Q}WJ4)k!J{I0c}PH0j({x&!Fux)QrbLBHkJ=QS|Ec-;1$@bxj3PibdQ$_X9Efet&EheJr)87bi0 zsL=(df|5!5J(`skG}&0sqPAyW^%shS^f^L}9`g(ZIW&o|j!pQ%;C7c(fr_klX^;Qn>3)ENmyV>x>3}#{( zr6;q7G72SwtK;ik>nz#o8nAsl@8_M?zc=sS3jUeZ_@eL5t-G4rLvasH5l=TH_hJzi zjQ9NUm@%x9YWDo(w;Gov74qNV)wqL+`zwC}7>xN);B*(zE@~y4_z}<4u~*U}Xv$bt z7zs8pU%^zwFQ-b#`nBn=D|H)0i}{@vtAUA((!k-OHq&a`C-eJTo8$F+`z(_y25O6l z&9R~2lKp^w-ZO%}%RrjPx>)}1%i*i-k05#cwl`AP{`Ueb<`D2Yzb1M?Rddk*VBqRcYU*_6sf7FY+DX3}Uv} zb!qKZeo`@jk$tk)Nw;5r(7^q8F?6GIVg*qC>-J|V9Mz;VAJ5nw2ikBCqFq>}BNN93 z%coMY7(4MlZGgZv5S~PCjaXHCxL-9G;#RcwRw)x6Z|YrE{rjyg5b{LSE~e0dU*Pf) zn_c7%vTHTMjchu@+tStalmJ7m^f_gMIM{Y`8^CI(y4{%rCDnTKp_Jz8#p7U`LTDvZ zLk11p*bg_ambS@tjpj-BQN)~U!I_ESd#&cZ z5YeXIpiPhnfE12RFz1@?!g}w~6*9*7ZP=+Sg3N8TvIw%C-&J=aUnRHK$=gE}q|>&G zb;@VLmY2Q)_po>0JiU3EC6%i7lO70`0@gD37o zj*2A5KDcm=9%}MVAjBu)KL7{{(4w%kgSb%z_6{0-b^;#s`!xu50O*qS5p?80 zlGQ!&%C+MQ4XlbDUH0Nx{$=PK{&l*4A!B`aa~iMG+M}GNnt~BE*B@0ovqZPH*?F~; z`TbIc2F%XW%){hEW@q>@E%)$~waB$G%^J?dr6cvUyJMG{c{zUlKzq|~Pv%L?_6XL^ z+Mk)l`l2}SG#|v!cXd@Wn5Sy$IObl!Ar{7MnP&h~Q83#OP2+IRL{TUVaNMMd^D;m=*>hyZx_i zfNff;)IWPXU$KE%4|~iuw^p~&Tgg*@{lqe*=L?2RDgMJhLBU~lzUS$z2;VQm((YUk z)WIOG^Lc_)OLb?rv@vgQVNR`f|IXIt>X>|Nb9H;$eA~T=6?eKh!*OmfXXE%4pveP# z*T}8bS0`qcWzYTzo!{6pzX}_M02{fV@f-|OuQqbi^780myH0$T8BDeR^12g3Qy%V* z;S@EQkL&Ac35!}Bxw5|7l~mwgUDPU9E!S**K=j943){RkqU8SbYW=gdww{sFm%VlK zw2jJ<6w96#JkRqf;@tEjsn{LPV!?>Az7W~JiIfK{L}=-pNeBfM`W`J5^5^wL3lIXm z@4u1xjh>K8MFK7M!{)8wG6~|>uF)eAJWI6(^-c>53vnv8n7#gxy#=}EDUegjZd7FY z)GhY+vrNtf<8M%C_~AGQpxyl&3cc@#pvkRlNKYRef$eu45zYqJpfrT&g;T|HZUfxr zvZB54Re`ZUk(X7KZmvcqaHFSOCich5o1X5dNVQNuOc{Sj?atSb-gGJ}%bi z9!9~$4uI9uwjaDSwDBCQ#CiiVN^cd6L6Q7y`Cto(FFI`f+p6V+7+Gw%4V` znK?34bDGwFy&CUCUeKKDy$GB2##faOxT&1wcAf9OM(opk2$lJb62KNiJ4I?Fs5wI3 z#+}Y;{7gQc%FByKKux~$^#&h_1^CD=R0BHqJa^tSmA7^e zUD2Xcuz4+(cIUxs<&_B36GCI-tu3N|y?2Q7-s-jeEx7~Fkg$>c`26<} zK*e^w^U8SvlmlB3jn|0U}VVlM#YF5#<@J$a@0a?|7Y_-ZB=!( zlIp>{X}#>gd^acUNnQv}gVM89?DFQ-7Z-1{@XIpX`8OWOKvjk1pNbY{pA35rDVOg{ zk^F7uSt77BY8FAcB+|DHk3e0*AN*`JkD|}^WPp_*D{E_IGs7JH0}8mG%y;jOn;x_; zZ@Kuo+6*5M$Ev=a!rLpAWW;)_znj9AynWl2m-pOw(q~@kUdT}xRQ7j{bUAiY{&fV{ zV?$#!eV#5z*_WWtfOyGIpt_(g9hq}QST3>)=(--%ZNjr`&2{ak7`E2tLbY7|@UDIC z2xfav?M&X2PKu$T;TqYYX|sFtwC@h>T9-SYBKNW`KSD%+u$89q#S?Uj|5sm>p&MO! zcOi@EScy%Mc8#D5eFI^k z-pZJ@Z%zAUa@DUP>#Nye4*Q)fm_fR^`PqsSh$z~_P|mS+`O}>eeR!0M@P*T$GV~v^ z2Nm(nLBrDB=1+@$N-L|Yr(w6Q^IH7pLdO4qAu6W3C2f$SsVG1STxznN<*o+cd zl?-O?%aAC2EX>T{ebCoPE&~<8ECqO?AmO#1dTJ#(o^!TjVc+6PaXFRKK*l$Wzn+bO z#p&n8_5Hh=+F6-l%O%^!#q*WYlWntdj$J_w>l0g)NaZMs?#8k;Jil#%T0F%Aj$aN_ zkUkEPtcCggj3N;CLQV1(l zt8`6xXH6FJR~0~Y!s(QI+I2u-1CFhQblh3kv^xSKRHxK=6kt>2_=82Y16xjRTb146 zl=cF?-ib_23S3Ee-_z$Oln565subz7ploi*-kzpvFDxuaqt2sDTPkhh|opZB=Paf8B%vEP`hm{=9{idzsQ$=a@-m0Eqs)mbjy)f~UY72)N z{M}Q1@L;C&)}_?{1+7c4wBo4o_pFDaKhwtsWoa>v9~GeE^(2G2AU0VD{ja*t*KZ&2 zRTH*3dyxVAs zc_*5JqzW1Zxpz2+&mBSz+|1$LICqWwWYIlM-ueBvT_?!#p@MJL-;O+Q^ZVSC=?8V| z(ca)h->APLJN(+8!i-ddZ`fx2Osn*ZVymRAz33=^I;PLwBT~Dn-V=HTsDX?f&>y%)CcB z7qUYG)!qkOOWF1K%q`$aO;E-vug=Bi!rq`^0E(dRw8ibZ5%kD+W!V z_PAl!uqR%bnAEw z4d+q%Uh?(UG9m8>&boI&uV|TtAUI~IiW4_r8xVN#0>D4q`8j)DAxN1i@rVraaV#Xy z^~^UivWKRSV4EWYj14x-goU=EGY7q6>zxu|-F*pT^RseJERa-;+{~`OeZJYOUu0KDhS(_V|m+t+Qg=@z-`K}g8cyF62lB3Lu=3r5jOxk}$ zqUIAyJ3KUpFZaWJ0#1k@o8&>JL&U@s$L~XpB(U>h9`oCCCXnEnPLD5jLGJz@VM7&U zZkj$0txtM9T3>JbcWzk%Btd*xuVe6etS^LWckZ)Ayv4pvkf9ymO#If76bGoU>OvPZP+*az zF2}3L1~zIm*!^G;+5Y*8K~g1{hP3Q>yIA7yo~yLcx!E=gxQMp9`6bW~KplJUhjS|Q z-oKr0&Nqou)O@pYOzGem7sc8ohIFGI%7ZB5?h}F0e+Ueu8pE+bY&*-=hiR}Hu^iF8 z*I-TNZ&FI4?i~gQP-W7&djG@k#QLQGinHUwo0~_Z8Lmg*P*U(gAX?&>H9F5f91v!F zqRk-H9vt=*y;sLm@3t^>fTCoxao|Hd0_O?hS42s5zp=LN*D(iyyOPwue6mvvPd2IZ55UB2*F zn@EqCg@%PRebn1s3z}Ep-GxS4b)MX&Ls)mqQu8#1?>Qth|*D1R!DeVKSwPqm5#y(YkfAI}p$2{wQvUVeNB z3yNS#tSt~tMJn`;uFaEA-HT-wmoXWO!ofiYIeTYkO`xFvX6tcK+_;wON6|Z3{0A@g zFB9WhS32Vqmv{gSq@T4jwT`w|Db6smF;I%ba2zObD=ze2tP`@$O)I)4eNel1sJ%X`PSY*=n%nG5fQp)8)U=f}~s^e{5$9d|BP+ z7PGe;oK?pyVR2aG2dc+&9xFpfB4m@)5a)(4gd8{5C8GGqnv~(uf}?;6D0Pgb!DP|u zWVp)O{LsLaN=W$=g-CxaXKGh~q36&Sj3MX*^}E1pb@q1HTrbHF0vSJ^Wn&G2Gc)|zl$77!=j$`c49ZOX#e&@ z#!K!ho@)W@mrh;K1R&q!i$Dm2lB*bYeq}>E{1g>>;6ovEPgU&tib=NH+SL9Vk`oke z;ur#f%oD~T)!6q%<_t7P=8WCk-!nOU+6%Cd?v8>T_X-&U0|RIhY727R=Wp{K%?C=2 zLa=8_hpyxMMIcMmwih!!-KiJ6hRV=KppNQ%eX*MzJv)@AM9AomU?liyzYXbTE>ZKQ zS%e+;W2K(G64C)hk^hDtS9q26na=}FWV_ar^!hgu9E#(C<>&CY!O~BCigcD5oZTco z9I~C)I_2+n<3*3CPJs>k39JfZfsKc3F=YK-rf+Y3;L3}#k)hYApPjjnWi;LjK&zbI z(L4YBR=Rmg6HWc>E-do0{M?b%>n4PR%o3tFcWzM$&_1l@$ko#RTCmq z3{_)}*Z!3SAxP-c7EvHo_&^hqj$}mwGXE202>=w%oy4%c{?{wrp4EC{U?KGbq|Tk+ z0qsT3$uQELJLGtorrQ}0fa$UQuopoD(4mRefn{RJ{ut0Cn@%H3fsg_hrfQtc0Hr;gIp<~;(%+CHd>$i5^f z<$|kJqS%^ZZM?y5$*HVX*8g`b@sLbe9~Zz@irGt9N9{T9{yg^A)6+tU$|2Xk0CfUh zBbpy|%n<%bVJ8a0lmuF&Y|tK<*}(jRnW8z!fU~@hr~DlAz_LT7{Mz=%At|uy_&u*= z?C%pIjh7;$w1J5QxD{D+C)KS6yiIrj?yI@b9dt_L#U)5^6}4+)MbZ1UnwT{=nx~)| zupav1O>=)wHp~n#VOGr8Rwmb;bni3dy@qU*a+9}@sVn2TQuoXSR&cR-O zJi3LKAQ#s1B{k)DZv#TAS!7wy@&!*W*YA29ob6Rp^TsSsVWxX<-RAV0-1~C|d4YRF zBl~+-SM(YpKM1KwE(Jj67P<6ntwG8vnFsuj$w^UC63Bi{r^gw+EJP5!+LOEqkqpgZvo`qAM%`X z$0J+1W((k?WA@V+`~p}HkM()PjSaY2sF9w+s0VLLa=`iyk~bw870K)CW7}CLVvO91 zZHn#;^1*JSu7VMG(kBoc9W2ck$@k|6G5E^^IvUzO8Cn2#e>9}YK`jHeb200gd107? ziUZ&Ke7%ezOGo51Bk?e^+1|i$kB7~E!|cN+*T1$H(z$uOn!^#NRVrG~17u+L0jWz_ zS&+>rl-u0NczuivPNZBd;Gsf0#WAQjUx?3@(fjC$^yDK@dA$?p&;hid2I6g4Z{5{y z$6sr~1HNn$W$;CA*Pz_u5NaO)HL5lwk~@wf!oj zJ&Fs>O#f|hB~#2`P_#p`(?I7zf!k!EA)QPi+3au4 z5FG_^;&^}LKetMSCU4Z-&%Xt-w?N4s7qhGb`h7C05ogG`YZ}_VsTTq-JJ{d1HggKE z8T<*vn(m3WPWnJTs*@3y&JjY7om7!h$vAZ}dYO0BJ2nZ{OFn+qK(TXT8YV3*06#~G z4?jmodD>IN%9s5^gT5ijSGiX7u5IRna(~s6xvF&Iox1W!_Wo`&6>|I>WR{VQRNcHv zH!8w*Pu$Oe68Y+la`C@>N?ao4(w0W%cKPN*m|5uCKb1{XmJck=KbZ^K%6)j|g@D^^ zB7z!EyJ-j!6QFerN31esT4;jJXf&}0J(xAQ$wz7j4jpM;Gp8*e!3Wh%`P)<`k^X)K z!zsm(^8Lt7Yi_XMGBL;696p|gdyjtE+{s$fECfbaSuNB-4N35Lhb>7=XY5hX%@K#2 zoh_D9Vk}gw8bxcLg}UV#u3sj%WO}#002#QtGTBD5?RDGKx8;kRq-2nFxaiK>Sh;Fy zs0T4{x#lx1*NG*3aD|~nmykk3% zx$a&RdE{h%=#6%NY}t*v!TlQkCWAic89&df;E*bH32Me6O@GJ z_ebHAr+`dd7cW=9%v@({(7pi_y|350IMF+E={By-#I!DN(2m^Re}-tfn&)EX`>5mt^I*0gW=sN&7@^-=i}-H#&Hy5`J7 zxQd#|rcuf(`(s*UsLiZMAZ128HQQ|&k@2fYPA|2BbfusMBbLtlkQSxG%${p*7cVbD$ZrgFC4ueBhRTa8*Dz(nOA z^lk_knv&5;X_SYE8A}Uvn4i1)Y-ube`S&q1(Fw6#l=h<&|4^iE<2Yy-bE=9i=ooGj?ryM9$8E|+b zk-P*d`i20<_t~CZ&Sn%!sZ{8^=~6w%jmggd{RxDD&5<`$hHHwI2xoT0PAf^%%vTV0 z)@ZDkiZA(n!hz$n>een5n8-3=31K9BPtN%=Jud+APK=i`jkTxfwEE^JmS`W(rcuOU3O9*jjje2zdi=-qd+`cH2`&<2Z0rVuLqH%J|u$zUYsO0lEB z@6S>DaQTvtw)T#QLtnsvFg##D7)&0$1?xra`dB`|`j8IZ&g+~QwrqhT{#YY9KHag4 zF#@#Nl{#W-N0!)z9lE7Z^f|Xh zek(0GjtjHP-|VDM;|P4fjT`lHQkkYlc;Ok$AOohY{gnd1@ZNNT!l%vr5VX9^cj`$G z30G6E#nCBytSjRvmI*-#M2a&E{YSgz0{Cxm2QS5P+lB^nW^zjqH>jre7M9_vzG*ZC zrkey(88Cr+JAUfB_Ah>b*8lp;xu2!3 zUPD+36GRiEkdg1YzSu=P{8=+$4GF$9+&?rAqPA>Hwr5$<_4QSYogzQIc9@wTmNWJ! zJ9sWBN>9d^^DF}^bUcYu_H8=<`tuF|&1i!d0U?`OLGOV$Jj3o!ZONQ&G=@)10n8zi zkem*KXMs{8muZ1YpA3+$>j*6Fxcv*}2BTfYlQE~62xn4C4iY9v^7vW2@354C_Lamx z769@j!OD4&x;)oN^5`mg)gz_&t52iB{_oFAc9%)=P^Gf-K4&6iJZhpL{rmI6#YGzY z$z6}(UQSS){xVi2NXasem5(Z>>D`E^jHWaF{9Pi0?m<&q5Z_J0u8`xY`k zwM*k-dz<}-x$A{mPnB#n|6@Xgr(%B*Da(O?jLu(l`V$G{f>}N&iC%&A)^D!V$LI#R z)f8_$RgAp(5Uz0#eIhLV)J7@r(ED4^tTMIyQ5yWt{ZJ=~J=Uw>_L0?>4dLftK?@1s z$~w@*^4^DQknEJQ`P|EwD+XX~*h-0=7Fd^qCXbb2cfW57b+e}LRz5{-J|IpU;Igdn z%PX)QNRg+t6+e#s2e)4#M{8u51eeGTp;n@RA%Jzgmm}NR#?vphT6-#<8SdRV-z2Gj zQlC&k@uFMkWwFTG6& zfxjRb=v3#4fM+LQ6twK$F2(1ncRpo+^8p#}K$2j0qr!DB zNImbyAZVrx&z{z(Fe?x8+qQMx1?>fiFu&BMmdA2M^ECK8m)*`qN9~A}o+nc^9ye{h zZW(ZDgUJ)Aa@GDVN0IiWAUTOfeqXNY#+#*|u(9>ZMKXNKGd0?vI-gGgXy*wbAD6Kc zyi;Tj8MI4*>e~CZMLoPMuld)P>&H32uwD3Dj+#X40SB@eZ=b2P| zS;8X{;MoI*~<^qK@7hB8rNGdeuR|!pT zMbStE#R(OX+YDeB{W%G?551;DF2DZK82E2kjY5uk;}A_R&vnoGUf%I)x-0a*%nxk9 zm$|ch+Tk!Z^YG{p$`mhqepI-)cCjeby(26WW(I67rY)_RT{K)JQ|3caXATd*c*YCL z*Df!@%sw})p-X3O%=GUh1_ZP_&wM!!6NUv9n*UsWuo;ee4ZoVtM};=NGVrB{Reemp z)CsI&3DO6P5FX!wh+Rj>kmF@j06tx(!Hd}s*OV&}3SWm017mc0cW8{Zi<C_dz7L zENyr5=JxfeC)vL5XZL2QPqA0^@}HaVPvQ-*nSus2#2=7+H1hiR`NbyUR zyO*=D`u<{P>xSP{PpLm+Lq@SdiO2_(5!HvM4DKsxb;S^K<$P>9 z2JcTtaxc1FUEnlrZaN-}86LfMx((hGP4dZw?o^;uV{Qmhvc4kz;2h5|Tg2(}!1~%b zf{_V4NN*5s#Ig-xXRaQ(JGTmSTFE0{9Tfo)`gdLjLc9^s4^Aa#F(I$W6UBF+~ zF2M>eznFIK^u%EffYk*Fkm5&X(({LR7B4pq`(w{CAUG&@4GvZgu7~aJsMYcO`kZ<2 zwHIc_)rke}9P9Cw~w=Dy}za6M(zqp_OiKVyJ@ zB5W2f?Ob61XgNx&eInf9E9tU|_)%AP9=!-m( zpi{B+;>y6?PIWuq-Idk;6LLlnC3VHO%okAYYhZyCGl%{K6+4)BAqYqeG`9_VCXZ$r za?gf=O7ac6MWDn!`Ay!}!A5NlF=-gM@ zi(e5xt4;w1;@7KDTQfZP_awio?G_MRr6n1tWbWHB;oQ6XlN?tGl05oH!&E1+dpQ93 z0)C{!y5mT{dBPOvx9KYt)40|LtL^(M*$76ck&zUiXZ1SjI{rDES7=h-gqdNp2;nKY1idb`yU0~(x#S4 z(?Gx6Tq`=5@n|IlBkuzF^~L@5#oVLT*KCVG7xubui%%$~3u)Q6wCS`>j$gQHjsD98 zaLNdN58B&Y`0F$0K}bRX@2rdRMzo$of4Ty8SG!3|$aEw&{E)K;FQIMrz-dve_xqVQ zW$iJ}t*xhDJZ@^e%SJC#Vm~SWNwM00agSnSi`gsbVynDkxqWoXRV7D9M-CZc3`O0P zP65}$%Za)dJB>1f{A3nP8WcRzVP&h`dR3IT4qjx+Q;`}x|gRIbyBg} zND3pu!ix-o^La3mk59>|y0lhIH+^)GwUh};FPeO9RUt%hEPeGkuQOWK2rJ7=NQAll zq!2070S_$-{^&!_f-qc*F6#?#G~*9`_@4*=^PjXkkomR7l6oT}Bgnzxu-5&l;X1+g z|GuLNE8RA}_D6UmObDTc*l5PydkBqjY0Mf?f_uo(xx9OICD^3LS)2~04A=Tpq-zc& z7K#g3$6kzld351*5f%O?7af|c^V8*f{B(%nLf#Hf`R1>vVEr{Z7!Ji_bq)zW{qlt7 zCBGGn$Syi%<}y$Hg9k26f&0jQc7c!Z=7IUi`75(|+a$}xAb|+3{ zHmS8?P9MD5P&s|jx!YdN{d_IHTg_>h`+4BP>;om6r^^?6esErTxpe;gd0z!6Gv-KK ze(sT!m1_|ef`8xLI|``9R%5QjNBTn@K;R^`coHe`X&1w>ZdxcMsc*N9^VahVDZT~1 zZe>FB3f7D2Gf;LPEP#Vzc1U^oHKgdu)iyKu_brJ*N<0_0yz3*6&nX_ycNbM&HxwY` zr#2|2%x1dHcurZrjKQ8CzQ-H@|!Er-8E{nctD zZ0s&%ez~#4mY#v3u@jHAJWI#wsq;$Xw|Gzuo(ptYSJW;jMYQt$eg_CzxK;DsC2%Q@ z{kcMmMW%f3&Hj{Zp)`v!C*L7cwO46MbW0C+UuUTcm>rDsCBS=Q%=I5Y?v>~L3bI~q zEfsn*uv^tjyvq3D(&Hatf)ISVANlL2;&id7B|mChM3+MHk$&&j@kj(5Hg+aF3UWNk z#@CQ@j2YY1q0nqZ;j5Oyu8z4|FXAd6B&8|k| zP^+vr9naVoRjf$ak(1^7X4^%3j&JIdI$VW@&y@1F)gz#su+nj3!+#8;GJ5A}Xg_mQ z2JM1AA5efB!6t~kSq!GMMWctG5sLX#MCGOxzNUhOoyB$$y=*M<{6i%zM4}+G!Hbv9 zSMVYShctM;c*Q-(t)|ZK!C`k$@^RqgkG%HhylfzUgpXSl=tS0nurWUZ_mNdy3;R&B zp9SWo;&?g%<_5n=^Ien|$&Aoy5@ljGOrncBhdmelv^qXU_^;0XF=-&%S%MLm_#4_QXSBcsLGKc__rw3Qj|( z$|KLX6oC*}cVPy8By=Mlh$q^Am!6*O;Qqn%mc;%=o!ZYa*h(|tE2;3$lZC)M$6@SMV4)AGCH)gkK!>LD#@1V;4a)%jUEQ> zJ%`@a48D&%AD9!@2G-(t zWN)>K+7e${KWwLkiJu^B(_=12fIt+YO)$?hzCV7Jx6qyATKp$y{GwWTi7;_9)M$<8*Z$35m)`slD>yFWKec2Bx10-^O{JMZfTW9(_F|3ZcwKT53jN${hP zKcQynIMmb=6JrvrM06m=;Sl&RZOJQ04S4w3uq#$P^!c^K)khGq_8=j+*`zcbdVY=O zM;sh3?KCw?{f1cljb-uWQC=h!{9Pa;9rO$%9rDGE+urCm2@1_$CFfnF#op0*ZXl>k zVfo25(dw-7Fmb(twTBSPM^)L{Y`koKtd_!a{%e_J{76hDQ&)+-SxszjpybfjC~o50Uj z^4?q-D(6Ru{uWB5I}~q;qHA=jbNemM%a>lcIEYx*n2o5DximyqwDAF+5%wvdBu@PZF-#sm(^s9;hd8;h#g zDa!W8d#^g1>WB7E8uF-pyJ3}?B5^9C7D5@HsXP11cu&HpRPudS-VIl-(v}!_sU~KZ z^3{n~r`3Yid-P*z@9(|3vOBS7>OtJ=k?z`il(cNegpPeMG#zY{#`@ur+DPuRXSxEt zA1^M1c_FLzbTj_5t^VAvxBt;HNks2hRD__9$;JvFjYSuoaTzwQd^-0 zPcOhx;(QI!k+EtZl9+%^dvWqV1mM!hk2UGHhHL6-bdmHruos<}UfnLh%)VI{G5o4 z_gs6&B=5ajsul5E3n70DI_Tf+YQ;Ts=Jn^7(Ux1d_wCm8iw|^)?MgTn-_h5Xb?L#LN$)2gyi+@{PPo%KMP?&$<)<=y`}iQ{hS#UPM?)&LD?uIR%)&xK zil0ZZmU?t-|3CU8v#zLKPz-P7`4jyO;98s6W6o7#!%qcaZoNlX*j{MxT>ftQ{5&|N zJKS{WHTgc z*HK7>By54>tQPhdBb1p5y?5yX;-NHI*;7-hoG|J-Y2D;}bGt!XVbtXZ``TFyk#UV< zYBXCaVL4B8YIF^qr>DzjWcUaX8v*yr@}ENXOm>ckWeV?x(ramJ&zk&D+u*_ii@#I5 zHx}(t&e4~>kq~BBdEGA4UpX@|X>2ru%yW4)u=#yb{oZ{?`>Qpg)rPlA__0Hmx{+ zgP6X)_Ism({oMLh2Q<&srk$q~($d7=hE&OCDrK@)RyKZ={R`qy2&l!_9dyox!%PMV zyC02xTBSy`{c#s^{1sWdLRe(#?rR=R0kc_FURXXC|Bhbj9(}iprovzx*4vL8_~Lmf z&3y$1Xl@J%lFHP$WVfID zhS{AtIo)I3<8JbN58+9^-1tOr+ORtF=(?FW>5+N4x{wri)b<|%JIG}Qzt+d!*{i? zT@&`0^Ch-?5Y2n9JtbkpzEF99gCogO7QEnT($N4#{z5U{Y(LSUOFMQpDCrjxHi?jT zs=2p*ZIT}Cu%}^@STFY`&Ywx9WX;*z;hW=QgO;3Axev}q-u_k{lYO&zbKEP!kxrCg zM8fx~uv_P7aT;f-*xr>$hbe$4wnSNHRps6A(L-Ct;Xb6g^9a;$@X#x|4J!f~E*Z6x z_|m704kj;R^yL>JY(G`ASTv35!nWAmEb9e*JgZ&`zAv#n$gsL%{h_V2^t8_IV+7bs z^ysRRL56aItfh%D8>i1~c^~=n9+l<_=n3g9a%k-*aI9dbf8Ck(DPpj^_~WCWr~&SR5hSZ%dMk zf2P63#fV3N8|KYiq6fac9=Yc+zY0jGr)XZD5xIo zf1dYNG%X^&8>dr-8T?M!YA2_IO;@{-VR$gUr$GyXqzQ5F5ySG8c7KbVX_@Nb|6}T` zqoRzuwhu!{Hz?goNJuwGcXthnNO$+p(hbrr-JLUZhbY}rN_WS1^Stl#uJ3Qwnqkd- zpL6!UuHUuKD^hI3>ZqgWhqTE|y;*+fPdd5e7B1g;6+L#p3{jda`pa zlE7CT&S*-kReL+%+y>&8DX%faSm1en*WSFGl)shKy|Kh0GGazuU+9E&)jw8OY| zbsCZ3c^iw{Uv%D3t!I*dbAFE*WJizx((@>j0F6fxFdxi8c?u|I(OAT($Z#FjP|)Dv zXC=cKYY=s9ZM$$xX6W=T4<=|~v!>!n1SY+XeF;h%5V4~UPm>$o_qdAIbB&QYp9TkP zMbaV>=W)sYQ^q2iPoYtVZ`P;J(9sO`dSkC&T^f9}9vvs#9ZSX!RUt8x_4B>^i%Pb5 z{Vq4ZoJY!h801Pa6B0U3@*&vXwM+DxEclmWD<2C?m8pPPQMfPXt~8ULS9i3L$k^l$!fL|RVspTdxx;}U0@zI^IZGY;SX9^ zn;v}AOll={l`)GQWucFJ08mWB!g~j)`5E<6Uu||u-4m&n*;v}$7WUEU^3i4+@Kgw_ zyfUScgVz>epyj}#Ii)6`sT-Of-gHIORYTH6#5jhQc^yG1S`MB@eWBw5ynXoi_*vFI zs_%>cVxU!MGXA&Vj*~-~8p)P}Y19Wp3~<&R-fNoIw)ZQX(I(*5OcJ3XG%VM*;luM_ z^n@$2ONl9oVRGMUeNePThzBk;j6|uqn`(p>F0g&nklvzM&s+&}ejmMTK{MG)3}5`B zC4@S2g-r46B31#<_0zSQMlgg0ahV&~LPi<7%7)tB`_87n^k2kYHBOZmX%4x3Vubx{ zx!KZEYJ&gr7k`dX7TyQ!axMD4zO6tynG_Z&PnVFWosVZmhERLN>^T|&O z%k({$-ysnQrHA1az zT_&*lfV&8Jbca63(5^QC9iy&Hn1M;OyYh*^;56(CXGR(Y5gFb+nkp5?gq~Lxo`)S* zxe*5xAZ4=UZVIQxJoC@9$C<&ff&F|Xr7>e;wlSlLG}aJF*S%7@Nl*lYu34@{zUX$8 zd;V}as#D|DjV3EEUl$^uOrn)1(Om6fmMyFVNj^_qC>sq=tCYrxg%iA_grc-EF~jOc z=Fn=TNzX8gH|lC zQGcN^bD{@L%m?uG%IhGb@Nc6bX7T~j)qcbjdM5q^%4c(3;uhn)bd&%X?RvHv0VASr zWzOE@8FV`geNlrqc~S^zzAeg)?0?T-qJWoHVeQjn8k<_)-c*-pp7Sy5*fsXCFvL}1 zZZQ-GwT2c-KAzO>w83$(+#u0XGX z#3eBTEofmG{8i5HF0sa66_;UK{qzTuGUagBI$|Q+FCnn!}#*bkID7z8`KZpE5EMtE+2t z_A-4x3@L+34g~S6RsywSR4ndVRN%7bIlIP8xA3d=-#-&Y2C?xl>di)x_pbjBylyP}jpYQF|)wi-zJ^fHu zY&rUMsz#4?#i?!on%v>vGJVcYkj+AUcic~~M7ED-npZWr3)x`K{?xi_z!!Ny^G{eT zbvL?i_i0LI5~6J3^c6H2R8f73M^1?Jq1DN2_$>c)%i4SKE}Fo^-F{_T=NW0F%j8eM zxonjo|3>FtZlG$zwVLZB&e+w#*qZjESrMGImdKkqM;6#=Vu^sqI|7fdqXCD~5}!Zk zH*}RBKZ*bJW1rJ`x0I7)aSZp?|A-|^V^&xNBQuC!PyTz?Y~WoE3S*g3MB$@= z4-v&J!r{}Tn`gkH7VmdT2Fsk19b{KMxC+s1i4{_>%dTQq9>f#<*kS`tmlIqdtV8ko zeiSI|31Z_TA)Ibh6Ez%81>c0Q-T&uxB|TCj{CuB@-#1aq)n_C-jtde;X)#B{g`bu1 zy$paehz(Cpm4pzI2qrPs;oQ{8$dnjXqHSJu8{N~-{6Kxa#FQ)_@&W3*^K-?Uq=#Vw zIyw**31^=H5x8d@H&H@o=P;wW?RfUR;jmT+=_oafweBNCim*x`dJlx>7as-b6ZL5| z@Cr`LX2pdAi}+LHI@uX^9XaEeWF?nrg<3hzO51$F-wZ+#gSrGv{6@)4); zo>y`r)dDRdUpWH}HgUpqE57;q#m_|XoliOb+VxDDrN)G3ghQ`d&$r@zbnx&@PPdn= zQ>%LZ(Y{+>S#lS@{QQG$u?Z5P#q50!^}olOWi_Vv9dIk3tAckWoeLB4JO?G@ci8^; zA%B?bv~;VnOLq{ICQ`0Oxaj;_Ux&>QUWHQlwESPUX_$C`I8vHG3^^ZY5Q_r0>UC|I z7L-S`T0^4;4V7i&4eaS7$6;jfu6kDNktjhG?|0wAl~Gs9DReXfru9Zlxr)WU44v$E zLP6u@yc~LmOt7Y>GM1!r-Bp8ESN~?${9X@~nrsA46{+xkRbFZGi?pSOp(QhmKmNd^ zGy9mSQw#o3^rNt6iPs)(ru}%i1v7QRh@c6R)9SI^b6bFHz7t%A5bl4O!ILzQ-lkNv zVvahwK31y%>0`}Qd6biW`jo||QgC-#RR4Noub&yub7?NPWyVhRRoUFYX^w zppfgT0d>&4V3PEs&2|Kyni?Z>^si?7jh~%iHU4vyO*Y#Bga)l3E{jD~UP@WXmBKF` z=XaQy!j2@Y<+7PybLVU|v8{Of5Q4Yp1P04?(aV)F2Wxrv+G_@9? zw^{{srZK5&XnY!g7B7}Hsp3XGe^srJ{P6av7B90puF&IgT8qzft8nc@h$|6;E?j!! z6DT5;iFzZyg3|-@+T_}9E$F;>(sQm_j1l(PAUcCL#EEd^W7TqN=e=x{`Eo&r&nX@r zg=k3qpo&5*`2m4E(mc_j!9UGr;K#rgPWtSK2HqTI}XntY=N!Tn0|>7|??R zUJk~qp^I+OUBr6l_m_F3fa;9ng1G$Q#q41Ky=Q_kjbL8rNYAihi7HzC^&}vm&+=x< zNlV8PRT2Kw-t{(GLA+kN$n}z3;7Y8lS*{>q_3o$o_Wh4&dHEF6`{&vPyZV75F$3dT ziPPQU(m~tJ&#wm^hGR$AH=hQWv`6UX^b&gX2D7tV3JK{XvxMCi8=&=O<4iOA3i^D) z6sw({<>hPN;H(J;J`{)Xm`!ol9SBfjL;^8?wDnmJJi;cnhmsTIP6gbBmFaQ}z z=1sL7@D+MWl;cm90t8I@h<7MgxC!0<;AY~Z)t1A4^yGry9Z%ho5Jql=*IQwqdsZA>Gb+nMvtZ60Ti=X zfD&P6DsqGP4vR7jpXfe1Mp)nRp_}o|b{iY0bJd2;2iJJ?kqW2a5?ShayErT=SP+Waa~Hly zQK9Z^bw9#ff3=re3RWbpT-X(PFn*W{1gJW+pj%_a2#0MhkTXJ4mch)=ukrSq9?cx4>o*peSu0X># zAKfcE66=lWj}?Xc4{W~UIQR=>{#ix)|Ez!j8Hn~3%v7Em4`la|D(J>aEO3U8>D-X> zE8#;Wrl?$)-yf)DkE4P`%Nn-KxvxcTtEkwp1W?!Ge5BGv)V*avR+)a5FiU63xi(ON zKN6tz9|i{=yjPr#BwGGbOw*7HbrEeC6z|$rex`w7=jW%im#($_ z8=K+{`ZP85C9A2qAz;EGd#Q5U8lt7J{VglM+GTvVv0FMAl93@)O0D?RB+{JSJ4oTQ z^oGv|pUYM=g30*Fsm!76c$~Mx}yx|XG zi?TOtH7{ zb#~`jfK#%!8vWjiO$W$z{CT zt4&~Z?O~V^(!3)X=%9!ARC~&!dhP=?OkXQ-#GyocPeGi6fC*TDz-FP{;(i|^Sy!LP zPN6fv_DXYwQ0eI=?3@eFM-p#BkB>rC>bG6bX=ov~<|CKF>g9k$VDgz)&Mynfx*E3e zk{Rbmt?9=793FovLK8=}pWd>fKTtIt4O>lGOVdh7BE1Q~vnO+GV0flh{c$LtyCtA2 z+TGWA%X~ulu#-A&gwY~O!e_;vt6!Ye;J#!hS8B+Wr|&%8=9s^b<^!DfAxh;uZ>mVY zxo=x(*~~?s_lFYhV~mD;K3L#c)W|gp(^f4P5rpQSZKb$o_*Nz`hTS&}j4yO9rEL}$ z-S)kgD?1Z8`Xt)%Ocl*0#2~>%$f!+l=d&^iD2V!4GcBjjB_d_Ye<|-QlT~ert`ka< zYhihy~ zY6q|GV&5>hI7H7{WSY;h7@024E#8vtf4_?b2lvXmfQK}qh%AG7-%2iR%}|atidn{* zQ{Dya?UXp!zT5C36ZNIg;a*V|PMV_tg@?;sp-C#*-9sy6Fu1lD{wr0jiy>N=xtkQn z4+o2V!x01SLSN!2>tY(Io^R@l8t41X+)GB+#*rh`r}ID#K950H5~1FcvKn}YNH%_* z*S)Qgqd^Uo2&lE9}pMp|k>599L$S`ePZz_-g8 zuF9%{gVPSj&UI`YxDHPM1M*%Xvr!6CIckxR3wlrgj4M|6Hv(zJ1+Pw2iJzLWTfb;H zkpzal#i2H(po&PfMTwt^Xox@=KnkbQb^Vp|LvX-s@KGdE+#534W#N z0`yY7JQO!^B&f^P;Lawa*$Oe&7;$F28X|+Zegv!F9~_$UmA$(K%xS#irwc6t4NF-`eiR~o=S?a}=- z0JI=IkAl~9t{UyAOPTlkHnKc=uaX74vGy>{MiywvEf2eEJ6(?OSXsN6V5==oeeVmD3xpGYodw~ zdM_{CCfKdD6d4p>q2rjSSrRP~YHjW;gzk?`^G9yXjOuiKx6?;Pt+5qsG(9sEa)wvU z;(Q~w7^(6m&%hn~h##&vCY#F!?-<)*Li1g@C;jjF*Mo0Jmj{o#j5{spg?t~9B17Uq z6&B#|BXnOa$V#i{D?<_g@DDN#N|o5%#^^~`9#_KN>2R{&ujx1RPusio^B6iwW)$Wc z!?5dQPfw^Xb?O;hpAtdf0jgx`|1v+z5pb0Uc87XrkvJ!m@Bls^4;GfxZPiZsTV_3c zE(oo-V|un@qtq=Gsaf&AFF_WkVnE@`-j`tZR{aym^n$w$QUlnJZ|Va0&q1n#VQySE zyabhxJJp7@9t>6-ff7JPyT0|}xKq6f18$B`HW3_De>aG*aAb^_Dg0973&I0dU=Vki zuU6ot)UDQOKrvjoA*Y5Nw-x@VbRAIVvqV3Q^6k)D`-J<<#{MFnRxht!{F^kO3V#e! zcHU;<&STU$GMth=2i*eh`+6+-{dXLx%7Xz9EE#AH1NYP#$dIj1L?r1@|@b7X`?acp)lz&{je1S+Jk zAQg=!$DjOWTBN>me&)oF!zlx_giXxFmU7F21{K?REr{)E75#6!Z($gJf4x8#7quEE zG#mU>@Qf;59jXnIALKeyicehs9U#ru_kUN+)p|YC^gS~PL-!S484i@DKT`h9$sPWv zi0=iWHk%>t)W2HSK{wR`Wu+ezrmtdPwLvnV#h9!SRqAHVh3RFQ8_?b3k~{rp45rYH zH)8oRPk~4+x6MGYXF^;+@Un*2ROL9lV=(?W-?M^2c)l~1zxFT%IO9<+){lI5yxR+p z$5bKQv|XZ}H*Z*TpcvK09gv0w7Y5xHs^1j`qpB+|IU#qov!X2D_^Kvz1m5AQIz+YHgBv+QMRp$Rgu;Jq{^jGlr2u}c& zKs7TRb=>ucIuzt}RPvyYeszHv9wk)wz6up!Ws(o3-`>)b+-iD;BQkgD(&jL*K{*RN zhyL($8v|te9rS@FI{zs>jj1L;6LJWM2f69x0!Bj46jwGY=|lr*oh>zsd*I74`w@Ds#3R(Xfu&GdVg@&D7U&CCX8b zmjKyhncZ_!ZrqOSZtryXM{B<8XJ(->R1U#nHeDs6&(ZVn51~gD3EMYRww<3>%)4yx z3AGKSVtJr30V;vPKMxV-@7aK3J^Ug}EnDvST-X^E^%v*UIK}sMl}ESHd~t53fHOQM zhR+Y8{&yH6eh+X+XhgvYX7V3rTCA2^dW7eJ>R(9-c5AiOY}yiLw!TVmJqC!laadU0 zk3K-(p6B)`Ake60ORJ4mBkLtaue92QWBRY>pYzGhhUq_8)^e+}#J@AMLSMAl%xr*h zJNL_CarqmV^@P$0dcQcJfidu1^4S4et~C9WC6T_;^@(|X<8=pt)xr2;;^%`0dJl(P zk@aqxzt{u1m0pe13fhmIgfZ}afueIY5v$+dy+Nz-@JPDDp{Tt3&{S^ZuCAfJ{zUFZ z8F71XBvq@(FbhHgXZz|Os09#*Z&Vw11!wX*e>_$1&+|G=4}En~@ePcOihOAM5*y|IAn9aQb4R# zDBWY1`QN?hyE|i=42moYpD$1)qyTp+!J8wta8?wm(jxW{!|%q>T;rJNahGF2xBM+1 zHT|`7N-Q;50a8}4D7!^h3SK)#u@O|EO&uUoFH99EgO5NzpCc?^vq#Z)_w+gc!E0-t zRxW(z{zC49*rkp(gk@aIsoyCqRwx*rf?l`id;D4XG!_#q|BubDxAeqFy137cPyC0@ zD{n71oH66Y-$vMsd7z+B#h0mat7M%>o%27ZZ9k5nRRfQ<`y1e>yXFS2PAGBQ_LK=3 z?*g-UkaTTtv5cU>lUCX@EOIxX=N;~hbq#e6&P|5x$Ycg&-_WaH@hDhFi`d1nIXia- zu|c$5W1U_b^2ei{6}~Ux!6%?w$T=!{<{VT(z(a0$`faaHnciqOag+FSK!ep!*5bf+ zYM|T5|L=oL!d^`{Z5q#s*^aP*`@cOI_4yNfX-ByZgSkg6pyS{A6FKs^WTafHUUGV` zBIgI`06vpIayZNA%4a$uKQwEi%HZEzNvcVSfs|ziuKQ~m#RQSq73R-Ey$U=;;iBcI zD@B064z3k4rDYn=r_rO@YqkP=cgjbXP30}=2#m!=0sTF)bhn-@IAnw{&va5*ppKgf zWjuo>k$F*OG`7E;%>IxsexfhIxn(6L&xX}^5saQS~wiVl`pwnBv%htLrpUQ$+ zg7JfXfi}-#c9N5hqx74<6#(&xzym$^R!X^E``d=2dF?rhgp@cBv)|a$LL82T6QWU# znB}v*z3tbSkNd08;+Qu<=R*h2V_SD&k}y`^HpjW(wKzCyaHEP%8O{K1m(Z$#MZ z1O-r&w;NTIY@)9+>8dlCjSpUdWnsjMJDk*Q}!1A5+JI96QCbizZw@5cy=1-6N7FbxIBG& zn0T;k+wkbVjgWDYxV*qD=YehBW4AsLvZ}vnyWD3bm&{YLPN@hSyrxW>NEHg%c@YLY zR?AH|t{g-GW2Da(s#Y&O70h`RXVK_&%CvD+`G;aRFFtYpk@1KS=sRc|VsvNhuLUM3 z`HroJule2qAk8b*Op(b(=C?9ff2TSN>?i|${T`-1@SP1(OZbb}|03JtuBwj2Cfk=C zQC6?Kj}WzZccl{a1GCke^8t_W#j~}YwvQpA|pzRB?-EaQ;(Az0Oft9a}eJmQ>sGv<6 zli2ijo;D_-E&S_Bw`)}@{M9^o5R07CrrN0Z3hx%2adHw)p3y9^S4?2!tylLoRHuPx{=E4pE-j@9rRU^HH7%bQt(^4HOM5j#GT*@Z6Dh9RerH!!>yMJ=!4 zX<&Qzvrio6&|q)c2%&m$Dj}fkvrHyTamm6#d5yTt{-V^f{v`O}#`kV0%hd9_8+V!% z3g3mh1ARlC7B9!uDa|b&2W$Sv&^}u#`$w zWtzlNE&J2%Ka` z7i(bD^>tazkBvg9q2XK5T0v_B*);nJ=Vpd#Ml)5&?nq2$=#{A!(c}ge^H9qn4Xbv1 zDTFJJgBxEg|5ZZ4WxphzYWDOS08m%F?bNcF=n`CjP6rJzCpj*$O&gAD;02}+0Wr^U zt_J8bA%KI)=^DXc_c9Ca0lj6n?5ON~iT%t8m zHODsz5l^s4p=tXkvOfafByEfrt@6G{y8%zL#V#i6Y7&fj-}+kSC+XnmbZaF1@Xc3L zLLMjuuVL}PyL_y@NwP>DBecVyTeE#Xe{q4c^SVh#y-qH!kujyD&SA5_h$%VGhDd*?Bm7d!9y zRAU!Jk44Pp=eHP`ZLtv$LLRMnKxtOFD7`J;ypjJ_f049bHmxAk}*21g2@ zTw=isIuOiDeG}mOUws3#mS4XoDG#N4$z^Z!wnRrX5vXzWfh7q*Jfw@? z9luylpt=A-iy<+p0$LFKZZr)I>`ob?MPOof2$YRBl8D~lGHtAK5$_XaP~Gan&-OP= zvFVYtaZzyq=83?>_v@`1>eWf@V5oepRX83XH*GI`Rg(XJRzn@g`YU}H%nm*3clL4g z*?BfAaVU$np3Y}nS2)@WX8U8WcikR`Eej#H%zs(Hiupr3;}OBwQt&A{BKA){09{F5 zqF7e_{UQkB{@&_9Rmjf6Z^H6%5qwTl=ti#_G|3tI9Jq7*GGqf zc|4nZzTXfRLpWbMj9NeTD!$l=m&~)MjbTg?`ZMC1$PzTkJf{!6LM7iudxOm3K9^?6 z5X^A7K22|r$d=U(@`^_W=XYaIgD1_U+7!zl zM&h|hIouff`ua-Jbvk8De=yX{A#FaPLZaf5>e-qf~#u(i> z_0`zj95+(fc^?XFR(~Ca)47?Wp3AcfZ%3~gROHpG0Ax`;&Mxr&6P6)0D%XUm-~us(^Y=x)ioJJ zL*~+(i_W9z@OMn9f!Z%3`h>HA_uAipP6h&EJKeFTqc~=#&MM#Uz7NRT4CTCM?XYXu zK?y1z9_oEn|Lt?H_3OFT_RQYU2G3e>jjwA@kRou|*4Crdg}bS1-<9vubx*5?Ii?X7 z_Z7=hbKoN89{bhzL#c*PV36xI#DlF^`IrCiwO7Q9u!t+@if^8JH6Yx`w!1BkMKwaq zb7pR|@1ysQODrnr7oGv7)#ZdizFfNHr>pZPY8H_jgW$jRlr*(_T|yJy9P3>oRIz|z z`Vu4sxFBjVX7BZy!gLgP9jf&W{vm%rHU&E8=a`%rHq@c#&9}Gg3iQ>XK*UIBOos;6 zMx(#H8C-rN+)&s4j(r#(_?VMdFX#5pdg$^3+lESxnw~i=jQAa#1kO3`Xq1RDbRqVvhSJnRaGMl>AyQ=#UMd`5ri zPgI#d?p`9y3KPHVqz_j@YI0D~~wOMrSO0_Fl<7j2D-f(&f zX$%5D#;2cA9=BT_n(kVf;8XsHvn&Yji0Ny(pR^z5=f22nD;HvBgAR_ZdAotMe@nlb z93JWvUljnZ(0$70)KRuGCYuxb%ysqe@A2RVvlpBo89gQP`@#4xpp!b$i!M_nrY#a! zg-5?{Iu1B5p3rMr2$6^q@w^Fkp$gWrTC5}HvKXLv|JemcGFrfK>Ibbi6+E78Dmsqs zjGN2e3=)&y0Mo1iqtHF)AhPoTOT$MK-u=isB~r0^Z7{oDoS4UIu$aY6bC>aC@;l!3 zkD$HaFrTs8Nktd}gCzb@?V{zCu56}Z8I3ZN>*Z}5WfH^qYVpElPH}$ZWd@!$Z2 zo$Cal*ux0oRJka!TUsg!nqWe_iidV#rnb)<^svv!W05X;V+^IRk)jU&aVFFf2~A>Z zlK{wm3$O+?#{Oe!LQv-4!sM4;ujc1IPB@n|H>{o7rSs*MpLteuyo$*@X#cByflmc(j{Leal>r@aZ$db3Q4z89OV0z^6KV4Du!<3AEu|Slk+5ehZ{h` z@Jue=ijc3q(TKQetAH~|S92rh`%L@(wPu`@lzxT#S>fHPn;Hcq2O9 zKW*kwv~FmxwNMW18M1+2oQ?XiN0u)szutjdeLiL50%M} zLj9Vp(M9T{+S^i9yTbtgt3)GNt zkt4RioeoGso)?lR&`f?)lO)tqc|^+co3xW_dt%qJSV|Fjv__go(r;HYS4t1nayXUL z)8luR0#xx!F~XM_T#&DodY^F;(A{n3M>@zLSMH=!=p!T-@!$OUF}~R|6TRmpMB$|| zr>2l^m-atT>l3Q((55CFTm{jIdCj7iLjec^iEMPQ5a(0F;U(E`QdMEKEY$;fB-Xduqe`(0`uEcLmUT$}j(-5@u1-_K%K8SqqOhE<1g= zgl$IJ0ioyEiQBj-`9%Dj{vc3iqz<946%>D4msG7z5Y zjOFo_u*1f0ej`DlgnYJ5q+}_e&X2Oh5C2j^VMFj501;>$xw1L09E=)BixGfHPHP&} z^xQLe=FEZ_O%`aFqV{70%RA%_+Yj_hZi|-+8I*EUS1X=had=w``< z%?x;NpKnh7o;;bOWW{x%On9|z=UB+1;pqG%rc#%p?P|Z9E8M%azy7s6+LhH>?J?1~ zAzX>F{gw{=1Q}$0v%{^j;S()L}O8 zR%7Sy-p0c9fn}ge4)ZjdCEQe_icX1YE6pbD(eWt+UC{B}G{sD6?TVtj;+cD!lc(pd z5Uzu#Oq}E=wnWF1)v6l{(p zZOs){>3NpGnuby~aZTjldA{`y*6eMgw>fHoYaz*J%w-)EB6m0*5p}>uuj#<8o})$j z?eIzHl20-Fcbr;Ev?S8}^tQZ2?8gd{w|Id7Sun_DXvJGmKx;4T`#_-0ru&Kb>qZq^ z|mfVY0<@H(D^`AHdmD==zFrY zvFYHkmb0Ahv6p}DmxdG$FvqqTCDfiBK3AZWaijN!t4y2Uhw&6!76T<=5ti5$Rk+8W)LZ%=k3#@!4HapCeMg~eA}jj zDKx8@>fQ$0vh*?14C#@2AtWhUdh>FT=@{qbwOpw5@EkwSyeams#C9AmbIy3x<|i@_ zhA@G=KsKh^P=QkdXQ>(S#-_7BB!o?BmIiVkK73%mW2^X6_breC`*rr`hIr8XGEVE^ zwXQqwzx1>_oD``_PyUWbEqwO=-Q1KGu2?TZ9# zw~H5Co0(x>2lQb}%msKt6hCMZ9OlkF%h}*&nr18yr@8&s+9Mh$OFe3yakoMYa8aHC-&EHWNjHVATnkc3Y@nn5kdz}P*&Vsd z_9Z3Y?jNEr79U08J8lSNmn~IJAX8QxQ@x;Sz~xD8Si+yOWtIb1O=Dr7i})`p^#k<6 zKwxLv3~62+a>=|sIu}Psl#zc|QOJ-H4=$x#di2~w9mZ-D2LyT1nXeYUO=P{Ani^4-&E7GPCQQ9$SNvcTybKv(K$u` zW`boyF$8&!ablp3z!|Sj4|>#UkW>>(Ai^_>Bwz-WSOpbIu~`nAN84Ns|O`hcrH+*9{p=Rziy##oq zljvbW1bX?@q!SkHIz9phO&q7~5hOr(tz8z+|O+7vP)oxQVX_={& z=6|MSN7RLX9=kLDd$SQ&4X2R#6~)qTmJM&s0-Q$^@@eWXHOA_HhzRI$LrCg$ws!Y1 z03zaux>m9JvBIR)j?*-F%Y>(Sl0DZmaQ#C%d!Ih1%joRUuf;{0# zwQ@n*RA2#|H-Ki6XX8Kf$nn~#s*Tx245w-6Oaei%jj2^p*VFZC0DPq6vSK&=V;KTh z-Yv7gwx3!Jr^SoVxk~ij5GT~)_iha)xJEOvf zg*6M$wLr8HdWF=$3kDT_OQS?=h@48|b-Q%f^vl43c!V&72=Hr7oAMr}riExx;QB^k z@~gvn^j(##L@37_Hs8>TAi$I47{8g;(G6&V67&n$-UAH|W8gkIo{2Ru<3o0@^&aNb zRjFCY;W8cfOAWXLdgyZpFg>1#Xzcs3hJQhu3vqNC7t?a_k0Pi2&52sj4Z(Z7<=SR> zr5%Fr{?W6?XN02&co;MP4#GK41}A()HkjKew-Bqz4A>Lheh+Y#CGc8b^8aEzO2ilSYY^_Y7;G&x ze41ozI^^wn4L}y$BRjHqK)keU^3?Hm+05hqs?y>1JJ|>Jv-Y236x!&&4Pwj6v>uSi zz2$`Goy!p5xNK%o(wn|$Me|k|VgpGH+$-=G(c+67(Q|&1;A?SdtBSAp_#HA@lz{~d zF#XFg)eI(~M(=l}YsKT&jH|8I-OyrCjMSya`sY7tny*i>{f{h{J5aeSSA$WPxD~W} zd+)JBj@Aw*{F5l*un}OlaS6nrjb}Q@UF?6G3o67u+}va%GUgFE6iGx-*>1(nB*qyt zg-Pj0*a?+F@^pFO6BDIu1-o&PXV}}EZz#nzuG2F<6eNb9NZr4@0W|qwf|uTYqY3)3 zz=k`m{9~X8EnsXd;7b?Mry1%m7}O^C@Xas7Ru(Z3N3sJT&d4Fo?~86|5PNU~PAEQB zxL(`1PT7Ft*OTaiK<^l#NlP8T4JdxJVfk#`Kb+GGV zqi1nkg7&V6QQB*t+L(g>pi8l7q2RAfFq#jIcAIyqr}gsUl8V{1U(ss5Qzmn~ioMlu z@$+eY6JBE;lMT}RNx0xSVvBK^7oC{Sb7Qn!4iFzP+SNw*0Oo^CmvNhZzywpiA7pDv z7YEriM8J_+{73Om9D?p~?d}rCWhU8-D*JP$RuiBb-PJ|($y`&`krhZEVrB5D(?l>c zZfl^8-9ate4uF?g>_V*&__Vv6<3~)S-ZMOEuTkX{*Gi5;qnU*ssYsX@Cj6`{y!QSY zkODUu|Dy$eO{{g^u+=2Sb9TR|nx%C-_Nalt7(kfI_p-RX16 zJq+;Z9;=q@kQRfufK&p#nGIOIpD8(4QNwnG5I||>;tJP zk2EWZtNpgc3#%vzr6&8C`Dv;zaafqNdt3%FHVj!8QHHNo88}gyUa|w&ukJ^4fs9gc ze5BaUkr+qw<$>8LpI6@P`B3*tc z&=ZrqRVh2x(q#sl68#F=b28r6(Tbsb%l$i9Mr!eglDs@t0f>bO*4Fs^LWKhnN9?~= zCqRl-H4&6<#zq}Yjcq&tj%=u!#<=SyHY_$x3m9b&dG zpc>^4!m=R|`fhj$PCQkH*lan_3jzh+DACqvW09uQjAqR2M>k^!?Gf727SqXz6tp%P zk6fnh4c|IY#jHp>Tf_N7y(Xmbn`k3;#~pOiEb}Px)Es`9) ztb=MXVC?q-fgE4`XXF?XP)H=vRZ9P>$6wF4Vw_EO;cJH>WYg`|R zjD&9XDe+8zw+@J*G+!LgUK-SRMptyPMil>n=sl$q6;kKGX%a5hS_&FMoiOVpr6gQt zExyUeCJ-3@qW{Tq`^BSLA|fvxYJ9|8U~!%dN6^>F4rUZqjl036^UZT~! zh~)Rp$0SkJE;k*n&g6x%e=_bzZDf^Guo2kn-4DP662Oq6CpYxwhe2%0Pe;}Du7}Qq z2wJb+e_t5YfJlK3g1oUYb`6R|=wN3ACTy7kuYaGON$u~bR?GP!7r2hj_5`(Gw?3Md z)Y;Z#Gd>~t9@s7;>#!Q1dUp+_urTLNw+fUJmIiTmd7P*6JSE~KnoRhAMXNMlyi=7U zA~Xa1Gu`;4vWnOiutmWNo6Q2!>j~qUD6p+JkiZE#di3V_Z{vF9e)J0ym|=mF4ur6l5s^a5=-rHvsW`P@) z-nFsPn$%P#Y5FAdvs>U-GBaVVy@RWQq-Or_v;rzb@t0*!jhvZIi z1>?ygWf7M}UM#TqPvjoOS)8hwrk3m8;Z}5r4>D8_FH;76-vJ{DK!1uN;P(9sRWYp) zK}8Q`zyC#oD%xy*Nf)gH)V^yL!9TQ`M;WXJrEG%m3o~b;a+J(FygY5lI56G`@DXu< z5Fy*=uB2DVEMTY?X6%tLM1H1BY{HPg(+r5N&P3<#>2(fV=4rN0_w=dyd~0*xw-YlP zi2Bk&0s#0Ywb2-#gBI=D(P~QW%IJ~42SkhfK|cltF7>qY+UJEzKaK)lKd$c!f0@o> zLM2AnT1l-PFG1LJwbJ$ZfUm}x5{S1+d%Q2<#G()+KqDAYy-FVJAuuum@L5bYJd=!O z>)|iU4PFRT@Y-2*W|PPz10)qLr!QQh)Z60{jS>PAHEw+cK8Z7OJT_2P*=z;!VY?sk zU#rebMzk6|Rd^nSh6@g*HgO-VBoh|>REqX54>FC2Lx_u9a*y0X1SX!RWp33#1ak_A zA!Q9pe<&X30|Iqpi=;y_oa$Un6038I_-IJFs~)ZH_pCO$rx_|I4Hj!?R=g#>Nk;#p z(FGgi04HBJg}3Z?nKK=#Y2N3@EITOA@!SHW@So~i+XsJn54jRcm886bc^mb z4!#~>;XK27->2hZ1CVnq$4v1)ut4T>vw9)FkweAddFp3D;16mi)JVEH;tSQ{j6k}z zkL|(l_BB^#-TyZx5g7Tn!1(@u667JG8}ywcV2^*qOv=I6>kN8NT4i`S)=d6dVElDJ zCCB~7cZ5}WkcY``6%7=CJ%lfnoAV4=kN9vBH;; zI-#sT4A&Bzk)wfGNxoBYK{1k49shZ4>0z@`mCW(D|BtV?jEeI6-iL>hlJ4$CQAwpc zrAui<5Rg#1hC%5L0g+NdxP1OM_E7%oBOF5YM5_Uta}4rJn~bH~u+%Id-?&xK4SY^a9p z3tH3k-%q=~u+T;`@p_r}Btbh8wU}lJ4LcpQKajk8c(ynZ;VqMh<6nxpdDc_z!f%F> z6aoj$7fjFK)=EBhd3(91prnU*D@wrnts}yQZ+;{qxwmH@O+e0~1k}EKt$utUv*hWJ zISa1+i$uTjog$ zDZTQhY#$6cVVLh~?TF8s28<31XO$Gl-Up}azeDh7@Asct275z){|WVoK4iXA0H7-T zu+05R>Zm6m`xd_h6PHDM3{`hauROzO^7&(GrB^vQ!ewTy1uPsXcB)BS*kER~&`Ig8 z#4oL}BWv=PW~!aiZ@zD4+N>^i2(7_}nn5Z;ctC6!Zv-3TvL|)U&@G}y@}9PmV5Np% z$pjzG~CGQBU8xQ(d23AS6m-W=}fcul_--ysam)X0oq0A2IMdwSY1J*;xjp3Z%% zVD{@CvANFBbLQfepj6FGvxdW;JP7Zl5%f%`>;+nU)iCy!Lhh-D(_F!*u%9bF{gogo zw{~bt{}7mRPt48mBTJ<)xZc zEiF$Zpc~S|d!6xwA_!O!dZV!fT2#qQK83r>$k=Y4iE+BZ<1lCL#4IyDe&P7>@jS$T zbPTZ8LAF(g*ZTc17k({}_(nRkBV%gN!#b&E0!p=U$64zFO4+s12iF390VK>za64nc z)sIX!J2TZZeVGzF-x;ts`~(7z5){?HW%}S7wwJm4G8NQ6ztE4A%!fo2R!$B#I^gC{ zg^K5_k7p|8Ue&t$z7|EG-w2nPwkCvVyqt0(l~jT`*k?iP$0W=yTZifu)v573`JTUX zzB5^C*Te=*8h?f-v}9DF{Ea^BuyEh(tLMxnpL?Eud>93P zf%^D^u*H&8cG7ke=L`6P`Nw@^D1b#^q6x~a@N=EH|AFB^m_Oih*=B(1ejs!fM2&>K z|8N=JZ#IF6ZVYB+jKaivlx}jdJ4P0WlltUYokDIsHEd_5k_R{#WR56Mi+u+|O!pE6 zGf2&4XH$khvJhfz;j?}%d6X2XdOt z?$0!vPuqJgxaCv={JEL8-X;~8TcedY9~cnxCpG`!8*PO#-u@$1s+Er#lZ{mZuqI8g zbL)Yjq&xaql!tVE@jO4*0Q24HvlRwsBD3onrKh>ZqB!LWdWwpQvVcwzV)nTVH0F24 z3r5`CI0&>Ux1^65W)?cI`ATH-vt8R{%AM34Ig$n-^U%m1=m{IIzV-;->~77b41sL8 zVi+E}44*79vfJEV+HX&Uw=@}TPFj)qH*P5T(mk?3cfnSE&VM6Lc26Sl9mpqAUjN`^ zpSzkmF>eibt4{syNqu9MK)HAfaxmsy#X)h-`FvSCtaLZ>Cp%s?*g!MKsnZu;WGW6WcbjFFdwe&zFx!YP~j6 zfq65)^BeJAlL~NFUHAx@`Z}^Q@X=OQ^+hpheZ?CP5w^XEly`d&j;o4^@!*s{^VyNe zwKHuY39SHm`O66UW`{yOC1$RTnL?l!1d zg$~Q||A>;Y0(xb^d}nWK##455+5nisvR-wHMf(@W7tpsSefI?>M6w!8o>|Een zxBUJf!mfz)uzbiEFr@!_{{=kIEL|apE=uZ!JL4zY??36J+euIX&Fv&782iEt`^Yq( z*7A#1_3h{r-TO@Qn5ZeD;5=*;p}sVJX%f@MW7)}#@YdKD2*m~NGL~!cAXyo2KE#Q} zinFQnUTeRO=6x<45b`PG-+f)O%@KlOVr(J_QF{ zDItzm4YFZ_Y*eCg(*j$WI*o6-&ZFbT(Bh6Ot^4t3E>7mF?_XuY*Dq@h-W;^S{c)9| zbwRA>-U8C9fty8|b*Qe}Ls491`mm96o0A}SdI@l_sw*T(BHy=zRnnJ^?Xoc@Dejby) z?A>RPCLih`-(IU!dlGEK6>@z3a?)pO5C9v%z@j+ z2D6SI9>Nx%k@K0TVU_DI;jVb3tyEzru4hO-zDJuW(myiL>mt%IqesU)ui?LUS*3kj zz&<7q(x9GgXQSJ!t=EjY8Kkok*xr-%1Q$j5gZpl0JR7ds>6CEqr(4}()&d!~^{T}& zA}58ZeLP`r^ezL>yrbg&q_XffCQuEnGjT(KC=e_kEA`(Rz`jHPo ziCKROo~PgSOR;L{3x~i|jKy4ZQ}yCR=8-yS|A#7j85$A{L(!#v3Ljk3P6DN;9eX+I zl%nh6sHUpw>cMC5z5op_uHZfGir4b1FJVo5$4|}}jJU{S<;v9a+nYe^_8L#ozI)lp zd~E0aZL=m%w&9GjD+kabW+@p>!-AYkSRhfjcapdI?hE;N%g~EE@AsB;XFRK(G4z{F z$C55d{MQSBFL;)PO-W?#HO0DhI_#LaS|15jje<4PgT6zC;pFWIS?iY zIxmc#$vp&zUn&TOeWKTu`!FVbo&`W-$OXUo>LgxK(u?N=Mca(ez$1)9e=3>Y7d<&w z#3`c-!_J>s2rucBc8xk+3A-RNjGtHVQCE?rf!X&^;IS**HNsR)fM3`eABC9dY zB*+@2;S#4|cUgE-3cvysd^~JM4M!L}{tH<_7NFf%?MNvn<;Z`CO(t<>xKtH0pV}ab z%N-QH$7^LY+FR9tzuOwv;>p)u;%~18Of7E`?b7QJfj8&3vMQ}Ozup3TlM(kvCC@MJ zN8&L5ej;RZztQ)4FiW*fpQSFUB29>VZIVzAG*(XT`KPvxpBx|27z(hMibPWX8QV5b zgiU{hM0AI|73mJiKLn#Ayz+<^q2?opAq*s4d&Nzxj}z0H5Z#S;>5a|bNG!^ z@-r%{rsHpkW93E9Ghx0AM+eU zf}tY*?@DVVBk(;bY&R7!ZRX;?z+m@_{}hGu{RB?=KUPfsjCm$}z%2PDZVpURnWmST zHlm6OIr1Nh4Uemy+@^m0a8?JJ)XR&-Gu$WK(#m38*!7NK{Z?iB_Vsd;n(wsyKfIQCLs8ZfPrB)rZdr(Z{g@^> zkZjK+w0XrC49blq`Jp(d#T7|?D!EN zkQP0$xY~EC-qmT>h_jTpKy(K5ZidOFr`XAq6#Ba?cVVyqJldYDd?z(%N*E+p+q6L4 z5<(U-Y}-{V|K&Ueaaw9z^1yc_n?%P{8+Ns#>v%TpwJ!yTAXOX|Ro8odd%d&9_?>KO zb`pT>v2k#CT7|Mb-Pk%GFKR|FHS&49yHIEs!yw}@g8kYXZyPta+iuE`0AxHZx@nr{ z8=q4o#3;JPVhN~@Vl71c-ov8cz^4mo^}p;&_pc||!~m0!4@4ec`NOf!%6c_|K@b7m zcey;K6M}>%^OjCM>AdoudJP>Z)yN+da6TmD)GUYS$LFek*rUSigLKk@@5Sm6FbEteiF49JYTZ`f6FcshAIn>I$#*#gidPKmdfg z#ODNkHgYEe^%SA?7P2DYHd*7xmnP~aghuf8w7|6J*4K^c3>u1>`*#I46e||Lf4sqR zkM=wHeWy($lW&Y^o}rIG=@F;FCtA>gk5+10kFzt|%+LG3iYLunBcOQA>quQJtIl?= zV7{m1GVpEfS>8Ni`|8n+r(K0ee_!eY%vdb8MYE$x?+0^DQyv!L^lcx%<=GZlKhoO; zW0kGZKc<4l7>dh`B%gfWo?NzfKIq0%x_-yIbw>+Dh&s_+i;U((?kToF0o+Qa=$*hA z8*#~DQ=^pfL$)tPArM^K*rf2eZk%#(8DB_t)Y)Tg-qI`s-ex~pvNHCi28X;q)3heN zPI7}MM^n>hG!^ep0nQJ46&Zmsw6t&~soD7DbNNFMc+&4ci(fcSYnFP4|TNF@Tn8EWN@? z%zpDA5L#o>?Cvt$dre4sr>`{62zo*1Xk2$!;O3bxXbYDrYw=@T=+d$EYw*9IpZ8_@ z0u9~Fte{V8b-t^^!78^sTdzvV5O=yXli4;>f>8pu%Z}*EbxA@*tn`0!op>-{@9Z>l zBp9LJk{uFrdyD4YH*}wXGqS5NP`_`wc(3@IM#ZoT)eR^bZI* zd(qVl1~FPhjVW|5I9St!2MGK2GVGQLkCK)+G-kyHTks}-Z8;?zk?d$yu5@nS3BRCB z%S;jB=ZrZqGsZCdaYaEcY>W#UbTZ>5v3CeOJyq;ch=T+VB0#8qK{8$a@!US)_hyTt zNSQdo>rSM~+&!47}_qv10kvd}et96Hvgp%e4=*yplOeKGOILR(f;&-q}os&(g1RYQMPKOA;w>*MDj$b`vW=*p>+5O`7E&8PzD58tgj&u4$8;94{4BKVE|%C=OdnA1%`Qq8$zj$V$N-EGr|;5UhVpQu5zq?0ry&8k9m9$7 zF5XY5a8bX*9Jvf)Wu;EVBM~$Ct5| z3VI%%EV;TIf##`s(Bq({&sueRCHCnkpBb(vVW3js-?=Riqk$x!VU=^xaGBQ62Pov& zY43qOQ^C`J4AUF=mJjDfH|*u9G-LXa4dLNx@opxm5GM4x)Pj9K*0Oc(HEUm6y#CjX z@+qwGzJnqLN!Q!j?Sd{P5%n6UaU9{YnSrW}{%JC93`2nr6g&TB8L`}iiDSQZZ`9VL zfT~c6z>C;lvhv*b4CKjV-aa}e=cU-6QvWQZG+A20;Q;qLAP4Q~__bq1k3kVRu+Oi4 z{mYU_#zAJvgRtZT&y8MCUo-z%i~)P~GEwt8`N+#ETR@r)rt@THPHH9aeshj3c}fo! z>n)b>t58*nYZx~@9avXQnhv}E^r%Lzlw3*t)^RY%+NANME|{rtp^|VdKIG7@2SDw-9%FJ zk}R=%V>;T}4qQB#pY=G#EN_zCIDAyA|HnGz2w11wYfkR{olb|T5;3YrOLq)*Zx4oY z)F3ku>_|cyG;9C0uV&w@g|*zl{adwkO7nKFi5h?5Ffm3#q8Q1!nGrZ4_|I>%g3Mbe zppc5al63<&TFEe;{)sWT5$)fzvK|M^F@x)^$c}Vl5(uT1OOY2duxGy>kM!3#=)t4E zPeMjRm8h(Tn{d4%YU0DQlq~x#0i8)y4!gW+ee4!%ZazsoCVBr;t8;BmZicM*clvQS z8~2$JNp}sXz40walJD(IelJ?+%I5eC6?6(IG%9{g+e|0{(gp8dFFLFmuz)eh3021> zgLDT_O-{OCmR-Z*nW}tF0fNnz;T6D3Bi&(|-o$#}&AJBg+;Y&@N$rs(=HqYA67Xro zO|x3iJvM@tvS3*fu?q8kpmHkQAM%sZ0EFr4W8Z!Y(kvVw8GUx}SR2B#*zW0&nJ$N`7b>=q*bT>vqtm zL%PTs1K+EJe@N4X+oGK|j!@L|i0Bt99Rsq?;Oo{~tDUs*uXiT)9YB*8?LO&cyF zm(2oKf)|{88z(<|{ta*VM@B5HTF6~a zMkSVk@#*>jfyV}OPn%b)^hcAP=uthPN+C*dl33jG;bB>9^HFaLdkS^SIFHN=+J1Pl z$;U-xcx+ZCwlJ<)RI@)&TD^@xC}azhkMda7p>nhML#E2cRb;Ws~a@O~^2(|l35z(^gu z-Y`3VnlrxsybQ;H@@BK6FI-Uep}m;>92lQE@zC3#9Y|=~i7uC90T5yhn* z)9)@5XmTPV`g*UPuL8hC`QWu1q9$kz2sR;hV)SI1rh-NDw3Sds(2 z^_a<`DUwC+$g%PGR=;E`dTT^7ul~L~uhxCetFJ}D1ouqQbIZ0a7E$Z;fN&HaX0%JVsvCJ?;~xFmbk6RegHiK>3y4@pSD-r8$(nM71p$jR)~rP)SZw z>tgWpw?rMEA>I>8|$VYwI z_P9*+XeY5aWP2mnzSIC-Z|lmto*`e^hf#lgw1kab{t2{B-nqKQ^lqjv^E0+{`?k|$ zCL|Ib@~gn&tZP1L`Ni08vn~(P+t&ZCf=*+Vvi2Bspu_`rw|{IzA6Sgs6;EkujCh*@ z9+*KVLKJ2eUv&m_Q(DF&nxQ>vs7i&mSPrG zaQ!1?Ln8OC1}Gn)j_p}b5YGnZfG zWS+@iZ~pT8W;b=t$0y~|=d846BwAxa`3@~(K2|Lr30aRghg>N4uN`7xVH1z+`jx)f z@FdHr<_k%qEsx#nICp#_n!$Bow1nDVRX%st-1y{l_aZ@h$Uesv=^ zJ$YVp(mzVW-O~Swr~1g85$141`uJt?u3jO++BM1uMZfo*=eustD`sILTP3nyX_=_} z?!rMcw`Y1+i@~YlM3yD`8%z~Fjtzw?41QKt^vPGpsVh*H_-PRz1F-n-rv{n6GFI}t zYX!D$M+9Zs1Xs(SG9Ie9X%OwmFEbb1x-%lA81`JhbW)Y>`pxWm)Pv4RL4Q4X^O-@0 z=Bo&{h>;JN^x>DpkZ1Ng0kd_Vt9SzwL*1t~YRaA!XmckHGeDiAK6qPoi|&Max)wQ9 zANLuHZZBtrH>S-yO^ouTk@hwx19}W-2upm zEW*~VGER)yM#i!y(@rE;6t;z5?-Z$fM@@RCK98Gbn=5NRk*I>sc(a+^`+9JcrK*JYw-Zj9vhF}~Xv!?yO9xo|1{Lhh5Dx<~zR)P^s;7|NR)zZEgYE2?oy+G&K_ zi!w?^Y(F{mZL68Qh*ZNz{d0S)IX23J2DWI#?LT*XQ$B{!^}SFKH%lR3a(4`XpfhS} zqGFl1MvnmM=Q}vm>S{c<0`^ReD9hY#AJk%?2C*Y>s5ec~%Y*R!E;v^D7F|2EFPfr* zp0k--lK~^b4Kt~;OdOuyS9LDH){6`Gndx_Wt70sT*cbK1A!kVaG0|HTICLWoEl4{W zxFU$!+9A=n@XOvl| zwUsxayW$UKOirI|TuQqA;F!7JydLwj!{ZlbTEn*4S5Mrdlf0ns{TUNKKA(JYC1M`7 zwjO>Hgv;{X?yC80ISQ^R2|o_*%WP4lRWPIlP5->xm#s} zxLRBANt^N2b;P+}jd*6MT(Q_HG0|iKjgV&+;s-@9LoL3X>&0@vuhx&=m*Iyom#=a{ zd2h`P%^r->2V{kcfw4u*uMCDLLhYVkj?He861;c6^7!Gs@JD>YEL@?jHDgZh_C5ce zv4vBP)}CPZM*GRjSW4An_Ja4qEcOm9Z(;|^rv}_&N_4*IVl&8leF0UlUF3~rCKp3m~0FpIq^tj|Joz6YJ*>C&=KScp%=-`te$G4mkWd-;IdE`^#~LA}?v!K(1* zdA!csgyGP6(>q=UqpH~xx(6%$2B|-0Uz#^Yz%D*X$vtYz{DQCUH)b2RxVPQsQz(9N zRMTPVlMfevlv{N&B|5B^Z2B;MM`RCvg+Eo44F8=ddjgqZWi%6GBICr|(zrTqUN}s+ z1r3lPyh$z85(4$F*cXu*u4EYuCdV&>h2`Cv@Nl`$$OEFMY7@`!S|J-hr;X7 z0P)fQMn`PM=X<8LZc8-M__pG?@x#2ALO#{WXu;Ty{+@dTjeIhpE)wB13|eI7Zhj1I zH&_16W+sqe{pviMetTj7#A1lGTcchHtG%$9 zJ~GL<{?$Wu4yUxTl1jP`E_HERdjf&{H7WBFz@%JASl#+_-Ly0WPhCwoVdB}FMIiuC z=8=Get~gWW$cR*|`28#)YL_}=*V6?o@H1JMo`4uNA>zx^*BtYG%x)cn)9K+Tgp^W@ zS9-%!+0dJxcf7A3V74(SL`hQPS;t*4{{`q@--S z!nur07xw&9QYy^%{Z;G=!z7xtgc`IjPcjpSlIUxAdDR8+{iM+4bG`xyhfJyTo22>c zh`x&?@6%5qvRjHc<_%AkmL<;aoibLem3Kv8sT7LdF`Xnj#xH{K_$dcfiDy);7^?Bz z9Ot4H&3zVCsP%q#h%`^a4K@tBv~E(FJ4>j9OiFO6x))^TXypCkr;xJnk=o=?J^$UN zp5d#Lo7^i)+udc%(5=#QZU;cgN&Wu40>=2qvV=LP%4!5*o0FNu2CZI+f&ni{ zTsjuG3e+Ti+>9BkZc{Y*_Ka}HM8lU-2oGbD1JB0tc-uvQbFxZ&e8`gNTW&S?8V3F6 z2HX5!ju+J#Tl`+LKiWPji$21j&#q6#S%2MbzeANx&AE*IIL7a)NG5BL^6^y7ZBYaH zBNnsw6#(&#QGIJL==;H(pVXZ?GnNmU2Ah;Sw&+#4vu+lHjlMcCj4&3WZsrTUqNhOF zJV8TwX@Eu)4v;6kxQWuV@3M;-zFzAVh!&Qbe@Afy1~;GCNE*}_`yWUp0E|E4gQ=$% z)4Da=u(LNhn6KK`^!j?F?$_DgN%J0^+a-3aJ{H1dG!rPWq*Ku5VE35DXOfk$1j z%HJ%?qoIy_rq%MGp*r$D6)x^YnA}DIH{1`J$YYr&=)-30zZWJwkfv16SILbZ&l3oQ zMWCBrd>$*vHM+BP|H`B0THnOw`$&PBqQu9W&mQU2>#BvirG6s33h~_v+71pE>D3G( z*FPj1xb|BoAE6qq`9^#<%3m_QDg2bUa2`ciF?Rw#6F(AGyedHgm8}p(Z1ZJ>o7PdD zs=B_HlR2fery=XjKHD@C?v3}M_go`c8JwZBM3_Z-{WBgpGc&@M*VS{}XZOx3{BH^~ z+~vs--K_GPJl{I5*I&FsD9gjmW<4X~aq5UeluPL{za)5f?eWn(X(@y66jbSCG_fB+iJjobn1>(;F=+fvS@m+NkN*D4TA!U}1C!$| z)#2IxC%O1xgox{h!Gw+fZ-9_j$x`A7z zw|Sm_zgj9Vi>%Sx6C`Y@h9*n9qPyHT&T;GcSw^c3I)6BF-DkE6*7FVM>Fka==B}ho zyw+lF9kY+nn;nK{kKEOml6R3?#uh89{S~4j_qesR6Q`U(lxNfv_`Y_+BPBMug3xh4 zlY{J{5hwqv)VOCoQ0M8e4uWFBNBM6brwSEB^uaat=u@a4D%{{LqV0YEh?5pybiJ}< zL$EdWYjP+nm9RP~^kET3s{6?fh7-*OJ zW{pP0&)?S{P9?L4uZg^Uu8rbG$in+yFF^J4P+zLRUoF?FZA~?8geToDfr)-u8etd( zF!4=QwJ+BHgF3XA;wRI`JyXMO23G>^4XrU^-$-UV>R7>`;r7_b=0v6JE80ScXpZce zHs{%!kJ8D$Eki*oew8Z=ab)Hpk;(FRDLW+YixVOg^k8HtFHd;V_wSQJcSMXsLUc8M z537aiAUyGWuVPa!y#Ys8F|c|8fUfBwt(9QB2hKma(E0k1^=A3$92A0S3)A_<+H zxgWejj`c1a!o%6zK!j+w`JPTi==^N2-s1VKZA&aHR`%FgZW&0bF+>$(ybVRIRfbUH zDs%3$Tf~^y**+KxDVG8os^43l;euC`z$! z{?)PBEIC!OV)L&cyBcv(y)IwreVZ!F)5kl$E*kRl-7I8BQG6yJM>=YSaf{IKeKIC( z&(vj?WYKY%+nYC{MMt6}n`Vnjg|^ui5A^yc6t^mGDi!q=$ba_rmo-TjO%`)8L=ht- z;AKxgl#5eI4_pW_I8Hs4~-7xO@0`Nn`GSY8@tv zPx-{c;JAP8a^2nS;7IuUcEd$GC}4Pfd+&GRUrmhCRjzuR>a%^BaK1-Ss;wR7HBRNRY6Oq(JT z6yB4j*XcdO;vRV9h9{z0++5rKyC^INWuXm@b$jGHJsk1SxHpkau0?l7a80?-pgo;@ zx*{t>nGA+Mh0AA#Cx`Hzqi$_oo=y8HLJPum=`u=n8xMY=-47gi)f;JNbn5eVy=OUMRV&vr8 z!DZK%_E7xfW}(Kz^UbP-!RRK%-KVSKX7Oo~O1gZzIhV;2G zDQ(nMN8(tPN)DI;3Ba8&BqmKS%+v>%^xnJo+G?nK8jO28kq-rGq(ADS8%ld`D?o}m zA{zJ^=i8Y<8{F;b?}UU(YK-Z6fe@hri2HK5UdA}0?B>xYZXL3+Mg0we%fl7~3Vz-9 z7HbzF9pEn#o;JExOqO3`AFUofTPG@@wP(ERVY)}EAy)pP!c4lt)F~e>aajKJAUR~1 z#hyVc%A2L?l}&&8QrH{$V(vE#XRxYXEs4%%kOXj>YdR_DU@#FL^{lk%*XpS@`kdrg zr+a7Oi(q?F#0W`@ zR7a=v9V4v-rCRp%zDf>;@Rrrn?9IxpJ^2Xog4~{JUDcZD!3eytxGI7hy%Lkk>K-TS z=^i)=q?)oVy2X?p$UP?``j$gVp;}{FSUu@&@5C@; z*=4C$HX`;jD)d<1b17_GVA0u9Tcv?p@IKdu0e1_x;Lmfa^*j^oQOS)Oo@Vzji=huT zMCWl$c2jiKM@!HiwhU(#?gy%liQ|Ny_7gND3YN>5o#O*9f?Tpk5!qn*=YpkRG6)Tdp!!(Z0&}r)OV21C-Pe;gaq~yqpKvWxeh7kEy)q+0W{}R4=BFsh#O98t#vLaj4nr zdmEp9UH^MQ_cwoN2f1qXZaYavJjG<4d12P)>qoiVIy&vYMMJZ3S599o@$4Kg+Mt&! zn|{$)898TV8M^g1P=o{=V#iJl*{H<)Nkzq?q6i3MGsRDkyve2lj`kiB{^E~llmJId zuArv)R;rOisj)#Icv=6Cqg9%l!7@Ke`N@pLzt;bUf7{KF_!r0g6kescoGnMOF8ie?{sZGLu7LSNg4kD^gm8D9c9(STC!!0uJTV6>W zSK&OnVeC@AgbeB>G0kdnm&9=VwjIO)$)4)vBSLsu<}GmD_!sCCxEOr#jIEz98!MIp zCy_yB#q%@_~D#u@F((6Qi7B`mT{Kme{k_0 zVv7%=k3b0Ocsa|FPBAp%O(4OLl9c%_c3`D4YMMZR6aiSpJ`AiPjqVN}ScS#^RzXDR zge(_ugL1*kEazMzupNe|OV6{vSz1_*5;IzsxZwp$|H};gMOP1r@|j?CZ^il_bifpK z{s;quxuJJ%j@F^SMMAE3$&g2>q`n%~8Ys*rz+z)C!XQGMa#sRHb6Jp2t)#@nKoCOO zAB^|jK=Lm3WYAGIJuhE4yoZV6PSdI4HAHSR#fD1lll?Kyqh%1DlH7rBfrV;%m*Ke5 z%h=FwZ#~V$-#Ie8__F=vq_6nGdTlh%!~9jdWLn-X#a_4fa|ZMOeL^QOMLJTWBG%jO zvc^8!vZBYsWe6ny3JpQuWRbG2>E|#+2TJns9s0m{&M)@|J}QiBK*OEWko$>tq*DUL z?P$Gq(7{OPhq_?=;Fk6W8JNeCb|?yZIhRxpt_%9Ka>BNuU7yk6?SMTjR-?b#3u=F+ zjf2!6MC1;zn#j)=c%R&a9;)l(_xAap)ADyO2`S}ZE{%2LF9fLVtcN1&P;ln>e?IY~ z;Fta*A}1LLFAJuBSTTXe$5kOwk5!tPD)Z3e9l<_#U^Bw-L^UNx)@z)_Uf%P+jk-XB zWfOnjd5{z})J!KFDPKSi4N|`3|K$6H9$&(UUfzXKUgWKESC>2SS6?<8@<@CmR7#4% z;rC--yp6&7uxOrypQm*$S zV6J1KhRVuh^{2H_`{d%N?f)f=YBri|9Q@p3H1Z*-oN~6{O}={rg9>qDkh9y8p=1qn zdzjz;f0trOG*8QbtCN+Qb6%tyu&km2TUAqucK`QIXn;X;IK&Y`YCInAs(W&S%C4|fxe zpo_-xXQ6{#Tx&_H$c+zRAAg3Z_JUFBH$Z| zlu^Q$h^|d8v|LdvDTLOa0>F?)-T56_Jc?fR04aZ}Jkt6cT&#ETki0Y3nP`ZRNyecy zQtG*XQpdiB&Em*_u$&GV?c7%cCK!Thf$BYh^@gzX1BB><;H!49Bmez<7~&KtNKF5| z!jQizlG3L-#PjnBwE@4@Up>YEddxN5%lb!;l_4fkDDc<`JgHn&AfPl-K=mPw1|Z;V zGBx!um_OECyvb8pSaj}cNvNL~H~Z@@lGanTv1 z6rLvjdc%{?+p!~o;z`I*9237qU~(38)PG*%d{x8p?vz#HPNYU(!X4CNjZuz`N~;yc z3=I&{+#H;Dt&YV^f+3EkJ0oLL)6|(P-Zu}I8z6lpA{%?)tnP88h3>Hj(_Lx}8 z;2EOI${kH}jTo4USfr^KIvgs6;$q5TBnNWkRew`2o-VU-eiS+ZjUwV+zdtx z-a%)arv%o(B4jPk^ol$>2>bVErH{%-W2Cl&dQ{lX;lki1^K$Fj!6GIgB03PUQ_mGQ zpaQ$?pDnurd=?f%*dwJ78r{OhJhKWMd}l^{l}7vzZIXLV4wp4Nig9^{dBr;RV_Yjr z-_Nc5zDRTpZK5GReix9H)5CtuBX5%tyQ&Jah|h05%i3G9|3L^8Vc^tec1iSQkSC57 zML;mvSjAcxJ;@QMN(UCw!l_9f0pr1|c28IyXo^mtvOz8@f@?N%iU{#xL8a^#c5Nk9 z?Xv=DkDr3TDTmg)Aw;l~A+%A1UcDG31Yb%P;5m`6tMtB@3_VnhXBtNI|JvUHX2e5N zT!Z4&4MFts3aO~ZuvOZyP?~>l9iND?QuG(ES`f05MvA&>d)qs{*OBn92`J6u6G=g6 z+>@Z^BTfsNq2_ks=!Edk!04$c!$=w**08_?JCZW+h@GG5IJc_2b;Ys2r4Owy4HKwq*IdE!j$PHGWBUPDLRxl4lz&0-vk$}v-lr>IK=q7j80(E#GMH4Ng#DT zo=8gd*}#I8+gs-~;8C3;k;kp|P^TPt=5OdOI*hPWL5xsWEpXiCf7COe6hCP`bOiP+ z^{r?UwJU{*EaUxv1s+i8*G4HeL#fu`%zGfX<=>*C`7k(hmyzC(U=z*cLMp+Nk-oSW zcMC`Rv_s{_xzx@tfOAjT_jTzn+W#}e^IK?Xb3@_`%&^Co@ji00vmGi4?0)|M(muPC zb^jDvBmwdm%b^eaq;wUcnqf4q4+h?Yl~56~v6E)f6^2vpm%;u@l=3{~L*%KT&h%}4 zP1Ll-ACJiY3jQ8OLla1&Pwh@NBWuo!`qqF5bvy^v5Tr86;swAr0R`hX;hNb-Q&tM2LUxyS(6F{_}*BlARvaq=@imO2IrL53D zr3k@}Bu4b5HWdqsqL;s&QCoEP#I~{oJsN8F_>}^XuYAWCymBi3H^^5`{C}^U5OItP zx{IB}mv^s+&wO@B;yyn$GMj0gD}#uB`XzDpB&AR@E;w93H|G;G-UVX7?;|$Dv9kS% zGPiQBk#cx<$?jn@X_5{ zYXCDimlR#8y%@lXz`mmo3{bk_PfY*Y=znfnxA?D{20b!xc4VU9kZ7LNNrIIS@xi7S zD;QV}EnqeNLV2Q4Q)%752sjHMU`Rk9x=248x?<&REW&guDQi&O0_N$D0Y<@!l!ozN zfNP&VjM}^D6^#sTlpl%{rRNf$K>lVYJ^_n{yR81FM1W97UA4J=9;Ei4(I7z@jST3c zQKtpxPV;(pV3t21YUxn@&_%x6kPu^;S1$B&B89W~KjEHqR?H~;RbVH1HSivEpP-^Z2A z5j(-38$ANlaJ3#Jqs0Qr7+gCq(yVy|;Lo{e%~GXI=agej_(`+uQA z8VAg={UdJI{H=vSLEwiVfAG?g8DS%zzBj3Z z>@~@&RuvA~=(t?AdyVa20(|+8TXc+cWl$x*TrH2V4l?YD2h9l5|P8xr_kNK+7wVs5l%9sMjtSG{KTkApvi$7XhFkS}v& zXnf5GO~~x(|Fxq1+olYacf)`4$gD(P^}@ThE^Gt-#j%gv`=4G&nH!^89lydJr2liE zWzYwDC~xCDsFAL91s!;#p-9)le>7AHjX(_|)LCPJL6Tx&2v2Z4V>iCk|(a^T3@_u<6x_8X{IUqtsn&>3YiFcQoikT_+{|HpbrA?Q)l z`a4eKoAeE;o;qAcuYQVw{8U!@_ei)Ltk;y)=>Y}uRFV@)@jM&AwsQFE_du}`3F6lC zUR;r5;Ie!kVuqb2YW^pjQ`#t&dB-P3qYYp^>VWk)Qtv>-6YY+vm%lkQ(DuS8Zz412 z(0yJwSkU;>gj%0)&nHj!u2?AMDB6a_yu^T&U%5oFF~gQh`5*V!XGixtOk**@MQ8=< z80F6=fOr$l6l0vYcgUw=bU`q_fZC?p}@yH z06qpjR#7enlDpj;R^mA6HwV*mW;7lk*wZl7M5z`l3QPf@@d@#~STdVK`yh*y>-yfJ z<6mp`_Z;OshVh@B$`#QREqTZg5TS>v16}-MLNr-{5-@uu)FHRMGYoQ0**f1f8jLa| z4i1>qp940cF$R>FQYAN?_}kcEeMVTG5=_T8{2qyW5JZSc%mG>@v zfGJ9GuZ9x_n0eyt)CAX=8(3qZT5Ep4MSp?~I9;@f_N0B^dHa3c$Gt$ikkwtzrae(C zThxtSI-wmlWGE)+8O7Y|x<*`&Gb65hk)I8gD}bCkhBM|A^r1oP}HLw8P zMJ^`jor;4LZ#!@X@`7I%M-w8VgJRlCiJWbgUUg`XSwegw6c~A7iB#=o(tk`$^$Yue zGqAJAM4_2co0W7C;p(te-ujRfq}}N&JSq5vkhZyO z9<&yWyIN!kp%KI#@(EXor!^0*Q%}FEz;74x#=v(eR&e*ZE+GFtu!9RJD-6R+>Z!7k zsFB6SVuu+u1$ew;dKV=!k%UAF2q|E|-=O_@Nnf!)hWu3cJO`K)N?XQ6!ZTNkv4uyQUyvfJ%1=(jXmU>~}VJ-|zdo_7~U1 z;C!BQpC|6;e$J-=^dRuh_&8z`6gFy4f)Dy#uL{>`LZfOwX0SL2zL=9E3({a8qjZ>U@QGSjh<6`?*-0zSfCN`kLK z4&;j&;9xGB;W?l_%H#8bx}QKcWZ>%XXg5npyuTynjf$ zS?!CwXY`mCr$&Ro*<(!`f=3cUO_~cP1YpZn_)n@iCeNOv``^U*Nut?3c?CD$z*gkV{NpxhPJXUMCgOR zksf#|a2Lw!&Q(V&aT498PtJIWln5LSP3Ew;;=Gf4xCOWbB{O?^sNLD4?&6v z7AB*D`nDRGfAKs3hVl;lN24t|RVx*08wU3B%ngpNF2Eoydtxh!Cf*|67!EFQ1d0?m zB^!sqr)S=hf4BYsg@1r(-c!zu0kut%d?K|ig2=GK;f&hIk5ka7C=nG zy-CNjsmKu25{4-8EUtADybQui9gSKn$R!20}7)+V^j)nxs-B?{qn8 zA^p|72YXgT_~XzMbHg8>JjJF$=4xk_@7;e1d2#=xXwZqq9=|{FQINSMTeji>&|=Kz zb<)az1%KA{DzoP7@hT_bK=nrB@<|rlQVqBY-t!z6AA_VZ1#FEQrFs&24`y7NgFKyZ6(U57 z2+g;ER$(Z{C?9<}e`S>hrMC7qg!sy!m|X6Ig6$u+NX7_uOnK+wjEKi!OK^8^#;@RR z|GP>H0n}fPPCiQ_*?x_m^T8!8l~@G{i7ck58+BqrJ!b6CaT_k46A=FQV24~H$$ZFo z$};u6?WjzA4KW^e(jgDMb>Jma#=ms84@90JFeDtom4E}Ep$mEF{=!T`D3+s8ALKY=rK<(zK9-;Jz741>xwX|SleMxh#rz9v zR1kVS2(?*pv>EQ-2)J%0u}EfqG)AM1O5!9l=THHO1G%-tc|4SvNi!c@TBa2*v_^Y^ zn*V&PG7|wNi20mA026XG{+!2qeK)JED^%gXI#lSib9&!%phPM$$qk~wwn{$2ecRAo zmCPgv%y@q$OYO}jlI`s{{}t`Zs-`+(R^a6|@%D1&2Uhl`Na$1KDlbTP7$>-yV=w=k zdQ!Mhx5QEflCLXrlkBYospK#r0D*7u0xS1P4B`nD^hM}pkuYeS^}kmBHHx?Lsq0GH zcq<#rN%OWAch!=Iig3r;i>o&9?+w91YjaRVZBXGEw& z=sRW5+2FfWc1AfFKe8;}G_O7k8)fEn(FVelGbLjKTfLq`q2c@Z<5v<3nUf_;dvtSb zj_2OV+D?#CO8S>vOe$|Ds?X7&nM#D3l0%M0Ig6Cw!w{(wAGrO{c4&k`! zWT4MrCXq5z*fAz$|u+UTg~Y>&Z8_q)bZXw<%IuT27XlH=Zkm6^Z$VZ zDx9!Hy{#AsK37TC(IQ>X$NQMCq^~+u6Lo9P|KUW5JV{A@M+%ns9Avzobhk`AVfLp> zt`&nj8w>8B5^~C~=>;3UgE{ZA*HuR!H4`@zPksK)8Vl9i^O9np4&9r#q+e!lv^vKe z5agTvNgi_@D&)m-$r{U~+uXqh!mMyW(`C}S|AbB%OUejn(+=jwN4A8m@vjl4`< zlT}($K!Wmp)(O)P6A$v}N5?>a1*j}(?N>+mbjA2Ogf+t2A=cnu^k}W%bFhzZk>o!> zB2QTv4AO%_A1Wd_W%M0Ucf{foX)37ml*Ko=Hnp3B2N)`dJ9@juMSW2WW$^u@E`OK; zS4Du4`aUwTn4W)(y!?9TWSwtru#`zLm{0LXtyA%bYShYA<@K^i*YoTQ^TtX zk&X-(#{eu(^B~;ku0xp5F<`S$c>Lt{>0di^tPHr=MFr#Yc)?9_<^dmU@LGLRXENVp z7tum=_WPh4I92Z0D2U+))k3Z$e2!Cvc@3PQIpIJeEK-RBG5|0#tUYCehtVr;RM=;hkq+H(MwVz$H37$h zLM_a30*haLi#!i3j{4zgf99E0+C$nfQ!TWoXqoR~_NBAHE1G}5t_{-iEMRf{rneJZ zpxhcM+SWKd$VDXMf#2C5YN$;XPHQp1##&AwK$jl;b%HTbtZ*5L_FWZ1RVosEYLz7p z@>7;i`SnQzEdc3a^%qtKyzUiE4&4&6ukmkudGqY2Y;Y1XGvQ@}1h1`zlgXTTo5|@k zRzcZpI!8_J9;-}O+i_L+i3B4+g!z}p8yu5eVZfSxdoM0o@WiG;q!xK~287UGdQ3P4 zl!Wj$rTBR2@G;rLpC$qY#QmYPOK-y23;wDIg_Ma^{4Nc*>Yy(m-f=joNlz-%HyC9a z#nRnQ$I8X&h`w_p-vZRm$y4;;jRzi&6Q7LZD?jCrq?s0%<`HEdPRjjwWkZ6;hAgm? zZke6G>|B^a2QywWe{?mPszZ=oHY_{#4;M=0omui7Hu&hE%vgyy1@6-Oe0Uix`b_q! z!Au#%yO=iLKh-i+AYQBWW&Fl&(;e ze0bMofnUctt1_AntkUdC2rC{<l6d?n@}h4s+xa|4ga1c}9WI;s-A1{Q-_vc%$y~*N*sR zsfUrM)vS^EJ&T^(&_psqP-fu-L54~#;g{Ci@^}}AU;ha*mq^?UqoFr17!Y#r2pP<5O!9vp9+zT?61`waQRSIUXC z9oAY;F0n$L@!6C!00+@xbhgwUEweLUY$K!!!>cQZ9%f-CG{G|G@t$C;rKl^W!?VwW zVD00Sf&=jy;xOy`*n!Z!qgu0H)d+|DOr}<^!?WE01;$qa9r%R#A^`;l@E-;5x+})G zhkA}V<1-o@O9WRPyA?wOTs2dZp%&SCKCKIyq@C0@ErO-pfMk;jP4_8E>k}W~e%=A@ zC(f$$vmtDs1o0#+av8t?h{zt~eCZk1@HuU~ud*xkaSgN<jG?vY2om}UC)q}X@xA9d{Qofno}kP zt!d49&-XwP7at0FO{)^j=fMQitOlqKA)P73S2x7*M?aODRYO{2c5^vV-^WffOv;2@ zaewi<Zqm{^0)bv!4l(FPaI1v zP~y%#&-jQxh_5(NmY>OuijBl`{ylwcgwuC%ft><>`W|~^&`l4FTA-k(IbzjB1tC&% zIVecKAH6tqgrufCxy~l{fnpn53dsyViuO!Yh}feWLwzDTD*@0xp~-^>l1l%TeeVIquc6fol;3Ul90o)OTe}-i|ot1SVxh8b} z^3?>z6VKrX8Vz%*=@0QgGVp-)Q<|5(=PdCg15WvsvL#{lddI7miT6ljf(@FlOZY-b zW)dRKpt|-iaG<=#pJ<_PfbgCN!h2RmX(th2mvSLaDlB(T0qcfbA$3dt8mDMO!LRH| z&H0~GM>$V98F)pGDUUfn%XRwPDZpMGcbkEG;D}`g4Rx1!Mh0+pQH-#A2H)Ja{dt|3 z9%~K&JX|H6sXW00)zxOzt1U7E_c?>V(<+711AUa=2gv-HOQ(UeaN~|Ei30UXzI@{F zADiXUC(2F0TX0b~J|E442R2E~jsQrBRxW#WH6iXr4XDqZa@-C20vYBQiOZTIM~BSEN_*{*HfENfNCd1y@t}=4-se|QP6|6j@Rx7{xq^o6iK8N*63veu z^7ZB6Kz;YfrcCqu<=}iA0+nCGI~MQ%dMAeeF_BU^|857Bt+oncfeuuF7elW2;HxI| zFD0(|Y5_NyIq}MeO6%znKgrKPBS>bFp9+7{bJPbJ=P*`l{4&VyO?-qUS0oO6qR=(E z#Ggvp4>Wb}hgm9qlwK!a%-&r~o495uJtE%U4^dg&Rumo>^H`Ez(;Zv!Uo!#yGn>ON zv)~1g5xJ77isgr$d^!1)3-N7jijhh*?Nr0_YXYpm?qkZdzT4Br@+#McCxxMz4bJ(W6A z(S~gea0!#R2p8sz^${(DtK@!HhL}0-O8E5v%Y$mFx1xJ~LK5~{kyTv{BGmh~wMdE# z2=_|!+J_RpR5*3DTM}&hm&7fan{t_7IevJJTlk+Y2RM5dbx|Jch&Fs)58vF)> zGN>dkpLh>d4&@tSkLZ&L2ZaQnoczh@L5^F()ob zctQbEXqn$lmhYDVedbP$$IhCq?g@4{pv>M{|HBRfU?=`Otp8CA)bB@RI#Dsh`PW$Qz)FqC?uqT#EmYR&x(*0ef=sDIpQzLNO|nwpd>Y*OaDG4xWy6w1ylHs zyn9p6krF1C6@^v-{=aCT-=|Rn^q$$qqxTCF=Kgni|Fc6CWxrluz$&9zpoWpMRiZnQ zkbc!->+*7N+EC!M4I$8f<4FejQ3>Ivr}guJ?i9r8`y#Nx_-h17Ac?IG%ERnW2cw%a z?E1?$lZG%HPtz#D~yvWdLxyzcO#q0^jz?o4xd$Mo!mbU8R$8X9=d z&>p9H;u$#L&Lh14^9&roGhC)byaC3+Sb}EoW@T7Vqw@pggjx2sT zO%Zwx!2>n?qJBNQ0eVblY=UAgY#EdvnE3TgAk(U{aP3$5X;OZb)^tMRI0L#VlvI3M zBfVQAjx_syj^L5fu+dV;WY|vkBoW&hl!Sfy>2}M}i;<%X2JUZn){d~RCqh$6#N?;5 zJ)W1huuXHzXimrc^?QYl+x~cPPw63fnh(CggFgelLC>%pUBQ#hmhFD|mi=^m%D|mGnR4oA zqfI2^BYJ|?gB6^I@jM54|1=CH3sA4`-To`pytAa1y2K13bgzy#7n&E__q{5z(n}MW zKkhXs=CX3n>Ngq4N>ZFA#bxmS^*pJYp(Yidg&mNfeP@tq`A>IvMgz6!%7ARN1hPD* zJ3CExA3V80$o%nGL#xA5h19sFiSS$fnF}A-l{!D1XwYP!Wdbd786sD znrN7W0B9wn1xq^^6O$i7`o*6jbZSAyCtGiGzn1IS5Yfi387d|h#sf_cx3$J=y)MWt z%{#NDoNxPC;3Yyv1&gGa;O+|883NiHJR)7Qz7U7{0{u5Z@08c}s=&;90f?$0m1sh59bf{V&F3Sh{LovALf8TrZSF zdJ(Lg1AV3xO-h#na@D(Y2vb?G@|$4gvRqG14&aA1T5M@UB#0p96>4x05+w;@V*&U} zhmUV55p1h89M8vgIVJwteS8qoMtQi3apyHhM<*|@a>$k2d?$2!z`|zW9fO@iKY`{D zh3WxLg~6RYx$ih2f|!RXdIphVF+Na(1C?Kxhp2tKmCE|sH#;u!Ga)RbC35bM*E)WX zAXp!sw+D-rPpOnoq?5n<%HkfEt-MG!4&l^uU2gVu&G{&jlZ9`2r1A@N?L zDuk_-cqtUi$$=ON{(->pA!+%L7%PTP!C!-&mVz|{%Lo+HU`8Np`6>Q$b62ISz7eC= zXsKUmnnqt=$bk+}GOU4epM-W5lGs90LXVi2508?~&Y}~Pa6sw3um2Av7XeC4T+c3y zrG0(Oa2_U0iLjf2jD6&!Ld(rx))Ey3T|O7-0%4c>2bSs;pkP*L7_sO`Jg4f3|C5C3CWM-bLqDlw zNQ)Nyrt*1cg<#n9BXTDa;W3aUL{quhN#nUAVJ!C}yaY{_-eY?pHaNnZuPu|Z;~7MV zi~GlEMk1*5RhG`n&sETA+CbMHLBsluM+>bDEihg&3cP0_OG4;GhI;rrzJ?r&Y57Ur z_&mT>KnkFHp+HR~{m(kVl4Wk7BwX69j|n81KOebLG(G8t>c1U#FGl&46TL@}#(;!Y z=AZ?M((R87tB-~MSudsA1N#51SM8Imv_xECmTjSX3ePDOGZ4k{qFRLEQq#BBJ~vA0L9wQ`wpyyN8lgRDM1C zzwW`94Y&vCBPOQir{;WJnUw0`5FrlUSl$%?h?}f{cHo-qx&egDE~=3Jb9{Q_P-mcK zD1UT->#MIir1*N;=)Z+P=tICOC^YNpYSY{!V0MxR+GV9vcQ&h%lyYIX;~w6!CvZkE zLc1!ORG6Z|UMDA)ev`M8emXB40KbSN{6|{0_CflLyu4U?WdzLxi8?)c~NKI z4~l>*eyjyygPAaACp~zH@Fo2JETWzqoz0sok!OT*DKbi%{x^!~qRI=_LJ3_K)1z}A zABn=Q^G}^T3=n?~$()Ekp%H|5&r-A)S-53zfIf%iBo`mK9Bb9{`v~vz$)OxFYq)Vz4AGtZJA!fp9N|o zM*o{j%R{?Ln#hi)1j+!JbU#kI=T_$MeAa?>l~p!Ns{Ibso93 z|B5tkznDuY@D$>WnyC!ZTE1r`2?y?r~z)cUnOgK(kIn-dP<3nIF z^thnqYIp0hn|JQllggTb#a`9aMa_!_kuVU0m@RXc2!-;4t@4n8l6_6`hWb-wKX?gL zEcqeQYv4Ko)A_#_au+5Wb+t0<#^N-g}vhKdK$6c;DC2*>xQ7Vo!yLFW>u@?|7jC@;TcoCxMZl?$9rp z*?_M~`n8g*3%oPP>nUM>NNVC_MoW8BtLJ4|0hKi3J{WzbUu8t>r3K&(LIZh0Go19Q zKc4oC1rRoziDt$~IaCScoTB_4U!x%dFi$A{b$_=g~V~%*<{ZS>S!2;jp%Vq=LaZZmRF?tH1CH z8jEIPbZ$kXj(X({$l{cjDeQ16E0aWc+f#(d2362ZUJgmV5{?-EU=ex=+mdK0MDeOe}z4x|j`>eZ%7 zfXwKxCppC#8;O#?`I%KS&hL?-J!w41{GCp$y@&?+;J!zKLn}Jfhp?TrApMA5k_% z3UP7tL-D&3hfiR^&4A*^(;hAGFLeR`KHrlmx2|l=;eg%|-3%=KDwzt3L^M(;EtLdj z%s&?PlkyqZ1o-dh?DY;0BX2}R!ReqG%JPHzK_$}BHFi(R{^evBwYta7rC=)YO) zMZivZK4@nuYk6+Yg3j!s;qXuMd9w*r)k}mLH;l%O|7VTOg-Z@Jz;PBy2z5 z?tS$bdLIB=KNOQzxJTlzemc$mP>iGo3;!<2JW&RwET&j3SBqJ>--q~ z3QQ-;tQyO`*Swd`1fKoDoBTkhqFqio9Mc87Am8zpx*C2*Hh9td7p#sVSIVC&AK7UYIE93SM3^P}`w>r)zvEhREDI+oj7H{sa)rfurNy?_HSMmA z(%_v2Hye5uHrtnXPg%oVXkXx1Xfi~D zsNP8C2Ifg8m}iG7P1>s* zAKKf{emyPxh#DlMfON*odqc5vTJv`Rykz5PQL**Cl%%9I6HMs3Gruy=@G9prp->9Z zBB_{|*uh=E1CiU1w$p#89y53zCKkW;~%;xVt+0lpnR-EZRfU*w3s1F9AM4cxE}uLKxVe zg<`k`L~+ zk~Jx$)$~g}lyW#=NG8WhE3Qx3Ox>Zv`)&Y(PrhwD_)~q8WX99}rK{)KL3i~i=5hp% zihkcMVmAx>lqW9hEIg93<9;7QGFjS5;aNdak+;4@i+T|BMx!QYe1PSULX@~&vG8Fn z&`1kx{{mdkb<{T8H_^5+;^HwGUcjT5NWMslaL~>(c>$zX&pB{HiT>l<^T8RJKlLQ3 zn)@lyri>j7Ksq(3n;B@D5E*zoQ7fHFCk&)jw|UX$Xxo5L^V@ZNqlBvu-BlwIFz})= z(QcV5tUML+!m&0~!;uX(_);$Yeo_)jzO#c>^DDEq)HfFBG6&Rop#65EH1j~e(XNcM zoz>~Vg*z4E~ z?P8*W+Z*~{T8Zw4duMaE>{Ny@yjH?ilhk~z_IUoy8cV6v)gGe+_4&eRHwp8&pOG>Ao@3ezm z&;2?sRJ8)+hbvb0#3Ab7^zix!^Y(7w=V?pvWt-n=5dtr-o~)cWm)%A7W+NmK2w6M( zC$a~f@;89WQr}x*jFB^TcJY!pR1T2Yc#OC5{*Ws=?LOdwwZOPi1wFC!x({RpAKOlM z2T{)R>a}e;;MvTj)@uSbo^n$Rk;e@xP11M~4UqR~iFUx_E4N-!x2tOs; z9=21=i4pnsGl={FDHu+tRzutX6DP(%oWjdHdE>5o%a@m7vAjJuAo5xeA)PZMQF#!v zV5X`h_Dk_bGwBdNUjx_OsQ0+< zD_oBgz97=hSO;gD_R}nNzTci1xbUZ;#V=-46eF=8erWzT@FM4C%9hUEmF;o4?)~Pk zFN(^~$T)^`8S@HAnCGbCDnKbvin4!*h@r>W*Sqnn%D3&QixLe~$y7ntC zyV(nhYPbQSQAuOlXiaHSqfFrd-Bk(%nGNZr zHJmdTVS}x(!P$KOGn!hu24~Ffzx_aa`IXTnp{z-x!#u0?_Tqx!+DBimezf{^XrWjz zz01!{#O}N<__4|{L^2yzkP~#)y~2vLYV+3G<&_t*zpT8E#Q0ouO_IJJT;Nlhj@h%u zzUru6rk~k8-z~keCbp3JJFw|!|NBIH=%(%80Guvvi~dgFgKDz0U1JKxkn>nIEc;BDS{?;BZ( z3rwuCkywvBu>`|vg-j(DywPP9<<6JTf$hA?p3$1II|L9RL_&(5%Ud(oH@~wTBtMj} z!UWQf4r^qNFH!U8JE=fgmbvt*vTqj}uDC<`$vO3^=6M(h!59MTB#D=_(NPCJ?IyT+ z_ix6bb`y(!u)kH}kVx>^qcQ(tWkGcR()JE=L;jeqxko8bWvF`U`f&Bjm|uJvNYI4w z#oK37QnvlG0&Qd00i-S!5XX4-O_wnfUFdVc&D;mXRVzV3 zZBC;B24o7Ki{2*I7Odaf{&85x`*97cgYvjEx@B>ql@}{{+AMzV)@mu$#^4=c>H41;D%Min#li zyZFcUc|`)gZE>?tnv^-e8Q!whF0`t)R%g2`arBm#thZn&Zn3m-$*kdfBu&D^oJeXG zo$#=^w!+~nBl0dK3R~&m^xrpcFkcRKo4&MO(>n6Yj?BPIy&;(e8IetvaQ>mC^!9bp z&0SuDqwp{AiL2OdD;eDfP3k+_UU@@*h1l(7gLmt`*c?SptV(#F5@*Hs+I$#`f;9nWY#HMj}mZ9+I{z=?qrSs z9k*J?2?=%n5@qEB1Z1RU=Adc9!-dG7>4BGtuDk|m&IKBT8q?YHQ0G@K@CnxEd)m2mx+YKISd zvEzAvM26qAhdo_83h}qy?sl*ITKQ2rr99dH$Z5yuDeEpv#l7hFXD`54U8W_?}c&hvDsYV20b;xCV)zQr8OAL-zETE}`?v)zhj zOn={E3Oml)HiImw%P0qV*f&1C!^8)dy10U z_u+!_uGv#^mD*n0^V~7{OHG@aUZ4G>KWH=eU?_M0kj>?0O?W<&`#ay*_coiX*WSZ^ zyVdN$`y#2L;=BoSWYWRvkdmPjPCV`P*H#?T=Tpey4=*tGG zzOyOutp~d_ZFP6*e7`cb=ZjRErFOK*L@DmB;`9@q4t%an2*5iEPZF()yy_~!k9+~N zcFL!X89xghX`D8`b`JKC)Yfk`(kU(%^X`*Tp`k>d0`|R5rq<77xhrynyau$k1f1I9 zcPSci4SB^IJ@m~)2G*DftN4LF)tN<7D`u`o53uCHu89e@;dEsBAcX?=37Ds8_(xKM zlce!D>IUdNUV<%aWc>u<3yEJ!eDl=|D~$51ZVqR`GzM$>=jR0^l*uM9>{D&=CEo8F zLL}$o0U7m`Rg;WKkWNQvNKIOvhP3_8yqL;3$|*uu#r7@R!WK)J+#dQ~ea4YIQMERh zCOlJ;_Q=f9KX1D45vicgU;S4}q3t{JtC@+#gSFc$-+pd3ZAQx**lAohnw|Q!hVvt< zHhP+I#aLageErt;Z?P-#12wXT@0?U%gY~X*nqxsd$+g3?w?|X=T*Ypwu{3Awaz@t- z)a7n3#<|K`jrp{PmdYTH5_fZDH|=*ln~#2;U0it@$YY2JPT$~+6B|DWiA7}-&?n4Wp#MJ@=wzR{+)=i9g8>P>k9*dRQK8%XF}zrE&WsE z=5X}_FPdSv@E_Y2849;n{Ln?Gngcn$yqDZnc&ixv#i+MeC5Dd;>F%EBzscC1hm9W9 zbXxXG;O|X#mA4w(Od+l~bmAH>YM8vSy&YpwWY=EOu$qzc?GH9*t^Qggwx`%2g1U8t zzAds^q{=jNeDjI)hqR0)i&4GZ)%vyQr@hFG1KP@?pZpbj%YS?A7Mq)P&lQ&57(2|* zU(<7F{Ox4w-ErhQ3;>6XHqT{U$_O4gy_i1nY+l~d{K|v1oDaK}Zi^r8M{e(7VwB8) zv0nF1k7pmU3{Z^Hi&;+H5!In71g||=HFGQ{qAkXrz2I^bXZWd5|581xn&qs~1!gPJ zq5|$iRwQ<-s9d-!t*X_bvhIFCIYm@Cs71w0XdJE((nz;BWfO__fk+n)@Y>a4kOFW$ zPIIP3tuz#a(L#k%Cp8c>NR|x3yn1lPc&Rmq2W)+!tZVf0E-?>d?V5@`BxITrq4s=E z6J*^w2WqFWbn6XqYZj{ooIb+e2eKm5iNQP`#bP95jIygIP^GX*u0B$JLs}D8F63u6*SDF_+Wn==Gf_(x<+y8n(X4n0ER;Tk{=Jp4NW{G5<(w+jZi9NYjV{H zU^8j!WXAnYSd2AVmM^LYmxn6kjz8Q}Gsxki)~c4U&n>W6XMc265yb^R$S zbozdD@n5YyAAW#jA@=@9!~erSMDb) zyljo>lX4~l{LAZ0^{0ziFFC7G z3Uy1G>B?d=(kCm8wuTQpG~s5Ez6gRKEs|Q`z2awqvc0q<$*gw%)-=$e^o9?`4qrjP zi-5*x&;oovC_8#C88#gGjNT`%+}ubTSyOFK2KSW*X?V~(XYI%yAbVe~?5uv=L9dD3 zZmwOln$EoJPeF@_n+lq9(9z33hiv=N#&wi8u;^GWn-bNqh6`9Qar_>ne`?LFZiQ|! z&IqeNzdmueEV|uUom#9Au4}&UQaS4#5inec^bGaKaI!NFCWSvw{fNLF+^rWvv+Yec z_T{q6de^Y0Xd8@`bkcN3ZS1p3Pvm#`{!X&le{k3RT9EtW!8$2@qow!#`Tm7(=v*81 zz9&luAST?`0xbWM^7h?Rvk>3mFFNF}^h^;68y5`H_}pE)Irkx2k8kvPe=8;ilUj%C zlFSM-%`%|P25^BRfzrJ$RTF2ifA0yKe5p!$6 z1#?9eJK~oUS*N|UUIPefuSE9(TtK984y+(i9?$S~yi_&6n2S;gXnNMo&^RB{Ld>M`vNl!CMx7p!xHk(Qn!S{| zmjgePs6aJTA8=Qu$W#Wt;>NcW zbrFL>`)~VV91A5%=OU_`lz8qmtPCsV={6g*R#-3x4b&-00d9kYNlb3@OQ{Dg2Ddhs zS9cZe^%J9&j?8$KddF(-Gltmk$zhAgZeDTl-|0luP&IP(aA=V?hovZ5Zl99(Q{9K9 zQ|(9{eD1|PFtm=_ySDu{?p*Y;N?vF1#@1%9LiNN%PxnhZvc7;O-?Cxr0lOC~t4&^& z2YAvH%$c*=6xT8YHo;K~3b)$mOn`uYkMi;1V->^W|E?I9k z83o(VH24G#dpoYFWE8QQZPI_&S8HDQ(cwLTJM3Gm&%kze__aq#bJtFne%I>?(V(MDofnAjaLChDczje7@cIMWBi0@o}vFrq>}dO67HJ{22mWAWkg4?l`L zNWk`!>JMs1Tn-=h2FNUNS1Lazl3hFd?vuAqLu-`lswOgse~kWK(yAg^_p2-Xe2q*Q zM>#J;w>h@_g%~g?I=+osA3D9CeCzrhd{%SK2T% z2iNpa!y4x9hI3y$mck43E4NjQUVTLjvad`5`12g?(hdn*kBHQe3zR@3<;~Mb*+WZi z{*M*_^b-GMBW-`UzM0E*Uh~FR2=}YlY%3Z_<2l8NX(2DVi9CjMIEK~kpen~)2Z=)> zfq*y-XeZl5g@@co5Hw^6pzaJ$xUW0fVQ>ewN&n3#K*32@Qr4*-eL+Xz_O1Lii^83u zVri*&P+G*;Gjc)nB4(jCh9&DA*FD_!%t4;fnEMLl&tG44m98}|i>N&wejdA3fmM3< zDDU|#L+saD{(Ofk4yyBSdMFM{UY7p0#cAO};B?78$jxR(+p% zH&v>!I|ucBIXX(ndrx@6E0Z#gq^EqHr26i6W4qt1^F=B8{0`^?rE1u)=IIgLwBU4* zA7nbk`Wjl2_+vh@uM3904-zq#vkKaJ>63dpLYl%0n=`Uz#J+L;&w>SCx(SOc&$uEh z_qd`A&-goRiIZmWudM(s*L_gh-lE5?^_@!TPOne)U)#_5FdMK;S?6FeOS&E1a{YtS zp{XBQzb~N6Pi6kSv;royRInp@5jpr9C&AONYO5&NpVeAUz2wSFwG=9d4xab2(({?% z`?Rx{M3VEFVr(F+T{^Fa;=t`tr-lZv;!#F$QPx+HZTaG!`3Ka;QG_DT))jC2VxAfi z;l~W0UCkud%*GE;JovjA!SJevmmX&KtjioNE#wLjX#VXj5<^UT^U!KG!g;l6(?zna~ z_-5ZwHS2+uhU6o;JE6O~G3Fbhm1EBfRf5cSW}W&}GY)R$?OQK^DyN0MS>m>{uz|ml z_eRofR^76@Ey}@|UX-uA75Dhj1j;wy_cPys&Gu-0Vm4a3UEEGveP6pS_KSM(?KcO@ z8CWyh%9&l(O_R!lE=iT&Ud5q4`nWBnVv5gSnRkM%3Vb!|#&>1!`fPWFlpay(+K%Ub zrDI)VXJ%L$$aM``d>*pm!(7s)3JDl^kgry>hQP9Klm+#sD0*r=8%waNzh&|F=hqv< zN{+!-*m`qju9(dPDhXyJuC9|7ALYL$?`pv|KTV(5Zc6y^M{-KZXKT}bY5(Ewn#ft_ zg}sf#R|653t(2DXGFUKylcq;5;N5ioSFIvMH!6IKvpdG^TnI#OEE`nZ-d}j(_&QTA zlJjbDci#kbPSeSqj^ofX1(5ADj{&VhZQML)6((1It9G|x1)RR0>!n9g@aJ@CG~+w{ zL%$DHi;sREIk43gTTVGiY}G_H2{mcAWP$Ofb#4^nH4Z8u5(Jlu@VUbQ`*K2G58f^; znynXJqegqbZ_2H^iQUlV=wEXBbIZ8F%JgM&Q@|QvQu~p`%+5DqCKrW7q?18~q2U zz?ckOkdC0!=|QoHBlbMp=O{^J@OA8xW>@6*!wFFtgPYmyM@to0oW6ndUcmicuTdqI zToC4Cf2e>z>8B#p?JYfcH~-0EkJ7$_7*o ziavwhq9T1RdnuFL+P=6QV4(2eV0UNghjc0?4OhGCE$Ps8I5c5u zim7Xq>wHY#C0UUs?NMru+z3i+EBW<7Wx(5gCDP;FtZAELW!~-8nI85M@yHb^%fPoa zVo%3KE8j>bTu#$;b=sI;X&Vr`%oC7*eWl#H!Ej?+lh_A+p}ynI-12?IeutM>xJKKz zU8b5Pd+`lAn_t`E*y4&6W_eZ}FcMkpd=Fd4Vw&+vZOO#|)wsIvaklf1q2Q0dX~d^PeEf_mva$gs~Go;!z_^;ngTC)obsLX)IdXCo}inQ zbu2CHmR=6+xr&o{=NW!ad4|}Z2-hO`Ah?ceZryzRoq6ESx%=d(PkpP=D--xy27}gP?%#jQLokSI3Sp11qR#P`*mo9_wx(PXVP`s8L8!z z0#`h0v5)wFEgR8NNMNmMU+Ec`T?^Fw80tWx4U0?qi9HsO} z$K-G*M)vpAw@w`Y$a0@pmRW%uAHSY2r^1yw=pqaXQqSr=6Xj4+q+}W z9@rZ`Ey{f!o_F54-O8tnNkqg{vilWg&NVpcD@CefvQ^W*oR5`Sn^Hic^*PC@cGs>r zv;QOOyW^pL;Qx_|B;q4fR)sRl%qB&4(b=o4?2zr822w_L=2i9?XRpJNviIIs_CD(z zZvEb;&*%GFkN)y_^zbmmR?AtE3JFDgql<>u)BoB@)nY6ix8TV4%NPJ4~BHwH&>W`(quC@=FRq3%H72D`{x0RbUYa_`f%yZtHtlsBUb5il-?KZ zRk+Imnk*fWNo{;n4rfGzQ%Dc&Ny|L>`B^b3VBwA$y}+Bh0^*I_n(N4Yeq?TgO(u0( z3gfkBdSRm_KP~|MgE6?jp8Ge`n;+93w3t~GA{CRaG(J1`_@**d(E>H#1*s+wHze2$ z>puQ*{K9kP3+B$8!yD7)yg$}}B8w%L6WLFhQmjR8C(woNCDyy~Y3HpwMV&ZE$QF)aT z{`lFwwM~EBa8XAjr5rXkwuZyG^!d6>Oc%d9*ltp)LZGNS7^l^TS_o^fF~3isUX!-9 zQB4yMGrw6VNN3cuhFswDByzN~pP&Nfl$Np}kQ59y1)F`_FoZ+iMeFG(PlZ*yUZAof z1oF)e;$Gi-&T|diO236>$3!;BEySlUm>;h?mOmwNvZF-_j&HJavCL|F$wiSe?g zS4_6Zv`npU=1*$+yBYi#?@*ILS|m1Jqe9vgYW$F|$uINuTAi*Mw9Bq=aWjK|;%a+Q zndUkNc7%PX!A`t&8o)WkQ+zt(AN9w&Q`9JF{w`pZV=q%os^ z22R2V_1&xLdg4X?__ATU-5D++kA6^#VTKkLGH1oa+3}AAAa}&`JRyO7=2^3{Nxpq% zHYaOeKmygeIjcF1=tGrthRgPElr?DHE11s%JmibAxKg{J7qss!GJfrSQ~C>Vas$@j z%)9_31TZKY)Cc{l9vl&fGoAs6?)X7KNA-fH^d^g{-g_V*m2l%gKz`g$MKod}c)&v5 ztfsE|1E5DocDMwutq%eU8S%8H3If5e=cD2~8>X>fyqrBpT za2V0<0Mv15@gv>>UMr0uWH91cCSt$1Az)&u)OGRaz4PqNbJA{M4TO=+xBCpp6UND1 zZWefyD5fRwsJTqv$jo_2$>dmT4f*QqgiE7@;YX<$=x-!kK+rO1Tw|!n&c13+>ky&g zH1@Mx0J>xeiBYt$!w);K<9$fA?0cy9sGh@Qv6LNrUHSI8ltiypWgngk1 z?^TsvwNRCGoH98MUMLaUj<`Hj>7VO9@(?YLi=B}>sr%mMKI7oI54s#5s8kL|N6*UM zIvA7Ja%bf~FpOt`*0mc2Af_I=J3(KLnAwx|_QdM&#P}Qo>?QW5fYnsi#Vl#0#3bCS zAA)VS$#JaUV_(RBzpIfq>;8ROtx5He>vo>b{T@bsp!UvfiMCrdL0uZvt=^4sr5t@1 zCM^%0u*+F46cBtN5^apRpPL)qdTO+w!u!?tlID|wTu5Nao2V~<3Eaa_3MlVKtORYT z8laD2It=^=E#s>;z#n!{Hp0<=_oFWLk9^&VMWdzoo(rXuf_f;rYlY3Q;DVnN|9pW`8@JN}OD6Q{G{)wSRzxy#EO6E3FI(mt z6!IxHil~a-!kDZVBnyQDZuwU5s4L#wLby2wrgI^KG^czyxLsx4;s$FbE|fC#ei2&Z zV(Pt!c=eO|c&Q!bI&Hpw3HD&YkvWRibY(lB5noj~cMSc37c7NS? zX|7S~_LTZ3V91&8HV-9uUr&>!w{IkU%ID=EV6L$P=mO*9f;2*^4o5A6rvfaM4^DF) zzX1CqeyZmnhjo;c17AZff3rPbtpL=nMu)imDiNQ0kbffWcB}cMz%6k77Uh^8>Mkqw z1LfwqD+aK$8_(?uR^K~YGFfx*H^VNJM)B5WzbJrFOdqipXmS;#-o>XE;V=7eM$wjb zPTeZN@Ci1H&=F43YSy_CtbmEHWraXXuVX_IqO(ct70S$fHusuf^VGO|Jm1n@bA|Lj zl`Baa3|&3Gile$*(+nG;c{=hlrA=Nw8Mg(KN)GH4Y8t>Pm1_gCtzm$X2T;&Ty5*3X z+K83-GJV6$W9z+Hc4)_JR_2{rD-K1^{7vbgl}P`Evf6a{mqj*&Ffc^B7#&IO61PYD zzor>fa|)KN`{@SPF#*?U_g|?%a-d48G1qRWTgeOA5N)Y8C%zv-9}t~KbL(afiMLfB z1c^Pzsi^M`Iq$ngEROT(hzmx-el>cM5PL_9M&MzaJ;g+ydlx$T9hL{CJ23%T$GxAF z&Z8@GBEP(Tud>m(UI8-=aI-{QudYg$;1f>~PoW63Q$+?(W0Q2wVG=M>n?fA*)$y=V z$-UkcRCj|3s$-l>G}f=ETE)n+NHiI^C|j8@jY9r-wh^x`|2st&sP9d$x9XzTQVzz4 zSTcLBJ)Fg@xsP!*fEh@*SDd^}y-)WO_!aAn3HZ23)+*`3p)$n@_GT}3@Vu{dUlcjC z27Ki$1F=3z_}eTNPKznGgdKa3QMK%nvc=PPKvKtYTJEs)XE^Dcr92$>n$&3 z^*@?5@Fz^xT7USL--j$yZ@Nq7n3gIgC4Kx%+z0Z_eM&%$deV)0$MUd|%4K-jnMGUK zb*?@h7-PnjkwDT|(n;-hYegm73yTW|ahFk-@$h91>d^|7RM`2{wGP0 z?r|>RST0uJpsx!eJz@E^lSEwE8Jo8OP?All%ECo&z6db6gGgAcrAH5fcICaFiemlDO37DHQXqvMD)Y z%u49NMkpV8ChMJcz;Tdj1=kg#K-Q(Eswcj4WG4`7sB){XQk!U91*vUkg!e;uE|}^d zM7fjZz07+U%o7qO%>Ih6T7|o3z4FbQ|MrilsPEs4rTGgiK2k=e$A3@SfH>$nky6BO z0&3GwK+?fYaZ`?Uj1WhE1T$b29KjF4^N+c-iih*;*k~TAr2OJO-h|Tj$0T@5uOI z0s*7H%6>0Y-snP%yFJ9;KV^p4k~mcEy|3LnI@&3NFy~L~HXPgNn>$jsk^s0^DKHb} zt_H6+Du8HHo?9-=r%up5UR?^ze4+8t!Z;2B48 zp0RRXPT=qOsv@y||CMwkOsH|z(v0oyjDKhR9x{3P{zp+brt@g-7xZ|AV&z1@2a=84 z-yiNH#%~aR-+_QSM*9fL;7%LUn5*EVpAf0-m&>ny=PPAuT7+f1;%KV_6F0^lFbsLpR>=|^ix&+Em(VM<43>~se0DbbKyWR8?=!W_6PK0D7$QU zXpN+q9Sy6BNX%Hf~HxD)Qow-VUdvz`kd!acQfLH(Bpk!qM2$O7MA|C;1Tib2hM*$Sht0fzi9oU zly}izZwCU+s~77l;zDG5i6@>^0gEXK*9|<*y?Vgf9s@Y~hNJ=Vf|=|TnJYjSTzv>< zKMeF+dAc8aI{jg$!+VTOsh%3x`%t;qyl}4P5{ow@}M?*RnKKr@`F>u)(1ZYT?&foLWGObWCgDVOJpq!39@+b58uVIU6&S4#L8`rs!~&0Mou> z+=tnVrbedn;10h6(;R_7UT4TsDg+hplW?;iHC?5kM)(oxS z#ZJnGwW|~{GwO>A(#XAsT!GhRjDe~d@@5n#+7s)Ttgtp2@GjezpZJ6Ld(-GhloU+E zbyR9qW@U#;*2gZFZZW`4oL!4y?%i5eR6)Mq;po!qr|XdTTg?$`{I1L7?My~0s+RtH zgV)9QE0!<)45E4e5h!`sZJ<@|m>_~$gBj2Y)A!$TdSr(u2A@RLy;bG@xUNl-j@3kvRu2)>g*OFcR_e#I6%->t?S+JKCOf=@3Jbl5cNTXH&}@NlT?G* zdD_xwX23&eBST1%Gvz{QXvPZY>_lT9{y|q-Wyf9X-Ed!^Nz@i`N%&AS`uyhPTJ88n z*H6V1&W@fs*Uo;UDtaJ2A9m9g(O7f$iM&mRWO;pg*A6z#z2=*FP`^ePk_&S1+C(0E zUTf}dA%$~+O{N-y74B`r?nKXva9UePVvp~`XxpX@-Fo%qeq#04*-(MzOEcc$GT0;= z?RNi-U6Z}vqy7AI`#@pbPwHK4lNO1qnyM0;z%2Yg*&ckWVGrg=4LFJqA{rbux#m&1 z)KkV-V&fW!9}tPwbY^A)ze*%KlI39shlyt!WhCw2HO)TcMcMOD6z*DrcfkHGL)}SX zioZuJ76&S@J(E%(4^t3==;fGmFp*tYgmSQ$bV;MvUNJmVPz|)iFCBvsQ3+%2UEeVO zwmPHRpOdCnVAX*wmeL(VP*SD*CHm8C39_EnS7UN&7}KIUW|^vC6%|CkM3^vp7}7drADx~+4Q!+NHX=rKUBUtzSo2n00h0p&>6v7hw@dAia3Iutp6z}cyz5Sd2rz_>7)o19|dg!{}z ze_X-jIXT_yIN!;ofnxEgb{h|N#g|2PN?d=(EC(a_*#dws2+ewSJzGGL9pX0BP%v}c zlKw)tPW~(FuH!h*+mGIyhu#& z-k4Eb5rtqmsQ|I8&4!>92bZx@b)c}0EF=mDk z02EYM(+!6|nEITW0?rLrYtF{r%5Tzw#NI=_@V+hEq3#tje?dQ!OgKzVuW7&4-N10Q z3~@cEZ9A7}1~l{R;GbLN2YE|jyRzO^W+JIR-(PQy4pyRn;bw0k!8Icozy2I=kpJP^ zZ}GO1Xu%8Xb)V;Y=ZrSekA6IEHHBD|KNFcG*>^W&98E_w8e)AnJ$&Yx$EOIC;BTUb zqByL{VY2m>D3E?b(Qw%<-zqW!y8B&e`krzD?T&>;fkHF>v{ZgQPpPY|fPbGz{z+4f z`-==OZ|k4lpXqILuk4-yTXeL*w8lS@j^zPjwU0Oo#OeyC;EVy34Zt;jj5uDFqRJOv zd%AyXLe0JK;rKxpyx`)SXWtkq9!``x{vu)gvUIJOtqlemOg@rCo~x1fw<*CdEV#4= z&7~+$Ll$u0dL_mK+~4|9z5_7o8;1&ZE6j5e+Q2p~Ly{6C&1@q7qK-xihr7~TFShB|)4 zfJf_f&$TU&5$j{*r^CeD-c+`$LMhnzNQL=J-C2l&8j^oe4WG<`PZE8j$vFd5spEdG z=YliqV??y;MGKJFKFfKOfRgY@?_OzmdR6#!zp0Y2LozN1)YQ+3km5eMv0}72pX->L z>&vW4>>dGaTHUJIy1)0*0@MIXbZ-pE0PjC7$8dt_TTx1GVfdATNlTsX+W#7(gwM)s z&=@z9_Xxns7-4aC`K#6|j{i;{AVdGe)NUI0=4-<0Cp%Y9ZV?&VGBE~qF z(9n?sOzkW>JYLU+%B6hlaTjWT1uWd1B;tG|(?zt(Yd<6pY;4s}fqZw04~akxx5kq# zbp5*TE>AOT@fIctyRpHa;I{&XriXwl>yaMMs5XIF?Sp$f!F8vU=r7P*B5_p4NO~~` z#jl?Yb4pI^HtL*|vvAlUHF~vanD{TB>HKdV?>>}60Ex-Ao-P1!GkmUm+yT2%CA_Lr)}Ld9*w3jk(l}ax${GZ? z42_Pg^v|4x;hj@uvpiAfD^|D~`mcz+7>W(s-M)&cY>-|sP;Icsa+P{<$)KwjE)r0X zKL#nmlf!3mW=kFiysfryb5qiR96My@_3-}i`q42SWC*;pK+FE&*jUG0chbH{Ab&Fg z*}IK%D{7Bc{35#F@bQO>`5Q+=M=r}pn%rzMx0-;g*m)mJaOjH!)K4OS+#_f79MHfM58*cs18dj3 z!7l(jVfKK*<}8$=OK9_Eg=Xn-pdDY!mCQF+>S&L$2IBadVZU${+V24eqlDBD#j+9r zQ8;wGyUb5+-GPPHcRYVWOjLk$b!oSPYEzD3OIR>jSit2O_!H3Y3eYAc$0|P&Xcp)W zvjUfH`VDZui*>kIr)FqmD2WF{ivv3C7%oazBJj-xd;8K5W1k9>vlD(oBK!il?cZ~z0A}- zcYogE`J8bUYX(`c^f4|4kyaA8rq{hRM994b*)RcP#y2mNdIQ78o>7*`KwK5y%A9B9 zMW7Q?UFbf9-arbK}m41RsiEKdXD9>KCfvM8{m@&~QEMGTE zW(J$Y!51FSo}841k?xwJx>2C?H+ z>Eil7tZf6IDAp^tMfca?_BboCV^Cv0(J2F7mV;au@~3jS5Q6L$X;V1>l*b=={-&aP z!~vw}Y0nI_$(2TrLSYnXFzFU(XT8AS!odHB8s)>`YziW40jm=>r7pf5Sz%iSppdB1 zBG2qJ!>vG|A3}79VJ&n6)J@q1nssB(is#9e3vPPc^_xfn(vG3&^7gsB;AwXu)>-fG zDn|bSLhner*TG*m1CFZMx13-vJlCZbTqXmLI=+$fj(D2}UvqTTecio-JND3LORDIT zSCJBqQ`z|&9TOykMN=BqYw$38Y`DlyJmp~TEI{dAGeBfEZqXl)XSh#hy8qa}X*WwR zYZrOkX=bHSPUW)PG?i;1c*lM0p`noE`m0qBxi5wx3jP~qkB(J~A#fWY^(1dQ)Vn2q z0RI8nU|1q3;v+ml{XysE_)o5ga20RZo-^=l75))W<61jeA8LGOPU<>)4#C-QVzsxt zP$AU2kTlok_qFEQg;m$EGmR!u{rl+qmen(5F$Mjs;KN39?;Z)QpyEDatWz1xxJRydl@Q@FRF*M%ja>0e zi}Y6Etdt3BJyw$%rN?SK$D`~EwxT4Kt6!)mhJ=u84uh<~RbUk?=Ug zJDt31Kv+VzT*#*|V-sMprV}5^dGr~`753OZc7D616o#uSO$cST>$^|R4AF|F3vSr+ zzAyOr0jLFTbb%g#m4d;VS60OZb>0O_?EK@k5m(n?5!lt`*Wsggivhjvi##J1Yv23U zU(-FezUA`$1n}i!N`oaVG>JXVYFO?T=Q-Xut69=(2-?AjcUcz#-uZDoB{-#GJ$sT) zI5ahJj_=Aq+VFazVdd*7@9@sggmYh{K%>EpB_XCAZFG4V+-92ta#<#r)T=Vy(}fqj zdvQ%eCk6hM!IP8*i&(B?7D@GQeX~;AH^voxtG}hp2e-_{(|NCe|F#ws)DnD8J_hC` z*TP`1hU=MSU|vQk?~@BLoxrmO`oaeQI(&1{C5e13ra3Z%By;of{uzGPpV#|5c^F>; znY_h|0m$Ug31sR7`e`K7!H1g)MM7;12cyXp>m%d7e`*?DuU~vdRpj}4?a6y9`yxgv zl^cKG?9ccOsPHKwtOKVo3Vm}F79+O@?b|e+RpS|pzn_;mA@tVltkSF-usl4S;tlk~g zy5*FLN4&WyjmrSrJq`_mE?|~5Lv##7s`^}4JyiFAuU1jF9#uV63{O{Bx~=-QV4g8% zysN4m#rsJS2LxCBPiSYCfk{9ia{(yeiGQic#(Xsv{&~#R%)V9)bejX3|76`|c8$Q~ zgSZ<#>Mhu4k*4l$b)}%@fzS286tYbbGbGFR$XhO5ex=VK|VB*2nfeD_%9<-`Ht7DPsKe3mz!icxVX>r+r8-nGo2*5^-f{knR{GR-)=NV|D)|2N8x<%iLent z;M5)YdOABZD-Ec-Q{@}DlR~FYhG62aXiK{$a~?6d)s@N8P)GbN@A`qW=zQax3#ktvcs(RrONMTdK8eBL3$KWCwid>;D-yBD} zJog3Q2&b-BGw~%sixQJByE${Ovj**1+@P)eV)R6?*^R8l=~N)yea595BmysvCxakO zL_duivy!n98F+XY3DuGPM@^sfX3oN5=3x0(xz9>9yNEGQ?FvOj7?_)xIg!OY*Kp!+e4yQ{m)I--`T2oIX-bTlR(nRT1;Fl;BqkExoC)SUpB@ zX=%xGTs`X%h(Z_g%f>^-ZljPq)|^;Z{^#?rEJqcLl53>?C#GE^1jAH{wh7nBXlk{2 zaQdcxU+)>D+e~xe${Ryum*2v!3UK2ng!aEIdzVf+Ar`hQd6D$tXE7r*8(R_o(i%i z4uEY^{im^(z?9$sU==Le-&=VAA^L?~8{*vdxqgL&zruuSCk*hvg&qU1D>PhLVJis{{ z9PSysY1Z~NXEEyTJmv8`A+)I|5W3*|IZHceXA)u6y?B}7Bv%!A&?g^|5q?Amk(q=K z($}j z>gj8!j5z>sT~8TmJl;OE`r*^R`j05xFB8UhfCAXM2ei;Vc|^S=f&`-UDMmOf`baxf z!Z~9w_)ky4cVc_@V`~Jsni2H;E>4oTx>oMD&5#spLD)1IYV=KxJcI}rCwTcb&h4=k zg!w|m+Mcky8WV(ebFeD#*l;RYNUcr_+w>e)AQOQXaQsky+b~22YKcU|4K@4V4y5gl zTHjjP0o(*{oXRI~6l7UwtxRJ)@_7^Kgq0n<>RKJ9=(vfpTT!j)TQ#VvH`PVCH57Z0 zAtZCmLCR32i9Ji#&y}5e*_433ti3fzlNfu&KGso2- zLS9EXY7-P+UG3yhEYgI#wI=7671;;7dRQ=RY3Hn*gW2`3ROHPYbJek_+l_)--QFmg zo*M{0_*2vEYejJJzkc;UFX*rQl*sK2%i*V>4QD5(hRm>Cp!!|`s&CZ4)%PvA`mVkP zgv>M#)0Dr#e|^`<>lpQdU7`KF4Ui$905Zh<{o0==05SGw3JIG)KOfCG|DhJ$HV3sq(I9ZEYlNma!9?Gf&ynTJG+G8cMEQwfYE;18XJ|nZC2@L7}ZGkZsz%Mu% zz*Q5{fRXIJRzNpcF~8q^9sjskZUU0|YDuMh`to$DrBSfSUbwl(Z($~Q6rwznE;qwE zUku^&>#B@Rc%f?)WGO4JQ;iU4JJEp0vWR(NBa+(JD(9v=w~&2_%fe~wV<=c;)nV}ME>ZDX&??2%!=F?Eh?z%? zc5tr^1?l7pH~FsSC$!4EiIzSC&z=VAe4fXK8Hs%Eo0YSDSvjAqw1odAZCve@ftl*| z26{GJXiPUCntSfw@Z$Jjbr@6T=5se;gdZo1_D^-GNc$W^CJdF@k?KyrxhF^`Wh z?ejq05k}cWUKM3C^3G6gG%&EiH?52|v8CS`|1$iq@^t)YzV_@KiKPqDCOtR zi+BupW_4duS8#u+b#`Lr=-D2sk^wFuafAYDL8Vq^`A-YUdf&eLcLe)`l<&KbNqZ7@ za6&P$PJWA_f!&Jyc;PH4OfjHOgn22+S41+>_fU6S1JImTuk4mk6)8gJF3I`kZ~E@_ zU4x6vX71(tZEB`(NuWc!Pz7g}%}tk)RK0=}$pM z-t3V#y#>%p5)bD9Zi5N*c2uxuqo%y+f3q1=0GnZ1(RB}s$=f%r6-Kb(KZC7-9zWjZ*f(z>PBsJ_ zni!P?oM^ZD!4;31Ho^Ey>=5K0eAIIcRpR|qiQI@pw~4Rw`zxLYF#v5!)^-0D#oU@m zJ0yXZl>zY-00K&;kQ>jZyCQ5N@5y2t&x#!%oEO@if*kdEPINS0^yv@qF3HzS3iYdT z8-Bpo^!iQyPvwg7GYj?|W_n=bk>J>1Rl~!`0H9g*>&DOz&x)Uz_+uwygx0pE*jF@b zqQnGm7E+>XS3OdWHEl4P4>tO-P33aqxG0vGUi6vJIWBt@_fh`?!? z)2vwhaaD^z`-D3AA{PLxHNB8nmnO@{)%QUz{>GnRBwQF&hv&Y#RU*&*2DKsvjA#bu0eo%In7BvZs_2eWnQ4nMWl7dlwz2 zgv2j{qP`tPDcRQt;gh4}TWGMNZRGfBg zYWDSVtJuoc@!2ZHf{-z*edUeN-<#N&jK!V(NZL)n+T}{>JM4d~Er1upw=;rEs0H_RZ7+Bhfk_lwBVY7<#%dG1pf zqTsySg^tgsxl9r;TQhe2u02v)C#bg*Y36y~-+xi-jRB*Tu9@VRFRw$rvAB}P(AUnSj+~RY4r&AAgKq1~& zQ3hy^n;de*8D9M{?aoU_??fL@i>4Q&3czjPt~vblR#j;Fz2nEj7~vFb#Z1t$YWXIX zB@DAw3VfSD6R8awE+0+<75 zr@+y5r@D=gc}rR2$h#9(0HKg)9+-b|(mkZ0m#c9%XGV7Ko`GfE0#6MoF0uCGzPk@3 zr$!Li4Sd0X;ajrv951?;J2Tn@-lFyG{w{+;01`$9$-QY{xj}~+k~qdyf9UVOuxpar zAU#!%h-_H8?^x4kdJb6#>&ZjE@>b0mF(=jw#EgM3696rQux_x0w?{$q8ayJ3W`Fq^ zT7frTo7`QI8^^3vXR`Ot5-2lwdhqhJ41U>45EX{!IS$@(bhZ<)`acpWp#IW(fy3;=C%zzauQUprEm8W}c`t@{^7Xx$A@B;j!;B;(d(a}QTdoHu0 z(MMxzipKSB@)GdgUxp#zmu-vbfWVhI=BkWIlLg*J#Ye^U)ka`)r|FhhVPUQdsMAyl zf(ysvd%4QLf7h=+T)(y9I-xPP?UMPb=tMzwcj>!;Bd6yWr)RSx;-8=109un1prg~` zV^7}$FeN@^sq>`E`*t|JSfyZ7OC{IRZH>U|lE%@EK@bD`u5p2T18Z8mD;f6|*BfRL z*lmFYsEoLSwlLvXFGbq9Oz6l@<3~;7`NIUVzB)6Fz3`trzIuld@xARxy$h*e;DfG= z_?HDkFmJGn1$W>pm48aT!n=a`(dqky93|moE>;qslE@LzJ~;9yoD>OeVAlkMP1yxQ zU@8f4kvVLeLawexVRbUEo}n4X;FH1TgE$)WMG31F_}l zislvNnoX&MV*DXEG@rB$2=R()o;$2nKV3<;ne!NA7TZs(I}7$t3pa)2gp7Hy=Ltl` z1kPV#|^g)^~2$YC25QB-h?>!RNX)6L}pT%{+2XRu+h*62SV41fYWbOkJHkl`usFk~$DKse;f z?I+Yv9KO!HxyMfZ7Ou-=9V-N+(#KRSC`E$_AWlC=i%i`<9RpK=QzLaZK{8R$cs`iwvF2xS2#TC&KWm4MFpMgUN819M*ezQ{%iX#QQR&G%hmM*w%eisKDMD@xImy{Wm9(Wo_ocGQo}KaoZcKDXsnX(vAN-Gh&X1> zHR<9PICRS65QXM0F_)UB8Yv{US9X0zy1&{j+tJ+W77{&&NA?_w{u_cRo_(!J2R_q* zMvH)4YwSx+CjJR$t&^Ii0&Ed!&hm1rPl-^Tw@6@B^e%!_5bm1%5#MKZV;9t(4zxNA z10Vgyx$>=N8wRxb*dU295!3E15Y^^57sT0gO;+-8zv4z0NH6n_-O?|}oAT8Pv>pE5 zu=avrAfYC(2!n&C#(K=9?CL2ojN({z<(^hge5-kbrt>99$I5Sq5VHLoQ63$~1aD|nO zpej7kEYvma-N^IRd(+*6$ybsS@&%49YR7G#CMtgd>)>`Y9p}nT`kpHW*kqDxM*Hw0 zjAFyDxiT6?wJEBVluOWgwXJas+`LB|0_z+vwOYxW7%qS+M9bAn^2Bi$Ew=vKjA`^q zal;-cq-sdXDvbn4dP#}CY&i~z6OBH}Go$gv6T4II(A_rimeoTehS!|`aizZl{K~0o zofD?Vglzc$!Dp1!6UXtirCJv*Rcu+Bb)>|{2u+AsodNM2{s6lr0IMoOQSor9q8!RS z2~EDhmGJ-{-=$BE6(tFLI$h#(u)@Ol%hOiEfIfuP`3m8`MrYtd2rE`sDVZy#o%f0$ zQ5+7H5>EzE)fW!0%Q}*cVt|3}b~Nysd*D}3UHeL@KlY!c-5k<%XUlU~1BaXi$aAtb zan2NwsI4mDjM#7rLk^?lTJsE@|1*G}`bi$M)4^_d2q$^bhfDG7>l74_(pK2qZbu$leo(EtF-lRi>>*1y#zq$YCN;3yxvtT3I z?`Xn?0a^opdYjK2(-+%+mZ-meCX2+VwCuWmdHLEnG9ccuCi3{+kNbk9lA3gYC8 zHaiK*9(CNAskzwS>FEJDh7BG@vS#807Z1G43|m&uH?fbQpqTqZt(t_JaV+qUFWD>-!^1;mVQKIh^ zH{*w&xSE3W6-ijTB(;~bO?ek5R_q;7-reb2g@!~vC{jinAxn>Q<=fq)Non8i*#iZTLzyGy*;XkqEz!_=8sW=ynEEbx@8zNS&j>o%FWTRN&8U zT0bO#-Iu7Y7`WnWluTyMnS8!9KGUDLV`jm-Ydo`?ZV9m5fq5I+0+QzzGXF`qPv4_>QM|xQIhLyK2pm;NAiugWPQ#>uC{7)n(`*c*5(4gSbNf+0W0{cR2++cn5ON$p z`3z-i&=nLJb0>CR>4q(7Wta5%Gi7ItUYfD@0+woovrYDMzr*hLkvz*9j@QrogbkEz z1zht13$NLEQx5WmaHmaB~zSxwqlVvIoHRw%Z6g%@x@gd&9uaW(%oAjMTc&#^L&HeM7$D z>FNZfU~>^6k;3}5VkypK-0-`7J{*A>;X1(mAOr+Yxy5_qXLSrc&{&s7X5Y5BWLz{rh(%*6A&mz&}Xyyp|XRw zsVR5Vzj0N<`1|MUvp3(73joa}N(UM4mNKP*q*qSorWDxDzxi<4TKz(JD;cL7B!b$4 z8U78NKOZy=pC?juRce0p$>I5${6Hf_I7;&iV6|VWp$shsacQ~MbARpC2=NvK)(Jv% zK$*Y$7sGw-H&b#jp5Hv z!G)Ay`=+L33knKoSNEUyc!pD;oNHTSpPqht?oEKAXx)B31{AP|(IFMrKX*L$thUzG zahO>JLfB6wgrk!VMvTz_77ObLg^>i#lbe=3dMZwW(g3$kXeEZp&+Mjn3G_ET{HjfX_voH6x40&6DPp9p4TLHL=;H6Au zT`9u%%4vQ6&gOgNe*i;-(AI9?qZ3||1Z?2pie*_bIe$K=89omO)K;pWs)5{SEHf)6WeoX;Q{Y*#Gx1pNLV-%xi^ZM*P>hgeYgztoopf zV6cw~kneTIv(MOdM9WTZc9ZSwbbE$y6m;ZxsMTz?y!4^aARKa6w|58kh2?=V7rAsD z2|#mz&$l)KJlc(KdYh{@j`zREf{b}X#ERp-TR76J77PF^mO%JM1X4oZ&X8tR`;?y4 z&%k`1B4i9p9ZKMJEVc))#p%&A_Rcw8Z~t6vmS-5JsOR%(20W`tHrFvolsytJ5c+@O z8)|kM-w>##f>pC#%ONwMV4fMCL6JTP&VQ`EQ8IBJKYRXlo$pxN0@J5onBe!3m@72* zAwS%nze@f0c|1@JVHTGtvE?BLPaO5;QiyWz6-r$lv)Y#cG3TcVgt$RN6TL1~(d8;2 z#4$jKM*$&zMM(P}Hb94cx1^cz3?+D!J(b#ci5WbrtPO;*&tLMyDI8KdbyZ)(HB}u@ zzp=4cyK06np9ZvbJO%bfTJuZG8&tQe9{x@N7Qp`(S>GK`_1ph{&T--#!m+YBwlb2H z%#)RonY}ABl0s&jLspTIl@TIYnW+dJkr7F@QdS~lWR~c6z0c|M`Tp+vew@E_RM+*o zUgP=NBt8dXmV~DZc&C7_W-uwHyA&TQW+hDK@hrgO`JW=MLch4oRDGY~Lilpm&eTwR z6A}g^z#uh}By&qD3JlIr-m_$1QrV2-ydf^3e&9Ep1k%L)9?873yXT zUiD+8YWiX+9ivmOC7wHJeMwv_-NO0cdXL$+j8v&zcGYk1)cQ#Zxl?%E=>*T>s^(g4 zSGmK5wPWb2Xinwd`mbJ|kBn0L-EhTca%#gp1-8crKIh$c+8UMDb4$87@jK<^-O_|{({6t(4A~z@*bvO za-N^|q*@z=iYz5^9S4+$;cS6nEbq*jXS=0o&aDk*(-H?ase-XQ|F`OKjH+pjDk69_ z{`D+l;_Iyt=lIujs5S0r3U@zpTonb;IDgPu8qnAq5d~=69A;$MS^Dj$10{F`FTgLg zQDW5z!0%N1x}9+|#51CCGIJ zrp=lfe~sg?{!c3!KroydVj^mDgZ;?H{}4DfFB6oX?c1nsq~_o-ELPV<+5VDP3fM+X z=D#Ek8`0^41vYRQ8XW&74Oqh|5qLu?4yP{zaP(egyGr`J4qoU%BuC+x7T7C{k|wMz z=N1^?&3~X1vm>|;k5Li^m`I5D$)-d7B{;gekI9K@XjE3e*02hey?fhC_pV*#)V^~! z({3gcj&~t)*C|{IQ}U9kMy*=S{kfX##LWBSzlM!p(tbSgOY7xA#vXf~Im|Jwf$Xm`OZy#7~`BJ%t03O~}&nZzd8DGE@@&x@5IZ5LKUkGpixkpA^Wuq+4$zk&9l8W;_*>Z>~>`z5HU37kL%8c8O2;{3r{W`!*y^Mb6e`r{b0;QRb=UK0eNo!?gKv#PU zf&FaqyO%mi61|be%xy0r5FP<1G57WkIq&-e5obNGcdub~6vJYWoaS ztr^MvqsI-85h;y6S%G2HIIJD=`RdJ{yozWy8ux$DA^3CRaYR^nR#|DB?&Zsm9eXa` z$6?lNT?kgP+JBY37sxX`NrRob9VxU$s^Bfr!|#xv0r{j&@dIb)pC;uX_QYz!ycDK~UaEj=fN< znw^icqnq0Qy@T2%icEUnQSCqDw`GzcD$Da}>*SG+*-$x={Bl*(tiGptc`~!yJZn0W zf5?uH8y`vgw`<(O73^cTnk}xM9$P-}ZgMm?zdYR_ZtzMAzbgD{&d7p-WT6~D$K&QL z@ma`46=i^ASxDNf)8mw!|0ajL2DSq5{HtkeK>DyJA!)h?JrdjwnvdxmZj~jJ$duh5 zJ^$&wv70k!6l08!&h|$sc-_Q5Ba89Y$VH1YK;4jn3O2)B-yvqj5!vA@3VqMt>$4(6 z?O2V@gAs~>Cd*s9j+5QWtg%k?Y zUJm_{jB|C)3-{O%7%7lsp^gy+zVom5edfaKRM&%3^-gMfm3GNo2}6i7MIp0se#{&{ zkz=Wt!r32AF+3xuiJs)z#^CQVVwQUIPvTW*!_Q@eY({@Mcehjcr?!02_mR?DBHvVM zZDm{BLLVJ8xAT50EP7UPcXD>p#cI526#t9oDitp+uQs=k@}1C#uv zcjXsqGKWS+(zlb3*Ja@G8zRd>Qt3zkf@~oHAokLmX91+d5jhcxU+{r-*Lbz(hBo2S z=Kza>j&}iTB+HsB;6QHYxnp-r!^KqegpmC8W?$|-lY$RfXEI3WX<>sw>`z|b^Zi|1 zX+%O0ADFI6D)CJ3D2z5U&34s11;6e@DF))5sdR5i|20tqyEXm zk6gcv$;g1oAqK#`=E{OXm7VIA?1kGjTcS}GvHhmTZib#9QYmNnLqa@RI)0*jVovkE7sCH4Tne!uPh^CS@mtV%xmgCJ#p97y zYW7F+8*Z5!;nO3Ik{20n`jnVwd3K zGywIB5b3%~&?YrcURm+;zYs*KWoHcFY3zFSD)MRk2$HpZX^MU9+fiMsH2%vp%M{BL z$&*xP^*0J={91n!e-c%Rs#8Byr#3%Z+nayipS5#EiNafaQ6(3p$k7>uHZaLfbgf(v zx4mXWsnhAyc%r<*4c`(QDci7^(*SBr`zQjSp;lZeJtF6@*puk5-&SB_Q9uJvExrBd z!6gxDgB@jb^^sZFxD`@M26YpUS6v6qVV}E!ft*KIQ^-t!*}ki0Z@NfS%SZWKIZcJZ zGWL_A2xO~_cSJ6SAqsz$JKjexDqm+|8uE7{FO9E{^8;W{bmc3s6SooD$Ta9 zx}kxZhYa|gq&%3CsRA=dm2ifM56{Jj`n83`Ppg6^6xDOues^Kia)luBVUWNl09-jb zxB)rkyO_WXK+t{A$OOyYJPX3{#kWnvvZf_($qym*o}PpnaKTCT>e4ds{{vU`QG4*&dF1T3+=l-+6Gi37=h1`=6Gpx0^De%<)V z_iJK}<6@u&%s;p-&Eyk5UfnktEZg1IF*nL+_@NzpJ`e;|1iXxA+8_cYci zynLmwYHg*GvmeF&{(%|DheO!mJcvL_74{wxBz_Qb9pD*nfF<)`^Wo%P_}c+WBo7g^ zwKpBGfyKOlHWf^<1N-fYEMSsfF3co?=O26nzS29L4|tk+P}(gYwdNscyh3CnT?Zu& z;$tLz1`etqFy%rQD|1_Y==M1o%|7R&nEv~~huxMuD~>HggYIDA#Xkd%B$oJU$zXEi zjwsFiF=ID{eU3Zk1%@JFK>W~hcU8OI2_+q-AmIOcvkDo&kCTNzy;21?P2Y8{U`yA1 zJ#gy_)!diF-)Jg792beXo9KrclzHY^=KU2`#o{I>x)0jI2z0UJrT6e{(kF3;Fw`vL zz?l&!?l2)>19r0D%vy|4gmNnciMdk2h)P%8b(vGpPdn(qG>Vy)ha7jhN=pj{rPvV# zprn+UZdCgOT)y;Ez6g=={B&%!PbI=Xda!ERie=Gn@eJVC6q#=^hwX268)HyXWK!q8 z0Hs-v(AE3FCh(Dll?613JGRl9(+(H%s8z5|+IaWVtRz+?Gfo&o$zLEpc*4jDy>?Wv zy0TS@OmAjDZ(IY#Md)pqjqu2^8TPMSgmZ%$&kuvN>X;z$jx&=LF8hoG{He*a(}sAV zMg)gsrnzGX41+-l!?*h`{8mSJo!C74i~mdp0jwxS=#lk@TjgKh>DNGz?hjfJalE5r z&M`eN2nWq-RlpAgT7*~OGyT%4;GMnEE4WQJwL4uwsj+OEcRmX|2w3^puC!<0(doM# z-lqnA!1ypTb4#TVas8?!2GrgTiqDsoOvj+=9W00n3!AOSY=?`oDlWo)N z91z^1MNG_ICQ|zhiV6{3FQp^LU_Fe3Ku&L{<=<(o2u6rLVLO@xvpuYGx25a7Oa5Uh z0*t9&;PY1XKtnbN_}+(l9_JgO5$AwLVm5Vz7u)<(KMK%%fLHQW4 z-p!P9@boTf_Y%#|;;HOGXe1YmT4Ln1An}NPf00`4ChVAoIu=j1CiSbXfJKCf+u!AI zZy1GC?mjfFjS!yEuR0jFbU>aIgAx1GMd9_nR?6qyrCsCiQ!4WBo&;@1|7KjJOmdj z6f&Ni4A`~H(%eaAg_^W0_m%75{{%*%~MK%4OBGy{^yKs07%$AI;{^vUkDEV zOsyYc94J}%w&Al02xI6ujC-dv^zE}veOvy4?{007Lp=fKb=mP9LnUO}$dT2Uw}lntmiHz;Kx|q|Z7696G9cbx z@TtAK`9{5^?0)p;d65q^A#n7W&KKbomOxpG5P#2n$DR8B)6OUNtwtUVTlllH$WL&o z%v|Ifj-|oRow-E@q$5bsn+N!!rI}LaUTWN8)qxk-y;W8LI@zf?8NT#4x%ieQ4C{&W z-2U>ba4}$n`)%OP=&FD6C(HdgJI52^5%ZRrr$(oZwi9DN>$h=@n*7cos5M-95VGR2 zOwsy*3KX5tCOWole;NC*;bJ3%p1P6xm%Xah@l1o%LLVSB(jN;$SMw;|{vU047xr<1 zZQhb?UL`1+tDi^|Z<)qXz(t4>?FLjr2WTM>-Qt(K6Xo1I*Ry~@QIpm7h`R&NXOG`z?#T`S`E4f0~4ZDjwH-t3a zwUewtJ_`UYk0+vPpr5FjM1`q}))pA9w3f18g;$57kf2<~G=E}xEVEjecx1#4jDR@u zbg0Jn8;ZaWf=m2U?}w=nqC*Bzh^QG->)+fz&(H2p81HU4v zt6y&%@2UAyHfe=<>??k2>2V=KR8gd_Asn*D|9qZ5p$ATAT<2_YqEp-U=GZUauO-jg zH%u&HOQc)~+!KKI$5$V)K+5_uYHig;#gFAtaf}aS3aWKM@=3TFFHe6FQ6YDk5@buW z9>UY;T%&Sei-#K`>m7I&{RVFw%>pxr7GF~ZpZw_>ALXZ_(L= zMU~Ifv67wW0sl{ucUUd$?FI6}x1+$+%xlV&+@SEVgb_8!-F}?+!_Ry=$Cpi}WkG8` z07e}rnGuM+P^<(igR_@BJ$)r_g}6QcefhFn;3p0d8_12uk;80XSvk?whD=U-+ZAVBx-9wV)H#FKTfuzS6tI?2^&ysbekaqpO^YDb6LZ*DYLMcgtjU zl{j`-L$0S+@7=@x(wkdN^U}szYo?*SVz=-O`97t)dKD%t zxHoU!6g4UTdA;^d?N7?_`M!ZTlul zybXjH=|I5Y6#mGRq##jVvGb=~hprL-QQ~<9k3nPCqEA(=GbSb3hHr9V<*rw+J#Fx? zkL^_N;JYrVABp22v!X8z@E{AggdO2wbOO*OT>FTU0d*IeGSxJ33QP-~d6spomG zCYp)Xw^R*Tf-;Cux$zjLUuISDH*)n}oKLVlMr>^6J#l|)KXwmiwZk&<8Uhao9jch- z8`vYag~EPXw^*{>=h%pfvPT4dl05MNs?oyZo}he8wRr)20yq_5o7puXcHr; z0lt<8vAS{Ok+rYq_3)4D(kjlqp{~|6A-3@kd@bnHd7(CS`%JF4qG-0O>!Gosv!Pu9 zcZ1rjbjFz~4pS3wj3lHc{W9{eVH?AF^YF0OJ3RAuiA)G)*RBHPg;g!TZPJh1-uL~Q zE@7+lhXAU828E;LL9u3!rDNYt*CnVl{gpoUF!bK%{7UL$ z^{-EkdyX=*G-tKL?DR#%s*k~{V){$P$%~roK$-hDMxAKLies1&Q7r*9w{mShw3e1W z{3ykN;DgYM`WHGfyXB4`|`9-r% z<9x~Cr7V3Ao&lEQMhLBr*rus)F#yy38|FFZE(cCFAui!}FW0}tdc3aF3y?yerC=*t7%#E>gR|J$&ye-_Vd>KxB2Aljv zU0pi=?x@4~dTAJx-8)7@zRI;HszL*1kXlHsd zASlQorR5mYT+gc(BnsDi%&VJ%v00iX)dKvDBL%$+zZ??N3XMl{L(-_!j ztj`d;#TgJ=L8xGSe~=|Ve8dCc_0qu%KP;g7spi_=OWO3>ih1F3%c^7}wXBOl5fV?A zMJ|7=Kk+1QtJO>YPvF20O<6EOfL|RqzZc^Owx3lv7Wv0)<=* zjbiwKyOe!hQs^PbvEF*ct_AsXhhunwY8?7j?CAR*%;3n*8t?nLSX>Y86-2(5VC%1Z z09yf`2a{6e)4fkThGm!6(u7}eSQpB-vw3=nFY+mmdx_cR{*Kxkdi}62`&Lm;l~1Fq z!YUz;uehu2)EzJSQKi>2`=z3U-8gJ4+uWK_&4cAn>*y73$7v zXNM(zTR><=L(hy61UlP_zPa^3b@ti9uaI8r`B~p_$%tRKus=4nR8+=vWyGgObV%aS zoB#;)*`{8;6WMebQFscBRmnGM0;ALlxd3j>f*h`dlPuZA0gDqR^5ajQ6^u5$dzmuV z0|r>yyZ~J72)Oz?Ygn^Y*q`qKJ+u87=rM%hV2@ka&;Bp1zT1xMYpsLFfxhNx`Y(Nb zns{l;vfgGTcY3X%*?h`Bq{$sBABG`Jz@^v@9j}At`$;1!z6NVj#%9yZwfo%_z6iAW zYmjU{cE_!*^eZsf7(plKw7y(<;sj0lnY25 zkxs(gSE8=?7F0 zrTF-XFK=v(-2*NOg=-*iUqOylkh5CWtIQWs0dc)(7;pi#IHI+k&uZr;U#*X((E@8G*tA|^%Wtu#BFhuGOI zJ)au`$sMfdf07O>uecUw)7VgKe8=UrNr9ch?Fd{uxk5<~QNeG#TGh@=tL7p^HQK!j zYV7$d9joB%LO0He5xH|EO*I&G%R!vESmi6Xg)g1`|P}~j~~?AhE0Rz`EHdQepY;j6f3i0oYJgC z7C%3QuGUz86LV@Xxb`mdm4tkQPMOH`lla%u1(ljl_&hRT*;ZBuBYyQQPMtLjl2$13 z!-!-|f6b(v6DMXw4eDA%mLt~rC7Duw5@&<){SA%n7^XmFk2bUFhatLSQ zD^_2>&ggBUS54VUg^lJ}W0!9C{dpgL6L_*+6QR+m`wZyPPRx@>> z2)Q-KIwWetSG8L0RGvcKsk{x8kD8Afs)6^z_ou@zRyaPhJhj0j&|q*|h$MG1`@or| zgb!QUrGrU=?Pu`so(7NP*bd4#MFVF`9Oc7rO{C5*eTp2rf6rE6u0z;q-5#Ev%S_xx zT|)=DCe>0t5mg>a%X}&bDnXg_FR$2JirseSvSkoZZ!_h?FvC?s>}x@#W4Zyp+3zG6 zOQ>k9Ecx|0ZRfqwrtM>Q%?RA#69Mn`zphOS@VL2wKpEBnkusYYXnuYUEVZ$e?a3Se z7ntEK5Z^Bf5-$x`s=f%SH{tbkB@c7(Kt4b8@Mwezq{5D2req$oOtE}>^Vs?(<7E(O z3I=x=ZnGW`2ZKRlT8^r~)9nSjU)Bie!&ch`zAzG%>@S^*c5MKoU@m=@@+tk)ZspRx zc?kn03>{Dl<4dLzV5^50nEZk8vbp8_5V5@W@pKejON_?5%$};}y3u_NKmf&9d)=2~dMk$+1jy0~7QAvs_KR55rm2fglu_}6zI5;v3{HcX2s={k4h=}d zNyBeF544Ek{D+^=KF6#PG$jq2$T8i?)GSz!B(=LO@)>iJjDjwO4d(MV)81pU|F!u_7L1qkj9E2pOypr*pr|uC`_bWPo*{#XB^u&79Ce0GtaVc)Jm)4~o{a0XiCcV=K1+H&j?h z*3G}Mq)&0|5pm}dr$b;cS~&IJeAK88O-wTa4@|qEy2>+8&`mr3H5k=a= zV2Z{ZYGG{Ez?Q7&P9GXOPdhfE?rCLxWq0<8rnn=MzpSu#VQ+LRj7G?y1Am; zw-mXf;!ek-z)YKH<>!`LE>v@Bm0xjnaeXiOO?~o&z?M(KyaUhN_@9qVyA1QPVIYmp z^?x7HKsv$hDqY5k?}gt2LN9-R*i3^cS&87kNP;zZFT}+4+O1a7O0g(Z(yk5aT)p;0 z=J4)&5cl>0tM$5t4E8VT>f^b0=kC3O8(HU1Am1ixLUI?_U1Wa7*yeH=98+B^s`BnqX zjpg@OvR0S>7>;3}NmDTRab(u5v?lTB)13TxRypK-kN?wgra;GiH%(^>NPkt_#8f86 zirFB2=>$?7*Pc^BOb3H55g9v?DTi~V2G}eD_9*30g$}f8_3f|XFUTpU@r$4z11A*0J=&zexdO}tSAVSv`!Tvbv zwP~2{BOg?S?X$|f-@(7vIj^y94YfRaJGj@v-4|gEb>I@TQA6w^aSFhm*3=S67>%|+-^Uzo6#g_Q56Ix5H& zJ%`Xf{47Wo4;eJN`tE{|F!Aem!H6=QX9*=Pz8$wyC@u=4rV1o;Ux^sJL{}e;ng|)3 zueF;QJ#j?Vf8k~trbG|-&Y`M@tRhU|PZzxpm;afV$Z7boDAwCy&^a&Z^@oP$E2rZh zZL8a^a*(;;5HPmP85%>}8)JeicQTP0*hx|jL%>J;4{gq zSp<;JhkZymnSj9>wbdm}WZox@1#|+1qTL9Kc7tp%7;)dX($U-XH{VhC^~brIPAuyq z9--fI))Vymli;G0m|g8hk2SVHy82wa;HzN&5=E|#B?KGT#vpnY_bzPb@=v}hxHMO3x5Xm zsd_bb)Z)YAmtz0WqeRzM!@hBB_I#RLIB81VoV@oqV>oK>+^2o(ou2~&s+=tjGY8YZ zr@};9_*w*7JO#r%6~mkl8fUA{9yN1WKl9>~?D&J3Q$8MluuvPbtSR zC13ux7d*c#Rt54#!)*OC3kRH6jGK5=pm1f0jUkXBxWt|;d9 zK3DOJ7U4+aPrSAb0;8qD&EP>d;zFME3H7jiPIKw^(@MFD#byJYzcTpGgIa7KR1P-w zY}>gSDth>?)MXCV{8I~%N=45lO+T^Yl=~Gda|7Jjh1!k3%df%SdTl)&rRf?6JvQlK ziEx6$Gq?2gbiG8)32TnrnL8zwR^&lY7!|m8&4N7)29&W5vg_?yh48atH{xON=vEj2 z{P0?Xssu$Qr@JZAv-J1S)mj0Jr;mIraX@IP)H#%AzEy*#?!2=aIcy;M`7FZgRj!~_ z)#uThGC}qvFwubAT=sWNPl4HjCCbL|>sC_5_0?UHx08rM8TMXJy>Do(yrJh-^jdkj zLqL^QJ43=^fLUV^ldC!MbyEv=d|fO3>c4sdXN6SEy`y`Ob^{ZTF7&8@x6IRm{v-5t z`&m4vxa*d+5>(>={~@ic|K{;GcBwXiXN~~eAnx?uFAc|yu5KO<)C@*ce3#_!zaTbz zhB%_MR2P5mHv`T;+-vU6MC#&Ou-L)o%jZW11xZU>E)tQ>*4H*8@u~>L?HBZ7f31|& zjlGHb*Q|Dagi~`v-y7O^PK6GIe!stGXVe`?B6+nioVSLtOM@RDbF)a;la&4<>45{( zlf-&4TEhuzblyN;Nu`-WFO(U?$icm z$M8*MX~oW$Gfl-;^%>8jM61p{yJT^)G`J41)XB0|i;aBt=4?NyDw>Nv0A6YU9TDL1 zKf*=pKorsW$)Ox$c|ZLAsT=bi4NJs{NE1&F%Qy7zh{W|@jW}s-`yTT`Wjr97!7-tPAl;NDm%p(;_VK< zLtORz56B?^_`LlP&xiGw09z8XY_1U z-uX6i8a0cL$Ubp6;Ah?8s7(~>`_mqcEF(_=RhLE-YHpwmZ@PtOgytB)9ZNQfWVKEbglFvtK z^*PD>PY%*M6aG~Ia|W}<&Oy8t!8gTkNKHveW6g)RoTC0$!eNLyl=$)EmSI<7p8Fn| z!{nXW!kD{|8r{?dh?iNi9zglc*euv7w)=DQBb(%s85%^64nVDq!thaab=(y?^^|0y zCRkY3{hMRY_)QDd3doQl6=rW6Q$MCHiz#+b-qJC(2NMOXxK7}YqAeMM=AIIY>@HUy zMpU8!0FtZ_guDhYh~0iw@#k#r^$w4(zb$h!Jl#`%XPJc=l-*n-Yowz{yLLU(kqB-{ z)D(lHs5A-glYllV8@Ffm;s+v5Nld^@0ahl)OnaB~5?c7|W5*h-p_vtm@E^yO#d`ny zC4}J_=;~5XF{;F*M2nS5gSmyq_YoFLJ}bk600Z6a<>dBa&hSPUWXOUZn`>y`=9rV+ z951lxE5}3PNi^$PQ8gXQjy4V}mSNw;s{~&jvvd5q z`q1fRa5z}6yo(6$$O{puVLZSztHn3A?cV6yxfrgNu+O+3#&;ik-%1F`P>|HG5vBvY z8ghlcJ48wH;JNj1fY)4$=N*?pbiU$ea>KzoRBo#UNj5n(8-Bi@f6jlEJgQs#%|-gs zvc>16>u+f7OE5-sW(U4q|o)e%V07c8grz#>2wdb-- zm43ekmbSD3#REeSn5Lqs?VQp zF;3)g8akR(x%U7|{LUQJE6xbyB@WhI#WVbMWRnc_^ua5ngKoS`Xy_&(oGy~FfyD_} zg=IF`3W(nxKR;v;{Uf5i&&l#fm)@VEbjA20I z0y}zm%RTBL^!qbd;#=mJz6$8fvCx@c|M!`_wel|^miyHnf;q7(MJ%?R7mn`rziEj{ zQ;@wA0glcrJul8Uck!G<c3b1avQb zS|5EMT9x&V-7UwvPwCG@D+kw7_H*rGu+n|q{$o$z@|C`4$x@N~Wy>u~N9!^+I<|ra z1$fSJCpK(TbT3K4Jg?RV`H_mdc>lw*G>FZd||-|gy;mTUI{JaW(WVrdz1Ta?o> zAcG2IV(q>d*F$)Xs0o1!u7YtNk8^Hz zd`9_nglLF`I;FBoCb4c5l}oC@<&%Xrgk$}R9Da9w%wEl-fs_M|M` z`7zfK%TIDO4~?1jsf)M)!vaLWabDA_4L=L|AV|0RF_e??2 zhIe7dFa1lIN)-Py;HtebfP7_uxA$aChS`2N zzp!uVaBNri!%yv1}wy;)B@@-3pK z)bu~Zf1dxZ%rpI;%-@On|70G7Uy=`rXDRZ5#%!--d(A^uB7JSxhrr40H>DWV6@@di z9*eiElP#;10U9^?ShYirbspzTD zFRX*MrE-ICYDRdT>V*M$lzcxIB@? zGc7F(T=68Bh{a2Sub4t=w=2m*@YC4m6GiZ_a*c6XI`dChXJ^p4ZcVAq5oHj-!rvaPJ&6 ziT8*Wn9B2@$bJ4k%&j@3_}UrG%MBlP>&})h27^R{gv^z6_cUVOxpZ#!6qoMz^oU=8 zJ68w)g>qZpElDd=0Sg{RFT~9lzomyO6Y0stjAWM0LOuC-`S@2x&*0W$p~hyclH~3t z)O~QmHO4v|;7WNCSAuj1nJcL=Q_RO;al#I$B$!hBCEiQpJ8S&>k!AeEpent}TOALs zYvC6gJuPyOR{kp%iLF_=jXdgL?2r^BIfBGuo|E@~K;D1Y&i#YQWStKEmZv2!&W>VN z781QMXt;`ronXXJ%UR|8>tD{2yGEd|G#S>+_vNewYl=lnJ*6p!JrQqZ$s~?~on)wl zP%~Bv@x>~TIrV?fdJ`z~unW&n!l2f#K$BAqsj#~5lXmi$Ue93rORX&P(Og)zyFQE6 z6`soRnzolr;}pf}&ufq6q90#yp*oN{&5C7+N1uEJoa`CzEUtm!{b*p9)%E#jF8 zY_H01<8C^Wy2geWr-V(#xT7JR*#+s$Gw-JUd24p00>LL)7=1Gtmc8=eK`SG=+TfSn zvaj#g&M9~aSLB;n&!Ni31LT+{LyA-Lca`sSE3}6xG{7x`w|_k+JBzuK^&-CElAy)7 z+Wze|vfOwff*(Aq_ID5S4^-daaDqS!Nk3uSBYfDI zwR?pY&ge_@odfg~?E$+C#lL4w(##)Sy7%y*&=p|@$6yVyKqoU+ak^qidBsKm?qrs( z(*Z9ojL`B`yl`R0>+wWZpRqIs2zn+=#OS=4?4}MR=yoJQKXa7b1`Y2E6H-r;XNuA< zJU4LyIozfLaE1GfH{EF-_7@Z>(tbp0)X-^Q-i`idyMC{z?3c^%WrhOZ=ni)W7wP$7 za7*N-=H*I@UWGw$=D@$v4d__6agPR1bgMbi&*(ck3nkuOOc`#KhqUSm%#`r0(=H=` znKiZWTr`Q-{_%Q<%!nN2=g~++Ba>5SfXRC&P{zO*dfb9jVNb(?$6v!D;KK)X6BSSd zt$7sUf!D@dpEq>xN;i+`7$pKZgF` z#J-Ty9_Woba0)*w0D266Vpl`4aQUQ@(^?XRzm=9Bq!Uh%UN0Y*+hm(>QqaO*oGRhL zDeg6~(|FrDfCs@l388&vQbBXraipIx(eR^|R-_PUvQS`(Ji<@pHb&ijr7c=+{6tSU zrZ_MVc%e;#trpjQ)GNk3g*Oo{0F{Bmb%q&LJOUS0qY>GJi^%Ss!UMul_iw%l{JoJshcVH0@l$2 zth4eCb28G>=`bDqA@a-W79ncxoYSlUK6kR&ZCLECSY3T}$&mgDau);^BLM$tViRAc zVeztWfg|i=sjq4GU!*bRSI(e6}b@skJD;Uo;SL zYu0=k4ZRH>DX@c?MO{Kf-N=hNg1{{>W+92CCNHr#812J4)bnxGtK?foRquNZbCn5@ zhECLp*lNsH|HSN201}_fj7iO-piCa=#jX#|48nV_-o}#J(g25=BV1;9)?RDFj>j2X z9f4+wK==lC7(&`RE{tb_&xrdV%veRKg-Jxc1&C^PtqypKSW3uRnBDuwTIhu#n0zoL zk@)+_u`iW8NR2@ah}~J7mewS`0^L2te#a?+fE7DRS%si49&ZtkKkEjyCFawPUKySIj`In zR^q01_I6Om&%`rX$}dN%*o0@f_kY*kk2t9Lmbc}!dFD@jSn{p#Dc;@A&7FBD*m`QO zaPV8^m%P=O?@ARd-_QS6MCAu_r`{t+HAn6=PLsV5I0Gci{V7Yf)K!y<7vG-6#3sT- z&W2`r+SJ?uSuo&7ly^U?mdk?$sH5%^Zt<14zliQPrw1;vdCsNkr!7~8RW}nZ9E$9~ zpfd4I&8h%qzB+!%qY28I(*_pS%91D@i^sjU5h03vGI$Dr`w$m0zp@A990t1^96myht67$iu`^ykfchgAAJM@^;5U4IIbX;f!Z$r ze9tZsM1f$!r6xXMH5YsAs5RIvM|C9@$cUmt7s2fgI0PNTo-6=!BT<* zbUiMBJx1W|9vVL6cv|c&*dtxDYg9E>Am}INE^>jF(J9iWv5U1;rQki>*r4!|`QviEJl>zx)YoX)>nt#f4DA8>|6aHvs;KkN1VENgw;kY zTQN7c%DS!Vl5#6erTXyol2w>T3H$3}47ZZrTRwY-J~Na|V4i{d;T8F3JA;bf9C(&A(- zKseL%{|jegP7toYu>ZIiNAIa2;m&WyDo9xjX_(j)ph!|{>!5NSXA(rtAS)8w8dBkO zM25n`p*K2s?nx~{BIS3#+zE%}?6*oz!gxFe zv9+=#4b(@;&>L{P`G8gHt;{dfUJ~Ne>)2lK#*m7|Imr`(1uDn4`}vWGKy%cwTFQU? zHg&=NrLEq90n^L+0+JQ9_4#qe_DO7+P=OOx4>6%>@}}LOECxANk|S07`dWa_5iWnh^4T7FGu|Wsfs$g-eyk6#Frx*n zyC|Sc_83!%+e=GO>p7BE@Aqou^Jdy+$1l30b1E`iZm$*{F1%h)o|P!xvHw1LMOyLA z0-H+R%evzN{9sAYjVvD0Tf^X|kc)9ozErU4FY@EvhPASSNS7pO@T-Vi!%o3Ji@_MC z5iOemU6L@(lhdH0vIikGHmSr#*1ns`;V$!D-9$1AblxHXZq=I$S|bLCq4>mkkA| z6`eTyd0!>Wabq8kTg+R_e0`D4W!CZT`iTRXp76l?8_^r-d%}PA5A_-Ko$2eWoxce3 z$_LREk?9AMgZ@r}8VbVr#XC@IDMSKLWhY#V)b@oQcK|JVaJJCz$!z!+$ChR*fFfm2 z<98d;i@o2naR8H#=K?@}C5qjV1HQt@oUDzN4;hR63F2#>^-MP#lLt;F+#GoF1I0lK z_V0dLs$_J!>wlJAtREWw+P7_QL$a7K&C)0;@VaLnw%KQGSA_<|0W`}p; z5)#9=Vic+^Ce(#B{Q1~F?Lg=Y=mT1s>8*nS07eX$I5Wg9# z`MOqQ;8Z{_zTq2sXC3@w%PX#)_hCDF8yrPZ&4N}Dv|9{LtB>Diffb@HqW$%$EkWSq z9##1QNNlw{d}r^IKf=q9dkhC*z#eZ>0}!Y(5}r~m8#qhxai57e`&-8KU%|yDopA~Z z8uxqg$z~d}H+;*s%eh2S6Gakvj0E6y_lIuNfI~|FuSc82aQ)@=A$|Pa0*BANBZuLC zKo%&C`b6`Se`*0HEE%1$O){+?GE8}U*f21=+YlP(&#Yf)2ib`Z4?VF0@8V4Z!2(&a zAXF~U3AzaHoyIDFyH;5ADIiMMyZt}9-aDS^KKvhdPN%Gjh)7nHqR8G3DUw}wWg}=Q(Sj+yx?zPA4 zrx%b~&>;T>yC#kck$CHZ22UF5blHe%dE?im9sJ1eZkwii2(9|FVp1gQLJI@WbX2%O zfjG*~P5VThp`Mdn&&8Ha+E*cDSvT$9wAGrT!0?RPq2Ni%;&m@(KK4r(d|wn&zTxVI zde7U1uk(>)50VC=Vs4J9&$Fo9wAI_8I{{4KGh%evH5H@`-LjUzfHL6MYC%T?vW>KO zbnWB2!pH54Qpr;E!TW|VL&&`X>gAEw@uS@wP&aP!$>vu$Zcj2NVels625gqWn|KdC zsDpMe<9}}gXhD8p>*=}}06O1_tV@d557~gE(wobaPHiFz>0=Ph&FmdlOces7Tu|yq%PSnX<^BLKV6y}QLVyX7h?suZ&552Gh ze)!Aj>F+{+2p>ux3I!GFp-uMZr<$gQZblI7Ot@ue*m0Hz@jamaDMk*l_otJKA2zFV z-?pdn7ecHx2>tx~A2JO@Ac6n4>wU*&MM*modr28d3Lj1&bN_ZqS&0Nm1)=+Tuf3V9 z%;fy{{q}e;wiBs>!rv}V$iXUXW?PZ$AZ;=HXsMo#sIpmTrCG0etr|x&u&fJ`kd)yl zwwq&`^DK97+DdIQo&fyR6Nuc^Z7JY&BsZ=Pkap|3aULDFys-a*cGT>ErS~Rc4Kpi> zf&UlHns~lDRI&iL$CPV`CFSe@3nO}-)cMr}HHOzYGU$Szhh?Pd|KvPYnRz<7m=5ko z=|r~&Mp1<*tANbV(nUIRt0y74LKIGeKXZ_re~{WP@0#6}am%9`#`RPkUaCsM9*EpS359UrNrW9!A-GecCl z_=K~vp6hVciV-8v)xZA|G4urY%!}GhC2;+%c|wnDFpQH{*nh*jz6X@2AM!JRl8K3P z-Pgdcg6Guu>eM#XQrLCS{+ei?m(8kQ(056Eh&FY7AEsU_P)}8SC$M; z2~xB%CW?o3t>48Z1arkHQgcZ8wE2{HF~?Eux(z1TGl#(-OqQdHID!K{o&I+wR2h74rGT@}rx{HtBt;y2AUQE_A5<5rX{+6S3ES~ow+{5zL!&069Uc(d4e`(xxml^e&K7&jLCwP?p zx9|C$>@5ux!zjYgO}#t|XZ!~pk6s2BrpFy@!``CHj)CAr`}aVKz!ZgfMnqJ3`v?aW zJ2v&TDm#n60oh;B^w5-u|QM&(3d3dXf(9`hF zt{de3SG1}(f(wkOuM2x9Aomo6=&;SlP~TR9Rk2$v)`K&|8@qAihb4*Kn_;K~eDnU7 z{dT-|KYnaP7E}p#*N*A_KNTC%zP_T zalnK7=YYukKZDAqBO;w7)BFLvIXUes?H5X`L`nT^;HyklgSgWF0yuR^OOa%Deqk2J zbt#>QI+v>SP=Akb6!&xxEgU2kyh;@;E;I-2&SsxH3DZU_?RtR~29%$lkJ~cN4Fs_Q zKU)*4Zo(Rx+96!;I1lASZ#M8!?<6;ulC2LzmwPgeOpV0CWVW(P*FVvSh*yr+&D7H* zR=X~`sQa#0dw1&-mVz?`(m(sEFpORwF|(?$m&V$U`!x)g&1}V6${oyL#Z(0vB}!RO zfe6C_-_efj{#zD^z7CV=i(y*+*E<3|!{>m1P^&G|;ubRH`1qNQBZW*qiBo~0f;n6? zCJo}5gR>CR4uk)90XZ>+?m%>Vi~b6boT_mHy0yCqJ*{)F6?U^voQrSs|2S)pB};)} zOUroS2y=bi9i>R~2vgZtUpPSyU5g*rf!lvni}1>ofVt(vm!@v!nN{2EG3hu=9!8=4 z*oqEU2IE~9M~{<%p7FrBHNQMkdvDHxOVlrNWB-A{GK-p7jRQ* zdYqrNR$pwFp#3h7W-U^Qip709A7XsNYMxuMRU@hbd~A;y znmx)0eLLk44Tj>c_m=!X)aErADBVymGHsav=>~etlm{BkDp`KNvFJPI-uTNBZtq!J zwq;!Dm+sl=&7SaN#UD=-FF>3hDZkd%(er6xQFL|h)o{(`-8?_rY4FAC!51INIOqe@ zvT;fn{)aEP5DOe={a*_4lK<5<6v-r{xbZT3i>rE{;}ZuR$2T&YM=u)1IJdK)29j#$vhJGQPOaUR+I-dszcxob$G7{o_E7Y-!o++i&s-!mY9aJ% zSTmLXzK^F|$hV2eIn*9GK`{G9I|SOcN+;1I(R@gy0sQ{{WexA%k}Xx2ywI=M#Paho ztsep7_Oa&;K=wz=BYR6UO_4V`2SEy zdh<8xU+E6hPOyFcp!@0its~-Et$q~3U{|e8>FiPk)ig8k>fUtpP$%K*E>M-rpf`74 zZLj({)$~w}pK-(?(gTQ4%}KRV%k@F6VW5Q%>~z(Xt1#HZ0X>a!b$ z54#(q4XdD&lTtLN@}K%aN5QGZ1CuG$_}%qS{2eX-3Idv@J1=J18NWDj5|CNagpb5Y z-hl=|6DwpM2qlmX&~0DA6yzxLT?>>4(!E<7OMjX90ah0Lo74nu+UC~Niz0K^*1mUp zM4{|Tj@IuFRqU6*dhlj|9)DTMyODWDt(4L6Ast1_&9os?N5JNfNA}+H10(8>XKi}~oc=l&JLES# zd%rsM@?w{UY+~Cw0cJK8P*wlo0&b>rE%jxe`-+x_trz8%)_=| z`zR_LXfOE=XBIs2s{~O2gz2M(Kd|&$6)le;;)=WkEHG91tj6;tcN(w!ulE4&=K^eM z`q}7T1~FJIn7GCksI_npvv*m^Vc+}Vt|Q;aKOSkT?{n*rA)&hW2z$4^X=Ixkl!wM! z7T(ZK@blixdCc;d@e;#5X`S8l%b--P3Ju{M@?~fhd13o&N?i@^Z$NQ&1hgG!|mw>P%^nn41H;b0Cm@pI? za&0Jtp;Z)onOSW$gg+BS*Z3kGAUIrVy*{81t0@02)NYn@_u3ra1v=!A?+U-m?6A!a zQNz&4F>`fZ){?D?sNnJ!!->1}0{^TTd5|kfXkm@#v%%s~PuOsYW(q`#tvR{(e(c=J zLc3yqyq%hnjZRW4v9{cT-DaMCw6O0W?aUFjEiUuY&cT$O=m?YIjSkk`Skaa!&?& z1&-(NQs}w^DBJg(NNIzMS@p=0%;vk-?cVh%o)ZmV3Opb4Otv+_E?7tkS>45|CL|7}UIt9olBi6o2k)$6X#|Z z+@;&nq}RCym0AB9@BrtuN>#Lf7dg-}8lwko4afkm^KM}Ck`bx3ZV$cA?Atn*�hl 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

%hZm{zV>cStZTi@{bl!jB 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 z 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

VDhs$=NJd|Fqd`~MYLuv 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

945ZU=cCO{liMCAOovl?e^-?rB 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 z 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

j(n_@mjcXmfECeeA*x%zyxef^CqA=< zT0hig0B^3Ore>n%aeFGH52=Ym5UB}i>!FQq!8(HN!gax|_lC&C)fEtIXij1&Sr$6` zsv(5Wb;n$)T_>X<07fThxoz*7K4H|j{!#&YG3emCmFKH1;c!ZuoW=n;=QOAJ^Z8&i zbKEQd&WEq1$USS3MD}=ux`5qssJxvZiOUx+2NC^-9h5*F%ODDC=aGQ?>-nw>=ynpF z4GXHJ{PvMW?)}xD9}|E4V3&Qp$fDQ7LiQPTkt8N1ygrkRSM(cOIhKD+Gnx6Z6RP2H z&j*?Jnx6;Wlavv#Bc^9lqE(Vr8z;G1d!O;&y!{=hlx@EGZuO=7^jvbNf?IVBeY^qO zxO>D$qQctk!&+@fh>}Ow0o;$PAtD`r6yCLv60=f2`J+m7doiTq3GA{PThYIQ;Dv%u zRyL2gISe4^c|pGl1$sXSCNI89J0m|LHx=Bjm$f%6dLKItTc~khHQG8nVhn9be1=?} zmh8-MfyCJ%VuDSC@p9HIhN1SrJc3)HWks(cV1 z(XfG3v;S&02k(%k5lfK~bT1apLA|EMJT~dlKfpVfS#NC}qR9wEtFuj>ZNhqdeq}fz z(cvH25sXoe2hp#NCX z7G@BYb4>ZbDfde}4C`sCM?%_s|*fa1Yh5}(_N+~)F2)pz70!4Me z7ya)qZ%jxR1W^PPHf0&U6{+Eq61qq`QZD4Fxa<*h*<~)4y7wn5edq#xA~YY_t$WBD zGX-k5UXS51;&yO`*ZV1Eo)Wc=<+fAvS{BeobI5K@E-qc zM!#F*{>e_=8Jv=mtcJ(K<4c6u7n>K6iIY~rbRwVsMQB;?h&n5URmT%z1D_ApyfhPP zQxK1$c*iDKhBV4d4%F}M0g61^L-Tu&F%T*s_ir1;pnP(8BO|ZQaZZ3Sjz$asl=j%p|3Unoh_-g`&Zb4DK z3z5E#N=f@AnG*L!EWzs5%J#j>Z5yo96J_$r812U( zoJ7Ru^!3rR(~BVr7XUv4{*!&6P+@NyeUmRBy^y>?n4BF|@86y;Ua^{!i1g-mkZZmr z{;LlQc*uKT4L&^KWj)WN1o=n+E>Zv#G6C`2r+z-&FBQmWG0-s~NoBEkf%wYM5cu&| zE#)+TXZor)YxK)2d*yHZiP>(SE0ah+62__?(hue@^Nr4k)(G{44`EK1IMye{9F%)p z%9T#%h2)8ZtYzEra)=)dkYyl^TMG)m6lLj6R$>He{@LgF0L`+zS@f`>LC;(~JeLwB z5fZpnModE@qtqE*P`+U&VP(iKO@e|LTw{z=(}{ul*JXs@-T#>Vvp6kE$AHX&8V_%{ z{`gO7%7MD~>%c>tf}8HH<0i4sSNjcEwgi|CZjhHP@t^1Tw{jjN-p=u-wP*6B8Y`jS zLGk6=w;UZGGfy_)v}au_BG#8jJBe@Z5sF(Em+ z%gu`GGxh}-zK3#`#iZt^hbDbVX3WItHR=C3MzNCLS+kK7o1DVbhFuzg=tE+H9>}{* zUtJS{8?%@@9*h0971MN-yq$g1`JyETA=X9wCoK<@R5i9D7f+aA-b;W;5DD{=Zv>j+ zHRgBdk-a_co+QXa)CU#-Zc=CJf zAM+x!WZE{nPF)l^0OF~pO#BBBPv&IXLXn!51jBx-QZWnlJGNSMMGf|FX_QYx$IU>R{BfBk_sW zam?<$ZND8={Ua48C1RJ@!R(!+(n^LV#dUWc+pV%iZf`}pp3QTqwx*_mV?Q!MT;b-*iU0reu85~SXgA8=bdAch}H&Q)-jU;XFEqK0pPr=1FAUzs$5H0*?690pi zl@kY9qw6t#7v)?~HS{y*$D}$b zM&2#PD+_N`_$_3MrBBpQ(ioa5tD5nPz5JC^E7B1Wm4unnS`K_dbMxw~4J&=G9FFL@ zc~w=Q!AKJ2T55A|Nr{+^WffVDAW=&;1lA#qJl~D=^QL1o#G~)Gt%PG z*Jj7lqAMImqJxFw+B&63ilN?vli)wUYE8-0Q(Q|oVIz@?Od%a8Br(`HtGL036 zo{6c@ytlPh#uqvfoH8$AraO^p)z3K|wL8H3<@NfJdv@~ehm+zvm;|1hU!-xillb$v%G$OX+*<#ubu`A|k9({GE z#Zt~;LPkA@!4zkNtOKF>kajWp6(xORe>?b^(6koH2D@Ohu;YVz7Kl*u#k5U;HXyZ= zw`0l|*EvO{BfNa8fU<@9gj))r9v-#{$B()4vuzk zGC3pEx^i~Im*KT@DXeElm1|mOMKve$B(^I3y(DRbWvke7Ji+nM?G){J;yOL{p;J`z z@pght9GXXkK?PYN`Z9vun>XKA^i{MD?7`AP)!QU39j5xkM<-yiLhVSxrCg&!%I!iG zRmm^Qq$T6xX+!`q6KhoV*B9xEp#6;UzAO_ zO;Na}dUe!aIdD|!^`?;tdQBDAIMpD-gN6Rg=hN6(+6-Q&s$B2CAQkOtH`7O^pzMl?YG*k%8nLcx1Wiu}fFD^b#mPd|U9T>xcuK zMIynACBOkx6u`a0C6ACpKl{%g(V%HmhW9VWGfRTN4ZkCtl47}qFE&AG^5EQo7SMUQ z@R)RuO;QBg#Hlit@M4VV_iG#E`w^MAfI-^=rmEA$37zutW$Pkgv-{+7OEZt;{7AEm zy{>X2*`l+dJkTGiUc>I6T>~SA$|45n%uP-{MD>suGG*G_@x|SP#Rm_|p;>X|YH7A3 zOT`L)wGd-BpQw!tS&_CPMRo2uG!26gt+w*_^oZu_b!RBv!=S!_pFg8a9dJ~gW@7(9fc`4GL^ zfeVjbsU~PImi=2JVoCr=61ch#_b+r3aiB(F0(Uzr1Rcb|2~F|`YvH%=p0b~ekEuIy zi<)@aXlalj$Hz$s41KQk^{`(1lD`iAAr>Sii9jw!K?o1&>lcI+C?W3r&HIN#eb?PV z5a;&L-1Y(6-A2hx`tjWtqeG1L+L0vptF$KzG0By0x%ZsxRTlxG&*8Gfd3*LrZN$byLe~oZd3oY|lAN?8a+fr(-phlf$hZ=r zY+G>?xYZs1x>^dwcksH3c~ffSXnc@j1Q@VCK$y@Kh4kBMM9**BL)lc5+;jK9M}dIX zdL*kG_z#@}Lrt{A*s*P#6BNT_$i9%i(fMvHd)x!7xkew$V`Iem>qT%efL<@g+911G zKBqEX@X5y%p)51P;uC=?i6`P10|j&U#_^x?XX5xDrg*yPOr2g^AcRYHc75MXFW ziq&yC6o0&2=aGQ&M!1F_atq2P$Cl$>1_WL4^%!L<04fsv)R0hepb$tkA6tG!VsG$U ze{mreg-*02=|8@_jwJ55eU+WF@K)Pj=waEzm;)HL?zWPaNyBLH6}>%raY_#LYAp`X za~-Z6QIv32aH5i#w-7*IQ{9vr8iUoOEhPB5xlfuA2bw2Vlzf8srLxgePmO7NuNp3B z&2+GYOJ}x~Mtin6>v+=hcSJ_#TgKgw2aN>hmIEQ=UoFHl$1%ws(XTx@?h{g<7_02H za`)5^var%b_q64D6U9JqF5(0aZ2_!&bPL{$=jR$u5s@!3{`49Y%U% zL$Ym|v1MVo1J7z6fnO#93H%@dgbwQSXFZuC6A{7o0D`kY=@>>u7BlgESsNeH)#Equ zFi14x=jOesyNK|*yAMwOb$u4^8Ew>Ed&FdLQEg>M;B|-3P)8>r^$EJmlXEVx)uQB$ z<_GLq0w|9sxU}MUq&;)n2{5IHlIPIAK}_&Yba3PiZ^na2m z-_ozeC_Z@fiU!v|o-}^jkdmU1cxca0r5v7NaBLXPuJW1tRseDYrQ^iepUQ0t9r#Zf zsF$bx9tc>BJm^D~ZI8mUEl}`*Sa}qF^s5oRd>{wC;_9P2R8mc87@vnoN74;)8)%w= z7Vk1cJ%+W2vinN)#L7?LUV@x7PKNB`NUw#|q5Em|^;8arPOw85E@OM_W)o?B@Y8GK z-4!F7l))rnwnLp1?^(~3q^3xI!n!L?z7hJXwlWvNuKhFFqk~L%g|Zqm-}Ls+0gws_ zWTtLtv7QtZbz)(Z7=nsx$o*75-w}|_o`9GU6on!6NOjkZz8IJ$2I*S@TPOCi@gzMW zZb64vbPLEiioJf|ZT67^p4p;cA*35PG~Q4OVb2epV#XA4K?r`sR~&S8<2%PXgbkPk z@Olyj<;kWgx#7>b@27`J)r%!y#ai3<#6yOnJ~qX`e+uuK{2h6=mI|8Yz;CpW)>TM- zpP_&?)<)JItV2VIP;xz`y>{tt`Sq3Vtr7O@-(g#wD#psFWScMBNAlB!73L1ss)1=C z^eQpX{H6V^Er&743S~x9{+a$8^N`vx*}I&3i;pCmOmD;_^FE46`>Pj~{-hAE4L4{N z>mY$dUe?5MI7Gui{00^29Ruc=nnv+bMLj_fJW1nCdYM1ozjf8B#=zFX)xy6kC-$-} zpMN*DeZG%&(l2@9NqP8Hd9nTS;(I>S@Hz8|kO3XZv1jFF=Xmt=;CTp!V2^RZ@lz(P zOx{96k0~UZoea9jlQyt=B{R4k*Uv|W_($aP@)g^p{>FGQ5^^%{6zYMfEJ0xH04ste zhah`odnflccw8ham~Y;0T@35(J;Sn!JPTH_an^FSSkUB7JOz73c{1#pb}B}E(l$|g zp>P1jNT_UKh{;M!&$q2t;)F~?22|Kgg6~YogLSp@Ojhk7 z+5CB|QSy3)0k^4{_#5`cNPPK$m*n0^JvsXE&qk(1?43ehIO|yQ{^bK|P>T<`oKz|F zE#X3~2U$etuc*Bpzl+{Fe|MiSWq>GQf~tut4k9?}t`J!C6MiLsFA=aVdP0?b;)B|5 zN0HfR#UVlGmlG(pBK7JF&4T(ORg%j`3`qt{pio6i?5Oe8~- zlLFCwCE-KOMho2`?gCt6N)x17aV7F%E0Yaez;&K)ZZ3L9WtSc-8pPX<*M%C1R4*GY z=2^gZ1PnY@USwQI{3A?%7U!aEtydGlBk0a^!=5}EVuORcHycNz$$xeH4d%Rjz2N!a z0k$D0%y;CertEMIST6|t%Lv{<&EiKQi{L)?p_#f(!EA1{Dx8r+7Nm+2(;2s%#!{1h z1;#wzecIsKQR#1_=eIhP`b>^4dYd07tVrJ|a#D*#H!k{@<%auAqW=|5c!=_IYuaHrfU>dswX9b{mkYZJeQ45*TAuAP z);J3H98xe6?JeBpS)<2fhMIRufkc^ymXM4r0sAmop*Mdy7eCNej=XcIvoiN?##NUn;i}n_VeKR6F#SKNV6YAt%?mQR8$|F^+Ekmd_H=B(5G6{0{ zYCX{um5U-evS&xdC^)4d>fD~j{SRE%>IOz}eXJ&&hL0nx4VtDgYu3}Js(kc&cAq4_ z*^6fP*TbvchI=QA%ddAk+W_%Eq!5SNs${VCzkj?^k;vS6ujf&J8QtfRAC0?O} zbNVtBH`38t`STPBD4Xw!g$s`b7|<1uJFkpWwETv9F)2Xs zZ5YW)$t3WfU3BmfnBebSIU_{nr98;XaCShdZBi44IrLDOi*$9DA8nXr_@}}wQLyPDw@HD&iUu8&{dX;W?h4Hj1AS_taH>-Xi$%>!t-<={`$*l~vNnVj*s_rx63g zD>B!UZIsY7(yuB%3&`g2Ya36Q*3ytK*n@>s%!}h|=NAuL5X`mUNINmK-)igSLo~2J z!|jkEZqq=Ef+USlI*K7hq2OG^Ky-X>{ur3#!>zh-O26|a@oudb(-Q**Z{yr#bYb<& zKb6i|hp6?oIfQfJYT%w=IA&joy3?9r-?fXoyQ)9gN}N1Iojb{B#yvkhB-vXNOLO~*a~4l1^159M>rN+Iy2pnCJJhls?1+cQ9RinENK7Nc2k^)j?~AYc5Cmk% zw=LQ(TL)cjjHpZPqXs8)n%^4V=EsUue}wuZt7PdfFEhXqdH$1h**vsYro_r8xC`fl zLTzKJI!A&mEm5|6zabY*6~pnt{#1XvFO`+ zSTxz0d3l(%IF%n*;}kt>Xo9TjZEKZv|%ppl`T-4kUu z-ny#j_iZdA0)K4!ejj^-VK-_=0;h#Ar@RS`^$5SFCYCCR&h1o3?X-Fw7=P4 zWbBF4>{0esSP>tIz1=G4Idti#290gV zbTIqznIINssEQHQKGSc=#wTaP7V2pl5LbDL5fz#C1Mr~PbsaVUJg&v!Ky14{$c z%dM0Hw<;3!i9_?hbHB}3+o5cy+5T2W+{JvVa#mhdso_P61Fs45kK-J0q) zY?pnltiZ@Oi9fo&&5pEoNeWG7Yp~trMylRWH=m5lJmb)#k0i5Nz9_(JzFTGTWJKC| z_@qO+D~I0G24in*6@nZ$O?YipOj^gpsbpq{4wc1@q2Q2<>t3mz_Q#UUYki(zqfgOR zZBML>xy140Jl2Tl=eH`M&Jc^v2HLk!_Y4e=eS~k3x(Oq_iJ<;sJ3>)$)Dn6N2Augo zB|<6OF!F;V{v<3|6JG9N16)vwQrpg}-{}PTf!P=vN4ZW%|9=M3kq>2q-jyHrv*zE8 zL;@S=$;M3*3Hvta97-21g)%z?a+dgVpb!2+sSIgk%WS1N6^0#?dXX|W46{-bvprg> zi$a5x;!i~PGNtIrfw(VPaiaLR=YTK}3C9%^(h?DkcQJ~?kZLLH(ex)JTHiG@>7OJT zP<>g|v~Z;z*(Cl>YDBFQp!}(pnIk3}k>(b=eY;n~RBi9a)Q7Ekm%HLx#g1=(1o)wn zI&H$r;h?N3eG@9nVL&m0kOQ!*wS|Zz90HJH-Y6X@!KLi5R6K7xvOv?*ewm+f`pk(V z#f$ge-JbY@!c(y(8A#s%H~FcYz=waK8Z7WK3&cW@9c=m>3PS?d5i8_8o79IFa}f~d zI}Df+4C>1vC*D@7kBf2?vD{Ibd)+?3mgBB+90e`d2K{eEz`j_#PYbO*x*%3=EI;;b zmhL0XX<%y(hhh_NKY7_Ec~VB*#3?OK^9S49F2lF7WBt3~Jtz{rdq(DNmQ_c;OJ;7I ztYW8rN{H?pk?n*IE+z-4;xs78vaao$R>?Y>#|+Ace#12fuZ;%SQdj{?xr{T~2BAYF zK;}6Gch$BLp&X3_G;^#Vp_6`xYJgpJ?DvBU1GY7i#GCc~XS+7-1Zr=s8qZeRmAl}# z{xyC6V(MSsMBF=j)XUu+_Z3&p5RQ^PaJKR2p`T^l5O$eBS%#h~SK^@E1*$)td|$s~ z*=>cR)O|2?2#?YUD5=gOd$g z+JB}c^qgwXqJ%NUKPQ-fQ6Ux^{>n4aW4!DKALLue!t-7c=2zZblQxs?@&Z$nL1@P^ zv888)Jdzi9pHUD|{S;6bjdHUROEs;Ul4iTnJ2TzzF!TwT*F3=llHYaqD0TYy0D;O_2j zgS$f@xI>WO?oP0v!QI{6<(@qG-aq#zYt5Q9oU?a#byamY;>FPdYw<&5iIa)89HClB z|F7#bOeb%rTk+gcH?p&{|_CYcj+DT zh~(n^`;!!s1nqn+bln?zpo!yjZyS`Fe)5oj$@c)CWb=-AoQA{qG_MJ{K+|-*b=k6) zmWM0N^Xqe(-v;bOX>>>n*+e~H=Bu+D7yqGypuJz=!RUMNS$j5S`=@N05MshodQp#> zDoWpGvhr;?%ZBfZF%$UEry`|3KD^&zl* znLzV3(||FaCi`^1VlK-?AGnDr9TQ1ZMl4-_ovE;LmZ`=6=n|S*wc?mB*wg@%w{DwxYv?mI=;-2S`$<3Pu zc(}&WLw|zn9>9bYmYMO0@O(Vy%4-H?U$A~bR6B61gszlYs!KkT+E5XMJ7@lg?D*!# z4cSK7m%4%Q_X_!?14oBo>3YVR{^J=-)h%JbN57p+2DQ~r9rzwCmcW>RRLYzFd5 zeAA;A%YRdFLHxjbF^aTuid~ld+qcnWkkchyf!xp}MKVihf0Ev93ftBaOI2d4iT>kh zuG0lKwRynOaBpkoSFi`h=hdCDKe-UwMZh%I&^0u=6iDBs{qeH<-BpWHOym3^ffxzO%}vi2|vw@~B-p)uB_h z;pG#dD@a2Os4>W2?-Bve!*hU`ocu2x66fa#qV^MqEW6D86e>yT41J!wFj0?*2;`jq zN|?W&umP0`g)P2c2g6DVi$_|2{qONmcPF9T;Fa8&tKlA~n}T zEuGd!7w|esz0x`kQcEPVV7!;kwNg17FLVQTQE^^P%B6wS5VU`o{o08fmRxfUr_gpX zTB;0&TI#^V;yw}L@nX*!=8OI!&Z|^g%fXXS3){ZllDGL;M4vV#Kc^X$(ZWcNl0rw; zIoCzjpiCVJ7oB;h04|!0%h2YgokQ`$J5mPy*BDH_QwkS4GkVt%UJ(c&ij*n3==@}* zBTqvmZuQBYnknDp){dgvvpR$_=Zj+=!(aJiYq>@|8L@d=&W zN0j9s3s~KKL4UJh@Qdc-STaHrfK0kwU5|YsprVwSC|V~d%4ybTHIIQ_Cikm7Cbo(a zqXKS02GZY?4P1S+e^;MyD}%xcyUG3)l)>jVb`t>nIM3=2h+&=DA!WJ$Dv5vfdb;r0 zPo_@=yahjfC{Z4>GnW)xQng>FO^asJRUj$TzEq^;e;(Vh9It)0T#@qN(zdp4o^u__`}W(=eDmUI zyDBQxUL9eiz?But9bh_Oz`S~tE`|OqKYpQCq*m|D8CElN5~lK{2&r4N(t{ zdPWyq%x&6aU5q?jnKXRu=}Pl&Y`#d&rXYn30nV&+%X$Sw(yUu6ST7fh za#2N!BKowEaO`^S($3941}ATC?$Ehpu82I{>c5^FA$? z@QkN3{%fCO8?7Oek?&}NntWljzsX~UWa`VF(#mn0xTU&INqAodSiG=!hMHamsn*k$ zO4CDd|JbsQyxBH;Abe^Hj>@E8TGz5MwQR2z#?6Bd_jf2+5>CA^K`3+A5W4e{e69 z&ma6bloyMqgx%F<$KIK(pd*%zc{er|vPKnZG7{7qpPAARw6#Z@sT7rd2Io;0xi^|(tm9qG*zJ|0d zzI^DYMjUyP)JNahicz(MTURgM!2QTH?_|~*3{p3H$aDL5+w2qnt4EIxyA}{WLsur2 zCS<)TTNRzAK@Pv4c&I1U&Q7OCr>eU{>7c> z*+zm|;|r7VWPgUBEvFZ|d5Z`Br()npFzW2-{XG&I{>)>R}kkF_l{TYU%-l1qUiX@AvuOnYyXCOY~qG05vz zwC|G_OWT^areXOP@)MRHMg3<9y_1`@oQah*P{Gnz6BN~Udmq#VlG~}0!bZM9Nx&+@ z%WP%KC?=?|JE$~Y?EGpl)G+>?2LGAqz#>PmV9ojdBq6wPMgL*PJil9Pk;*8yPA`Tm z<2sX2*MdHf?MO$ipqi&CB4ytRaniP2z2fv%n4asK&(C@nW_eg02|R9MVFt^>#;TcK z`V`A93IA~^#z0K1L=g2%V)2+#ge+cC=?6chpe;a3Nrza4Qfz%w7eKH2i>L-;?4=O& z#Ve7<*QEL7g}>u2J|#lL#Ov{GS?kWbS#?nRxwyVg@cl#aO;Y~_2p5<2AAyMsde{g! z%`%<>JZP>nmoxT{*A@mOy8YO4*f>F_`84y2AJ^4D)bW>AWhJJ)RtR z$VWJK$l~1q(<)A&!_Y$mNspExuRgn0mt+(wCmdNC4MI|jMDbvD6XHID9$8mghfXxk zUJo-3zZi{GuJ^7a7saE`4B$g@9B8B~HR)C9(m(N34ykKcQ;nBr zZ|qlxXsvtHfVg{b%mgb<#AW1sGt9vj^`rJe{g4xe79M5@+VvCy(EI>v`S~wT*=fEp=<1=V z=^V;kbB6XOGVPhKfhGRcQ}a5Z@xpiDu5#;X)VPwnBe};@uGOWoKDu}6bVy8h?no0^ z>kS@^*~QD@7tW=92f^mLC z0QgKS3Z?4$U3>K;RRmr23S%!F3nnT@;%ygeiWxe@KrU2i_XC27mOWh_2hxQgmGFyUennckb2^#8l6Am z8|l7a+ON(igP&3FL+7~o}J{RC};YE;Gr|p zXYjHjGYs|u^-v>UYk%5vuhtrV=WZguF!8PhU!4ssNG)Ni(4eHxLe=5zv#I1)7BI9F zq$gVEvD!sSE*}{BoV9)cMGXMw!c=~D*Z`DSe-Ft8JQ#F3pnLYFSa!QpR;=2gwW+ho zCgZznWrzesx_Xfu1ReOSrqOM8tjry)FTRN0nhBvhg+>%&fYn5ksO1wN1Ggj@iu_I9 z{>uLt{YUUCA~r1?7Hw*FlxPi==PV-5m_$c3y=Vwh5)2WK7qn`ncCSiZa&#shXQccZ#OiUs>|c&j>#{O))$V+BC+A+ zq;}ofyh!P4r+&65@9+516n1e&gd*OtS#iPcAI#x*m&;a0J`)r8#y#EgReB*^b!y4U zizAdylMQ?=9+fKRD&1tLOUM`*ajO5{1vQCJr(a<0Z7T34We9BZ-GiwbgJan0?NZ~( z#*%)PGW-pvpBSNMM54RdhAT6YaS-mbsW$dXp<>k%aS5t~P-Vn8vW0)z*6y;P3r zkd+gojhW69Gro0n6Y}gGlW6kJLNItZa!6(q67Spw-K_4+5V|AObu9k-s_ zi%VShc5l4cNQ=poD!0p_vL_lIn`zJ{MTAH-dLQ{3?q@K)UJFQ$P^g=Jd3b(gTX7!3 zmqlh{*XW>wjM?M`bui`6qcp6m%?cusEx~qa8%ydsnxqQkakVJb`jW$~+#=j)MF{=l#*pC}g_ldP`-_clfEG|K@5UPR% zS9sXBL)Cu0K_1>yNEw&ugwotG=OAyf=AE(QjNdzCGjbBaRfmW6A+_|?zj%Q=s+~H1 zB@@0S;k63&gcBG@oMEsRr3TC5zQJ4YVS#D21C}W*hD9kFV$7n%h44rmbO^WpB1$BE zjVTC(v72Ow*|DI4=XS;&$oW*_y*Wd0hS_l=+`Ln#%P(FMKw~Y{OJVpIJJtW0I9|Zv zm<+1WQppT9lINR!kyW-gyxh+FRTh^EH70>{Rw|(~sjPU`?}@qLj%Ldm|GwYXld#6r z4JO&u%Yl7KVd)&j%*hGxVI(j0_G+0xcT}7E>obhG=1+_sQBVWij}i#ixg>#!joa>q z`HjtUbbFv1OxLr!Qf3AAZbcuh%zA}1o-i;Swedqaf>tC^cOE0TOO|?Y4Rm(d%>nIa z3{g8^?Zfk=T3VC)#wexziH;h63DMFH+x^xsMcQ7uQ{0gK^Px{1i_&KuYdXj>86?%t z1;GXEZ@3woYKF9Ae&QE&rGbxg7%Q8{>EYl*%MfWg$m6qYdQ7^YUd^UYV=x(}gm`H; zpWSKhK)K7oQPDK>+F9EZtF|SJ+D#5tNIO?eAPfK77w-+`QK-7WD0wXIl!0&g7u&#P;x$5?5l?nJ(utIxMwnz5M#5gh7 z2G&)Iy-X!NTGP%n7(Y)kxL)@oxnH7`sM?PV*rfZ!p#8fYX?u^IycY8!`K(|wtD9;5 zftc|IX4hz1zZWkwuL*J=P#G-`xwm1N6Ly(oGlXjWHJ0#ekP11X2yfCIG|7m=U zfjL*RhQy8nGXgs*Y; zls#Z)8$<81>elGkCjvsE704Z>2i^cpA6}n?T9f;dDC&Z#HTKm_nH~R4K=0}7KFjLy z=-_FN_{ILBfbL0$==O~|{j87fGN-LsgRjABTNh>f z7t!rI8FeDpI~TnbC$Ge)R&U80^ZCc=bco~Tm#lnJZ}pr@QczF<;Kv zDipi>=v?a+js-4q=|Da(4d;V>W{Z4#T2};bsFjci-u*qIqBzy>W`J_MG|k-p1!fDS zuzPT_ltzEj0RP;$;upL;DIz0lV;Gjk(3dm8k( zkA8E(AGx(d08%j@`h0bpT30@^^@AS;SX#5&(#wqFvduP@&$7UqQO7i$F(Z0wa*6WH z%1XR^v7KR2FqsIFzL~R*=Qk&t>ibj6@Zi6(9l*HQ1#>)W3=#nlu=q=@1{roGjPtyl3L}Ja>O|`c?SqU7u@Q zkf*SH35sKoP@Qi)BDL1I;VR4O#8Vw#f(9bN#@GjNg|)&>%VpuMxD-}UVdg1o+v`vj z3Hi&eM;y;`gDXz#Pb$v9jsu7STAZoA)p`>Y=O*u}tq0}i7W(axbOC{}zDOK{ixG~N zhxX=+dWBq78fx8J)^oMK$llTD%D`c%-Ox4| zM+rxM@UGB&?H0tb`kTD*>MX-D0su8s#==Infxw8^_Zu?+B%VL_@bJdimD?_%za|u_ zKUH(WeD<{SyV3#u?Dr#9?xc!Ij&U$q90wSiyXgt;x!nR7YH)kBhd5>Boij6fZXU{q zT+hY0_HBsVDM?15R>Y)Gr>47e=@ydbWNEB7_Uf}~xo11VA3P>KTvn6caImf+uxGGc9CyYj)8mu25QgYlS`^M$Z%@^&+U z=Qjx@?~vw8)6kL|TH!>i-=7ZXB1HVjJT`v)QK|xiuODAc4xa~)6D0a&@N#cuRgmCR zM}b!nlieVu^uxJ(a2$b_WP5es=}P?PZ}D7(aOu>IdS^!MHaKas@?gY0rjN7moZN1& z845q;EOeHA8&0QoWKW$MIosb$snEO!jzG}zgHzWxr~!keMPL1u9)_yT*l7EC|0gSc zn(lad+>$Hf8ETCU%_M1737`Jv%@#+6LQQyTb$XIG3xrM^jFr{xSlL>aZr2yf3u{!Rc_x@y_2e}XviGV$! z>svj^>uME2L&Y<}EYsq4`XMpIFFwzE)hkFQBDb088?dvq2tz?^x?O%Vw04P^$dOK&^GTp9eH_^vjK$iC(C@JBe-{=SXJ7#8`?6_3G&oe6B~G|X5kc${Nk#qR6E1Y;!;jCoG#`Cas^+YwugJX zQ!(!nagL9hhs8uclFC90QpFkR1~u8{GPih zM?V*&kgEtI8pKgL+p{4W+DyJTlt56T`xD3LTVFb-bx1q-R`LH2oR^QkTjh`PFuJv; zepdrO0o&E0nLalTDa7ZpENR1A^f zNdPHXjS<0uFuRx%Gy(73ISD`O?pU~h>Th?{ElUO}mq}$~T_F^5WF-sAWZmW~w5buf zL(%$F-|~2;=cqV`_;!SYCR68e#Zv5&|26E#jc8D((%Lg|2QgnHouEx&6E*@a+J)8L zQwTzt{oJ%PkT*go=vauPjCEPLOKk5ru=f>R z>*pZ)8Wf>X0<=uG?0Iy@ooJu%fQ2o96lZ=+{8{BV_HO@fL0X|B zsl?JoY_E%(?vOE+q44Tfn)30l`X2xjr_kUD&!|=YCxAq?>pYoKJUiapx_98PTdAFR zqK`r*UB!cgtjxP^E7SgtjZ5rTpK5F$+iX`AC&rDT_J-v?;>X{t;bmh9Di$r&86VDU zFFN6@E@3E5Q6`hcg(^ebczr=;@-MJwOeYv#?P_2?!;giSjq%kqCc6h;)<13h zep4}iB@~&(fZQ+>^$p0T8e?l=d*B~Uuhk9r!V6D`t#IprY31m#9<~bfqVo-5cdxt3 zRJiL%`?iLojzU(Ub2C8c-g#7a?V+@Q7^64SbV^m?SVQMSF_Z?cPj&l@uTO?@0g!I#E@Kctmc z;!o}sCg8b~ir^p|76(C6_}$Uo;RF5w06Ny4YMxxI-{hQnhE<8>9Qx%^(SW!E6zA=~ z^#U05h*{q`_HU^o46^;}oDSdwB+v|g)v~gMnol#9YQiB%c+Q2=*bIQU!(Oz(Ot>@n zjmUDk!k}ug#scy9HQ9$XC%IZf``qO}op}y=@x9eMm$QnW(t#O1bBB+D_Fu-VnGI4e z>gGhoVocWB&z|g-}xa396cMCLBDKdNH=KZP?DNzL?-!U za>#$5GoGwy2zK;tXT41g8`Qr3KzlEDD}`DUvD;x;%}cD-b&6rsKHR{|APU5xD=i?w#msQn6+ z(|H0!5}Yg|_Be_TrI3{eZMjCmSk^1b=lWET)t-&%7*wTy#{CSpjq4s$R^|RnZ0?Tx0aJkZ4DQnM#q@aZ2M>P?aJH`)CRt^iMi<0JipVemWIvd;NW>4Xmp z9*;|%pMz@KP*h%W`lg;{pEJb_6oM<j;5EsCdX&th*#H zBE9(@yaw6vzNxOF=f;n|I0TqCZ{Ya5dsw}R1_ApAA%z5@>vVH~ZR-)pqG^~QA0`q) zm!$g;$29V9f5~e8v@@_*=M|?b!WF*~SVA+pqEvqlq^CwZJJBfa@tzOQHE! zfH41+)coOKszw~(b3}575kwv$c92plwHpv(i1>ER#dZ5#>zJKmpyPz4FmTx_aklAF zv{vFP*MnP$|G|do=+MD_y$p`T!uGdHVsyU1rKA z?B3=2On`K}fG2pCg23u5uq|fr=R)~Af!|hHwi3VkJ7qFakke;5%8&u8;)w@&kAb5v zmUo7bFXZhhH-xwp&NM?k7(~w#ot*L8>gIm)1n(RuI+_$!sYurm228#KavQU)gI+Gv z*DyZar#J?-n6}!GJEsXz2Pm<{5Z-QPanCdnn_if z;qsOHQ-?q!)iw?3YgUcP&YD7#G9)QT^CXbck3%}&{h?>#?WiG+CI2<@m%6|gA8+gA z@%1~VB-|v5NWIb-Iuxu*TARbyQ!@fw#}8B^ul%Wwn-=lO?$OewWr^tewa`_B<=g$Y zm-AG)n%);oeYee z8$}ZTweXeXnnr9h&5d`n1w(MZ_s-4pexi>fTasUuZho2J?k>ew)TJ??k#Rf7zr^LV#>R!OLFp3a@X z*=<L1)UUsI*K>dtrvup?T%}ZI>(pEXz2DQ4dKj@{xvkILl45*QI-3w*w_4- zz!3@(^3}xCki$?QUIb%iRnDdFWIaCmS)Alp-=Hg6CE$D`{8G_|;`q2DYJ-27rnN}4 z=*I3S#fbLpoS!V9t8$S|{u@~UebV5@p#K)y>$WrTY~ZZWEdK0~QivDq_AjYgSOonS zDnFB(>BE~ag~N~zVYv{XcuqL&A31^F{$Yj{`zN!o>r4+%oX@la>^+TNqHTjYH?+;# z@MOk(l>nnH9j+dfks=%9PfH?#*|qpn&w15xXBhH~Vc$l}x_oq@0^;_i&pTD`vTA)G zk+}@{?J0TfHS7_6=h~gmo61U*$?DmJEJi_E*cx|PlfiJ@8gn@fz5{`B!&I9RH;3c1xOJo0y zAP%S$q0q}|bCavBARgwOo3o&mCJH}qA4#L8(^IU6h}|mn%vThX-f*T-q9+@`{SHk2NpFFd)CN zL()GeVt$)CuGf|$7Jwl-YPSWN$nDY~X02J|b$^_#;J**<1s~{D=wqZ?=qPt8c8~a0 zCOcBGo?|zR_3thXulvZWDAzURT#=sBGP~Zhyouo03-h27O+rgML&quP>2lFu1V-h1Jtgx zGpk@Nh@)TSUCDDHQ*X0C_Iqb%~MC=TA0mXY5v;04!*faFuni_$wSN>01$Oro)BNbjK zp87C;TPszRtkao6{VVqwwG9C4-UmW<5y?-7Qh}H4T1)}1r^;~b-F%%FUj~l{wv^si zB+KVYR^?Ky)$716@eL(XCL4TEfe;TTG+SR9P{;f%}3H<+RHEe6gq+^+(V6~0XwMkdmT#R_=iA=wF~ z4rNpLQM_cmtvIT)8*!ASwZdOwjUlU4(!h#YCwS2s^3ONFjrAsQwD$O#?Y}T7l|$DN zyf#_bYSfr;X7I{H{grAZP>9WD#gGJjuE33d4EYN`?FfEvYeUZA6;jUHFB(H&=u}Z@fFIBO_blZb*FdxU+wj|wEVzRy>r4q37WFoY}DH+ ze99J3059=BFTf9C^j4V}bo)LIlMnL#+S44{o?b0-ZrmQn?6tRMo(ghR+_gO>jolQ0fjAThn|9kAq%rk2 zeWyFF)dnZT~#l(2FlZcC8mVO>k*H&P5N|J+0&`!D3v$QSMAo#8a)MWN}#xBww zI(sAn3lSam-bg#*v| z#&f>bdE3pTwA_NIyX zV6%a@nc_nqTL(KjQ5-)A0YsI1ejoG{(^&Yp$WkLo=;2%b8q@1S4UVAC3+#NIGatZK z>KU&}p129PK~1;)tT||NX|aG)iy8XtwW;Phw}9<+5WdXiekNoJY}S1gZH?_J8$#3< zXdXBgM8G=Kem`Sd3^BK&Hg)}S99rGk%SCR6Kb6x3=oLfbp?dG1@Mgyr2+`_yN79LC zb+z6Ro4e6%Go>YK9yZLh>f29Mx6CQu`14XNQW3#nx*WU?un|%R8_h4ccqZU5xVTmj z!le7KK#ptXN2g_M8}bcE>Il-y`)uJ<0VKDTEpFSExx1R;)2*WZjth>a1b2vvp zSe_=`?5an?xQ&C*Wg_kwn2;nDhYz~x2n5Z~Yt*ET($;#@UF{u!)W4-(jO(WQGTEbL zHI&#h#Ff)Kuuwr-Q&APir5ddD5k!F09ZZ`52kqbV>Lm@N;_z9Z5vkFLHdXxsy>I<; zGMPY?M9>*`woH@mAki*0x%z=sj1Ks4oFBLUm{GRBCfA|RM|n9;?+)8d=Q%JZ?i-Qn4@OrE{FFPxQnJ_Wf`^pn$T#5@k&HjSnLRW?(+E*pY+J?WqnW$ z7N@y7xdi@v&oEp#$Sfkuqv>6Y#L2bTQA?q!R_*K{b0&DpFc3gPy|a3?6+<$=Z7LFn zGM{}Q?j05jS}e0P+l8-F1*u==?h4AcK>><$UP$Lzb9&Cuu$y8qs*rpt?Acu!rJyqe z8k**tg$=S5m;=vd=o4*g{(zW0@Mx{GCw6~|&6>Vc8(o46%<|5D6i426Zp}*26ahGB zrMX3{u6Pg2=||P!2In>-=HunI&>|OJ0-CDiE<;2q6-ET8A(~@Mz<@w?t+Bhf)#X-yu? z&yDb^+0ItO8LjAx3RATO_WF7JXv4Dpq4-UhAyDX&&8ZO_(!1e3P+UEj+}g(aYC)}* z|6}7OA2vpG=@F{H=~$?p2$Mlcq0wjj7HVSWeFqa|H3A_{8am5v3PpSI)$K(N$$E15 zmCOn%qwT>^e#75 zVc{3@t_5E-T?@wU2R4?;()64d&3M%-*H!PM~LRcJ=s8DLH}U;~lozAMqrIrN4Sw7t<2KEV{@# zn~P`HL4p~5^UX^gvU2ekAtJV7kUH1yNyw8G;I+9fO2L>Ic%SKqt)_JsHNuN#h4H6h zq^+8#&A0JI8%%j6zw)h4Uqz5>D6sT$y;X@yhxcuY%GaVCYIo z$6oWhiKZ>0kQ+e#3d}91G|wsmH`QzCn6GZ>_C6*$arUg63FbuTg*%iW>aXcs;sYay z>rpOsR|{=@xm}hY+xf}NGv=^rb|%)W$cl#4PR3fk%jn7nzD_OiQu#$kk7qL2`oS)7 zv2Rxy-g@F*^hk^>+u3>|v!9r@HCCp!;)Mtly|qvN)_4w7+U4}RgBPST)p#5iT(D2O zpI0X{Rfbp!OoQgRxGBfpT@LHac&O>k(c=@B+miKhw&KPFWT&8?f*crK@u}Xq{Z=x< zD@FAoc{|Z}gLa=sg0lNHI+<89({<6RajdTcc>-&O#An03p?h;#f6z_rk*h{JD^MW5 zP%hpO@OAF=TJr7=lNmp`KyBu*G|CG9gc9`hQkB9GHS73*I(XU|Uq>h6#RjVyP8u#; z2cLih3E4LLX+n%161aEHpdrwF@Y3wjK0B={x6W@MpFge_qjp^$p9G)23~UAPzmIjx zMa2MY+YU~m+V}|iqRZO!$ba)a&?Nx0qwn(|==ZX}sm+$X=W)UlGWXsc!Bc!T2PeU;#!x!d+QhGv(}xKJqwTwvH!Q(A@UR3P*^?YtgyS2rUhn? zxSN9r2O*U9c~oLsE6h0;usOH2t^p(cN2*Wp2_F(j_&A>tGf#a2t==PGjiZqJazq^Y zWU#~b-&JFa$mj|TlGcy`i#2TVyRi5Gt^Is8U^PT3b?_jDO91UM2ZjnOiGLKZ+vc1SJ*?6gITO z0nyG-rnOXy=8Q1ma9s9>Kcz#|>VT@Qx<7dIB4mfSQ!$;L^I4ADTJvYZjwjp2Ni4=* z*F7K;_kOd=&^{W9rLuCZ#T;CDy}vnE9*0Fb62xaG>cG3BtF>+nB28joQU2v)X|k%OTs3ZxQphn^cL1c}KJQR$Hi%UP0B)x6ZYka!7R zn$0)J9kcUm(q{>kTy9evUHxh44q?il?>s_noA0`3gBg8my#kA5ftrz+cz}BSC|NDn z{wFBJeY<1wV2o>>q#s8ljMY&I0&G8y=AP>#RDlWWweTLOBS-X~)OW^45{}D3#i`;P zx|nyAoWtrN3Yd)zm=ytv*Vuz zuja15cnY!Jv0lbj#8oQT>UfcDdR4eGDH&*ox}_;~GE<)ZI8LNMs?6pCzvpCJ8RH23 zwZHe}O8;P_e)$%yw~igRv!rrk^=fG^avds|sw?I`KT>49b33`7x#R@1!t2b^0g8Y5 z&wZ;@GGA!-sm)Wf*T<;5b{8p#QUS=OC#v!sXO)*1{}HVvPpH(MwR`A}izB+Y#<x|#e{dlX&Ddd^?Ew=B8ua6^=#PhnakVfEECuMJUd4_S$5N!E z^=B~Qym>zlq%^KMUTX>dIPe)6vUUypZZ$El$&7;U`knSm`0_YE4CwPmrvTbVz?XW~$K=VgK!>15Z&toq4 zPS1_)zPX!by(gtoj86c05Svo**T_wkI!UYSUymt;ptcot_Tx;-eOm!6BhDRm#U_s= zc3!>q0S_n`Z|j1861a=tuU>&|t#wxSEhg3g(Ld~l?BB_Cy4(F;fT})#u7aVcmVzY0 zPV)h);%4YG;0f<}H(KKQ&QX)(NCczn)$NuL6_Q~*FykYK%L{7YLAFqNP%e{Z_U6s) znZWuanTHE7_lpOQ2PW~(fYRA4Q(Yz~O3Xgxd41>e?8@D;>_pv^&N~tTVmx?)WE(by z+?k{3-0nbtfT5a$YgTn9wtIP|#iY@h(8m{pEYrIB{N(uV4|wYPjVP(nOU}jJ#1N# zAs)4i*%i-(mdbk1S8;u6u1k`&Z_1BWrTAq;!y>HltL3#T8=6RGmG(9>c6A-sAo;mH?~ zO-Qp#&F&X1+8prPYf|h7N95u_ zRpxI0+RW&m`lID^8wH*7aBp^{yT4}6?&Ru@oPphm(3ryIkhvoM65gXIIL#1Wx$qL( z5w>^e6EmCH?WLYzwX#Jz^zLQW3fp7xh>{~HmmQBVrsC_1o0mj__?{r?`q8k0hU0I- zha98RAAY}f*9 zb%NUPcGSC^`p74lSk!PV@BKTNynvPMJqs}Gx8gLMc$>{T(^_xXMmax~1ve(|)Q-80 z^qgdy3vp{gNWHr5n~zmz734+lfTJVy=%)ds&A*i|I;iB$-t=`V;sPt8{I7p>?W^%^ zs5Rgp%`jgD9BRft_+8`QCZ83Wr6>;JDW2|5LXnT=sZxiM)=jJzG8~Bhsz<;oH`!@- z_ca!CjXRFONNo?Nt|oDBr18$VEw+>kmbK94C$DERfcnwg6BYZ2r6(Dbvwf|3VsyKQ zXfS!STQry!zR0`Eg6nF#+8aqvmRIhqf|n_PMt*J1KRGP{P*of4LSO=2k`)Vt=U1#Z z_}w}mB0evWruNJft1la5Sy=ID>KwiZp!VZ!vUk?d0mMs4y591H4G@;F<1uhg_)X=t z;KZ0mpZ;-q3+|J|XP#+9m2nAwvnq5$%c?ta`i>}HeM&}+jGR`3r&p69gz<328>s-# zNzGOJESW?3_~s5{;3`R{IUF0Ha#cOw-4t$s<-H+kXa4AA@4fP&#HwuISgHY*v+Kv= z`ValBIzqu3*)JCOt!rjXA`keFOjc;^oh}}48h_gZMUlQ)&6IF$f1FeeB<4ur2gKM6 zZbvCk_Vx^}MI5NGEIHZLr9p7UEgDeG4ryp(lCB&M_E@^m2{)o>;b*i>Js91eMD}Tq z+1Yv_^Dmtl1eRMu9b7z z?pZm;qZf>jY}W7&`GVxi^Uo_|)v)3mhBXrp{pqt6q|**hGi>}NPa1O)Iu3-p=w*dYy*K4`%ljZ0a@u(58f1E_mLB`Zyx86P~Vxj^&g znR1Bw(d>PDtPDo@QF=D~7uTg<**1lm_H_hi~3Fj4A8-`b103@bSqa)wbk2_wd6^&k0!}kdhKn5UByAB!&{CL29U>o1qzE znBn(u&Uvrv`~DxUVV-B-d*5r_Ypo3p0hy;L3A`{nKjsNIjv;wr!p^rvB;{rGCD?6k zE@9-l*S~R*5_3rR$Ot8zi;M`TQrcm@^eV5neWqRcuo&*lzKU5HB^8+U?60lUti3IG z5bsB5=HbuT!?2=oV?jpKTK2|ij`I}!K@ zb~LEgr)B`$l~Gh_z`yStc=q;j2~3qgyM+?Cs<_ny*-QqMP2G=>wsO`NuBQ3_t@xjz`>`OArtF)K9-$HLfTWY>6Tf)wT~sV zO3buo;*c8i64U4?P0bgB!-8gY;jrTmwd_jM%QO#KJ2F!m&ePb^xafhlW{Sh1gK8g> zm&ejS#T@Pv%Mw_#^KQB|h`t%&!x`N*Ibpx4$n; zK9Zu!n(eE(de+`Xsr;9(s=fB&u^bOHCL#@X9zS?v&`dt;_>>2yM421$>U7PPeq2O3 z>E=+e3~&BALP_$K6Yy>Qpl(wsimRHo@l`Nt(xFLt>Chapgf>&VEQ6Bgki-b$Et3XU zROkW2*Ph#Q{{|UAHf~^{6Amd@j$M_R#I84mz}do(M%ZCI+(dNw=zd!tUFjlx)K>g{ zrT_pDIS2~=37=KG9dVVh7U93nphNlazSw=ELOCa{4|$S7q`PvT1GuH860Sl06s|&~K*hT`5k+o<0&}a{Qq1U@N6K}8oa~b*;*bzWQ zX1{0^S1Jc^Vlb%s$G?t7Jz&?a#p z*;cqiF$wrpD^_J-TZj{<^sU1=mP$M+nT>EYakqAVZMOTV8?=BoReCiO9Xigm1 z)g(%V5w5$=4vs?e6eRq8;@^hMIWFy9al7Z{T1w}Wb40ey1?H8$#HF9Gylt(x98ftI z2aMZ#?%9CUaq|Xnjdl4sdVhFkrQ$=qwf`zFsI>ue++ayowYy@(P<$xW9bT4cGfj@` z!s!q-4UXXlDAw9*PQOv(!b;VtSG%^AJ@d*)G4U$;pTo+Q-{kUJ#RI8ClPmp(qgx+V zdfHTRIn!`E)J#IV-0x0*GGv7bS zMjuH3;Yx%7$By)2mau)~jPVri(e7Ze;^>&Z8d%!0?B&}c_{VLarrAy8(z|vXM3?U zW$H#ZK_m3rXECWg+VK>PpT$VQ1QF90J~*n6Iz_!KABEAjd424+j|7l?u%nG4Fj=FU zo84CVldC{>8YxA{$S`UO4gB@;^FoPi}hlxzN5x< zpqSwb{UOI+`mDBXOnmrP)mM~txs1p4Nc|$Aaj|7rir4t&CR2|W)m~!wRKo_|rhDri zJ!m8X0){T2#zfv?V-T?>>yUW`-K$h}1~f~~C-ZE)e#HuV>YVOqQG;C{HRgExi*%5s zcdHu(XDmJ+$sb~HuY61zDBbl-0m#Vp;2Ek}9~HKvyF}SY#|-+30&*`RHXeJ(;p{fD z0sNN*`xEm2V)cfA5JK0;#{j0z7TJ(>{PO_^aFj4t+x2QvRNJB#4$e?8R`s_3=UsE+ zUxp*@^jW;rKjV>VL^keNirA;~T2V68Lz9+H)holv#uoAi?GkWJIPY8I0TFKZf`Rw~ z-R3#_kZw*RtHdmld~$TeED;hP2;%fwNfmzKoAd;yi~)FG?+(3YOjnc2g&WT;Kc+!H=Bs5(LcG%LJEHMVhr3S;dY}5_(gw) zl*NDcLW2$WO?f46pU?;G98l@7#APLEtw#H?yDaVn*#`A5RQdaIU{_r>UN(pUO+FHz z@b7oSaXsj&-0gKR+vMtc4nha-;+t%1J|wUq0hb@8P`ACC?DeLW^4%__X>{K4oCz0A zzvz*2{as(1IY03|7#2pWY+;EK`q3XVPnV$V)TPXJNE3)vHkHXhSv~kEN zyt|TF(sR|ce*188T~--DZ7RcX_1BXpazUvK$d^4ZB~!^4>>t0o_!T66|6_t1yQ=nw z1diV{V2V!raQ8pcfu|Fpv&OxW{c^5|DqriJM@?+IQrXE?e1KBpp9rNJt^0$|5Kz?? zLG}N%0Hk1=TL4A_e>V4h(&|=*GOWGpQdc(KfJW^_0p$z~9)MW|H*xMi_AWkRfR!W` zcAUt!d)9R?*v}-t!U8y$qNYycuOk6BpHN`w?P4K3J@Ny5IH@!bS7J_N@s7`iN+2LE zAMrd%B}9u$pyFC&sJzf`nbS)xZ(r)TxR^|p_BsKIhEk}40za_czVQBcO3fXLm;CAh zVphuxA3^9=)?#Z@!#&o34v=TC#$y{F?vT45+hivC`F_~WH+AS@9Np_hB4C|>{k%*I z1A(zEoa%xGJb%0GZ&IX>5pezBM^g#o*bEgh8b%v_GjE)-+VeEYdR~bATPt;P2?FR0 zmF9G^W@$t4rguSYiU4VT8Uh9dO+I)7R8Cq3U=UeL+OZj7S}LiG{PQJzV{s3!z5vX` zxxT)1b?M27ZO&2c&5!@|`c-pgEJ~28;J%Q~J@dMR&4xI@%!JN;61n~Wq~Bmsa?%*w`5_MZ5q`7=@GS;eG~eIr<*nP?Kkl>Gaqfel+Od{5TA0qpML)VU1% z?0zhiuJ$V&e*4D+khL{12Y(5S;qm2wTG!J5H@(E4;XQN4{+|tq^~C2#Y-7n_#1&lvUW{Su(l22XKiY}fMtu@_t%KqQoTCwubziG zZiajx(KO@Fj{g9fy#EHE>vhMf27(CyZ+@K$uTx)Wccj#sgk}5~b}(~m#Tj+0`MKJ= z`j!@|bwv%vP4A;S#X9Hs`X;M1egll;&+`VJUIllE5O`*ON1xfb{NU{bBn4i$CtM%XxXb9H zSY+>pMP?P2YYJ@u*EC0&H+t)p$_K47l$lob3Ec-YzGaVm-ruY{#``iQWcP3P4%#t^98$^ zL_{QgG&=#*fGC`3q2-!LVDXQZBGi>^fu97d1*lgqiApb@c54QCZoB6TL{bHX^bS98 z$l?oosB?y0CTIXA`cVS+gD_j2jmg(?KR29CeB-Gm-&?taP+i(|k)QhwR5C5B=j!o5 z)^5R4z5>mo&cZoK7?VPrQH9|CdF1!Sam0%mvs|@Y{xG^@euwg&?uU>y;>Dk!bPfV+ zpy0J8BaDhh<6EG z3zlxZ3kYE4UzB;cl9`2naW*yG{W)nu_ba?dJK$k3=V8m(`BufD+dMP}#9Y$z6y!2t zhm=zvw9FDv>8p9bzpRB2L0J-Xrw1z|W*gxCj)28^lCffw?q4~L?2WA$AB9f_MDhv0 zpLh8v(J8$f<-Km8P+InNO7m#iL&r5aO3 z4!k@qJ}m%EhB%PjOxnVb4ua=)aH@l~S&@{y;_I!mf()h(Kp4vu0(46?_QRxw*PE08 z-C=W}+BG6DFM8`uz~G=N4>5S+O3x~Rz7+8VWRwOHfAV)1AD&oGZsd`b#p{<#-L~y` zfSCxTcpBt&9k5m>VGU5zmzSa%sa#o)A#3!ol+V>%ZA`vJ>z?KK&>s~quHRX$@q9E( zW8f$PrHepPaZQG3&nrT|MTU&^CkxQy@O~qgT!60HN*^C5hRE}c46SCf81jYtd)Xu( zrV)$hxq{^rHZ$0&f3bX&ed+sQ3ePkiJQKMtyXZP|F2IpZ5ZKD{HVAXFj4?L3Of&If$mq~Mh=lMRb$cjIO0X}VNy0Y5Gv#R;t)AaJ{z z!2*m+8TkB&d{cPWUy<2S#BH}pRuKq60gQD2xaS@$%G@waKk*5mt;{;lpVILfLvRVm zbPePJmmlz%RnJuk11WSSdYcS43!&|#wIcqzv+OXoyzL7}dn;gEjv)U1jQvJ>h#dnG4EqwMuu;D; zcU9S17+mdFX}kObEkH;+tvnj3S7#ajQ(V~gGyUzt{Hr23TlLH0bqAW*?@8@>Z_urR zZ_u|LL?d9Em;`g%Ra1>HQNVL66VBU7m{1Y<|8cR>u^GpxWoE4cz@kjisPM9eIY&C| z(@TT@@zJ{-_aP5s-iB`GzvZ(L^j%?2R(R*auHjG~aqqFhXGuW^MMTDr$;a-{H0n0W zJVf&4H@0WQ^S{EZ%xVTzJDt{wKy{e%DDW8yV_tH*>fn40LtZzgg6+7vow}-w+URQ~ zG8*;ks_d$tCV>`O<&hq@t}PU1Hu!yh@}hCG*ii5aU}GPKG&n$(Hcr_&2O^RPwH?#g zLM^i3nhU(D1kgLhu#}V+xgh3pH7nzonQxzWRvjr^VXPv|MHJV{*Ud5KX$+=h;NQSk zu%BQ+XgSTDzHwbd=Hnd*!+9}nN_o7>JofYJgFsNXdfrLWN;5bswh|Lu@07=*s z9@cAF3leX&U{W{~yI4rZ&=2N0zmR2KP>s*!$;R$)zSas!;s^F&$wK<}0(nenH2Wcop>2^L@mbzJY%YH)lTY1di7vax|1Bz1f(U>?8L_uI zfvUI}qcGoq>d%1hM}l)m`+fCVzv9yUAfXp?3nd1{;OXVHTh#Va2M5A+cx#_EZvFs7 zAK_)39*xasj)`MOT{E@jAIM}R0W!FDx~cTB>6=NSXj6x&uDY53e@Q9Ea}A@aE<{R2 z1B|{dcdi<4$JSnq0McpLZEDw}!X6F|>y>J^xx-iY>y?6&I*w1@SGDvr5-eR7&w#wig0pdY3KWM-2)=i#h4XfCPuwu`Gv6;~nWhvxN*iaU z3^wnb6d2dFtsIz|rc}!d`X=msD^qvk%^jPmX5>=JfTmKay(#|{CfXgj3NA19yE?-0P^WAG$L6HKZ>)C#3!`6uUn)GN=eD>Ni_yFeeDVT>?)bo| zdmUB?`n39Y4QmZ`n^$Pg$k&$vV8Ff)7C-FTOUM`tB&)?$(Bz506ZbI>udb-ChdG?1 zg#c(t_u3egE#giYa5iiidrLv{9FNocoo>xWAL0IEaqRm)9FS0Vb@xv6)^=m|;%V`M z^Ho^8UHLpUm3=J!>(*?S zXdw{&ugodsditH6!;x5O#qjH~Qz;jO^>FN&iI0+AA#LL!jp)F`ulOEDN;4*Wyx)Kn z?cBdeBEZ+@Ir>NoxKNj}Yg67}`5L(Don&V-d<#hvYIF}WVJTq==x>Bu5)pAMzHI4~ z4F*JY9jrsz&)N|sh1^GJetE4pr>o~t( z50e`9S18;Wg;U+V)J725gfWIz`qcx;D$%%oc?z@Mc{kD&yIfc zozw*2B#KE0PR_uEC&T=rp8h`G@sbNYBEOkE`ePlq#B1<(9uvvpO2~yI+@qAjNzcLW zKX#hK`Z)p0)~Hv-!3YTJ&b64YwV(S#-_*-Mwttm=M~s?!AQ$anO+KwX9Si0bf>j@{ z8r1}5o+lY+3B?#{v>*vsUG9f6MQ2zT-J1_$7gd34l$+Q^57HwiLPlW+h(y>XzB0E< z@6LT(xLNjOjAM|*mpXqtbP^xIj_g!n8AXZDZU^E6!0F`1`;yfw<~!{F`4tnJG!a!C z#HeF)ZQmDi-nP8K?$(CRhcPnwH_U(NY;){x?^6)>*hrVvSruJiW*0&PzwJcs__a&y zW1XdG=AJwxN0NXGOJ5b&SLD@`5Xy@s@)mx&F2xr}3he{;b3jy`=?5-7nI*lX02oZDU48e#aO~DI=%D@tID~9KWkLa*|R`kRS-wpO>iLUS`UvVgv z7zb1>2xh&soxYCKkBAQe;Xr6a7|R)vY9f|qIfVxN3Ku>fj*LT`C9HlYx$9mqC+MM~ z8imwZ!9prk2kb6Ao`L#ry%kBdVR)leH_3=zAvtRO?J#G=(gYHVRCGTE)7?g9D0tZo zQU3^wu3W5A7h6RzHR+_hWp0|4X%^u6Nox_3-NQ~PqYMl zkM1htJW<+jdGJ6K?|zFvJ`Mps4%z*`*J@4$F^GGLYEOyP)q?l0n?z)q4EAz^UuQSg z1W&SaHhB;Ew;tz;)MU#9qoi+j3)zXR)20qs2RV#5AQH197vo>u`}^`cX!%Mp^E>G- zNIwmCIu+NHRCnLGS4I0PB!hJ1V%Pp<*@rJU@ENw6H)6q~zlhyIMyENR_3Jj@w4M{` zO{8kTN!7OWMIYnv=!~UL*3eB(j=bd3V1i8OC4{Kq=tF4l637}t2*J!T1vn-;*|f3b ztmM22YLtJUnbQwgfrd4M?nukXw**k zUAA>j`1K*Q1G)-cy2hT~H}^Pa_b!Pi1TO?&$JXkda;L~$o95c@LD|pk5BTLth)deUxjom77yT>{dzt#` zg07R5nM3~$*y|vcH1uz(TzpL2gJ9O0)KVwO@T0=Y_AFSdK2!GTx$kgJ-n3_uRG*)w zgUo}P+?27TYXp|oJS;LqP*rqp_`nGy4)ZbA`2^D7Ph}CeV{;`&wYsp!Dq#69TD!Jo z*WX(-G?}U;0|E5yEOIvexaq^ zF*$g21}@GQ1WIqAzYdx=`0QPEwJ?++8zjsp0p8N=i+kw# z3qwxVqK!-0^DoP6n>cF5-N<3Wc!@Clj{Bav!W1kTmN4sreqFxnZoRQ!hG89K*tIeh8H#Ar@{f~n3*K*yM$;; z*hvNywO(rHp-BktxjqFm)E%|qa|Q!B?qfB=o*n&PE~Wf-PthHH3%ywQpt^!AJNz!+ z`r(dx$ zz6|JmqVYiJYgUEq^DqkjBe7c#!5ZD_DwU8=cWW6X2e>c^HiKR&w*V)WqLG{uV*F3-*l^&zI^&nNCzd<9wI zNGFxfGQx38>fZgCd|z0L=Vw)p^{-1Y4`zGJON1IF^$c*Gf@Z(tP_(5lB)ufWBcz1r6{>obJT`&e%F8|Bbaf#Vm^tCKoPoP5ygDreD`$W+`mMsqMf*;E+vse(|2G@F=f-kkc`{J1 z$yVd`?XDsDlDknNl21^Wyz!I}t zG9HUvR(5?=PD?iDNR<`vP+4H(w;AMjc3i+Kk7*;PsyRNn+!$W8wCzUvku+bP%r;g{ zLzmCOtMt0pQ_tk%I$QHuh2Jt)&kIg}2)b;KO{1JY8UU+~Huuo!}0I#oJzfn|+sg#J4OB%)!_jVA(1Ka3g_(0^8>Xeo| zhsZ~Uf0c|~p?;JFRR`yQhU_AP&jITerL@`3<58_-p z+c%JThmQI6I`G2~>)lNauK8fUDBgTFcJs64Bmyge=+G%CWiO^TE-%JGd`azr*K(BU z%$Y394*NAduEG48Xhr$2SrQ;17|GhB&kgP9lXZ3A;(@?Qa5_9!-ga&1oDp2#wP=`m zM+g>j?2OphCtN@{oZ|EMqYw76ln%pAyB?J?SACGF>-JBA>t`?b*jusOIhO_(5TTv= zc&xv0{Q~7B>eWn!MbWTwDqKuK>YN2fJ8V;|VRbQE>in=$^VJ|em!Obu#{dTLv95521HBI{1m6w6%c(^; z^D1sY^G`)sAqlbOG0cW8Dtd z72V$T7!4yiO4(2RMcvR@b(4wEN~!h*8Fa~dzK0@p7+)O95H2Y98nzkMaQv4@w`qE- zo4=zHDE6#6i5A)9;EL*8(n`t0;e+#*Vf*K8m*}Y#zewQpg`kzg{6c}-T${drlUYgZ z1dp3eTXY;%2)U{qZfc++Cd3!775h(%=LxPG^jd8oc7p?N%U%;>Mi5J9DBQxcM# z)hGgIAQ9V>^t+v9O&y+tc z=F?~3-X1L{U=UL_>t55t2_0_8C&jS0>@YU$p3gR1?0cQpwNsIO_4jfF3&>tF<<#y^ zI9YDVZ!7pnH7q_k1R?cib0`cJ683GJnrJS@Pl>>(S7Bjr@q;nE8il^LFY;##+#c=L z673xq@xl-4=6vzs!MjO~`SY1V4xsdDi?a^KIUqBPJs59D=3K=@(A`?t4@o~c{rUXm z84IPxSw9xq@fB?qNk-MeUA%rFRxJbSU%(i4E&l00i>#F}lj_9mG?Fd;Sh>a>zS^K$ z61(euo`zF>yfTxay%I*)Xni$*urQnVqi5}K_FQ!#5;JtgcqVI`=x=!rn)41kS}=px zEXAQislvim#j~2HU$<`T`O9gB2Ad+MP*rcPj;ye|lCNPcS6$g2z4yX##bpPBPb~aM z7{aI8p+2x(DhfIDzVTu;$7^LP+vQlk>@cPD7?Eq==#lG>to#ri;K{tn8NVCgz!_f> zT<7i_63GfCz=IBKwPeUglAXaw*2A){4jI;4_ryy(Egi2unpIYA48(Cr^j$Bdzxj9w za(!;5R3hSAmyoe1(9+!%YTxv2)yu{izX_?_;%C9dINHmcCa3>v|*t5UX) zX(hQcZ3_F5&q;WS)1U{bg;KoU_{#S%q5>}nXBX%W4D@X#bU%-voSBwNi%m}%dOm&o zyP93J)uJ73+O>0ZOG^K)F^+V2y!)*TJm{#Ya)Y<)IUhsj;53dn^zFVVvzejWE-mwY zWtX}`vE=Rr3<5{o;#Hb2tF+E;9+$;~?-ozwo)-QMdO_av;``(}?ii@7F*aK9-xgsp z0T*}*Zxx*Fk~~~(1>S}Sic5V5z&+>BRnO%D;G+_5FFAyr4ip)LobmIG=t0aOqoF>2 zejTYgS2~-P4zBY#f0F*$RC|x{hHBxGHXRA0eQ#p>$hB_l5{C+5J9$#MSkIi88au=cNysT~6`?4S#fWQOpT~pg z{lpa;);SAfnjQ<4qs&(V3hzzG$}tGs;n=rrZ_m!Hn5);X;$u1>1W#||{Ejy@_?q}X zEr4{wmw_xX`mm#K-q&&=t4i6zIj*h%H2VTC*r z_SQr0=Iibko1--{8kV96tUw>>sEKqkL$NG!JBFXRqV+`prjD=lndp0R@5z2i=b=723$i7X1#rGoXa#!|ut zqQ9+=5S-O%T(jPxkp#ophhfzP@g?n6Nuif2h2Uwrl&K@h^YeLu7~}jfqKC|t;bDG% zCJ$L1(KJqLF79Hv0IMI62S#-VE|#A}pct@GW38JgTp#epxCQbro=-wLlwwz#$o zT-It>Y-=vq(0yl-h`3WX?`U8R!|b=xFCyvXA!n8s3_&N`lu9ZTkc6U*I~VKc2~ zAzFj-!%2KcAn(Kbg3tmvDpN9g(6H=j+zM z-H_4ygL+XJvGK@XTT6`xJeuV6t1+3&!A&uL4@5G@Qc5FAU!u9Ws+M^bYtwvHj=5Ju zRS+~EPsv%&p5Qohu>VkGQNwA*^%+{OO?hc#4-#j}NjNImf0TXcrilRY9WPP!#yYh> zdTf&`EUbQJg;5ouxZ_D~ZvPO4ZIIZgQMylA&{A1Bj9m<@x#BhNE8HI9!Z@1 z&t|3nS(M=19ev48*p)ZU!7>Zi5Cxf;8U)Zt`V&ulw5M-dNpkRq#)JFcyM1E1NWB45 zV5JBRb}52%_Me)#?XjZaJ#aXWi*kotV|EBi zc-=wi6d{LxAJZZy$SYXGxvqAKdaBmVo6?L}abZnp;yrCMhQ%mx8CLk+ZsN}I9rd#&77uyK91zdqjLWXQaP3n)hlB~ z?0P_tZa6PUEx7(*U$ssmbEoq0CF2~NdK$DVUwlPdho%b$E5{S}Z2gOdh8MI3;=*h{ zPKzPo{oxcluH6f@(z$og1u>pY7UaN2C3(DpUxWv}VNZ5H<(~x{Gdw8g{)Vf^@jy%Ev$2iSVMc#8!UbSkr(dbIbtkA3aa&pXf>%@EM%7kP zKjG}L`YpJ?w}YXN2+aI42Xn?@eej1)5UQUY=bn#moS$m&9j);Zcu8@db+7#F)!0(OTSmtw2@tp|7fJl(V}kFn5Y=c^#A;11S&7+Rs}X z+J-!ZJrZ^s=b&RJrnoGxKCEof)%51G1F9+jqbI>!ojcLrB~sfP+T{ zD>Vl~3edHVh=?j!g9&dcGiQF*G|6LkH6FIrG8h~6u7~qc0Qwu%QgnV^F?m&wr%YQC zYGwaHG=XhYC)!;Y2cB5VlQbd0LcnFApwck=fG|Fk`!dD$b%g4EB30TOIRI5yX=byM z)4p!TNN0W^VczBc%&>?Vo}sHdzqn)=drtv8d;4SSyU7&S7AGU>Bf)Q1EA)T-ZUvCV zV%;&eV4HB|wfrq3v+%FgR;z78HQAg9vNOx$54Q&mX_T3ob$NY}W17o8Toyilj-pn=(h86VIc5m5MS;B~Z& z0H)s5D|WKtbr))HmMko|dq~i$e5rk?{*YC7y0Od8G7P(9ymYj3O}>lq{$@zjxsUa; z<78%n5a_Z(S~mYEwBHMdTQrKS4`xvjxyrJw51YL~t(^{22;>sX2mADcp`Z3^Q0gU9 z7QSHN_Xv=ye0^28G|0%({ozle!#7Bo*Vl%9B z9~<@V?y<2$eskx(AMwwU_dsy;yuv^z96;jBXs`_$jvn!1s{WX;5N~LUIdAHWZupGe1nUq-~5UU!-Chwsp z;?vg4^VLvrOq}N2IHK_NwnJl9;Eosn^swYBTZlQ%+?R~9(D*oa9(s(Di2Me@_A z+Vi*CTSTO~{dyc9a3^#jLxvz=ZyZu0B6MMFPb{rU&@Z$w=(N2xr<5@1^=!DXc4#x; zDzJgX#a2%AGS?B|QecHtLr_AieovfB8w3ri`x3!@{7ZL1yxWb-Q|-@XRUhXC+$nfY z8~s$3R9CKaf$W7+li2F^mYN+Cq}EL4DaU^Z-|z0O?$|<|zfC@C# z!4cmKfM37{9)$Jp??*LN1n6pfAgN~~=dC8!z+NB{(kPB(F>U=Gy;b#(s9-9xmsBq)yBEB49V9F@ zg=-v#BKi|y6nTLM_U{A1oy?G2F$^z5&0&ehocU2KpZ()s0tY!{>{Dv;q z4i!lKc4(1b9(H`jF{%0`Pu?c%=UTtAQaML82|v%SHu}SI?L2ATa1}iZ{tL6xML~Tf3p{&>B<=DVz#_Qx+~IhAP6d&cbSZnVa@qJ6ds%S|j9VJN zx{$dRS-`8mVmFuB8`4Bp9r_^6$zdwyC|PSF`0Glo(S7bQ`5YWoH*ZSw(}95BIPkKW z-8k38MlW|0Tbk3eF=aCP&K6@ie1G#y36CV0a03(Mw+Lvn#ZEwSDHik7KXMQ_l1>qr zXr%RyoP<8s_3|p*Du#^m7fHn@SxZS!DKMjxWoYfYD|y~AU$CHCo4amE2!5$K=^kf+ z(lBweJ!QXbjX@2&u*Eb97+s&)n`S@ZKzE)uQ7u_gvSE)OGz50EWZAA!!o-C?P{4$j zfq|5nHjGO8SAFMD&+E8W#K0$UW-N5rR}dL`NF{R=L?s5|buvx0T&J55XNxb0F0o^A z_`IaAF~6HldFko9U@;b^j$J!`d!Dt$RFJu58y6M$Eo6y$_$x?z=H5@%L5&!d@3^Wy z!YoP>7mZKEddDIvjZ#dtyI1?)I%{TwZjtJ`spIHnOX_u#Jo+-)8%_I$ThUDosYv=l zDZ)X)Sc?!`7ylF*PNN%zs5~@eD|3cznxZF zit{wS^4H<^y?7^&FC(Bb^pP$Q+;?+YMRd@9?*J%E+jCQt+ELo7nv4E8|DOAin8!xj zKr|i_WM*P8iI*l7ZR)VQoL2M(II$E-AJD;1-yp%oc=bbnycYer+D>#%2tC4t9W>y` zO{7RB+Fh2-K^uMBFtVVK5TC)t{a3XQLmKkK`9QcOrJuqYg-`)*_j`DvZxefs9FXHt zYu#&~@yFK@&zZd$Xvvm7Fza{9{?KDa$?Vljx!!O-9V2UB@48BKWDmE}=Uw&KmAK77 z06G;NF9luj?16a|5&!CoRzB+te;uqZCEsm5jnyD%BBBH)Xz8XE z?)({x$2P|FyES{gGfICLw2Qz9l zvNWxDhU17N&Bg|_%(3QAC-!Zy262R74>jRFJ-$mH6n2x}^b=zJtxnuQddXk ztO@6RImdossPYB7#;-|D3=n%E%A9jDxNGsQ?)}m&IxY;s&G3)MkQe1(wJq^&aUaBo z_KaW9sBoW>3y(dKw)rtaZFWs5AGm)^PL6KAA}gMX&dXz)o_AZa0KdYQmFz+hRmeZf zoW3_@{GC1cx&b*C-lpIlzz1zyJv0zTUH>}tJYQi9UjeV~{M<_~?MR}6-&QG;dLhkl zcA9f>GXew(FIZRKy>Ap{1dxLCygt9v&CK+yr_;q13 z`-En5$j0PvQIQJoKFrv`L+97$YL9g8fKTS z_W}`Ma79Gj1RHaQe|VkcK__Fo_6G7|yQ+OIp0f32X561(A zNa*TtYUGm*p>Q}|Y(>hIEE|2aMSuR)tX;#ax%tLWo|K3Fz)2icsY&j``#4Dn|=OO4se2B+P}Ud7ybQOr_dBXgwZ zUWxQ#K(70ngvpt|cs1=iZ&<;d7B-!#Aw=+iV$n$_CYdf3PmZP&Y3*d0ws*gnn(9_H z7EI)1G&Fy7jTk+2wHN$h?QN95?c7*F{NxpAvU(j~^}oqk5$=`0d>6U^@)Ir+9Bn&0 z5%Bmbn^?z3^i{q}d}cKt{dH9~LM3urf&KX}sV;OU{6xx}>n=WGFK~IDHCyh-$HR15qn}(pLz*YWw!j zOc~F3o4(5tk7u`k03eD;nq}5(12)#EtoL>+YrQup+NujaT7{!mr5%D*W!{^*NQQXl zE(zKsSVPCXG}<-{V34E*EV*UK6-9u5pX$tEZ!+y0TCmK!(BRSu>py>R1i|NC?G{ye zEx$Se3NA(>FPt3#%;b4Hk@tTSg%&E5HS~cQe(Ec1Zf-*4HBMuP6+Ypx!$c?$L5FzX z=5HDP=!^B3xCr$(4lXS?@&mvoR3#so1GF(EC)@{s(vyfv|ytrIZg?MqUp0S>n zu5Ye_6)@s_wY#_5J?`wBhGP$f3SEA2bMFqCj7f%E3tn!zmjl2nXMSS;eM<#|K0lyS z%cz0w^Y` zrT#6efA>4%Q%;N7Q5B?b)%#C}V|) zvtrE{0r}38>`daMo(32jzEZ2y-IWv6D%GNYuz7BP+|^N97Ss0LORDUB0_sVxsPtI9 zopNH{3VHk>)E2eV^?J>IJ8u$PhzVo!Vc?l&qD9 zpQ&fx?GfsoCerSTu(D$Jc`H;pcKDv&xS7Y}r>BuI$FMV0bE5Fwf=S(oep*>tOmjB% zmqzDl^Xc;u_r`ZAbMhbGNUG6(7XNnV9`Inxa1U`z{Ez|L^Tsq4GE}S#e6xfy6-EBw zayhCgzfPf%%kUCbD~o+V&b%Tz>Ag$YwqDLyt=8^q?1nSoilH-G320Dj?p(Rk4iV4grBdx z6qg42ueXE`Q~v3?{?#vh2J{PNpW(FcfcMDrt*wm?-F|T`&-R76f%>9n4~Te`K3adi z_T}m1qGiQ%h6p$2_bpo>6St`3w<{JF7Em-#&r{=KY+nq4m+7s#*u10244{+UPNQ}q zj~UySir+^AWCBye?E3KY!>>*-qSseI29RQ;GlRW{SY$mX zsql{SplMk?qc)!L`@%czgNv`2%Nj1hl3R5`S;tApy5JLsjd3d~*w+|oE$@WYTYp}E zz+*gW+xYS9VUGz3(UW2Eyq^T*cuc=IXxno#eus%yr`DJaZL`cDwbOl)wDVnd`C@5h zPB32Pu`t6||6@(Xcx-I^*JWc+?vvb{DL$=iwdwqE-Sh#oIOmCKQ`eTq(vc=AuTt0w zn6l2lf@;fjChqcoRg@zA>JPzKIfMK%;2=IT1^eqs%4-eEuDVN*tFBz{(`N{=sU)%Y zUO~DHhDV&r`__3AWa@F-v9x_{??uILC9TZx1pNh-&9~kY{jYDn@4v-@4=Zn5+4ZisYZc^k;6`&p7a+M;s4t>MorQAmCq0B8TJJ zyztV8?ppcHl^=}crt+zt5LFB?SKqXRyMb4Uj6x2>Ie4&_;W-NTxdlshwscJv2*GD; zXd1Y~u$C~-e9+#)lDqMh1nQTP-q9De&gT@g(u$WDV*GSz_L_F3gn&1E=bTk0CD3iY zBeiHJl}wu-C2h`n<7Hz~lg$Z4d8z-$)>}tay>;KigoH>)OG|fmcXxM)l7}wo?(XjH z?rx;JL%KmyLXh`^*L$Du81L_|GX_I&oV{wUwdb0<*|3V#Bz2P@qjR0MG9##Z1Z2CZ<(c z7TYRFPNrA!TJ7toFdeKWjuOt*>L6QxP;^e3ZM>6w-A~6SBvm zGeSNtWf~;wKG&tUmaf4PJOxAL#RQ(Gs2kE5-rJo=N+W7BvSkOTe_l z^;W%wCZY;+mz4Z%wR#klsU&3e&tqAMzmZiy-R*TU?l|z{^l>&5cue32IhMUb-wTM0AH{v1jDJ+0mV(X-1EBKdGEo{LOw&&$1Ojw z+O1hX*K|WOrQLqAjs`P0@|5mPX8!6EX@w`$vV`!%=#d`kIf&+6$FHB;E3%$9tQ;qc z>Z(dtt(j~AvXqL0U>15@2OC~A@LDBazI)rEVV|m4<^3lHGHMp_LWx3s;X;^%Zu2-} zp?#+r@?Cixqa<3B$zenY*mYCy7e6Z)?cnUqRy-8fsMTTY8mauSD1EiEER1~JbZk|+ z(~lemgMvNg#bmz)UOX=DK2SJi5SZ}OM1WO3n6PXod}EFq1X2VkqsY$3_}UQCgjFGi zckf|U!&e9IPaH+}utIa3Oh#zgS?P)msc>4hvJ2C25J!|uZ-VsTb*peQ+G7}AD$A_) zJ%70nd*(2qr?FaL?g~K_Yg8Mas5078Ni{vCCQfGO7Es4KDUedB=A`nS(i|r#kEUf@^N18Zc0$X~Az*L3S=(oY0IHDVp5<|eW!>!78iyJde$E%375G3TGxf&OaBswtFd7QB zgznsMvrB3#(vRhN&CGk-Ws9}%OQBUB#`g$5bKE(5mD`I5`F{PFq}-NLDR;NJY~u|l zCI#^lGSDs0CB79}NKWfpZ~5vF8p#ndDr4FNLy(q5{eD>@4A#7qM8ZurhKQgh__4Op z@HZd8`vvL{yBF@_Dro)t7loZct4EI8&9V;TC>14WtY9bQZ{eWXJdqfnqsesyU^(B` z3Q!B&3Q6x35YA6V)dG_U0>_USe`8P$O#w?S0%C+Ow%7p3wFyipuz=bARK3>^3?O-G zydy$+1N=}$2pr&-03Af&cPj^TQae^svlHnXHfRHS?sGQh`w7WH%7ktG#p%RsUmAC8 zZ(YY{WSbFLm@morjeD95XMI>e423C$#fQY=EYOkLvpBw~>*0@ZUNKRlQKKs73gbZ` zOhqOO&2oL?2sli>(<6uEy0iZK8Okb6;4vN)6V}I7>YnMvA8|QO+l>c(2L$5|EKjAC zcAGipiQh)2IwAuGk+Injvuoau??6*KeeVIDIAUlCMMKUL{OCqdv~(Z5Uu+qs%16J< z%P2!v$VM1+RevGq*Bsb+8Pcq|X#`HxwVDo797Iotvj21yh7f3r#b!)p+dd998lA1g zD7hh(AT70^%ezh}9Y+ND6>c{^f$Ch&NvN?5?6y>w_iY5)drASw>Me6AV8)%F;XGd8 z)Ni0T*xgW)s(rLl^+hLA20dFNk^xGr02__M2|TAb^IW75T;uBs3e!JlF0cjn0lo~b z1>0ayr>`rNZzedB>D~dGlNPTawL40P{vi@9kMwdqNgCcS&%fV2_$yw2{^7KZ^eJqe zU4rCdm^-U)36I{6;iB@a_mO&e6#e2D3?j00R&#%Xeg7y|xubx~uU!qap~7Yf zF<EoJI;JcAXglM5pYl0`%$BFP*%V%hoLkq~oLT%|Eclv4@< zd|=!Z8UYBuLGSLkA{NMU4|=fmw3`pipPk3pZV=QTv4?PeBD^Ha(n{1L>eyTNBPyA~ zS1xc4gyM)uZ~DX3fvBCJ4Mag3$tUqhCtj)?^vzm^Zz_fCC?jQ46V($wMs!dGp)#p_ zZZBs63tJ4O`3qFq)xBSkKU&+UWX8fXM@H91@LGoFUJ->xl3iY10j6{z9rpcSE1@O* zI*6}uRc_1|pr+2|0$ZJ*hti)&hE$L0z{_lX8AyzsSdi7s0ACsi!|1z?YKO+evt@SY z{pwlZC_aIPb#OQfX7Q3U+Ed7{#U3+T_u>Jyk#=Q!%Bqc*NRMYlLDgG5It(v6sqJ;I zz?`XeP-wWvKOg#@i`DzKwk#l$Gt735xY&)ve%qsGNT7T!$&Y3EsAb+PNIx!?{}DkG zgKgH2 z!RF>dk-DbL2Iyi7^h;nC^?~RF-Uxc5@T0~sdcbsds`D~0h|sCn5sgqwI$}ZgxT+|T zZs&xm6TW-jQP#n-whn*J{kbGw5%bwzNwO+7{OEZp;v&C{S65pV*pFyf6!!m@^xO)O zyQ)NHeNENWs?=Chl#9Hmz%)HgqPL@&hzc;FH{3=341@n}Qz#p(kE;jFvwcV~VD&i0 zyokafxDBVAe(j5tx@CNH5x*n4-kfH>n^|6dtNc9$x{Ci7o%_vC6Jv1dbIYBb+0y>>l#q#!*@k)%LJa|6D3zan<$ey}COgIi`qFRlZ=!($fBlVQ7R zWh`zArT`{IyS|mZ{3zqilD*Qse3!siizg(oA2>s5(6?dN$7kWUwqj-lb0O+8QJb@R zI_T$FMbN95aRkwcT@u6Ei{{Z=m>qn&T$eAUV$#jWqB1hk!0?Gv;Oq3t&ELl^8UDh4 z$3lpPnG*xf4!J0XX!u@5?~%0JMN6_bIsgeb7tMVeC8^yy~ZKng0vb{{dKUwBmG#TAVs7R4Vq?h_z!Z4*3BW zZ-3nV=`m!6+hLJm1W-~OR%#~u*>CJ0p@D&}<_o|RI_|iR4vt8Jq&feG{>-=2<14;fure*ZerHK*`-x`?fT`>QUEY zR7Ej$wJgWAlgC#FA>6;FuWUjUxw7J>0v`QsUK=z>!|91bKC9Vzf|@v?YUR@}g-Jwv zFHNMB_E@-!UtufNtsXO}>fy%=(u3_L z*xs^Lwk7c0c8Lqj1(@{m^9z*-3svws()un}KXIqq1wg=)^TN!?c`NbyvZX%j*!THG zao`$RDD~Q0|K2hdM?y4O-A;p9IGW4-pFZyY#EOKEJCuyoSSm={%EA734KQFY;XsOx z?&C@2gec@op=kMZW;Y`~dp$?c&Kw*>DWrGs#e^#X`2jIejO+8$Jyi*)=)8w%46Yz3 zt|$>JcjKa=fNQ`BS;0Dc1v7aLj~V~*zyK0X9jYavLOO#7MUF$8Bc!f}taxSz%$5Gwgl&f#))z(kZi|cjLS3<7m06t1$UwVu{u$N$D(9#gQ=W zbgJVWDG1veK^=7#wAkLzdf0Hvsjbb=rm@Lvb6b!Q?!wWA!3AlR4`95{9%)$KH+OZd zDwzByM21ElV2Rk-S_lFbf69xg9+buUTpsw+{u%N}`2Wi{v**z$?glMdrY+}MGkvaA z02nm-34a(DTsuvKL>u)}@a7{HwzGMQIj7k}zMuc5u4mTCnyH!ta+-l{zZ~A7&3Iq& zu{h9>5fkADocY{Zd`aNA=J%@;Ek3{fatlsPR$bOKx*WU5+=M)(cMW#8XS;Mb-s_Hs z*#;f7_f@n@%B;@)SwUV%`V|CK%WRoJ;@6qtun6s@6;=C-3mU(|7RvJ+4>+nMuoCbL zfUC^9k;SDsiNo|HtrJ-%t!yR=u2!;GX6S121aXy9(mhHPvoo_#B=yBs1B>G;U^M7e z_uGmheQbX5rauL#??^FW(qajX=nt33mUD^Tk=T)!RbxyQ`eUR7cT zn%2;hZD|o><6%~i>x{d6>pkj?eGHmXJH|4p}P}J;YNErRCqFF<& zn`S^6we~eWlekTS_HuLJh{PJg^e9GA!H)7-YTeVoV#9s#xF%;;T`8~?B)Rf~@1v6@ zRPlH*^$gq+uD2{=b6{D@^a>mfL&O5R-y-K^pHaaSG3Sz21^7}s9cqT3)k3yb+4t#1 z_WB(DN7d+B{_Q;mLS1S_GTK-bZO7$u`0m(?OA{Ul!re-o<|!JfjUu(K5V6_fTX^DW}-o3SoX6RAefiIsav=y z{T;o5JN|RR^KF4V|F@?7=fbJ_;N1EGi}NLGhppu)`WY?PXs=ns;5CaV$H~O6RXcGW z0j>D_FPUZC<(_O9jv6KUqq>l66Y7B(VfAYiP+=f3pSHy*M<{{RZXMf5!AxHj zhFgQ0VNPNw5q0W2oH43MT81INs*pR6F&x#(h^N&zgS8(Zg4Y36+r44%Z&y@tQF}`x zHY12Yy4D_&bw?ZakD=$;&Of!S4T>)+Cy`<#nUl7j&ub?c4YN?~#$`Za4p+R2)>RAu z*aW5Oq@!e{mR*%UkqacF1&z=s3b>`-YNf=!pN>V#ZlsZPhWV6c2F4aku9fs2p<4{( z5W!~!KU2uK9UHdD-AjDmaA84M1EO>|=j3>6o*UbUSg-1zk4*tr_(={M6ijAg#zxx! zV~{2b>qaZ|FSzie0J=sNuoH1|lz0DRkAEQHf5+T~*1eJL*w?ytNX9vz!Y$w9;@t|r z9|OP!)?twvR=hyi%FLWr@$|q)O!}Lh61Pwo&OF>XMi{wgmM&uEqgU7d3pE9Opziqe))d2+~V)Flh|-{uF%!18Xg;Dar@Lf zx9g;M`P;>xPF$Vo``?y=VWgHGX^gQGU!;d_^#*50Mm4_;F(G`&ofG46~vozR+SD zj^hN)q+5kwsXGEibR~W{X+A7|TIqxRJpV?aE9L*f(H}N*{!mMBEAO%hj^4sa&3Ab5@pBDjiwlN}*58t5wdr zT-C-?GD~q2YKrVs3sqV~&gQ4_mFy{`HG|QrS18qbijDIHT;LR_lZtr509MiSz?5K* zN7iOnczKPanNUOZ)GvvLFV z_pnB3-;k#{FepXRG=1ZrhV){A{r>(eQ#c?j2fTc%*T@KJNUJIct-=PSiD(VljFFE5%Qb@KMD4MZrCe$!2WczSD8`j?q)4)Ssvy4r4h zJnKsTr{O^YGEr9TXxozl-T3y2ZH3`A;acLfN5b zV|-owSPZ`O$YB0iA-;n9O+KPv-^SpV2 zE2g^i+#hiCuayBHO^b20pxO_j-9ldONN(p_&>pf~#GHtsO`pT~m|hfuFeTGsU{5y_ zc|)so_Jw9Q21=Y8pG`QDSn;fboRQb?>_`J+HZ!5NQZym z;JS1lyuq4d`oDG3xg4xQ!dVA5R}4-=Eql)@O>-e?vl=db)of2}$Q-R{lt61*5bXgi zFCv2isGi59xx0b&li~=9<6IeEH!I%cd`X8bIv>95?jWJIK6XY?$si|~z@W;E>aP9C zgirp$^(mZqk2vaM(>F7pHE<2i+BKmK&sut}0N8B_HI55Yb1+b|4OFc!F`iZ8B3W&9 zFL@WjIobV-7h%sSZhkB{?)yHi}Cu)3Tg^gO?|d%%)2sjLf7RC1_MfXSU^S&Z<&J$AblT z*Z`rmp0~H#051}WCO|1r5fw}MStS5`X|TD>87z@>a6wvwK;(q16QO%wm14V6eE`ml zlgAcMD2dFOd0!?gd6lhsj zwQ|6lJ_*lI{)+!m;yX_$fDaKl8LgAMr&D+jWksya( zHusr47CTS6cU*AfGLwif480Y+=iqQiPxu(c^m&nDc(UaQKH@5h!-gI@x$N`IAT%bm zhbr+lLKZHir7c=U^v{d=#W$w|YDc1cliMxDCk3%azbUodPoW8-%rMBun#~e(gaus zDW6rj{riT`(B2(XJpcuQbo$qpx=X??#?{wU_&~DaLhZn8WVx|rSn|OU3^^{vvSzu; z0GE!qE;R#Ic9(bWXj)Ho^6GcQBY!Tc+B~jAg(dYWTAZ1BAL~N5>V3f&B`Q)q#wssy@;Gxo$n+<@C>YOs`&koG_;R(-&60-jpV^ zw-2~@cW{d){NJeBx!C(RIU72CX6Qkb~+W zxy(A!n=qUJvF=ZfNlj{7Nuqs)INOD7bALVD9IR2n*4?hW*`2{eaIMfMYA4Qb5>G%? zShY^B^Wlrf{M1}|9ar!qJ1)}%RafWzNg7e4x%T{NgS`}|`A)v`YVUB@jA`h=noW|J zAJ~V*!ABqJ4h9;cG#VI!1@;@xWKb!Aw&-2CrJ!xc@1LIqu_-V|)b(mbXf7My#2KH! zvY{6yQ`Ab`JFG<#IVrf$3~(ml4ok=$9BU&8+}2W=^ca}WE7#F+pu-(hKqQ=}NyXhY zk_IP3L8X?k8bMaKA>g5vYu7j;u#t@{2=;ZcXNpT}TUu^?G;=85!bAufjD&edx@9hD zps)X<5+QFv52TTQCN%j$#>0hH%P$5f*rrf*cm{b{R?2PUaTX%ij>PXG&cH=%tW*!* zl)YC)Dg}x8)U(afPo~v3lvy6RnxjM`cAIans3uMQXFMaQ*dGRuKTH5ROUxYgZPAwg z_DhzmxPuB>z!0F4lCbLkCo=v)QQeSGH~b|o0+|%A7k89!Qxy$LU#x4h_r5AVz^h1^ z+cD!36n&5#%S$FUVEL!LLc&M3rX1n?U4Ya=XM8!=4z;iV(-rG&j>{Q30EX=~FFxS1 zuQA^RPf}I6)GJ2D>QEJ^Z+krGsCXw)I?|Q6qj;H^Y|dt$JBugRY!H&~ySmvcwAw3K z^a%>nOR~Sz^h;8{@A;?S_a!@}a!O0mhqki*rCYm)Zl6W&&a2ql7Nd>C ztuLp`w%5`7upctV4e~1ETg90Vzp%pO`%5sF&B4mZgO?^`S`E0iRK#lE7$)SJTA>xo zM5zQ8r*R>hv!Y*gSdQX*8-XaNpTjSH41+J(c+l(EhJ3#Z)*J3z&_JRAypiu)S{(z) z3FI9}YM#eS}3_^8;T#qZp|N&WyT#+l-n6dYBkwwG&9j^lu5?pon%C zS8?|WHzNEwhA-I>+d7ShkG>TW8Jc@x1KfV6{Uj#(U$ypD5O_hwhDetI%$QAzmaT0; zt7t4PnfRS|kGWe4r;9S`cDjyQ4E34<__7|yz=*eH%U5_nb8oM7L;E#xUB>B|H=D86 zZWud9ylsV!#L8Xc9?Er+h$K9V?e2yTDvH1_WsB;+sNf216<1n3y(q)ZO=ayWdO4#l_C%>BYi(*$U_3UR8YSun zK*|JNugs8Uv`oS!CQLCgcS*6kjPEiu9M9uzK?6EPSwR^a*y<7`n@&*VcchSoq@^qw z`7CGy?Y1`BFI6_a6v!NVP$sF}d zRTixxYoQQ(Uu7TQtA#M?eo=qk(L=q41rC4xQrPh4!zS`&Vs845{(baGE`j{GvgL|2 z0(VA1floUu8}#CR8J}=VQGc$JMr7P7VUM6kI5t~S7*}blII-tpSy1-D{1mGTp1Qd5 z-M0laFWu2D>~Aeg)tfe(-6O=qRThuBJ$+VB+N;4h=W~OkCc{$n1a2TC*UM|r7s=E& z;ps)ZvUB%I=t(s+)ND+2GcvM2nj5acQs>D62b`d5rKwTrR8g+XyCiT>m4?X z+bz2olO*Hvb4B4|udk9wf|F%Eowf*z;xl*fE+kI~-4+f3cFs?vf(^rUE2e}b8TSq` zFBnO|dF2_O_?&hKS%YmGarkKixd<-Nl~hgZmP)5%e;N(Y(OK16v+S6+hJZffDU>0I zeC2NFmikJiG3(nmyk}WyK5|XFLiBYO-9K58RN-bDXaF(b6t|2x&M@yg&w z1$bqs^xJ4=gW2%mEHnx+@OkCz*TRl2c}{{;(NWldRs{+WmpT8HQl3(>(4H*kfIIMM z1~CUOY@46Q?4(dEzf4y*O;29X_jRQ%>fe>RZX6&Y+#juP3@0u8<7w|+qk&o40X60| z9yaO;kpEmx{psv{l7V>Wmk|3izqmnTXt^!KjA<_|5opO!vT{fWO<98-8ln_Kdd)>l zvKM}aKU+56+o~1wOe>i7$!M_3H%PLxo^mvl7xAefG(k^wGYZGM9cX-M{?epnQEig@n{JxN``NM8!3)rtw5BT@Nqf9qOj9!>F)7~_ z+v2A3uO=>E*j^E0zV8DbG?&-`zm|^D_fAO9Ifg%LQ=3D4n{3`VwveR*2_&uxWhAu* z8I3qL$EL*N^2LM8Ls%b`>Z$f6P?I$kYfX?|I#T2dAIA2ZPgJXruR2yl=FWdIZxi!B zPy)~EWU_NgLH`s7@tYzV-`nE~ATaJa;c!uWIQ{Z6XadTO=wf%$K!~aVpR$=}(Q=Vl z8eDJyc_Ca9{aQl87dv@7?NM(^%NCA2Q#NGEQ&QEk@J!0x&4#jv)LmE>uXkXoV`y#x zk0AuF^K3>YOs17&K}*h@OX|-;tOIU6Gp8FPq20E^7Ll1Q(hONG8&|!~_whDLdhcH@ zz`yJ{DavSf_E|4$R5!Lr5ijXwyR6WQ-o-j`(W=+#(x^l$_2u7&-6s(!F3K9x--IP& zfuItGI{cX?Y?}t%`b0;Woa_%XC9hFg3ckzHx4Y;!OtvNB@Hj?VrJHL@L-YL?uJyA*> zU^~f;_OGyCmk3J5m-=9y1epLWf1Gr$r7|lk z^Nq2tgA#yv#k%LmfBO<^G>J~pldex;ymdQ;l-lRY$a?p#KZ_61@evWaU1vQ-{QsR* znYsWt%cG&)f#j7*rJ?3+)u)M3U$Qy!Bk~IC8=ThIc~yA8KNk3QQ%OyTK+4+fKeF^q zaStQ8yP-wEzeJO#z3H(Y2cJ8`ctM$@O4INaqZ?;}MC^oV6jW+J~9EHcZL(16967#5xjVx zwtF2@EqkF*@JTbRmt|{DbKwF+Y&P2oFyMZZ8IJVr7ZftkeNz@siSqUHH4CqJ{LzfJxPg2TkxOv!rjWuiH ztjbFy{6F@YstSN`)zRxnCjiu|APN=wi^~yx-i&o(@2l_w{1;aBXDCyw%=_klgP=tG z8^T^7%%3zw4x}ML{>)U9$cD{m>`o2>-t_oh*60f)=6-kUH%`7`a{I3GrI(EO-U4|dbK z*bL|+wLqIYt-7lh0YMrawO3zplCrF^7_m@?Y^N_wg&X3=msZsEuKGpzm1*v7x_eVk z7re`Zw=r>WC?8^C2xu%0&A|JZ8F}(P3vTZFnyx?ATkS)+Ux6y){A+tC4VRf81n#l^- z!fj?gveM`<`GYsDpEuqS?0a$)^(r#>-CXCAenZpb$QR{W)^w;0pl?7hn z62F$bCj`9R6dB6Fdb}Z+hc?#uL05s#Z%rx9dM)TQ-_U^}%y2&fjR?0oHZT_3ppW!) zx7hBTjDb!h1>u*ou$(yh=8s0ar1yHR8Z~p~U=3B}AMG*HhC9*xkac;B%7eJX)Z(hc z!lThTPzMxlWU0yqxr{BhS}QQPC%ESW03qt)9BxENtT$$XoV>W1d6cFIGuU)+5B?x% ztIvlzt6wOWbWf%xztbUUE^OJ>CC`t{^XR7+no%=HOfwdI%7;Ew_=(`LPd1u3*w9ID0-fqjLxu>6WVL^j8(jxCR{5>%b{`zciCJacY;e#$? znppV~mzhOJ<9U{jSY$;~$XCF6b(>DWU~7PM@&KFvc_3|O;ojnBES%cbqVTwPsuh(| zeY|Da@p7q)dPz%(7}zbi21=e(g|yD!io6R)@_qT{`@wc5)0hexP&MK%Zci1bfkZWJ z{caYq`pT2=|6Cp^r~`qM=t^_-$DrK-5YS)mbfyT$deJWOt~{&Xhsd>c4JO#?mmNx@ zJ&^n0;M=LRK<)2VfPVR=s%vQ?<+?h^MWA};2c<6mt_^nkWLFQS4%T?%1KxHM@73A5O-$Yht^2TY zgxQ}==6SWDszvNrjwbZ1mcpn6HYP4;FeLMSp@yWM_-d6FSUq@)^ggIt9{+$^R@g?% zb}Ft(ma!=BaHeWAZO^AGF{Cfq6f@_qUC2~E1R8&oWp~K>cDY_o{cR^#IT)+d*0IlL zT5%^Q&TN4^{D_VmdGyMzAukP1>TQdiaAG$kX9a|2h1T^KqTyzt5Vc^c#_`mV%GTQwy6aN5_mq0`BUo2I%P%sg8PSr~Mpd%S0m(f^ zQZ4zdGqBN#h(Xt|Havqk)_26EPq0>xxOAQo#bcGTQI=;bCJ4bc z`zN(!r=Uyd9o$wuj>Y}R@L;`#yDJHnyl+LTv+4s{$tB}+(~-Y&BHm~h!oVnA)$@Y< zAF6aPS~dXs=Wsk#R*^8;Tg%q&*-miou#?3Z#G}ppXIBxBI7`=r5(&8V#AA9T5$yW5 zI!F`K`?_AOD+!1>U^i3QEzkd$e7e7_GuIA$y`vw^>IdF&P>FRMr5N4mx? zu?Hn2%cL;bRj866w~FAmAZ%09%c!>mE|Ek z+J(aP?YpwCXwT>+0%e z^)TO~`~%RugWyQ`&kw!sk-PLIf>f2Ex0I1lrxg{^{$S;$V3Cl2E0!q=fR$xgL%`yp zfnTi;2NK?smRQ~~`LTGyvq4W8nbpTxF@omBZW`Ydb}_=Wsbp?^yDu#P9Xx$*ysb#> zMg2-PAHrVRx(MD%(>93^MJzKPbldWC&^sf95zi4qEBq=AtNg<09!-O)Q_a%9^sRVU z;4L{$=r{BJPnvF$VP3Rp?%$sZSwhMd;+`a$Pc%HelJ`H3zgm%UpJgEPgAO+x=DRnv z0vr>%md`y#eA^IYoPZIVmgkzw=EahfXR5-J!v)I*DoXJ4b=A(3BQI05@n5c-lQ20q zlw;Tm>UvmG5+evw9(shN1rUk~#~XV?RFhl9VAN&@s<0mh3RBS?hf+&-BU&gKnaAYGD$FH5t}=K?@}`Fh zcQZjZEY$CgObYeq)y`KQzY^$$q}HwLa&s-&fMDujylR`K4kLKh9vV9Gi0h9IVKava z!Z7Ir1Kwfu`Ubr7<6pLS{d=pz0?cfh*gM#{_euXuGJ8F!df(|M8O|V9kFV9o$y{1|q%iXl8z=8-UTwpPFN={Jt3hC>@GjC~L$Af*~%ml-g$9~up<j1P%ZcEyiMffVC#F|!R=?=vBH`{T->mA z9O?U^i(JQqL5~b<<8d;yx=ZYL8h0g=Z6az2N5o{8zeF!t(|27XR}ib0F{(tFHAt9j z9A~U6oUj+KZ+UDdk2sG+ld|)R@Ej$@J@7ncCQiVY4k4j`z3FyxJX@&HKI@9yba{r9 zz*)s=MBqB^tBLrmn6lJ;;tOSQ?z?#!4(Ed3Cm-~d@~6IyU(vl*0)dNDbDJVHeAoT0De(AsvZ6JT@>ax z49jOQ{K9&T_DCf!7CZ5K$spEOSm*6W7z*5W2lxl3r(2m3OhzHeVW^u1#t@=Vr8< zcK+)F48h^tk&CFFkQtV%pOQ_YeNSS^k;~ z)`*FRt?+O%8|K~YlvY&s8D?q_R;n|=edptudjVPdS>fSLb%-OqDnH&FPD65WabXWB zH%^~d`DFLlPz#tG7-}@z0GYWN7K0A%MW_FF`SW5+^Q>eZD#bq$ET9SCQnmSwFFOnW z+#RhI5w%}9Qj!5Xv}(eNI{%q^7+v94{oJmhg6khQ*`=5YZMsb@BYY~(_Q2rBuOofh z^{&WP&%*C%eR$Q5UWU>435)uTN|W9Nt1GgmK!#m8XFn`s#B7}+#E~(8+j@5j4U^tM zUEa254t#~Ck86we`+dBxayGg@vuSt?oxjQbz6a-gb_T#~!6pMnmv)qu&8_{89|0(W zf9av=JJ*hHQnkh!#6rf|>2vCy@0TQ|IJf2MO^R4^Iv2DfGs5Dic19UP>P5i|QVJI* z&3BB}I%3Ty$;nuBQl7>-@CXJ7N$`v(AK1V^G_*pbS55)crLIhRHJ}goItVTWkd!@+ zDIJrCIucSTy^1KJ)YP4Et~&1Dcc)dNK#WHpRDM5CI*b`=V4@bh=Usne8)`1@ff$Ns zP}G76ZY2-xCLy|eCLBIOsm9rBu4;94GuK~S%vu@9Q5GsSRa;+DN~`@iLcS5-u__{o z&IhKgJ!|sPiL|e22(sK-p|EaJA4aUs!7+)TX#VrN? zE_$ZwA^gnD!g0yLJYCBaY0zCOhaOUQt*)Nm3)f1H+nv=^nL7R9avAx}@%p>guO}Gp zF&}Ybjkr6>9F2vmrY9;-CnqK*3>Fs$!Z5*C5fVMXO@BWQcV8Z`F8`;JpMjMvk!+;i9WFyIMcG#q9B2O}bqZX< z(KP7jA0C{9kv$CouT+%;u*Xxx$wBE8nZ*4JLtS*s_9BhQvK4x?ZlBgqIogY}3)E9X=Zk z$C%PMX%x{UU096Y$g^)OkJyS3rE%#+A?Nk;WpOhoSp(IbL=>LIrtke(tg>O*2O);r z256jio5lCHztu0J4{|CI*gAO{VI{jI2^df*yte~wi-I(oazC#`1yM&lH#h6iP+O(y zA|i#M&1cV*+qz;JsT!R>V3!!F$>^i2&J%4HA5pv4QTUqA4k#>kzIjU}IHQw@wd~Z&Kb;-4&;Z_-HfFgq zcZt3U3(A6x;(<|59u*I5{xPm^eZQoRO9qc*H!5~>u6F$uptRCKyR^spRK>e=+c1gZ zku9IK0jSsUP34JyH8t_8nto3M<^bK+;UuVTa&KayZgO$Ac?)<8EZe;`0Lua4|NZea znCtxszZUxgDDK|cHW8LLpqe(=*A;sSA0@zF8g@1gUDW=6X~kT<1$N`>a3_Psy@H1M zQNc0y+Tu>N?rGc7K_b+}5qVb65P>JId*ZYUJQmlR#2-!Rk<^POTfL$TdwY}%7qG#9 z{)1XHjm8(Hi@4_|Uj)x;j2qonB!`m?6uu}4^{uOOvT2|u@yfuYe!1VWZEFcLJQkn6 z>))I7q{RJ9$##6W0M6d-Ahyj6!o3WeH0cveOQ(Y;LZWYqHhS-&C~R!9g6dp|BHi176?qJ^Z~`*JI?O&JCM4J6XrOJDvCq zC~aKDfUxJgH0azF*0>>(Hoi~9?0O{X%|8v7HOrbFsZFBJgyk=EdRFim{l-kBW^93g2 zhmeY>gBSXiR_*XeT6kc^kVS$)jq?^!v&DC6Y2$r1o_#&%Kp!Fg7NZ~ZtvW<40bR=v zlVjSB9i;n(g|vy4ILOkX<5eH$o94DT5ab#hspx$$iv{*vTkQP7wE!L04#a+4ak29G z>qT+%J1lq%`RYn^3&u6{J|)9M1DkZ#iqdXH<_4uT33=9K>Y^lZf8N|&HHZ9$CZKCQ zY|y?t?~$uoZ~gkt$@6Tzjs3|9Qj0V6=I1ZG4PukVFdASrkdcYoh z0#_nJdu8p)NRJ8jP2RiBy2-*GoT?5Vrx1Ad6$fEcYm=;$Q=TQ00&@Iker|(*cxM7{ z;cfsmN4fTWb_Un=g!tU9=b0dzl`6Ub;PDl;E8?Ae2$02%EFi7((jS)P$$+Qle99U- z5(80wz`ky~4*!Vi<%PIEmU=*8&RCtq$Apnc5Rb=EgZKP9jUWgl*U`sDv(=Cev9#(- zOD;qBwyd~oS?;?JB-wAFutgIBnIPdN9_AtSfROZFSwN7sh@>%10(B zH6I)T@*j5}zWef{DDAXaj_ma1*@Nl)xgMd+J9%iz8qq)G4xcbS?b&-&50p;9lbMy% zX?N*;|B3E3Nk18UB7@OU7Jm6O+V|rJKh@{wf%;{er8`fPgrIM}g)){m zF+w*CgmRxLKilMQdHMvC=fpx|fD9O|uBgf@Gmn0~VKaQ$8tw5sIENP&LlVdg$XT9a z=l5gw@`M_J86`y;g9}86MjM9Cf2xF)Do>4pEKU8P`eDJf<()l?)CLo#;A0V=Gw_~< z3_&;tRvPu74w5zBZDgYLj3m8!Mt9{S?odH9Po4WnI9|>4ZuE}RMFdRuMMEIzOvdwr z1;^PhlPxI}jV#=wiR>63^kI5mCF#pfR+9H9$E)BhbwFIuozH9NX{ zWK>q1{Ju7Rn+81 z&2t;l9aYkyuyB(V-c+5*q`^hP^N^GG*>s(F^)>Y`ZlII+edPOG5H{W@#@$uR&+WIa zlZW>y1-viv0+U`3UVkzTN#E<4b?n8}v$_s@b=YD$SG32fy0xv$Ox+jv?<|xCm|?q( zdex0`Q}HG8#<~XlQt`*^q#MY`GoZbbo=*8|?P~j)9xCf|H4-3i zNG0k7z=tU~xbl`uQ;z*Bk8G14_*zGF0LYx!c)`YAm{X#6cv<-Owj)*QUaIL{<~f)Ry1) zg^M`(T-ykT+CsI+QzE;RU%*!oL{ZBxYtxt}3B2&Y(INWsK7mkR6@SYf` z3K;TaD|d%6*A0a2Rz~7C1xu72HjDH!KlZXvw13+P-ybQie*8KrXZQ)mK-O_LUhIU2 zeVzqRg_gdd3a0oIXn5;F*;cOdkf3mCvSf>LaZSVo_|l_8falA`dPNFOVCKRgGnQ_% z#DKy=3apgXbO!6kmSU6waShLb<><2`!(^=11Ylo>JYmGcMP3fdVZeh4&4a#&JaT-p zpco`u8LJmf(X>D!*z$Otm!>)}wkpmW947-_+9E^9rN;^-_2X#fZ7{XkPhfpl44GC{ zT)1Mm;QyoP9m6B-nzrq5VrydCo_J#0?sz7g*zQbhCllMYZQHi(DC?sr>%`&Vyu z)~Y)8T1TDT!T`vjU##eCdcp!mS}ANR2BX=lVqBOgq>3&4b0Xliurej2v5)0E(!wty z|8Am6Tb|M~8trs|>Y%@>E0O0!8*QRjg5KFv=p8wrVy0)>%2U#l<$2VF*`%@O>TBSe zA>@sfX!XvwN^4ZE*8L{v&+(?b4uS7~%=*X?4w(_Z^r}g|12cqt!N;?Nh_RVI#{R#e!9<)MAUn2Zh*bmAVV~-~ z5^Cxk*NP%=Et3(r{{}45#Qd@TGQk`P{ef_DO1TKzSXhA$wsXX;2FLLzrU$(rIZaFT z069C91c22;{)|C2Fj zWlX6aGE+f~Pv20vZuS3IcdvQK8y1NC2AC1$av)0PcVT0g^Odf==T>Y-`SiIUUpL|U zhGX_H_!P&lsLb$x;+YoK*QmvinU5azcR@o}euj6C967enoB3|)%=jPw9d=_WZoW=11rAmI89U}t}RAhrZXuJ_TH zdCM1-H=7+2RF!4C2ZAqi%DehSx~=R`Tp8R=g5E*$CqA5h_YsO9a)Z8wCg-`4S*>T# zf0~6`R+}RT-)C7;Lg}fzb(y(mBV+Eu%+9^zVIbuKwvj=mmN&zVxFXvibp0 z)hf`w>(>rnr$L+^-|ur%{GHH6jpwSRTxo36+fiFPMo9xlLk6WH@X=u#2_mIG>42VN z^@Y09b_6D7-hYk)88APKMmg_eGkqbed+}5+fggZ6M=$=UPI8 zwgBP9$;s=7Yh`={nc@xT3!97SnF>hWR_8$5h7FUz4FjvMi7yZE@pL|v!^sSs_m)37 zhso&U9>DhhrOa{=hFv@8f-~6!OWPn(A!=hl6-)q%0u|(DF z1PIIe4P=A|62Ae2)?=Si9tIfPPJ)t^t$%|oZZU8{!&X1z>8Cemz9kEBAtzl95o3qU zS_p;oe}=A9cuIacyS-{we^C{Q9PLh0X-@ihfQE_;RdLCXx<@hNh`T;=eS1KLzsc({ z3{v1{@b$YDVrOJ@D6;Ax1XOD{BOo|5lpwMJHVquc_ z)v&2i){}#C6`S+=h(O#6)IaDu5|KAS3fvTM8b@t~iU?KxC2fUUs+6-s_yybG=s*oiCyqzj4)m!y?jfwx$G!bO-Rh}mS@C*%9z&RsTa-Q zbk|l-$>L?5Mz>e!&`RN4@7=zsTB7)t-ZCRo7mH$+33e+T)Z z!05L9I13&*s51TrxT8bA?oTYIEN9bkql+r4r&}YRsI;g%(sbI(c@V?L&JgA@NLA|q zZT=D^+R27_t0VMyJcW~GTEIy%6|I(i2)f*8gE6EtXm_)}HvI97hYY&Rt#mu!%T^XQ zkvCeMe>T}}1PE(khwq60us&MiF`V#kaXkFy%cO;h+|BjPYRnGP_gvnZs8L_JUB?aAcsh5LLga;)kkc~i zcV6q_>vZoaAwHhxb23jv0uGjEhWyv#CJ|pP<4{3d?nm6yFCtGBtf=$<`xIz|{Rce{ zqkY>b&wa*`^^g&cm;=(OK9Pt%&*uJHeFmAH+2Ps!S4a#0QQ*NMl`w-WW^M8fX5Iay zOLn+yl@w(5{rt*#2X?-?r4J2iwDq{luT%Gsz9=sZzA_NJ%H4H8FaQ zG~;iUf?hm(^v~B5iprBSNUjMrNwIDJ=A7=yclaA%0LpD2J3smziTHDcszE~72H~dr z3;DD0sIBI*73UUtRkhXf2>8s+;dZD!1@DhLuAK(%bY5g*cvCdcO^=zIv|1QmZTko)xI^C+DkdCqM6OvH`??VKls z_$P2a*-PBxNXA*7%B$| zwkv&K1m`rd!N$Un;6P~8rxP6Po+vyQC3xA^-w^H^*<2`&n1R=Eo;KC@h57W zpbVQK=7oY}6~Gy30R^rVe#01XAl;n@q`Ncq_~^3fU?F`G2}WNU&1Vfo)f^+~K0Xb? zJA|xgS=ek}yLe7)fpblgj{XS4Bt&TL-w*lfpih#V6)H2_Y-PBF(S70UVOYSLN53tk zoeQve)HL@BT2|jFiBTyj%(rm%=$e;^g|6aMS$Hjh?fgXSZfpX_zYY03TdAXFm}x?} zzi5MEm~jmS{7FRWWHN@V4hI?Ot;Gf-buGI1R$PJ6yY<;v^fe%M354_rMnFLP_0{3^*q(0!>()cM zq%rAm6y~)Y_&B4)6iu?!P@>M!x+@}RQ7cQVwl-vS>+PUj>6!8VTZ@VizB)7drmPhh zHs|}OL(iR3g{oj}M)NbX-0@JKrwoH5@}4nJL%_p1m_7?P`K6}rUmQ0C=npX}P=4-5UIbbSxyZB&a-5biCebhgOX88RBAr3^ z;ZR$1BN8h{TBlmlJcDe>fwSo5Y^k&I+MsOt77tnjsuI02P%x!CHMBJ~vMAv#PZPdV zEdD1_tv-=trSz8)R;GBeIyceD%I*?m#$YUmJpE$=H)Qq2#l>`oC-?DU2OmgpLjpPQ zWC?cUxPt2KtaHtK97f~5s_+1zl}eMI%W{3|9-JF?xUZ>Abw5perwi`PZM^l3jg8+s zknjn{0~?$$C$I#sy020;mCPy0EBZsDWQu9gUt#=2Zuqrbq6-(%LMd+8xa= z&0V&5%1>+M616QXe#GOWUra4)iTFj%q65g$FbMNXnBMmIME%t1d(znU<^|~>{yT7? zU{6*X*XgrWp7!paSb2(2zF2cbFM1k9GJf*I`D|k@FER%yZ}@wU&pRgV?jIT&uBRL& z%I&7CnFKA0Jg$fB*1iQ0Ew}r|rBis^4vJ29gN$BqZ@Fp(bX8>8paXz}>hEfTyGcX^ zMC$5U^LwZf6ji;_9a5BhYkLh7g2i2IMk?Qneqt6{CF$%p5uxl}^d1tmYVJp6ZFflQv;g2W9ly%+6j+ytYJ%1~1b-u4S|1?rVx*`PCn16^hB!?#v_S#E;K^VrKMJoDSzZuy3|q}x#-SL) zc#+d_Qn&phEqfHm^!SaWK&UZvo=by9RDsMGIk=^d$J&F8GDk@sh8A49dQhQk&uoyT zR392m$x%i=qCddTnrRGvnA`{jN~=~V*ORE1s{3>Ls)&jKJSj4F+5owPL^h4*%_(Vx zJdW6o2M!@W;UCvIb8%!l@I#?y?%T2d7cD0 z_;2F=$}nxTTiFUQ*?3$yO4SMp^-Wo8!@N$i>rqb2WSJx;|AZ2i+kNJL9U;%pZk7TL z0r@J7C0bVNurCjT4*)TsOf)H#bDGb(3**)uExsyO;?}pb z_KRs#07acm4o{mt#t^rG?nRvsJ3%TXgB)+(Ig*UNVQ)$i_p~z&YL`Z7F?m6KP1)TS z!`M9a!%WM2{!A|j1Cj^ET`6^B^eE1!U;eVx>z(489uH`wSyu(;!!-zk0GfcqORUK^ zuRATf_~m=*Rgu6m2~-q1MEMJ=RAm0kch!T?&4|czdrcNPoC@j$R91XR(W}4}C@s3V z`%f)9z2>w;G=Q{W>-Xb)YpjBT3oTM!cJ;KCjae{lCBt5^Bo+-u*mTHJhacmFlSXs# zWN<;2yizXHs)W>5C?c~GKYmNvU977-tl@#rcxl8OJ3(n7DFV-}SfJEDzT!iESDiGT zMvjzwIg~{~ja8nORy~fcSS-BvzAuGg0S=zt>U~12-=`6Sou4AC<5M~8@%TaZDER)V zr{m{LXPE_11Otk)16J|^bV-LfWxEy)3vwQSa@h6{RDizz_K7fT6%pdg!p0mS5h7{Q z`z1291vL^l7gy%Xi>RU>Cu0d5c#>M0*=I{DnIKapX{V)Bb!^Bdb_I18x=5%F_#(%@ z1%v-($zZUjHPr|_x~r_`CYG+pQs&OOzZJ<@bxDPBU);Y+v@CM_w^{NJ3j7bmq&hfe$N1G_OlR13|B%VXq#xmRKtCEW~Wp*@-I3Sr5l5Uu3wUQ#iho z3q3x2{2EsK`CIFr-h;bbg|o2X6h^{Xw;~AK;N#-&sKkQpFTie-CVLm(Z0T0%BDE70 zzhywvQuLPn9|{wLIy2~fh6LzTM>8)TJO9%)^LqknQZr|?_VHPt*tm}W@r3`Abq4*Lm!*24-^$iT9rkWJF z820Q;9Q|tL%a^MeeNis9CfcWo!A*5A2ZU%tJv}iC?jH0txjEcX-Vp*U4;4_I}! zHXRqy$3R-NB+2OljEj#?{Vt0_yd0iE;-^~21D_Gi7K zGfc0+^HhQrldAlDrym-)n>@4R@_!SgVySSA^GtAex9&Xcu8#*1)?42DcT?j1YLBLX z=nDvB7Cj8Zanz8r77Bg*qR;nCh*d-#Lv?&r_CnXRL|b08kht7#aa{wY`#2ZzJg(pB z@o(6#ULW0qfnAEwu+^l@Lb%>pw=mrk8(0NaI2vs05$EaD#Mieyx(Y%!JL-bh;`B$N zC3rzGq@FtYV+nYfBO7R+v~k*oq6S|5sRB!=x3_sATepw32T$ggk}DUR3q>ISbzcU9 z3b4@y`mpks_E=U=ox^LjI7da>j^2(j#Xo27nS3FH9n6WCmbj}oHGm$4;_kB zeR|;79(QLWu@bb65`gyztwz1@Zi=ldu*3-nFJm8Cyl{+8=^_N`)SN9I<|Ir;)N}tY$0g)Oc+wZ+%@60bu{07BR25nVym#{)vPI(N~Uc1 zTrGRMLcP_q7KC@33fuUHrm?uR9ZUlL_=bW=ccv(im4B376!xYKh`7D%+vz*^MP6k_M* zu}2y8>5fcn@cov`=5YQOTQO5D)+kh!ngOgkc37}x=Fa|KgtYaf?|)A8SiGY}tr;RO zTHIT6{-|HNdMv*&BPKb?@0rxB2Blo#xp?~AQTA>+ei`6|aoe@%NoDe;cG7EiU1qYD z8=6kgDObTdBu|ExL$i@OAI?9&9?);{y9HZt8*KLs47ol108Z+|)3QRG-)>sn9N(J2 zBOQk3Po#b0T-6jFT*r-}Gm)WCjF-EMlK2Hxhb)BR6Uv@GIp=GE+Y--jEV`t{d0MZrM>eBTd`80?*jn^*Oy_*r+Z-oOMO*M z>~gjxW|faqC0`a<6Gamk4BY#OM{RF?`!*G5xV;j2WPb5=nyA1=hOHD5vr}$Nrho`Hfnga(O|s-2Qm}e3D>KkWa68{ z9o=<7dl(dL&-jm}N2C1}Mt%;0_%lWJ6=rn1NaO{Mmn2fGxFX7zM?$om9l&D1HqMW_ z6NX)ecIurBYI1lD#t?op2XaUM@jp)vlFMx@?Vk6@id8~=2OFCAtP2;)Fp)4E`vb?S zuPCX_@`j@FSHEwSv`X?4$!e-~5X$P%lQ=9d$kE@f1HM)DlkUa1@#W7I9?7C3EIDPL zXBY8mB;i3}Nt;lpi!mhXmJ+pz`6X_*emR>$lxJefc4L!vv+Z@0PFPC(Z9B?e5UYu1 zZs(?!_iGr_tHvmj^ZnAJ0HbHz)ljjb&I5RI6Cf!{-Yq?nmyR2&^v;#m=xDX5N;DB* zYm_jsI?V!sr_#e!2AOGDL_~iaT?5n8@$cqFM&NGj?d6>7nw#D3;HsG>|2R{=a#Cm! zf^(7mLj{ndelUK!+1g7zt)c^8tY=mC)cywEmXe(WC%%wN1~7qYt{b{v(nj_Gx6-26bB^dSo6n)_UK7mA<}52C`z?pdEsXX;da$i z5!s*4mngMkW})6}Z;H12N=k0V_169DdB2`KpTKze{NM|Kup^pmO+w@#%=gH>-B7oa$on2j64;m1ZLba+TkHgI!Yi`sB;fpBVt410m8JUbzr-$ zy^TyL5gr2~)$Wc*rfns%ofEb?LxNi}zOuoM6 z&e(^E;1NRk&V}6ZriQTFiMYliWF>Q5cnV!Kz|z(~WNs8q@jY?i5z30+-IpHDxdk0~ zVvz=)MOqfKSQ0jl8-(I&P%)H`)iutX~2 znVET5+UB!+D#CFBZrNFV_pzyRj3 zNR2%I%Q^mOx4&`BixoZ~t=ZQ0=+kj6cUO_pZI|zeaIo`$dLJ-rh=N)|CVM!xeR`jd zB0`hlI*YTpA9v50K8<*QBuyN@_$5C_A~jQHgdI^d3w_Y;k+(OG(2Vzh*x~M6u;zD6@8BX) zCQZ5)M8?WpkpX8z5qo{HbRGU$av|HIbSj52()*e|z0(s;J10ic5DXQ>po;W*ZJCP3 zpp0a_1F_$%22Kt(x~NINXGh%vkqjO-`$O|R3IeN{;@G063U&HK5p*wpgVb=|jY$c5 zC)sOVw4k=l!lv@af4W)O#0R>SS>=~r-Y3b&F^qgt6oNfuejpo$O=}{iR@euE^j+^J<#MNrqM2^^kv5E(hiYFrPSNw0~eT$X9*sV%K`ovx`=c) zC`ywQ#yFbmQ?)8Z9^*K8yKmQz(`0D0l+b}lt1ex(T8OR_VcB~kavAwq%o3Zr*ClTo zn%e+Bb~&K8i4l?!|D<#=AoY^m@r$b-Z;3z~!7ORxjoiaH*SOkZQK-57tu(G0+H7P8 zk8y}gbS5nb7ot#)95{Wq#%w>WuQOaH!zz13>2rto7E0@GNnvxHo&FVgYW?yM*5;?h%|!2MCw_D>=J<9y7*@TO zY8l+WL7Ks3vmLKgTnKJ@)G>b(k57U{$^&#-QqTVtt8zd92mTjqOy=@V@ycQSOF$Ak zue1uUkaneQW>%24tWT#Cf&mFU=|(vKtPD(|vntg0Bi6G{cc;9T6u`w%fC@E) zp(v+CRj74N8jp^ji5)p4GI|~ic6JEQEaLNUYwXkN+034(4O&o>lC@vC=jp{SDiIm| zWs3&EK)Te59#D}^FIpOj7!4@xmH?JPX?bda#kHbfr|n4-N^pKsMEX&1s)Mu9fop(k zl@`N7PgFenI(!<7ZDM)=;rGHhFjDPt&f>K z>j5xCmad*?!$WwnvjYvlejpVcstZF_A*QZVlP#4we%bUbAA;HjgN!1sQ-3UKFmBH0 zn#}`TLx#Del&j$lo*y}>60Zs!a3DE^2c@MF>o5=$8o*rlSo|ZZB&;ZZVx1eJ1^$kH zlnJi}t>_813yMC;jxhWM@CZ&^*vn!Qj`#-u#Ux8hM|I1IZoElc=HahKqP{vTJF<32 z*bfp_5?!zosMU+9?eHl|!qtQt69mG4*yP5&Q#u;oXLXc>hFG&hJulq?2;M<3J^MMN_Lbb{1QDG7;Hz>AkP1uyjA-?NDB|hz*Xm; zo~AT-yFH0;oTLoH2milW0NG2EC~LuJ&UjbVBYa)v5+6SIx1TYk>4o*d!c(kGTRM4` z^`X&VvehT*Mi5dDhO_IDl6 z?*=6>eZdUr($IZ0-j45-dj3o+_3mZW-t*7nmDRXKWSgesSk42_l62x?i@@T|Y`t}0 z?lF6^FU!aYp=OQIt|0jus1oHskgz+5yO1ha9r)m8tp)z$z3Ycn=qkRp`>qk``wPCu zMmmQ0P6WFxHmq_loeA@wYBOHKlfB9TrqpD-Vh4z-1yZl!^5vj!WO2)fngy6u39Wf z&5v?lsYYV4mUaT$XnYeK^rz`}JukaORIsP3_9S8Z8m)~!7VTSyq5+a041$A`U(SNR z6B$D-=jlL{V}6Q2E#L7~vIKXly;bDC_fN~ju)f%(`a8*PDAO1Bg`omq>`o`nDoeo1 z$h+glMh8X4iA63iI;+WV)ra%u&0@OLKXpA2B{ku;hTv&2$-2>7Za9mK$GiG=asbSK z)%*-Ld{+>bk;`0F7=&QK?xoX->YeNU?Mrpo}4gjo(8yO(G*Xqi9kzj zI$yA%u{#E18)Tv*sq^*$A@Z}p#`ItElU~rbjx&E$ixqiV@T8F@aeX(BUtUJHHX~>R z`qEuTql>yZ;_meXYa)*%G%i^fRtjuCxbasKj>rhX7abhc;mOC!zj5RNN+Tlq>tk`( zB1%iN5FYACS*V(Awl-5yV<4UEe~lBay1(vAkr~ZG?rz6Pd-BJ-+$TxtV+qS<7oS#h zLJVR7ri4Hr4CTCX?N%vizvX8Z$K#bpEdzN`-o$BXqov>sn)<^>y^PZv^Q(`N7;aE@VX;uLWil(b`%I^x_26%aY&OS&&s1XwBz4%uA=)4_o~NnU$NZYz9pi^!0_8 zZ`c;p>>2c7Owm;&08&4LnsGgY+20Tj>kB&5?TwRvQnG><7z6t~HM6pncn+9-;w0pgPX+MV)2=gxy{Zx4F}}h?67`40Z}NK`B(iiX&NQP{ zf`zIKNp?pldXkA*FTq8_JYoiwm%83$f6?^RE(KncOM1-ti8VSNDy@8#1p! zxBW`cTy`MeiY-B{8QDgW=8P5mkf1*2h5h_s{Rp6?L8pA~D7V$hXF17I(6qf8M7heX z)n)Dqi}MnyG#TPVuKmL?sKxDTmpqY(6ykg-A^w4^H%p}~ zk{KBJ`kQD|2qke|yFwiIK4rARqx6iW=tyUs_f2V&THEV*W)>IYY{p(sb>4RDBU7-0 z9@T2-YUhRL=E`SSg9PL1uIq?+z&|nVH2j>)+ROs8q?d9!!j^-WxIPgB?q<=#n_D3( zCOM1ckXm2eypK}Fz0oMSlpjAj&;TGYv`{|98M|n!34S5rSk`=D=z;#0{Jr#qu|+US z)WP(!O-6BdnPjyVYaCd^_j+wD=^Hr^BLiB>ldp2#j}`H ze4j`u`dD8)EAqZsuX3j%wKpMP9mWs;X~$W%S}I4?<$g`%A8b2v=vncIH8WZiTmCNr zjMP`*cMB#+M7ZhiS3;-g7W@iP!&SL1{h0kBxtp;f;W2?m);)Vn)vu%JI&tS-;^JdL z(x~_ne47HvV{?8s`=-J1Vkr+%UKv)VCkD!rd_`AzQb-5ExoEmYT$w|iJi+_pVNoyw z;7KVgc2_YmXp+R=|6-mXCYG2H;-JFvdST#uHz_+~k#`Grd=j+CI-(e4D}TqqfazLQ zMSEh@KqKhTaAFU=A4>)Q^1WiOa|aXb%x?>xeW+Nhgim|!AWP+8kTWxx&pSL%P_G)3>E&knHp2qy(&MV3LHR1yY6%k7MBdLk% z+i%GYbm+}cGT57Zsr{Xm8EdKUn&?;0RGY)-RI1M!>c9N;}o*kN>lqa}TJtyIN1 ze03p+M8egGKxqvMG1h3@b?L>GMA4LC?G2v_v6r5YZocha28Lp2MLvx!ci|s8_M!vi zN6g<0!sVV6>Wfb3>R5PD5?Z?paP`DM-Psu$lU3erF}>IbseCzZyjEz2j^}Mr9&9JjDcb+AZnx; zwccOe=^G|f45j7nR3YwHv6|2EZR)Jwk>uTx!b9yl^;L?-ZgS_tjLY|A4q>KPx;b{w zI%#aZ#KmE5kwv1dBsH8oD~>b#RMGK1p*@3_!y@Cv9>K%Dce>}|ksH5ElC&lz<|K%L%SBh$uOti6yl(j9Hd z|LI4$pqcy+7e+*^K}>hI4!Xz{L9+pSw(EHRd;V11AbO#_^%-LpMmDrHV2T4T?1;qfSgeuyJ_(nz26G|7! zYy<+}0*gDF;(a^9bqY~GWysluKc!Vmw2Epp*5H3xi4`u;UTS)Vw*oX;{BEagE7DIn-Ow!tH7zZg;$S;!HeDOn6TZzGAIt;2`DD1qtvg zv+LNkp6k=CoCr{ zEZLvc^h2^bIQt?2;S$3vZ_6<;f;^(bw;QYbAJn=?lG znG{u;c-o!R$kBM8(okUDN>5diL6j>)YZAh#|Ay8AmAMMcxL91^N#iJqLgZX=|TtC1a&sa@@8%=88Mh-!y%i0-K12MC=JA0@=d0RZpXA@=x-`PnQ~)+ z@TWeANP?p2sdux5O|`UOKq{BXJ-`1e9b$*=Njz9H2W8Jw;rH z|G^7w`f;V4oJ~4|bH|rUwS*t-b=xShA+%{T`7+E7d zYtBDTLubT-NXX0?Zf!mqg-wSiss4scQH@j2!5eCDqW^2Qv}Z}wYhEJO0Vn*$S|p49jQqvI!d$k-9tOv z79ffj>k(xZXc$VDsy4{hJ8rcWol71rtopeN;cd4=`Cj?Q;;6~%IytV?HUC8B=x^l{ zobg`ba9pa1&ORNv8k+2X!MYEyrcd2olJvXgV54CNnXEDI4xV_rJscCxnkfW=8uMJ+ zbeUmFrHYi}kjN;}=&-#TMmimIR6O+4zU-qPoqJ@q|5~Qr8I{{Dg>5=R#5 zz)RR#^OqI@aF|Y_IcwghinjZ-7gK1&MSfcm{Vc3kmXArNBDvWfDTMCPXE*|k zt<-3tOfmsR6H-jVjm(aJ!tWRL1u5v|VrE0}R~5t`eg!y#aHoqEI6W4`ermH+CMkIU z^L@HF=%CRfw1M~a&oeDvk<1WUNk7Uhv?5oS-PapF5M5@SHJ6F(#k$)*y5x){En|`9 zJ=A4*RZBxu8Hn6Cj@gz)TTeE?8w!8WRYQDDi0@M5c<$y!C;FMxj?3!2MIwyYG$9D| z{o-f*QAqxE9+sQ<5_~S^^AgsxP&l^9%q|1n&Eh2%oKWMa(!pjb8+h`CwC6v_CsD5YaB)`43F|K4VwnWj628oFoTRUUlvSE&h zcMmd_U_EjEjzhEgqnh6(Ofa5aJ@^JzyL0G2Y{a$&lZjR$27DKnl-QeZWq0#>fHTnf|3)W4 z3pOu6Z1Qc0;x3Fjs`;?+KM+up9Jx)Q;*6xi05s^{$U$pild8L-;${()l^t8gEUCG1 zerCwJfDkB637G6*P*Pm!ONn~#=GFFP7d(cRw*JF!(sn!gO+&h@<-24Tp=IUUIX0_! zvwB!#^ZeDYBnDp7sNEv*z{XrQEJd^JQa8%Dt{Jg!v$h~nYql&nm~UMG_GN*P2ncm{ z00z3K~6j#or-WYUBE zTBp;3vsQJ*e|`s-wk(C1&bKJe$Lgu%bts({@3VL>6G`g#QiZFA|F&!-R(CY~SI^zy z=KbUSgxwZ;i;D-D6@o#Rv_;Y5c^gd-=*6-UwW=)sQ@lF~bbTg^{G#Rn*N9k_7!F4G zTQ0c`x6|+rLTEe5f)CJ!!>e7dP>YIN^r?CdP|NzVQ2?uMaACqt5W>1`?2(F(RqR#Q zS(#n#UJvXXPGZJ5+T&IfWy$w{54WkW3+?X|bo)!<0(|z^u2Rh{4b!Cc6ViAJC`(6B zln4WsVkD7Kpw}vNXE%^w=?CeYqy-6w*yQsj+PC?fG8H--3L}6^M#XFuo)h$*$;vu# zj1*@$*HVEuUPZVRZ`49C?`F@rvNoi@rxeH}L(nrT>^`7;VTKZ66_gFj9N?GOwj1AT z{9AU`{=*@o#uySi)(RKrD&4S0iga+a-@9ibyoj(T;ovpt*CqCJJ!>X2u}|^xd;L?} z5&f+2l9eYAmegytGAHhXd+HOWEt!~eMMA`df}-nz8@R-M0}0O&O+JFhZfS#QD-F4+8iy`)f|&Yl{Lv$`(Q6)aHvEqyigR9&>sK2Kh-F_ik!u1T+8- zN|9NnTD+GoK8HMu1#FLpMDzlz`$OzOrZ6dK4zm8T^!3|)uRqB+ajh^{IrNYuIeA%H zUS;1$cTvi;4_tR?>yU=TaQ7!43~3P9$jND}ZpxfpMY#>BzZaz=;5N#?U6w$FF?or` zc<5ad%CeCmdUMX_;DkFFOt;Mpprjo5Wo59l_ zN+#+Y53hcf3#vciklnEFE2oAJfC z%P3~vgfeQ>*XlKmQG~$dSXVmrZ7S~JgPl9R%F5k7+CiCI)!AMk66eivX z466u~x@o{^<~U&nBrl1t_@_Vie$3yQgAY^s8tmc(6oDjXtoxhCk+$XII`Qq#3m8$I zi^gh#KYaz0_LthOW}7Q!pB1 zWmI}ulF5CQr|zapFRPW#_z7`e7MT#3G-Hen<+2T7C%{HeBJ0#Bs>Fbnq#?N*H5u?z z`=@$tFRwB*xnQ$2g&cxulXqG5mwml2%7rKJqL0rR^TLGSd;uXG4WMnRfo>&&4sd>a zP}3oYU`WMy{OMalptLe<9khlsbX`#~ z2u(_P8nXTyTNyx8x}y0_DlY|LJ!pMWecZ2=S+)<|?C)IkJyzlw?PI-#iZ|M(r|qYx zNFoT7%w9xfmQj#WB;r9LNA7yVplz*T<0&8rDNbTTEn|0_Oa#-#?~1k@3_NRs zScf;|aKjrzML(Kl_i3-(Cy7NK@G>?0e!qJARC5@Ni zRG~~&ljXAAKlq9o@TPb}-=!z*#%lseIrpXGRSBjHl60GsLcD2BgE8=h8)J75bhznJ zonL)l9`k7D4qvOP5mt3SLwVccY!>s7d7nR{kLF?-k7^v&UEmBkqbYPjp3}{OL~AZ+ zV?$D!&#`3Pmbdcnf545~tS`vWUk>Tx&laZT^J}A1Y#v3I+0Yw(nVD>KM{D{O{A@U@ zNp(=HhXYA=9Wg!NI#H**@8wHJG0@BHJ-=?rzbz$Ft;9Dt-~9g6xqdu>LA3c1s7x!~ zIjT-UUwBE>t820;fG{xqE$ve#odJCD_yEf2Lx#p=mnaMk;HjAcrt%TLb$lMRHV+dt zdIP5;Ty$xqF~ymyj+%P&$ECLxVK0^;5ohW>YtMD(nQI3U*Qr+pYMHd52wxrPaOiGm zm54@#mU-&&#wNLXQ1Q-NCODvZKVU8|h8Ob7FJ;Hsg7iKTb|q#n_D|gLdzuRXR+Ng% zR?)VzH=j%PfjE9NCVVpTuOyof^y?g7mGQ)nlQ$Sv7N9|)GOyw<*u=ZZ*IU?A0a*pW zWvbIh85eV8rK-GN-^bd$~(o9k-UUIus0)7~~EO+1mB$uNQ_u%LXT)s!Sri`M& zS4I3+&x`(&X;By^xQkpyOUNsOzIemR^lR~43ER}<96mE^7klz_=~!g!nkTuekFEHl zYC4nAQ@JRf!0HcQ{4LBxoj)Thb*l^(bThSU^>d(Af|L5LkI)2zp$|BwdzxfFvx3CR zt~XOuAj(tZc_GS~cq^HWLFrr4d-M+F=j`v97dC5MLsKq1Au`85H>?D@738Y3S4e4+ zeppd6ZhHTFXVX6J#ix=Z!p{fKo| z(!3#NaAE{E#lb#~+kfO?|7mL0Oc5rlqYwI)5gx+|!7JJlDHd(a zfCB%U4PJMhd`O>90~INi%qx%1m$P?lnW;jLJtqj;b8DJmtVTf}YYKQsrw3UDGg0ad zF0+2ukP6Ais=xwM%g!ophWmfB0Bp)e8N~syMEw+)r2*D149ah~qHj0-H4@XT?dp@yL1m)hdQj{%rXIUk$}PAsEwWTRzNA)z_J*k=779;E)R0 zHNRO^`C37{S75z02_R*iGLr51|9E=Ks5-h}YZnLv2~Kc#5AGJ+-GjTkJHg!{IKdq@ z?yzwP8eD_ByTjM-x#!&fFh-9(x>i@!oby@b3LHe{5LObJbc;!u3FJFRBi*Yyxs+54 zgp^nvq~K$^`gRs|Z4T(AUD_m@56VyFsFkEWL(I@io}7^Put;l}9bYGYHDg2wU}IlT zg+5_pW0wMX1aw)+8SJW6E~*2r6o$A! zZ&)kjB6#UQI{^@yKjB=&!F#V;X`T7?hMG~Ny4I6RY0?^Db>#4)toyCEQo9pINfZO?M9=VuHZduehpx(Z7cKzly6US#YzOg1xMqB7_<*_%kP zjm^?J=RvP<(Jdoxnhh!zLP*<7;xRGVo^ETs^=Mm4pG7s?BYq!~oo4vHKn8yI@?%}= zTI2qffKcN{r!de`h6DKLj?~)SjSvlnYN6a;woT+t#;XUc2ug7v(?~&a78_h&Ow##N zvD0*M#wrKyE}vcGtXpDOB*VKwYH=bNTRm9@ZwYG1gv)^jKeasxLMwZY8A>Kn5E|lR zP^+$6`#fMLFFGd6&V*_S|8Ox3v0YKJLy1}|p?AXcvHK^6QDHB$vhQk=3HeJB?=mEX z7Wx~X6ni>7RQt#9#@Ixy^r%md@gw@iy_zA}j4qXYxjd&WhpVdl(PgIXnmZtHx?5Y< z;bhbIU$nQSjnP60tirRMp0FU|^4qBaRd&&i@&#%Ko*E++$ z^ip4#uwI@H{|J0T-(D1mT<%ita`GU2KV74$N5cGGBlb-vD z|71>zLeYdIH(3{Up0NRxopirm>~o1-b`iDb!UY1clL#5~pO}@2#9dg8drvo;*QyNXlm_#XCi6irs8lGhOzTlr`>1_4CFOnNxvEf3phh7S{bP%0d0>v(rHkrG{Pu-7pa zyo5zbEI#Am4o9I?z*X$VDBpN~_E*Nx>!_gMD=JypJ7MD7Pg(-bxBC<{!$_{r#DJh8 z+g{t7Y%^tM@<25|@8J~rR-}6QmrqM*=5Z76$xn0))v%2P5BBeG4?_0CiQ1IziVxnk zMGb_s{?7gw1Lb;QCn7Y&XL4;OV91lBsIjb{Dd&Co7u+#j& zXo48F=)l^rknYJ@zXzOUgA{|jcHYPI;nI|l?fF{TmnAlnp53Brp^IVijifs}ku%zQ zF}b9MP@AtJi!iUEHbi>LND2XR+o%prhj9x8Nzwe+rea0#Oet}Ugk+y2Q`$+YO z41-wxttc>ep%=gC;nu^^8j$Ow6p9l_Xx=C~8b1(J4ct{PKRMN>~sd8`h z>a?PYx15M$!M};Nu|l)2lYngw{12by7ewW!Kb}3}4}2bRm+*};Y*O|HlI4OXPXjEa zNXlA_L|^EeLA)-r;H?+x&-@soi1#T{aWSP`Pxc1TS|wzaUvzc#?x2^x(gM!*up&JC z@TDcKfuSK5Xsxi6XHgwV#kk+cVp6pVj?T`U&(eY}#;!?!YC~S}FmXrKILVpf{64O7 zc$|I!LD^aK&ByMgRguldhzhhaI5<+ncxbIyMZmbhVUkLc!05xdJ2@uQmUY;Q>xyAy zj;@S}VFfAb3ARF98n6-y1RRo%vpOj{;#FncsL#L$Y};dW0U|Xl~RQ zHtuV9<6_zFm5Zaa=C}S=eo-d;bl@%qyjy#diLIWEOntRrvXUaxI}sc}UcR_~Z2kf> z;-Hu+U4Y6k^`DP>*KF;u4#9M z@#-V#sUlgk9DL|GhXb~ST?KKEz}zX)Ys-X``CK5O1f zo*OSSdy6XmbGs(65gDWObh@bSWYQq%i6S4i(7#Xrhn||1w*A;I%G{UwgwC%wh2WCgG+1?Iwtx@);6FAK}z z=^K)wh7|uePXQx(7{~NjLR6(*DPG0jfBZM7Uta9z45l=xV8fYZznvO5L%saUWncQ+ z2Vx(IXZtm>g-LFGSV6{1D!yWx?lyDz@VWf)N4)~6r*);hg#UXK8i$2by(?NYvn--u z*AoKUY6F}s7Lmgm{eNq$9*5FDQq| zN-T8RcrE1aPV@P$*sss=w-x0V#EGgG-nKEj4;C+g4SX<#TRt_Xg{rFmo1(Mt|2+!g z<&agN?gtN~#=$B|1e&2_8V7+I1@=SHe~$8OAIFJRKwST&j=2^XcB}t$50JVGK-KQ5 zKk~;FDS1ALA(P|lC7y!_X6g)6eGj|S6^C?J>@ain4=}>rhJa7P@CScraCF=VC6Y_m z&DuT9j}B%@P2{_&%tHFA2lVQ0(U^#kkr_LKPsncm>M#|KZ)k&F9S)$ktFP zx^q4~nI-5b&2Bpj*-)6Hp5TGuO-L9HTSRdsHYtorP?Y^b1+k)PJM5}GIZ|% zdbm8efO*@}ld7o4T|CgNqOQFiJU<9SluIO6%qHS5pGd}|yRM51_{Mb;0(L`ZiG{k^ zDAWnjH0ZcS%3CKVi&iR2j_FCej-{$Y`0(*Df=5PxrH&Y@kaV%ObIy}RUv%+TuZk!N zBWQHz8ET`Y`RQZ=sC&SL^H_*(n5@g1N#NLid!$rkY1E4i0#^LsF1`o(h3XTj^QP>a z>^pCM{`EvMGnsuN2KnQ;0;Yh_&M&=hKCaZ3S!YER-^EFk$$tMsTk+PyNP^&Vx`Fum zE$c~wPav&9hoYAs12Vi=Ihz;-&7WVR z^<#Gu+Nu^(!j7o%pZ&N%r<75%p&VCQrnhD@4W5%eg zTCN?U2LgZ~}JB*zVA-U9e}p4b@p+@7;DtuC&hQ z0;M+oY=5JCv_p062psBDnfjDmEsQcRqr7z>y%bic!=&_7i$E*<{YJ}qx89z{AYO+@ zN!2V_zB;*V11jYrI{i*nC8tQ&H5cCV;uyU#^-ea$G+yX{~5B6A=*_MgB0 zdpH6Tvn)}Xj9RaW9`~;qn=Ng`C`01?T%?Cz^_nbqCL2+fY#M38yV;)RpFhv%MxoTE z2IK*@*}b=16XVK13^w&qfa=hlLmx8<&Ag!TJPd_9`R3~qTjFcE!Ht_mr@Q6~n3>}WL-8#lY!>a{Z%yOGGe zCrM&rpG+~_Z$)bgw7rfT{R2=D(#8hKOE7vxZ6=LRs)Da+DbS6lj;fXO(RwPXIz@s9 zfCw*h-5$CI_EzADTUm^I!0UjrpYy7jZMrG9oY6uZ+H=%z<*g0WX%ogFTMmLuC+ipW zsys{XQcUh@I7Yrht}kxq)_Bu?32U?P6Fv`cJ@a|>xMeaS z@k%Q^vA8`JL0%(z4)^~I`^fS z{Yj{rx{_NId?cp_?zd5aT`RaW*S~7-Sk|K|)WI9@_gzU6$Ga=D+{_oK>T6;n78goI zQ@s;SWgr^4Dgkko;awMhAVYdE(%Jp;Bdu}leAB}iQHtPHLNxHKqlC-(*FF&m{uPS| z+7n>hoPB-S$VvVfD%K0>WZ*A-u04s)rfh9fKt{q*jm-63wR6%0La_hUm zL1v9g)XD1zQ9GNCaLf7q3r?fFKh8MC#R*iErCQNkv`z^ZoMwl4;lpfswcJ-`c}*+{ ztKAXukFhABtTmLN%u0>nB?9Nwo#xSu?|NM5JB|TTnYs~t+z(@h12#JtZ9PG2+VadU zGAye!0mLD`LJ^;;p;d5SJme#^R@)Y5F4wJM_AdMCe*5yxKT{Yg57R)F+7>&I8-5>(ndu%d#^W`j{^M)k+K{d<>nDhqD#vUrg3@Cg1n(;5tMb|dE zzWm+E0YxGw9wI?+lWIY!)(Vr8a&Fq1nwkK*#GcC4Z>J}~g0A~`q*fU%F(NW@-uLH- zdRlSLU`2LRAQq&KoGqp;CL|{0dv(*1i()(VLq%fMyQT>(OHSC-6FQ*%-r*QTLOm2u zc4oAps0oGntIZBgqDrMP;L7}>ALMJwYL!O*)aLqLKYyXRwzjU+sD-w#gr1M(diI&D zFEoOCY1_I}{n1+xq2C3z2XmVl3j)f!4k5J%v-nf6RP>I+=&)c->kYf z^(LP;Wdi+4Vjm%cZ78;i$utMeM&u+b31ODEE9-pH{QlFj{ABZTa9R;2x6xsc0)J9F z5A>3tI<-ozL#FRe4@8g2RzT7dl|&$B1LG}3+R{H7W1n!b8rkA60>E$)AJW3VNsI?F zdKNr2uq*pMauw89jMQRr*{wKr-Vr9=kCckS@u)=8u-RGIq;XW5gv0;gk-G=UQM$Ra z$~;IEiEhZpFt|>yXsY!4E_0F*_ziBpPQ{J#!Cn$*vAbe?dzW>I2&aEY81H?rz74I!fAH5BS2{eI!qGO!4W#DOiwq~%@DNY@ zvli@gSpSy<^PUu{-v+lL5PE6zR;_EZwr zV_us3Q-@>UF`dL~4~LVhf1V)HzFpKptgz$;7p^uMD3#N;Y;OfRzehwz9x%r5xZls8 zEZ`F8`%x8i`a^FvFXF@OONR!{3&w=;X%6Fspa%mlLgw$ z#;P8%F2z()8m!l}q*gYrzd6~QAnfn%sN3J3SEp-KbEdzl`vc{A(H zOn??fWBuX>2{WR~PO)AXu}mtiQP8%Jw=XV!BteYjM1R)l_dpKxAhMq~DhaZBF>}s$ zu2Jkb9j=7)HhqF8(D#>9i^qXn=-FZj34klDH>fajYRvl=MoljnXvcYNp=M*DHuyY@ z5<@2$!2Q+Xm8Rve0ed3sCw|*Tx!7WfvJRRnO*)-D*_@v=_SdSuE)?=M&gQ7w_r1BX zWX}L5XhHx!S86BPf+VsJmBGEu4!yM15eDXq-+%eB$iBNO-dKX$W~KQGbA3jG%rr}w z049zB{@~g+yz3*VJQnc*!&!kH_nFPwy`mSx1j8`YRjDLQS##EVbZ|3$G1Vwvj`t^8 z9h(K?Nt{^|<)u`HoxXU#E!>34rsE@DcE33i$}A6X#tT{k|KC~1UfYr*QqXP&13f2K z2UVt_0=VeTQrN!qBa!-GnG&l!eAuE_>~bhzY8C{mU#0%FdhPIn*5Z`&4yqd2w*WNR z*znnhWU2Lt;TV=mErUSlWd(^!a?eJi*y_TK@dQ4sZe?*#vP;hdpafTqB@hw#y1md839 z;|t{db9o1xprnDYfNI>W6-4LwzIh0^+;_^mA_4X@PQ@&Jo=?2th?kj(YO9ESu@9@obh z$TdRpUEQd{q{j7Y&m|+@(a{z1c#y7t{eiFDB|=x`%Xcb09#M_aA^l4LW&1)V_;nry z>6=}fkj^IG1Un#K*|7wTo1?8t|AZLp4+#>d5DOG&-{aSawMc%Z{i^LrM5TBX`C9Bk zDnFExl=&rPGSu4+n9q}t0n^kHYS6{N*_)TAJTUh@)CwlziU(H%x%m9+DP2}WTUUbi zRP@>i!1f*cdX4EvuQ0Qc7H;2b9f{T zH5gqq#8tMU{tt%=n(Le*B%Ifkw1QenrGh>Px2`=J1|9^ZRWIo5?A{keA~fj%NqQA$ zjRPLo1duV&-*C@!zJ1`wV3KcHZljF4L=IAm5bMb$mY)e5v<%pFFkJoC@n&6^6*U48r}a`{nNx} z96I!x`{l?=SO=DC`Ip6^sV*DmA%EM#Co+nFe%T*I!Hn=Am0itk+30*ErCK(RE~-al zIvW!3pIV4*RT9msDxB_od__ay2RF~JkGlTnmXz&s4w0;}QO>)79Kl?V{sE>lDF&i4 z*B*UZQO9+>dIRpIM~q(Y&Tt@x-wd*Wp=l6fl;woF&QRf+qZ=PUhI#_D&i8;?35!Ea zL6#fTGxdr|d5phDfC==$>)cTjq~JeOLa~fMY^;lB*?8y_<7aOK)*LscnasIj#ln0Dul{bw`B6NGAlz_xej+O3BbP-5cElp#aW;uF4sfw26A4pXh?2A zhE09bQ)3(c77hbs?>S7hu(VUf!8TC+wyVzAt62ANr(hr))$Abl+*!APg;^9{FOfm%AOk1C{+m<)%$ozK z`atZmcXllK>FE4?2-PGbKu#Qv`qi+a=N%kRywQX?JH}K56}6m!+w*TU<_FE4W*&cZ$ylxv(>4 z;9uTTlUCC!PW_rvm)GieFn8xUe+dym5P%h7WxaB`I#l&$z4_R6TsPxtr6^Qgtu^i+ z@C%}tOSI`I0Qgn}xBcgZ%zOQ#C?*f1 zpqp_*3WI?^U@B;1)wKnU;4Yuy&O^ zH`WYF3~%qyue{)hX3M~VN+#NfgP^s3!i*NhBSLG<RGF`=p^ zla#9@dH_k>o*eW1@&CL4Fj~n;vcEC%AjT&6vQQ0|{r@s*cS?nHWR#7oY_6mdofsMs zR%1a=P7<(B5#D&~psIJM7L%D6h#I%-7`4P{d%PxDE-k>!*EH!IzX^9BtGG>mhAXoP zNBW+|Vq^zZWsjmNnub{mA?qycvfd7$4BxgO_k%1^lLp{M^}oSIuKqMWyYj?~Z7vo#p?n-qr@ z3JMpH>0uktBE(J09(m14Fo1{Gc<_d)9OzWKKKab}jZ;C<^X>i&-?+d84I4jtX^9)y z0Y6-9oH?JDDezE1MHqqd$%?GBf5q1fn}t-xs13X@-dBO9f3@Me8-_t>HxXVJ1@IC33_$fL3N zSv@z-0c|6p(o!R4c_G^5;eTZBDK}w{)!27jw-xnWT^$~0*cyV)P{idKL%D<9cgT@saK8ZW~-uu(fTov$-vUd@b85Rwa>Uv!ToF%{|?3>?rr z&atWu&9elCh8c}d{u@bJoL)@n{cyO`KGhMUV?_x2B6y~ur4|Jt3sA51sNbYvv;dbX zFEM&1MCBK?_(()pn2K$}0EU(ato0d}gV6RQ>feU0n1k zY*nNMj9h(vM>oLr*?s(;cz`cwupWsgu>nHV*3e-|dyR>W>|HE#_}`HuV`FFZ&QnEQ zLsNO7##zQ~NEppAWe_a9rM|9#mhhc~6dv?rmF!EPOrSc3CLE+Qv1*Nowx=f^odIZ1 zf_K)nN;g zJLmIvepvUbA)BfX%B6nds4DawvDP@hYY(kYzYpfg{vM9e$c{&O^TO(Yiu)~dqjI>t zArfFWczM?PykQq+%4_5y^mc&#umR2#dIyY;9^*ZhB&Fy-{p7?KlY^v>w@*U`7l)l{ zx;h__RsHoQ6D+Y|;^qy$yk2l>#7(1`VCxeWPJL1-cef><5N2_idB0IHqi*3(uG&0tt29qkR3xrbKq>5;6N1ZZ5j8T@At|e@;=_flQdg zA@~f%C3kBRvP|e%Pw9siatmoB{KfUI&KseZB)Y7BE9d3`mjRu7J6;Xl__S%6M$x2N@(eJNR>4^X4vZ%WX z9)9pUOF=PUi>{&?hTbecLu*}m4WJq>-fhL6)Sp*gQY5JHmDrq>euSyS$~cCM;xU)Z zK#%h9-(6F*wmPF6x3=z}yUQ<&THt*DzXsgb(~|r3MDbUnfbSxz=Rq9@q{dE3!Wqhx zkfDalGe?(wJg?DaLOXPLFYCw!1z<s--=oE5(m%v`^fswD+*x!^7mcPY;AFe_0-%@94Yz-@+V1An@^rDd(u9yvrmo z$f52zk1)uGtmWvS`rx#V^K)()_H~T>$Y#_j!4*98A>T8uixU}eKg?vv@b7sLxg6GH zls4;4CxSYkZZ3UWeXkH)42n4=zk|^|C|Osvs(#^fJZu@aYV~1Df_3ly=KjaBUi&Nc z2M8_|Vtc0UTZw6Xg#)n2nJ;9_I`Ncnk*NW6q5o|W)=o4{&_y=<_k9%_Du5OWtN|EN zxyi9S#0SIHuq8(i0u)w4MNc@G!WGx}AwtIv_F|njjxnyT^l;p)e~@iN)By}c$NRYv z3qCBOzI&MMB5)h5Um_#%1B~a))S8!sR9~{cK@@;uDsz&O3G%aO6g^9u!F=8}-pS}v zsFOg(X0IX0N{0ifcvNRyOks`OeSk#C7K^WK7KF$Xfn;Xf$f^Y~bJ06{q5VPtMdu!5 z$9CS(>;Gm=1tBA6a)32>lAG&cfkM(OpWrv5jh^U(_J#(Gi%{PJ<|_=to{UC@l}um& z3){vttd!FFCnt4H@6;?^oB3#_BoMb@Gkn&Y(er7mCjgaoZ-LZ$IY z`iWTz^66!9&0Qmy_oprV$WAcx`ISi%C5?BXmhR<>bKnhloVDfxFjnI2f`0U*E*jwL zyI_$CinH`Eb!hFvWaIE-| zTv1JKGbz!{%EN4Ir`c7b=Yq0xX^>f$<8Dd=Ae&9!g}zY{1^=;$$PbYldsh%@AVCfj8I{ChV? zBNU+IzgoQq6(cLBm{w;)$l6}}C6j|?_IL;(HLxoIIGIGkV+IE#@aZ|;on>F7{pkREy!artbKmGn$EfoAd zB-SR`Of0^tqZSvn(*KUCbR*#_w+rAbUCbeuZx$}4M)a$;J|Zln~s-yb@_zCv+ickM%oRpABFF z{x3>GNcicx08vzG=Dy+Bvhq(dA{0DFT{0rr`Zpa^5}c#O@1q;#cIpj;6O6?qe=do-`XA6uq00f-Z}SZUt-)HU0ye z=s?*vcm9LpW{>(s<&Ya<=-6*HuD>{>!?v}(J)Y?GK=w8Gn6A>C&t4mRQ_p_6JP+LmlO9C2 z&t(DoC_ebjwI8a>C$7Axy+qY)L!!XY;{(NTPtMmLx+@pBm(R(<-4Ma>Zia69r%DJ; zmCx_}6h@2HiO2V26pPzqCF4-LRGQ;Z;LR!PhUkt8Tqk;pf&})ljjN}{ceZZte%b+`AiUsJhMEH(OEx-FxP;MIro6c#y=c)T|d0H)+2Cc{&v)< zG%n|-|6M7sF_*&_4TjU#CtSA;TO3dsVM?1aB_X+Ohx#J?((EGA&nlj|)=2^(*f;wu zD0$xX&kqmQme=!dLr#u+&N8PQgm7o2b@blf-_gBxct;c;@Q3`wZE6}h5%1dH#+ zKraVxf80dH^nTW2?s$MK*UpW^1`+pAB*d(~x2N=tD zQh|raqu!LRz2D(Mt*_#6piDv|s49{YI9ohOjpzwkU}3g#`6@nE*EuK#Y^yVg1vt?m z@5f+l%1+pbA+a)C;v-pTY#7nS1J}Ern9^6bFzNK|VeI`IIoXNV=FH8t&RFJp;@OMo zJT$@3uuvQ~~nF3?X1pmh{i=1_x^{C1?uERWCDkZ=6@^tkW=mC@6shiMI&5$85XT&NH`|eEJ|n8ZkI2sH!%cB#09S7jI!H zS28eBom`;Vs06xUFeSJkb6j5l>KeOiMI$%PO+q9#EH!_X;zhoxR^SG$%F~NOR(gk3 z{}!K>3Q!M0)N-x;>EZcKmF=7#_?mXXw0ipHali&|!eFYKPgNn1l0&fo4z%aM08{wO zy(QFbdxZA;t~%bRj=CJITc(@i z{R_9FQ_`1}@fo>Zr>SoGs7>;>#Ey(pM)U!baP10)9g<;{--9;e*0Z;n{1xd&e7yB% zj`JBiw^~7kry2~xc%%;4V_d3P!3}@3-9K5Mcm-cTqmuwVYRfaGXmG`W`}dM7qsq64 z%x+Xeq^&D-L+Pg*fU4zokOOf7rC41;0d;yTzF+=VAI)(2`SYTauTKbr{~DTM6OJmW z7F5-_=5B0um~1_|VN)j>_FLvBDp^9++gE5v4bpaN zz77_ssyh!g=Ty`z9H^@8jjayY>i0-0@XWW^vb%D}PEK(nS$3(^oA)0U2&Cm91wj^S z+c7dOt$nkp^*AE%jaUy~6o&oVDsZLt|O zpk-3OnayhV*niUP^h_K}`-%(&d8Hmtkn{W-cSqDBrJCPvSnlQ2o;gs^nBIoydAvHL z$p4%(;P#$;frL3tupkUP+pr>%(@~MxC&5+IQo$WapUTy&*t8zfZM4V4+=TCyG&qO( z>9^QZAC*w)JKrZln=FTWcLWN}Tmq0`m!Owavfs&*qTzCOs+c-Ehuvs1ZS##)D#XiG zr9uC8B(d|nuGrES5wb{#)wAY0M>TXq@jp-#ylcpIpI1xE1b*CGk@~O~m)M>3CiiEq z4oq|C)VW)gX*Dz+5v=4{>v@rom&KYap%1{to=j9+OjV@i!5kcnKO8&lMtLqgjo3%a$ zfV|HfSayiOF%?9GpD*7y_kP8)6gn2pBAVnn+7FmJ`O>oK*K;y`q5xJ4t4tECRBJKhGB>+Y(73jr}5F7Iqfw=&UyB&X#gHXNssjtp7^$YIa_F#Q0wMh zV(eu1HSF7YQRgBqN~4Bbr%}o^y0j`FJ+TZ4{@0K^qs)ig?+}Bw>ds#Dn41KSZhF{E zV$apxxQxUdXjE1@{}nCizDfPbHCd&*uHyzF_OdiKDM4GOj z4?<*$gXl1R{&kr;484>ZW|Q*6Rub~SPlSjcA(a;5?ccfaO|$DjIOxixIb6YfEC+L_ zruhQjkM~CQ@p#^$y!;xtoG7#CBIA1VCj+c-;MvQ)Y9NS&bZ07h%^{6upu&JUNAE#cF-G&EGHP_n%*qP1LSC~;mEx2#K#f2r!_Wux8v%Ri;m zcvVXS4;;;0f36jSq=yTO`@+40IU6Sp$_}<|w7-m(xpWRhRf`o>7x%amVMsaZ*VyxvQX4ZfGA;mx|hD zj7)YulPAM>D*lX+*C}oaBhOsRGI)@}a*1M|poIU#S8{O0uGSfqud7KH=iA*MOg98u zU#Qbm`YUQGpSUu18Z^hZyPOauG7_}Q&yY7dEsywZ4JA3_)(O;QGEh}qm~ri?Cx6ny zL_#OHq-}U|_&ks~9Ue!MVO_t{>wlHe*O~c@O}0pu#CRf1cH;knM4Xs5pO=Cm{@u5! z--mr|25+@mm5960_cYF-CxdG!ro&WgyON?eN<;IwP4xF!1nloojF#n?##$c4$!x={ z1aYzmzxU^s%j?632*^0CIi#9eo80r@cLh83d?6PVu7CRQpS$M%QUT`$`lCC{lX-Ka zT%ca77n$i;#(c=~fK}QzbS#B$hmt&)ct2&KZ8Pp*{MPVX^z~ z85c_+e2J#)Q6#AHjeSIKjBfqr+)@41_C3SLf*Q_c%^`;155~Xn)EYk%YXx9Z9ax2I zVXDh5?NY;q;5LZ{E?4&jn79Ap>LQ0To+79_&|1t0Qxs5F@NQVjlI2h0Hl{ReoSH&6 zZH$OP5p5JP87SAH=!87HwFNs+J0|Bqy!7@5#VmL{seo(>14u z%Z{=U&s~wfXVgyrrx52w?1$j(go2}8YQfcp&s;V{184eTm}YnY#72OnA1Hfkh#bPx z`Snfd;r*D3K$1NNen)Vj_NsPc1;QcbgZtZTm5yKQL;31X4-?Miw?=}6ug<%pSOIn? zi#@&Bxw7)^)d^}9K7_Z~t1A>Yy|+yHP8~WVKK6GGIPCKtat+H)xFNHxif%#A`>Cs> zvd!a4M`1lZx4fDAjKlhI%vRK9^y-=_a^|Jl=G z#^P$xiYMl|ky=;pkS;kVSyHioL}DL)oSRP$TI;|pq$$Ly?GVi{mNxT&$Ev9=C|S^t zH@(xSwQJwu9gbLmQfPO$OzCQYb=qG-HY*lp-5`9UdqccBoDZtX{2w9m5J@lz*gf}w zLRWK4u7LmHBl$>jqb6}+`M%ccB=%a40un3H01bY@d)$hT_}+e9@(fdc^XS1__@~W8 zo`Ax;4+0gh@BL&72S&_`ebL15gTn^|v0$(d4m4G^T3~P9eK>#Uc;1Erp@2L|{_z`+ z`I*#65_$A!nT&|p2R^1nuw0;c&79yddk;DA1h3PWa}FlQt3p%tSU;;pA=?=ap^HC0 zE(msh5;b!-runUtKArRTBs2O`oB&3`&hep15E(eCEM1qoVA@BXA^Osq5^*DhXQ-z% zN{wcVHUgT^m@v{JB6{auPZ&$HtQDP;bO}18Al~(s4V5NKO&Si$=!Am`s>;gRCMLUL z(opq@GHkT^d8*EZg(o$#U<14KZ4v;FJSk5M`PqoatovK6^dluf;LFA?sW!GppDsWC z1vhfPUD6uQVwGNtJQkoBh>=-_OHw0vN{|j+s-+OYV@;t35%eV-ZvLPklMfVEHB9|r zHHWyROcVS`m&0m?AnzeQpm{s6^OgOKLn1_7KN-WIElZpZM4o^c{mG|UMTHDi1A1Ju z;L%NbM$MolkE2uMzc~{`b00 zDqGYmRQbW%mjr079yF{5V&MD~=XorS3xqpm7#={r*(!B#cf`Pwdb@wZ-+;`#A9v=T zu14d(Z&YCa>q^y}hoZA^N|JfVTMonSxzyR6@7Fr~=fT8@-V7R5tNn&Ys`NDYcsPuy zrFX7|$wfP>$DTnqm8n#E7ztA2jO)6eBqomN&^=tV=Zs=sm<;^GkI(OFC418+Y39Uq zLt%3p4kU>}6n=ge!=(p%2LCY(SIIHrMN;Y##%qf z@aV@DCkDstH;*> z7Z&L)2$Vs7XR}|DU5@bXzpMBuHnHRE4SJoSWujZqMT;o&ZTC^!g^N8rh^FFvswHH_ zLz5-n`|6eQ@N1S}W$y1qSb3bByE7#nx5;dN*!7b#49*GIoF<6}1f{Y$4rV8D2OXq@ zS{Tt^y&lA6MOQy-o5K;@#*4n(K1T*93U55K1hr2XLF{TGbS@-3ci%#*wQEy57F?Wn ze>i@bv#Y^S?a&~GjZi8eJR9QT$}!+QQuVZr$Z%yZ`^)}#aVc#(Wz90@pp5YY$-$a# z=a;O1ARp19&}t{|t)EtlZqC=pTh!&o#kJub-b(!sNW8`>yNX50hVCH6{n|+2W}aM1 zA9GKmb;INfq&&M|JP-9aAyeCv;~eIeMIEY)WgUs3DdN`~gOPNWPrFR{9}^7+2XD-K zSDHAy*`1dOFDZ^;|DNS4v$3JIR(6B1IguOmbUHZCLU9SP*lG|VR0D7j4=-$YoGu>% z46h4s2yNp2A5;Ip9q0SCkHfL8CXH=2YSP$F8r!yQTaBHxvEA5aW81bf|LgO;pWj-~ z3z(T}X7<|WJ`Zhq9zZ2=U0?Zyp+`Imtir6+h_uDYQ&ApJy&0ke+z=c3uBkC+bTK#JuP((CO49-m;<$A+|C*NyVg#H6x1LMO%0 zug`P%l@&2e;HXxNrodG>abJY_h0RG>zYL!pLg;}w7Hq9q)bOFJdD$Z4DH$5fl!f4EpSsX~zP?Y`r$c8v1=#EeQ{rZ!ns0<%gB5iTi!{B~FlkoI<$7 zzm+RR&e={w{UL__QG{l!_~3LP(Y>yl0WbX>!8M)%9LJYMNZDWkG@o@-^=)PL%Rw>d z=R`N`0^C1^Rbdi@FMg}#5fhvjWCmSd2W#ZAi$60zDtEAhl%)dX+I1t@n6)b5e$nY7 zAodL+elgs8l|!hTuON3$olvZhm&^Jqlg88=zttcI)qYyO?%>;WX3NQ>*8z35RJU?X zM{Efj9`KBC6jS0jCqvy;PNDI+mh_8e_Q?4{{~>(&=z+%eWP~Y(4g%XMHH_8%u{PA- z;i-G337}zAR&D8bmY0R4FKMoGQH1 zElXH3qUN&lWD<`}OR0}Ao90f#(py39)tlW_rG%Dz&m`=BCys9(&+Z`B!q-khyKv6n ztA?BsKHQ#C#iQ!-nYU0*D*QBN-N4T$*+BnKs<+~Ukg1~QOFL)${l8RcPT#Ii_RJ0M zmb&|7$TwYecr|UPrOkkS0>3Qnhm1kh{nz&!tD=-%CVy}D1Je8mtlwmh!oVsX*I0)9 z@THDh;Nw2T|JRLm1)LXmeV;luR$4I2jkiwW5A4`MvF<0krWVR8+@^6y<;6=06g#ls zZueOm;BpR4L^W}q#Qgpryu}9QJ{(y8A(#~22hs>X^k(@Z6)?X($t%z(SA}RE-C|oP zkILfq!{+btU4<(poShPIvMNE?+&BStkE@!(!!|Sb(qP9_~o$ z+>b#-->_5nBb8@$&9t1m_L2?T8K;Dg0)(vYRg}3l#>Y4?nbzK5`2f?3>An8TP+sEh z6}7XJnwntBy{ftS;|UJV8nEfAuV9{xbCgPG{&pYuLjuLg2}-fWHH0?gULTbp3f zL)+Ak^+Q5!txfo$5nlub10U{1e6K>-rNX+cCisMcKw?#grAL*`Rh`lMkiwX|ASo}bt|q8{%h69qFNNs=c|D?@O4Mi zI*MK797%7B9qsU`adXs*Y>fY4NS$8b%#oPeFREZ)IfKF!Hcb%l7V4j3y*_eo4OhxD zJKVrbnq+B3QLXWpY&Z!v{IjJA>}HBl)MhE_40qFY6Ab#D4+po`C=c+KOjsg#>^P$DQ_-lO{pXcVa zkH`;(nO=S#0!v#;@LKX-%O-ncf9S9Kik!EXKS2?+R7qf2-}L2iKL-W1ZOj$2gB{&v ze-bUr^Nwxkz^qRD{iAyPSQGe3{WnhY+d5|`wy$57*A~0P1iN`l(_ie&$Ii7w@3$ph z1EoC5xPq3PSs1!?wN0u!=_j%4HTUk>e_=x#S0Q194=1OY5IJCo4%%7T`Lu_IdgCS4 z0rp!4Z`ud1yw%~U(~Y%HYvgl;bs_`WqCHJS`25RoS8+n9;ZD__vr%FNNBEDORwm4( zP#TQr%FFj%e{i_LAwI<}@(!SS2KL!V@nCn^(Wt3nf}ciIb|n#j-mc4Og{CJ30{BfzETfUDvqH|h)$=*w8&aJ7 zAUTUqmztgk$b7vrnopJau}p`uuQ2{J40dtG4$d%IQ(6it8(pK`Hp=!V;y*!5jM;nc zk|Mjg)0sEuHwsu$2hWcB4;ZeZs>+pyp1wRPqtU%0t*IbF{7;wr4a;@%nPb+s$tQ+6 z*?#GO3*I}a){{%C;*QzOnU`WEhudXK1+5H~hE878z5wr%pS~tzN$5Csxh8G2gtTQ) ztme0|+7Jv{;`Vkwkzc23x1N{(gK+QBKm$CYpWfC-&dnXO`y;g3$>e3*p(-TkP#RE! z9rhCa3(!uyh4qL1u`CUsGb+4P=J*5vhM4)QYF`uV*$*71Qm~N&WA$C8;~Cg`8|=N! zU8EasTqvP3UyhX%i+wraqV&{faP*#D_qIpCZzm@kIr|g0ISAQ(+wUfe(nm7c1%&eQ z9=m%L8(qNfUL!|HW2yRfd?m_ueorS59r}F3SW5;xqE_7>JV;#4B#oqmXo z#1AB#5=Hj^nu5JPZhAeo%xh)Ur%s07TMVK0#lJV^z)*t$a&!7H6$MAin1tDqe}sTK{zBH$+*Dg)eNl zlH-~4=S(&IR|1y>7#5mvwMI*{p7AVz28sv8=B>~+&mKJGEUf{1o*O!Kzd|ZLY$m_+ zqhX}(V|XXSY*keDh}#3c_P!&fBJb?A9zmdCw(F8K>2R61SW7a~$PaDQ=bkIr)}Neg z_xjjt+JNe4_2b8f9x9E4t)F)8^!hjCIAR{5i9Fc=LPT|@IS{8Qs3nE)&5Sd$Az`e2`6Kq`g-bi z1Uo{yRkRe-6E-9qFd6h}I|=90y}_Ak`SWgW{8bQuPW+9F0&*?cpyPPYy9>%%J_Kq7 za3x5IxV$;Vb1C&D`qfZEbzYndofT*R@?H{jJG_vINo886I++>BrPddMXwMKxwq5Z} zKUUdLuF~DgBM~bhJ*>rMV0EN0w9uj+$r3-XF~^sNNeB<>h$-9}P$5B7Mj}N^@5lzI zQW#|=Sb(V9cyo+q-@PYNrNsT^KBTh2@bgTgS44%G@oKC~KJ=PDRD7cAFZ92+xT`D@ z`|mYs9Jvh9=GHz?(K%8fk)RAK^|H}9ItgA?(Lf3!k!=p`2R4xy$FYMiLRS8Pj|?b* zgYvxb`r67)g)S)#;1|E2A0pXDS0BHHsl!5HYBOzQItjSCZIP#%Q#I`}-gEt3~3RYu1z%H$v=~H{!KBMz?R!a2#Kyd7I@+%gX zdq!pK@={{+Yu+O>YHtmNcYCYj6H9e@@x)Vt@u_zM)kdgzWG)% zE>(Rp&!67@rh;)mLU4PW>21GwbiMOllRmPo=Tb-vrE&1Fmu6mzivHK(5`#qe)SaGl zt#3Mk6|xb3f#55@7VI0|>71Cg!A(efgyoW*4)p6(y?_stTpZ!L&DV3#9*YncAxR+@ z*$k(ZB{hbXG~cOQfH4Xbf|0=qnBK|{qIxqf1tamRl5w-D5L7*#gR{4?8{b}3KwU6b zC3*7B@{;VQ0T)NWjWX@33Fi;88wRDm*$1E)6A$=3@_66=a4F*plSVP7>e1RHiS15; zuPw@8ZgAp|?yIHDvAuI_iBD7gV?UY*depywsGF10zj>*Epc+N;nb`J8alhuorS z`;k(AC=DM~Uyu9cl{ID z@U<3ve~$LTz`WJt#b@$;`E1}npKla2{(dOcj*!XGGxGM2QujT&LFo!a;)8l=3RU0^-~CWrY^w5=&(pLiF|_jZHeG# zdDC#p#_uc*dcXvR-oG+cplLk_CSI>+9Kq-=(CW;#N>i$gVJs=8^kc=8an>sq(5bA_ zORSEkm+VmR{IHPH6hLEn%rAk`z{JB5yR?I-O!D^0OOlO>jf7VS_yf=l96c9Y-{lfa ztB67TI2ES4ObFKTT&zZw9tO*hnD1gTKVwS`@KU(@SE&N`sE-vD87pfMhbiG}`(~uX zA_EA)|JIIFC%}ckgWqA(`uUQ{)i-~{09Z{XMNe3nLQwP{heTn;wwRA0WXhmr3fWnU zpFe*ZY`6=cEzFfDpt{;sSFJpw^ z+&eQ=qxF%eo$k1vljNiAf1xsp`5ycS-AEx#Z|^IJGnYe#DnViz@U;;>94{h2>V!3= zfBsDQnh;mDbr~|6Gb48~HM|#`Dbx^$Tq|tBcCdPYzZ1{sy)&)ypV3H zfn>K$X_U9qd8lAJd40-z>={H%E08RESFCWvE}hM1OQi@spCGyp6JE#WlcZ28>ij>I z$H`p2nDMntjoV)NjJ=z7r6)Tn8lTEek!QvByrU}*=_`J|${?A8eo5HazU^Mfj|y~V zxY|QM-rqi(#%C=n^O47Z^L_TID<_;JboS{u)n!ZmK{UPVaops5Kt?XUxr^*CHnTsn zOy1kTVYz5%AB&?VadGNcM2574w}M#MEY#*B7ZUmFG0P#T#r!}1SUqLI-y_{1Zm2gu zUa0?AH6v35p$scZ5*f}nDEi;Q5e*6(JUCOi^_XDnSr&cw-xzG}Z;Bsf1`AHZU~T$;Z_K}Oo_O87>6FML85CF1XR!u_p~Cr=uJO_TTqZ8X=V zVtE9`3 z4c^U!0j%*Ik`zk^6Ul_RATtt@e}5mAp9eY9H;xz&OjnQKwH)6`x~-HZKP;g*{jlb4 zzgO%OeXp>+nSOVqF{wkFZ6fIMG$&`kYw!DoK?|BCb_?(OQ`1}AeUt{tQg$H2xdn;S z5`Jb!6Sp9QX)UqI8x4Oa0lR^WthF?>D&${rUu{ad`5V$=y^D$c$`@7*w(5z`&LOu^ zqTIP~w1$QWkbP3!(rc%odbKP2L{(#>-nXEUp%Je<<=uWJ(>lYn7C$d&)aMt!-PnkJ ziehe^z{Y}&r-E<9-((VByO~eJ)zWm8_)_$=O$iYCZ8d%%#tRLujqTPn-K7~!r}{dW zT(O#>lIhP@6sR=qCNR3IRle7KfO@|@l`V09vJ4B71FzH!z;Rc&;w|{ZbREU}{rl%r z=8XBU(!+=e=pTo)(9z3tx8}@I#KqP-j5j9;+Pmem3N4|AHUpK8s}v6VETumQUa8hT zUIQkJe{1E;%-n`F0!lMl9J1i-~~_q2{X^2u4RF1F4C__7{* zHuIi(4-nJ9<3+!c^xYZ~?mxMH{+eg52qfLhAfHC^M6l#8x@8{> z`I`Jph2?joFjvoAz#xB{M)~sXzM_u8$&Zx&Vi#>BnYrfV;L1JgO4~-eu$E_;w3*m0 zbGiJSd}wOLPuvXI>xQ-}bx8-{xd!H*A&FGoi+#;6DjnG>9JeGv-cUUDf8At1>$ ziQyY`<}RNa)*rZJVlIEQE*(ZEdL;jS6J)@7-o0J-{f8HWkgF8=Ee3g)*NuqhdPW6T z#xP0>!$3rz49`FXO;QF?LdA+~PxcIei=;oT=SzhaoAX#Zgx}XfOceY#X6@eN86^y)Y(+ob#d;FK&K6zidRnZzoEw9R|EiUFb-wWufp71IM%RAAItmA^ zxy%*wgXj*4s3E~QeQhe_$QzBQ+pLIU>rQ#yiji4<6O(t5{e;SdI2&no%8O|vL60DJ z&>x1G@lyPzfTqcFf$0GnOqpoTCDxFzX@K{wypHO#zFBAO^|X zhg#4%<*$eH{QxppR?UO4Zd1Mtm%IA~c#5cE1kUvW{*kI{KQsdwRndXH5<+_xm$9?5 z*F7+~hnUku8VH6yYbe8iv^-Cb_tV=Ont8l^r}ttQ0OT{-#Lb2z^Wpb-$%PBr*TGQ| zEB^m!Vpzv{;fY?);O_0%XH%+3ncc%qALzJO1x+riT~Cr-bf9;W*~kdUckAW?C0XQ6 z)LkGOAIyxopfsL7IOC&mB7tA-DTMl@%d(em@ruY|6I(&D@Wkp!o#}%JC#F_`QXF%C zxH~-WaKI{yD*W}2YAAS|(X>A+?o7YvI#KD#P>x@-`uTh5*`pO*2 zI`Vz1p2Y1slt#aBjN}34<`v_+-)coK1-DmEhl26MN#xE`udc0K!S0^;_O-r5fxhvb z2v`i4+WtrmvRO5rI3-5IK&|ySKkl3nO0WeF?!B~ksSRmvp;YmPRs7roZMJd?l!mCd z?)99-nm3Kth+xTS5fbLY32+N#AD<-I$h8J<%2KH_3|Va9e<Si4jauTNO{)sVYoZtO=e){RK!0{YeKF7ltM!2=M6zxdw1(A6e$*YI= z%3rD7rK*olFmuKR1S{Q4MQKFZZ*3vf#5T&8%fnWQvxj=cFZP_;=yqZr-g`yEUuC+h zhoLAF^{swy198V#u+8}}5z-8-`61r?u2&wO>e+^w!>#7XT3JS9*s!v*5=S%ahx1*Sa|# zjHEb`EWrDR1omvVV@5Vyq1}B?u;=yhfTqdGUXpe)!#2=1(3Mib)D7IfB?jz&ZdqB) z)I`*CbPZ(pIZg-E)>1LIJL)xEEfBo5P5$fYt1B+qg)S zKv5X{FMKOL#t{>phdAZbfGWn-iu3vpE{nJ|^Si(_2@C_sa2+05HK-(8N6AH=(T;x@ z5Qh~>A72NhlA12ek!sN9_o0>>=fl0K0p)a|WE2)7#8N8LpxYB=f$Z_&xEwxb|6uf& zIWtno=}g~;TmD9uF?QmE6Auf_cn9MGjDk=95SDpDVOK~NPCiaf;9&D#pz8I?3vQ%A z?;&Tg@RMk*6QWeVw$W^W1hf{@w!xu|`>kc!nFume%;DG!n7ClSvb@r4vW&jH+?KlU z+;L?S=NhPZow>io&fD{WXc@BZpt)c&g{yyjH`sh~a{`YRB7(4qtElgdVGb9Xs;F;B zry8r&YbMeoxTi`+#(`k44Sfm*iw?Tt{7=xKaZaTo6<|sypazG&Ox0zcw;f^U=2N(e zW(vV^LE@VsdfI~LnFnQ#E-LxERFY>$t1>a6Z%{*^=88gG$k)U?8<}wI}+EH@&?6e7}#0$ zmiV^^e4w`txi4j{_{_109SwJ{X=ixRd4=Qve2@Z4`ptskNUBKX6}!%+|BZ~t+skw* zi>37@;AZM|RlP~ZDHET$2V{W-nn!E4g+P7NG*4j?2Lh5|Blun_OhEE@V7W(gEbUqy z99ZK*BF|zj^*NBJeC<+H=5X>(8P%%gNC%#}Q+5alKVr2uplrpLiPM86f6uisuJk^3)BiC7p3t*TNpJy2wHpRX;b%$Ss{`c^b&!sK0B;q+Aje{q5pN2Qxowc+ZsI_q2 zJJ(ULnN5LxTSOf^J>P62&b7TmQ0~SJEq&lX%sOwl=cXm8V9Eirp6RL7{1KT}rHYa3 zRhL3vxHwu=V))+ajJwE{!!AqK6Ng5^)UZ1yAJB<>d1~cnu#}%g)qfD3Ci`&?3%*zv zzs{Zkk@TA8-Xxxq|L_}@kQhzmtN_&6`n5}^HjK)QI}f23&444VQ5S}%ccbh+h-+^ZY${l)Ei?EXvQ6quU&7m}%94+b!=|{-yC_ z0IkRXosAcXzz<7mY_-7rZB)}{i#oA+1Fd`Np z^qStbkd#eTG0n8omyDPl0d3k+WLGF=bm~q!#(OiWW?qxKX*1%4_ypg z4+!0cX4BvM|8rv?Dc|TCAFhH4e1&%yCH^f2m;rS~XpkkL_Qjje!6OB^(OJ3~dAp_N zHv2}8{;yk6fOBRO?zyWNlJpc3I3J8br&Oq5WWu<;ckk8uuAxXuN!{RAv)ko0Q$a(= zXMjcL6#ou2N^cX5LqWGhhSG5PCMb;n?A=m)_~lm#$1aj=0J}c!>x@BGLApyly{}$z z1>43E1Yn*H3dkbA8>I*j`=?^tGZ4R;K`=-|$WdHyl@Malq^5nRrWldY5m9D=Wj=;d zweQ`cxY{Q`ALP#lQFeSlk;FR(Jnph|yV}baPr->}1(5_>zvi*QH4IpdDSWAfhhccQ+e6Y&i2V-CG8lVi`8U z^7*}_d#xBhw0?%KrOoBvNm%UW3q2#3Zx4YURn$zv8vtw^~v;rC8G;7R@_DvbAN^iDbox2m^Y74tyouAF*%A=ho z>x>N=@qrPb?e#wb5oXFB)k1EMPd<+u@h+?b5?}38Se2vNb;Zdn)X#ZU_)k`L36XYe zq3gkexmwTk)+b7``VZT?QLz9H=V~nNW4^|ReD9r0YP$nJ0c3LURMCJ@?PEIJuHW?g z%x)Y_c4~pd{2K@jZ;a5AhA;T)F<{Z&`Ytj7Iq#PGG%92K7akMj&IV7+Z^o8hB7R~^ z^AlHL5MH%`56dlgXfZwpoS2CiCx=sMn8j5@0hAr*&yHNOwoi2K$SHc}kv)NeV&vUq z#PRVRUrq(I=5UC;rcd>Ze{f#Dd2@yo>rR;PQAF@dxKvduAQd~dkF9G!z%W>aKd=^_ z$UeI>XWrvBV7yWLM|QB-iJ?|bH7GEJ=w>~!8S{DHIoM3{=XArQPHR=I)={v243jRO zOjvKOz{w2z_nl_}A?AEuYv1067D8nMax9w9lHSYl+S?55j$fScN7R4$TWuXqxAgCl zUd=6W$rSow8aTGLQTFK7C7|T_HIQS`>d&YoPajr>r64Y{E$L&%49m1D{$*U#5-*@Q zV9bQ&nXrL=k=ZSgNM0vl+wSYK@9naMZ6(Khn-mtcCN8zV-K8dmWsp%N3d@!OfrxIS(TF9?x=sQhQIdlkUT!-aO%($w9%%U=WU3rgu$@%!&O zx<8f{O>3`mK+5iNWM0C=F8? zI(Y{UOoIjGy0>*B?Z#Zd>%soF8P)#1dZ^VDVA`4%Spm_h46)cjo4jl`!BZ(Um7r0i z2o8!2eV7*2|3<7@tSo$HJ7^FavJ#DS5@3GRuljSq9wfNTbjl9VE~`w|6ADY;F1m zz}4PfV}dVoj85amG*g0e()|9DH$WNy_p=I?BN(_)8QAl1iH8-V+i5mnZl>20Jc3^0 z&+^fC?sjtBg)Z95e^Qryw1WgRJ}yzOcVsHSHlU`QJpkd6@tew8Kc?A(KjETJYa%s4 z;rWKGT_{Zae4tP0o#52^N||U9vc6q#nXdlfqb@+-c+|e-IOwMA&S&kQ?cmC-iYeQ9 z!h7nW87Rdhr#^6WGnNz!ui=OH{+&De>)b-8lOw?8l6y__i$)#J>1a}_6J}=8Q}4x% zup>W^C$>Vkd*u+``gmvq=inx}1!}`!LA?7v5n6L{OYT(@To=d%F^&E#O;sLB!vt5( z^y0$@|KOF3@Mu~uVBzW$E}F`3WaCOLYj6xJB=zG;b#XD~SC(Flj#S{4z$Oynuz!zi zkO_3f4!LXoUaLfHGNO9t9pnW5D^5k3;`oBK9uVl@g@z_Ib0WCE7_a{Uvzc*|@zYpm zD_<%$$DZiIVmLCS{Aq0u>7zNfeaoVYe!f*L!%Oz+;h}apSdSW9^?CIj0lh=36Cr`m z9Op0`l`-d$*5`URjk6&lfZKc$PXFz?@2|{E^D0^p>YMsL7iT3Ds!O|wuYlaugqBcq z8uK&4X4WV_2a);B>RGf<&5^c9Z<3o)A*(}UHR$<;`TF$O6cBIVjpT5_PUv!tJ^HQI z4be0|DI>isSTHDjuFp8Gizrs=khap<%a3F;CL34HyjhlH77_Yx&2Pquo^Hc5sxjvIbwQc6QJizy+wXhv8@5sY zsneH^gl` zED;wuGgN(*2oUoJJyv|v$6((_Gn3x^=$-u-)tD03gjp)q>IPTDI%^<7f_uwq1~s$~lxg9dd4ZfaH=mbOT!N ztY1$mJ3$y&Qt9ij8jP(K-jE|n8=m?Ea?JYe_Y%)8hjcqLLBK7zp#I`p(X?Yz))t&A zaRu^AlpZo(gNaclg7?ijC9Y@1W0z!jiQvh*gL}NVVwW8r9V@QyC1 zCkb3;XGCA(IG;^&-bxShw7CNwA;t0YJ#4W>_Y4%meCP)cT!FKC>l-8=E9ymtzpM%E z+=fQv;VX4zso8`*4f~hMYTJIR;!v?u95s2)+W_@7!mbeG7Sn#A(FMD_T)-V$VjNzy z2MA~SVm~DFxM)5&*}LfKl5hzDD6Vzo4M&KpE&y2kk7e2mj}v*ITG+0OWR&$Rf;~d6 z;8=Gh^gybu!j;Ei#aYKckRlbW_ldld3a6O_6S*NIFNECUgAFsfHNn6&$>mOJ^@b>_ zO;p?^9?K6Qb*sYl%R&i44{H&U(yiT}q5D$d68$kd-_rKz>la2kVRD?oE z8>>NUnz@ht&*KR=vI2DluI{q24zX z!P;9skcUz79CDO2)IF9Wr66_S^5F;Ufx9<(WC8xGw!T2Zcq*06yHTWQfURi;w+^7j zDpjmt|JBvSjYX4-Do@0V3=4XP{akMQ;`eG6u1LWC$Erm&;3sx8&64J83?7N~0>PV( zG2~0ldb6Pa6mrDck9}7H7to@$N8c@W%tlk;rPXOsmQ)$R0j+h|c-l`A4ob1V)u7e5 z_fO~um$Q{#(ZvEWMk3^udI|orWUNU)HuFg+({k)^;ibdyAj;cbz~7%TT@(I96bjk? z8Mv|52w!G3bx(7GK_N1g8RN$I$CCHe&tj&JfAFP2eW~vsZQky;zE-2BOC=n~Z)V=- zj@w?p0!gGCw>iHSdd|W7S0^po3i7bT7_dd*fwg$DeF;W1PHhtB8X>3JJ>4VU2kgN0z(5iRbVFY2W|bUJ)j zMo=tPNn;kBX5M&dfuX9B*%RR)@XnkGj7$^sapw1IJ+3z`S<_0wW;*%%{*?nDPJIS% zhZb9099*_opUs~HYW;aZF2-8w7Dv%)3=jvWsi8iDceHckpbclJN8302N1N4tIU2JE z%U|^BUmmm*HM&g$CRV=n&-zO2Y}d$c>dFBfs4L`SyR?(Hb82OwB_z2i{kS%l-|^0G@6mp zg8O1Aw|hn1X0le$&*uV8Sq{^(AE$S;gcZ<$L*k08B&xbT#@ z>G{HVCE>aW=P#k4hPv>>l6FOO5DSQCX2!)gKlXyt)r;ZuW(U8GBgSZrDqCK_*x;ikb6q> z1UL#*2qlf3WY`M}lYf=QkQU!cGZ>eNKU=VK&*~Jp;V;H1)gUTs$;;CB;jVqg#Qu2z z`R%aR-vRdrg}WOPScstLBFQsZ2*RBrG^P)u1ra8y!Y+BfA;okSdIGl0Wn4bG!CDGU z<&RR;H|-_vI&9xBK~wq8LwOwk%3rdhif%J^NDF_%*G5e)4;3`;$#^kR;ZToT@l}Xb ztwfFwN|%E^i0*o7?V~|id6if5d_&gb7kWW?x~FSjxBF_-%hPcXn?E(pZgPFt3I^ve zG%WUzlw?Gqi%JJh%q=Ow7ZqIoT>KUnWFnE$)yvS?M;BBteW7!8pZx!We@D2|Wd+H4 zA_Lm7Bjz%~cLA(pb)nzZh;~J(1ge5J=q9$yMUqnWg_#oiBa4h0*<0hgr8HRr5}c^( zfh^3qDas}}i}!=Wh(3GGq(gVHvf-BfD+Mk3^l_&ukPeZM%)h+Yy@7& zxE{?-BNX-+u87JI%`WC(x~B{id~HXBlxJi>tQs|GBAg@?MtH!SHph~>?Jukmzw`gG z0szkDNJ!2n1NAOOvhwL8s8BBhd-8AiGxp+@7GHB!9+#}HaO(loAXvGjWV-<-LRZFm z3+N+feo8fdswrrt{r9fHg7sC|kwQvd$loBKqYgqf^^sdbJ%H$*W0yM`1>x?u8|{LR zQdrw&EmZoLt*v(Bb=d@=cRjPk$A;hs4E zeqUzo;{qbOW%M1{OTSz-+1<_bJ&eUA@Sz;JDfzpBa|=6_a{Jpv-j1&}A3i_d89x}O zBKDzXp&q_+XByv8hGEOoTlmw2CA_%64g3BETD-b7wTx0^a#&cVL@5)i)<{>*Q+M&F z_cd~M4|02dlpnL?HaztH451x3bjH4&333p<15GW87+SC4WjM7x>HT6R@r!iUIoya< zy)ibYlmJ}qYKS^upqQr?k_}jRI-J)<+H>o6)bDRQBI>rCR-`!NkC?lx1<((z8qtF` zBJ3B}s5(xvL)O}nO zSReC~%s@Q~X!Uh(YilN3EEkjm^?78$lGx^cy#g5wz;O$oiR z!xj0Z!zsIhXIJldsuu+*POpI~I`>~Ce2EW0V}(tyDKw+?s-CDaM|b%fg*Jckz3tvw zZpk3-a?SIvYejtJnhhK-wqhOSVJI?eDIataQN>#hL>p>ii;K6Z3ZH!WW@BDLT^Z`#A9i_)WL97`ZrWRSY(~gM_+(8{j1U$<)&dYfv)MWmm04_ zf)1_#XS*MfeA1j`UgH`nO?>V!a70}*vb*LwGlm-LEQALYWsig}Qi!e?+eGhQ8ZJbA zy-_QrFg*~*)kciluFsTO=~&2cioZvpXhY86tYL9J`QuA;1C362GcF`zrccXv>&f?2L?nc6O!&Z$83QSJ3UI%rpUeiv(zSv_Vt5HB; zfajr0j?S^azEMdG1HM33Wc;1C%%2zrIa;Bp zGR#>h|97AniFv2CRviV!zH*nBN>I>5l z`v6#mDKX(tD-ABOjc4w0PcUG-(}x?KPqMD(?IsI!D6wE;)FR{~4i_e&^LPX~tm~)1 zDRi-zN!#3_t7Y!FN734aaz|^L>R~8JefLa-b)QclnsK3mFcj;c|5qZTf^gi2>N{If z+fPC@O`1V2(Ihp5dM_lk+fTh&p?Th&UKhSoZ?m2sQ8wgqIhNKR) z8VbIbhg3eepPeB$Wa*=pf@IGjHlSl(N8~s%X4XQCNnd5`}-nz~sD$HugN1uV9A^)Ci21sYD= zM`#b=e;hJp-DHC%6fg|>SN7P-6G+ka#qjFqO}Q}w!O*VHfYq?BN1^7{(Vtb>6g@CA zYX3q-1#!XMD?)466zR$p>Xl2nPJvJZ|15Fv|EC3@UbVzDP+E8VSwRWEC$|7RZ6Hep zhJh*>!`&oP!GJUjCA#Dq+(^nd+a-N71@V0G{xKE{J=m;fQFv%+O~Ew>s}}Umd=_#VU&Bamn%D-F37kxW8Jq*WQ$(6NV8?QE6zpE#E6w zNQ#G~(Ht6>lze}F6_VWY%9!!WblSuUHV_Q5Djw;m?e(36;|3Z>h}f2)!&Pt#?N8c! zZ$0nITOnWzOz&4l&8bdQugQ(K{6jo<^Z;gM7NIwhso=-alX&Izzs*KN1C6D+;^>kw z>McrH58s{hBb>GFII))&`@Z--lQ|*RU%|LcaL??aJ@5rWaZB!mb0;LLG%A3Od>263qtu`ec@wOtOXu(=0tFAJGyRNmO@sQU>4a;z5{O6E(pZ;^uR zXbI{z?57k(vJ4QIn-|EY6)BC-tmZRWwO%V;(?Q8l8q@i*MPbif#Q@v(GwXWi*t8)s zsdR)DDl0mjirZGvNuCZ5(vJ1))GMz}aU!>%!Xm&TLh=`bVxp*S$Ru1(P@#Kau7Vx1)L; z&|-}B69oSVdJK0$TrCL@0LOM(_`!kWzSpUG#R#)9TF%@{z&+0`8mzFj&-$JiCeR0! zHgl*KfI%sQql?|A_C7L5uFd?M^b+^?3MFWmVV#KZ3J1ykn2l!|Js~acC;AKFqv1L&t%ZxU{ZN_03~&Su2;6~Vf${l=P#$vU*M+y!8? z3>4g>;J%}RaaUWnjCPTAIunIf(BHdXXw?9PuuxozCXvEk{>H-wm=1Ir+Eh;TglLJ? z%Jzv>W~iX9!impyPikvkJ40_n<}eu-^L+0m$5C7`-?R5q0PLTCQ^0f1tD*m|oe za3NSgYY>)9zU8i5PE~z}u>_Jt#Di3+`*&N`?$syHGTBa4GhWN({Zu1sGaD--hoOHR zQb6RAlhpj2CQX4!#tn2ind|*`F%9v$Dz&$NBBc=C?^~JHGhy{C0gM#a$h9=10BA0^VzYv?>Km82)Q#ihLaVU zgn<5krIGCdFM<)$uH0%fFsW&uGsHbCWc- z-LSFK*l6s=wr$(C)BLx+zrW{svDdYmEAIy9%$fPjOq1DZK-Z*hFR)W7DhAoL<&&$v8Ayx~d~7`R^IDSf4F94p=ncE`~nXOn&=;>LDl= zA*5HUBtdVqn(U0$`(u9XGzlEmtqxV6%hTacewSDE+-&5;Lu3sFT7E7RYej#rk-kl9 zJIoI#Dsu3&q+8kul|BOD$K(l!A7md%uf~Z9G9bs%XCm@C!;;^C#gZ@28~Lg6!#AEzhrR${dE|@lHiQrafg%YH z2VC@ufTNaiB^rXexjILq%gM&kS2MP1CSi^`y=gg zM;|})l2>r6SulE_$Wwbb7+oROceZaq7pSp5pbioSxV815J{}B0@Ejxa>0Ww05G3=7CNprU|rd+~>>bA12$=HR_m`VGERWhf^XQ%!hYYPr3Z5 z$E>~~iy*xWy?A{jv#>4R<|sD&7o~0$PI<%rt9ize5>YPKBKcUzr7JxumOMzZ*m4}N z0K>$KSwe8bruZ@DrijqPQMf=lAvtv5>>AW(40%ovVE6@vd`bf#&Kh8m(yhd*G`_Pr zmUF3Mx$PEcxZKcsu5&)C#lg!Zv7mL=D>kb@8V`z0F)QoxY1Ah3c@U&LOC zW~WFF1u;+aqp+he+Zk!Ail&5V{CT3%xu41g4Tl8PIMqcq1N+{(B$g7M1b@+_mp78^!2AHeG$FixmJ&l6A&fS!|BrrQTpA#NPU{GY4bm!kn z;4GeEBNYiReuBD0Zn#G)*5*u7%y1r9Zq8?tn&>LDVO~b|68d_Em(pAgTtyU`DJ9!j4~ zQ@R-HH9K3sZ(_KO77TARLpupemv$hi6?(71{@`Ng@Su?9_}e{~FXVwrU~wfcSF3jVK|_kWS0!NP;NX?#~y z5+96_caFl)uYXmd!2l*k;r=45Ij%ZktPxqD;pQVDlS6Q&i0M4(NpTw>W5TLNXmD_P&v8h4aVf%?HHE9LecVsB?O2ioO?z z(58=F=eAVuk5gj(mOwRaG(5x6izvM$$;ryoCSm__O-TryfJh46>1r`cOE^HC^yFxA zMH|jMU#H;m>!rUjcT|2RDttlW_m=64&>Hma%o+K>53+fK(&sPtLroH<)ziOMT^l31 zF9zYhxiMcoMsfVfSPfne;S4_GFQ$*ix?1g+F9{Sd5Wem&hL}UUJLLYh2;HZhEFu%d z^yV<5a>E3JBIlsHe}~yj;Vm1)gKdWy&q$`P`-GNbsR-q6EKBSGC%0osQ=@?R(9?uK zOG!CdccGRI<`75v1AMAp1w;@rgC zTKgUYmR?dM!Z*J1F075R4EE9;%_C>Mu8GpS|12$jEtrk?J4ZjeKtc?8;U6Y>Z$o+m z+AAhmABwnu0*UUh{TvrkM}sB_irn__F^A@e_;MQoWA`69pq0;Ir|QRC^dwssmI?^4 zVTZV_`z##^KR(v24JtxzK59N@eWN?6iR0&ff`lYqA;HRwtS;&(Nl4)+!IX|r_^*l< z3{6L_;_jphvgDdomBJ3c#(efeJuqhTpv{<0&$>T-d@Cb!62H{4Nio$CR33(m%@ruD03m>Xfge zCYJCu>@!o(&d9GYw1b(!zAb3RIYry|-;Wf}>%$SaR~kGQd1$LhSKQ*X_(l)Uj%c?+ zud3ZRfu?f2*v!6lbYq9t{C&m^o(j6i-kevGDvmd7CJIr^fkC1p>sbGAkH@q?FeB-N9)&DLh`VIN)DxrRU{d&IS-6rI0CfD`ii1V0qH0vQ!nAegu~wBom9L$b3>U zVD|B0cKvnPRCrr)px>A45xHu_F1?9o#NMCG-pf619Gelcd0nP7VRG1X%uu&oWptS^B!yrY+h-VF zs-U@?=|90Y2HY-}YVTU>&r=Wl&NJ5B5G86sw#Spor3Qh1k$_rIeW+KD2PSY%&ZwcbR6%4neWHf9C)|jO z&`sKZ<=!M?Aa=q8vG>)bB>6Q6hGz}X2KLOkZh)0AA#yShP2mY#{AQx%e8Wjmx0=%I z1Zif!+0+)51T!+iB!(RaQA|v72P%(tf5}$W;?-*IDw2u`bthFNoB^3r2K7ICryf%_ z-7)o?y&!(w_t4m};>iN_zNmL<&p4;XX&ZQ%i!X6KjG|Fn1RBO$_5M8BmqLAS9M9%_ zTV9?uz8~zslQzv{o4%BRZ?0aBKf z*x!Y6g_FQmn==N9`l%IH1fP4VEeK{roe!ph9+MkH{MrL;y-IOjGM-m-T9LXp0xw@( zK#_>yGDG_o8D2#~gszMt1Z%59tNNnU#R|{dLSJgel>|BR`kLRiaw%JW|MF)ngL16SQqpUg%FGMpr2JS^A? zj|Msgt;*jn0!X#<=LG+==1vb5jSW717GN)$*+eZGrn9$!$bjRZu#?u;hD4cJ@w&B2 zJ40>L?LhA8k$|%dAL7HnLKvb4!C$#shih*WlbU?+=^3kAL@a@NEBejyaok(zi`uV& zbCP{iB&_ij>?&jM7pVr`a|E#b=af7z-?OjXI5Am8IOr)*303EW8oHiAbx`T`RmZMB zJ>Ah_`xBQ78hNDngRH{!Gb7@PMIO)Hvh>$K9}*UAYKpIS)K5a*qN(1N!Yox{Z<8#K ztri44NWikvx#cS>Ifo?k*jU;Vf`f^o`ymtsJ+I$d*#n62ruRgJM=1gL|eVaa)mLhiO89@(U;S`FHr ztX~J=R=EbRFIuuHS?y()uw9oV4p(i_yq7^l+D`$lBu+w_>?zt438dNr-7ZV7{3R3n z4GH}ku9{PG{6)U=*!L*T$I@)#7muN%dW)jg?B!rIaRe~RWC$JXUwCd|gDje%gQ9Hk zFE%A1d!hvu4U~Tnh1B60u$6s^F2=z4L9m0}F&H>1@;C8bw;Yi2J#S^(F#LKo2^-41 zqogvUCFG~e`zD8+j(sP|;mPEGCgN?KihEJ;8FIuFhGvzbq(u}=3BNciXqjyhYFP05 z{*mk#*nt$TAf)?R3$CaAjSZW$O(vBy#2ZnBcLASI@*xaV)l?jIu)SJmVapnp| z)6ZrTZGJ*(Ke9kOP)tUjA&6A5&lOXL$fv^8ySsaGck zH{z^$eLIid;;j+GjG(eM4C6piS?Mk!$QcCaO?SB>Q;7P{pu=5x-{kDrQL3J*`U4{H zl{CyRnDO>}oUkAqX8n6W0=!pc`%@o3qG}n#QSNpo#eVkX5`7 z{>BSJ9+1-h#_7Yja|htl=39P5db6?C&iLcWq4P+O9bvfn<_=I#F}@{f7nBo)8U=L$ z8r)?)Sm2tY`gq<$e^_mHc2KHZ7aw*hjkEpy0`o;#l{D5FR&-A}MluD>7KOLRsA;y| z8Sb2_R=$+HOT4M-+tEJ@l6auzbhc6`RI*_FvnL6fy*LS-f$A_fRFohaZT3?!29D6$ zZ?n(trlBisJ6U~SYlO7MxO5(u+~`PZ)llBK;&a-rccqAN$>cdq6bX>Xwz%a@^9Xq= zorhC`0!h|`(GXkN)UrX539w=xbrJdk*W7F>*P;p-dvXXPP+j)s&g+?fKsF&0>-VGO zf;82I4LBJcQ@8eqwO}!rwVp!g-_k^4@1&%8iT?~#RokA7v1tt3WblQb;9uI=dn~nD zdVjrCd7L@Xz$Sv=YqodF+Mx(v5>YBoKEOxT&olV}KxB+Rc4f=7{|K;Pl5WssT{kb72Ytp|AZ9xQfot{0*?Wi;%;Hicp(H9m* zdNI%Xn1z?85Bb*}!h{^qvfCaN8jfnJg5>_{9NW-H?a_p;Nd0b6js1RBUb5d<8YoR9 z`WU3$wH^WpYzIBhh$g?jR zhsB(9JQ*o)8!>DpZW|p_kbyg+oTx*`p_z8t5#H%zc-uiA*|H@68`R?%7zeV#-GdB# zo*{m8HEx=e2^5V!aa0ByxP+yk;TO7>R^8`Ge?U4uIC#0b)vmL;je^iC$5*xY;Yqma zx~%+5pC89|t_pwhiiCQ+H_pFywc_opd~z}!X2iv!1KGO9I1iV#Vz-8i!Z?qOgm9wO zpDYR$xGuPt$D%y10*Sd}btYo|f_VH{rBF7OMn!yo6A_Pv`kQ7HYQ$cpZZrBTBUGhs z2O?-wX0S|+uZprVZ^QRWtGP)d@}ZQ9>$A08;}G1;C&!M z81Q<*gZ9iGuG&-I>q8{F_{v{-&U}w(u;G0CUnW?GalH8&--((C~mC%hZD zk;wl+(U+C7`-;_=ni9}~vH!&m`qAj2eVJzW@jS|ao9+l(UI3-@_G*>C2l}%2)0+2C zi1`eRL39OXfdIdO_e|bmgdYwV*7Q-2_bW3G;#vF-rxKe8Y5W)*f6(h_XGh4f}L0~xDIN#8)}(Mk}Z+5q#`P3P%E|8UCOT? zgx>nB-kV10)C9Y%Ip$Nu0ktt(AeN<0Nd;cspc1|MTd)f6+IhvF(t4G}B^>9Kg4e|i zeuV0C=PqUgV|g+7zVbR%UA`6jKlwwM3e;Rbt4~IhdUijK-;#m=wb1eSAJlRR6N{?) z{*0#3kbN6Z!>TnM&3jAd`Yj!x2Kt*&>YFDVnm(hRa%dF}qizra4nxe9E(76^HCz79ZT#hNU1(Q3GG$$XNyt!Wq5Ab0pB#)xr#jeh=-9;R zn|S;9!mNxOc1RIC&UmmY>Q=L=e?IV+p(H$R-DGA!VjOuBgS-QL58Frdbn@`9NFI=gS zX79&TwHFry?2&^a6zhTutlJyRCKt0aY3z2eBgWh9m^T)>#%e5pNrt|Y{*$EaQC4q z@@}ez*I?^Y6yePt^qY>}GcsBMO@A`xAfx#@^uq zy3?S(`XpI@xw-owS~plgkp_^lYOStB5bEpS50ps>_EdF4Ub>O~`4ffWh9a@JPfCWr z)PvkvCK=iic9Mzj8f+B~!{5EbTW`&`_77uRoL&#*H;kkMBV=L!8_li$AlM+>-Nr#6oB62c-?|Htdz#QokW4Lix=9^S=BJQL-u`@(K74kFCGQJ@kc z{^bD=g0X4Pep%5;V9b>I*RT0xc8@i`IcsHW(Hd)BkYh&`;n+C_?p;V;G~Ofb8)Z?y&x!9ALU&==XiB+M@% zf^yamj9gCZ`NsJ-D&1ODHwMSCb@JZe8)S;5O6xM_Ztq%}s^HdPbjshwXfiNglY91p(gx7ks6pgA%^Lj@NbOH%IgU1W`PfR<AE0jJ;HTAHddaG z@r#LxvkQY}Zd8&=abdrya`9I55Xf~kJv}`M(~HTf(8sk+!$TfYx?hy6z2p3^XRKbt zc$4cRo4y~{SAX&!LmofzW$Ayi8K}DVGNvIQDhAJ_yO%c?R=ezDD0sOJD}ExMQM-#V zwYC9ZGj@8UfEW7F0O6}Kt2@OsZ&H7QzNdhjl?a|kXqeG>UKhNUI_fpt=RI=2aW}B) zeQhzb$D^Vx+w9a%M%|KBVC)UJ(f%9T?>SVD^-xHmk4U+5M$CaKXcqb8mT9K{cv z@w+VyJ^sLJk1WwRUPGPYdelL+ki_e5GSZjqdE9XXT#A^{)tZrAh_H*XowhrpXmWGU zEzW79uAgBJ^sh{ggs7KdAoG`O@Ldg%EmeGNc;(Bs+(zN`vAWN=i?g;@ATW6;3? zxdz>xd2qY1Ve~k$(Xge>Ywnl1FzJ$sXbXWknq%xoX08Ys{kN)qZoCGZugj+ms4KK7 z=w!6@@zt5#2hhNe+X2z!iVM?Xhwvk?lrxyzgQi)@SpdYEM z6r9y=f+W_4QoiHaFp8Sl&zf?0ERj*l84r|fWg?OveA8e{PPAkNb3UN1RF#|UCf-G) zf_uA@S<}Z%`}VwsL24E_&mRtcG*@qyvzLOUYwf}L`+0jG7d~AB0|f;?pS!E+tE=tT z*~g+!{6v*@l_BY;=@x*6U?9(VjC_(O6&sIDz?wv5`^%kY0pEK*o(_Q@U-$RlKV`vG zx-iW(z+SuzTDkC8K|h$FWc^v->%N1PMZy;m{;GmsG|{2)ytBy4=%7nLV1%DsRe|Aq zBgb8BPyMXPvaLCy;2ZT@Y!8ijy)&|F&79ytbcgEz-TnCJit>kv&^JP7g!S)%0v}`4 z{s6xqPM^bPO5ArU?ZPizMBzp3!9m zEQiKvp(6+T&w<<5G}=U*#{VyX$&fWs~I-uP+3P0_R$9SrEaV=>$u0#7~SMrzsn3nZzXD zN9||f65AK`Pko?n7LAljOUMvC!VirHS68MmBnTcy?&`P>+ukwFAkz%dU(Y_I>WVf< z9-RdaW)Er{B)en-(h2aFkQ%z%%I$4fgLQ*oEKUcj0hN0S5mW;w7cP;!>Y59t1r?$0luG8D@ z^?2}cu}P%wdHm<%rLm}}Bf7V8m+AE0IrZqq=xz7j@g@KMc($mw z_mLR+vi;Tm<VBN?KhDbMbdD?->(V$5_Ew$BLDYREFL&G7`N+z) zKcf&lp@c{i2dknO;!o0*C-s076tyRk61~dvoN3|FgVIds`GVIt@^XpT&^R~M;?kT+ zd6x0Hf5fh`nLwvfCMVupB6iGYds&nKv50-dBNJYJY2uPJa@Ouc04k-C zGEI`DrrK3hG=;HJDV_7UHm{t6U^pi@e;u#6zGRD7Kp$r!f<6Pf@`w1C%l)(%k}NplfI~^dc3fg5^8_ z9%2FxQriQtrNDC*RGv>Oh*OpPr(0*Pv98NqIw4vTkuK>mtbo&`{(gN9#Kn!xi?X0c ztt29^HOk0EJk>@01?o_$A?mgq+{$7s?JvmTs)GaVM;=?tVB5&l?7yAXu4k@`W#-@d zpn<=>aV4^IW%3SCb#~m%$n?rEzJ9c~y?sAj*uUC&p1<1Zk2vnUKAp(i#W2nm@M3R! zEqhG**dXG6+8VZZarvs--jvo6qYzeK6^(iHt;9|EcYe=du`L!(ONu*edS$UMn=!~& znvGT*{&N5@FsL&-G%z%zp1+v^Oa<8PYAT(P0X{dH;1X0k*r2>eQSR;R(WfYJm3P&~ z$B(Q^{MAnA{Lh>mwCb2*R+_`k35jz=%7uYA&=wMNnq-;7-PR&zT&Y^TDKXikot3jA z_Fj(d+L2an2^=t1QglcV)gM-^Fd73VY47i+)55%N2F_Up(FLIFPIEYsifTp|dWMNq z`s06g{ig$FNx-m4pl|aY>{hrN}rbJ3Q1pyyZWJfAp{d$zN$wTZtLM}ByeA$AdGffIOu zm$Ra_5?JdI&wYJZZrWr%_n_;oJJpYVO>3p99or#(@KRRrbD4)l>Z%-U^kTTU9IUTC zyJ2BB$E{orw)Pl@ZiYj{4j4W;#h(ieBV9^$`0Z&M`gN35`EuiFVQK%|y2S73;N-h7 z$VjR}o~cUt@N3OpW}Y*rw7V(>20k9RFb0>KodRpV7Jux#S59vaCqoV=4G<@@`Lh3n z5@ut2J#MUTU#z$GMjTEaZZEol-o(3wpb&%3X`A4DBJi`RyJFVPqT^!gCoohr-6AG0-hhRGw8H$}bhd1$ zFY%irJQ^QAyw9FSLL<#5knw=>cJ3Y1oEfmM8Sg3f^IJ)_V*|kktoH@`?qfLnDEyOx z6GyDLU%o@KM+j-7J;ax=S*#hD56Ei)zbg9W3SE;lRtsf$SY6y^_!2&4XPLxRBy2ceYHd_5;pGo z$jZ(AHrdZ{T;lWC<>NwF9FeJ+Jxt65Sd*_L@Kk$+rJY}zVgY7|#{0*OPjZM|l?n-Z z{OU2k5q1}!I%gHq!ItiG4lsZ*uV&wERCu;d0SqRKB2Fkwi<$Hl1~Cy#%!W-F<*mE* zyZLY&7gIr5c<6HWvA?##U2m)kd+`P+empAaXr_&yC#^+sqm{GMu-B}Do;o}zM;n9 z7|#%~CSA^Qux4%AFr1Qho3Z;(-!9yGXo!8m{+OSv5pm2zFI214Z6bZWh%j?qx@6}y zF0LJgoW-Kf?gbV{{fNlj;62?G5PpUV5inkI*2!}v{di6gdyq{2iSmfl7?rAonhS=s z9?=-22ub^6Xd+9EvcyJ8eSRb?*htWy*_P{u;bjfxV+)bSWxk?OT!|DOCe+5q^Op~6 zi5{4v&URM*vAmQ~UwZk$=dXY|9-$cu{0?}i-*#jT<-X8~)M>bV^uRH0Xim}p)VW|h z>o)kk!SU_zcwx8t^agSXZkLiDz%%&xsM)wWw4&h0mt?+d9Bg-V_QzJD1^XnLOLkm^ z;ls&8w=~VeMytN>m$?%SWLX}?XXqrIXDd9y8Y{8p%F75oxw;#$pv=@D zLLT`AceI(y*!LkWf-GJF@a+RVhLvCv3}{SYRxD^lD4nK3VH3yO!gJIa8$;x^nU5kH z9ZLAlw+RHlE-!v2eot!6_VY#F+VN15lp)5s)P&PTAu8G4eYVJbBO3tSB}o)^fXz{= z*U4?V7Fp!nV~%6Z*P3Vc=~{x4$-0drhq9{(oDYd}WB-c#(1&5#5+><5Qk#XuR-*_1 zYlkfjgU5$m(D)rtfWfA+VB|k2)~)4KyLeBZ9il19oRiXX0=D$aCi^pw7z;p`potx>ISD7tNyzZ7-G3BAnr>l5E{6cI~#Yx4LB93P;&mB32bQrE-U%Xftle0BTB|TO%+d_R-gu&0Eko?Rv^e_RH;&F#u}1x? zCv*llYwO-Xb+a3DXhkYSgt(0sgDC*Z%ChUt~ye~CMOeNVnX zX|!GEe&e{o&)(sFf84QbYHGv1SZilpYj<*c`R?QLmG}Ew_tn$;;H>X1;4DOepD>H} z+5Uwed3;3!2Hv@LjVE_msJjufW+eE$hFSvKLgB-FU;!G)b0&~)4XPUp1z+K(Hg{Jh z$8ppCt1IjB0cVA0u21+0Dd6v_waBwQN*vpJ`J-gP+z~iGKt~D!7nG?l#A7*272D3X zqGdDYkkGeotz4OG#PXarywIz$anR^;!Ir$SEh5T0&9-#Rd@zu@JYHxeJ~Hk8{8%c1 zSl*aE2;14Z_k^+QU-`LC%`PyoA$uOt~i3A@)GxekeMqgBmYF@Nz3} zj1`R0haxjSAiAoy0dIzMT1>D(R87!Dx+&*jP*V+gYq?i-72YI#=<%1umnsY7X|_ok z)q^HYqCUToJ)aAua$Or|zX8A*h!4EG)$pFr6CjK6f-MmF=@rTpwg0>xt`4K>s(hti zqUs|4vSYnu{b<|c#dTXY144P^V-uvXTW3Ij4bMwkL84dXrTl$UaaJC%V<&vd^4EFX z?=)N}x565(B>E>6HJkkF4P8@!bl?BQ<_alYCZvf5}T=NqMGpr-&)y|}nI z`ze2R*3b@AXs$K$wKcWi^J~HYKlw88K5q?Q?F~D?KJ+^g_*E!t%1+5|sB!0pDRrRf zgxAg_pU)7!{i`2s3aTQ5{~-<=ld1`>6Z#|0uBMstH$9|Vz zmD(hzJw5w*=>rJ6hr|mOxGQm0+#>dhH^gHCJqg#)3pv=EKxOzT!h`8{wk*(0nWRFh~uFbUe963o9W~~^tK#J-sg&V~inK~=L zs;-ryO&g@;1MpnDN57JuVtgywJopgsepX1#G$202S>sFW1(eUSodQn6#fbb|V6+;& zICn2!`SqHZ*}ZWqr%4+-vXV?|;>#b^$)HhvN{15EKD#Zl6Y~uJE5yI0b?G8(?DV_$4_` zsz|RhX#a->rOpxl|3crs5|jy6C)AinSN|&-{L1_We$X>e-41@4lE51MO-IO#Dxc-g zYgD}IuH?P}!%vXHYqv~j6&=GR! zzR*XuV!kQy!3;$o&p@KD^d;-m!l1>9+oO(SBWN5$Ey~Ioj~2;aBk)F>lU=~D^TZ06`}bDY*b*0=Bh2wnt;V7NrD#K;qkV5OUw{;eY6ScMFJ@icHM-rh zK`?b+O_w^YtUvf3;MSG^*Y~kAJ}y@&H*cHr_i59&KmxLwFkPP!>5jddES#C=iqM^z{*w zlaqV<`}eQjmVa+=_e%8Uhg_n>5c8)&1GD*jxOu%^tleMkmhbj7UoADk#d=W|mnFP%p(s z9!XGS@xdF^d==Rk0^pwvdA6ZMg0u|PQ1apX9f54Sp};_|jLPwi1i$*GP@o}9NH>17 z9_%Qyg$pNj;{A|avjb&45WRrC@jNGK9eKg)a|MpwA#3MY-o=a`Kk(zAUj^x6oxN3&*nGe| zMA`?25q~tE9ER3tbmG@!Grd*Z7PL9OpH$KCVy=zn$+7LqiG>chM`<=zP0-wUU$tYe zbR2=-yTPWr&3B{IC*MRE;9%s!Ceh^`dMdI%J)h5(Z>Kj~)mhEeb#m7PWOe zZuD+%d&LBYT=ElwM1{cZ<==2TyabKF8>DW9YkXX z104+eyQgx2sT5caCCxKI{3#WpX)>-UJ>Y2rvfO+VwYs{uD!s!+B|;+PT3VY3S=x0v z5-Nf~Uv1)?Z^`6v@LqE7eniLm*xFGHd~e*}Wf)@L3j7lXUwCX7LIG9FM zFk(05n3ufl5ppT+^5vP29dNoFxge9fUi91c5y1YzwreQf)32S*UO#(=ylj-d)_e#+BH>ZaA@biw}c zBJ;02Fk5~4gt-KRqEDnx1R@5!xEC9(t#BOjy$n?0>FL`bmGSoK?|(cJBPnF@;_37H zGV}Ug8-bXl553f4H96KlaY?0?C0tY4GT7nh=>Pa4*6U!-Kdq6|2kPk3q^K&&#QZ-e zP*nG4;n+wTKjzJ=H)#IP30B}9E5GZ56ogBWiGLsw;K&dPN(C~=aB%%Ohz`Mh;Zw_< zvWMdXj({c22D|ndXW<9Wb**TOKF_5BZW@42g$xHR5nUA$4lt?|FM=#2WxPFEs z!~|YqaI$weidx4K48baR916t*mO=3$Gf4S!lEB8IMSDI3vt*{2$18<|zq#hRG#}*^ zeNkqt)y+POtJR`Fs@+JND+6X543v$fyy}b^{b18#xUui$3N?f zyy^3v-uUIerK;B%?LjG{rN~C4ot;b?sq5iSNm<_tSU&*o*%Cu{Pk|q;FR2*|!ym60 z4+%pwZ98SE1tyy8UEiH$ReP*`7EF`&wn!S-4C8us z$0i6lnwkhd#F9q09pBBg3c;2<;9Wsd)9zqQ$l#>_F~9p;HxobF!^w%|%Vq!kyuFhR z-~2aPXXPY$b9SvAJ{qa7y_$EhDF|SH+YsjkpP~x?B?TKAL0=RrS`=gB|NOyT8-B}n zj;~_vb-eJsG|^0xB=2NPv6$fAX-8sTg=;mBaD8#~udb-4b0i zy_D(-KauL{iT)Yz)zJ!RH?fYJ5VPb?*tXe_^1cw3|D)S6vUI2Uu;vDPTM`d1U%GGi zSL#_bc$i8V;T=RDWQyoy8i|4Zr|Cb!5Dt=pDz8RA_67#C>Fv35pY^(2Yo?lDS3In7 zB}64B*$53d4&ns4<@M857t*+34Pgv}s(&MG4{lrNl_A^ef~^aplH`}aph5^JH#ec$ zcF397>ObA+j)>9Wz->Y}5>L~WWijsGBnWfI*lNxPm?1R&EEV156cq}!jfzmp&N}|0 z12L%@fp26E-tcFfuwEWk#KA<_kgfb!u5UiPuBQv`Zwq%4`*$v^QC;#19`9GZ zC?P1>-kiK1H``Zl&$rtLFP=>u9jRG=JQE1T$&}cs;GnpN;XQYF#kCgte z>+t0-rD{pcZaX{a^$X2t<5qbIY8qO0+x4`4ooj2OLTukz(E857lERc(` z0vU#)jM=z*Cz$8%2w`+u?3#C{vmgo6ei>4e^jO)d^%i14>^?tV7?U3ZM?9ib*g1|U zrFUm=l>R^glC%Zxj@=s0?@26bhew-47gsD8o14e>dChs}Mfl8k&qD}maj(knTxewL zu>NOQLZxIFE*V5Fr&dZiSe;OutJ9kH^lGs~z>l66A?zX6#j*rq7AgaqO}&K>oC%ef zijBiuaDJJ#5LYUVKC{qn`-&9%Pq}hB%iO71wVtJU%;Ej^YI4I}E|^En8+Bky*WKD2 zqY1jnR4w3H0G{s`F-Tn#g9nUm0N08o?oRtUAzm=oe*KKbj{!nwfa?zSGBbf!&H=!> z^taB10==z}?k}KpH8)imw4&FXOd=~p#wtnp(VKE7`G1K&!Yu`g?Jw!e(EufWopw{}w*U2~iA?&MCGx0AQXw^b8 zjZ^__T|rYp+{LtLc+Pk~@8S6okxYMJWpK?vA-Ki;S!^*Ru_#*_N2NXs#eGdat_K=( zfgD|o5EEIG>@8fTl$+@1*#en5CYIvCG9(b!Ty*mE3IP$pwEi$Dj=4p*_>?xo_`BN6 zb@8$|fwzR;tQLtY99gWdFblIUG-~hss4V;-)VPr;l5X8D1I`Hj=1pi;r2p`F*S2Fq z1i^%?juZVK?WWUq2n%mrBo(C6l)=x|VYtRj-JDX?-JC~GgZ!>?>=G|F)tn82WZvxe ziG~z`0k-V}gwbEtLK)r%X2_?x){%3~#2?8Mb8M&zab+JH>Mi^-k7;!vL6NS2#bz3p za`A-*uQ&^wZ=Qz(@Y>may;3{NJApseI&rI_GYT^K>)@c!>i%L_NaJC{TT90YvD;$~ zioQ%PIW$m1KDRR9E^w^_uCnU$ntdp*6+J(3rFyL7$&cP^c*W^fiA+&0gaA0<5?4`1 zUNtdP$itK6WdI$Ap3pv0DGk(s(2@(_Vc~{tDRpa&byr2-psfjCzs;Q)sWZBBRbv<4 zxq6K!XURQI!&6&2*x`73#^>k+@PD%a|ECSkq>In~(+2-Wch!kQ!_fa)1%-kY2>OM* z;{FX~s#%#vq9klnh)Ul;;(+~kNd6xG*#k=dI>i8oOhH4{Zp~prlbz6gRKQB7=;7GF z3c%WyOQ`&JK8<#(3cBcm3LtJa@&A>3 zS*6U^F1!vASQ@>2fTjNX~?9c{WR74k%;(n|i-f~?<$T@*FYy`A}c zgkquKL1bSzoCt3nBQkMJiBkTA680xC7zy*)kD-GFWX$&AC6Gc4#bpySIvCUUuS^y(ArOiR(zlimRc1yA&8WIIN4$E84HuCe2PY z+xMF8Rx{c0N+{Km>ZH;3k<=OX8EXN{M2G!{9)m+CIeEXdh_qWEa8e-kh1y_ZrHf1@ z_>cusMfK?wB#@V7zfE)N@&|y!3cFB$!y75ADW51TD$k$`t0jF0Ni%~&vyoCm? zcQ4!zSD(h7@$P#zBj>1tpq}>VLd5QobD-Ve@$xzzqPnDg2>XR>{{8DyNgrK(Vn1hM z@!t5>Y@QVgelAxY(NQ7|Zn%8yRy0$@H;D<`bsl`b^Iv*ACqWo_-0!qsl5u+X`}djn zkzC*MC(ctGw(bvJOq)8IvpPT}TyOv7zXEPsIA*R+4RLoizwmzroJ||Y>1?al<%PY^ zSN`@lF&~zJzcT}KAn~80MCCW&{{kGK1@05(@5lGfUEu`c+W00#X2b-LNFtpT&R{owiYj zy!yQvQ0H+1R0mgWu&Xk>Pw}6*cw1+tY!{sHkpF6QAn&rmJ-B;#KjKhibbGpGuOTCX z1ac4Bw-SD1x6(l_7Pq>u&s; z{UKnuldK2|-^RTg`aduxxSXuL)AzYLxhmQG?(;MxA;7{n?Cm3vuDOOdE3k2OwtTy7 zCh)#|HTiKVfCAEs`(ZaaoV=di1)ee{EpS1opM~W6*eF0Z&&p|;h?O`g7_AkhJj&oYbpU|FQVfeSU7cB;HODM*8U2Xx0pN-W_o)U{S z1S8*N+PI%KBZ!-68 z8^0DsKJe4ZAzdxm_m2Qi=e&CLD6p`m1U;ntltR&hR6`-`j)WI~n+adZZYLG1HV+V? z^i-A@UqEh+xZwYB=tq{ow^`JFd87{^_Tt;qPJ|v%lhg%6PZ@hoO-({= zZkJ`l!807kH?##Pzs((3XI;L?9=q3aXJXgDtqd8MyTB^J${ALHBmfIwN{m+^I>dAe z2w#xCP$I5C6+LejnqRE3l4Qw*gi_+c^{aP;Us%nN^=|;x-ziX?(RF^ByC+p>iKvOaMU8gt?M=q7g5UV4o`p1fLh*9p7 z$C%vhc|j>-oq@{imV+hmKJX@AfXXycz&X$Ig4SNPRI>va!P}hV41;i{;RIAOXr2#@ z6iZg_yp##)j_3{yT#8ISPW)z!Sk_HaB6tkCMZB zHI8UHluyD~72{Q2c6&0Gp^@Ay)=%$uxQr_ne=^zmg)Kmi(+!gR z5dR`tR}I$8v)lP2t@Qu{e)f}~LOXk^4LJt9Xvt5p|Bd(6YrePiJ!Fo*jGdh;KjD0R zypx!B?YJB}+Xy9%XLE?A?2OyJvGjsCo_oC@?46nUfYKBFr&-GfJwFec{8PvO3H=Z1 zqK_1sYX^xYYi863)fmx{e&VSV1QI}?@A?zyjoy>^5H}at5Q$2sK&8vT8@rzftaNj;{QBz9Q66^L4*$71MwmvTE2-d#*j=T)+%8yMnun($yjmg4xlC z>t3dM0bkVzp4Wu!J4jq>o!qClSPQFyhhph2l0XU*E#X5?>=KS>wNnLLPmuKQr&*NKIhQI)U)H62J6|^SKX>hz zB4jiHfKMtW?!eT46MbG!Xp4_<0-hT};KfogA*r4?bUQdTiN}MS7AQA#w^efT^8lzvx9koHsV7WHi`P%@-JWuo?M zooKvvJex*d#6e)t>kq= z(ACbfqloNYv}sJ2N%T-8(7hT1Uz6;r#@%BGfaPdzh7~P zqjd&fbqG4LaHSLgwVuQ^JvyCq3>B*mf#+L@{UcEJNr{a5TKbYz1I()hBi=!LsOf=+ROQB>nZZu>*`uq!po+PKAxWY zbrSK3C!pU0(fl-GkV8~0hX-iMsoPC0y#8y+6~KJZ<~-cP{X7K?3@Ry622M~|Jy;7B z9zQ72h51Ph8R4vM6oqYcQ5Q7NpG-D`RKw;88-)G)yL;_<~D#*v*3G>wDdEJ;@bwer}w&5bI`8`=<9$mk{_>-XgP4AASwM*@2;qnfDU9~ytjGug|AuON<_ z^l~ObCCcSPR;fHN9L|XXN0XEIFVPPGjOtk=L!)C(@9JA1a5u zx(^9}!-m_%?;-LHokknvO5cO)jca9Zc8^dX&|j}?oIl3&OFZ<^im@*t+rx!9^fa=F!J(I5>zdXe}cUgLvYWRpv@heaRa`1 z8T2fnygb>7?GS@(P*2z0NR#C{f~w0=VG3R2HP;JB^YCFdWU4p9!}I1*J<@AHA2B__X~jwGy8%_OKic#e6ry0Us-ZJxfqOhkSQ6tXN16gtcg zkLsgUBNq@$Q3PkkYLlmW7Q%j)Gf$>mfCx>Z%tTz_C{hke_YtLIGi>!XqD^PeZT*c;*)$yxi8Bp%*ZnSk=`6@u)n1{m#M(M#C| zzR=`!xW;+NV&I2Ppe!TVyB0{)2o{A!e|<^zcfRfDa(7>Ge{gRGg@grT~+9 z{$d+DJ*X^KnV=`T`2%WFPYIO#p92WHbhzR+iKDm@;)JA_-`_geA%|~sQl_bqB}yP~ z;{PsMFj$~uOoRGpQw+{p$g}j-4r0Bjy3{0yK(o-satq;D3e?8}X<_=Uk{F@s<>|yo z#C|_!_p@Z|BCK-(Q%H}K^6Hon;{NSVpZMk$8D^a8KJ~IC^i5afO1@F=xIO93_bXj zKLP&k}8tb3E9b8`*uJLQLeNa!A4L zjM)_Yr{Cu!Yy(w*lxG3-bq~?r$lt)gz1Y}N2OOt92{6`cMZ7@ueMRl5x&f)-LCR)7JG{vPuO z%71vTKdVEW-~9Ues|ztKk`;91=1eK^h{3_El1_0bCGvi_{=3AO5ZtkaSOPL~+{vD5 zy=)n}k-tV!!gkUXiCI;bgTrFNe;F8$^*98*-GVZgH^I>C}k10{GNV0fnO9b1# z!q6P0AymGO8bwI;OD!Q?od!`b;!?-!_WMz1@yP1@e$J2Z_Wao!k?C2*f`*io-KQb<9Q1-(^0|)G^k4V`z#A1jsH|t2yxezHH^#wAQV%AMv26ZQ(F! z?f3;MNsDrV^GoKy!pU6>g;HlLTXM_TT*HlWu=B0oK=C0-M5{*IitEA)W@H9X8&W$S zhb5wlZDb%&k=N9H3qv(d$3rz%SnqX;r2e}qNZoL6`vUb;ETsJJW-o4$y;@9$a-t6!JJ6qv>cgMwVO)cA$e6X&c|M5aR_9} zMN+3=?3>Kk1oZXPpy0aw3Zo_>(}{9HGMAlfTO8saE6_C?6{KpZu1PEvr8{q#tp2ta zVNKO46>lB{(*T{;z@s>vJb1-i>Kbmo@~e(8kGjMql3WPn*=z+>`S|vb_3-Yozh5w( zpEw_-i}}~w$`-t<_vk{9LrmpDh3Bs=wnkz(q^_Npw1fqb{A(pkdCH&C{>2bf<#2?R z>h6Z|mi(|Ze1!s1QsWKkx=0%&yvd70{d==wxrBIt(&zo-8`qz#ZT^Df^(HPej%u+U z8@pF<@91w(kmJ-?xVfr~x9;?L>Lo=Ld0k-nF~4JuPzMk_Pit~81HFGwpH~P##K{DN zxQy}Z^Bq3Yh)tsZIe&oz@=A$+nguqLFs;2Z@VmnW!AJ%|%l7adS~^_gn7*#nmDK8_ zB>(nl!ti=Fk(V!h3kAPDA*�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%0D<+e}%vvJx<#=60wo)}k00ZQ~h0^84 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�N_&ZeC-kc;e2e%~ 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 LCAd!%h~Dm#@Ki@;q9! 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�g=)>o{F!wI&6A1;pZU!TBW*0*{C95$ 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

8AK-?(;JW}`1#Y800 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%0AqE&1wwvP)ztJ~wDX1zEG{)tur6kNKH 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�l#wYg`Y2jhXKDqyxP(QKfCRVnw4SVMh zm%*H4%!ZL<_0+Gi!`yp`!Q@nT;?84!nJ_Un0 zuB+q}ij78vo-VXq``&G{UD!7xSWHTH3S3;9i>G(X3(B^Q?a~pVy5LC|`%<^-n$S_W zt6_A2BhT}WpQnu;Os1vQ!|pc+F;bXwV6X4I-93fvf?}B!wF_L2hldWklwlR9L|`@= zwfGVs-joRpx#b2wtgk3&s&L4=_LJ?&!|Vz55=6Ua=(k3C=9oPEdA=TkBy}Ve{UT^H z?RLtpwaA$;G5~Jh{}$IV+^UlW-OYN!UIzK6Le9Pz8z0F@6DZTHZg}$eaj5Y2$QDe! zV%R#RomCbSHg;4M$gHd9IMZhwwJ&0WYOjjQ&~_$}9Vx0CKHGll?r)<)7uCBYjb8Ve?bA+H4%aQtekXV`8sFLB+|JX_ zICT1uTp#eBRO=krI>_%=3k^P)7Arx{Q@#Ab4G`ox%A0Y{kT#7HsynNW#2&XaK61YP zX4mkdB1{8^p?vt>na=js$ddZUykRt8Ew4}8kJ|HniPV-Jm+G#9$IL~r=c3Oy<;Y_k zJ$ts2rsUhsbwu%px_T`n<@1Po8Hr|xVOl8Ab%-{;dLvNeUvQ}z4B-j4%ZQbD4WO{m zh>woR#dRbhtd*c3%hAY5DE8&avMaGnCfjgg#~V!Zkbev>?;9e|i19MBSp8l48XcVs z8pG|^MX~iH;64{vn3XK%r@d=tWof=60|xq^NtSv6o0t~~bbiL!nQnU`orC7#Vr zzpOVx+Dr~~a1KdfAY*1d7EBZIC@PV16n_!;Vs&#s z`soGbodr*`18ny?th(W^JV4z24A@2cJoeSIM-s|c#Vn~e9sSBRyFCw{T_fEZASUxbsJ0U_)oyiJ$E zgc&F>brgxyQHn%vowLZNM2gCAe{IJ>8H2+Gr3T!s%ZcI?7RCbVLkEZ(PpVwzTlxt5 z;|J*Ur4&Af(G{HCyc3^1BbOJ^al@WM@TRffZ^YHa(QDK?_7^r4x8xHwkdr=8AA3ad zo!W0O6e#KL{LS!pt?eKoN=nxx&uiDJc!}e>W|;6&7=z)51r*Hjy<~BJhI|WwCKgVM zlIhRB@HC&oMNU^pn^*-dw_=je6D=(RyLCV^nl49;@Uo>~E^e1x>4glWT ze=x}qy~Su+bGlJoKNE5pm*{E5_bli=-Jf%5XCfhf}T3oKWi;B>%?0H zZRd6d>?eVIJO5^E`C8#?N&k3C_oMfabiwBUib9p%wItUFvrEs3yhgi9y&lRTx2}93 zYdgRVZwQOnQi#}f5D2(@G@$r3Etn$vj)@w0M%t=iX-kQ$73bmsjWe~wS%t=6NB=5+ z3YKJ@(qH(aaiz@zcHQ|>gX}q~^O(Z(B$qXJ^to3TgL!!wMk8?H;-pF8EF6*;% zc_Q&c>a$?9FMX!S3T3X`$2V_9^I3$=?~Ra`+}1kBa>2`7Y#+MA4Iu`>Hrg)y z=yI1r_T^sXV?l(>Alle+DeDKe(MPoYPEvqeh}_bw2km^R{YX zr>t)sGXT?#Eh5W3(69T$)qB^8>zJmM6s9hL4$S>?CT=?l*Lf+rqwVxRI+?HC)jkjF zDGo|u+pSCCK#AVu#=ER3?Ry?#xt5NIu+_R&T7x&2O;Q*dz6RA52Hbf0>}%>%m}xjcE@DIZ~Bsw zl5HCNOQR#g?Y&2bQqsb^ZfXZl%T_@q>9Y&7CGs?h<@K#m5F@8CHq}g6Nl5+b0mEr7 z&sKZ|X5E?7I&5w-;sms(o#`Ik^ zK*x|x#8lD6@U+h{PFu*(Bt92^RF_HIJ5KB0u-KJcD;ix=q z;g5klP)?`jZA8X%CMMb(e--Da`gXg$@`qY5I7PB6i1~3@=FODrT-*chd_nQ5e*pb5 zEZfNrG*1jN8jONA>J;2zb$^My-nb2hmpBHLu=O0CRz-<)%HmdYJ_cD8erdRntqLYg z8Hu&s^1Ee4>NKP~|FGw5=GmS8hrEt=5w6$r!#>nMe!Rv4d=Bq;6(`A>qExK=L^1J zH#x-bon*-SKqZp+#n$+IwOyh zPrxhI-E~dB|EA5IiMWGJ(_9}QFt~8XbrmFLICd?czqt#O$LSlfV-y14b^mMa&wo4r zGJSSKn^uY%`#aH*4TMrc9hGZCgt$!ddf4NOHmfp8U4mW`~A) z^>@y-TC*GBm)|~1DcSOqjJ^Lo#$RLoA9p73sZeHTMUTvavyH~ zMYP);Yx|iJ(;t3Sc~4!v*7<;YNl8eXu->Yj0mQ)eCs{8eoR0f}l7Q=MndQ&z>UZ@G z7nIE9&`z)Ie|*z*NHp;PIxspl`mHUlN%v(PzSh;BQt8c_t z8q|EtKUl)O2IRSa~?nHyxAryS9Nv*EUzp z2F<*WLek;z#{}hLA4?dq0-z&+POm^z&T_W0;Q`|tDLDe6Pn2S)+V6bv?cFuG5aX!= zPNGC0uw6R_`!gVU+9$>NJhnaei_Ua2bmMc92LFaF0^P@A_gOI~FLOv|*L}uPAWFYh z{ZyXoJM3dNKZ>i}yJRbPG8A{GGbY!4`d;Cw?atB9ok8EZj{6~lO_y~_g(~4|NpRPT zC*06XewdM*W%aFZ#Cb9Y2Fkx1S#LCr4L~NQ&b&I<zZ$W3%o3H24>H@z6h`cM^jkh1VU3>m`mGn=s;k!OWE@S@=tG)TOfS7) z1J(NxIpx9g8F4a7@;-s5G37!j%qh_8UA`_1GF}can6ZLO4q6V+o(9*cM-RM^v7Iz6 z^_;CZb|QXeW|xnbO6;p-X>#3Af{c zDIg3^#@A%dc}k2E6lESvY}Ere&$9?<35g90FA8*-?2XB&oxQ!>+|4h5ot=a73^2<~ z3V_U|yT z)o%Rje6jh91(pznifi;fQ-3Gu9{V0uhOR^LCqH{+J;aOzLb(9!1O-3 z2t<~Nd+-G}>)Lt8cAj|yTFP7dZ!|jN>dchZsA)}2w30s1tM&zrt~#m>Z%T4$&-k!|e|&JoH6kyzk$w2iMJwqhHf{t4601F8;BQg2j`gTUl|B1$v47WnR^*6gK z_3ZQN?0)rqaTo@2D*4#8J8;ouhk0>TzkEsBxfM9-`%S$hxv++-*4f!x#hK3FXyZ=_ zkqwe_TC3~&v9gyva%R85Q3;5B&Opx89wA?+sb@izH1U%BCDp+BQ9$N#%zu7=arb<^ zjXY%{)0d&Y@k26a5p86$8J4qpl0Q2kOTHxL6-v*~yKVYK!rI@bN2Z>kAGQr~=*AM3l{p(ps`+i*eiN?*Y`!wr3 z#W_*Fr!Cn}c!|y9jn)wLIq)wmZS%ZMI6AYhbk>|2b%=F-m(Px)acy^8mT-cZ@=sP_ zDuJ%e4S_=wXHLeTEWTv_3CD=yf!Orcip(8c9e{!lq=n5!ENK=LVA>iHEs1+@hd=Z+ zx=O_k7Q(?0PfJ$Mg2TP%BbNR{M^a8`$?$Rg%xHLfjoRUQn^$JrQPL<#@=vVtr$ULK zv1{V_7}vdF4T{u_u}pDmeP{wzku8r3a?%%TkztIzDr8LLv!OQvwx4^6JxD92TuU~u zqjBR4+jZrz!A9h^T$0a_n}6GI`Gv#y+`)umPLFm$5OP7~;6%=|o)>P&Pdi)a`}Fz1 zx}=9@SGPT#u3lEi;y!iz2}Fhdq|+jYp(@joy`47_YS>NcrN!nP zZUT_P(5~RgRv3v#d#5!C4AL9F_xHgaY@mjebMX8hi0f^~OQy zHgOb(&Cy3Wmh4|a%7bggW^~oXW4vzjv|U!yvKq0JjaUcQvg&G0zXKZZGKjL@Pu1{LN;qA*ceHnMSt^>&~lyV&S0({Ho_I zt}mTC$S(LwmQhcbf2ixGN0Q0wulF6M=fo;0vMhrY60AzmQZp~lGjqVBqz??xY})T@ zWM{&3w`AE;B}c=tJCTaDLYh~$7(uXk=QX`ITe7|%2kM6#=Oqv2vs=z`fXBu4R`sXB z>HD1F0^lRl@6%`#o5@Nx&W*-uDyZC?NJ6*7lynh@k$$d1OA`( z=HsummiPKhbrW;dnNCEgww_E4q?es;5=f&r_r1;}lEiDE$eq0cRN>mWHRf-#-)O-m z;TzuI3nM(KQyuI1wv-L^PkZv};9F@0Jni0oEfef9pYlsu`GSkvZ|`F8{(bsk6PQPI z1RF8(3_4Wx6Jjp33w7;d9p;r7KzirX9EMvBw*4_D*)v(i%lhJF9k~ehI(G-n^*ch_3zn|)}Qh{Dn&)ahZrYZJ=u9W?qX17{A(#?Gighg2vK{((K>QR>N&8YbARu6 zBljax(OQuB-QJkfkbCU>9U9f)rZolo&8*NE!?^OqqP)N-_(At?$dBXlU_Rmf&NvHp zwh5kGDt3trMPO8w0e44iuz?I{syQpF2VZQ~*xz-(a%kz+HWFCM>_uqj%r|Dxz~k{p z(u+ARG{^c0)*&SPD}ZTSTpTv^q=LceO5t$~tdKt;J%GJmN+)9*Z@Y3pqSoOwVvelZ zvltoBax-UTnvd6jf#gs5KQ4^_WCiQ?cA=VePeXo6Hf?8VH8RfhIU2VE8d8IaV8 zsyXZjtI^S|V?^{F(Tp+lo4lMkhdq@zf5H`W345TG z%XiVFpzl4Ges0>RR8>#5$ZsD&Qh@sh!g7n5v(l`TheS2l=Wiy?BArfEr-il6)zg^a zLr|8;Q|q@No6AT+3s@(#-&e5p-DLi_nEC z-RcL1CeF873uHR&77U!pXJU>Tb2ii;@IA_cL@E>7kpM^PicJEQ#?z|fO)t%M$plaB zCWE9Jkey?Ykh+4q$M-eGUrn8(-nU^VC#!vXialc|amh^kc~0+!z|R|4;pRgNBbl>` z2GU_bC0VNhND8TAplSWIt!tQppVQuaG1Yee?S;U^dYIHh~QGPn$6)Cf4>%xgq@;4Yz7;LDj<&O2Dd1gV7c}^3z3iCYKmyp)JTVP{; zn#kRs9e-zgxU+Y6+bYpeOtQ0n_5N09(~&weJTeum3OvE=f||9EB{hbk$>(}p^xG;HRx7@%% zYlqRg67i-jdtQR`UTPVdnB*t+DIIg%QhEvKhrap=-2jJIf|#88(C>*kGk=r<<6G{B{f#^2}DIU5r-y>kSrvKExGY>!o@Y8?_KgB_1i7F9aza zJTwwisnhGA>dSo0)B~%2WyV9H@OM!WX*5IpsnHu+^;xNImIZjuz-Tl&5LfEkEoDS3 z^XY2l)VFS5;s2)6P4IdKNgQ+L(V`DiHsC*Jm-1CNX)vs3^Mbe?>Gn2yDE5e5p#F5M28NuVc8j{#^qdnq!(6 zG8>+T9NWKtbOyG2J>BXBjpppEnNp*P@|{#V))H2uQ7vBue!0Pu)#k~EqVmlHJDxcC zz7ru=Bf?0baVJ2b3UnVRytc(x8d~Glgt2#5hhPKMAS^Ejx}08ymA9_>zHo6_&@ys%3gHwKcqp&s8VVr!u zC{G8YSIj)mz0@PkUhE<$EdQ^>;JGY4k!%Q|4PoQXUbt=9ry42?bzO$4GKCQ+1+TgGD- zH(REGL=%JhCm;N9BDTHUz@u|_b_dMzFiHjd<%aGCZD zDv@7KhnzWkc$(DeD~3}nXcxh(bz#kn65g`T`p)maIKgTx-h2P9EY*wJe#Ad_{W0DN zq3iqw9yzSdiBhx%k=8#5M$Iy4p`TP%)!<|{Rx_7+iKaR=ktxifkx?LWm*g$~JD=yR zbBwbOC|&ICmFycDv3x_{<)Mya<}8{gyFu75XQ`SRK&4^5hsWdz(M^AKkv6oqMB^mt{2YS$laMM_VZ^%ye#_(qcm&{+Q)wU(Yc zM(M6wV=@ON9Sno!vJS}l<8)DAiJEK|yxx)=MrPO{?uH*SAnLa$+Z#fNlJ4O4wQJDN zXQ<#rRaBSTD)OWjg?o^hOBA^sWB*h$wRAYDtrOh$SoGZ;2k1KwZ(iG1$8zfSJRWeHBWH) zChDwJVw`tyKO9ypN|Nh-(G_R#FrVXYX)Y+aBz;Uifl5srhALYN=Sz)d>per!Xq=OC z#S*x>9|S8{oMV1rT;8ur!Pwv%&T!tica`O!KSo{nJ>pIshdT^f$DG2JJka;3cBsaRbj*N~Jm`cfsDVjtfAqgK@-O6f09H$`lLjt?Rr= zBCH%zKerY;`wcM78jq8i1%A^lW4rULz~y{1^ z8Qpc~C|AHKK*a(tT<<;nI2S`mnw|;6Mc|KBX5O36Y+)w`_pNJ&If6_H>Pw**iie0)*hv$jYMqYYrWp$k9e^l@PDyRSk5ASQ{>o=xu1~DKf z*=&rnI=~vRl^x5T)U)ktvwM-zLS(=*X~iF50c^C^3(I8cbokY2x~;wt2I}%m^&KUK zN?Y>Qm+iDY`U1SihUcUrCwIv6%jsT40^>ide@Ax1n+N7IxYAo-gBr==b6Yuzt{rug z-KkH>pf|9=xr@+LffbuC$V*>e%i@2D3}v?B1%|-wy?!TUP5aHkQI{$3fp#Z`b~4jS z-b6NNxTfZHRgcSe>!NQxOz{}S7P;~3d>RZkE{P-{VdhOM+|}5+-CQ8n+`cgx5#kj;;)K?-oQSyemA}O8$x#=F@(CE zz>Hss@Di0LNyiW-fqWgI9f)ugIf*Pv{hMy#Pubhn>5i?!)57N_77;K9cE){W>}j>Q z88{bh>3C!uImIhLCG8OR`-==F;D@d_+el2nx4vSBEIP_-N*$(qx_sUVwLj7dokvJprz_Jdkn5Q&}LjRd{Bu(3kIH&c*a7yEW%mZ7sk-zyJ^XOw6cDU z>c0q|q<2stMyp$$Nxl9W)gefBvn;M$ zpC_Lze|U`04e;@O{-cpwH+E=O1FgVp7o_vR3ly_M?g%fttVrISe`by;#BTr~R!S~9d7=Cz6 z9aY6mthCSdExzJ!gTNjeLvibJL6!5kqXrl4hq(UJDA&IkQdZ1Jgf0unkuA~tOSbr_ z48jh2vh~HJrS9|jUsYAs2g0>w=lKf4$mYX*1wlIWssdwoUkuehR2wQMREgBx_tp+; zinAYD0L-bKWhLeEaR*bF3SuMBnAp?`*TI#?!I?^PA1$@t(|zw1Ln~u0|J@D! zjbyFK#$^KD!LUXd^5$?-1Fit1#KODX9>Z27OTOkJPiT-u3r+18f`Og!A_}BxwSry; zwNxS6aLLzB^u_FR>3Rkb1p}-H*LOaZ-)IApxQz)2G~9=-#o%)i(+^uQ2PQrWf5!Pc zw{bQS+*mT|A_JnjG{G5>JyAh4#Ft9wiC#fILu3G`KzsOJbqm({#yUiz+Z8{7PkSV}&UDC%d&n5at&=osyVDL$gpi4{A4;ws%G zBg%(RJ4PL7SQXlSY|TpWgL)v zh^`blDr`*h1DHogbg^Z-=$rzTI&8psq!eRYBn{Je?yj4Co8%WzQ_NH78R)H0fKv`nWMVyRVMj4Pz$LvJ9FIW=Xw8L-%j$s9=tvH6 zM<^_#6a%j#viR9^+lh!>WzBv2wFiKEKb%tb~XRXsKsgvNfP`IT>q zVMP1eCdT31QB5(%XZ7u`vQ{y;nn$!E7!8H(gWR|2H??-Gy+S zE{4!u6UaY-XaquO5zddkN#C$fxsJ!kiN3v-DF}Tr9za6q6%D>kCnK5;u{9pG+(#8T zq8v`%dW+O=bV9oHd6b}0XJ00Bl3%O69`0+*4(98)hug2f3}&&w4E|D1#d4pEMEwum z@y^<0oaJTL3G`HGAb6XUue7`kE)vUXn(h_ch#*f?`OdRq#5iX)N&Mb0(0=5CmuqQZ zj_+>QKL&{FDAKP{dl(yTL_6O3dxo@wvBPt=p9qwB6BqP(a*08FF@R!F zX8+CKYK+PCd`cxmV5G@-1GDTvA6)EjEYlRR_<=CIAA_GIcgI&`%A9ZM+EZxxOx(E_ zPv%n}@xv+EDbYzJ1{)N&$J*$xUx<|rPMUuzx^ori2sFSfe}YD9Io;RX-f#QEU~<53 zD9h%9OZ3xV+F;jXj zvz^#cImOM}W7ZV`FmcdlOz6fn*}T@Dg8jVk8h)P=%JbZUW5+Iqr3d!H=0ht#SxJ#u zW+5A;0lssa`*0gq17*ZR?8Ve+)bJ>?k<2M&ByRtvVu6{;^gD+~$J)jIHNM=>>|vME zzHA%jFXWhm(Wu>vZD@>$ppvDUXXcif*w4uyQUz~k0V#{mo>F&{rsl9(t@^!~tN zhwr-xNq9Ap0q(@I3wn_m-^mJu{w><5q|NC4hRYs6;8LN%*;Q?^4D0$1tU=N_P5iC^ zhZXN7CT+fJ0b?PWb&kNBoLXwM=vC}Gx(GK+VvfD=R5DS6S0qkokTi@3?awm%2FA}& ztgY;bI-Ifl4UEbl9iHY=xPq7&E2S~jnCus*)@S-ks&Nu96O6AnxQTEbf@SQl-7=jj({B;$-T`U}wb$3~Goy1m^kksN#p_a?BV4;&MJw78%zD4k)aI_O=RTDO#=< zmAAM2K7zKobiwPX#zVxn=x{?MGOx(UC_|Ne(C~REjNYLd#_pLdLdBDyvB-s&DF|E$L?q+Rjv589l$$!@hO_G60aC zCl)I}Bn$6F!-tVe2LFG){6*O{gN3Pz?TQF}a7%x7V4d@7&AIRN(Yt`!`2wPP|M_UW z;iR^6U3>NJVi8m5&g%U$fb?A3Q-2v${=Yp72k^_apYnkEfzKk$Eia~sA>N(A!SN?@U>66#P&ae z9J%*<<2(WbR{fiHH=iQ*p4EwJCuG2)JWw&+)D-l(0uHVc?xIJh2qfJZO!}wim+P3~ ztsdpV&B!8MuhPYa1i^ky_(a7nPzni5IY4K*WRp^Pu6W7VF2rX2+Pi!p_XUeLcBS`* zC5m_oszz#&pYc7+o?QkZuK|3qhwS-_ELI@?>ZqX=)h8BvHNtWd$eyP&JdDNYycb(R znVIw!IW-6JQQnWmsVbxvVDx&949i}M5Ov6q81my?2^t{);xtaD zG}7P9pF_p8q2y@~dQkgvWtCE!n#e0tRmCOVu%8T@w0cJ-e;d^LRD_`723s3oqfbf~ zZVsRgR&MaoWJ4H06sP6xlCUidDCjI2#Rg0ZyNL_QNja?PC-wcOMDie8LeKLT84Bkf z?Ztf2$RzYy{zk!oTvM+#asIJ-(gn@fo+LRhn)!GeY#;!vc07sn3$fK0{{}`z z`_piL`O3XV&isT|(A&0Gx)a^xB!m3eNMa)tf^w$aMh8TY* z?R(i;GSARsJ|Zz1t#$scT!eJK-iEn#CyhvVO%#l0uX;u^j4{R@n~79&KcvI~6HP1w z-)`c#IIKpBA$=F#pT`9qjUkMYq;<<8MPfWJ#1vgvm*k{m`0b3)KL5syx}ud^&>PYQ zodyAVg;*OD9w$)%uB^1auo|CobzhBlYgWO|woUwE##|7WeMlGYZN&^=HI9&nH_Mnm z@A;d-IUMj)D%3VRAr{(_A5b0t3?Y3x;xhj0H1?wD*ITenzY=)b!{j|^)cf;hpG(Rx zy>vos;tP-FhL&_3_b{^>pX_`ByiAG(XwOosa}`}(1o?tIFFxJz03;?f?2|0#xxA#@zz;FJDlnedm z0#gOww3V-~%PS~Ap17sgIp$JyR15i;c5QPU`Srgs+xUN&-HovIU+4=%>|+N+!kJSl z*&Br$E!vS-iGL$eUk@ry$BP`(8fQl1dBIMa`zZetx1H@ri*@PgAu&!;m1fP92eHZxf#gim^$zpdYa>pQ%G`Bsm( zX;oLBaRi)s1{soKSTIsLMy3co91cY`m2big^D~ZbSsDp~%b=SQ^z4$b4ycZD}52?-|yD4bZza|77qU;QH?b)Zewd%RGN^y9!o zXO^j6-uOFr@9b13rX)lX+#FaE%*0k(Wdnonsd$W{t$QJT+QqT}{3@B~G(Wtr#>M zyxV7k#`rm0Pc9KDR#4o~B4TKXDXub;%uK^dcHe&!S`Z1wD2&c4&86deAn!wzqvr7h zI=pzmeH&*^w*KRebJLpN?<6ngXpktp25(M(?q8h0!n7&2Hz5a9py|0GFpwm6jbGrE zz63jTb%)*t1xJC!p^5-1kZgTJ<6`QJvkxH>0X; z09R}IIzS|Y6^{p5>Ee`X#43G(5C(CWPKFpJ5W zup4{-B;^jkWB^-@O2EHspVq(gz>-Qi?^tBW>AjpBUj{@=sNe$fXi~Q5qfwr)|g-JH3e))?64f^N0@oJ{~JJ~39nj+g%U$i zd89?T1(heuG>LpC%Z2Awr;YDS!RM2r7JIj&hTJzxmQWas@GgiTFc4JM`}aTrL$WF9*d6!kIN`f zEdQy@kEC#krInJKMP@(5E6{m+^GhKs3DMl-k~8Cm8fL~r9mZ5fFLvtP+jZ_WHezYE z&9@93JQ^{wqjBp{aQ_K9`RJx6?FPd+R||HSLioj#C1IZ)6dB35rEkIu1oSsfB>yB* z%ZM?HN^+wRy+Q4bL{Q~RWE13d$i#sEtR~iIF1%HH?u_L-$SeUYODia1ky7xCEss_0 ztyA)F$B1E&P#D5eG@$3+P!ZU>!g(NP7!VpnB|Oa9C|je`Xc=6=oZ0D6BG-XJVQkd~ zn>B9&(E2vV0@8+qVWy8qs<~UV;bUx@=Za^Gnk(l>rvn+V@;JKTPZ#O~z1@W}5{%e! z)lA_+1saheRou(C1w1`ow4G|f!CFSMVV0kB8U1ytdmp$G9vx!!F8Up^G|E_j)+G_& z``hfPC0~#};;TO!>i{Mxv3*3z_uvRNiS!+*$XH$s?kzr0#k(&wnx2MdpvhpirzJk5X0-Ey-+yc6^P-LTX*tbL^aG6z@tvN{>^ReP+FNKxmi3Sh8TxJ#txv7Hf zCx?z6s$ZcC+vC`8}@ju-8?sM$O@j*r4hE?BF2cl+et zBTqmict3tXXz(R6{(9Tlz zF$Ew$R#SWT5%=L^qoTjNzhtUsfCcotJRfE=%*Dwr(U)@_r=#sV(2mPX@9`*v2iY!vA{1?AO{orm*| zK`!PHbEM)dp`hY3XqpX4`|4`|m)*Jdz~Wb=_RNru zkpuIXx$l*ElF2U4NW+PQO5BVG>nGU2~mT|8k{5%e{f|Y zaxoazwZskcqsKRi4VBTp9w~`!D%T1?Lm;L)4X-lO(4|^J(s_;yBFkb$a3MxZf&yTj zlr1O#g7~lWG?9^qJdZ>{%S5l8$K`Wqix!dDQ??qk~APpiFuvADed;wlKgQMpOJR3NE27u*LNxBQ?B#&^5S$Awtp6CW_` z|6XbEYbP!5n(gL{kTlVLhkE=@p_E<#(R=cXoVL?YAS_e_XAzGs+- zJyfR!eiOdJ`*L5{H|9L_MG8;Y{a3?D|iTY;<VJ z$JJj2#o4w^py=T465QPfcXtTx?hZkNySu~S?yi9ZcXtoLCBfYSWKZ(F|6a9LJvFCu z)YVsaUvdxLMll1apHovcT|o>evQZp*5UoY@QSn)gpwIeTQ7KA201bS0$t!|9h zP#Z4{4dlQ_sdNLR&OYG^de#3h%PZHSjR1GDe(2cy5B~gW{3~}>KhSEA*X2jxQMQd+ zmmng?Mes|*ht2I|9WeCZdwZ@l%O#8CJHl`=5z#EMKQEVQO+xO@2Wzkm`*Ro)?GS)uC8uR>`t!>d8?sU<8JM5%`z&6#pTxY^`G}27F!1h_%T_ zzD^xR?caA(67(*^Bzc3Lz;Z@5V5Qu07(4!DZIP4m8CFxSU5WRBw}$Ste>h56u+;!|ZNHPR}f3L>gI<191 zl#@5PC=M+~X;FM4Awnuje4fABCt3Yr%yEn({x!^!xn8%A@^=JpMo!k1qG(tPILfUY z7%QY7l&d#$*o9eD$mZ)QeEN0E{E7@BL2Uc0`}huIr|0rX4dGJ}M-ze*6Bzt1nHIW! z*UaGCS?|9E1F-aDr^veI;1!B;!{WO8aSSkYuRi{~zP%+5&Bi_A-S^JgM<*ILVG>jh zFa-U!!l+2rVc}I&T+t<@oX(~hnG(Gi>Cxn#*Eu86s#LD{q1vT8@X`+CYj5AmysX{tz zolD;Ms#5xu?V*!xhzyI85{Q*7A8c2dL<1R8(ecQ zK?L8i0d7rt&m9;TK3sBIE4s~}JGGK_N<^xggS#bKX=X0NwS(AL z5{Lnv4D19>`aT9gZm9rlssEb=Fl)m2Eh8Vv;~i&`is%<|l*rvmb)=OV@!((S&Xlwa(Z`WN`wCp&pc%buD_{jW* z*=9qfyZMvd&=lN zS*hM_b5+`#Mzr9uauEHr+=-_i!BW?uaqTya0hiDri`*9Aa_!&pdB{qGx3G~`Pt}!; zdX}v|I6P%o>J?&z*cEON9tY#*oFjuntD|6cnk*ZmdUUYJZd@dEGZYf`sc&y=+*tiD zsUd3hs5&P{)7a!_Z0*|KwCw4_Bhp*tA76!61h_PhDmgKnTQm;QvwRBIf^ejpl}fb! zi?6(V40wt8Wq^W{wcd1N{tx|gLsM^X)2i$HOQIQLGgR$2h?Rb-efzvsM(#d6^qv~! zKlkE0zL-@=h|*FF*wrC5Yx2zavJ1@au0My;hB0p^b@cz}JUKUN@u4J{41|Ce3l!t5YU)dw1{a*%HfXS$b)lm%2KWs%Gp+1WKYT$E` zbU~wq`j^_<(iC>UIjTh!RUVF!+5@@GQiVJqJ8Xvy^G0e}SEHTrpB3mr| z;<_UvJt|HpPaN_r$)(e%9`zsqCq>U8|MQq>L?O`c0o~U;`g#aEp~~Q?W3TfH2*mew zh&xNeJD|_65y67$tP!*v$KkjA*hq6nO_4R=ffgi=Os-9C?i6maDhNZCQ1h!za}kdo zA!!^~U1aV$EdYVo!t2W3aY6WTm9Ap}8QxQg;ZrWv*_m0AComlI8hnwglu#K&GEl#`B6eN7`Ot+vE{wLgjc8!eG}+Qd93}zj?!3ao6&Xl=>M^8 z#rnZhfsb@_t9|FOI&k4CkrnDqdr?)}fXQ=)E zEjpy*s*52?`+<*c5+I=1+vPGO{qLiNSt9jUBmW1na7)ws_;-lYfud6FF9(^FB2Yb2 z!qO|F46g;xWMhtjV~O?P$6KuE432milZ$X)&X?T2YnM^Jj~W&fA4*^34$nC*Q4eDxVW0{`UTb+ z%waJ4sQK(CXxzV9w;rAY(fu?lwKh9Kol6#FtpSaneNVWtQ+eclFfYkAQm`CQ%*#@3 z(LpX8OXpbiewt@u3b0NN^rR~z_6W1fC=eKd6gk0bbtZIYY9$xSFaG9Jyop1$aY=Ib zv#0>fUvJmzPV@_QvQfUa_sxp2=lHGE|AR zHR0rY1D)N?*p0x_aQ2=)hJTJ!0tLtoQkM}NJ7;CXzM`uY~bHWvIzsMs(Xc1HQb`WS+a>8d@;m; zLpS5f-}`Ug(VVJm+4Kw~;LNmKhAfBD z3dKE>0hsh~fmo&6+VoxH`_MT$J6P_hHWCWdJzU$6;1*O5Sxfv_sUzxV*%EkCBif+I#`Ic|Q(tWt+fJ_V z1j?G}gm`D^r`K?jCyGIkPvdj36b_saBPYfJ^x%gi)BZ%#AD-xbENh(iuDHi#JON%S zojQAh-agqAp^1$7NTjKmjyrCY;2Ur;nKfSZt%}G8pK5{AJByJSoUVFdiJ?R^pDz$s z%acMOJ^#{L5wh!u>X38sdehyMve8%7qr;=U*c?`Z6t|3u>WyP>EQz3Y=>&qJ5ClA! z4|575oa39rH`A5`CAsEe)VNebuV-h@roR)0O}d(Dzr6 zT@EoU19H~K+X_WHAXc{US8OfXW|#5;1q%2sBhCS*x!b@0FsXo#NEnMnargN&2tTd9 z1fOEX$2Z<+FW%|hO_8Fc%0Wp6RWg*D`v%229)jp_{`scS>&s<;APeBQ`RlBMT7>C=H}pZ>|Q*yWOipr zv@e+zj?6(4D8zm3C`44;GT0_B74_01Eu!d%vJjV_ZDY=C=*yA*mFN_`&0i7bzFziM zgeiCiPM^e~C$p!BGX|~lhDJmYl7yl5g`?m(3wf!-2l_dOFW@he_YF-2^d&L`bnTh2 z3y%Q%bzN@JxZo4XM*t$sxx^?}Bwh+0GiTzOqa%kHnnar}xE^fM)VP*Ldv5F3QAgk4 z-}HX&GLI@KI|N`H?u}g^NU^2M@YWl!z;;N_K{IADI&LB#G@Oo40DfFu8hdMw|1nTP zde9l$&Dt9uz1OF^`rwMgj;lO)6Gb6?u~zXZ;ASD7ot5XqnH!Gadv(DvV<5?8#|^u4 zfEA}^$xfG;#;f4?=AnAxas;6_X-F4V5~-}*td|v$vQ`SFy(f|;EpXvqeo>W~_BXwN zV&c=rU58k)Ed(#L_euo+7|LGHTJEPTz`j2t$g$1!_#D=zwBQErI$Si)d;`}}zPKG6 zQJP%p)<26oz2~0IT>Bh-2FB2*DBjz&juD#K$kn$7D+T8t5^Ve#2$w3-Xz|==o#G7(z1y%AY-uP(SCE}7cX(7M zWYbp+9Je||G@(m^v;rK24>;C`r1)K#j&e;E;&U!gb`fE-pTG_>b3pynmgawa6|M_0 zRj1_ktN`XK_Dl)al57&EFkgtbA0N)MAj{bqU#$az-G~6-oOj8t}>fp6Zq` zbjBprCPA>2>Cj!XaMB?1qofHt__f`E+)j`N6c#0h5la?+Av;wOLC%6|0xf(FZO$KEsE zj;$C$-;aIIV2@vR;zr{@qy|1pNtERejz*0CFg3y?ik(Aewq`mm@jTyM9CtW__}f7W zTmC>Hv~hE9ESe*LLBf*B(7cafox(qLia3j6Iqvx`9kH_OlTjpjL;oSy;tqcA)c&Y! z=+p+8__AD_`@gjIrmPe^RmoFrm8}{Je%XV=xCz^XKtC_=+vg-|FpRW;52*F1u(mPG zke^fQT2Ae~{*7B!0J&q&dmhtw_j>|Ux?z#mA-H`9%K+Pe(>U05-IX`Y&e`2Mp5WiY z_%eC-)kv|?CFr94>3p^tY?l7N0{mKoV795;z-V*#C z3LHnN;mLsn+@@Ys%gycRKQ;?)!A_(<&dj@A1(!)G(&eNP#sA`3bWPC%?h3lk9o_C0 zwldwXsfoC663gSOaTYtv%+H6QCH}%ID-o=MiiOycb_}-^o1gGA?1qE1Jo<-Sc)Dc$ zNmeYTLqayyF-6X`Fnw#~kYodvAvQVch@Vb$$ay1G`3mC%5pRW_aG#E}f7C!)o`GqM z8u$O9v3YJWyyBHeWYj=-UYis~y*`x8Ok76Ns2v8%VyC$k#E8j(%i5__h(7DVFX(&n z;rpXI`h^iAU)qn4f;+wx*$1u^lWBZ;X$BSv#1ix1t^x|aNYnYL{Nm7U+5QMx6p#NR z$lBIn24#1dYj$Btk?E}1>4$t3XYxVknX)->2<70@!8LoNXG8eYmvvZWk<61# zO)z9&E8~WWOJ@vCf+5!YP%}(4dxkH3o!0=DOE0*{yF)n4hPWBonk(ceJOW2J_L2^)2St|F_D&n{)m?BsTkyr@=1`g%$I zyDq;PR4IOS1W`$sDIzQ?&j;v9D%N8hmQP!3e-qha`*A9;@QNjgXbf$mkfpkynV`em zvrQ7O1WPY)gCRXf%^784yE-g3uH}X{;n9`l0dheVd}Tl1(|jEasZf3KDzX2%qoT;z zN!`O$N{0N+ttI@&1L5fZJZ0-&PgzmA0ulb@w9YF|fv7DWgvCYVAIN6Kb$||v)pU@;! zj;zI6!{O_1do8@Mq^K;WM)oy`{ifgcPX?YT;<9PL;fD3UV=N!tALxUL@^|d;N{8TM z%|lzn6H^bKQ}B>BHO6M>p?2(&UT+z={BngmvZ6=#bY0!{2(Bm&gjeCi(N3DN6F*%D zAiA(n&`;iK?NgI#Qwi+Ckq`Hwa9cLrC$Ac|9O33#P1U{|89e9yfU*mzK~RizgZ(ZG z@1pXK7iE4^k%OS9r4g=UquokwoUMX%>vHD9Mmm~fwRG+0Hh~EdU?j*_Z)9StbA6n4{9_2T8~;OFz`}ONB>8o z<^#f~f>>zCHZS*GSwk1{5K6@`Eq#1JeA1WYEW8vD*F}mp9#)YP7$Q(e*_7-&Zkb{r z+JRuF5NBjnvFRMtT0(U^wA~;!vE_vEZve2qxs1r7%r{tQmLZ^h^%;_TOj&V{TFwt#~^eTshmJ+6O zy+Yi79)*w%fP>cWxtuVmqlnz}&-AnzbTb5|IA&&QV#nH@Le!y!lPthIhiCo7y{bLt zyiG`we4e4}&1|`A0HDQ9J9 znnCDY`l+l~eBtNH{n=q`VU~>;D;E@KmC#bJ-&<;fqe!@#L`!FLveJ~;Mv8|mx*Xe@ zpk?v+7C{~`D}^$25JutgUPSXwgIvE7&TWQp1}XHXO|FCYR|Uf(vw!XE)#QEUB{L3m zQOwmUcYd44*)RMtAHnNgsdZ$2aMJI`^eIMl)UDXOphX3byVbsj6P^-JMyY%?5G%5` z<8+L1q4f6naP%cN&(jDeTF~nN!V+$(!}vXYOayA5!XCL#gAvG16H%F5BOPBR8ouxY zkYn#KeYTMOd@}rF>BQE#O}OGa|KraXi)`)j=gwQ=knPdVLA&jTnKRs+@wI^21hMLI zzFE)h#I`>d@4e?|J@HE2M(*jf_TULuuP?odn&02sD;j(I)%{Ib$fcO$arWrq<#y>q zsrRwE#8V}bZxLD9Y!$KgSz_t4!oV+Uv6C<=-U%)Y>Y>Ri8U655vv+j9fgKUi5;Qym zYprk&7Oc=}(a7Cwnk`!Pap0Thrgj z%j7Gh`s@E%yq4Z!^j`l)3dnhjVx0d)YVSOUUwh=KkRhc z@QL?OAVQ9?Cn!9VbGvrv{wP58vkNkiQOgdnZyr?F(4{yozm&+Z^jG7 zQ6cFupd~;do|b~jj0UL|H7n?q!~(Vapc>a%0zSxT@WA9*nA>HfZ>Uwc?@%7gNX?N@ z{>7PjhG!}Cg8YCns;-(C@ac}cNa1(vEh#Zk~hm* z>mgr_OKM{5^i(^?4}ksX+#fUZiPQS53YZFf4n_-fZQ)OFOVHX_Ancxv!6=Bm)(?Y2 zv-s*A0kAPHa~C!eU6K$AEx@jO6K*Y)u*&`LTGHoYGlw6Vbe%e`uE*xijjiJLFzWa! za@(c1nTi5#J@`j?JeCwFM7C_{{V`KKy)g$oJ{Dj&Noq3vg%h3G@Dgujj0*TEndWab z%g%P^H}XDm=e}9%j~s!IoSpmv^$g%kf_M*(XNsXrUm>_#^c|#gC=Q4cnxP!DzMgqv zJ>UfW=I`?-{1Mpw^YweDB^mf4nHy|oY(WmvKugFjS=?ZyfFbXMr>PmJqLv%6;aiRn{}KiA{RoVgeka! zC{pA;V%CE}lzjz}R(xp~y4OOn3j$y77}x=aT4%bD#H+VX4u2yp*>ug5wErS4^d`uT zQ5*MEwV3LIT7gum{qTPb^}UdNd?jXDc*{Fn@3gN}76 z1J6`MFt`3{x0?F9Y$RjbJ9>0fpZ&N5PMj#Q4hb{X+$u0`NPJlqRuw*EgBs? zGG6{Nv5Q(~jeD=V7i%MMRXBonn@q;Gr50pA+M`rUdQT!y9!Vz6% zY&MYf&kJO6W<-2hMt=;SHWpT4sZ^BtKc>zYOCcFt@G|0%U~i9wNaM=3h+6I5RLH+m zPlpK=`f*KUj+cQVw-aGb#V=l(t98)LhW$}i_+nfR zvFJY-#mr4>^5pjp{7LNgy!=*2HzPIr4HuC@R?-P}Gh|G2*glTtcWy)H?D#tw?eA@> znBqbTlQ@&l?zFN~kQix`X5g0|N4kCQ%JQr0FXqi>j6_`OJZGva@_nkmj#|$6LzPYc!L7?{Ms>!2_&|zoraQ zK>_p*xcS0~s0glaj&v2C9QANAngKMv~8!Ym1`<^7&%W11x`Zcyv#osU%TTuGgwKNk(EW)foB$4!# zRaQPKFz(96s0;(^^X-p?FQ2L6Fs!J14G{9By`g@uuN_;ujF1}o&rIgBek$|Pwm3PmOEnKhdKq{xOyfEyZcgv>rji+#lncTmG&)9 z*~n=mULa(3MuYB5=m60O^&WAn?V}+^2+Dydo`5l+iL~z`uJe08RU;kHt_*{8P@SduRoY@RKiBcPUmCk~;{8DzbR46h9fdk!1 zv_>7!W&2V-7Rn5|JxYwWuj|&@K)@c%Gj+JUE37-6sVgF%tjFH*%wv-4e#d(d**3X2P$fSF8s_yWb;7)fyyNLD$oXM!_()IR{iMbz&8`Tr;@%0l`}tKkp%;hie@9yAGP0`XFU4u1|B>fkEa>mpiJW__E)p* zzk!7I9xJ{@wHGF4p~E%`+3wOAE%UFo(G!*R`1Q_*UVdOrLEM6sgmIJ5C%#oPo+P@j z!gZq`)5E_fu>AS>a(_pP6jX=HzP?h4(g)dmXyZUu+jqdL2s6%=3B@oMVT`8JYBAxh zjF|EZs8nVtz;J;hSobLYntJ{4@bA1LKUoU<1^^t9Y>BI{aZTmPK5cL2Rf80W^>&|@0S4@P&Gf);g zZa3e}klhBGuZK8qHY0FX7$*`-z!fQD{vF#jX@YXr@M8QRn@dH@*{b+H=UAIDFziKh z#ndJ+Pz{blWTNS`_rvcc2pu;sO?H4i>ikQj+`ez|1qrC;lp$nFnAD~)I@aWKw; zyO}w;-y*NpO?<3aW@sLXJXkvtHULa6W8?E*8PT5%KwElPVu z9L9$>xt=7Cvd;rmJzkc@b>9|x`1YO zu&Lc>$8>nMT9l~|S#MFr_)c2A&koiE0^(p6UHmxEeO1Z!{)&TS&ifkuZ;_s5!Tf#XkCv4!L7 z<^9pvSc^T8Pt_5{{ZHA8piPgi zjpL#6Rgx*fVg&qt^0$buz`gE5LL>#hL=g1~b%y`5NAT4~3k`hlmK9t=aS{csMp($_ ziWE5Q=DV&%48Y8Khy@gE3V*$v@bV2gsrEVN(K>7J!cXt6#BC^QjyZy$b2!~;+Hb|m zL58p86`c<-TyVCdzsnb~%;IT#oC*j8Krs0L0Zs&8z-NcL*mncFH#&1K$NJd^pZ@39 zp+`Q^fmE80ykBIz3?=kZVM~My@jEBloFTPYE&N7JBxEO8dyVaAO%`NtqqyWSt%5$Y zm&1|ax6G+l^XCUgCTfmyXtUa`3X$cO=Q{%0O*l;SSy$y-h&!5c{MGv!LYD~~yLKB-Otf-6sAZ=15dM}Y2yl6ValxKr zUq^=CX&p2}ikpZY{FY!w_sPkW^Lb$(I8+O)As-H^dSiz|JBfa{TTN1QCmpvZHzJlC zyLRMb)sMxYy*4csQ&KH=hX^4~pa(?To@F$_giCEwKzC!pJnn}OQChh`qmv4`3OMr$ zJ4HLBjPTDH80F6iZoP_MUtu`Da+mEvPbMdeO53P8zkyNX^7FQcs_*&4WzbyhY=4!= zdq1wJ&HU+lp-uasQI=YF>b4->- zGeRi(B6RclsdSCwf%-sTN zQCt-{4Aj$-nnIQhQz=cF{5Lh(tcLgdYJM?zHcy^Zs77P&4#Efx)^FFB0iqrRG+dF| z$APolA8zMP&KA)sl>W5CS+4dkpJSQ$21mHv3_<8%m8`l6&l=A>^7NK2zFOGd5!Z+s zl8Qn#=BV2%`TJkeIZuhYDthYa#%OM^I>X4EB;v`s;eR53=^h60 zDLqnHRPSX`J`#Z<=Q$KxtG~jH**H6Z{|Kg#oT0g@{5w&ktxrA5uIyhPqSRD~J)N&k zI4=M#Ye{U{x8AM!k_V;!+JkEJs@Ka~asHpYQ76lUT&kNDbXiwjNA>n9AhAnm_*9TD zZ!YbQwSe1Zw{L9}DE$8-p-4@*mc3d=J~Lcp05;n?eBa|0eN@R#Mjtl;&~#|Gb*Qyh z;%5>@T{+%Jjy4|i6RKPgXCugD1+)xFw7o^kK|?eDVe4Ak1s+UNTm_+$fTuM0rLtFB+1#Y20QBp!tVVWsNrim(yayyFE{vJo*+38{AZ))?JFU| zodVm;R`+4sq|VXDaL~6}75plsghU7LtCrxnXsa+9m~kxqcU>70VIaP9{nyQ_4hxJD zZPw?#I8(QsZ=hcrjJF100?O1Q5e;>?=OOed3C-T*MDIPeQM}MII(IXZxywMOsY-!O zsU#%r#?vAFIXsxU4F(g->erzb)?RLOC*Kw5-ON)E%8-@9;AepBnW-y-w`}X;wBZNl z@8sr?GZR{Baf2^E>8e6qbuc)vNSB1-h9b%3wU}jSmH=meK(Hphu7f+Lhn7tcYwv!3 zytD-YRr^;he3JIBg8%r(eCqgd##@*VAi({)^6A~X9?2f?+07?@DdVfK7+WO`l3CDB zA-gx}UkJiR$Et(7`;NM-Bf)VuVx7j*wY(yLeL_~v1s(ZB8^xm3)TYY3(w2cr4;!)8sIo@bCgcI6W z1S(iiBhu_>obT1O%>;$w@K#sH?MXKUYL;4wX^xb-s93N$>N!2t7TH&=-yHTKJ9$Vi zb29p+d9FE6Ud9o+b+-)xIfUBVU*JVt|CFrEuGV*ZTTRa|I3jX_&DU`);8?4qUa5AB z$=oo%B2hXP46Yt|^N3c=R;g*d&a=d1TB12`Ge0dHdTfxc%W68Z<`I`$ ztQS;Y(6}^oPo%OG5zH6pcC~>pjM#O83f@-&A)jQm6xfUb5SJAW|Jjjl8p|%*?{c?Mi2-+{k`wt{D47NjJ7J4=4v17@Efv9!p zkzr&g*c)_0unlMn`{OBFj83zkv3!*omKC?o7$Dcgah${GM5Rq;d~@>DSPYo&-Bx8d zUDaT;VfGONQyyHU4)ba0Ek;UV%h1Rl$z_`v(o--z!AO!JdH>d-0}Foa?AUb8a>s)} zFE6l%9i=bf@drx=ZD+Pb>n+=DaHIgCg-f?hBpwoZmA-?cR=|?F?!^vQgUQV;sa0B#5w?Q1&K1AnzS@(V^GxmF&HuLU@g)4?yUHrnJ_{W1>mIGf9zCHnPa) zlFo`p;C1+z24?~Rt8+13Or_Fq7cpmfq8w@SgxgVENPkxW+IpVWLAj-XAsS5Z^V}Ae5EsTk9;8>Y4%@ zI{~7$!h!O@0D&xwTPu1asBRb>yFpq=^N0}Q1NJ#*DCWepXuV&3L-2(`xQ1aSxIr3s zg;%gt3DHt_7!SVXu`F96L!-=&D1Ouf<~tcnW><7oa2L=OMYgdJoMx~TDg#NEnKAnx zzldHzl4CydHcMhay)G6Bd5HF~XGW6Nqv^qjD8KP?7Z5#hmnXc(2x9frMy@oY^v}q9 zpOmXjutjxkYeZF@Re2RWGvVAsiPP;!AWZC!`G}IB$&cE%$|$BrVFZ3+cx_;wv`qB5 zV1Z83mLjTIV+4$AC^9SVIxMfMChPsKAJA_HBAr zQhNJ(!q3;=xry%)8KrOLeEoNchpyg+GibjBD0oVVGkE<0fM_t5ULXH!4+4V)#v`8{ zYA)6gL%wq;M)DCwgkd|>f%2XIoE+h=?pbIEp%sN>D?;jSiZY*|nCRMDS_cIUI>&tj zm#iTA;u=h3%<6Sc7!cylprzuDRRBDU-W!@K4ROk3Q4~Lo>SgM&7e&Z`O!<0r~&OXBg^$9=7)7Xi() zcllAOx19M>PJEw+d2Eexk^2_`~kH-CA%P6z`vfcC!ZzrCjQ0eIy<%}6=LO37aZeuNw z@xmviXrfEe30i#PI|;@D{$n98q7z>d&hcd2paa?yLNWzGdn!ByDAD<2DwQl$EXKb& zHMcc0MD@E^=#7giS=;th%A46h85Xy*f~_&=9rW1bzQiVeMf??h9@%E56olGChNN*A zZ+J7*bc`;^*u3h3bP2&0Dfcm-tA`M|gMVkMaDXx|76)QN*4Vj=Digt?uvJQ;$*M$+ z|3x-E_G6&DMuI}EplQDM^ZZNUN1UUo4}-JRaPKiy6}=S7Nb(q~m}|oySBr_XTR+); z0~{Y{yaH?qXj6+1>9`Lnk`%DTAqq4Ua7*4v)@WEJQ`6A6*}$MFTYE{$Q|?Q_1#Wih zIAs{g4#&sH4{Vo(NNtW#71YJ!}hMFjNqOgHwDhrBAEsAPe!HA$8 zcz6`}tsGbHp1GK6%6hiD{5;;6Y8ZIY?GJh8`rVzth|6)RX#KfMh!Y^N6-X@7d*Y#U zPD{=6W!4{@5_RD1&3fIUGkF3&M~DkJ?GOW{UBur?P6_}SI|K#*p_gVzO8f%P4<7Rtx|f5?Voq%Tqa! zBrsRO%{1Fp40Ap^8jRn@72HQYl76#6+B(!kM!Q^QllO%@%ewPbX!#c;H)6~Fo`7Q1 z=)?O9okl)w9ih7IH+yP7Hk8W$$oS6$}whWJI-8g7B|SK-iz zK$4$3CZhlPt8ifc{|YBHWw0R#ndu0)UujmFTiTDwA6eF5yvgfjp|~VV8zr%xV1}oD z4i8UC`dIkI9ZWoEVB!&ynwdP$`A0lng5|O3jvjglvMP+yYoQ6a6sM1hxIf(BA^C1B zi_pA=%CV7cyCH6P%&vv}B!w8Y;K03e=V9nfwhWxl2RnL}84O**NH8qeBaFW5YuCy# z6RrpzyGBHZ1;z8naOL4fMB4pCYux2ViF7X0SJXm*)?fV=+f)|%$aBHM2fI%R)tk!S zx<54)7HwGGrI<|~Sd4#dzVvOxEc)ganlRXu+hr|p;sV+|zj#W;$Vo3$i{xQAp~>}d zL5Oi#SO^GNWU!@6Q594jWYMsc3^jz~^m3{9T@O4BjiJ<{+^(w%)%a&to5ToCJzi|d zd(Pv{H(;;k*<$5>TbqSP`4bGR$?x0i-CRE(&aI>o;2-*6~dg#{Ym08pT_<`Ua0y(ocESRr?zQq3a^ zMKn=%8do`~&xnpH)U(AtCk%zL+$+iSKeDWj zrrgPp#Ygn~nZhpkikPuq&K zmQs=GuBGmDf-+o-wSwAmiu|ugV)W+#AJ2V2mKO&X$ zg`)kIp8|GW4cN5sC1J|#Xsk*;Z@%JPAPdB#eiGo9AsWg#!ZND}3 zVsq+j+h>jHZY>|xT-Q$P=rrVPWR+6+3iP1{_r<`+4Fc-QZv-AKsVgosh{QqN?8pU5 zP~gjcMNo|;+fSTp@2@XrUKD39oNJ89w0#K=r;GZL1r@38zpzZ;I^BAtV@xKb3aLdrOkHX(T9n1{?C8|uE zL`z>rs8n{dPURVHU7AidQ9dqvSuJzOcpi0zhMmw81xf7&=T&8K!ldDhwJ4^`ad*^$ z>)9B?C!rlVZQ?tZxOR9sQ(p>Rui1!sFp7lg)c8v`o2?! zO~sD;uzwiBJZ6l7X_wpDUCo!A>DKC)O#*A^jIV!fI@D(jXwZDmT)>Mx>c}pHP8LB& z=IVkE#^^?dSS>b&tDint{bV9AzKNBp8i|d#V??1=a7)XoIKNGLJo;8gv3ySs))*2Z zqDRnj3d+R@wI-(cP??14rGl}GF*~yVg}2Q{^3pnEqE{LTmKkqiKCoczeb(w>7t?OM zo0p;>WPXyazDy~OEtcqsvfL?=?)q+k&QzZQ93uK0?5wBGgbN^H_9-L!Qu$Ah$jWDL zDdHlP@rvP5`>|6BD!sf=yrdsw+XWqG6O3OL+nrt4N#l4{Kw}W2gxkpU(@|n z2&L~KVhPLS3smD<->ILY$R6Hc)2+H`Jj8ncCSKPMVTg8Gj)E_<5>2=Er>Be&-o~bU z+n!EE4cd_AujwuHGY>wduccEew*x)wN}WAFRZHGQ?ICIUALOpvW+K#sX(Hs=w0c|> zUvp0MgUf)cmu+s^g5HPaP#{ zuSl>ani?8Rj-hslwTNSA(;tV`RSWO?sx(r@2Klk&5)@j|95MFBL{$5Jb5B*H^ySN4 ze&PJr)Bse8PB_Y960ry2iAt+{GPwR3s5@4Cbd2RC4(I2~v)BpVO0Ry>x{M=`;T z_gW1e7M2hI$5($FuoaV8b00bX)u4ocpsH(6#NVYDH9m}8Z`?qr6ww|A9nY-!3=Fxe z^#rUm5Y&CHJq+1eA$$cl;YcS%NBDQ9N=P{9dWVbhg6)Saro$f_=0n7gBKAmdQ(EH$ zev1^Wt0QGLOaetjo-1shxMGyzoc-N)8bDvURQ3p-L-H>unxTH#6qN?2+OTX2t3V6T zpC#XM!6?gT&lk(Pgs{m!SxD;;<=u0o_M4?Ft;6~b-yd}UjT4p4mii!U3!$!v=tzQS zDLm)RE231yD*WxL3AhlL#yd^&lxUZ#y%u|_tCbEbdl~LIBv0+Y$e4}c0DLcCeFS5t zz$M9pI4ZB;<%BQ@d`q-w<^FBH_widZanO%f2O-tZ{I&%mi+D}6wQ|rLTXzpvGp;?o zo#7XLC(DFJU$;@#jaX{~)B}GSsWADK{D5nxu{m<2#M#D9LSdAugvmV9mA`Q<{V)7sf=RoS zMNEkVgC}HX+EVR*;Bom6Jnv7X(oW<`8=)edu4ta4!v0u^)idJ|Llh=jo7w+E4?4LC ztk0*RByR+rmPGnci7=As-1eQ%Bl6L~(`>}g9jFdbCT0ky*;HZ#Otr2$FMVzdo$|Fp zfSk~KVemM{%DNBKWrU-CY&wPbNx?5g2+bq5!2@8oHIB;>S>4|Kz7?M9s;OrU|^3 z%y;2agO}`>jHn`zLXwk^_s`|PdiAQ!pXON?dZlx5U5_ayg&p=+a-{^kD)-e=j6ug_ z$EuwFKeoQXyU#Uh_7^v3jK*xx*hb^DY0%hKW81bG+qP{rYHZuK?wfPIbMLxqegDF< zX3gGvX7+xdE>$F@7%5oZ+-;RY(;``=%NgLLAw(ko@Ccw|p{;nB>P80@W zXADVNl%li3a0)%UC?v*Yr zSlb4+f7M^wsrFIn!>KLwhWI&>bAF5z46_*`&Oe{3D`k9Xzg^xfh(O{XEMnmh z0iLt_;{i^shw@w7O;G~&PuWqhdFy$5Jczt>Annmf$2SG_b`Lo}jAGOb&ww@yCCN0&a~6Y&zKPzV?%FHhy1Koj zh#A1G`|8D^SlUekw3JD1up%&m*6YM{y^&OZE*5o7dWvQ^lMYgIeCnTHao)pU5qdkZ zUD0rKFK)59Ikd7hc(Gm3SZzJ#dp_?u4PR@UczJqzh&eb+Hh}nXS@{n zFYK0d{Z;f7rJ4g$LWz3AjB%WAsaq8K890>ziM#(%|0&%#&G%@mnU$1NSmZWC+wp2` zeb66Ynge|r?y`{=0V55VrF0od!c z*^(FbHboW$Tax%JCcV4PiM9r-hQ~ILPDb8iqW@yqWVo1tsa!#0Z=BaL{#zL-%YiD7 zYNp)$gM)lwybI_iTe8@>BVctBbBoeFJI&GEl&lF=7gVJek(~;bU*;&+Q5}N|Rn)+C z!xXAe1GuBkRu1@1C-x^Wx&u$39?zbRxvxtP1YeCo4jdI3(Ar|P7vt}xFr2^z{P^}U z^KIezPXRZ`lyEBQC{!7X__d1~QPh=5vTQcy(fo;dV9t1^@vB-6?hhQTL!-&*SvlWW zxvRu-MFAcz3s?-+B?Wc1^go?{tOh30qzKqXY{Wp3r)SPqAU0Nn_Vr`~Ij<5BA4k84 z#jTi3=FHm%g`b;^cp)qi5-iZ>8{^+6V;iLt6>z;24r_cEGMbO%R^+7l7gjE-A{nza z9XdR>?p8XUFO?7o(+{?!d1hB!-`pdnZjOLIvC`cmU}j6-doMvaD+~PHtanDcJm+?o zS65%Yl$YN!8o4X{QNrrGwLKZ2WuSqMEfWRS-`2XZPnSbWrVnJ)=wk^Xh_(L+B!XY@ zx`k{~HtwKOY@&*x^@1;b<~mL!k7}T6P9iH5MJ4_iRgD9;=@ftbFS>3;b4hzQ%)}VO ziW;40{bL4{b(XjT>I^pTz^ne94Hvn|Y2r9X7%JAem5F_l{(cki35Y)=r^BZuceYw7 z=(6DQ0fSEbRpDfL$HfEEEshJWD7x;lav>%^LJ)^e{3{Fw-^Ri6Gk8(EKzdSI0rYih zoX_bi(GjCovmkO}b+ksP4c?RsXe$ZR7gH6NUn%3?{+?TRZ-1Cc{h)nARoE$1?$3m& zE|cWfZ@sc%vUV$Gc?f&nCs`wtG`k^>UFf$#2c$|pnYtfU-&?VCfYWS~8VQ1#RD5E; z1&qwH7Sg|wiINya#|j+nGJRP;T=^m+Yv~jsYvg{Yk5Np<1adVX;A?B#4=8AL&~P-s zp-g)_JkXi^zKqva*SD9uzE6Au zOZ?8RcQ=+Eqfd2duLl*LZcmZL7dXm*3YwYcwLP1qXx5MQa+_C_U}Z1fSlMV`F98R8 z!MyAGp~%2ijhRD=&ir0s7I6d4sHhF=cZ9H-cy+?N2>QQK8r~0Nc(VkQB=2zse5!vs zHM-zpkrnHBPMWgc1)x_BC%e+mLDt5yjd;9&(_as#W0$pr``~LwL*n?v$(0AbV)2MA z##ElS;@@WG^vxPsLFIK>I2b{H(*BhKLhOa!5vkPt-52FNs=pOV_c3L)N`VDh9Gsj* zrBjdsF(9Vh5)9T^Qr+QsT$C)DQGsj_HRJo3N&%UG&$w!&O>*81XpEUwN_`q{zUlFQ zn2fsCL2Gw&A$AQ#4NtXYu2(qGbq;KcqzM&{_8L5aeLrj~~~3yi`-dY-<*8b15#MMYGg zmq#ql1_TE!LVFx148%@NNr(ol7kh(lG;J~Rt&ANvPutCLXYkUZy><3D_xs`QA1(FA z7e6bcOC$7aDSDecIj2lptX#IBHGTHc(pZY{HLHEnD?u`m~uE@8mTS9mw zZ|CV|>NJnS*}>(#I7eQEbToE!Ae{Y$Rn3>G0>sCln64I@sN}8q)cU9xSZ>E;yeC3P zZW4-2GFQ_PFYHc&h2tm1UcTrX6S@3W7}r^6YN@F7DEIk#eoO24)OG!J`LU7_Ga7jH999D@ZU(mY#Een@rYcPiU{ zr!t9>cZoDHvA@Ge%X_dkyVln} z&U&Y48Sl6cx+sR(brGc<#p$mhb0{@oK{!s-$6&J)InGv4L&OP`)Q}Je40S(1FxtM^ zbLlh@Bc|kdXVENXs_3#W^_3urPCs&Z<=j3Umy%-*fuFc&{NJx@5IuM@<#sY*(|Z!I zOI~Vh^c)lfMQwPU@OG^Cw{5fw+?`oQRQ@fM#1?v&zX*O3!;EvzM$Bjb<$RPB_R};J zw)_AR!0L0u1B5UpT=w`emu&Eak%{eUC3U1gjiO^5H`E+xMEQ){GeZA@Jtte1!!Dat zNfPlMbF+wO?i2$L81LCp19>7%Jconi(g*Z&^qjHB>7inJ1VAHy7bv2>@q#%Jc-3V< zFCq0^rh{657y(4xOVguOJ6~FDB)@b{$?j9=3fC-G#vc9N)0lhbsD=V*z`_X7u^lN5 z+xq_qh(H8t?4>K9pcgc!$u5bI9^SpRHWYF5Sf1_zDcW2NmEotjldFCQIVW7qp zvd~6cl}{H<)BAI11!2_6jc~nqyUIW2+nu@JIYjb5a714kIBxZiS~MQm2Kd=(gW=x3oq+W{KpontwpE>-tPcRhWq{SO(=}97sNCAVYdPd)^6g(VIkGw_=%GWoehJoO($?mMi^=b8LFMNB#YEN6|EHv)b?J=> zuOnGOZ*TYQs2~wT(D}F64S9qOkN6s#;?yh;)g$FZTW3S(HuNC?Vn!`<|O@T3Gnms?do3qn7o2fzxC)-#Bbv z(tj8ZWDDc(0VZHT2*sXw;a?Ez%<)n7rTYgmCzHTWa@?UCU6(^zVuvxE{O56Tj;r9b)(u`Kl&>(ZCxS1d2Fk^BAzO&3Q4iR0#d8?uMDPo~b&`xbd#XIYq1Is9C$Xqwy z|9Ip<2^YpVuhFB3aRxvXgb~h6MC3K37jDM=FZla{Pa4heiw##Jl7v|=<7ez4vcLcp zQHqI2ppbkcU5pcuA8Tgf;bij`oL0(s{FH~#sVeQ?w$F97M?EE{>JCv^qp=paL@^xE zQ-;+Ob;M(~wA2Jqxn-n)g_V0J4$) zK`HUe@eRs~v=#|4h<0Zz7a4yyrhu}+LvZ+(=Wp=k@2_$6=wY&)WQtXG)Y>0$-Pe zR)jKK8SX_+GuqFmPNmOYsi?ZtESmD3ZXG*#m%SEVoo}=>Pgd_&a3$_Xn*ifzFi)VV zg5{pcE2k%*$&O1zU0oiaM7zy@DG^U=U_4Fh8F$fshIA~SXRg}~=^29k@ceTq`_8>98 ze{{BVGMv@5@L*@_+7Y@0HCV@oHN~l?3(hb~ODyLmRB%3&nDX=cg*rb1Y|Z7JUWg?X z@4!s)xe-VuTAm^97vZo}iV>4$*7rR9bOPCu-dgc+e)%EhOn~GR=2LKlRiMtlR#msE z);`14F7C}W7Jo=VrWoX`_K51&Sh5n5-`)6=(T zwLXWQma(tF1+<;iFEv-VZtv25p-u)Tw5YK+zF=}64xxsSe{N(vMmC=&H z^A<~Xy!)=5Z2tr`X(UqL2Eo6N8kao0cJE+Bmya=^zABcecpo)TUvJ$sIC~e4dsy)l z(ju{k(2s8C9wZc4A|dIy#Guqt-ydhxC-k-abE zhY>X+IwpC%Q0D_(IS{mrX(gzM*-?N$4vq!Iz2*Sfr3_V8%Fa+q>%Wa7)*WFvLc*^0FW1M@TpRK6tY9$cw30})4Gzmu{lrGI|&;_&@#`^fv2BRI<4;qj+X zsVtTkW^_3#!|c(x;aQT}nJQ|KYt>_-Nv0JtUKWfIJCl1#fgI`6)d`Tv87OG50oESs z6(U(PI>yJpR1p+p|0|=!EossV!)O~l2c0Ny3XnFRa2 z%8Vbdldls*j&L)k*aR?x`b7;%+Ls(q~;KASj@ZgUUJgvU*G(B98IBL98i0BoKQ#X7=`yFpkpD!Sq8*X;~+)lLtLss#$S%ial_RjgCzm!9(d#pBuI;MQaA zj&xzdtAvV%Wk%oM`QoG&Mawv5&~bt!zz!kgV^x_e99UC8=# z1h-i9vcy$o?}U%YaYPb#3hOZl_lvP-1hS3$PWoPayNV28l%FvpAwd)= zJ!(NZOuV)69n9cqp1^39=_vLC%Mr`3$)@+?pS;qvj#_$5nHP}G=mGWEIpT!{sS^>P zK$p6`qn({*Y&Squ;c^9H??fyh)3kU$(=%5wn>6~9^1eveP8Nz&GlpA#K~s(7wZj3S zb(N^oE)Og@O2UCQcB@k3V}?i zvaBktvLTe}3NySqsoU&^(s3;;XVdu-QF{HpQ>2&_QxJ92dq&xZ@4t+)iXKHOdO^oa z$6NnH%q~!k=i1J5u-17p9u}Eb(lVN-s@}TpJpQgUT0`_Re(bnn_dId0K0bPTC0wb{ zdQw6$wEgvtKWd^Tg~9>Ycl=p%yOT-E1L=+Ff2ptLo%)y8O$ z+z|3A_2^X;M3mit#f=8cFG#wO+!7sH-{my+dlhoRs-UP%R>I??I?jg$i?2`%TYZ^K zQ76pa_db%D5N=i&d7=De*yPCC?a842D7f^Tcqm$+4A%^TXqs%N4t>DA4DEO>m4&}j zGB6UM|E26+y}M|99{-{1cixy?J1^zI*UVWX!HMXKAa=nTH4{$=GbcyLy@qT?qBNPt z(rKVUBPOY`BDC=@=Y0&&x`D)3jvMxF5~F=e#I~s-VqO4B2{1%>nL6Vr)6^b18Bo~c!ag*0wWKv5I>oFuQ_#+#dnm3F2RI3`TJUUT` zj9B=sjyFQ5W>WfKGeWl%L=muY@c>)-Qa8;s&GoW$3IDM{>P{NwZG&Wvnd}HyHr=`z z5MKk8-nnpEgB(sL(z6u$M*W-axbQjd(ir8+uku#v?is-nce@P6`l)JX7h3ZX#Q59U z*Lvuw;9*#xN7u_z!v~aw7+^c2Mz1In1$4b&qsn%Z;srZ=!eIvk7ofDXit#j12p3Avm-B+Lm66)G zt~o53udsK#{Gb@Id^=%Zv3xygu(}WAyOX(l5aTUSvKv$#%(=#JBE4A5(FE=8j7ovmLhc?UBbiPZFIlpv{kh~2!ngF{;tuZe8 zDpj{H1CR8rHs_q>>Vp-Z?w9YXf#lMxD%&qxyQ7AP+?@fi%^4*n5%pY@d#Vurt=`}u zayVgKWCLs~==WIcD^{PRv~L=;T!XaN48ePDddV|vVc@J{YImGCz;nD~(z@B}C_|Nd zwM7NSI3XikdWsGMM!Sr9WmLrZ9H(u)siL+eH$i{WX-KJBK)aKyd3NXZ5*E=}k{#m{ zJlk|fcCVncVxo0?i6#S!+wtFiG>sDoG7uVvk?EPfYajmYPVo5Y@o>!%@PIa3tc`Af zQJ?d`!MY9fgUvucSpMN2j3u1i{XUPT`%Esq9nEf<0yVDD##Gwt$5EpEnd@0gf$Q@S z1zuu;=c~W z{W+a`bTk4~tS1vl|M0qcz^+R4z`$C6RB@){IU<(q%(E(>!;Z9ua;{ufcheCb2N#!# z0Bl+_JKo;7E_nB*!!3ZlD9|Xhr7Xdr3!PX4@Jp zXSuu(NLMJ7r<557p}qvQ>Q>+0vc&mNQ+;%>WzqHl+kJG$as{Um5MTBu7Bk*}z5874 zUbgl1=PiO!09CSpS>Qrz!6$c!yr7XkDTG)rG-Oh~gb8t&OB`cj6h>@C>)6I7e9unR zkC$8P$%nd;4+px7O=Q}!<+)&VN4lK4e+~)Y5`6dYO2Ey$x{E2aX$nlpy<|GEi3$d&Wi-Fm?uSW9EzY2o?kaDC>< zmI2+;?#al@>d;z_uXV={=FonQf0EBVKGnAbm~I}*?0g_@#OVmn$K;fZknr{`*CkW4 zJEOPJzNW}QQ@hRQxohc@A4MJ4)si^$&IVrIUzz)ADjBm`%BSfiqzz^AIh!K;FWAm} zy1p{UESY77CrpwuPBKW(%d8H6;n{#Y>6${Wvf*Wis6?m_17`uc#A0ys4@?SOdXEjw zgf$j6vr~+PgIPg{f+~J%1w0!5=bDkipUdX~D7P}R@>sT=%$^QwJ^Xas`J(`T`asCL zw$kd1hIla~?NR--$lkF#-*F2J(raz6&;UF=w$#@4`K+HP@G|&YZxrt?$F+2HShwC2 z1%BY$Cw--4!V@A=DpMSk9JFNS)_^CMq8EYiQvg5^b z8un4u;K`mYTzx;6Iy~`f3@GJ6PrpGXU;o)Cmk>7B=+e}vai|NQEt1S1CfYB-er_yL zCdX7rsBLrQ3eT8R{645GwjpDPG~#Xq>!|TX7{!w|jYU^(sWE9z?51i@MMIf#?RV>u zu7*mqHT=17npnN46FB*1amM)Iz5CdvGzFp|^3hBh)FbI659_irOte}2TUEEEAJptU zf(-UY3p3#j8?LQDz^(>+f-85g^sC2q6AYH7r0RGSPAf-a{$ryv%rxpl%qalL6J1XC zA*FR}hoLUp2t_cquU(pAP4~OqD~ff(sR)cg9^13dh)|PvA3%b`gOUxVKNCV6 zfR5vIKn~AAS^Qe3Z{~mjK00doF-;~nOObj$aEx3C1)tIoyLvB&+f?R(ZhyVP+0 zUy6LKqyOlzxvwksakjt*1?z(6^RB^YO?jPVwWmFo+$OZ;8$Wa3PUmc6Kb$RGK#mfU zc~?=N88xu0lGlgV8tVf5G9A`NWcUv~j@I^LY*!blv-&R9dK+li#OA)rw;?0+ z!VKbcXNApjB#~HXGmB(RO3o)eWaK33-~M4I`_NB8YgGNotLsk<3zi3uq@32|v$B`n zq1F`c)o>pxN=mK>j&_WyB58i>>1S7BS*@S=GFsguv#7mfO>wgeVF}EEVXPX)d%GRK z;ygWrS-&;$m}3HIDdUL%Z3@{h#S(Uw+;HROsF(DgL+c-prNqjFLKp_dl19^aI+>)X zy0IU2Cs>dUvEx2}RtUI9m_io?(|Xx20*KNG4A^*j%iz2Y0d@~ORts8i8htf@q%ROS zuvv3%c2av^b0T2q9+p7m6?fc+Lww>&WxSUnR{f- z$UBlW#4x(xQV*sqUTs)g0DiAMpH8D@W)4g-br@yX;~djF9EZ+w1rYu;+vyuP>n{Wm ztI*n}r`Eg{(tIz%cS)|N)}V}+0;3IzAM@cELf+_z2#alcieLI!CVkpCr`@9Czr}wm!qnTMc;E*00kXdmX7R zE4$lT|J>gHH!A~uq0q1QS^2wUq}qnmjm*SwUxoQt8~ayYCi6)mMa30nL7TIICfycT zhU|XC14r#1Wmw5oFl21D)15jy&EAXswBOzsj2dgY>(SwQndCiibF7L{#^l|Dq~s+? zQ^GcFTc+MLYyH~7dNzg!7g0ddEIewHcPxCR@a!=`Tx+j@!MGYBalF>=m! zir}Bl<`M;cdHm)RoJjHCM=yG7qxMENP;2m=PrH1v(59vmsOS-aT6xUM&nwBE0BJTE z$FeTLeUsOEnq|f5G*3;2EKlCJy&S9g}d=HzFiBu7>6lX56_ry;i8C9UPcQTNYM7DUs zu{W6|nT?CEG>kwFZaBw%eLD<1i%5BhfLD^cHNKVBw!>?hX@7YZhZ7(x7S`qQ8p#MU z<;QSn9yUj48k@7(o-0AUVT@;@W zE3HWa%2Be5D||G5Yj9T|EoqBh`Sj@x1v4S%#8+VDMP&l0S_d)^@`+Hq;fsz?7?dJV z>PLhVcXK1I2>3pB?s^4su;k=}ia>myLodx&uD+L72>3d5+1UfY=^7;waPs8<$hnoaH%EZRsA} z{N#*H^In6`8)KgK)f43y@Zx!a8eE4U3#f&tBxcJ_K!cbV!hvdG(g)voV(q7@ceuNG zXu1WTBl3q_9*G1TJABUV{IZwUy>06bQ&&{sGlK}R1_cTN9YPM>vpd4ltpPS%%VN1P z+4X&VSW1UELg}dG_rQdH-A{Y|2YkL4w&3Kkc z**V__VZ+#yyk|!~la&+L-y>cQ#s<=>&t52<;m{@Ewz~ViczLj8<74FxF!Y!b4JUp5 z{HytrX4Dr8X>KZkjvlkTjP5ishb}+uJ2>0HH=Olqy7-p_;2P!jx{1w*|9EG3VzUdA zl}g^Af6HfC5~=)85N70N(q#Z5jhJ?96qfFkd67Py-IC3>)gqbv#LdXLBD?L&8N^o? z43q}VC-6Ej{p72pY5|q1UuD-6re-h-xdoU&<4@%rA$CgnR$QI` z;;(h#L~7FowCnXFpccO!yy3i}0ag0-MNVA|`pCZ88F!&|HuPg>veDksk>&*y05%TAex0=quSC?nWOH~KC}*)0PWQbsuCAkb4>A6e@&VMbH}VrIEKbs zy^4kp+M(?j4KF!U`@{2}egjK27j`SRo;A)p?fx1)&JFo`KC8Ae%F~DK@V2`0KFORkcmjW34Ab8B&5ow5aG$j)6u!c6pzc@eCSqwqj#>m5(qpiYNgi z=@{p1dAP~*@6xx_5YPuJFbAyarF!UB1DGgck_!}p$Zg^a8@7mecL9@3PD)#b4o}JlC-GzG5=03 z&b7qzcsL`v43!Z1r#QOW)g=jNOJuR!QligbT%_&9u^LZIj4Sb+4UOp{J@=FRu0taD zx08Ir#cX_HdlIQvcp|6TNQ8V~T{e8-sVXYl%$WP07IZWheVf07N%9?=BP2JHc0-zn zNaY|ZJ?}<(`sFm{C~7pD5;GpT5aT1Hz0%UJU934@T0Ky`0Sd(PI%(UxI-dr_o}ucT z{T$6<&evTJTHsXF-DqgTy}@`34q+Y+ z@sA{V!5GJLy+pyMv%KJ_p)8dK2FY`BXh9Ool*uhJpR&{@N(js&UdF!Z#y~rtVrncq z-v9wI|I=T{KfnaRv=>-DO3QdF-l5SHvwz}rY?*1ZYHz*PeG+(5rhmQe zd(R5WjQj&ZabO|LC4nsaAO}<9BPDB2&O@L-x3t7XsrB%ptKh}(x`^D0Jke6Zj$BNL z;}9RO{C@;l6b%q$o>i^wQfh4JA_yy;-@@cGsulHe8GIgVxdorah0STle@$ZaY@f9| z*z+p5q|X=5Omesbu3&99`0ustZY1krm1TqjOVtwP_V4_dn$qDOrtukDwXwdj2XSCQ0mv zk$g6ndgam^YH{C#>=cSusxS+6!$~k(J_;T!{D5{L0TaYlC$}Fz@|>!y!f&ijp0BM| z)cxk8aP|F$x$!V=7^m9dzE6yIIYz+hij6GWL+buCaa|h^*3fllwofo-5tkP&uyK`? z3}R|3K5>mnj^Rtl`_`^gop8%~3!#z=VH~(!dFNP(9D$dD) zIi0z?M^7Y(+Nq~2G~nmri<_IVOC~bz1*FCv&n@hhtLyn8ZD-F)rrK|KUK;QXO{!sU zA7++H3-8hqIS_`=!s60HEa8GKF|>Ze4WhAJ&CZ{N66-3;m>M*N)ZbG@#R)a0A7B0yEbh)4%)A(A`QAe+-zH)d9Bc>KjBhwl25$dK zdG5+!u$Zh;MP>%3XSIaVxkev#L-fHJHXrqMsc$mxwfm!)t+Go9Mv$+VSe}2t)Vz)@ zUMPj+#3NjhH^uHheWawQ2R$^V4p;kVCus^`^1T}1ch`ku_{9bfuyu#OC?>ylVZ=eV zEVv|UM{(BnMAZ|@=p0VFVvDC05c6}|QhG0kutK>z(`Cs2#u4)e z1$iiDyV`+TI{b7I&WF7o63iF zx((N%C0~w$yobxRrOaX_PdTtJVD`iAVKqlv*uR~PaAPkdA ztCHwg>4%*2ui_pjdc!7tcSKLeX8HK{4W~B;PQ(mj{Ueh z`R8GF&7;kK252D2t;^&H(m};*U;~AoB#ahUf}0~(SFU6DnX*=7eh{HFLzGP=jsL>W zRcZ27tssqj^M%lG5?C3+&HYjdL+DcJdJm7}%Gq{ZlhE9-=7GEUbOOvNM;T-#HwA<~ zFB>)ECS9zlfIOouL-b;*K_yr$rUWB7bV}LoF)=3hjmC83uffx4u4-zBe#wORe9r!PID>lZ@_pVAO{D6t4bSY zvUW11TK+@`VD4d|B5eB;6Z*|66-EwX^qTbqLN8-*JNP4cxeKQMPD=mCZG9azAz@k7 znChSC3Wk=`Dwc(+Au z6~)e1VRsYhRShGHvD(AONhaK(CmM2ZR+mgpgsf21E3x7}vYk`I2_r!)g(vgflzTdo zA|m2{%H4X&ng<*);pptp4*f-90Sxc;-3lCCL(UygRrSaL&Yseehuh*22kep_r?gjF zYh{3uQObtp6;;(#$CKp1U4F|_Kkxj4QJBHn3xVe$p;*hREJ4*Qv*(q=)vZhCi}TeV ze|P^Fmo@X-NX6Nw{3nuG{MT8ziyvS~##90{u+^13{WNdkrS=V8mKbWloJQZ@M6OHxZqLHl*?-LTc$&C}bV$3v)= z;KfWz^+WoKT+eg4iarN}5c$#YQJS^92n{>a7;BJ;)_D}=V#+l5uqqhr}yCWsf zkJiSbz|JiwPvG!G2#){RqkeF~Yo}@UfS|NcW<)!ho zlloJPqBpP)!VJU^O?N4-9hOp)Dj816;gI}|+WamXPyUuc;B%L2^1W`B-FJ&er;E!( zkqO}_w_2GlPtI|BSb~vPO=fPeymyIPu*{wQKPGAfb$>cvq+zkDFjSH3ZmCJO8n2l- z#OoVxJobll59*tKBNP2)vH3X^eRX^)i(Ly$7cbp={x3n#hXY<*Y$uSu7svaV0XaRV zpd|7>Z4PG1p&aD6QcW6CRMVHA2==SvF?#~xuOnnyW=(81Qg-b&isc2vHD+$P?W^u` zWP;_(c2*~<``Q5psGIL#Rqx_~sGMH~kF`UvXRX}8o+prdTkY*c501g*cjSd%M?&41 zG09kb!XdXzzrb8!zKvh#&Ev@11oPI&5tXXDp(E0p*01pRzT^JOK5F0k_f6OMXi5@? zMiptsy^7Ou!JbF-cy{IHFx*s?S@`AzaD${m(l_tL`I6(F3$dac&~h|3zMEBKZ3 zoyZ+lF)AIj!bj_X7lXfgwx__(=xQE#7a+d%bYwcUvbhdA{_rb(Z=8c!bU*#{cCoYR zjkcp`M?;dYQQN+Y{Cg5JNC=W0x@@>Xp5T`$^Tpj&sq-LHjB{MaCAHRFBhyf`Gbo0U z*MJjuq-HX<{EPY5R9AD5uG0x@rI8bXn(ZGd3QE?!nMPR(f}thN*hUwqPh$BbO@DdW z)&9n-b)zCpQ<%*Gt0cMBA<#{Lb<$Gd3G8#GA(B3ZNAlsMx4Sf9^8GnEpy!`)e>`n@ zVM|C@F|BByeL1~hPrZA>Ws>H3Z~}CnGuU-42mbq4q!wJl70Tit@U!R~yuhv;8586m z98PKu(xINjMW3_^H|5>L8QG9CL))-tHk$A?Hr2q(+K^h22+2*^8Y?)T$q8flV9|dL zkxK8M)N?ZH=q&$0e z(RPyA1wg--=t_152)B6_>>iu>+i@f0H5F_pl&K3^Xv|u+@SAjmv`QhaayKR&B=FE_ zH)^sBH9T)kG#M%iQtON;ldmlZfyHlD+~-6?0@haO%RfCqipxzpA3q)ZR!oujSZrIW zQQZrnyc3E0DoN&PCg7EObxX_l$cd7H)z*>_+Gf+GdpM09+9#)oG&LrRG&d?1^s(uy zXk~8>d2{0Os_&3$0EX4A%!i5`bvN7DitE)RxtylatG@F&KCRaK<^^htArE1P2#LT= z8+4=(L9(P2geO2*w&J&e6N#u1Xu)LXOv-kSv#tLAjeV%e$>0d7u_FCRw4#IS7lOYa z{0d}kPjoG`cA2*lpdK9SKgz>2donX)3O6z;CN0G&EA@nYUCw$yLLvZdTX=FFG9$^Y#l{B z9sM9+<0Jt@{MtkqRZCJ8$0P{K16$v&Z z3FFa?NuJs(&K<#pIBQP_M(7CSAUje=>~aK;2Mp=Vq2GnjLB9!l^2tyL&~_>{$7|J{ zR(VXnOdPo1;y_!YjZ|+RoL_j-{Um3TPPLQTHxl8|oIlkhzx@LhsZ>$!gjf~Q^l-5L zs0UX?%s%+RVpSGPV}#KOafGw%TO~WorfDJSn3d5zg6(cpi_s-wSAc1TT8+%tyAZX^ zh*E;F`|x?nNZy-Bl#;l)_$yf_XeYurJ}2`|Ri8jczNBm@j0Pr20Dun+__7iEuP&$K znW>8{qTi6Yy5gd%aYcahwjSVSo~vejMfPq#kDq_fTPxcG*=+|<{lNYk%^A|0CXA*S zo*u}dKmCPVWY_j?<7^+e-L&+a!?&Auyf8;`dAsQ40$zHi>Lcg4tto|!gn-VL17-~0 ztRQWI%vKCT6hDji0Xc+jq+bxXMsme^w(&Dvnqq`uFAdMdZ|z|k9%ip!LYL>jrAIir zQEd+GTWO_^t3zJSb7!;Un+57j`*UtrVkB~blBX^>^6VDQUU}QzU^K?H9l3a?Oup#h z`u{W@47cr9v9gQ`4Ocn&josXePTGd$N%y0rwd3+tn^3H0t=9*w=C!xIvyDzA%ce#5 zJf*4TEZEpZL`+aPGy#nkcrFgulaTa z;E<81sohZX?qmwsXlP8mWt@iVyn{PTZB!Q_ zJ(J@~&WIssLocKha$CYYBrrE#x*@;Lhy4O8t66yfW~7@I+g^S zwd7HGhyf83gk+=uk=^_dgAgAKX0}}l>z2%Ls zNmu^VB-S*a`RSJ!-SrhoDpnKWN9c#G=CGb z=sDmk3_t2QOSVRSTa!4^M+HkhbF-P@L{E>@6aZo}(^*FNH0ax<*d$-KA(doMxCP6A zQtf=l16rc!C-Bk;&=pe|85i5NecW00sK%$I_XX13FQx0Zivmm_Zmf?*+6DrAhqbE0>W=o&Q00GzpoOcSN0)@oFw@ARcHUyWsPI<>Bd=-VFu}SZYDW zn{AO@m8q8nXl;}5WD!Fs79^*nA~vVbP^zPGex(G4wu6&=KA(38$!pvLrPVgQABCOJ zj8cF+S&>c%r&g1V!6%QG`2qgZ@P`!7ryqAqo?E=;H|kmisExNu+kE`3{P3zeh2%-CLfilMEare z$cSu5PfzvWT#%o+o1^c}=xU|aTBBZ>2mi;@zA{gGF;}8R1Xtthzmg85MC-5YKogiT z|CExs#Kx5C&3D{MuF5#xhe;6y5<|W4+?Kf)WC4af+}v+6wGf zF*|)wy(h`hJ>=X?QJGRcMdet<-J08R$5th9FzUSKfn`2)*rM_?u-Ec9A|0V|#u#~q zBJFhpj7EIBCX<&_yY+GVW(?8u*1L~%A-}TOc6pS_yipXP}`sBOEL5G_NCgoPl zgY?MI*~1JUr*27d4IBW@SdwQ`e0&JCD##5LEQitAmMNjXh%v>{ZkP3_`$<^=z;u3F zN@$i!U)x{GQaIZ~4O4%!zDIxT+J}ocIw^tTC%Oln8&W48s>pv?0GA5kL>DvA7q4Ij zr)Beu#w{bFr`~*n=`DW`3t`(!6+h?Q@FSb9&4c}rzD?@nh@)|OeD>5(5U!1Pn0Bz3 zh8^SFdXv@Oho*Dv#sI3efKQE9P(ON>?>SvRJO22X2AyPAx7cyp9xyQ)y%ys-5P2<+ z@=L_$d^pB_9BUG`d8U*&u4Iz^x`;t!jo*e>CTom%;N*hgru1ZlMMzD;OerDVz6vE& zwIau-6AqccoenTu79nc4@6u_juHrr{s2`W8vTXi#UO)+1lhF_jz zb$2l>1DpSwMC*=E(x?Zro+-m_sj!|1zv4n5APgfalBi+CHe|TRh5bdyK zNY-7VP^7m&#UIG8Qs3L3U&=d#inGI-SK&JAXtU?&ZSQYr;9oFgy%hHUUo@uPzURmS z)za}|a>@q$BfIa;QTk-9zE=?8-lcIVTHa%Pc}X_NcJU@aI~7639yH$YSKEr`v+8I7 z#VXhR702N=i`c66#$NBqA6lNO>;Yx;sb}lYkYo)sY%f2X>u=?a;!iI7U@GfmQxltH zklV8hO*xamsGdcXK%97dg&`KMS4u~`E>Ei!t*y@coJT9@B`Gb9VGOzG<31=NZT=x}<8(uFe!Oz0J&DX@Qtfj2k@p~iC2pGi#}0Lo(;#bZsT@RxhD@Qt zLW2V1v8fBWUOw4x$Y82Hy{s_Tm)EjN&GYwFKme}jqL+KaC&*am2MK^w*Po@bcLxu0jrc zg#z$t#^NIQfXAeZ5xS)%@(Hc}eQzoC6zxVSB|WleDU(=Bj6Q@6@q_qprl<>5_#YsM zqYRvg<5gJ00F;`H10bq}%;i=9QoHOCy|kcjiU-*tPD&e#EIWlrJjrt%h2~Pkr`r{P z@F(v&34_-s_EloHwZmPYsd-;)dzi_KYVyik^7Q!Yb57bZ(f=}Pes-4oGOZH3&aD3? ze!o}8{nvf$JDt5RqQ%PAc8R*sk1o4~4S}4y>N{UzZ_-aKVuggk^@}0yUzGk|B<}9| zn@j=fZjAWkN{;*kEM?#2Z6fo*CgKJgiN^wV5ij>bfTJ{*B^yr=Dph<6m}$l$?I zw1L$~nnCq~BTe=|8X#CEd>@a-?4WDe((Y2msErnbzQz^LT?rrGU8zmI^(Lc-r{SPw zJnKcE&l+`l6)S0i(N~WB!a4s?@Z&6@NJ26#A9A#Us^EtyZ%d@8a_y$7#`Kh;d^yQc zqS_zzB*a)0h#>fMr9a~5=h$w7M?dl^!lyBL53LfJJ9s9%9bSJ-U*0$unnWO0vJCD{ zu;Q)@$wF|QKoUyq)^kpE{ejx+uqFE>qHkn@YE%owK^a0 z+ly}1y97w1DBW1QGMRM<)f79_gzk*hO$8Gj(H2YQ?=&R}KQ*(S% z%SzkQ+R)0ycgND>7fsWN%DO8iBP%N{BJz>94TMVxjkaC-(RG@7{(!!raLgF}oeIqyg>`F(s~XvymU7-E3Dt-C2hbg8fS2Sn+C&q@RPyeum)M#^^kCz5*LUW1Wv-2I3)O4&Yz7I0nSIVGDel zi&c#BHC74ESLKsq3Oz|PGZ_f{X2!%ANAMR2uUIg@bW;8_= zJElnm3(4=L5X0&C+ETtk6x~-hrek~Y@}Wvw!;dajaLy#G)|Lfn4v0m1_0^%h9_-Uc z3F zp%An!0<%Q|NQdu7hn1KNCv-cLe!`l}aeP*!rMddKnttGlyI9h{^pQ&R7-H&~U1hGm zP4`dGhhz&XM1g|J>muS;c*NiIq^{Xt{8b^65I!`h8v4S1xINNhuEn%KqH<6%?1xx% zsZ0YX;(f~VwaFR?{I2@<5~1wX@aV!#QIrS7|Fq0)ggg4JalT!{CU+*Q<-ezBS z9`mRr-@1PS^PcAobK-2kP~>-u?<*hD`*oamyVrpe8n4iV@V)o_+w*yCRi=Z=Mk{cf z&pD`42L1!zU=@CGGh)|<=#-0*^0MUcW@U`Nk{$Qe>wnPbvQN^`z5Qt;Rdb=pn<2G7 zs!Wk#z!1?tK zhKV@V^ZQMcmxbmo9)QMo@di3Ya!}57yLQgUAB@bWV7CWjLMzkZli)V2B*z?T9yJ#F zwnOY8WOf}RbFR?;_PgKq%M98Zs*|1Wa~My;9Yc>s%A6vY7U3}G8@Bj7@FfA7Ohh8XVGiNGfk($du{Gs^P+sm zK-E3IK?^Xb-2b?g8}s-_(^|@vAoJgyf>Xx11KR%448pVbnouj60EDaaZQg06NwrC( zO$AX$%;$HC1|c(zu-~7RSt!iMwsiog9%9YkZkQ}88T*MIh#HH*l5<}DJ^P)RF0Gm5 zgdtHyI1@)l(E4Mk;qzhvIq&UP+H}a^Bo(?*0ClqpW4ymWLX&gO0zf;ys#ua~!8FkH zv6)2ovWLM|THhE3rf)$$U7pZi{JD;#MUvF(kJm;mnma<<`d}@y9? zhQ6kEDI!U?Nl>NcP$~Lhe4Uxwq*>ACNK*tJ+(w0)5dNjF{1KBdd7n&8XyF2E!=EjE zh{)bblOQC6id=1)Uq$;h%FY7s3)ota!#FtStnv*1TDIeG|Ejp{U3F0?S-F^MIb zt4cI+D^1$7w*Q2`UP+7BT68aTt2vvUKV zzZmD|xgPF#t~qdk9n0ba=tQ8=N@$Ez0MtV4OdMtboT@&Sly7&$6!iu|RRyg(Q?Z-e z42|ty?eV_eAyh3to3`afjoqxyoN__{N}tH6d5aOM*;QSE`4lRsY$Jl!@g1XwI6LEL z1g1HIW4YA6pa*>pB%~DyPS!rnq@RlhzLC%+1zpyJgWakRLapi@5*}ZyrX(J33wX(J z{(6v8g0eEq?;sY50zr?g^08fs8LI5U=r9*ujX9XMBT`METO@5^(H)HF@xXdRJ$;X7 z)99{u9BO1bOu*)iLm{9{~dR1jEvYg_V*>D3m+ zKx9?i=wtxgSs%KNrd+<%7t_S|$TB}iMjphF$LVGK4En#$TPb923@$5MIm-~rYzj_J zw@iJGm5qPqvnO z@PEyl5D-Al(*|ahNd_@RKz+paG2AFKz|f>h?MO z6bIc)!3Kw$x;`E@<*yH!uO$&43W_M51ZN|wab4>Vfvj#I93GQ8f;1nUe9C%%TRq!~6l`3AbN`g$U+^Jl!VVmf<$z*B6$kY0t0V6Z_(nd}~HwgqH+nW)0@9MV63 zqb-%Jb`t7$yr`Oe_iYcHE;YE+*q9Mjo!mx(Xa(*jmBt$REw{q?!=gP*1CXRh4 zTt0)@zzU?D{5&M$RP-bxf(2GoF(-+#+2xXiHRzP>>Bk|U3PLZ&Bbj0q?jI$_9-^fq zahrFrRu$bG2xZL;mB0mYuePE`t?(ufQ`o@cR5sClLpb#=T&A}zX_qA6%m3_ZSpz4M z2nQxm6rs!*B0K$hv-``v)Fa1nOn_5?)?|efB7HfM#?Fs{F|O|pH1?C$0v-`qDdqub zy;ZS6RWtENEE{|%^>>wHP=Kbl1W=L#dq<7-4hlgN#-8fc-46rakYG~aQrjI8oHxRf zOpoW!Ik8>gr_-?7=C-{+)9I<$#Jp<2M%TzpMBlVSAoepP5D(dYg##R6f(OHvE%s*R zR-~R^Bk;>YM5!~l&eCcl0>J6Bx`2c2&MHCcp48{-OR*o@Tz@@2{hKKTPj#!3`p=Pv zHU!LG@yHe8b9HS0OIVH5;pe?JIguVPv{Vl;mTO~fYm?n>X5bb2ZA0jvQrVuE3!Klq z0p~OA2Pht|J-!dOA!q$Dgh$D_-bWE<>;O&OxU1HGxJ1$ub|-vxy8qX@KTWIXC#C6o zmv}v+*_Aoj`pXBH07uy=G!u6=plD1n5LWUqD)&;M0CU+o5ltBG4UZWC-GDKy5?H;gnqCXmn|Oi!3Ptvwf;Hm8hY{Xa_^yw-dXL00iQx6^9eog`;+K> z>B@3w;97y+7S12P7fqV0b&>hNfShXZBE}A<w z3yvP(YAtY1paQh)-+dRvT|iutfgTEVu{|7$Zzy%@FiRWO6)8hw$9P`TteTm1U+`wQ z{)AKtyX*ht92lsxfvRd+u;hCK3;}Ar_N)yq*D@afVdU9>uxESAWy0Hq^~4J%peug{ zCZC&%TURw+r*jL1Cl z;bm=u+LOcbUGevJ*Ii-Lrn9i2@4NaiRKqWE7;CpTLK}@b`2z<#i#M0Xwkh5j4V~}} zQtk`HL2Cr@yo;e|qsG`B{io;X=#=emZDc*!NwVs(@OkESwyrrG2!otMI`;x>4%SjD z8f-?@a6jjf$ z$DIYZq2?e~xu!$1qV&>qA{KoBp@uvRFZCa|2M2o>#vstp{(bl^+af%6d>H4oywG;_ z2~nT-X$F3=e=rnfibr?qkRG^!8x2{OECW3!dgWv%IoZljFHp3Z$@HfiKXzb=C>P%2 zkcyo>g;|_qbFZ_eF~l#B<%_y{)WF3LZMy##Orrpprk9D0M3rf}+{sYgcwhf+R*jRF zDp3j%=b=9CCjY*P)tCMK0Af+H|NFw>P&pvpc!FNI#4O%Ls2WkxStx4C1gtD<_5t;; zg)5OEF>621wTeMeM*~!4*7xO+Z;Nw{Cdk0`*#31J4scRtLV%k~KU-%}a~yVCs&SOJ z9lc^H{@Jcy&q8FWySD1zM-N+rgZ!l6f5In4(P4wF%qspi>{4_q!R@lFkgUU@Y8d#5 zRp|%+zKkCAj&~W&(DHeC^}S^!0;!60%q-w8(8WF*=`R2~a@G7NoRb!)rq;#XBt%E+ zX-DSij#34+KN*#`;@VA+6(|?#Q9946eLYx(pVRVA+b{Zw)MNI% zj=diP36z+_)u=Sqvx7jjaeT3!4j?k(a{gyD%_Rkz}&ab8f1E&{3tG!)vB>ub5CZ{+@{R2j&xt>tv`T<-o z+CC9%9|Zbyosmi@tTCwDE&{ts%+G=B}p1A_Zm!?e}=x6NnD!G`wNv9tMQ zTZ+>UK@0D%w`U8LuLP_%T=D_zUq#+-AtFS+{glT0vW|%hNjfI~f_?gv%IYG>LmTzR8&xG2D3|wX~eFAlx z8Z|I7L|(7A5$Y&Rbl^cPgjSdBDb0A+*<2lp8qY?7sXF?=>OtENs&@qV^aCTFpF??z zjy%~f;jb@ksHy*IWnI^pJ_K+3w(^)#JGhWJ1hFPs6B?b*ayG$QOGbVVj6Eha2LDKW zyn(L(LRl8;CDci*PKKm4qqXM|c8H-C8p}DPCr&-fl)H}_ZV4^&onbHRd}R$IpN)k6dXV0)@>z_qJMo70 z$x+S1!vVW&T)!!pE1S*TWh;f+SywP_q}4elz#Y-}Us>Gj1`fuOv_yeEsj2!odEu=t z>TGNJUSC+1U+{F!1MzqSmf*$A8g@70Bk9*gxG=f6q}I2ez0e zZpXrlEU?D%?TCe>Jy15G={x}Xs*qqqwQOqsq0fj%te#xsT6$p1pO!#-Y^caM;)RAL z!LFcY$=%aB`7g}BQ?eZbUIaNKj4utvzp%`vK@2bo>MiMA4(T{a1u&&w0=OQu#qnLq z9HIpe@faF*w`+c#S|S-BUH+f`$W3#2G@cW=)Az)L^tk=$);uxH@csDyeeU%Nx5M<) zB#`M;R4%fl0Y^EU97k*D0iPJyn$EQI0S>d$_u73^v6k`Qf4$wy@fdZ++fvi-TN*s` zFoY}Xoy!Ty2xvLju2G>A`_epYQhJqG=nG_mHyI(fkPHIa z-^}sa^Yg;@Mc0S?pfDyoT~RaLUrh$lEb!xm z30fgwviSe1eYE69?BS@USOo_QR4DA_l1#d>8FGfGO}T#x$Kx#^5;ypb$jJQLcWzcpzH@u!UEt29YFI%krv3{4#kw9^Q zus;YTsbwUKpF+T!b_F{LJ=-WVyTu*E1t-lzn7ZkZUNddgAEuFy(m~Q5+zlODO+y^C zTMvyf4}_&`TEpbxzMHN(1@5CXwYzU0!Qo6vp83r_JucO8hX}5&D8X0(b-PLEt=D9= z?S4H>x#4%d!E4$=Gq>-3XlFwc2aJLm#Le$K{kL5T#3s_vViw^}#?9luAkP@;%O81W zvgKODG{QlaS7|FwcSbRiu@o{r!=J(G(MA{ znk1uw8(wYRswfQ8TNTFeZsu`}dYL)aO%R#wiS(djMNqt{hZ3Mckhn&!^~?GW6cr<* zQTJM?a4TgonTDRN9?9tr8GF7yJ!ArBs<*0xuz?rVmn#p8$r#7aUrvg%KCpYjOZ7w_ zJ9IAs?Y03TcqH4WmMRFXYwKBtVKcEQL*On_2Qw@j_TNt&+_t0}_Fu&>;f9vLDTSx6 z6-dgco3SbW42GGIQk2TU`Z+Us#Zemeqgas<&^n|I8$=j3pjPP_Bh2u9He5 zU9G1WsnQ972*keNS^8lSE0c)_a2-J7!f5B)WWGrS{9ydh$vWvN^0iYKk@5_yr6P#S z@~AgqKs)tYRw8&Pl|kl*gfiBU*SSWvN1oH&+OgJ*(0=QBI|Ad{z233bgy;Oyv)uU> z>jifB0WWAdmpKlqD(a&~KL{M!8Ela#diXWV?NG-L614!n7th&Y_iMg^TxZnOV{K`z8Q(u4Z_}l5 zT@iokD(w7k^*cOYC{Q}<{|a0UQjGEEd7EGNS{uyh>czY>*1G53pRHO8-H)1QDSB@u zjjg7gAN3W(s|7@T?cAe*BH|sE+^N#}n;Th9J`r7Z1h*uVO!V~{reoCg;=Q`nrwevG zA&{s{Lh_`DqiAc1waDY-aR_}k_teVJokk8HzUwNf0F02#p{Gkuj0V7Her3ZIHWJEje?M_r{0bNs|V zC3jT8KF!)|S&@Oxr53QBW6i=Jw(F2ii;;Ffq6B?t41Z?wD`yG#7I5ISFOX&QRp-?{ zVP95f`Et*4FnWX|Zl4%#^YRz=u3(Yqg#=*+yrwT3IJ*s$=ll@`Z=Z!PhLw27+tQmE z47#63?W_li!1pLg&E#)O!Js;Xl^}( zSimfSDFu`I4P$fuQti1!@KRYFr5_=m;swu?;+lBjd+JNz@N;8}idli~Xx5%h-|yzm z#>%%vte@5A%l16o&6?dute?jWmviYQ0gG$yc4a$%8`fq&^$GIa{ezzn3W#U&q zc>=rVt0U-!m$PBvrUW;RqE#9)kG9jbE$p|=vO*plo;-r&TIo@RMApA9XPgR$Hk1|eB z_#eg8LqI+cri1#Z>B&}kyYx?vWa>BA5M@&yKY{U=MFFGqy_-e(%bE=|8?_}%XdnuV z$JV0tN7++fQaHE7=kFP!(Mx^Z~SWlflS_3=&j|x0^dyQqqJUkp&-k==k8I zDXb{+hgN;L9OhU<{sKhM7j9c1ud6Tf#sPgemOU<)?04t45=R36ft=EuObcodDd9v+ zoID+?A9L?`GXg8_KEW}vbGnD1K=tyV{sYGuwoPKZ#0h+TE_Zv;nNcLw72dXyU0~mR zif)O_UR_$Qrhq@_LflZo>)|9%EvdO~Yoa&W*6Q2|Cs|I$7HOA0<1f=y5)hp9htP z9f;5)$c^`?#_PK9HbG`4Wg3?(P?<8^@m-Sx3ZTu z679MS3u{9q8_dLDdlJ<8{Fwmtr_trlj;F;>GEBZCY@df%dbYsmclw3bEZ0@| zhw^;p-e~#N^U$j1WJ)Og;oi1QA??MLbR1181(sAEqXy~9dMvy{pmHnbq!OAd3;;cn z?sAw-V+w&p_pL(M(`u1_oEx?~JtTq(CxIal9)eX*hT_)`8XGloJgA-f3Udnb9O(XW zQTzP^zf?v3(6HA0*~y-19%LQT)ts=mj z#d7{sv;`=X#?0+VA|Avou~8&AP4}LMRX(oGyHMo;$-!y~xv3OFx0X8r{^MR@o(9@--xJ-m)p~peg&jRTy@m1n$7oc)+mhx=vvTK$( zGws)jBL6ehUxw{2`1p}NsH_uRj(Rvq^FZtix-~Aq38!tM4B!k=(riLX5mf=yXu&Kt z9L{>C#ufisfyz#8Wb!+bs78IYSbHQlFhgSSo%Z_^Ncn)AqV!taCRX~NKk@2y^*!y| zlrXXimU3P7@q_;wKKqA{lY!^xm>B=C6S(VVVMj>6Q!B<5n-om%uoD9}VKyj3`tMg9 zW)XzER^})3F#Yz6<-Wj0(il#eL@(FHv#p}Rg4gziBR4`aJ&9A2t2su#U`=jmxyl2C z;cFzKjfwxQtm7u+#(abIh&7DlEhf+P%3B=<+ogVuLivl{6X4{=My^<|5^)VZk5Qn3 z#Xmrzd?0cCkpZw^tc|KGZZ+pm_Rl6oQr5gYw|Tfarj4d|K6Z-Zziv{IDU-t35CH4j z3V>xoPVc|GlxHEcS4JUY&TK6OU#Sr%mx-Kn_J=(8MTg5Is%aFTSqFC^*JOOR+dcRWBGEy|q z%Izt(EMW}?0BH0S0|2_qZtk;qzv-#f7*q4I;S?Aq?KppPYs^Cj+{*4F`&&|TTbjXR-8Z~Qf$8`<%9%TCF**O zrGPY2Al2DOdhqD?j7*=fz4|8Q4qY5w6zz2+rH_NBu}?=mUt;bgs2txYLm#>Fn&lg% znmn`EKL++O#I(ra#pmz=+2n^#^)CktBthXfs_|4cV*hWz7pDaLT&gh8h~aiq2*zVf z&ths{&vF!Hb#uKQ^X7+}jsznJx1K<7Vt6E`MDbdg%DxX9JR>*%`M>lV_+Dg~TI9Z( z-X?m42sl8mB+eQMyik9%F)6%u3C9d!aM@Xf{l77j$ZuF5If~_IK51Nxz!B*0ldRRu zrXI1&(wktESz%7zy8d^T&HkP{1?vxcJKCh?G4>O?9*1FQbLG*Q)K> z=*wsIxwl$CEpajDOii-(iac?@@cy;_woc>#_gL}$y_nGPxz{|cPBV@e7RiFktf|6u z`XSa^4KLMOHOyWBX(e%O=E3Ehm6M30{kZcJgIb$~jc62)BC%J_eWxvqao}O=FVrzs zvVmPKI71KXQf&lRiO&!6QBamj65N$eM)JEBW8Tjk$@a!Ht*5bx$I~5WQG!niw1W;u zV(i};%f;m+S7MOx@Hk8msU=gq>ajkbN8^WA{hi8y6d$WzOvesWdKKnp} zsC6{hf}&t1MG!sQ6?$MbdFv=rG|MEVj-Ez4sHep4m>?c*Nct^ae8|O}aN-b(*UVdx z{m!_m!Yhe$=@Sj^fVCKR+?0B&$hdIUKYN5M1Z zeF?n>zYst2oKt9a&EH5HGS6oHnnLT0wX;E4TU%=Dt9z#a7Qt(vWxg;we_|oRiH#z$GKtOvkEX5Dvcl>(q1;_HU_%iUVu2Xx;BqvH{TlSUO z5yGEfL~}x^Q-B-aDPy6&+jUIm>Wdpt36_estvJ3j+3%Kr{m;J zUgY}q{;|i)O<(te&sB^f#Jm*3dPCEFIM7sG6fyMT|E?!NOdJbmuUN>wuM1B2hqu4t?@d z%yKuHD>n*lr;%cc3KBDpg~nQeF?i=5eO~Tp#V08^4_Ru&LVe2xK3HWgy?E+JKM1#c zXLwwiNYb>0wZE|;@`7uIGMa4h+QhQF(MXk*o{Wf^fqn%%>e!QRTA_N0HIAsEHV+sX z8uZvekF#g_Cs+uU43q6={zAdPuqueZuWy4%?dZqi{8$F8vjs*d>5yUnFv033nKGg2 z+~a7@1;Wanl{`v)7mLQwuDFUQ5U(VyVnC`@eyV6X#lE)?Am=+FA7lCqgQDYsC??wi z-Vumu*TrUHt&|<5Q(pLCdFA&yaN4_UZt%yyZ@2B_#Czui)(~pb_w6UCKJ-(>z0lu| zO&2^X;`QDo)W*=Bifux}md&}TdP0WNb<}0FT4MlfaE1dP7sh?OlTPdrCjGeE16%=g zp-#jOIq#qJ5*nH>zae*|Pzfvm8d;`ZRehe`6*a+iUS@Pv_cEM0WBE6&{D-vZMdc2< zTaZZ1w{mkZ++WAp+Ie!ZC5)vP4hPQm88h@M)opCP*DIb8wjm#&ZZ(Z~25NI#7mN!+ z#&?gRc9upQ)Pc~)d$8n+Gxg#ji}3s_WCt6!$3GtMYK9hG8p@eW<18M!{vLXuF;AFz zq@8-~;R9K>j?(L@<$tn|!ctnBQ=zRhFoijsyuCp%RNQy*^Tndpb|C-36r5j zbj;?P0`xS;xr+a9`LgRq7DM3J^y-EF*VYx-zxF5*Q&5gCnW0){O<jW#tvKNi~K$qeMJ6!@N$@E61fOE zw$UU!J>~CT1p4d@KFuuc?5{Of%hSruwbw+%cad2_G}uLn_NGD~F)C@0*5rPd#n)&b z8M|VMebAx7_mgo$=S6gWAQ{-(4>bugg<^*~K?(jJl2yKV2vbA~^vz~+j(;T}jKj=w z>xj3L!>c3f5Qo-Pl;~vl)SGR?VZCmZ)fz^Hbz^={_)?etA(J;+X$!Xnsf- zE0vb6Lizr~a=a@tbT|1mxjwCOZ`a&n#yyI=bB$xn6PP%xKbvy%loI>rz^OksRJit( zm3{tu*V_DE-r?6q;!nK(Y1wSe$Blhy_2zEVPsHICc2R+G4+P%FSTUOdxY*nD+NhqJ z6f3_T-#%3!;>1H0tAli+Ol`{E$J;Dr1Bl{F#B7gyBAX1WNpc$m8_%P3rR3nRl#QW^ z43V7r1}mR>Z#@fowS7N@&VkN z2jm5+OJlk1X`Ck&?l*+T)H(U&gBK%We@^{9?BAc1up6lmA6~KiG3+}AvDo|XaTCOZ z40aW(@r_Bkl9_029D)USh{iQHzavH%6BS8tU@ir!$o6s(J8&}@8crgkf2^ANKHTfMfuCxu*tlQLMRMf)IS%D(ApZ<(3r=lKY`=n5EdLV>;3vV5Vy{F9zDXq6IcAVOe>*7IkT*s2S3;(R8E zI<*!ZRCD?PZ13jA30fB3*Ie61p4jf$oWD4G+|u=P+3ILV%|B}%coY4Z{U%n)&yyZC zen|9suS3@{q-g&xO03e{OCC_DtBh5C>D~V^q~X){^N}fjl_n@$$Hf0%wo(QDQ8FGy{hBd*k-btd>zZDu!YI z3fZTVx1TyP;AR~Qq))K-&(6JiO`t9a%-?uNc@rbN0lC5W;TQ+q_u&!$;$)>RpThF# zWS2FKlBsG$vuRCB+B^ueN8>r9%F@c%k?Nt0J)!rg+`6CcG)!IWY`8cxg$(Bf(e>+o ze{cI6x-TbOt*&NdVLojPw1sx1==UJ|MQVSjpK4xzAZD<%o9=01X-uqssnWEWsea=( zrLUUI{z_kPXrX6;w7gBY{~>MC;3s;IMtSsNHBFJTxoIQED*ahzl`z^?2AVSw*2t*+ zj$l?|&iDR!dvUdkJOpo?SGiO<-%)QE%7gMSGE_QAQrg< z71yXPWcwEB#+67sPg%5GOpaEe=xn|ET==LXWj{|W)Ip5aN83<6f2e}d@ z+hoKB)y)zb4mh3rrgONffcfG13k1A5Te0iktKPvL1_A(tf*dM8|RXP4404DYv6~M$EtH~m&d4hBvLbHmhR15eRm9P)6Hr66*Q*71`LYs8u z$aUn4v${e*k$@tZ0Kas94o$58yKJe+b@C89XfTP`cR~*en~_Vp-gCSgHDx;#69H3r z^1iIeA650$(~o?8e>+o`vKk)a@e^SSn?uA4Xs{c5+hEegu5&#fI2}tmRl?14PP1QN z{lOoRvZ&ap6+2hVVI=42JE@paQAD(9t&;kwe6uvBzF1&DwLPke~$kvZE=L$t5uv5A{;n}HVupgWq(WBb7_@v-> z@}BBoPPG+i#+`mK+VLvtt-xU7%uZ{L3u}ntd~C+&!oh22;6~OF$$XSc3TK(xxh{0s zG}-dZ#%>w2A6Yd6amB`1%V>F8k@UB3@N}V_($(#*r%l_9*;h8Q7T)b(M6?m+tU|Ic zHvqVj$g-mpjOur`s_moN+wmdVKRC9~`Qz-&vef-GN=0;?Y1dYx{;{7D&T#$Sl-q2n zqt1oIvyCKFefj-#eTSg+F$LKAY}G?m5zmHmzC63fEVYGjxkKZ&e|2@w0JG}{xd=sY zcPhBkYw-Zlpw>~?cNn*$)ZCybUBRh^<4f(R=U3`ey8dXTWMf7|4;nMXtrG!v3m-y6OptC^Y3g3;4F@!$O#Nd|IWy|ez~)d~q6Lx(l`0X~q| z5$2=JTk*eP`%m@$tTcD)J8Cm0N0sEli_y5Tgx~l!--W5pP3*~SY_=Ed*{@#tnVG_c z9{Y=M{QU0zGFQ!&q5h|l++f3wUkk1MYO;R7#VbdPn=)FC;zF^g*_X3)X%L zU2cdwR*^!o1oiqe@UO$%^Q}QD5`Rno^1dxu0{V^twgqn0F!ZE}7$NGhy(dvf#V5UmEhkAl?#Jb~8VMTzS!^-9vnl@T+y;hxCh_9_Fd=vkcfw zn~S(Ek61yig6609Sdsq#0B%vz8s}rES)=V$>)k#o68VD~*{_iZ4$W}2TsPuC6r_!k z_jZSqqimhk!W$i@MS5GgD8VK%<8$eODw?r&@T@T2z1y@ z%5KV?6r;U1({vKAM5td;xip)+Sg!1#VI`C;M^3gdN1&6YV;U2`SiwUg z21aJiVyo%MNt|lD|9`x$T5){;A1r~sc5dMiVbIvt+Bx%{7wm^niLHWMmF&%>n*IOu zjnlF8eTvlG+DHlL`)z8;RImCF$hI*Th;59v ze*$&W=h#y5k2c%oO``{~4mgwB6oz8hF=Je$w4#F+J0bWc>W9OfpO6ElFHPkfFOvqe z)o6`QYrasyU)CS1L3<<~7BUSW4>5j)PTzTB=%gg%Rd#d1Bk=!|{;!P;bzlZX*+BBd zbEc!<@Ym7(xk46fbEm%g<;*{e?+{=^WbvK%r#hhuxP^Ur!dk+4%m{ zeQ^^ccr+%|#Zgj!<7S=<-SE8#1Ds`Bmgyun`gU&L5Ba|Hf6`h&Yii|*w`4q>6^~z=Xaf| z9=V#Wa+E_XZk(0_8BM+)>ht{DY;Ajih0d}m9Ns(#jO%q{0cU9Ei8@oHaou)#vDEN- zpZdHAwMl#vvU(Kg;qxl+ROlJO4{8w#G+a1dOzk~$+gO7nWdEWTH1!B6uwVq-`AB+@ z(HaI~^ScpbhDGq(Z%tlwdur#!1LE{!yT0Imi^a96}&<^%Rrur zh1NRA8Zd%0{?|QPB5JPrZd(Ij6Ec|I4#ZG?+sRBmN{4lZu#7S>OEq>G=YvxtBQZSD ziSceYnUR&;>ZQ-k(|0s&GGETf=Qe`<0WBMFj;zzVkHTPmIca|aeum6Gn>?Vxw!m5a5$VW{k@g_p}#f&>zXBkszWh|VlA~8Nt|^0p~x5-YM++?SP*W2!*h;LCOa~M zuEQ+H0~8h=bGgSpc;?nL4h0)E{#D8ojYN@?P!dMg$t4VBCL8yzkC13I5@hRh=FNir zuKulQ8AZbL%J%lMpBek7X*REVgRP8|Cbg8Q6I~)vb4dyY;f#@nr7MbWpeHM>>o4;u zc8OcDmCYJmV+ERH_D1zZ*OGv!=Oa(CeVe>7R&=`}nFdDdDG-?dU}j>sd-Kc8<3!PIC*vpp~HJbcC;|iVitP7N?Z88Q{5MfIeraoyUoaVy9c=hv$ zkuWgs*ReGbI3@|X#Oo8GG6*1-czj)mJ9Oh8h*T!D@5=!WK%gU2bU+)4^uktRF{SO06$LjQ@-lke?pUSCe z4lfw>RX(At!DY}BSn7_-LObK7Css950~XFS6K15p{};5}bTD*g|FQYrEwA42E!svZ za;Y$!kUufCdo^Nik#zx#b)t6HAK58UzQ8z`tSEmPH45CqQr~xVr{-0>L4;ySqEV-6aqp!QI^n4#C~s!$8ox$iMfw=ic{un_AV~ z)z$T3Bl9r@i^Q6lPqVrHa$tM;L+L$~(MUG<}RACOb2H1u)V@Lj0Kj)5f*mA`I)RAoElum5`C zabd=4vl4gi=8uC{7PWWV;C%k#6lKl{I`O0=d(>mGlr}PRlWe(QaU};FAe8I|hJl0m z?@v6$0DUS|a}CgIWVBTAqvYN2p-7jX>UVRnu@OwTukKOocSf)wQ;gSyc1fN(VVRI8 z*Q0|VW(j;6vY>Fs?y%FO+W=d;f~#TwxDCS_U7Z>eX=BcCsSle+p5mHk==>z|%0kN^ zvy4|~)-cC8g{Hj3*PY3QlrIPb)UissY$^AdNA^6n4dY~&e?-NhvjKw1OCkKp-%Yhq z%mK3e_CtXkvEuNKwtLBg}Ny|xtZCYU|f14p}RcZVjzf;P=4 zggeN{jppJHLatW@TD%R=(m@=R2%zF0#45tP?KF3cjcXvAEJv+#rx@qlT;34J(ZP&) z#e`~!An~uw8mpSZX9HB2?#y&ZTBsj`7TM^e(ga;8PTsrhe{i(?d+M0IeRyVaqAjW8 zpu<5U7}d9Kr^Y1ceGBYxzS9W;SaI#JtPF=(Z1f%S&x17!H(Un$w7%N-L7jTUuA#2D zZJ<5J0ZIhe7KOj-3Lq&0L#guH6*H{KbxQjHlr-y;s-u$M4Xv>34LK&PFk;oq^jcc6 z*JPTE`g3zg=?oTwd`7#hrWmGrg0_tpo84d})tUQW^H^o#Nj1VsS@2vR>Le+NEvx5r zHWL|_r>|73t?>gI6h-E@BNjZ<$(K~KMpg1ryYO+q)NqPS6 zi7zkDLoBY;zy8)OgH(gyhq=rfS{%qu0LPpsVA$u5Ln#63OVC_UI7b zWY6iTk=>uv94DFAp)F82esvg`x|x-WWw^6hVCY*>#g$wgn-2n-t3$jVcW z(eUuv@xfvx0Wy7@ogY%0_*%yAv~R5DKK9+0!`g-XWaxI5kUT6_bwBEW_R2=^*TCn< zy##BF5!JL#9$D9YMB^1b8!RK2k@;jsgicT-k(dO5liA)N+eA2bNYFK54B!@giRN*0 z`YJrTq(qZlXshtoabz%<)SE&d0F?=!BNRSR^RbS$nU8cosl#U-}11n+}78<#f5YCXp6dSRK#$0eFEl0`ZAf@Qoumv39(^yWWoX>M?;P6N;ilv4$@tnH`WbxuEDJH3Qv@Lxq$ApIoF;kEq; z%bN`0D)#!xgoZ7F4w;1Le_4vg=U2A|J#Xu3ovm4z`(Sb)TRCZ`lnqHYAj-RR9ibOi zgKI<;*<0hKlhAe(UQiy&wrGtOsULVpsz4&(&MM&++@E?+3)Ut6EXWl$s50{r%Ud5SJ2CI9$3JaMI`!xe2Cpax2XD? zPcPx{L|cD0m`5)`^pT)BWd_BgiK5b!(g;t{sE-6IRf2q~eRjy_PE6WJgXRI>5hrJfbXFJ8gL&?TV<50dzex40R#TZu1eIygVRoaY|XCIgBvd1JmHA-_&sm z;?$898l;;dXQ5>mC45<;Np0cz--#b3ABJ1_>RHu_#$wcQ8_%fj^uC&&d#ks_4;IB* zX%13;ajF~I-kn@A!NX)$?@R_hZyXRa2NgMZJ@eo!A*akp=iHZ#w!CU zPi-b?JnCFnv)3jICf_mJFS zuR)n0Hk+SToC^uce%pSe3pIIsPOwV)Rqj+@@i(CHA7iC7_h)}4=4lRkTy9IAg>m^7 z><_KKWII)cm{tG+Ucw?&%z@Pi?^y&txwC`#QS!leU#i-=nqDu=UhWJ*jco@k$R&W~ z@7bOYc+%j6b4t|JW0t`1fc@ceHTQuC!8JVNx}@^jW8ug-mAHe?5MN%-@_wsRZuH!~ z+1X`9we=>Je#}7L`LLSB_;{KVzPf6s2!9MhrIEW-On*NJWdG5TV5NHJ;Mv6J7M^6=L>!qlPD_fR1E&PaBsh|y@R?|+6t zK2TJ}ww2mHi%q-#i#RPq$B5L{`O7mc*5{WWUhdP3@Kd3Mj0_&heff5~X~w;g$uFi4 z|EC!C(jY%IBud14hIUMd3$=7PLMTVIV4RZDk z6myg)CLI$&Irc~F(0UoDXjeNRHZEGWPp=VTOhf}LNY@z2b5c({K5+>%gU$`=y9zAc zqMQXtgbkNk;|UG)X&##~5GEDL4Kl`1tN+ya7Oyuo-Yam-Aep{wsI#URM@y}^_0QGV zyhcz~DNT=6jY$vgCN&>D>TnL5@qo$u0}29BWm**}rPQvXnkZNnic1vjf2=n%#9qO;1h#>Y!_+bNC&0>Nj^{ zst1bNcs{_(Dy47gdi`UG1$f!y$H&dvr67s0~# zSe>kHe*E+R0{aQX<>cX-9%jyB!34vZ+=)%AW#Qas8Bh{z7^aO}SUHz-d>89uH z8YBL(9KeZKwom~%OC#%;e15-INE+WAx(X~s&#kRcCAx7Yc` znwuq9Qa%Dd)rNay=9qQj2dtC8v0Ck15gmxmz|{e|Z)E(KEz$bG=}=<^Vs-NKwP40f zjb)T3tA}0(=MarkAeJNAUCHDB*B}9EEzNwh1F8kq(dTyz6p#9E9P*uOUCdJ9{8g?k z6c`Gdz`bxOqQbw;{@btRo<~gmtq?q&;ITCe^J1FvhP0@}|G0|@6UhCFBqX`EUgMh2 zR7xn^BM*IH?$j!xh`dX;!}s@~Rd_75oIvuw?a!|3aUhsRh9t!o zEAcq!0?O;{tcoh=ru(7B$m*%uK~G9`!u$gaEFNl`2ysS7)S@Mc8p3+@!9+HRap4Wt zgFzf5{}+?VcX8vg^hj-9g=9#0oNm9$kS^Ag^j49!B}K2i7owQIh}Dm7yXCg;te&8s zwqmYx;_ak-oh80juUQpq12U_Z)~`kvJa8zJ9?492p(6ofc+N&{M-fk}gsC8qC$pZG zs>E=y62C)dKbx%3lRwBnf>EH>eF!!q{_3s%4mb~XceS@UgVk(%J%iJD1J_{#3Ewzi zb0-YQSqJeOD0tkk*t(=ZOWy=eH0aW)*VUoW}paYJ5^$I{gNC z6|$x1E5%mo@O-sjK+B(+n1=n&rxq>Jh5dRtOB%MB0r*Ke;t6WX`*Sc%FJO(JGM<#8 zLcFljFt4~&_7#uHdBocAPyayWqwW&I*-cdev!C6-_Co<*zbj1DwK(&G4;C#oRRE8T zdik0QOxEsp)!=Y{J|mm<`^w4?_1;1%&5iZwIW_|YV`xoB&G#1WIF;}mErL#_3yF$i zriP_~@C>ifQqVtDOwOVOgRi$D2h2+3o@ys((h`b3D<;9`KJSjKLGcH+JZP%hqjgew zeP_5()TxU%6NzN(1Fk21`+oo0ovq4KW4N0-hluF=wSFachq0f9$@c8*;^z&< zd9<-}i}>Y*Q^D)0Z=|^S(wlH((^zcE2@{;MN<$|<*>edt&Bna4k<~=*ZanB*3pnQa zu%hcKRyTXF7GQG^ySUW`zBxiEzhSZFS>)48^8$=seLroVd)o$PT^;$6+ghdd^x3N} z*s8og@`3ol+60rWUGi69Bsw~VRu0#ln@#wTgAL?A<6%dMqAXFrz-b#;vD9`#S5w=K z821E~U|13k_F)PW^%NqpzJtK7B&bc*T-AxA!3$_eg|kn!(t0;cYjC##a-45rA}i`X zz`hhHzcZ5^Dq%EY{9hfE4^*amJlF9ba!iE%YtT)*hH*|IqGu_2umn*|Mf_T1^g>5x zhA-i^oqAw$`zI&Rl)wKYBhzMdv>a#!vF71S$^CaKhUAoEZ*P5PI{;5PM$U6R8%ztS zw;ILP;7n10t&H>)-i1*?*hTBm&CmX7_hxCvX|a!-IO5o z#tO790&d>B4wTYo2w1+LGzASUlDSrB*@GIRRGm?Dh|QooJ2dLBXg)9c8k2Gxr0Z!U!n_ zxa3xl;g5$`zI6CD;Jh0iIbx9A1O~c*6NNWXvq6DBpRbd)Q4nho)&Q=}uGs}x40arG z-p5S=t<%osDas8>^{6?;O^SnuLN*cL4#Xko3L^IY`1nL6es{=>H8zJ<*^ut{!f|c# zF)Ohx0zw>DEJTbal7;>5Gs7hZo{T;^HV1|Exo@cKH6;qA#vh+gop6j5oYaw0_+#1c ziBaMU1V0ndUgtqbi&o--OB+6e_q5ihW%@jLiGM>ieGz9sw0 zK)jCjuSP7ocX>$LTx<6Sz%{Q?_GbN^Rx|J( zu+2qAf)a>XvGm5ti72H%c)m-8OAZ5|;gibVbYm2sM{4EYv#wusbdV-v^vYb2dddLblKqr78BK$s@xuVL zi%Ys3HtF7O`e$6Wn5wD-8h5l)WV6c@d0ezk<4Ii{@b@Y{Mov(5A~O~6&KW2qK;hv* z(#1J#Mo>gDSkO4U9=!dre=TaBa{L@R;uavDJusR_;YZ}8+T4%!ls%XS@Px#ymux?XFj9kBKefRnF{O!W|@8gN@} zF_u;MhZE?=JHZ+BZ7nt8Ki|at6>{*XSa|`Sak^CfS+Uk@=Nj1FsTaF$is~Q0(AJ%s zNxOeOt#36p90#CE=!M71JTi-h8xIP8`y9vEUMFGNd4=49mGebepPF=*5YyjXK3-%Q z89L$z*`2(cbjN@d5>jT+>Kkqsg@g==c+2j^NJ0Tl zCZ<*H&^TSor!nuFC89%}qL_7u?&Epmk+%B)kp=9!v-BZ>THI0K!=SYC|92R=_n=4gVDB+Kmq z_fs>ar|ZR}!Q&|_kWt&^AhWXm!y@@QJ65c(FU4}p=n*j~#awO;&^FOSC%m3tpDJ#W zddHYGkbLQrwv+iqGe)J;DmO}#dTKj7eS_}I@EkiJS;t)L!z?ToYbB-D=M6|xiMFqQ z>_g5j0+j5-W7=sOpF8W`hp8Mq_6A>&dI=lwcX2j8H{TJR*TMlyn}!RAbf{{Iea*I0 z0)z0ymfZ9wdlM|I-?uGNagnUX_Qd%87{>UktjmM@HAm&1Ow*|>0qG8mHOs3m9*)2z zVC*b)V|?^f#eGIu1kEF+I=1PzP~t#estI0`lldMx-ZI?^2Nib(RKOUMz*UA@>ZnHQ zNGdF2pBu98xN@2enHzqakUpbpf%L49r*P^F8aTm>`A+mU1~MChxR`0k zxKyL=ne3;fe7jI7K};UGJF_?kgutJ^TWH_kkF+6KOb-vB!)7nYllbdcWE?eXMMQD=B33=YJJ-}*sZIXP z{j#RqU-0BGGRMMaP82a`XO$*q?&nX42>Fhyq02NZb3Nf{65@1Mb;2LXv9-p9&eu>+ zdiWqm2rS_kHx$(Gt}cG-Lx>{ekuoat?1$qD_n6KFlQhkAIm>!qj5q^Ye1?ooQnvTZ zsMQWFz7E40tne>!qg=x-&KC>P*oEs2@o(;ePSyB9D?@mbB`e(BjsD9$i>Q&TpcN^* zOoA=Ysp`qxz}16xhF2< z*9}~ss*VV@;H$z&!B0UL)kg?eizWk%=q^z>Dmk>G9wAY0cOpHIt<&4i`3a+INS6#!dEg0U#$kSY7s2 zHa(*HG#s}+e@?!0dSh|9u!~R+MdAZ@jNC=3_sdQS+_{Q05Oh?5e|*&4-a79uAI5mC zQ<(97FI)Nqka%Z6q@$lqTf8vO)~!nKsV;4g|8?KNygpP51Hl)IedYs-cXy)ZYF>2a21#!WwZo$D>a)Kr>F)!wsARpG zWS+FUxTlJxrG*Jtg}_p{wcJ=kF!?~7p|d0yQc2NAPJg1sA$8MH?_=Z%v{aE^Wt5+I z3u8Xi@-wk3^99eEnz9ofUxnv*HzPSBLmo90C!B@ z(AuiYeTUMk6!0odCq(1f;N?Tvfv^U<4|QEN(o5~&ArFT8*3Vb?Bcl}YVtT5DePa5! zPz3qN+Dq~%#U0_tU&;a4-zr2W43O+28(KueyKf}XLv~VnvGwKpk5G#tDq_5>#^6O> z6YxEI=5Q*)8~f{f`L;V9t06S$e|~#z!dHVa089z=409tWlPz#L!MDm@nw)MjMQEk|cn5E>-s4jHx_dB*9>60M~1Vf782SD-E{%ra`%$41Y zhiNvzXcUeg3Xa6R&Z6J}6wf<<$LLgv@a^UIv`(SY-*wI+`l_~jyy_GH4z_I&8TR`8dh!<0aG~vjPZCyFN5@az+0DMYNyi zXt!d}$vCSZGBF>~(B;XbAzhAqkr$--`MHIti2uS{g>@zXm)Vmrp{E)EnBfij$!2c% zQ}m!9wp_zg60?70EsedyR|ucHDCc&fD_g6*qDjP<9 zs{0EFDsTqN7ya?nN7-wQLgeR`;?BR*HsDzO);#ErhBEOsSeoU7;Z6DLwQpmT&q0UP({|etJnDUWBTTI+>jJ42QPoB-k9-} z+Qb1-GP&~IoOBa(K0e!o4MT;e22uzKu^$KxcxKffUF}ypJBeT9p!&R|gMEN% zd6kecv-(yo+k{|oXe|jGtLy{R?2!IVg*@LNmvtomD-72A^?y_LIgtc*j_J zN6&}*XkAjo6PxabQ*D;*t#Cz9=v{&b1Ps1BNG_DRqKqME%vwP$0Ml^`;5O%NBkA;a zO%cz*W9ey1?JO!!H6OU4di@e4UvW3aW)45;@&n0F@J%D*yTN6sv*oi?1v_F1xuH+q35`mKI@= zWs)^2;euox8wrj+&5wF-@|`y^YzZbiq3E9$?1%$mirip@3W3|J-ib|OH~4wEC`Sm7 zZFVpc21){!b5wIO9@TM&keP&kNcZnNW4!`(?7WpH)6{*5WyscQp!b&@0xz#8-|J8Xamx|k&diqKab;2#T|;lgE{ zeGjIsDXD|GBlo<(7A$K<9Prk@cM4_nF0i!-K@tPyGoc!P3Fb#1k3~|b8y_EK=H|Y;aP^)BvKCel7YoKtS3L^g zRHr6_N?-wPQ>pMA)2VJc9?(?2=O{bJ?3h z#y^5{L-`b@N^RuluAq5$BK1GOCE}(9BK&zL?dK09$};IEewola;!0w9I=HFNXVZh` zn?Y2K-Ra7CYxvrnxnxt&uDqDc`8>f029b#I)k%OVT0sl{iJVCQJJ(fFmk^;zJc?In zadmlRNLFK>JGGY!)1rfk9yKc60uwikKQ z1cdkHLFcPLLT-8ANb+vVF9H*TjURbm=dSLBR<1;?; z3?y5Du_4ZLUseGbtI^Vd%8SpDxsd}tZ6BFunt+y z$Chu=K_${z2FN&lD3cqrWW2N;#;~DFz$T}OkMCG&S;WLm2VZC7*SOeHK~*pGiG_NC z8uRjwUxm6D8wKI)Y#(29!avUe*lVA^B(b(KZfb3Cq=c$oYw>dEB^Js+nB4gcc(MqX z{zT0wzcQHl3M{xs5gWFxCZ6JeOM08cwz?aq^D&D@j(TT_9lFqq6!*n2`~Zkawu5q_mo0@hjhJ9Nj?lho@l_$ z2|v?HpAoQ(T6EgEouWvUpMPRpUpK33}FJMQKaa7R*G6nmH5$LO8X6{OyXKC zSHMeJH4QOu&IsaKKWUk>tq)9A3+5(y3*;}5o&B-ni~0j7f!1L#U9UZm!q6=b<@A z`fAcC>{F$=_m775UdrMUyU-RwnI1d(>e**6LC->g%ILlIsvS-o;QeZI9~LePvjtqT znaUoesji4)sd^s`kK zu>Lu(IQ#$x1Af$Bjra-wOn>1`9eOB*Uw78l&;5s*22cy`^2U|E^g7>6b3= zCIzsnC0?pMLWA0titE+;MhE&a5Mh;Mtz;WEGl>hXY>t=IHcTntAKO8)q9XZW7BFxZ zfzk6enZjkD7fyk%=G*t--*niWLS0p|$eimZP$DE-=I~AVkuRz;)$6Cs$q%?mb5aFU z#J*T$wL7`>hFDtM(rYz*G3sMRpnahOla=mek}sbQFu#ie%vYq6GcM8qZwW$0KUo?! z2c91}6`W3jRsVoKe)z`uP0FY;kE{eEgI*ueT z-X$b?O&Wth#p}Ew*iS|ScQ~iqhyl|1k@|jkfgL-uC#a)hRxtZ$nKD{aer;INp9JWt zIM?bf#nBvTeudlFaah71HA@0Y8dT9zVl@%6^sG(W6QFH-0q}+S78S6UC}1Dc0R%8o!xeHVL@8UrKjj11LHD82=u z8Eg|Ep$;Gl6PP2)#2eTjv(1G|+I+h^GW646^3IAr6DwW!&Rh7e4?!iv2S@nw#ETisM%z(kNnuWOUvrEK|IeYvq zHhIC*$CuXa1M1g-R*5GOZC+Q+%~Zb(MWaPmhIDQ+|L>V$Co$}MkEm7d?IGO_B2*fF zz!x?c4=CzUz1zdz@Cc_AMxJ#^a#fMT%OCGjlZo2YqrwUbAG4EeInRU=WCSS#`DqwY zfcXL9l0qJ{bXvkh)8!WS2OBAFsHvDak?I=S_xNsenvbCXt|08frtvf?=x0AD1qeWj zjZ{1luLvi9BtQ3Ywc$B^$35g%h5zX*u{)^Iw9~g+wX(6c#36Y-Yc_)^+MnSSFSp_P z_Ye|45V{#~dydO2*zP%dpVbkZL$?xGM}*v%hG{In#+-Lw1A5E}%4b2q?RsK~^&To& zAW9AYjW|ZakyJbUc!r-XeKfo(3aI^&xf3}bNGz0fwS{WF+l$41s!5Zy(ON`>RPkdv zF!mQ3^qX5D_x@=N93OT;xZz3Xz^a-;RnIzDJFF1m11GTS%c#ATb}e_4qKDkwZf22L zx62TV)B4(@tG-1DpLuk(kEPiT{3trtDCQ=wt&|1~9n=kND*G9yygu=NZz%W>lwMM&4DjZ zgk$G3bd4$$)>rE5H^wnO56x zIIIwbOEJX@;5Mi|Gd)?4jPDjAPtEwya^I>cGU9mSErf;3a>vWO0y|Hl5oqG{I5$Yt z*B93VO^hDf!PNqnaCN`|!X^HLJRD|r>TP4g78$V({^$bL8}yk+f>U~6lR{4w2*mI~ z;|cw4$X1+=ydR-;bOT&sg2e|CGn5}SRS;tzA5W4LZAL0|l~Sg^uj&}+gmySDZ?DXa zMz!JE>0R(aTX&|Q1h@#|3d&?vMbr{ON9xH&v$}TqY(FA_bznXkVlw&t-6FhuE1r@z zVYHQkRxQ?-$RmZ<+Mk7xl>Vrmi2u!JJok%5z;a}3@6UWMGmsc&Y9l^HysxX39aZ7m za2+v!?12nKN`%->dQ$<`2tbu7=Q0NlG*|*wI^VfHP~ZiO3mR$XEqtDIHJUW$xfQ?o zyo!g~(*`aM zuXeR=RN<_mtYo)C$o?yyM4)u$nNVC;9-(uuOcc;?{Nw9qfZqtk00AxoWuuOHl;B0E^`-}HFu|yZ21}|>+z8OvyR@P8l^}6Ff$D^w8WXnZR z-h6e$AcwK@f$o%&l|V+QE1+w5@e^I^e(aYUyd#u}5iqLAw7f5oP|1|Rv6nzDJ%dHPL)^83n|{XWF;#SA;UX6!xqXtPsGQC-=7Ql3&(YQ zyi%Yv`mjG>VU3S&lEUz1oROkd&Uo*g*Flaka29;Z0Xj(>R`tPLGw6tXi0q(lM4et8 z4k5Z@3eI*yzxv%g$zvmf-w?<6b3k@oBhST1PH(&M9qmDtOqvqzpm3^xv@NRJ?SCZa z?G0zp;Z0PwSHR4gW&mf%5AQ~Dfwz8tlKi~gGvv*UXxBZ~xs){|vwb1!ys(+!$46at zwk$+F`DrndO#U60$vK>NhQ78CD-l3#y)T9`eQY?G*Y5lpI0r^2`W>dw^seoIp8K)1 ztk@UJ`n7$h)tkcl{$ljo{Mm}}ieY*2QJ7_$@biXF`FS45{t4yd>lc3xRNEDZ3h*q! z9uUxuQhBl?bZbI$rvvvrxBL;CTL=ptUTH#mu^Jm1y;+>r%CY|?xNy-wVO-|eF1{QB zdMB1zof1ir>ReXb6PDoj+-=VOaUfinzuvTRYs;gPv-6$Z>*TXH`?#SgU2i_GI%mw7V9l< zE_3(?F`b*NLY_e#5i~Tr7SWnh6mVrZp-+XZhYck@@%NIVox0w6^a!NPan=fN8d1<= z#G#~{(Gi8N$ys%(Xurp3?8qCjaYwPhHSgZ`f)dpw9~-TP$W=Zq5Lh%PYkMF4>VRu`goMI;5|~7?epU0(jss8wBzVs(60~ozxCAHJKUh7p13V#aO0G$e$W5|s_JQ@Jq1>9Qh7GNAS=WD{L#=w^U3c`@$1xwm zEJh??y9@3ZV`j`tk8L88l6dXD?hZp_Gu53;8EIKe{kcgfQ5JgvI_0@X3 zr&MZxRU6EA7^bY>^>{|F-OAAzx;%$0+x!`{#nYfX7#c$3YG^_b7I>=w&+L%|soA;2 z63#G--`xwyJ9Q1N;=Vh-wfAjkmxaQFlF$AlFV(pDy_aQ$-RtNW#LyP{i|-Qd+pp`g zX+rEzXXvOtnDGtV9rZ#oP##70AyH+AhD+3en}fFZ*7Uvw_>#aKk>t3V;oEL1=bga@ z`R6M}0tJb8&O)}Lp4%k~NM-m24XT@oxA}IxP)274m{stqG{eJmMK09^95_dWmS;P3 z(P%m4baewgEg_w3Rhl@W-@9Yty6>cq;>ZluSMim85P0NySo=9+4|)8z?yNm@(4C3r zFgVq1ofx~-efh}23|HE;)X|T6G0l&G3Gf*2Vx)rRA1>0NiHm1s-KpO%PYlF(&ovV5 z1_o>`UqYGi8(bou<2T{IS93ySOV7&%^MR1cS)7;B0<1hh-Nv|zd1>OAQwAL|KSWx` z)I_qRjB6vRqi2V3GD{<2#&JB=jYLho6(y7E(2(%@oBkvd|j$$(3c)2$XX* z6Egn87N3g+j!LN_VCMp~U0cjdASteSg~%IFL;!#Rd8nvgCp@0vvLO~PWn;Y>`+TYE zDrx;DFzSCKa@AC}@M=Nh zVT>vCnLQ=fbM3SpT^f5$Y}!fI+e>mzO+ZEBoud1&Pq^vD(`tPOT26at_cc=oL!y5Vk+KyF+0Ju+vb+7he|_ zO)wMm8qjJj{nX&6mW*-Da?;+PM;iPxY2bzBdvF?bQc`r&(P3b^IQkl^d~xReh1$4z zuC$$r=O&jxU7s+e@z31%QFFvCg0jgu{z1%*M!nqCj_TRwA>yFh8Dm|?+sa!Eh>Jc#c+CORwl)k z>u9A!G`RpElnHxt=EnFPzb*18Gyy)wO)#$#^?~8BMuh;I1{sjWTe5Lid1PC*vw3{W zBF%@|(72;~=397lbAIvMaWS%gTui`VD}1uCPUj6}bHUvO!PRcgX%w3m(>VK_?g(;g z7sf&jN6q$H`TK!{_+sI1aQ*h`+#>G4NXY?_aj-#1Iz^=_gfsY1|d^^h!G-}8U(F| zx#JI?(eHX0SLB`Me_O&a&tTJUH&4AQreI<; zx#ExRQ40gsTIS*34AklNaL9bN2kzhT8i_mIj87T7{=(d?W8T78VUs({9OW@+%wNjZ zxaf8pWg3IW2P?y>O*rhx_;;_lVdAs#LIEm=#Y*?X4t;#|&5HhwFA6YaEX>*zNIj~Vp6QNk|Kz&ddDZwBGtG?m?fCCLta5rZc(>O4R2lTf z60_OX9sGgNTea;j2k@pXPW0J2v6lNZBM3M$2b`^#GJsNqtm!t0&^ zJ6hF*SmTX5B z;}R|nN+SrM`+&KWBMoKyPoQr(b_uyuv;^O?z7IRcVplEn-%~k{{>HJyw&EXYi@hF% ze>Et{vlltu5#_Gq4kF$xP4RPMVX-lPDsyBGyq{_#ZE%~9Upqa0M; zc|m7~O24e-Wk#7+1Yrq$84CG*O=z_swLT~iRqXb6Ris?dk^Gs<`e|`Q6SX)bo60GB ztu8vVkn_WP1WayAcJ%EV6^YR7+3al2z{P=RFkXPI=lv1uoB`q%uC@B_fBbhR*y3$i z;&>}ot(QGych!H_Ke%vKEUZ^;+cKDEln5AA<%UWafQ*5yeJgJGwpN1o#COx& z-NkOYQ4ovhS*2%Ta4gM(gV32-aqsU8woIb6cofZZ$Weo_Hn=Z(h65?s^?zXEirbrl{v|1< zg>a^rg{(-}gl*-a*`y*Yv#t+{t3iA%-_Aj}qX)o5`5%~ov+mE|>h@b$5I;brdJb67 zCiK^_{c0AYdpp6!u@7#(?-tVQ^oqSA_vDovW#Up_{mzP1l++O-Ro}VP?W5kZu2;ZX z{l2&`kpb7~qvVu2$<@x4pk(G>-;eVOixcCU$e9n>CAPsQaWw{_KN|>Lhgg#u^s!@s z#X#i3hnBE?rxG|W(UKv}b$h6#JQ)%9)$N;pqjhwl&~Qu6(mdGyl)X1)=*!*e3zNc)XPy{8U` zS=YI@HZ8h@dVSUNex*VBOk(HGd?BI)t5kMU%TAe-GFjiaNhHtN$o*ROx0tc;BYD_3TpQ1QroUmLz7iz zvM7+^d$Q$utHy%2(m~betz*OA&-e6r$+a-j>0M{-Z%^q{c51QV#{{@#eS#Ny!2TDn zf9|%ifE5C=*-BY)ByyA$tU>r?>5j>{F0>v*H+uQP9Qhc=r^xVkz^m1Tc;*4C1H#X< z;4!yA)`4=5HcTXT<1FZqUJ08?Fq zxp1wM#`{CHU|iKey3Lh@pv&dF0BNJ7B#uBHVSOorTLcSK ztp9`)dsVl%U-&uSoqw@D{HpPeCjn9@ZeIm5Ic8rsY?eA0YltzYfeBUr_+WSdYX$nx z`_jt^`n3#)$=n&+WPTAZiGl8)>7 zX??ThjyjGF^(!}J~^6vSP&H)V`r zxWxVBy7ltTaz%<29N|Dd^Wap?#9!M;0W1l1#DSP8!!eX1_}$Q_@tg5|(^=+S4f{f9 zGW~^Uf3*v&UVUPsT|U)C-~J(9^)X_yVhO#BY*3xyAB?u|!u4=sj`M8;Qs!>$_;bTa z^y7x92cv>X&l~jqu6`%(%(T7B5f{M4XUZ4-cK22zKQRRjopZR;#2+$x>wyoTqWO?C z;(rpz%`~$j^(ME&EVe8eBd&%KvQm-Kt1!)g5S>*Ecg);%&7?~Aw5fm?!=L-5EtbpN z^WaSz0 z1VuAOQkMv(DPkieVu6ViAzRf@h=OGAbdC4bcfJ$r4~* z`niWrfl2rD1GPK#P+luqqw8UM-}b`8`{sTpj&s5N+~rlR<}&$g|3%?uMvj?t(q}(o z|Fi#}qy3lX$5Rn||DlyE8ofv86*SlTKP5tIJ}=IBQsZS`)Igs=E$?8vS>%67nZ)m; z=W=0W^VqdupFd2{XWBpZyjFV-h{Z8>-rv672wT|M-FwrQFmN>%`F*wNQxA5Uke>yJ z6R5(UxevaC^o9ily5Y;GWN6UA5oP+Ii{rYF!2-|S@TkR-E0Qb^ zjcQEtu0wVLzH#y3XL7mt$<7cdo0YMly}I5w6l9w)%Y>~3>EPNAbo@S8Q7-{?xAKiE z+38xM`^4tf2>a+H&yEaT?&0@7qQ|$gA*u_6hxL`)Prng%sYsD>In)iHycW@{jRob4 zW9;{3Fsa@)3`IA@>Gt4%H20SEVswA;<~=XN!xoJ0|}F{ zTQMZF)7<-R8~>HwuN=nxW^ct8wTRT?RMFWTGIG6k$JC$rlb;d>Q+E-8j>;HB9ovWq zf)jD^wKyQzIk^_(YK_>1=MIftdqhXKO(5H;A_51YnVy>s{txv)JjTZ5GFlTgoB>o8 z_L;3j&?X$Z z0#Sp*f|D(Ej29m9S$4qh<^D-5mp`Nf9e>ltA+O0M&YAw0&xPBoCy0pz8c-$m#K+GDw3+ZqXLwR_hd+?JP!0~7& z*<8h}S1Jx8#Cpy)O#%a$NbhIGxeJNX7vssS4&> z$Y=GL{Q0c~Y3&Uw`mZTfaZ6!_|E;#O9#p2RR||n%nLF4?PvlVyL^N^~iu~>U zDZbZKq9=KJ7y+WseLab!OXqV6a8N}bDlQzW7TeGjtPAHDUweE$?H`xillyfG=kjl7~N=OQ9;3o50y&oRU_>6F=hufmqjn;cH^&>L{9anvdVKTK zxsUhmX=r_quph0(LEr9fh=@Dzdy-aya|4SbA9b`Wv@z0N%>7iv?6@s1x%v;c{IS@C zvu)F23DBE_980uH2Kx)7U5b|Si+lrfk@1CTE9|8oHC4COWwW!aly}kk+>W}J;-zGB6vU( zP~;>rHZPTNAi}5Y#q!%)cPMFe54|NkUPEw3g<*Ioyrjnh=CdgOZlI2M z9p`yOBvMkFOtaMEl{?qJWFKQ4<~&4eLqwZ5&`$!M{fC==O5>7}t?0SFuZtwEeuJKA zs<#2RYYu9vtH(j*w20?x8o0NbF|MNcFIRZ`e_Ww=I(FUXTf>s;{-~KUB^RE&o8Zl# z&-DaE5_RQ$0TZ6Byme7`*9 zVYYjrDBu#SnUU+)p^Vq|^44X04;(kUGwa7o#PC;3A!J0?`U2TzXN`_PYZ{jrgwu}dWB$2lsa6E(S;z9HR17P^|kv9RXh z@x{{hBEEW*Alvb&m*`)e%Y8FyITudI+F8NO8mB~j@|jE8>3S*!8qz3~YrI0%5>OdA zC;jK@tvZ})b0^ajxft0r@8-T3ID2fh>5-=97!O*L>O);ztnGZjMGBvW4jfE*{io80 zo-Av$+VlCG)PZK!HPLBrXDYtf;rIdQ>vQqvC>WeCh>%t_PaM7M`Q1?mg$LO)q827E zd5W*=iec$eQA%lHn_+6iFg}yf#$DC25Us{3SsxrdEE6wL{n^F|l|p-+Y&24KqhXY* zs?O&lO#GrqQc%ynWmWw;E&@pkK>rW4Iz-|Rn)%MQch|zgggOcNCUn+1eVSpLQg9PD z^hdHPB>3u`hU}p7n$IQpR(oZvjgb-gwyIi(*!d~E!slC6rTnOZrA2^ezv~U-G29inO{+&NrOLsP2 zU?*~Ejl@W%&^nn9_O+Ai)t1&fKc#Hru;?@P!^wPUYmYuN9Oofj(6F% znJ!f;$Z4adU|FRxx8%KBi+WiHwf*sCz!kRZrXje#1>8&KG1Wa zGoaz=aa(6m5*)I}<<|a1_B z1K>ca?sr#drtkh)-TN;;{e01fC$$6>_jNVEpn&T!{F=^54B0x->NB5x*4uvy2)@+a z5?_v^cA5F*0)xnmwdAy}(Fzq4h8FvIr_Uv={ek zm~P9+?B_()y)3Lnqaw0Yl)g95^A+9^mtVV&3mt!*Exg2`!mc!F`FW36g4JXBLUZ&y zk-c-$Hj^1#@l1)7e>TYiwv*K|8L7j+IHb5<)VeghGME3tl#Z3N!7GcF?m|FC3@MtT zk^ch4Yw>F2a8AqCx)>2Wsl^-`sh@SuMwc%ApjM75eIlQ-{YB*S*J2$61SamzQdrrP`XG3=F zbbxYxIM-*r%__Z_wOzn0eD0uWU^f4x!@5$8`aegn9Bk;8UHhdpdcR&KYR>R^ zmHWm!Uds3;o!~2p!$yJ*^e9YS-Ihy>`aGHn0OvP(walNN!t!S~&Z$srke9yL_NIDR zxEx=^=`m}_;}f*bRIA@+6{2>`2=&}(zLXn!x9~Mhn~e}igU`c|{~vPso{>`ev4_AP z=;lE}XZJLk+O_I?eH1Ui)p6PP>S!Wc479QiZrXQr2HIb-zUT(qcTbBWRw25c$O)MT zUH9|*OOsM#qsO(wbjba5XZAvp!0Qny2T3qiu7#=API*s7k7WGbZRGJ6uL6rvyq@h4 z7e&1l2rlxlPV-b|bPtNuD|;1}T7OcJcf9IxGOeGBX_T>$U%q^GNXK7>W|j5Nlr+G1 z{n#prJg6-HHe^(~5;a~X_ihosNtK-RPjra<2byj29gm+@0^V;V)>~uppfNYuDETg~ z?!0?VD1Jv?++X3^RT78jw+TR3a4)k-z{Peu?FIiCRucz zzRT@jN@5?+;{S4C5+X{7wo3~l5^tqSF3Zf?hE-gVH$L)eTG}`GD4qy*hnhy3q-sW` z14972ye`44G%*3Vn%=$XIpQjh2Z~CfHLw&fTc;+lAWZ49$z=x3XXvQbyA!iH=#(s( zyQ7;kx}LiJo0T+S(L|I)ao>T|4d>WTOI)vA2Y}}z5;?s&p!rJg{we*Sbz8&R?K*7( zt8SX0eR}zbcvSykU(>ORzYr8-^|DVY3cO7=(i2q4PZaVx5I-ly9A8Tv+QI5%ozp0) zi&?FQj~twwjCsB&O@6;mK>R%!KIo^yC@ae`2$w&%0III{p1uVqt|)@!7KYt~o;}BL zEB(FgPjtwYvsc}^BDr`W2N)+0_a|;)M=Fi@Ehl zBO`f^t2GY02MKQ%j#i|!RMix%IJ+eQH|3sYdJnS-I!|x1$ZBUd?>XtIvzuacr;JWM zTrQa1$8g0MVVOXkVa**k9H3-XiB|dvYT__ieg5=|6Kj@(w;s?scqFr3{ z1ut>&cRy{#TM)!B?E8wm_UU38Ta@;sJfITeBY_t-{Ed7CuX=-Le})AKSp0&qeI3ci>Y zOo($bhK#ch8^x8*%F(7)hf4m{>t*_NTlTts`aA6{jKk*L<_>{odIKs1pmM5IfbZ}s zu zcK;V^AN{MjvS;38onM2X{Hkvoc*|5MWGGI=2S@O{CjWT#^sUot9P|wnERQ1 z)SFgn=KBtpz%>tRpf8**_;lF4*T*+<$lZC%$t}dfo{hMK|%+$6bzpJIRm1E zlT|odImoBcL1!WJ-x`?G??Oi&$bD324;+z)^?RgBd12e^CT&TuE%o^2%u)@5_GEq( zp~}A7uD9EV4VL3Uw|ZkE#_=*S@}-vrqA2<;E{t37vWutl{oZieWnTz5-oFF3ql(~B zxCAeVulqjubW6B$0J~vwh)X)_Ck{*#I=~=02$i`-U!&^e2BPK2GFMKfJGb!-O0av5Yq1j?6D2v&Vx9d- zdxM^XhTq*!5P{?balBmKlhQd18Vn_PH2(-egBDR@&ez=#dPi&8TM^D6)ypCV$}_5? z4~ffFcmNzoMY6@8CB6b-^g!kel*}zNAZG$Lt?zgqnO4XOeYxQOJlOUIDaZQ=u zpoTd`n>kmOnlBsEah!P=#<&k*+OKL$amcW@D>2b^g;@!`<`)y0^p9VuMxLV?QIvhX z5qv#RD-@)}{3ekiuGf)b@t0{Nmny~>4;z_nnM`eq=IeF7RI|sL+m{tQMqRJ*nsoJs zlO7$+9bGdv9d`-`Z{ubWfBqiCvqI|@|1)~E@GQZ6+v{oU*AOr1J3MD!&%PjP4bHAs z4(PA{0oe~{P$a~zW+}0&gy#du8Q8%y9glH0eS*d(J0ftGhu1b5V3C!Nh&jT&j1ZmhQkp>05YtMKk| zAnN6EuzTyv1ot2(?@|C8G0pMU_(&m`qjR2ObHMQ&6t#ghzN(<>5v?f1y7Igteci+Q@a1pVaeYRzeDtmSGgd`3jn z$;c!Ak@W-1kKmufxDSXAT~BmdD(EhRX8j6P@_=zH*0?&g`*O`q$)LCR73K_a{^&1r z*m)z+iy>`qimX)29U62a7+i$jUs|($xQ%^||Sf0kox9T1IzOiL1snANk zC7S9(f!Xt=I_x{Ibl|hEePR@D$X??2i~i(|Ky(L0;m-YWv2Hhg6QTo1T6YH}EO?Nl zHpAO^D+XL2)JG2WX+d@*g$Dzig;taCB<+jNoRcS1E&F!hfEON*4iYG0DOOLI3pcIk zH{&IApf&h=u|&73AhTjF`&4W@@lWfpqOD=gg!|!ntfK?!(8}Wb>aScQzPd^_qDMg9#d?|R@-aBGC!Jt`3ko%XBuvc2#+_# z86?JP!7DSFYlCCoZl&PPY!DDgnGar&ieMUCU_Fl8tY)I6cTT@29nMwF_&>GP)@(1> z(@!9^>bn5-T^QOYkOGhFC+FVDq^+*3!<+WARlD5G5t-faOc3&_V4f*%5akr=xA~AE z=5_vVlH+2-89t531U|gWG7#wag!9eGZE2KO)_)h=EJPr6b^rYFWD-~fTh@k`K0K_f zLk=>9Iv`k?!$yen{lNpN4PSUXTmceJ2U|jZdGP)M%NX_%viku4xgROi+3bBcEhJ$4 zeP1ZkTI!~Ee^wQ70qRUOR!j8X?9~=Pj<)v_jPJTN1Qn=u{Pw5$=%Vh0b>Go0G0G@596ej||{ZI?~{S zuZCxGNkO)d)%i0I9Jz~HkSTWKm5#kNVAF3XJDra`WK_Gms1*o30WEZ0mF9KnCaPyd2zzaXs~3>#i(R`;B=C#CLD4WDIZIoq^bm zpNjWexqLfdGuHm~$Pd8Z$oBx-TkR7b0F0gUZ6KIdwYN1y{$X;**}1Bk?(lBa4`vU7 z7(YHC-wA&YStXPD>kF%=Q(x^<81p;`6ayK<7Z4hd$_=nGXh&82FH!)#0MWsFOEPlr z^%3TfL9P(Llyl>@dOk}{k>PKUfc>q!IQJR+s7}G{H{6oqM4=4X00UX!bnUnpYL}~5 z?<2AVBTd-SNObFZUa!pGZY9m_t4+KoyL>XvVq{^g*^#ALWE=N|-Aywj%V^2EBz1E1 zU>W+hvHcS>g;IOVxgZ+7qG^IXqPvn{@ zEqV>kzC{#{gM217s%v#v0Hf?sYr-;!=0*DF+0nC_wn2g{E{X(9dSpQ-+bg>i$Ith= zpUZLt6zEbl>kfB z4xj%R++2_&#nL~>S)>ova2XxSf*LYNrCu9K*EZ?uoDG^+xBU2+Xk4qodA>oX_4~|a z)8?S{AqRp@C4+1YW>lCX5Fz`XTUtoIkJ-$u>b6CcN~tyZW2S5L?iblHtrj^_iHNs| z5;WhU*FN!0f_?rGKiP%7Zfi`F64tz@oA1IXRJ1D(`bGE1;zc_LzjJBiaBBQ?At}u@ zHWBT7?s`!2W_h2|vpG|zP7i=$l19adD$46`wXL6z(S{4`MJg4mhoVtRc^IF{h7A}F z!A(qBY0s@mipNA%vn0#n0zCDc7Q~8QTm4kg*z0z!LN3V$y$WvUKo7$x6xYU{|ICqk z?07hN-o5#++|k%rK>G~gsm*yt0Jv9-_q@D;Kly+0fzdB(3T7~y z?HDy?oRsl5S3gXjZKhWIp7Zw4>z8=d&PYSZc|GCoGF)=i_bA#pXhZ^jw*zYKzE}~u zRYjc7f~<344n)W%y*a4IgUQ{&e{L-aBqa$X_vAayJ*pkoA&wh$Jg`-3seji*kF?|6 zlwUDE$0+W8p>?kD+c18N+(#Nq{mHgsH83|Rcs2<7co{F`3>d}|eCcKUy$gmV1tDvr z|AT}uRROxY1OMVyNRJFv`$5;;L-yK2u1}cZsVDc%+Qx&k-~~LVd)WX_CO{-XaHtwi zC$;RmZ{CeEd_Rlmn-p{g_&f;ObxQ%E!(9cid&tQX8_*sy0(}|-3HdK{BX=I(pGi`f z-`5&HMeg?_F1ruI%te5%$TnSM!$lYD0kO89*$v$oJ>Iw-4Tr;xoh9$t5!v^0avPTu zbf;!R-<`6Nh{GiayiV+%eVpKeYpGEB-m*>SV!KDNr1c_(-9R^{Bnqn%b%(O-8WDKWM8uz(p~OB zXWn&wqskA2l)&{MQ~fKAt40Kmv533j4C9AQXUpLZCZV&EEUgKiy{mumzg<+2a?l?w ztP5FvtyMVu!RM{(KqxC!*xAc@6664sM6@JBM=DOmGJ-v7Zgq!^(!x>sGS}*q{zr6n zqb~82R}}Y^(Sk00cZwfbB>S_zmrii1IdR~2kY5k{RJEtjFXxrDcid)sEok%if*;qs zB|u;42~2iC(KsN*R6ou~4~Xg-a$_AKz%*O~Ast}65$0Jy$GEA4TM#*`q5wMrr7rz9+y>Xre7TK9GAN2b%qY&jsw;{`Td#(zR~{3x3%Nt*@q5CYzahs4tQZT~BZr0OFP)RqbZ~h3t~f+* z03|z^J%!V}a*==5r=cBR;BS8aNzaa0QU6S2p(z{OM#}T$&8jsxOM@Hxw}>&JS8G5? z@%uq>KB)L^+L%(Ia55cnfGzD$!;oo_B8g9FA2lO*_~OjQuLxOC#kHv;S`06?8p% zhzvx8;7B0}c##-@qMD`(c6)Kxw11CW4mfZ8v}bI2CQ|)<{&xlxxNwE%?^qZw@ie{9 z2OOtsklUMD0|tLrn-WU|HtJxzzXk7wO$9Xt96 z4PG^|fIEm3oHbMG!TIsK`<;io!$vvG3wYWIdh+4wE!=>hBa9%Gba&8^t$uQohp@lK zuvTEZkJ#HA>s-`D_cdeKVP@vVLt^gfI$-Q+_V11i0t#IAeOy5J++nFBi_Q_SZtpr6 zAL1A>-{Ab`6QZGi3b6~kXGi8VKo!sad> zx!!Fc=ag(bjLa&G34RY-VyX@&y;|8$WIVSz(>u@Kl#sDVhes6#~ zEV^azR8l>(FB_b+nI^4`&+@GJ(4Jz_y;Xc2-p0W_PRXlu{c1J&#}>|p<()tmcHXt- zHT}U7Hg8EGTGvL^``ka0rRmSY>FQC5(lTF7lB`Vcde;$smI^oR{j=1U<0|=Rt<3#q zDq-I!s=zSIMg_tJl(uZJ@`Mef8IVvj&A+X^hR$0)?a0FeEIIX6&#edXZ?+G5stKep ztAU+heL-fkfx6pxvHy+Vj@zS(|0<7w1yeTKF!_(-lZYM+E%q}g*1VRI;wkovBRW&% zBHxcXxP1L92?gmoC~7o8YbT>7-H_*b9MsAc$aF2#=?T4ZQbKlBK~`OC8W2$LO#$RQ z$ZX1q;FdFEv5j-%ZB?tG1GXJ+0WTC!PF1+dC z_n#XOU-C4I7m?4bn9l&(+A(3xBtC|Lk*;f7ygCEPhpH4-{xr2bs8~HAMyu@61!i^t zkFK8eGNY2|-}+Y1!#%+VKMtw$|>?=DLBo9`7jA+isAF6J|C-v+v{Fd9#<4C9aD6;FekdgK!CN?f= zdV0E$P;iY<&@tpEUbUvCrkS1VTi6?~z`<@&b$4GKJnw-qmMjJ5qbo1Js`kU4dy8Aj z<|}qr&i;jSp*e-t{f}<@UP5 zK2xxiK(*$^L+>*7DS@63Q>;P~oGdA)+x&(PJKaRCsTzMyA~X@r!gnFfGD@+6`mDKx zQg`FEW+%I|U$gG;YWA18mYiCJpP*dzg2XaOu45VTk(rz@lz}g4lqMHO56rcQa-ksZ zQCU~6IqNt?d_(33%6{DU`8SQnVlW-EuA`8S#NUN_aKAUg1we2(+Cac$SdU zd)9Ll*l6atT-T=Gc0j=fZe25lBjAb?Jj>OkHtw)?8hW!q23NeA>bnN7@xxKTSF zkH!*Yqs!J==m)2>_-_`byTe+mUyA^Ro?{szB3!1e zk5p0;i`H@<6ETIFZ*}hbz&7UPJ>ffb+QG@;?FwPqK8xxGvcHdVAi{X_QCY0srf*O< zghqTnwf>4pOmsEVA9|y~yp|=^W%lIptybO?mASC}4UIDRgN6ls{l$P-hq8~`;KK{f zKI^)u#r2NuI6m($kKjwbIeXgNM4!1MFxlrUp1PH$8!_2&Vf?P?q41b!?i`Op%*6)6 zro~o|De}xyoXoRjz2*7Fj$ntb0{f+sE_4Ui_NgXxhorWdi5iB^FxA|jub>q3K4pUf z?;25?PD`j1hE^K?u#_bfpi6FVoe)tI(>}*1w!*9DwJ*G9^?zm^6s;~!{o+=UViRB> z5Wd&ooz0EG%?{w4mceI3u?ZtumQ|utb{n`^3s3$|hV1+Qgs0U3?z80?IIvp(9+ELq z@mx=bQB$yE6tk)p%)=uon8M#5hZ`TUmAF+%;b~>{Rmo|Ip@|8|GI)LMp5(V`wjSA6 zA6K5R39fr?t-(Rx^)l0L|FVA8xA&{n1(k_R+|+&zzQpOvS_r2dWGzE+AVmfw_=C&*+)}UCWs-4{w|NsmoM!Or1sl zQNNcV6Dil4;c4CD$3c~Iw1+iS>SNrK1Y*QT@sn2IQA04fxbK4MfaQj7@I1d0dPVCw zV*&AYsB`N_hx#YUgsCh+GQ#yn#=kN0f#Gv$+CRngA-DS|}%b3>Mxz+^EkO zTXWot+p5$3d)sz;QcV)S?!yzYJcnZMn&Q?w*nOVgxNU9hADL{tE^O@CW4m3bjVPHV zwY&UdNERuuAx>piwHO-{7f}sFXsRIM;ZFwxmQvl{O~@<+UZ5o@)&*k}xmt}?zUiVB z-svGaN1KqhlSeQ1ZY`WvV>hzFZV2YVCMOyn{aJQ(@O@yWed|r*l|}}(MMe;$UbG&U zEB#!7do?p*PkISeKoev8?Os8Yd=FOJW#cp3XBN(=MYgh7Ak7mJ6Y=A)>V=s1A;X$N zTGCheA5t@jTlgwe+~0dL<7WqO<1Wcmxq3nh&rvvpH3;@pIA|C1USFTYXp&-6c?<>0 zx+6D_F!+jFwI0v>>7NL;dn2=f5=~cd8BC4V4&Wv7!xjE=f6^=E_JL`_)^34LQ=gpE zQJmzETYO?bqf6lslSb!KaOB&51hIZ`Nf=$j^At@n)+QFNh+0gc!Qq5)?FOo4R9ZA6 zT(owFQHo$?A}QxKOfkTsMGY$B$?A`|VgUUS4-ks6O|xE{-HHavy&S=gS)5q?kisHB z_*jb!vx2BeazFt6CaFe6L_?mkqW7t$-8ikW-Ce@8OyE-BZ&X1?hipa9Z(5Z45|k!; zJYvAx#2r$^gmbSoUd>hTX&ZlQoDhG{-`t`Qn*h+*S6YSJ4ediG{_%^}Z!s$5EKY_& zrrVgp)XDuC)g%*NZdh*zTdVHAJ@+tvUrZYDny}cUl1(X(X9~B1@S8x6=~kM{U+z{D zr9Ap6T$Z>W%;XK#Dj5iBPsYX1-25ubdh{%Nig05=7hmWTPt3(!bdlwDnEbgIC5vT;%<=HKBCmA zIXTDg7db6Ow*Znda1>DFq(|`a@vu)I<1RXww*K|TpaKm4Ub>-BP_+G`n$&L4@>TL zffFTaO#*X;FVi*_%tjZTJGXNO+rk&3@Ko2|gvqfC%w*%g8q>~sb87(BsEl`z@47UO zC)3o=sXGqg?^y?cr6RDLA95CJ&d-_f)1jT(U43ne<+~HZvC2J85AZPIy+%Z(Kw^7_ z5wsr~Q9|40&+SC&Sf9D**nJSC#dV+HSz@rn<^yNd4)XjEihQHjZ1Z5YHt?%B^3zxiTpjIvN|g#s*^C_ z_5xHqE$x{uC@5ezs#A|W&-TM|`oA<>h%+Hv6Ve{=>Xj_NNk*z7C7za}+BfhIsS=lC zaua!Ob_Dik@&APik|>=D)CB^LSCY=c1X+zmJ#jc#n`MdGgwOA!$+{9P{*#HVK~d1} z`RSVEN_XEQB1j!Zr{U$Ss_Pgh<<=Mn*kV;%+@^ApSS$fENfH~TT2}{)Pg=&v0@5Cr ze1^c9UftO|muqY)mO$-yDhGW%wm1{1Yijx&EUqj%G66?<5o1R_^IOJWQUJjL#j0{a z(y$WSfS0la@K(*zm#g>Yc94Uap@N=!NYB;eaQ_Mld%?~uEs2;7`ljk+hP%9;tHBr;APBAzv5z&*uUtO?&x1>;L;uxQF>_D zy4rAkV)JG*H^|_%_YZ5UxQi(qc;=!fUyG@bhFX|1ELoX2Swkw@=S^i|IeC;tK5@U&0s4(g#a zZPvZ401z}=aI-AF^o}0k;Hj0KLMMFU27jN4jDxcGfx)3hiO50kn_Izr1^|w*mdA1Z zlZ5&dW`(kzzhk)6?GCQlI{fsc9C}Qo92qZnc65nP7j0&6*{Mu~oEF&xomQEU4_h%y zNm5w&(vq$T@#%*#n@zNzo7>hz6FQ9{_wUa}v49n-R@E---AFvTie1t9GX^!{yj=qt zhn|;toD9SYtqw4lry6<@hF6Gx?DfBjWE}trt@rgU1y7XVN}q>;2kp%l1bWsxZ^yQm zUu+l>y7!GqW%3)P7^mhw>|3NRJ_^(VSizY<-+H1y@lptJ@U{7VYwPx%)GIm33ult< z61sNX$47Q+d`bs)Oqmb3@iCEFTz3JB2sRI>Vk_gpCu6}2gOkx)1#7?ew!D6K6LgVd zU7<_1vqsRwEgqL4v5P4|cS*nlbg+@ELtn|!UxVEv+)^$=(+Gm+h+eZAs&zhO=d(m< zV#&D2Z0u8{gV@d1i*WQ@RL%N+3r#AXx<6@Rm*VihsYlrFr3l66K4nxh<5k`)RN70j zICWjim^nFpjpk{x@o|}9?`HEf@(;R#c_4q(s@s#cK@mw6rcP^S`RXSf=;xu;Bf3`) zv|!Oa^QD^aa8`oZ7A@!0TyTjOyFe;vLh8QRI$BwE!+O5^>IXDJM#VqX%x!0KgVm{f zdv;<`8I$hu+BgawpZDT}c&nwxd7%8-TE3?b`V~VK`JuH44*Zpm99kI&H|f2uoS0 z?cc@4?)O;_+NYF5uLyUwHtMi?#>O}*k_{CNrg}EX86EGNd;Wm?yd=>xW~|f9?nQr5Wh5F+*qGsS zN!s<+o)R$-1*<=vm<{o}lJh^_E(AtF7?M)KuqfA06pTBY167KVBU=0W2g)aQTc$sI zaN@{Sl@D!#h!cs%xB`dsLh2p0yXGLNo=5$Ao#@NGM7?1xujVUuYWQ9JFMg(=Ot|n- zNqIMbTf^{c1LuPHDpI>~E-N zo569Mk%cu!Y2pDD^rbR!141Kaygo0T2e$Hn3qUbtMo^jQo#R5|aMG*l$fWL%`k=d(Xcdv9EPG#JUr1tmGH ztcnN2Zm0(CZ>W-T^;uX4Psbf*P%?#jGb}ju^bca4(rPpf`A zdg_P%ZlfhO@LlFjyck%R-Yc-O`>#>EpzZbnpid(-8f%k?b+O&ga(^Cgez|dyt(><2 z_c{eO{F4Efw=ZJoJMJ8{BORNn1vf^l`YwR?r4~@-JuMtN8^D(=c#0y4$`MqGjz{Ra z_38+@WO=gV(H%Cb9kDZc7sIf3B^eCQf9e+8zbIK1@L9O18eO<@hrJ z)Xyb;K!yXylY(t*PuRoP$_y#R5gcUfV!e{z#=N)7A?uh|3ltn{{`%k}t}fMgMs@Nq z08%YIJ{kLItbTLMGrrx_`=O?u)*CeQY=+5n`#7i`4;k5|6>5wJi83-;9aG#kSdMX~ zY~1WhgxU2R;zf*b>=2TuYr4mZ@0di@f1ihk)Z_o4SF6W0O1JO$e{;FEA~8}`6Y;x^ zYLP7*tn*NJ$k^UpSSDZh*!Al(iD<_v0|O1|Qt zG<$`ry4mRm`2bqO<)fj7C4iInd|snjk3=;+1Y?hg2~MqUt` z@$vLF4A1RP7R4$A-W&wRzCngErp~$dP%4?F-=9(wa~h5Lh-G?LHNmW9H+n$ad&izC z6PYibIOa}|brop_F5cP0_J5~zdjogM-{2{O(Pn3adMSyEq*NL^bE?|Bq^0B;{`~og zdvM^Qb2w~ojZ!HXk-7G@Bgrpw3vUK1|n zx2*oC1U0M#ayn~{(wOWCxUV<7b=>`ZYV2e~bNWimCIdueqdBpw`gc47A=dqq4IziGbG(3Y=bxU^n4 zrS<_oK^Eq9sDewVUj=)dUQr1;yhJ{)k~1)MmfTYi3RMhAAHUYW@rnf*!#2h)ctVAo zO)@DmzkOYP7qmk#gnvIqemo)@sD&Gk6bLJtd!_Sok&dZOzn}34h`gz4+qO&D+~vYa zP;S0SHDIi^+O~LJh~@YieQHHVeCG9O8|I?G2HX(5c{V>Z+G$z8KZa;zxLzgTBCF@q zXTMOOveoxD1ZTSqJT?0clNUN{BP9eQd+x?#bbM4M*F(*E3F)E{R<}~tUDPCd(*f`p zyVi22pm6tIpeKXR7{0rh>i6N)?auy{pVU3nn##+#l8WvrDL(2c4&b+Uc2pL--4Rb? z6N}u$&hFLvG}!Eq^`rivV@u2|by=k%Gsj!n;4S2Z_)v@ z+HaO(J3=cwipFc*$ibjnVb$-zZ#x=s&rxeDlV^O5qWeR-?@YSaMp|!F)^P@7vJa{K zgT`_3()Ra~Wd9rg{i4TFTnKU8Tp#yTK%eH@UeZ_UBbf0TFkRCFf;{!S&_1~UNRMtN zW-Ha8BkHI+jNFF8@%6h9rUe=ImvmO4C<3oCbqE9JU$4p}#Kr1mIz0a*zgd=PBz?vC zL0{lwOF_FVeE8K>IVP@*0JHT^1HG3{tJz24Bz?r%?<<80Y8YLC0q=2k8^ z6_mmtb+ELhH^;KdCl|AF{0QMJyF+F0caE(#98CN|oN%Dg4zx>?d3S3zO>q)C~vjZs+W>uVc3?upGqSFoHN}%q8 zTW&OlqMURdKmeDm%~CCe`u3=DE=q`|<4_q_R36=-F4+FB_-E&UpX9doc5(Fa-6POp zd%VgnyqaL=r5{c_`@`QGQ3ZW|B-xA^56)&?iG1+GTDXS=pHL*6d66E=eLY(9CDR{x zy+vNBrG$>2L~e^e8bCGcm`L2qAu%~%_ffKg+L|(yHkLO?Cn&o9_O()i`uk9RR-0?< zOS#uEhG=hkLlaa>qUQt33HMWV8{Mm*$erBgawls-J-kefX9+d)dHHM=;a6e&gGDqn zG$h2)ECatjMI#?#h1ruofBtMvj*rJI{*MjdcI9Sg_d6l>_uiVZ=7TAZxHv=DuGU!A zBf{ZU6K<{oH~s_T@;k74f#`Zp`t`!9m@rGAF=VAg-TZ8pC&cGSmH+r(_UHWVShsEu zGcxN&zn%SjKhFhZ&hfvuC2eKLmy|zkdf>%)$Z0<(C0I3HdrJBwO|U$T8}gus&5Ww% ziIiqnKdqyPjo?dBKis4m3~Wio;W0o$AG+JosO;aUq$Ig4+{i(b(UYwo0u#j&C6PXy z+GQ(GCn_oY)7n7?+@N-BomK041apcGxaDmE8Y7U}x_x6K|?hI%{g!$q3v_tg0M`9J4x5BMFqI&ux;f)r|i&@!LwOFB!5p4})uuVVM6 zYljlO6sk@X_0PAD)YN9mGvS{IIL7qcZ)w|fAW>|gVi4n3Lvn6XJgt+^pbr#O|1rD` zDaNF{XqS+|IWtPYncp_znGxAb_ls|=<=ZP^-)H~ywqss<;wov2#k>#RKf%3#?p|@; zxBmLI4;7oLj4FixJDz0TR$p8Pw!@D%edGr662%+)@!zs9cc`d|zcSkH^*mE6XF*~8 z<`~78XDs0!64oZuAR>e7`>vKcmYuHl+JSc`1b+3 zx=MHE0?AlA_?Q-A<~@=?@b4GCT7_2w@xzA2iy4o14PYDkC%`7j{*HqAUjGHBCkI#2 ztJYz$!n!Px3s+^x>J~(^?8PFD1NIv`P#AGLCo79~x){Fm#xp9`$>Z0~QDnSppO^I* z>%Hl3cQhgQuYU@xxXX8I*{uq1*9@A1sif#T$@Dtt-LS+bPc#h_M4d$e(;~9*&xvP| z=w?*e@%MY?h|T(5fv!$e!O5a) z_V{ND5V1qIpyR{0@SlfF_!7S|J=luVNG+J&%uw?yuckS@*u=s8Ln2)#i*I0>RsY_8 z?YY@=&WVpf-0x*ENM=^cYDIne^224&hE$lC+CtN<Azvs;8anXC)P7W~q{rl3A9& zr<0eLHRM!OBn1WLBTjW!8*XlOFoEVo;7?#Kh|>CCVEi;DEjwMg<^fa3D=?EP_nXzh zrvyPIVSg8J;7wq*1yb^#yDZ8^XM3(IRER&Sosluq0Z(0APC(6dBa%lyh?9#EqxMcJ zkJ~c>Pi;dfH=O9J*3ltN1dPB*njYx{K%~11ha@zCs@R+-4q)x}ocSRckCc#0w zI`-}Z6ZHfM%Ta{%UMgfAIF;e9IsNkE*p(`)F)^vL1|h|OKt*zgYwlK%RNXBc3|edrDSo+^ogKM(g~ZA!Oh|*n|?kO$**V_8d5J zVonCW2&U?;U}4erH8Ll5_)$}kARPAfUp@?-;D>mb zb?zu&6puryHW#6!&N8r*S#f!B;M+Tj5AnZvX^W8Vme8Kpz-+eZYzdwBtes!Dj<>Uc z;6$;c_pJRr-;L(KILzdD*v)D+9%N}xPXVS#C5~K-5v;4?-yNv~OTRQdo?XGD;m}c^ zM&ht5Ddwybk(ak3@9BA-sNfmOG$PamBy&5#OtKll#SzF1x#h!(F<`=t21DZ|#2Iem zAV~~4w2EDhJmR;R7Dt;)eTYLJwiV5P<}V<(n^+Dy)xIA2+e=CWF*1shqx4b<(j-j0LP+70)U}W0{cs#o;hnBZz4><$tg6{f3|T3`u4m*5c_HnpFBcXV<-}cLv;m5A9KZUC}GfWx>y_{ftgq zx0y+#mhOCRpzCo_`U?Ty=e-c}t3XKWS87f4)4cS$m7 z=#i2@)nN}rJjLQ`i}y}>J|rA{+`h*QH9u%ig#6{MO(4({T`7F_oo^c0+-3NsellGy z5y5bCK^9|y(=6&&5amsoY;b6|P0mzJpdcva=zcfJkIBc$AI@Wz_ z`~31u@s}eG#tv+EYeO^n^-hY|TavFFp00RaJdCb|za)wTYY4ucGJOL2yr1Y5kzd1X zK@wfT>8hfY3Eq?>_vbO}y%HS!VBe%whLPUy6tPanBLlb=G(Pt(;5nMO3{$h6IRx6- z_`ZxBnpN3bRElU@IkDw@0<|As>2kPOtI`@{+xAp$Czlpreq($6H}mw+t}Uj#L6%J} zeBk%*Nc{YakM0S%_+)tfR8(msrsG20az@Lb_AkKwJ+i3vZqrU@388Vo1K_>z zFnkh-r%>(X=IP0MD(oCsTSJZvC=p4(D9Q8dGS%bmIbMC|hEkKT?i1B=voamx=~{#} z{TOU|F%Lpo7HLwrU#stCa$mWDM8kdr?k!Be*w*gA+^}}L*3ZjwRjl>?1*j>^X<_$z z?Y9AYQ}5`L47FIJV?k49eRlD1w%#J?>`@4*an0p>-EBLtd<)XY_a>76C-F8K($lBb z^88ogt$aLOEFwa)kb(x7L}e+O;!{z0-p|%gJtx`F5p38~V5>?+W!PiT>M~zczoyphkzsNhHFC+6Zt=x?Om?_aw2EfnH zFs_E<(cw62OYGxr{P#`i&Eg&i^jOdeb)vd^vADZycm%Q#YQ==Fd@JMu7Qo>{V&x&C zHYncioUg*JjfW=t(#y|TWGf)OoFJ|8y?Idf02^pCm=;+qIL722=i`4>T^^pT3`=?b zaK_2w6VTmuCDT>^Pj8~yNNP#G6Mm3cFv^Dw0_rKMtr3|}7zyCqLR^p~xnJ=u{(cU@ z({EKj`3q1W6m3DG9Y644rw?M;SbnP{_Z0L}_~!C=yYkeenvCr?lMHL13uLbrXn)fcU+M5h*ErGeWQA#^YF{f$--1i zNilVCVf-9w1nS(~H7(?5?9Jn{ZTiOw2Ui1n?i>aigWg4}c z*IlwbPiKcayc9q#%_qA`{7Mg=C%;l#uCL1>o<3VumY~0pEas`A6ZW=&>wr2M`9azL zE5zY2WN;wapkofZ1WGgC@1x>@2l#Y;Xwwv+r*0YDMg=Uvr}sM~gO?+ceR)eh-Zm*2 zd3A59;oC_Z&X2%TG^WWQ9MNYyTxP)RuOah!=d10`)e|dSev*c4TD4vgH$fZ)7HC4! zAs@swgPhrwql^hwzW+y&sQ(W+afZhHHHA!|Ev208`?25(89vf6InkfkwFqjW{)+%) za8dEzO$mNV7mv&Gw5UQTrlb@=KUlZ%|FN{t=}(z#$x!gc&jp8+fK>U686#0G)HRd^ zk6+<02X(X47PNKeA)9%QxzRmTW^kOabTt=SPy&OT0_^jteTnciF_cU~<{%^cR3v9q zdCr$m`S0oRXoexgzIK6dD&KGTcbr1Pd$pK{1z68U(YTp&NsLObOoIl|m6fxs1oL@G znTT_d_}u$$uxrDISxrwE-R+6f`U2y;K7J8!-Q`1DJ8o^k1FGjvJYe7W@}Sujdk@51k+M-0Jq?{F$& z8OZpskDV#>-HSfWzCY?~xTk`s0O~r3DO+n_{&Oq~Pd%z=Ib_sz;m_yjDk#k^F-Rc8 z3~G(nM!0!d-C?ZP!cUZ%vL9>jnxB8>1F`>iG}!l8s3=B-LA#uj0l$92n=8an5zKSy z{LUz&Ti@J4f_axE@D))I_1n25=C^DfOE!g&db|U1dmI{MOCFrce)CBy2*l5|#9%O} zK%DDPf2mUE9~|s0seFr)=}ay*;*mph(%w_;h$X_L5g{lTDvU^LF2f6P=e)+}H3VtA z$*des*7Z~Mk51JB1gN_&VDO8JNy2z|3c5bf;)y&u`dn)<{vA^16$7cWh)H}qH?o0U z;fT{`48$`Tf^NV3;??{A?0tNeh5F^@H|6@SZq-JcPqxmRoqua#>vs}yOq(s*8HhPr zbigOQ1e{x5%`v6)Ft&Px#$V4nBr5!8;RdUG@)ah+kB2rvCs*$*DF&YH0}U9O9K6P~ zhaUjprCD0#U_0KY0=J~&b=B0I+rD71YtNyEPybKAK<82b&WUavTdJDr3?>|SY__#~ zL|HLkWM=Dg%~!~Mf>9I7UBcme+T0pLglt*19fOOrZ~1p5K%w8VKsovyx6={)#}^#lxfI?O>q#U? zUUx}qr2KF0)SL+m9AlB3mgE*_c_aK^Z7t5iQ)FExd(5OAA=r)uT;It{bc(T8Ttoaw zcXjCJbeK}P44E&laFx}vXaw^yQ*ffEz?H?0!sib?Bw#vGx__Vg(yiSM4GX0ggF)6q zWW11CR%v|VuJWwMX)~u8SLv9ta~vjVMJzjJo9SJ-=IaVIBA(e1H-Rqv5J@C6Qa+;w zGgbXKlk1f~x_I=_?~mKnz&WZpUkWOCk?YaTP}5u_&f!@Le>J_Mb3ojwGjW}m1u-R* z*Ntj)?V&xP)(k4u&Qaa6xQ9%71S*P-pEs8TD9>O$omLNS-u#tsmPg7S%l)NZ#GGUa z2RS`^FBb#5*iigW1DFRLU2qX1b}=FjpW%|_7Sq45%Tu+(U?Z!cCFCkKGLd!&R>DEU znjFWXB>ecxzO#h@naxONf6lKsXI7G_l(2U#%6Sw<-%0sfd=mAf(Q7WQcH`4ZI(rmk1ir*W z*P=M=0a2jZY&3s6DapKf>6&R!`OPjj4>z079y6QQ{@+hry=Dh{MbZ_@?;`Uf#nb~i zeKOH+gNO(9#hgBX?>~Lkagkyv!7N@#SAkjgJ5O?Z*VwvIs}Wtki|X|_^v`O6+Jm|A z6q5QUt^6QvaD$9(*D})JN;oWp#KVY2$!9*Si$UcXFjCy&^!&2u;_bD-1z00uaPI&5?rNa`W0{_Fp1Pd~Prx7<9Zvv`;;@ zIk>2X>@5}oq*+TKsI~7$qeTos(UE)N88>nCA@ELyS7!6PkChCvqLS2;65nOs8y6{H z3~l}B#e~X4J%ra|b;`KC9AzR-Y_frMgI=QNLf!z$Pa$45h0uxKN{SVssJ;7#G4#mU zSs#tw_=;%1F~d1=RCHP@;f@FGy{?}jpNn|Dz+I4sZrvuk9k|ndfHoRq&&VKj|k? zveF9>Q@Pf9uZBp8yU2L?1t^9DW8ns;lW&-YNYg3{G9uF|fJfyf9omi*Qjz%LKwStA zgJ+-Y#BX_W7pwTB-7|@m_K_C;v5pM5?HvZEFFWkPY|gyeEUVJw96HL5;U>tUICjVssj=q|^22 z-P}w~M+SkCzmj7vZnio2bZByPx&w;Wv1VUoo#dB$oN@}`tzVWy2i_|r`G1T4Sw58v zS-UPE*Ge+|IV#D+?QVP3I(>iIWT#cTlNf@Nr~P~ibq5o~DIQR9Kt)b%JC9NW?D8>q z-M5GwU7j*#a+bw(gMWT`+l~Rw?{B_SOCX{H`8q&dZ8T5GCjFa6N=rVeR?DzSaQX zu?e|EDi@JGqKUK|AR_79z3Qw%or0ff&&8ORBWsa zKdGRU?t83Ur_0rFj)!l{S!PsHm0$WOwkyEQ&p+Un?ud8NT5Y~jV)CQ2Rz)1Jb^>dA zJx-xwf+CpR`<*Df*Af~rsn$OKF)Zqs?^v;T5673?$c{0n&*hflbid5yyPdIcmpwzj zFu5X9SglRk3-Phd3ep5;tkF9lp(HJg7O@s&kju1gMR6x5Ut6K{2I8}QkF4E6JWsP_ zvuakt7k<@=&nEEE+zrvbi^D=|(|#|G?{T5x<}T&Ue2Ji!+^pKUL7WWB8pCe)aJxlw5y=@e?KpIQxC}rurLe zoxqsGXkwy8EC!{p5byqz0*WTc(ZVlKwy#jf25~v}*dkyY+qGY@&U&up?m397`&=!MB(eOm{u_+cT*j*-$@dN^ez)nDZp->Nqh235&O`Kfr$WJzuJ9L&`hK4t z%mq^9#9z!)+w_G4h4rO2LGt*2?hmM;WiRHsknbnB7p;Hx=`yA8z?t;QNK4PbLVTB& zX5IK8Nf^s8Ldp6$)Np~VZaj%^$?bjd$Y^wvwezE>HFXbP{#i^@AcAS`Y370Qfawo_^N3hIbw0vqq4Q`$T-lNJCPW>3o*(_SN&U=|ax~ zYm&t1c0&dmIS&@HIh!7@nhgllANLKGULx-I6JCQkS!P84z(T%_rFwq|RkEuuhnO^5 zMV-0pF*L2-ve&)<0?=HpR%GF}O8FCwk${@;RgVS;@zzqTXVk7QInuH_R0$=W21lC1 zsp%iXB|vT6!_D@UoABoX5)1;TOO&!`1XVA~`+>|P=ew&JhPivKWkL%Y)}G$SQp5F@4*kLd6EW)D zqnJaRYz&>^b#144U^MBB69b((4%yAO;k%y71^mTF0W1{H8w6Grgm0^LzpsK&jRbz>5(b0&Qf!EhLOnhhw>bZ5GS)`vDLuA zWOfQIWHP&%TBzq>vKpxop{diXzG|W(6&JjL6u`y4JM$@R^O(rEzY?P`2~}*zskT2} z$l3&ObCNF_K8??$>UKm$Avm8R3^V2{I<7NTX}elrqW}ltxX=$&2zez~7mJCEr+t?U zOx=95vA)0dEu_gr3+*VKwps^C)TTj;{w-qj-@>IKws^fIUEm z;lhzV!I@5n7!`+k-N%zfk9WVcqekzTz-Y)1CeUDbf5K%{$2>*cIS%!uu%1}H2n$tk`aW|K+1z0e18^%%jZ5DUVv}@~f1^vV zgf9J$3-QE6z|#L`Q#e7)Ov&LexMxvCxJt>WrD!p5#(gk4@YwWU=hT%r-6z~ zOvmOP-K1`|#fEN#n$)+enf4mZu_aZYo?n{k-Gf5*x*--P2bsnnuD*dR4O71H-T-G? z^;vR0nmh#Rz8ljc$1gqRT^>Xe5j7LooPpK;Vx^@BuCQ~P^zdRi>-z~1#={$X%3bBQ z2VWuSuZ9kGiuUy+CiRw!&-hgUY>1TLhP|x86~B1CdZ$fe9HUh1Pw)LrF;EU82L#oX zUozpZzVG<_v2AnOIWE;lTJ6kpbJK*{rfBhai(I}! zl9Kig|9KngyyRD4+AZYkz;-rb?c^Ro_P5+WbCN@a2Y=+J?4X5(Ywc8mi6<4~}@ceF8Cb-#OS^ptd40QEK zxD9-L{XA83G+Lhv_zO0oSMpuJ!zqnBImZBuz$q-)$BO=JBFs@UA$6Y$gPWNm%h9GZ z{qaK)@$8V7RKve}wMx!@$~9C1mm!(&A%cQ1!>d_G_@6v~r}}c&jcJ;?iY&UNqg(gX zOfe+3d;^|wu@9O&-IzP?sbd}0Go_5ldbHqJDO-|@7MQkr=|@hX!tvYPYmY6FH(g1f z$kg&i@Li66t(lvVKU zfuJO(lHi9ylkuv|7=5OMPZ>F-O?xe)@lKtdh_5BOo{E>ANaMVNz132a=y`x^03X`! zBZK(?R(cVkt@bH;V;~)4@*SaKi@*dhee^UViO7bbenx3>{%5^e=FAtEhrr%CQ2wGf z+iXJQ#dMSXH2++@M(#$TusvMV;)>C55Hu(w53h|eRdezvKivL+F89OJM*N0V^32!( zUuEZ@Y+TTI3RS=4TrgBP6yes0I)S(X0P#Gba<3w@{sAi zw#ajfB9*~5q5xy24;p_bEB)Hqu^<>%82BP1TM30dL$I{c8@QCP@J!lS+OpBS-k-vI+28FQ18 zD2l9#DHRdn^ke-K_7l^Tkjz@ZxJM7aMSsfFV=%;ZP@bs^ZBu6*YOz_gX z!b#X|ILvgic@t)_!>t57h!pU~Irw^LB%&tl{Dvc)!;Vrj9IZC}n%B2&6DV^1?g9&r z^d&udlPh79(f|5Et=IVpzmLec9OtgGIpLu0;`pnt{DB5(p94(uI}7B}(vPH}0vDy6#9SDUe;)e5{34j(5}eYUtK(q} zkq_$~s-feRvu#bZ!HA~p*Sbf6+v<~nN*M*g7q2#~oF6;qM;x}?=t$e0PTI;r>}l*w zC|?(6Z5!I4q5Tc@97mv_kMOn3rQS27!<&4@n!&FAOP~g`&5gM6bj_`JS(~qWJrpSR z{pLi4D|GjtWe$$WG)B7~ZMZ1D*9p?~rH3X;&BLB_p|o$(Yzm*hcDI6SrV&{`;nOC) zB#QdE;O~KfgV@opE;Kv|vU;+vW&@egVN;G-fg>H{lPdFhULAo;!l}Ql5#E;t6L{#f zTXLLu^UKZtftqY*&pZ^dV|80*+=_&UUucZw#q!qIlmpwfVl-I?;`|8Le(-1&P^}%e zJ*M)|OjE4a!Ll!dYO*$Fc}U|Jn{57Jx$=x3|2dFlGazYMiQT4qhO_&G@%DfXu;zKi zE-@WFLG+Kg6Hr%Lwp((LDw9q)Y1B^}Ch(}{BA={;jod+Mc)AwQ^p3ri%!0kK01rT+#n-F*QmHN}`S^4~S=#MU7t2dThEddA zrqAOLq{UU3nVB8sU)9c?SA9+?e~uG>IIs3{)xBN~t|Ku`Au(=Nh#no4oR@V7;hv~0wS?h zt;Z{+wu5!+U!y_*Gu>=GAZG47HZC=-^OHB3tIt5CXuZ)5Ppw_I&HUj|NdOD$^U`kb)rH5e<(=Pne%iHf z+uga;ycO-Mk-M89A!(?=*CmTW4qHVgEC`I<1L@*T8DuRWGJ|(DsMu z>_9f3Q+M7%0z@T%2jaIo{~lV@CMj9832C?~VJj{uZAnY`>7jqD0``ahlPdrJr%~kb z6ZSNLm&qsVttgcw)k1_8XxJq7Ycfh5Tp0CwavEQ_xEx;L^|oU zp}({hu_l*~((w5!bC|+CUeGyBm!=$B!wwfaHbN4Rrv#VhPiGL(e(-)nk1v3qbKDG- zxy2vUwuUPiQ4W+9;TQx`n;3jMK*G=K3p~oj{eym$Dq0}6y z_*#E-XiMEB8uKWt++Z8?2&~-vAcvm%ltkcglo)IuSZNgWATnMir!EuumQhB2-%qn$ zeD4i zucf$-7@Dzr3>$KqSm=UUWJkS3`Pc%rpx4X|rm)1fwf+}AGoO5K?ZlJq@^uL)S1>_~Z=Yv%mw*KWZ*1%B7IaETRmB=C6 zAO+oP)IT+!>5Hu2{!&{+H6EVd(Vx9abRJ#5N3rM^t+Mt`!@EsK^nW2#`d2l>CzRUN zuIVy}lCnJjpNh76JCccNDBd{#L%=mKO~c)DUb{26Gf>}EFwlIU*G;v@+Mc-dPw=S= zYI$A}Y&Cp7m1mpd4${O}N2#&-^5K`>&qSeSR-vti=z<7`Zt*oBPD)`y$NN<6UBrL< z2aW#D<#4@HZ%l}8x2vOj+(9VHqvKG~bQ64s38Z~6)%2R9he^Fueb4i|X&u_O-D^a1 zD2%F{1&CDY_oQBJ_(56kxzx#<8dizPO7xZ< zMn4fr>z4Th^zkc$qLWpTg}ng`&VZ>oexZZ5F}(&?K}vR~c@nFpNs>qc_`hJ?xo3o$ z7jSXFhn_%m!Ed5U^8B=0p}h>P{JtFVttAkihpPZjFoZRt*mJz?BjHD-Dm!(t61AB; z#PAHLL#Zl41~{0J`C;yF{=U!2z4!xAar-V)2UEM#4g_9jcGw zYXV^*bq1A%Jj02~de^xI7E&oFX>}#i`y^)b({<~XDUJDypmHB~c27svefsX>L$s+I zgpwe?wd1vND(VT(?Un|$vy0Mj&RdRUaa;6T42p3Cn zaZ_}qn%>~AMFtKbDk5XGtcSKITe{*;x={VwGa_x)96OztTq0!pcQHA@mw~}9K5qL( ztpah21i}X84qxlQeY6#DhISvIwS&leO`)h z+&y_7@hxxZ7xbAB%ZQhOm}!;6#Y!z-)#u~G3$TU5*L}Lk!>(=N%1UMM=~&7p3#!n* z2+msT@@MA_I#e7kH6rm9eQB4&m4DvxK|7lpLFZnpc#L^HJ{<~xB7UD2Bbt=A#*AcCyE{6Rcc~%caLBv`b1zhzr!Q zLbD7#kclSW`f4_-e5KV z?u^r7P2;TYeJuJAQhhLL1NpMdN5-k-0z?k?bZc}%4e6}&ig`tX)|x{^O* zUYS!Xj-!M7n%xIW8r$sK8>sp)_6ykC@GM%IsWl^(+;j;gLGvVao?sG#YQPV1Noi z@ArjgL6|3rTn!c$Cv?lnSGl4|WiV2x@%6g=;J~UcdXNarNmO7|HbO{v?e$sS+E>_x zsP|f}S_?InKujt(u-Z|M4uH;!17vzW^<#H)+r*!RIX}=%{t>zYxL1us^awVCJzP^CX_B&6{RXCB0o;;WH{$@G4X+ z#g5yy1%+l>m(b`ifuCT-ak!8_;A2nf|IN9ea4Tfz9-Wc~K4I)ZJooTl zQoNX=ZXl9qFRYXQ(D*_SMz6qXDjhyJa`|!Yl+hztk{)1BdP5lE-@@!Lri8eAj(+dMFEg0Y~Y4z6Y4BFOJo%eoHH5f(a zZnSCW`z`Q{#?RIo{mXHm)}62-o_#Mzl)4gNN9Ve+KTV=kwKp zbd&@bhS%|pD<+OwNdphw>VS{>UK@J<5}9R}$S84Y2B+H3t@qLoZ>xQdR&!g!h<=k%^t`k(pOrhU@eoe&0>ujCSpVx_`QIF^ z!F#4I6+_<*I`!CU)Cb0MrrwdFn=*C z%HBhGfrXgAd3PA8fn_;ZfGeKV#baj;mvR`e)yf+NZPvq1J>~CLt&0B%|?B+d|V%C;|@6k zV+R_W25@m=raeFE7vk`KP4MnOx?R$xEw{-b=RZd}#tm8qM`@P&TwiVxzSkTLy|lh_ zyuiZm=$7QHVbprcV%clj)@;$Hc3hb0HP5yPel`x1f<*zXtcv`4+Fp4AD}RD8iUO9_ z3mYBylYWh~{Nnqx5YK|JIi>fbN!4$7P_b(8B=kMM|r%NeIRkPs&) zv$V``vNU8CVEj3m1BR8avU0QK-Mw;U-2ocb#A=}7`Ke*;<%Gb0Jic{3*Nw}zDZj?0gsvG>y9+S? zBlzbAHoI|6VcDAtpRchJ%6`@_!)jCHJ%wLH8l>l!DsBLrqt=?|ky!Mt@)}2rA1`m0 z`f1Hm($3}K^ACvEv{|KW2~STk5awQYxk_#}uph_=HbSm+65Wf|SEd33J2c_PNdPJx zn z*gxOrC4#rdWkQzV@6G15t63*m>r=^2SwsK>uh>mNqM4nixdQXDf9tetNw znW$>ME}+MnB11<6*1KC&J-6Ztd@3T8lIk>P>Jme5R&Ezsj5D(Np$$a=T zv1Yu%&NPBQZvQ9pKXebIPBLVsbefE`=P2pl-nt*F^P%gJ;M=7f+SIbO!2>9wjES_> zQ2ZDWDMkgxY-B!O44L0QB1HGt>`6Q6WnjWwN>*Nx3e#u>GWKl$L#{XqbDZ-Sx+kKb z)aJ;1@lRgIFf5%P_$|ADx(AVRrdfh4MvQDY4c^*`77D=i&Kot&*{tVcFB+)(s^ z1NFSoaz27?*eEv!I1XYkviRt@|5)~+jE?~wEgt@g%^r>Cpp#jU5TvZprMh(uU{pUS zdW5oEoMvf>I9IMOEv=*};hW>YzD>w|%TrF>WN`of!_Z`FN=sG6L`MFna4#~lei#y% z6qcqu-TNfC!8&xte0ate(FX}fIg%egTt!gyLlo0wK|$hnNrK=K7y%VVjX>|6CI26% zkIRI3Aa)RpKg!>n6K0f}Ld+oD!h?EeI?NS>q{3;lgPYP1LyPB+YQIqEy0fh4A5=T+ zLetv2irf28V<;Zzp3d&COYEE!-GhKh3q(P_zD;!J8Zi(^p_Y{%)OZ?ee%bb{?tF%dP+`udL0{I7^R9$Xdwr>oT#lMrp6GqzdJ&VJt!&^d0Z^1xMwdYU3% z536BYiRY+ZH7D;~8qRpQ_`E}P-DekT&jw6#z-U?7$HDd*3Aq^IOO*4OMtP&Ddg*N! z@0#|%)f%h=D}k3+V$D(gpTiDm6pO0xfPc7oXFw6E42V0;n<`c@3qU=QJmc@1f6WHZ zJK5bRbwELp%hYI*(X~qLG)DEi&tdqZuval%PFWe*xfG3ABStPaw@9M<-yeTJiP8CA zxw@*gV3Bi_TBdVNvx~H*8OZAAI{ily|B5>oi8y=xJw+A?^K_rvjga3JNhVNFP}UY! zckf~2Sy$Klo^Wl;Y_Ys88t9m^LeV3uG(%tbD6M9-!&gM%g?`YnE6+9%@JI>GOtX5l z&!*tISdb?ZxF}u%!NxO(rK})w{)Jki*?rgVCh>uGT0oNi)GBGYMd~B;_lO*V9)vW# zvQ_BrXjEZNCqXy|r4%4y-FP*1=5RIXiDTHe@mhwv&_lGkwFGGQ>!-gwLPpU@- z%$Op1#!qcRdhfU!Wm6(rd6V$2QG0Kk)!*Yi6YM5_x?d? zl>RN-_zy(J^SR0?_L6m0{{7cpa<6}%g?1m}YhAC~_m@%YXoS2fNPW9II@;~rhwFge zKMAe&x13evsW0`i=@}G6#^d;2Jil%ZSFjKU95ZG$@B_M3r4aaRq8AwK>I=`W`;8jK zByb&Jv7y;u!XI2FgAJcXv?8j-4mFfpYIP(D7!A+MpQES5zkz$zmFzG5NY1&6$OVPC zmRKIhCvFQ+YThGmSN-j){jDI;PSHTb*v{Xvnyq7GaZO3x+47OdWF9HP)C1yMqU{wY zBJ`EF6JU8JYeo@PJ60bS_=@aFHfvgpHE;2+4DYdMZU_`IJ2#=49Dgxkd25ISyf( zC>oTEdfKjm|9Jua6W*8d(uq^~xMI8o4KY}bUl&=N$5(YVN`=CF%HtM*V-sK8+o<-m-1x&sTqh+f5Y|C zTd?T>$09UW>8UeZUbvD;0|efX2M;=!3%B%r%G&q(G5|euTlo)=V?0eF^Y5Vx%3|@M zOHfgyD+E7&g;9UqgF!Mg#tHu*hT3m@0zPJRCyn!GN~^hP9T(X7#cB)cr&}-sq3nt) zL9)D%QFHqs9kutWdEd`#>Epl!vQUaHUl%`ikM{17u=7C`&KX|?e&=ERXnCa@GUFZO zrs67MY>X_tei!pKD${xp~;A6>&{{oFH|U8U@3~ZuLqpD#`PkB zlYeLh2Lr1yGZ5dBrKHd>DCNzSwdMb?v~OOt*6%qSc^>7 zY-N% zDA3z(*XRe~Bz-J8VW?>HK#V`JgjseWiH2*N&H;(~&^!4IBsG*Vj3mk?}>) z(|zYx3Gxp6J*A;?!)N6&{a#SDk9DQC&$iD1SHec9^Zd%|{$}@w3ej^XswuUTJdA+L zHnG2Z4AQDZi(TCK{|_#8?*CU>g|lzLBTex+q?cl=!eDt^Z0Xy9GE5_Mzml~?VR)XLsh{j`OOKAYdEtH|uiI?>fz3I} z8UWWY4Qp9pBEy36lIf-dU8#wMWQ9wy@ufM%IIccQp=-KQkQZ>;a5*HedXrXRk*L^t zGOo;j3!hJ%jhHu#k4QHoWjROKKhW55Znw6URdRU1iD4&xd<^Sdgd2!rA!xngiYG*| zC(V$X`j6qAx2o%V7WH+jS>)jCuY1Oup%IHIKCPU$!S4&jtqf3#SBoh#xFi#19M&29 z>~oLd!sG1OyA7~Kx6sGmEEBvIj+~Bmj`9pcm=ax^7vSWep=l+$C_j-y$D0zenTyc^ zT3VM``P!g{e{=hz+WC1FZ^PK%2qvMngQiwRZ~x5IaS8Rac`FOR=jXaSBnQ-7IScj3 zk-nhTd>CDjbv~V*@&a=MlnCA2PxWc`u^biH?LbK}>1XNq?Qf{U=Qh&)c=T(wPx(clsaoBsZ zuUA|>bH%oSFGpXE81sBDvk-g!*Hp2?yL#Hd|F_?#Brf8IaVbg-ruKQLH>7@(Nt5_5 zZ^^xnO)}_2Li_12oB%XuJ0y<=jsBEsFVFAU>RA0xt}Vp!$M zNZyPs(YEldVR9aXRGz}?bnK3E7NZm1w)TSqg&)_A>fMOy7Q$h*U*1D;4mR-adBG8W zVzBr}Nyae}HJc=jWe)r5R;~^r z?L5)ec@Uw(u=7P$d&y_Tx9)qxtr7B;=s$^`y5@YcqWk2>+s?jHxnxA1x&0;38jDJ( znNxUFbu|9+6Eyd6W(ifvE1>TEIPwT;L{pu5Y&&$Sit{a%-E$pAkLg!0!@o*9Kr+?1 z;hH3bHVwDJUQ3NE_B@HQj)|{hrB!@yVq&~^JLwpl)?p$TGW!k+K<4z->T=>s*b@~D zfg4QXIU^kmQBRnF(ZnSbW)Cz5ot+?30~GIPxmyRIea1Bepdsl1ij8TI6>ta#OydX* z9;}T{2iaeZTZ{w0Ut|#)yLLSzQmU}4Kkl>rFw)f%l_?c#0}@!JhghHM&$hgOng(7B zjjw-RX!4n5XHkPCBei~YmV6&=uq)X&D@g)f(o<0QaGoV+wtyCtsErV^1mP}6s7g6v zjn<&!fCmaQ{zUXMTYt=erNh)@*+IvDa7Jzj%;L;LxUvaE!9nIp^g3M11jd{-pSt@O z>}J09+SIgcqZ`I4fK1k2w(}+h4vy+9nDzSH3ia@ckb1w0f&r_@bHdm?0p(&mMMhzv zNv-Emp6QVi9L;2LKb4up`AREbc>kx!;Sl9@sM+P}UJy_#@K21XMGyH|TTA|9EdFJ9 zm0Tzs|HQ|#VxHu8e5eT6aj!L5Hvq^4Mq%e*?X^-%%9=ih?h_N!Y?8lNK-`xmJVIt* z1cF(6l=(C`^u;3vsI1ksTfQtEKBM%L%Kqt^6iHFLUKK&xXxK1WW$I?y-YcV)y%eRm z4B4!^s(pX@p2(pNhS=}9et?6HlwxRjFNX-1@9h}%YWL#lJbLxia}JHyb#OP~9kJOX zdW5azPS6$Ur!#KzhOe_waq0-j7jb_B%~fN@gd(wZ!eI088@=dN-Wf1e%329`sTVkV z4d@&~&2`9?p!Zmeg~)iEn^&ME!B{1N?3C@ z7d~hRB#`elrR!WDM-)_LQ4&KHksGx0Th{B8a6y*`&9`?Df8hF52j0?(uZKYlmI!3j zfZx8C-GM6UVNdpwg*$fQ=C>t6z(B~+$Tmq?`(6Jt()6M9aysDnc6a`OQ1x|X9QhA_ z-?5XFf$#Z&hN(+C{_oNF9;d#o6I*=PRbu#m(Ja!WM;6IPeRhi|E>tBu0%f7gQJ()o zq$ui2<1jX9Jk|BG@x?PW{kDw(L-C4N%VX<37nj+XGP^b(x|e-F4WjYcA|fctdXA^F z?H9T!d5a{oTmw&o(C6Rra}WGVu^cQjb(i6aABK5*P~GiFPGMq}p?F`SCE7yl?*5L& z*WMZ!%^$Lbh(%Wdx7575vR~;$$Ub&|&JlZH$fp8az)Y?n7qbCX>GcQ1u44zZ=69xz zV?Dv9-=@T!C+KZsI1nQqM&jPieJMUhfeG;E)&y!Kc4xCp)*07ur#|6?46!E-d~{W$ zREG&rNP~_0>?FR6FGmJFj2E&7I+2gfN4;4q;zBt4?}W;5uyW7-M3Zei&bAB^3NXB3 zz}3<)uI;Nh*7sz4mh~MfEM)9nxB#6H!o3{&!Q#3Ab13DCOR~bqDkKOgLQi@^h)IL+ z>N!@AOasphWu>Y&E08yy&b6naY-UQ2*z6S)VTI81dE0>QQg_5VR-GG#o5YQEN&C~k zFIoD`xgq~OOx6dDRRh>h64k4a~8}r>cSDmp(cLjQ5R^9BL7yQ z>hmcSVMKLuY@x9XJW8krvl`9?ed0%1QymQ+S^&o-??o&B--pSo>~cDAOlo(*l1SCR zEvmfi{U>df%P8|h4Vw??vhJY~m<6)a!ngvruBPLEoOi8=d9rG5vV>rje3k4x{W^~^ z&f3Y=TBALLYuNO!c22X6w_RbJYbdgY%7v83i>kt7(qhcde80z&E7m|JAS`j%pR~Q~^5RYksPdkOTR`a#2m^!_BHl?yGMxj5ZTbBn ze(pO$+_ADv;E&|qhy&>Q)Bo+>f+U~~ZQ_2Mho!4%cd#?94MsSmZYgh0YUx`{ z0`~2%hvwCt(;yGnjxOje?BSU6?`XC&%f?%M+vz51tHiqQA*}*Xu@jFr?zKbjvw5_! zW`?fJQ8RdOR+8e(Cdf7}6)HYx6g!-O$SwTUY24dMa(V*g9HrT$%Em}DCifya0ZQHipq%pf>zhDr@Zo(Rr4qW08z)(Aa;3%YejF*Uh!vb^BV1!quUrtg{HEGr zJSc#mf-?4A&BE4!XEC>NvEJ|*d-wzwc98h7fbRFp5qW1!p6uc^lp|ST?qk{{TR_7; zsQY6`_#t{DI;7H`TNyX+=SV1Wo<{lZ)tdgCy}F79W&z6cJ5(aKd`zFgz1{B6Ax%GD z59J0Hy+nK=qn`PzLtXZVe ze?a71V}Hmov(Bg!VpaZ)LTJ+Lf8PgwzNpD>QRnqtVhKB2kv{X(xD2X4l3=XEt~FUZ zXN&)U0iZPSlr%*bR;=)b<)dEM0&wm&q}K&+a+`K6zI_^ZC1q zvE{MV?6_BABdI`=!|yDOhDe*Fo@G9r5XO>-p|C;X4B)|^C%OQKFoDG;qcZ<%Ty^0C z1e@1Yw2kZ7e?pZ_U{tS}mmt`L3pULiHhl!Tfmd}X2bM8EzkYSUGLd!+;s@p>U zrLeb(W)g%SQ-@wrh_w=?Q&&rwMe5)wOJ`!$BeNg#X2fHB!-Is!A(@gsX5H{wsDP{k zYY)mI8pu82ThariJ5SrZSY8GMdMKsB-Dvsh!xx5K?4e`?)5`Os$L^PH=LU%~LYdh!e*1Z}phxuD|c4 zXT_PFIs$I%%IkqyWDsOMM=QvXJCz+f!e?|gt}yL19>7Dd^yEod0}RBHV108IcOi_X zXxhOG>0J-F5i}kT4FSNO+FU;Q(436|hH^9F6l;2;L2jspnc30O@IKAL1Oa-A==Y9@ z->XLuVE6C?@ApzQ{+~yoEQYym9yo$CsfNAY!f&*CAVL^!w-w}=gRhF``L{zQt)mVK zQkvb5S}oGDR>oWA=aAhi+$%7Yfmb9<(P>wU+&w7A@Og^j_aQmzvnU?|U0VA%Ev6|o zS}B^lW!3dKcEPs^qUGiqv;W4VfyPNJ4pAFFt?2q1DgV|3?<_mt zXB53H#M%};iIyOUIQTTQ?x(8$k5ZC@m2$nRx`z8n_+s);yZt`k8n#P{=~(bT%Pro( z%RBtb)@Op9Nr;nlEPV)80e#%5rqn)=^Z>K{sbhiee^v6?!rE@ZOi_YpB$Z#UjSHVn zAc4JUxPv?$Ux;lBnlUm$>7L{8OPmZnM&3l4I&79Vy8Yo7vJagPaPLA?)_Tm$m|2PJ z&^{YJefk*#RDP(R(CTQDM$S1*m6?+Jq3hK%v%{M`k3jb5D#+)DWt3Qdgy`!F+|gDymE}ij1fiF zRCc^}VGmOJwhu)cCt@?7(`%bqvQoosh z=|<@L*QfBVE?<)z&PH4Et$>Z zVzc19{T0at2*^9($q$oWTKsR@AwyygIkuLw`NW8v`P)tnnLnp-)m-N{@9jI>s$J-J zx--sMTk@{t;WUKBDJB+-B3D5I6eF$;4lRkC;jxcYymg_WrvKrnsfd3ZqI9{vF#;fi=YK%BIIgZ#DRF`ed5OnH{>GC0uEw`@wH}1o|CyXirn4F>Mt$;-`;me zPrhO}o!2FDC{-@Wn=-VbJHvW;s$1B6j;VxC z(lS?ayu3WDSf0U2&LtY~uJ-@QP^Q3_2K!x3J#skkjTSRNm!qF&6(Y7I zIsWgxR$clA4ik^xo!mp{{2!A~v&XArS6BgF9|NGBny{QY_Z^!Y9ev?f$6Xr7t{Nq? zoG-7_NG#90`f)|>^zyD*KCsH40~#Mm%&b-JWmR6?wt6Ak{Frq_J}2qx%+OU|x03~H zJ8Cx&p9Yk{6(_*;&fz?qwNMY4rU}&ao0rQO2vH)=DI;PgV0lr4d@sK-%kwqW<5!|}@9CJtoF+3E_ocW^IZK(o$&m>_a3<)9pfYsgSl z+R)=fVX&4NApi-}Mj1NSz$Xg^aa9p=qeIa^SsgZxf*iXW4twGW=}>z(R;5bnJ&Vc+Ux^tVd7P^B}g9owlo+rndq&q)AGQ1J+^#BewHH?VqwVlfwy~D~AJe zDVCE=+=`FMpG%XGJm=Sb;85-Vr7pLDRS7!}6i30D%c#Xl5D~iQkrV0p>ehwUAa67Ji5${MS{Gqrk1wj&4vs8h1rQE^DTa zF2+ww#FBwB%|9LEb@3yH#k@c&A<+PTz^}$l&)vb}!D&iGdL+_6uZ0u%-o$@L3YRvh zP}i@_^_xa5c2H?{<0LGiL~*@|^UsW!+=h!j@{M@D$%NKN+oz`A97`<^4GDVuFk48= z@NUF_zD&{4G=LgG$4{upyu=$TNrF$Ska3o9CjSUfYh&0C(&c(P7y{29<(OEbG{UVu zWQ?H#%0^DXq3}#O7FO4Xy<2?#2`Srks+S9Kha;~K+h7#L{jpoF_FSepMtHK57a4&j`Rz z%MFe;bb&{P0cenLx1i9#xTa{+mf*CsZ28TDK-{K_Dq|9MQSk6`r5s;634M}KcPy&gER+X1}!$3Vh zINXgLLLosYqtu|?rWv_FZly!tOhw)MPN06^fgj?29%eG75WAqk8 z!p+Ic72$l-Cim`O`o+czzjWXJbcNuDBsT@|xp&v&C@ivwOViXic$s7UY5C{cVIKP$}SewI6AWx7N|Pn2|@l$4KSO-$ul0Ws$)WVwE?2AH7cOj z;f-=xc42t08bpdY(tiZZMU3LpMF=uihu1(pDb}DVxU2wdrz(bKx|6v#t6EnvcmiWm zu6_z|tTQU7|t=}cvk}*yE9S#$wnN}FZCYS>c zj%}2EhGpnj)Bo2P!z^D))6D`%xN-t_d=;gEONeqNO%*+FxPuf%cr;+%BswznI8a+5 zZ617+r2KmUcdJ5BEzI>lDV2C5^0xQ3S+A?V-J^hg_@RUaHvv7V;NJuf?yG7;~C%|%OGPoA2p(J&*P9_`Fz&E>^NJ}My0g%C?R>ZO%zub5hTq;##A{W(qm7+i+#WSM`hXG^Fj+8m+r>r zIOuBuz#j>1W?4bKls6KZ6Dmx$*IRctCDj=8i>>UfL!P1f-z>lf6GSHWhP!KBP3xH5*H zdr1|%BmOl@o2Pm_V+|rlq`1_8Xtb?1-gQM28nUFiB z!(+rpS^d-Zw)3Sk{pN>AH2tM{k4xB*#WwUJUx;4qN^{pfJQyG z#q19Bc)`@!CuHZ|{(96KFWa`wvrfHxkrMkQGhZNh!xa*|;VPg0zX%`W+>)Ln5$Ie3 zg!|0iS~ej{+n=Zx)3DHZDBqme{)kuk_CAqmF%l}7PPr`cX-^bqLAKA=`I!fsOE1w9g7Y1nXNxYwO>K1 z$*+}ggRt4!zTokVFtIS@hJ`zrIzW|EhROL%Led1()BH(Z+l zcd8f8Si+9Y8=N8)V}``Q9L*?ardE({#_@%Ry_oUIQpSX$mSM*F88d|ZiZbUYUg zxr55-Rxv^I{bvp4=|b*L+>b%I-!36)z$@2|AAVU6gBLl6+*E{R>%VJ0d!reGetlVk z@USG5som4-79Y0i7_j&bm=nl*{e?L^LG3VE@7dQ@AASf^UkImBjhpbYn3{q+Lvg|Z z!K9iSfa~b|;oL;f6SZy*9_`H02^bCqgU^Z#UHm`mVr|yNTL;W!j;;BuycZIOBs`tq z89?QKGk{vg{<$L1fpC)qH=ny329Cs?D--gN;b`$~mei&R?0kD4X2|hjs~T*)9gOI$ z7l`rO^Y+Ic^`N*bh2q^1|275)f&YC|O*_(_FNOt`>C>*yT}W{c{&0w|2Vil|N@Bjel_EifuOOKGQzmd9MW{3>J;+f^j;3fu*wp#WRz^7? z$3g1F*5ENNEOy8gxy}H@>f|?Z52h{Ik;tW_gzI`_x;87@VKPv~=itMIJe;MFzfVV3 zgzc@7Rr1jz%JK}ZQ*=ntGPX=6L8O73j@>^wP%MiW_P~N_|5s3bGg~osmu{6{kQxPc z$vcZv-}S;L2sg9&wuo+(%D` zj&cQXtGOk)BWJGzxtA;Ws9bx~3Dw#IM&8L45<^Wf62mP@sQ+>-X(yJ3azCw8x5zN& z+Z(&q*=l_!&bavKMs4{iZYCJtA;K7^GH9!MmH#No+}Oc+gWH_KQ=^GI=x>uy63xmG@_1;V|d;Bx>wreG8; ze5CMMW3|Ehh!~;YWYvP9w#E9B7gHlz3*3J$wyTYo^Ru}Mj-(P=?SPA1l961!eWTTu z1JK`07B1Em%wX9e{~H{gIS!xDa!mF@?1i7=rD$+#-m_Y`oF+%ywClgSH%?5Ta+?;0#O7R%FJYL zflYN&2RIm6=*u0tgk5s_>5D$K8aleU61m)a;4VIHA8fy+#yvggWy~5)r{Yh%CCK%p z!rASpK}+?i2H*IGD>|oi)pP7{Mbd%Hew25YVlExaT+T;*u0L!|Aoy@mG4OFmtE2T1 zk&+c5ibhM|yT1~+bZgxmT%HmCMq4V4DM1)1m?3u&!*5&P83U+s%k2E}X)vo^e5xeL z4$g|n#Dvs+ilFy0I(w`8Hm3~Sgz7Hhl5{GuJ5qtpM>ru7xMd^>o&_YWF(a@jwlV0< zn$qhG7-C+>D-7B99mg-{Tz?amA5Yh#1#xq`Z-GS;L+3jG`uXPqw!!t77fPh?o z!2nWQ12X2A-J9AHeu7_xS#q1>EZr!m7HI$ZsB0oURJmeQdaBk5m*~kOJAc}4L}N)v zOF*LP95Tgll36Xss1s-mtY_B}xn5-+{GJ_>;5{Makfx&8XIR#(__|2VV#QLW$0O}xgyV;IcLIqDeq)|VXV=l5q z`M>%3zgC8>ax7E`7)l3(C;8=Z*#n3(ur&?=TMyr0M~>=*4?Jk#?|oqjN%1x`=ps%w zd3!AwV;i}NN208&G55u0m-!-NxOyC2#h!XhTjB4RP!jEC=@4XC_6VUxP-!ASa=|v* zQejvY%W1urm+|74zY(IFsHAeU%W4LCEwaSF92 z%q>&?A50ZLqO8d9X)H32{KX&yEt6NqebaJ9BZFXTwdk1oB|H4VjuCzqAODe}sLzss z(7;2`3N-h47-l?os-RZNM>*GC%q;RTkG#U;^U!YumE`-a!d+q>rR}4;qpBZ46(k=x zdOyF%r+xlx|0q7@(lCZvuU`VbyAZgX{acC1?9b=-RxQ~BZY|4hO6=}gW`)R8TWuMPLHi3YKuBDu$Y(#1o9FH zFbHAPR+RV3SNzwy{?}`k+I2E=%o@RnEs^PQG}D<57iJoMR&vK&F)i3ygHX&z zjY8UR!k8+JWeq*y&?~p4BJ1a%>_ka_{hDrLAAiIZ)SkIhI(*_$2R_ME*ROlY4dn<^ zh%hR&?5$%pM}9?+z&cJrte>kDv1-GX+{;fNs)>cQ5XV9{LZZn%-4C)}){^HIL-wIj z)}%n;AZ1hiAQPK7x^i(#0KCEQ%@$(T;4;LzYb&&!(0TE!KEWX1;mXlY?(E{|9(Vs zV-=10g)LRSE5N?i%Di5kRSZu&IQZCMp31D7q`Qwn zLiJs3&$Y7mgGX`!#=iL;jxl#VPb2iaSIq? zDS{?u!}!y7eu(zMdzB?{D;RTdtKw9(y^za1{c8ov&BojVop}Z|a0V+(>+d~j_TGt? z*$$UoG-}XJ>*#`=b%v)rE3z(mD-J+U-!`waPwvvZLIa=+2qF=~lpa)CG~~iyRmbp( z`!HD&0;~vXaEs|3dYO~5Gd6_3%uWf>uPaWyC1+lWzomahl35lMSN`p**FeYV9e4lGw9C#z| z&o~Ci?_aHcpsY7s8SKj45KBT%B`v>EEOm9xGr6MCn|5FI>u(va2r8Vr(|`a}K-8ERB zrUb+*;4cGdPEZTk=R)vRv3+#}arSSLEyUUCgLFsu@>OCSSx*^*&AyPwco8RNv0lsH zO8FiJlmmYoOcQ*GMC$Cah^gIJ1UyG~PK(e1%SDzU405eZT2I z$K1uZya*AYQCHHCX&)Vc53FapZ^S4iN)F%u_F(PZn>DP;sgk{Vzk*&r&5pAko9Z?C zHBPu-MxR)d?A>)5I_Sv5G|&aG z7i7f+>s$AE8i{j9p){ObIcLK6_;d<;Bx^D~UvvfHyq@~^)mshRm+hyPg~{^uSI?V< zQ!k%ZKm*aEAjM_xR6@Piv2Jsd^QS8aN8bnU#JXkgoImkrpBeLiac^%rk_0XPIt&`% z0d+zoD6;G>yTj_=7xp5?SBXE|oEWD{w%aKoRC*JKM`NCeMeotK@lDDgQN*D~-zm%; z>lno-FE2q2kV{IFPrr0`RUvD8z);xt+8)Z=h2*8t&G{%Kw0DAMJy{TnP@kFS_Mi=f z`i`*ewi$DTw(2`(u#V?znW(N`OCn;CRU9Vs>!n2z(F&}d>ONlj*@;~pjN}Tuyg#j9 zkCMGD?GXlZLlICxh(ZmdBun-iOj3VC7y;rbaE4c7bC$I+jE~r6K1+XbzzK`%9tzQL z&{ihFcF!_u^qHumHVGe%fS+85QQxP!l(BjJLF!kofYyq zygNE&m|lmrGa$8}51e_;e!S}XLYB?-S%zYbB5I`=23Em`ay3mFqnQi+E0?l4I!Uhs zlo_>6r@Ic2)3^I2CK5NX(4*fd)KYq943maleb`JM&{!B-2w@Qr9wG@MjmG3krQ=Si z3;UKN=LPbMEg747Bu~~c8<$(&UtObdLcI3)^q8y^+`q*)iJwcL9NHvt%@HG(f>R{A z{psm&f9f~|H+7n2yn;GgejJ!160cjQH2M2qQi zNDalpNJh|09LHEe>+`jhHLr|q#m4fRZh2+k~R#3FP%u=q)Qk6i%I_*p^&8lTc@9K%}A zoq7qpEGvr6H8~H7054_wwCTe)RGI9KK|GT*e z7q5NfviI{^Pe-ondBeFMQJM^i@fy{|=NEI`HK0@64(XbexJ@50cO$n3bPe(8)b zn1d2RbbRRU%l}~3PmL#T%9qy3`iz{a971H{&EGLSYRE)irjzzovmS;t1mBf5ScC4P zrw%T&kc)>U5AEaImBf51g_wg#EieFJj3HXHd33jBZr2B%Wo=jQb?2#7*t_jGE|8wx zUB)@GCP=kNqF+lPDjWpk=*|3>&xFKu9jFe#+UV4an43%ZMFRLyeySmqL6G9RvQWys zOkv^oEv{6;V9a91Oio-mC~SOJ%~Vpznjg1P*;cV_W;BDSjL~f8X9!~qqqtW-W=nkx zmZg*;Q#&k;M`pw+8Ciqo)1XPsh`~aKYgGBtg_wl`w^M*WDPH|?o{2M_alccxlXNM# z6pWM@FbCP9q%=0?_Pa^4HzoEND>%H~;?W)Y*gDjS=R6!X^|CAr zzEu6WS;UZN9?%n!xxXL?d}Oy%erc=WhaHhlGcSloxp~Q^@z?#Ixn_b6xYe};?hMy+ zUk@^Cy+J}6fQ1T-7$B{tu2MTQ#haRaDWn8*m`EOkB;ONU9dKVeji zSei=e-S;+FcRzU(_!iLdwy%P#bJE$?lZvf)z|NY5Gcd2BQ>Vre<|q;3ik&5*f*5ny zKqgC?Fa776=P>XrC%c4MZu>()xcL^IdUYBRfp08q*v5 z=uQ^&jd_w#;}nE1=-h-dv1^d>K&X8NqP|w%eDF;OLLVI;`Q)V!yUe9rht>y`Z?6X%QrtQGI5~=P8a3hdB|`3Mhj@lPKJp0yZh(FnoYltpYWCQvbq2RJxyE!&A3?BU3VJ>9a>DtzR`LH}Un@ePwc1|{L^DpL<< zfGxbTl3N7dw3!BzQNNfg^u?)-yJgpA>(b?x!S(3c#nu_2>H8n>qfrj5Pek8T60I2$VzHO4ip z6^of@>6bt$M=lkT>(lwbdpiQ-~+)6 zgVD7aAD>*+bl3{%C2#3<*eN5%0o5+so+M3xJvy#566>w} zu~vQkKZOowO4ICg4AYy?b^%JaDMh1q737~A59RgBGF7#{< zPQ2MPgU+BO7|_l`DZjVW3oS2b-V$TcY?}8)KWsFOyuS15ftDMJ#_WeeW|J6ZAq3lZ zi^bd3{RN0_S`*Ab5p1UUxVB=P;L1p@>dJ-6m(FT%G;oz!^ueEvr*|tlBO6-YW?w5( z?`f7szuR(AcS$%h^qR|*pBC!Y3>ZeG`>6poy~|;4!P6w6Yh(2Lyf>ag+|KqEta<*q zqIJtfXLq7qku5JHt@l@!=?mov%tq5xZJu_%A$e13=4~S$M{&?L9*j4ZV#DXzkWp^N zMmC2Gq#D>}5$(2Y!Jo8$1)$7GNTlHD z#Gq?ax9f>ajj5c%HMv1+wrp(-EkU^ZH6uYV}S>#kpJ z`&a%Z<^?@nDL?d@RoU>)ljY&Z&0v)u0|r!i&YW$3G#_Dan+_6|kqnlS$;Ci&MRa>$ zLZuWEmJ$x55Q`^?MftqmJUB4tyU0>$Zy(P>XpREWCxKV!3zos=Uy7gr6$iwj{7?it zFcH2P(P1d#NuppSEln)QjBbU*)&1zhAR%#EsF5O_swu3V6ti>ZwoIrOgjz+)M0Kpy zV0Gxm-Y*}YHP=c_Xcnlm0zRf*tv|Pnz(fVrKJqPzm4iMhEh_=SD7GXK5!&b>vrw}sB*NHPBw8(yXiC^d9`p#pz zfTz!z9VG6XYLt`qh-Q2-C8^oc9aXruA&f{RQtu=0Azf75%F|oiFNKX%Yi}>_!Z-W3 z!Z!jd;y#v68vK%Q3F3{iOHkR&x4BWodZHk~uk(pN|e4z8@A9w(*1~8CMhO8h%1r>?h&X=Q3!Dt^E)6+qn{NLL9@W3e*i);9=>%+ z7TfuR+0Ar%>?`m0Kl)Vau2a7c6_0CBw#$!U*WfH^oZs<18%6O>!A-Tf#V{l`tg_)sb8M4b^w1T2`u}DYz z4JLtq*`o=F3H)N&fTHT!g29}Cz6sk#CphBmH7kY9Il|t|pNx(e3SRX%FV|i{h;;%w z6ROw1>8+fs@qoOP>vE=0tLoia(=W62mWa&WXKdRp@v4<)Acnssj$o3;i?=!aGM`gd zU<**$lPxl{oEVQK;D%`i(llNO@C&G}%8=$`e2B?V_t+KybY5{SW8!apATc*HZ{H%J z3)Ex{z?c~8;9=UwnF!>m*)RKvkoJdqG)KRTozwg*gOB}{1H|60Z# zu0gKLydOUuN`#|hgT!G|h1Mr$g~FBUG3HM+gjNvfaI7+ML#3Qs1Pst0Rs`YNYZ#Mt zm{qhSd>8SMY8@$U?8%wzvoR^%5rKUk_A^G1(_m}FhYNkaRuHv|8iSrf#+TUHm5bg1 zE$-T4Uawj{5x8{WL#g~VZ59F?&aDGeOlk!PiHle$OS!#SjM}T9DLr70WpQCK6L0>a z5CaGp8uKR{LPC*8oKfW6@*$;u7BfFW?Xl{#f=zl=116|W(2-Ved zWN{30-n(B~3?do7jWyX+(_w!l)U4lcau@i%>yEm*QpAfSflC$KpTFRhZvd3x`rR&3 zi=X7`%qey&j-Fx!H9~xzuEr!C9yjXXEUk!q;eeYQ@Tjv6;VOu)`owGkGFGwxr!$UlGR2(A@sCKT;EEErX zG5;Ar9S7_yUp|Dv;(|h|H1b{W?N0^@2ea?l9@wuaF#NRZl(f%w;giwetAj1Op2s}4 z2eQCNh_7IFRQzuiAOcCRJGKwo1zc_^K<*PNMHMbt1YuvESPozip-s8Tt%lH zuo~WRu=Or;6nCMd-`ir%n8nkx=(O|gmhM%&Fh~U%82bPnfNcvAsZbHLPJ_hW| z_EGk0?`roo%E3YEzF5NRlWJo3=j0bvq23x7FJ~i)5prM=35KD;~Z_p z&|CR$jUH9_p%nwEW<2z4+89F>)2Iqs8ahe=4Rzi%&^j+bMy60L786@;pAEdd#fQ^F z^`v{9L)^kw`5!QSk_WR=JKQq38O)9?p_zqY-k*lE>ItXyqj5aZn{@6~Z8_9HuL`Mz zaW`;35RR9?Lo!64Q50SFVR7=NiLQ1lh zfP@rlJmd7scy&X|Tiy3LbN`B9z!v1Yz=NN-E-wW3BUoo26!ucgjo3EB9di)lvVIR* zrGwa4)@X3Gppq5TEtW4y1ZmhT2qh{Oi2UX3v*OzkkJw*L|OmAhlC&kI* z?cDF#HzV)2dof@IVV%C?6F~uy(hN>S0m}9HTP%xCOw}z#!{E9y0bTVPFY^SbNE?#cHB|l`ziqn2uVO7K6*O4BHX>XN}G(=n=b)v&DbsQUu9 zn%U|JuNNR)o8kzQP6GLYi#aU%KgO!3(i75td^r6+-JnunRoF47JkKERW zXYfAQ^LfRmJ^8Vu_sNb6G@N(Ovj22gC^pz`>JW$GHp3`xNgcB?sE8?>Ybsn7YFLQP;qCwoQQ=JK3IOlhiIi5>L=7T-`EzS{F~B zMR8b0as$9%8uI<_L8eHZ7oya{+q*bMo$X-5w-cm4O(9D zBU+l8eM4@612i~uI^S!FHAA*3ta`1-o$D~HgVz6K<a~D@RjAPd!kbBtLctG>j7HK9_jT;C%E)?NE6&Fmz7Gu2CesNF1Qje)KwaTkg zg-t2D0PM6U=K!wEhQ;9XN1Y+0tah-x&fIqTu}76N(SO~nAwCjzMDxPju))vj-;h+Z zFWtgI?Uo?*4QCOuKjJRiDTQ?B4eN5PVX+Abn9LuS0C@j**v zkfp)1r8(>px`eZj;E@xD{PnQca^99XON=Euw0SqTb1V!zhWg&$cD0WX3d=}#w}yaU6(hB~pMX;s zMuC(nif>}`K539cdbKom5|4~29q~WEU#di3hi}KLJ{T) zE+@bImfNwh{;pZI>%FSeSlTv=xUW;ezh7n@NV5E<5m_<8+lw?+scEf_&PsAyq|DbC z?{|wrKSnL6HDKM>uQfkJ$Ff@W|IBoC4de_SbC-_k$K-Qph-bJ>oz)%>#$=k=FCM)y zl3Qk^g0pUv1K7~Aa%9QJN0bKnLD#PDwmSOM5t$zo3qHaY@cUTowitOYR2l-0lL?YA3qdQh zAH!Jl(Oi8&PgUgp~QBA_^Y4?%5NZDg*ZPjhb+cO6AIoT0>- zguPdl;;p}3b$<(fGi0u93b>aiEhx8R}I?U7u#1h9~2k7IM29_W^!<%I12QJWs!KG!Y7$n}E>0PzJ^h#ez~M!f%5Gf63%Eeg-ee|>J zt*4C@selFEDY}pcxi5uT0jQE+(^kV(z7FNmtu+gPH<#3Bv$Qx!gSEeo-jLL#(4XA5 z2dSx(WC@Z}T_crX#RZO}K5H?uSIIr{eG_WRrxJ+0+^3<#^a&l)5 zT%hIns>i@u7unUfO-%1tfA^9<&vxLtOw!4Hd-=>u5VZV^`37k0F+A4xVe0HUJYRP9 z{#YlljBN4j`)qDnywnhM3U2SrMf38>P(%?6MD1`%;sA=XA6QgF?J3>MCdQ?7Qq2~& z1D}tP57GkUap54G7Zl?@!_$bB(2<&n^g*fSI1Rj-)FA15)ZOY$jreRxQXZB z`{=fv0P*YANz}xC4LK^{7IhgWwxTNkERY#h@e$8|U$Dq*5Po3oXUq&7@lPKE$<1eHr};(_oJ<)yALrkUZPp0=`W8=EbR5@*1+TP!Iz9fu1uNvDs#!<^urI z)XUy$b|2`cBUickdQ%}EW!Qmg>g{l(c?$wZ=e^$NNn?CyDWW`S2@A6l=zhIo zBCyb+AE&b}zgo8ReYUQP70Ko?NXpU&(^>rE zr`HATwdpc5=Qc7EUHX6UVD6Ces0X5vzH@NNs%IH*C{N+SN&|Bp!YM5Ro z5EB`zaC#t@B44QZ$8~w59n^EOUgj-BlF2NiXIOiV{mO=JO^ShI;b85FyMfHs<36Yf7)zq!;8ajA&Ht-m&P|sGEWH&xI(ghsiqR0inriRk z8alqLQul^t_o+|et#Hoban5Zb;D$00+Ew|IZ9b$YG>w;PIn-86SGTK+XvB)NmL_nwrrLRI*8PVhq%DFW+{2^3>{@OzLSAKqH&G(E~y(>fELZ$Hu*Y>{QeRK2eV%uCg zqCLYTWcVM~-3MEJa3fD~f?a{Yr%9%@e>_F5NoTDZ+ldq+-_E&;9KLb7&QU zo)Q=WORz*SbGNtZOK=3npZlP!8J-@I6t?FVHHqE1n^WJi-38*g!7EPnug#X(W@&qz z^bx*Jv*#r0eS+T+d1UJ!hUr+3F$$Ijid-Nx7ZI|IC}{?%j%wIMX^D-Fm3EBmy?7D7 zt|_v&h53B?rFo+anR0Gir%PPK<-NLQJygWRvslR3tQ%3`S3}dV0O3eve$MLd4)*fP zH5XAE!Om)jpwTAT$NJ}TKqL2eoEvV?lQ*#Sw08OO$i)9M;9BImn0O0vc}(fr`horY zjv$`_^z4;WjJ&w@(j97A?4~SIU!kziLX*awK&OKA+Q}EongR*cC8;oEbzX88Ejc1j z(LawxVNMyIY(ZVjrIgF15+l_t=#B-07v_)${(nW4e3L|xHhi!*^so%4XTpF3dtZ5a6=poHB#>se`t;yx##Z9vtex6ZvB9 z{I?`aUv^@@!{ZFz=~qkY*D2r=PV=-3Z}nK_83j7cLY#Yn39qYds;M4w`9~#|&hGjjqRp9apIu_PK`OnqE`BO(-Rr?! z-vk*uw+fovQT?j=2^(R)a`=l`WC|~EO-6aB3rRMS+*Q1a3@I(6LG2{pri}WPY|xP7 z(?u0W@3C`J&v8Y18{cRZ!-bi_@yupM(dtcoK;u%KWM&T_G#pF%)e4zTs8pq-aT#(q zgt-sUo88tH3-X=8TCmn~$k!Xy)2GTNl{G?f)3D_6V6KGpidhYS$}|9{XMV7j)}vDU zTg+*RObgZBbtiHdgr!zDSh3KXcQyoN;6;@k1@cu&MP}0LiSCyTuRYV7UnzvA&MJV4 zm2CeRXG37h3k&{)sc~pUD3SfdH?H1tR#+>{H}QJmX~gBVKY+sj4~2;zOgIiK38B7U z%wHr8Ls=7}+k1jpPbs>UBiI1z|0C+JqUu_ku5AJDUB$sWDV_AU7iXFCg5_-rj(K=pUdSdGC>jZPH_W#(fAljj#-+LVTeF0|bJ- zqHm(Euw-4823?)CV=(za(;tn-CNDX2FNCF23d-3#M2~y=D{VbtR zSc>e88^s`qAs;3aP{IoWP1&1w38X?7@Jl~P~Z{|m@qyZ?^n#2 z^%IdF%UHW6h-tF z7(DUt#~3ytA8GF(kBmdhFK-nu5;Y*dbK?@$y$@Es{@Bu+Q+Gq#_D2P%sTr5=XX9S5=%$e;G_a;Aw zRGNeh+)1U>hZs}t%WHS`-6X*=H^U##)Ml(7Db1+W6J7CJR<CfZ;6M-3_k#-~!0dAfL zgG%xGho(;njmOZZB_HTZ)eD~9 z)HOOzpN?3x*HoIDtXes1mg1{xlUvSD97Sol6)3;1bsuo{YsO6y>ZPUS(d%5pcrO6q zFr`%6*|Me?>Er|nilym3+Scc^Ogw)ds#`vFP1|V5*Ih(Nc1jxiA7fTfKbTAu&o`2h z2nygQ`BLt!+z!5Wk0p_@) z`r4=*kL&yX_!2~TXp-0+v$G=0_jpTwby(>i9f%m3Vn#`wRTVQ-U=F&$c$S8(FPPNq zcOhk1z(O{1c5w)0z@W#St*cTeC&7Sxh)ozrmX{8)$4&_3Qn%33NhF9o9|&uq0%vmf zZ#i5GG!2g03*_Z;m`F!*+`xZhX}~OTC0oi3d(5eDs=9JCLS3YR{>~wVKZK4t(Kxg~ zsMt@*&vTQy>N{G#rm$rY9`BbkBAz{J2{^yk_Bn)gT#9H?{`)Is??A~U?|1oe+I2cF z%^?3PFnBe}siTv+&$B6%w;xYrq(Gkj!^jw-^jR7|JHMUC{Dcb`%o+ut#Xza28?O8Q z1HWmGlX;noEf{FyxDQn0m$;XO!=KYI{sSDpu|B@|8GWrhldSW@;EIU5#I$82?p}$T z`vc!nWsG_1h#U&fe@l!0s(~{ z&Gqk7tZ*Y2!)P9t=pP$f{D4hopz{k(lZQJQeV8dzh05V^nimac0E)<<@$GVto1{Ra zE4CM20gBRYBD48&n}mv%;47f}&SmscNJteEJM3wlLO;1F$Z+9w+5KJH)oq@}JtoCW z0?*Alqy$!F52&MQme=VS0aB@?1>E!Oe*|_+u z5}iX>?w*cS-*W%a%3QVHu!k-=zheUa-mD<}>0%_y+Z#tsF2s@+0^T&Zu560g{Q+{9 zVnitAnkminOHT5o{lNBNyUv!O6M-@_>=V@d(O(ab$$JATJgFb|*rCL%qe`iF342wB z=1K5gq7SK?+@x6X#kN4;TZp*F-AlM7XPhjmOb?* zS)a|$zE?8xbh5S&se(zE91^|^sUlfZ-56+vl0seN(q!WBl>)-}k$<{G&Z4a-V>Z^v z(CPcxLDNaEStC$$Y{-p0lhDMOA%@)5EDaaFbA{jiU(KQFz!GAW;7f*YyrG9DmFk=c zAF|^vT)@H0r5E#?$-i&yf>&d;8oHz(YufcP7 zM4IBB7UIe+-Qa-$spIQOh8HF?fpOEXi$6LUt&D&0S|Y`cfIt-#TN(*^P|mpSXCU$= zZFl>ZbGMKxw%Hv}F9_N;tuL;^`wOBuWKRU}-FQ{#;3}>-f-YxzfF`QWPJL&wOIDZ` zr^7?8R(C?JuRz^jJcrAjUBU`RaYpoHIn13FEtN1T?E;?M1Kc+S(j@~YW>{MS-olN zQy_Kp=G0MLRlFb|hZ1GfR)pRU0Kn~TGzeQ1H^c5}O`&9*z2rU1 zBg6sKXoK{Iz(3K1Tf2Lnj-WI`$mkr+E9uC)8U0$+m@7=vNg@^U;eXUN6uJL^7%okf zA}n%#cAj}OIZ}=>u$RsDc5)#Qg>~U|5)RZA)JM9VM}iKd-j%-k?Q4<Mz3P z5GF*8o3h)o@nvfQByM5j);wkJ0UFmHaD`JwNoEjPY}P_>*K`~lu{hjM$BNsNcGs6X zJi%ofut*gu7$-H5bxWJGZxOat&I!w3zkjt%)2+YbkgbSBR>#4RN5JD(^h+F=r61JU zYWZIE+b)SVma5r=-Bj{GOzfA{qD_66BeEmXNdTVM9>2L{v|KRBK`jOS#)-vSL+2Q} zjzd7_XLKMH&&T?WlH~c7eoMG~XkiZMH>J>}#=#)t5h!WyP+}>I_owyGCe#^)_WBq8 zwi|Zp>VFbHa!2=YNk3G7{`P4}$#q2IIfTg^EKL#6wsYT@B`pcz7_rZ@8f?09_6T|icW8)dbSHb7O2t|m%xGlPX7O})mhqi|a zdPee`VLi#{HxE2Z(ObjlaAttTO)LZI+#^$u+6pnf6f~h#JiG?6d36aR?7ifp;Uq*! z4RPgnr*kFYs*{#z8!Ks873-Hoyvx7c7NjJ*v|~B^MPiBndK4eTU}Ga$6pV7=%U)Rs z2uM+pep!eW9X4Ee6pvpVl7Gfv&V2oUS`Qxh;9|CyFWpf8mAv5?SlMh4tn$XP|Fc-q z{vJrh9~4G5bhu(<5ezUX{FMwk9Lfq($PV2@p-6XuQ->k!G7CQLK80x3@J8~ogMhk z<x;9N~S;@(=y$yvKoYAEs|F)<@rz9faTzqn{4fh0eQ)M~x#1B_M- zaubN7uW-MVAyR^ot1K;xLTr6%n``H+v+umEp-Wn=Pn~^gkJDFi=T4`1Y+_2Iw16>i zQ*WHbr{ra%y87;uhRxczLsivzAIsLF)A=`UEjfpa^6GWO?@lYg8O|u|GRQi?0;F*$ zn)>Vl!w5S;VrC&UvWzd`ma)ueAAu^wEX$As5A8b-l}uU?EjSI0A1|rGR=72$6p~hF z8Y?%LPEQoV0Db1W{zqz^RToldVW!w${aPIoHUv#>m}74GR{tLhAcmaL>W4mbfiQ9x zC@txG!9+SV{``x3Nal2FHc>H68vfdWEL1-%_HVUcl8m;og|wM_N9g=q8NYuO&m(gI z@>|>M9dDw7^VfcMsAoMG*JyP&&A?z6Upd42fPcfUn{RfFzb-d(w?pzT6Z2r>4jnk$m$(@0nF+BS0?kbhxgwO7D||Axb^ z3-G$?%)wOlYYa^@f|PR`!(nX!W?=tI!L`v+9KfFPI#`6h#f^QO;OO$kwmho3>Rdy^ z)eniO_UU{w8Z_hP^d1b}j>lZ!-j%n(kKNmlRt*hcEXg=-UwLe#XSbDFlpPs)0^~g$tR_E+lMJso~ za|?dOYjchbQvKbN`Q1v?dE^6tB}+k;M>`h40PjQ-CbiE<{$_qlaNdxm&P>-c z&p*EqKmKbW4n7zGo(PLEH1*FwW6r28i`6FcxBt>{Tn@ha`TsOvq`&ZW%sNBLDBF<^ z{OC22-kXF&Xj#M*>Ol5G2?A<4N^T2zWRF}!F#VFx=l!3AwRg_9czVyey65nBwhm3} z&lB;m3)a=GwZ?UKd)7XGOhd|;TXIPAmOrFrb=6_j_+F^hyj6@HMKhT_kdgU21<_Lr zlZSTUa)!vz&#n&CfjgoxX9-{l{CuhELvSGyHkylXc+@%;vDJPi6mP(Qrw8ab{) zpWzk`903*G2k8!Q95bGe5dn&d#t5FZ53P|9ya}rB7IT_c#FiU}B0c|kH`i7!Ufd5e zpWb-C0z&>!sGLtQp(ouW!zuRNq*|QN+Y1|i2KuK zP>M!F0yR;Z&-A^`1k&c2hHip%RBak@R4G6;C`kbkerRmKjdMXXI34i)7XOHO9#v?< zOVqAM^lA)FL`>&ZcE)@&&i#bBNRt<=Y-eQTs?JM8ky2osr6t9RXI396e4b4yEGa}m z;Q2#`1Xc%?fJH9sJA_hE)O1k#r{zrxtQ^UT@2F05S72YaIX+l5?|=&-*TD=*-^Kyk zq+S!?HcP}>iaZ$P#5PFZ#8Mb5XTc*_qXAJ`&DeL_Z(RRC;ktQ=qDG!as0Tg&rjo7& zVm*V94kwi5c}x^HI5jooRfe`|^4=(oJZKCq@|@9#wrv{g`JxAFn*P@F0XHh^bCg=q zZ%0qT@t4aScO?**aqQ7x=CRNW1XXHQEXy$lE7;HF@#|Cr38*p1-FV&b_0k!yyk-V8 z8=AN;=6~)Zw(pV8mRtsrSzPQ4OePOpS>^BYZQ0f-7_q|q(5B_9*%z4E7$*Medm-QN z2T>^6kn>r3L%oadZ$?N4;kNrq5Fel;gZI0 zzjw$ z7}GTDQ;m6Hn+FaEWc`NdNV0`jPcU@r`I!YRBRAs{n#^PMw(mAZ6ja^^k}pvr1bjvE zN)3?M@6odSej}k8DTstFDmIz|wp>zI_C$Av zBX|7hzsau%sK~g~f$-MCt2G1)Mhe28yMD`jjx-Afs7+D#y?cgReOJ?rzBH=UmR_MN z_Lg6A(J_l8q-^7!K2oy(3wN6G|MG2&8@?Jl2EIypcdz&yx&cQu8dM#tMyfTVkGlU7O(oP~RZ#tMiMFtXP5lyV=1j3ki)gkR zs+>e@?2cz!{5?0~KA1D{;^D?%qUWqSww@Kh$H&t}y*&^t$0kKjf9Q3sw8DTE4m>tz zc~KWnwzcY`w%7KCl1ie@-J&1B^aP8a6vMQ=hDga1fniho4>nLS!+eZbcHo~{=pUtb zBQLcFI7vT$G6c)m2iVo9{7J-$H?Bzc-Tg$BT_s}+97#{Bkj<;(uC?&6#@BC#Rlj$m zx3smLzb87*pMN`VHEivd|BYM)S*K&j58wvG^>-_js-EGluIqoiO=n6Mx7}-Um(Mdy zljU;cJdXI+HXB7EL%+}_OjIZxe5rt?f&3^_oC1L72%<7*s^VnuNHO#3BvGN&A@P2H zEA9EhtV-ZV9Y<*WfTpZMP7^28cY|L~EMYr`p$7p45cZHEYc1bJj-?R+FiN6BIif}M z@zbv7Sa3tc0fWDBTgj=Fv}N6&t7fo7K2z`U7Ns`q0bZ?1Y4Ds5zTO|HHh3^J3SY;` zYO^ts+fHnWhx6%@F*46X*3oVk9Fc2>6|~du-zx(8bf?S~sm}V4I)$u5Lb;if1uu`fbAA@yoCl2mXglj6h)TmZ~V1jF4R+7p)A$gG5bse?7)kSF}Wp2xk4y zD{vrEsERjWTpI?%bxHF`vn->B?Etv$FH^w~?f{~l3{ywrgrJUJ=ym=EOru0u`GO3= zh^W(u@+xE&dARRR+m@iU#g}7&>qPhSeA8L%<#+etANTnup0qm9bj(nZT#C|0TjYx} zC7yBgwo|C^EYoy*F#0U>BnxQv=F=%fo)nbMY}= zQh}by-DRm(|D}D}S6v5z{C&PHP@NqRQDv6@T-dQmZ~S|HTAOy+FV6S#UP<6?S1y&uMjG&A&8W7~qz(#MRzBp`1CFYcvds1n9EN zxS1^@%U~@NIx)t+uV5^U`v!`E3qQn1tXX$ybxVKwnQqe7vi*!VcSE#^U*rcaEOUBf z=`_Cnw8Ck){auRntBGGF%=vW{pHTEtE$K!P906ZEV2qxviYJe1Hy7C=9eW+& zyxyHG8rnQg(eEL0dQMtdTZdlq9v$S4Y!lt9gC5ShNB2xTpG_XBt%=+o&_MmCE{51jDa}vX*PDe?Cd*ju?=<7v<%q~*mSmQplM6bj zj(V!@{z}zNv!yBBSaA!sW+;>sIIbQSK^7cnxuY*nRrgpPZ}0ZlJ7Pplp2+zYUuN!c zf7}i%`8h*?k*huMzvnl4JHCG*)r{^gjk>G|nuLY?#*s<;*GP(n;jjE)3?1+aJOH$? zFqy>jV|Z_Ah+VSJhT>&hrO<_9Tea za*n-+W3?WHmvHf_}O*k{taf3T- z8mx9MWJU>+8#5?dxDBNrH~FzRbHuS9pdo55cQ$>WNfw>X~%bl&}oJ`_n1t>r3AaeyT(@ z#9fAJMFjd$cmdx0mta#qBz;C#Me}p)i&^S`lvt{*jp5%Xc)(H#Kk5Mike`MqrJhqc zicGB;UmmlDtB^M=A}FZXG=`dniE>l{*JtL5EujZiJ(c;&3`+@U;gFhEchiwK0d_jS z8}GzMs`+3Z19d98%;jg-!85Y>B%G}(V86gs7hmoiT5~j$X}V|rqV4-D0$tsxb^VHo zfZOUVO#0sg{a|8~F@b%nYQe!eX5GeTo9ocxGG_PtGuf*4FZbjzZwqXM*;x^EGq|H_ zQ;0*zaYHhU+GLB5J(nh*ZHg?_HE8=iSqN@9FX9HXWhJ{E8L&nnU5O>l(eN zSzkR{nu}FVyyxC*205r3Z1!EA_j9B8yI%SP+ieWaWy>GEN4|Tze29Ysg8yMu*K*mj zF-2x}@@rhI8u<2C0z;Bk%4oR?d)7-Ie0Gd8uo{#x!yoQ<^1+{>p4{jm*$6)zh~TjJ zu7`1vR5M?uEQlbhuNePlXi2Wg?#B$JCQI_6>Qvb)m@z16zd~PH+zRTDO(h2atoFy$>`uSrdZ){E&6 zeuD|ZP$%My`oosaG|p!)rLPOhj5j4(?j|sLhcD!^EeKKUnB|<>dK=H-9&hxf*{?KL;OKO>&7V= zG8`fKSb}I&C_}3Sm|Fdf+TN25jRf$74F zvGLznN{Uil?r2F$qRhEN4s9=Hw11Kee>y3{A+Qu<2UVe;=k`W<)IOR&%6fm3-+crt zN!y&r?aHK*zL@%w7$=!bUiRasV+s9bV*yV$F{D>~$i07xq z+xBBE*#{o@c764w;%VbBM?YX48u$INnlrAp9F_>l*MYWrr!TBoWq?zyMM_f{UARkCumVNI{JSqNS)`F!uc`&(LrZ1bSD?bfed9F)`7%bV1R zztTB$uD15a^<_ebH!p8`uSv>OkjEd4_;3AikZu-fp>@K@yB(QaY3LFZO#OhV_CWh& zE?UzVs#UY^3F@vs_tggI85(0l7%JatQPT>9*Xm=fl94K`)DSjhaI|5E9R>Hlss9^V zaLD*{MptZ^PkG%4Hj`rMHQc0(mqS>d{#esm3#sbxxzHfptIvFIVVfx4YCBe(h#5!M z)xMS&_HMs0H=4zi|B$Z4Rl&ycTn9AROUxe4_aebE*M<=DmORrZ3;QSL6WvV872eg} zh^foAvm7?Tax&~f`ftlWKWU@3ueQ!zRGDG&rksI8P3>iyv)AV^HQawHI1^5gE86ec zh%-Yr@bxYyJEWhwvlbzS_c(yIf((J2xRkhE-h@PzHrE>2XZ|Si$RxJSK8I)s9tO#v z?f(?{MWO4UI_d+>&1Qf7?*G4;6=z`|M$g-GxpEl?xM!j&;}9(ysixmTEGXepTckdH zK{b{mN!oIQ37HR8T#FSmqUQSzPC<u6$&V!-=tYCp90}e_;s*ghTQ{A5eBL3NgJ~pFIjWP zQr?ey*tBQ=4Y!(SbaeMOb{;r#zTlgEDFHFi^5%b`Sbqqs{%$9Yb7n!4`&F8_nuS}< zl{bOly>aV|ToXO1u@92NH>^_1CnG8xhRKRXbSJS3baJBPW*A4ckp=-1L@S#wp~Qys zBQFU*sVXIDltEJp<|r9fec5qo9hjzXu}D)pMJ~~fFOIhqKwuxxU^R(hn> z!NIXwiqbx`>auEG)&zhly2~)vCHn%!PpVZLw|#eYi_Zh(zembmoxiUeHQi^pkM0t; z6BxT=9f?D<_4zZv6=hA7c_q?Xw7)RPRQE=_>}S8}B|FU3*?$?Wptord8wJU*hq^o?eEbnQF)#|WI~ z{QQs?4TN$1Tsh?SHS(x`VV!o~gXK=J!28fpmFgTVvpSGGjkHICA$0iXHUwI}&1V0{ z=^gYbCPEwpJ+?W7Dd~;R4z`0U*$MyT2xR3BA!Fj_aYD3GIeeMOUX%jaQ^cnh!#&ZmTY*avTg z-f2435%VX9cmgj*Ph9!ZsAMVumib(o?wE#{DrPIZw9=cnC{Xm_4L(&${!MfSr1g2z zH3%;3=$|MHVdF9Sb~Lul-41SjdYIfzstj4qe;eNXzR zT>m|`WkTV*5VG{1FVo%&=+D%X4zpJ?cSfXk-IGYcsDe9V>O)IHqOgck>yU;#m`jJcGs5e%yVrA&O5n{ zz{hXUA>C*A6nFldn&CryYuSFCvNuW1X8{3ZCu<%1x#QLiD;ogn3ZpCdXidcc6)80l zf+slUzhfMQl0oxDl&c4QjGPWqwBtWblM) z&!|eop@F^uTZZ6B9vr~9ff4IJt&t&k*Lhm0?F#g3xpe3sf`ndcG; z_=~O>p#pVNvM;<0sF%0v*f?x=+l=k6;x#WV5&r?SX|*&i~g?tTlcZ6_(HyK9e~3As?9yag#s|& zHA|Olyc39Jn1#(|<&eu?{MzlonGc!lGVvHvIIk<*I`y-Pn^Sw;f$YOuxJ1^qa4+x= zF&bu&f6ffCk9>4^x+b(3b#h`woosVnlg$&SYTViWk=kCac7vTCAFea{1Z0=TTa09u ztWO^3gv@+q;SuVrE*ysSLhlRc2LGG?9UeMiSp>xV$g)GuUqH- z1CO$a$lA|F$9jYPDn>)j8HneMdav5X{kwFQe%d`LbAlx9xvYK&7WP4r!`7EmJiSvy zn=*vDM~2A-hn-ZtQ}f-}Xn}}IXu7t~7jX$@0gCO%PK+Gu4@3K(I)nka_ut!?-(;%+ zJWNuyR4X`SG6pk~gq)899Cg2_ZcDqd^$BzqivzJ?;jh(B%18pb|!7UK{O?(mNAj}M@_Gb?6LoT*rISS>L zc>j@^RamN2iN|=)r!m4&>mM$hzxR<_9vQj*KNjFy@&6UBRG+zAg~gYJ!A>7afn@}@ zCDL}E56}lXNP7?NLO~%6(Qiv(pzl#A_qfvF0s_IGd<{zW89bGn4yVURZsUW>>vwG8 zPaMta)oo&#u?ArI7yH0&Q&b%9Y}S!)bHQH{F(f*~1R+P0wp4%%Oo`%~#O@=)!FYQ8 z>k3`cJq92&hxxN5innd=T%{G6GM+vRwGc`(uxY&D_$>lto!g91bOF@jC(?%BJ-xh; zZKn-mgVySuT6Sh1=fuU%0BlZCj2UF7Y?5`B{4@ zE=_^$F+pPfL87|UPJ4LoP_abNfE?L?)}KXY974In2cjp>D?j;AbqWnHm7j!pL-cVPm|_(y1@8H6a67^Dg_X{gOj5jua$^>#P*;b@!3Py3@AV^wWH-zal9 zG@nYDk3(n5IJ8XB5?y{BSQj&>pY7-LrpDh*V7K9maU$=1G`+XSxb|sj#dF67G!{Re zqLXK3n}YH_9GLY6%D6u{JCh`Ty~yC-+X`oZbh3s%a~t<~+WFA_eAYVu)A?{W>#dEx zqy5izcpBZ(NQy=lt1-vU=$icjleR@AKzhQW_7=JuC(Pdny+_ij_zebT$~2 z*isXV|Gf`dwp1a1^n}+*axRIV7Y_%AhKaSPIBwt{6qpFLV5{aoy&^fv`-`DiasPW9 z>EX&b1@_VCfrp8!q>49ULwpFewG<1fw>Drq;N~z{r~dE4*Di{c?opKZ9mPq zt26%sl)gnnk6Ug_n9SI0_T}Xsw#B>Lm!UC|U!swRRZ$}!CZphf2W%jHj{EW@7Zp41 zbO{3SL!3PUu6ryW#sR50X>UwWM1h`PXF4G5CQ7dilel=2I?NiI5!fJJ04$MqM##=>nU8@lBT4I#+gvC}f z^m!aQb!F~j4)^bGgwT)0Ggwu`Z-i-(DB?43k|>B)&L0gCjwoTdv&r8Kwdy) zti`S{bNFQ=9-BlQ@4!z3Nb7}P3_#^}iUYaWH&@nK+YW67oIHDNi8TfmCOzjYzY*${ zW;&;zv?Uc<);aZ`v;*GGS!f*6Z>{)d(+^G%{g$^kzd$r--g7azWn>%)HvSi_AI-4) zSv}-~&YQbb+?c=)bh|MY@6Yv`6CivNno)b#K=NRQpc!cN?vq}1EafbOIYpISS`{#q z%l#KY#WCc-6JuhC}l>l=%d7SZ)*Y>H_NO z0p0@%ksZA6aa&DYk3rF8R5ln3VAo`YrqHT0{wu;}gxU#}F{_Cuo zs=wWC8fPRjvklGoz2!R7253ob_|nz+VjJs;e;nk8yh1y=(@tVW5sJB77aapO{^UTk;_i&x0ju#XQYOY;4uMOo>RJ0W=gI#Lwn z6luSiB+1!X_&xnrt&l1*mQ16_6p#)Dls>U>VrJz|v4`a(WBxebh)#1O| z=kD`}rKAH$r-JjihKnQU!$O~Ahmy}1#_8{hA|rOm7Q(V#gDZyL(EdeqdTWib;G2bG zQk-xti=ccQFBUTIp1;@ zSM1iG^VHlJyi8cG)_-)qw`Tr)yPNAi?JTb8Ub-`<>>~ZS8rteTMJbZytt}UM{zHj& z{qoi4vYm_SAXn|kal{9e&l6Sxd)q-@W1Ea5;?^9{kT>@Qy4Gx@X6mOM76+#(l zG`~mfJq={;{PDNPlB-kP6|X?3YpDDjDq&$gSDCAeL4v2J{5SU4=MMlI)6JWxei5wN zWd(Bw@{YZv+7BiG_3)C+95fO12aN#5ZMd5SMDJ|B)NU%DDF(Xb+V6%D1$J zK%JqNVRwZ=b*1L<@)0!7e-C4i%)NtpU1Q2;?eLOXT+ZyW;srPKwzv;ACSq@jt*Lb> zZ@dt}$-cSgCvEJ{WN^L;VKp(in4lG}l;=wi?Z|vf_OXy$9m-ntYi|d!Jfy>tF3m z8j08LkAXJsqARjxbwa90yL*;C&g_on838}9Opm0Db1m|1p7f^xznNJ9^?UB^;oGui zKKG37d3xJdx?QyK&zc{g^%IzQoq7s#=x?q=V&lYO$nnmBJltuF9Q9sj&ewtXHtd`_w;w>e!DXDwTFKXDVCzCi?BFfQe+b&vs572s>RmD_ z9+DS2tSScu)2^Qh+&AcccV{sa3Jl*%XXv;=v}A}0RP!ljmqQ61Bve>Tl7gB4^|mQ2 zv4Y43MaB#N=OV~woW-}CA%^d88u2Ui80k)~^~Nse(m>IW#^54TwiYv3!S$0INQi2C zM<7QIGjxZdg$H2~gIe;2Q5AF13d|?-B)iwCW$=^1O0ohthm7JZlfL=L<4Z7q?V`yE zg~QO)FHqeyVKjS`Q3wT+k40PLc?d4=D&v^s7aR24CdbeAcm7%~XOe5Dbw7MTJpo88?&C*Pt%ZbrxmWwZ8ChJ0baazC`;`s?2q>btrQBelFE$6%0DTL)V1%9rb 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

dF&I1vA8M^_b)$O2GMK6}=4CE2HUGh3_r{ zS`DfU2EDj38;|^_agWc`pE^uP*4O(KZ=%zn6{18=Rxt-L(;iXPAZ0R0w}6r}XwEO0 zb_kv-0y=2ieK3~@6{_YX|GZsvrw(;Uu!D^3pqchvaXkE1!??+LrcprEPNfvz#Q6Wz z+w-yl4vJNXUQ?*mkMP7+H&KAg_HUwYb~PU|lAT(+%c+xwggj|b81vcu3I>CCr}al4 zQL+B>$>o1!VIrbykI9Np4Bjt;!RXq!_sWADy&XyrhS(Ck5g_nXZ8z5`9t_gP;W=4A z5)KIy_%_*iLgglTUlI9;D2|MCUkmH1PJ@!(D!8n1(Ey>hy$0%U%qf5iXoU5-Ab)8zOO4%-Dv3_wMCof%|{poqk%Wb8-=pV!X*0fSN|j zl&xUa2IbiBj!tmr=)oGI@_qR_e|V|KIaPr7cIUf}2y-dYY+E*seOibUt#fWNDRVA` zYi+owxs)2~yK(**_*R}k)?Rd8or;nu))B9;@Zy)KqbN6H zuYf%%SPWPzEd1|1eE8_%x3hh0g@a4%Sw6m^QASt{Ej@hVo_Dxd0}%FxW8O2Z-%Wy32sCupcWE9?s6FF32ff=Y;1+}*C8NwIh zW~w|%XrBo-3hDG4ST15Fk#Ak6POx9-rb8whk#x^_hX~He1AP=6B0@FeH96^9q;a~n ziBAd{F@4?>!k_8vKrSDpbpwS9^-lJlLasy%2s4D4r{-Vwu zXKkNPv+Iw6e@nja=ct;1BWUdpeC3aNY7&oAiin?sT7*0GY?jc0as)=>1_@ zhp=+~zGe1vd}AAUf*RQ7wIK?>I2|81r=?J%?S@L2`4bu1xZrHcg43AORCMAV|BhoV zBiTxxe+r<`i@NFKKLt=iB=>z5pvHwn0#%GnUEP!iRNpi>xS_b6m{{ec`S7>c#3k0| z!Z*VlwF8Hl{aH5J@($o=u-h_V)&svB&T#-(@p$3wMY5m3a|70M)s0=-W$Gx28BVx! zPKD*Ec?CfTJXi+7?p>4@0wYvY;Lv$$U4WP|qrNDTfP;_waS!sVt{8W-?*7X%qce`W zU)nHMC<*5d?W%3s<8G{o=Ny?nz6Vb_b2@zv%&zF59AN5y?VE;{5&8pROnF%i0e zl<=rBVPqjS_R*iTYZQc79k5d2--P;)D;sCL=*^9NFKCVs;|o zf%@e>yA7Qr@U{oEoBnBcZPcpY<75+D>*E%Cq&|BzmL6kkT3ARy_-|WNcGkeu>dWA@ zX9#C(n{ccRXG!%wAV?zgBS_L{8+R;fU&ToKFIe8y)m2R0l%M{XwT8p_*|m$(W)*+j z{L`+&=d-4Zo|Yb03)4!25|H9}6*d~6X1nadik|=KmP9K?_(`0;rOyfA<{K_LER@(d zfspp=>Xn`@8b}pOTl!0%>(4e~9(J}r*SsHVEa}T`0aB%dW)2Qjy)XYzr8^*3V&*LZ z4@DCGsZFZHd#%d*X=4-6kG9qgU!k>q1E>UKQH72(<8dDde=VIyYpJj)$fL!K$pi*o zAC0;cXWzOtqb9nki#>qyyBYFPNn_H*7aH*9qJ+>~H34XF+G11f}>95~N+@jM-Tkb12)JMCj zqD+6UY40L|N+V-|b(xRg)A#kjxt+cP-#EN~&qC~fp9P-F++7MmEbG)y3@VrO6pLb- z_aR22_~^Jc0Wbee7X)JRi4K%FATOppCTa$>atx_+}cbtv9u0V^V%}_VfZiy#{ScWzi~i%Q2*VFYvQCtZ#(hl*C~(v zCVv+!3}<)ylpt|ue)U0&A4oH9yFarz`>^AWQ1tn+rr%z}Z{Sb0rw>lF2e6)4R@)*> zoNWLo;#tT_hn0k;z?Z6_)@E*^y|x;AaFjX21b|+?ehBuFLL20%-L#cOOP)pO@x21A zkzjTOy~5a3kNZvOa~QQ-(&K=N%$1l_qtWD2j1~I0T7aLWc`XSk62sYImeZ2f7P7wq zULEW3zS-6IiY{<22UiIKV+}wR-R{cd>MM-}+2)L8>MjLo?M#?f$*XO=wJ_Cya{VW5?jBk$EAf*IPNuo@3pO{pTDvAJ0qy ziHhj#Fc{1g17n*O<)I*oL7T7onxNLmz< z;z>VHG*f7Vr{$(||H*cv7D!3mmbl=8hH^bOAoM#{Q<8)bfY073leqBz2S%s1rkQs^ z)qg*Z*ga;V!{Q^~n)lN9q{j(SVlL?Uj2%gcqLf+>m89|*!GnVw{9k|#gn!xGk`48T z=spm)b7){a5HJyE# zYEQKAGVRW-BO{C*sD%C_SD@8r31w=)nnJIF8#;CrF{sje08at)7mtA0NZ_vku;aB4 zWDFvj=0EOresA|8CBJEV(cnPjQs@QBSx8~ea`J7@3;1Eljl2hKpES?x==%N+BpQAHaG_A+nBM^3RJCy z9VzfzmC)I@z-NiQQL&f`)y^jag-r6};pPal1iS@=Vc!Gbn8i%)k_bCs!(=6aZ|owCbU%! z2#8iz|7R*gEAst^Sopm)b*z2-WJcsrtE?Si9k(S-Q$gVyv0vNkx{>2|o;V1DW_4~Ri)NO)aOLtN8Q;D$$CnD;{!SpF z%p~!Ci!|PH&}tl+ATU1CNq{RtZ3nlNg+9WcPsEVx;0^uer|c5uOw`@dxUMWpez2h4 zJttXaDdE<*n4uS3*{W+M^xpV1u)a}kTXPAx{2X60P-IsZV|^A&j(%C;FM#yxCjQx< zHb<{>plSSn*WK(-rh!6?b4mD*Y24$3ru3=Lf(#P1f|Um_6E5W07j-MRlXt>y{tlv2 z2|P-9y7BudM);m@+Gx(^OwrFjlu!V7(-S_+A7?pX`tMz!^rKHONs@vA0qZ35JF7#s zHe^QU)l_+PY@`m>+@R0372sTr-e*0hH=U3(;cM(hTrsdYX@d#6`tJt|5BKqMD^@%p zj2xMYgqUA*pFR;W7Vq6 zmRmY>`&0s(chc#Be9M50%%$jDv(e<*A46=}Jxy+!a3_^YZG@RR5ERD;Vu2hZpreI{ zc6554jXoeB-~g}TW_Wp=c{QK;o^^ebdGWxPbaj_`bwTeCtl;E%=NZg&L727mTC8b#ZBVkKXen6t7WONM_b6~if-uUp#buc zVDYfZT)~+a2zH}=m&gma#17WA%LynZW<)_+kN(EzAIGTzy?D9oPd-INv?6@s5^D63Rvs>t{1N$ zvB2F&efvi^s?Mkd=vkwD%!{RIx?aT#O@39x5Ad{-f-`;5>iPQC)i#U<`phRZnGOC-FU2kHAuhaZhGy}RH1{iK$9O4x5O{43E*x(&{Nge0tw;lUseFHBi zl?I9*Q(NO!$IdB0f2nsaW5cDKF)FbNk(MSF`jnD06d8$8g3#W$U(|u6pWBR`?mobzrmm9pCfBoBkeux9lB|VWtAJ*n0*3uNdehcOO%IBcvO`T zhKO*V?EPEN6+$$V#g2>1@9MO@@~3PF<|*HB2suKjw5I zWxEpOsH00Laf)E#B6eqw&aUSe#K+(5+?vNCmRL5gz9rVd?k0EB@2y`if3GLV-(M7c zKyttBY?=G5wYpA1guY>*oBUc2$ys(*eFrCu?bK2Xr+unMOPTHYe2_sg_mFZ&`W} z6eov#Q00F?M;K3Um_JtL`iubB{a_0e_SGp4f$_bhPP5@GAQfw+Hi2`!bHDJvXY>#3 zbU(f3;asZIIKCu?s6tl1Rx7vIz&=8^g17j`i8=)@t)zP@EGaURxJ^sNpt=p`XbFn$ z5vh15Cg0@7&QPzS9$+{zuey7}HQ}`V0u7nS+Hq094>rN7cw#{B5n6pi^<+0ig-XdtDmdE6sN_Ao;|txlQbV zkPgZ%@^SFedvtRms(l<7;$wV-UJZP!1z$G$LO@*<&u3&ZjAi^bFXwacdRA4}pVPW? zO6UZ9e3ixLXXSbXBG%i-AL3vfBX8Dzn5ME$(s*%b@!vR^EyeTIZ}mwMKXstJ z8{ufS{{M?lTFtvY&3`|^-kKuNp(K2PK9r;# zG(LdZMDX7YBerV@AY3F zHEE93*yR_cW|%wkVlEj`pGT7Fws?SA+o&3Jljev3`mP3nJ^{?tbv zy+K00^2z@ub#(WF#E`NKtG1}M-Ht(Y>l3czg!jU%ttJPzmA+aq{aZiHHC&aWwIe7` z=#jVW?IH^xr%u0WSf4SU`?R(p7;2m4$8WODm_uP4ePg_d_ZU_2A_+eqFD2wI>It`h zs_t~~q1hh2&Vmkly^?6V5%-`9DMxp_i)#j00e1w}vVQ4bFnKJcOEAAh$FjZ&=IKP` zx$0Sd=XaIiG z@LXYBwb!1_%LqZYuE}FxESq&-iUQ`-yXG*|i}SzFv@r&z@>6=T!wzWzVBALD%<|pm zc!UoZm`I~6JLsElVmbW%<>!W$u=bCJ-fyOq`oeqL=4qjr z{%!_@w$>m!JPIGd!djkTtW^!AL>p=EgD6( zbt2I|skU_oGDc!lsU{C4IgPT*GlgLO0RJSAE+ zDL!dK7O~KZ6iN9)7BM>Ii~vv6D`g*)J=R6e+0V5OcCMvqt0R2@yhzH?Ad}M$*8dIcBzXc5y=z4R{)>zh4`wvwa#mnIK<=D;MN{|7A}*18$jC6%8+%I z*Qu@hZq%3vc|;B_*qNI{)jrp~^drJg!ZUnEN!H9U572(E<-dwJT`2XMs>A%EXDU|3 zmZ`BohvhVl*WN^nRW~|pynpa@54(R1YncLI#b^mu!v8K^Si{WFBQQBRje8>$W6dyi zWVL#5AQkw06R^u$vXE*C>UjK2Fz`zPn|`kSWIb~C_D>$%Jckrt;4>yn)MHI=Ahf2w zn@-VEcyA}f$HQO{Ro+uO42f+o*#8bKK9bkY_`b}ny27Q8B`w2H43u~F&AU85_`J@L zy5=KFZOb3GR02!Jexq0@DZJVy>&pECMB+Q4=*PRuosO_1ysk7~Ew;?p7c-onI~7s6 z`aC;(zl&S(&z)79OSpYWZ~H{&8+28?W%4+sIbX->W*E8?aC+^$QPTaQ6lP#t@Ul0m z70`oyUw!>f@cHk;)Q}qqIj+UzSb?fo1Meq2XVb@*WUok>b0tO}A>nt4=aCI1bn@5n zZ^TpvL8%5Fbk7%X*Wtq>=U!m}fv@(@SAI$%T9&;(r>myJr)#09J!1nNW6W#D&GPbk z2$nZ(k92|=V`sXKpMTnDV>Qh6MlwCzgK*<5b$#PT*wX6uc+#Ao@E-_j1pI9M2`yIWtZkP$~M=&N-PS&t7D=X?PKgC z>Ir?+3Br>5a^LO%X@`1Cg{q^{WpkL-?UnGCpp(wlN{`SLuq@&~FF-2G$S`>wdUe}I zq9@gYzt3`pH7ycS@BVP-&)Kc)uaVOuv+ZW8h`*dW&y(%67KzD&0R(vpppTgXHO}Hp z=`=nv;t2((Nq7~x_`NBXr3!6NFGNcMYDw!&%+`F(m^|sgLXaj0iUMdg#=aPwD<);p zb$1mBSxr$hhpA8mU_1uot5N*IK7Y}$B3V>k)=Y@ENz~v|+A_*~20EEOorYJQT6E#| zLq&Fhw_x`Irr@Pyd`exv$|)|+zG?0qf6%n=dEdTVj97`vzZ91O_o@#%j0M_ge)iPv zaRmD)(>|@E6y0_@yKW0D*7fKxX=pG)gdP-GD)eRO0kGQ-7Wh-}f6*bi5k1lxZ^yZ< zuDQ9zuoJSoY84?wNPf2I^C7)n@Ox&KAh_FkVMCZ+;r(kwZ1;r}wCQN#xv9H^9e=3h zHQxr-vGK?pgtWg$lGALzBx!?%9Bpxc1mO>NpOv1C0Y{k2{3Y2-jG4Va^n>97i(#5tEF1N{=*(GfUvXqlE&C2P$2?` zwfYMUVqaJ6gaq0=9}j`B1~`sHYIcR4|LeU)$q|m91eAk)y{DHKoEP+3ZRln?6AgR0 z4JHRwIE@ToOS`m;MPu&1Wjl+fL9Z|-ueodTpqZukK4z3>0uM?iE!M*?wPsNUW=3CD zqEff#4(qR7I{WbTmI*e2O7$GqA^Lfc|M9&S@`B9j0(nASw_(U_y=bOCUP#;NTXf)C zONCW>(7a9io$tgznbKxWg!iyc>wwRw;hxv-oLix>^ERa1W2qA2b;=s}DQ`zW;|R5+ z$FI5XTVPpp8<%$ceboGQB^G{vIo0-3X3npoIsOeXU80xKl2n;D7^14lx5Mo#Xzd@3 zc><>gx=k^$L@3O8M$nVA>V?7D5rNx-D|J;!r}^Oy-=gbf*GFh5))^1r^ceq-7og6U zh;t%R$e-y*M=t+>j^9$P`|V7Q->Ag3X#HiX|2zIaSD=PIiYIV7hd)m6GbBbWIM>!v z^Umb@#u9KUXNthw23W$aRXtL_810=07t^)eJ&G*T>IJ$tzv(yJ(bXEgaGDS^4>PW? zw;Ug34UZjv!HVa;Vw+@(D8m&Rc!+v|(~O({BZsMbc<5}f!`Z)l65@`?GiW@LP{b~P zS6b>Js(0TdFjK66CE!HS!5O zD^($FB6C0!$#*1cLE=81mNOzKw4bE6rx*W@6H$fp(R+Z)5*Ro00t9m&>rnm>zYEp;1prnEB-dXQm(^z0VIfOoCC~9; zAB{6roM`>0B%nGYB=}Tu9(Sf))EStm-=DLR@OJlwXsH4ARK53ShhUGYG*jv(X~C-R zw|>Y081}8B5xORUE!S%|y9)7Y;_TT#x*rdG=&HW1@LXK(+WManf?-1Y(T3i2X$@%t zcm#lRe0-kI$SgH+c_WbR;$^FKc{j-GM!2bSFUf~IV&7s22OPzv>v)$lJ@Qby?9bwL z$J@=mqzX#I$R>Ep*tG$S6M|lVaRAfNj{mXK4FK!Zh3s_Y{ysO&|BjcdOQx>Jk_&qN zXRc1839x6MSY36wz2hzIj}@hYhh@6}gs^BQL#=~5Y3O0tH832zA5F1JYUgS?#lB3< z>NHO@y)Ti-R`IE}6;pNzZP*w$qgkFkXZo0#U>~j`YZ8FZ@N4PWj4`mw7_FD$6KVpI zx^$c`Ms*eH?|N_icJ?(~U6!5Qme*jA_{e&A-XwS6;~)ot z-%Ed(&M)(m5wA@-N+YYuM(houEk{rn&e->?19rrwTAU2*uw`!bWMss$x_AGHjFeTXO8nJN%;k@Jyz3McD|gn7VzKI=etikcb$;-yA0SgK2LnW>8-%{sXx8jm0!ELtUkX1AS2vvrdQAu zk}+VD7OqpG3NYy~%n3dhcbi<+Xw{Uk97LV$o;&@;>-zA$f27bQh%S_k>1VJ&M2DkkS{#B`;gxO0sl5;`7)utR zA&rp+Ej-_zZ*&1i&%)6fz&|g;t#b+Cty%i~u&dDd{IF-oI-`mnI>7#cFUg;(TK#4t zFKktEv%mU00WJ{>#0;Pmmh$>RM{4SpAXmVTVTn|C`nd{-tlueu9sr_3$e*+=e7Pko zpJn40gp&zmR_-ITnu{1(!8Lt~&9ngXS&(f3AR4du+IKT>_ua*#EuUj7AG+75X#F+3 z5*mQw5vEMNrfN>t}8k-n-f=i5@v- zcJPrngW}YI^SWMSEyF-8y5^VTER^L9V*_pbO;gD~D~4Hm2W6_gRV|R!G+(4A2MLbW z5Iqe&e}^XOWt4=wMFZapavE5vCn`8vnk$P0vhZkPcK?@MBl#A;T6~A8A&c9FgA>(V zy@M(WVPR|q9=!;>Woz^yWeZ?3U+Dm7w%0(Iyw8;f@d>^GY;xknB8&*0YgK?`8R~8km1zI9g^2kIIV%+AU`Gxan6Yr zu_>Om5r<$2O+zu_K)^acK39z>Chtm(moXz|%F&0d#OV9ffza9&`kRu-71)SO7E{SV zDEU3`KF`6NBe~4QAGBmR;A*~Fr-dr5`G0yIQu3-L%YDvp+bdYVN-3s_G^ae0gC`yz zlS4NA8YY*nI5YTU5Hjy<6a45(4-aOD(8&vw-TEK6r(BrZB_rXJo=9bcuNgNnszZ)0U?Ojmo4-0cfaWXtWX zAEL+tje%~9N)hobdNcMtQ>+U}5sJUx%%72-e7pHIFS@Lk4wknIIU!00yN-;H+i(@E?>l$Ht|dDMq2P z(mRG)gO{MRJj<$DCwk$Hs%@}|&Qkh=_T}`d-ZHnE`6*jrhUl3;V01;E-2JIi4L51= zWYc#~EF6-##HI&iP^Jk6))5>G+nKvAz>yy=e#N82VmrxJaXSf)Ey4XFs79>mYkjRb z2(G>ntZ(@yR_J0Oj;m(nnXQjbJ}+b$%8+ zfCjdLI4d(G8K6z*Rab9nTuu2y=L)hl!olW1M=88x=v9xF9H>8U=4qLH*#^evXS^|) z$yK53oq-S9?_Nmiz@+#(tH9mo+ZN!+kOkmq4Xd?rx&AL@0r}KRc#-c2j@{4TzbA|M zhV+rjv)eqUd3j)V*^W2vX`yqQ{9mJ_2=I+pRxPns|43a|TFhQT==~@j$H)I~6ja_4 zBj?;6(K_ZHHLqVoMtIjsM7Q~@v`^_h|2A_MXHuqJ4A!!oUUmRBGVAH^w)#@pkG~1? zIs6?6o=D;(zEYwZHgy0sx8aUcLSezNoMQf zriZK%h}gJezl=SMMa1xPKcvUxn|IGi65^jm@xSwmR| zdl(;7Dxd6R1J*q5vVcf^Rnm`GSTFG>ShDDRZy8MVGMtT2+%8MX`+W(6n$W#ayU~y0)%m&Ebxx zE5E&rvanKH(3i zdyvt3P)P|crEAD>4IT;;TXv#`p^s9-f|Y(yO?Moq0_wS(KO;?c{XW61ff2k^h8LJx z+G;jF$lUDxM%cx!*}cS;<|iKAx#3hsG9O;aPBRJ*ZFvRh__$qyv0F)J?%r$rujPxj zmV&1a^B?0|(j3=;r&0xbY|m3X=9bor|M|H_5@Df9cdcGA8SlN~wAXHBD6$g&4;JY< z*V|oG*$U2mbVdk7l!2#mE9;(96Br9_@{LkU0=eI+8 z%>IlI7JUTV*{_t)WVhKS*?u1m3VHo6X8;z}XhIRV7Xv-~lv`wbo~!MR)S2nh_U=XE zdp#1Vqv&nxaxJXAxJoN$zBTO=uXOl8Y-tb^WhaOwgG;O?BRVCZfyqp#-?b(B4GiicSLpYp<4Fj=#bixcm0qHo9^`GeU<(%vmn zX4nn5F0qwHZjgNp`1-ndFZmBMA*MFNoW(ruk#(RfEa$xWAZ|%=*qBXIjuhe}{g#;~ zg-)qBh#Q~JMfuLPPJ$}bS(4LoRA2pGAMnT!DwpbIJPx$8(7`ng95l28!=pI0mO#D} z3atYOGY2S~meZxst6GK`kgc2U2$Mb*il&*IeVPjj1jdn7lJkTFxY{zTxc(OxFchtP zatPPhCE~i=0&&fZDLNoc={1^=#(pMq_}eaMi;>%i7fVB|!*XF=$vm zwk`A{a+aI!?_mJB)nslQ8hWIF4+tW?O7unBgj^~%vdS92dBJ$9>?SdL()wg;AH4PA z?OuaO3gh;B0ha~&K>lqqd!z_=6Oe~MmmlAMrW53s4kRvi&dtfDx^vHAVWyfw_bx9d z?>3J1_F6h_zH2z2(m4ftU{_@0@akXaHee8JLTh)uXdun%>eWHy@j0&eB7N*h@|@88 z9hTK`qX`q3eOxtNS=CzdEnK~|{~u|!vS;IdM#zOr!1a$>`Emug0%ay3ZXHOh=vHz2 zp+usok)Nq4mwOXly|0?xq3kX5;7uC;S_Yd~SovW$z5{kS@T*hnLQ6RQV+-l#I=S{y zwi|ac+=)f?YhR&&xFUorvHr6D=9J694Y*p4y1o)|&)g9* z7>|~Gp%d~Pz9B56sV=~YhXkI>{?~zg=q{7rrdwQ!m%C>Aa$VL}tkN>Ip4L_~jz9z+ z4-tK(^33(>+4rnIu%_UU7lbGIFP^7paK&Q(@|-2+s$i3Qg#@akQ|F9w1+I@?K4)^& zS6VK=T~jKyVA$8qac(?uZt-f?&{F^c$VH&dPj;O&dLtst>)JA;?iYp~q?TE*DpB>H zEj`;mkZz#0|J*_tDH)uo41NT7YY}&>KVi8^XBtPN*O!>^&teyuTSi73Q1=g!WhEoY zxnCH@q$8@`;N{@)`8+^kC%ujyN z&}Q4EU-K9v7p3ApKOtr)U4O4|SHZ-eK}o-;r@I%8U~;h(m{fZ*_eOxVuZ_<~!#(_ul_WcCvS#S!>OjnYVC@ zVcUn0Y~b){nX!6!CNF-1Q=B>V0YV$YkfT|nSoIZP$B7!P>ba8n%9 z=IOQHf=xx9HgrIE;t?{W7*~E;Tx&Sv$@f^_?cGv{w^(JOI_;52UA#yCZ>UDrCu*aI zEkJ%3&Wo6_SR2%Hpk%-*1m{L!eDKdRHe81_KNl_YA$sE*^qBsYA(9|XLoe(ce^(S? z@28~e?dpU+k!4Y&FS%YhqDbnp*vbz}{V{PteBA-6Y5ZOYvAM1MEWG|KlYS3wX)pII zX^>~RR_I~5h2(}ID;kEsz6TMu_?8p@;=E5%&!rsfOjzH`Ly0z&H1)-6m>AwHw zE}5i*Qn^5M*sJzZs51TJQQ1YG@P)zGSf1zIr90i^)L{`00l_&Ozh2t*o&q0$t=?0o zXIIYxa+$BT2Y%MPZR@bXOl}E#-X;OiMVX>yUiWXLp`;5gfd3Q$^Uj$b=)Kx?y_VHR zBcGyg_Ibs(^ueei%xm$MuExlQ*C%CwahOb$g z>z-0dcOB2|2Y-B;&W33AhI`2}Q!^V4vcHhn_jGpKS9lhZXrnD{c`wp6N@zZ~uLnFd zHwWq3B@r2)=`TkVrx;QY8+xy&hTT3<;GoXWlrQ=kkwl^5Fw^2GbO#0Fnbq!(P>~xt}qIcO{BmqBtc`jM5lBY|UYUc)A zpvqmy9>1yc$qjmQNW<_jxOpe%<65FR-9BNiZee5h1$~%3cj;9kh6Rm%+7~^?@Aicb zdIoW_u(I7iyI0F{Ae7Syps8v*80WAWIC$&GtswK+-l#XNyl9M!zQ zlQSXnw*A2&qYhjEIJN`o|rO8o@Dy1NTBse9{!?26_RLZ6~b zsG(<*E{fb_4s>x73|ImhbJ@173vw7I)BkZ<7`eNugwIBR!eFd}(sN$;6G~6$?Ze{-4Q+&)2IV1AC9v<-_{k%Nou0x=) zY9yfL{!gX$najj@dIHdw^dzrXO9(8bE;2SFjlOCvo)}r6iO|Q{TA;M|3@%mXC32bQ;hh>Y5V6N$$>R4dEp^Bh7 zO|fRqKXy6^MmeP#lDp6WymR{+G_1NJem%grpX|&MBrkX z!$jzZ+Nnn9HEsmKN#A@c6O5+SEWIrQ?P#2?WZdD~V9w`h^{NKkBDjlh0`ENWHHO6x ziMSG2+|#vPb0oxHXjSXyIfSUX#Z?q&qDhMe{9tO}j1T7-cuSvR)Mh*%cuIP?CJt~5 z%s34+r||eTuo^68%p+J~mN`n(tF|+Pw8zOtoh;5m=>hX%lojq9W9vZqFVXyY=W_)D z9}*n?1#?@fA33~FBE}~1xv>1U_kYD(3M=S;m#3#%3#~qi!#?6iM7}eCE2Q=FcDz{1 z77i;TwU9&fh%DrpnLHkp#}I23;BEHVK+W3~+=RS=;LESU$Bef%z1Fw(h@E@d8CkMY zegHDD4xB>g3pr0}F6A|9>rFw&wg_rB@>bJTGY1smPIsW<)3%A28xt)4;NI*AbSBgt zb~rRvX#KX9wQSTA7thiaN4cC#d?n^8z2g5gB@X6$R5|*o3A!-ne~7#j-*GaG$Zlen z(*bN0NkutrhI#Y?a9#+8)NC3CB6uT2aD6mSzPNc^pJ4Z37m^sDiQaTQ1zIaLCui3~ zfrj>>z<@Jhn>!vejjQLxYNO>DyIk%SWy3EyS;!XtR|u^q1s&yV-#e(GPfA*@W6mKV z)^H-06Vz(HjH?UA-OwvUaVVj2Y9X`7MgMu_ zX}m)r`zZ$6kIbMS6`%Ra8S><}GgW)gu^bXcLLRqPdAKG7d4dB$YM~*ihDCh&=E=2S zgUtT7?&m}N_=nrj!!&@j zQta1~Pe5P~w6KG5${rfDLxevpFV7HIy9)$~}%N2`0Nfp!Jz# zUU9l(nQ5SM*TV?Iu*6DJ0qx5qlMhc&8yeC&ew6%;eekbAczrmc(X)Z;FWHgX;`caL zS@{XC$IrMJGmi@eRpDlWduQdbag(wsA!yA1iE@-*xk`;Eq)R0_obO=_(FIJDGf<)! zqE2ocb5(vMbPFTNVa~~H)1&}twL%+jRQiVr2(zEqgFKH0l&+&g2Qp1VFVtQSi%#Yb zL#~GAc75alxRt{{3d?rsj5qb`%Icp^4lNHj)gWDs7gtmOJS8`fCjLyO<~-}X$BDvA zx0T_oqPPE_iZdR+xVZic4-WgA*Ql_~nA!LE4}*Vje(Xx0Msw2e^Y-#4)+Xs>H{il- zVo&+MNCrX>I+ILs1J~a968k17ZB#lu zssaRwMZprQ^0b)huzP>fW~cFLg>CKY2lY@8C#rg?wq#oX7nu~=A`)c=;gSYTO*y2Uq^0KxAzJ&oneSx549A;bqjJX z*!Nmc-?6tIH&%}6e3rCAJco^+SYn`+F_x+VnBQ5$&wpD37*WVBh_nzdv#^XgGaa6L z`4nL)t@m$DnIofh4e9yTidvey-c~QC75bikSER>z4eyC$Ie>_mLf_s~LuiAl1xU>_ zTklq32OEQ=_aqe|wPl~5l2Z-B_HdtRH~gk(7w}J@|2S5I>=?;YSFme^u6igtU4VSQ z$rvi|%TQL5a9(5q(^D^0-s1)wUWKGE%xc92xhGCoq+5YACK4UXW?{K6E0{ z+gS&SJk$pCGM&kX@?F+(rb9L~kNV3a4B_}-=k_5Yifmb1Y$iY*k94L95h~t4wE9iU zxFe->KJtUAYZvX$67?6W>kQ95css$Wy1~|2tlhRSy8W^&Myy)IKih3V%JIN(qT|*$ z)E%-xzRgO#S!M3NUX0u8fD7(e&7O;drX<**2wn8Zvo0;WKht-Df~{JtHYxGG2AP-P z)VvgmrDceUO4lT@dUaX>;*5_FCj=`6-~MUze84Y^Dmny-j$C3@+Kod$5)B>YG8iC| zfG-6xOS2+s;2-OJO8PKt7Otd;5h0hqp&?KHZa!MR5?-kbOl9>Q9W8}bHEL>K_7gK; zyR!LHXVqZ_p;;BfQ?2V3Y6wYy~?G!a4B-AeYu_EyscuPKa)&+NbO|;kP5n$MO)CQ5HThv*Gy_2#xHH&{b z+HddWiB9aY4x)Sh1iLF|l#Xmx9=m^6RVETb`~uo+>erc{9!_B+(urXght*c{qWT*Z z6aTqkZWYgM<)+(==x#xdu*fvZDHrAGxWm&<+)j1wYQUUQ@KEH-oaNhsHjRzg>o_V{b~ z2l7|OZxXTb2|tTEo7YN|!<=#rV8Cky176QFQsV*)xo5%oB~^H$I!v($cS)&9X%?gr zrm|$bi1iG=oT9O7ayIF_RmJ*Gw;ld z?Np3p(u}0s-uc|fW6WsecV2q(e{>2}q@3?dvS?iwo3RMc)g;p*CL0cAa_49t%332G z$|=5vZ_mOp2i@g(k#ID_wm2giodaJOd&R!u(9Q-7}y(cNFO2U*ytoq|N4LaBq{lqR*tcEsUdgo3Ot(`4ecYR}HKd0@p*<@6HBfE$; znJq+O-wFAoG*$U;nQMX#agUf9^=Z>3m-id*!#|XjSILZlS-8x@Q9aY5VAT703l37R zy0#WZ)|)lFTH@3Eso*AwaZ&UvY}le->wlM(&*_Gd2Xj4wY@j#5(2Z0-O&pE}{2toaS&|V{Sme z6|lE!d7XU!7jN&c5w}H9`-mp+<9O5Y{X_^9X<6S>NI+qo%;>7)MmeqCsSQ5zPwd*k zab9%-+c{Q-_p14CZ>2ZsRI1YjP==Gwe>MUiA4rOXy3JjsE-pYs3vvZC#10UA%|-Tk z@t%dz`u}lX1Jhfmn|_1@cYg;UIGQ<0ZM>G=79&lP)bD^opwtMDE{KwPcY%ZvK@(tSt% zO+r;o2Ta8rz>O144lt*S$?>gfiUOHJ-KIUKzQWt^i{oP3V|f3rC2Y4s-Tr`{)`{1n zEm!Si=s!PWW0Muio_#N!tz25@zMk65#7}68lNj{PNEgy14)SJc24ecJc_8jPDY{%<=H^D)Rtc6kOIzj}vzy&^J`X2O}n zsO?gjY}}K3p%L>ipOA};3w$iXEA0L^x7@9xgu49IDsc0(}?|EGnB2>^qt91OAevH}toTgFhdq|WnHfw|nz8itx#ZsZ^^ z!~NzM2}J`Oh0_g#%}9P5pc^Nm>!irvv-5V+nbI91ZJanX@)wJ$3v9)24D5*>9)V3D zqt%Li<7e#5(O$b2(?Jmqya2cMJZkVwhf!Sh^YZs0Eo%t$TBJ0@I=pGh8)j&wS0)O8 zAdh!kor3;uCJI4_7di(GU}Or@s`AnU=z?7ujA{=;y%^zE1ON4i9`5-va62j*u(O&f z&U4V-*T2;Zo9>> z57u4|#Q%dzG3ZXO;{A8kuh`GGi6VzY=dE5TN9p&*7PlX0!kt_INmgXJ+~{4A^16nI zXMGqmT#p5bB0ok(+;cMhmw4mkO66hBs!|a~VN|2@>ZHulFLtbPwRFiJJO%jcV*X28 z{fUxuS9?%6(M>53ZUr;J+8n_6j?2S}r5M}NWe5&{RtvG}RyNZDCVe%B#WHDF08LtbxTJ|*cr==AyX!~#!Tm9Ac7wAhy`KVUGwiKt{U};& zvHX?Ob@Km(zm?3Tm9{mWeMij3-sF0`PD$s1oxF2d`aa5IO>SV2M0P$Z=dGDh`0S8aHp*(!K-zZc&RzCyz zQQ73(e>L^MN={nt#hv!NVPHrLIG^WR70Qa*FPCh)hf8duTk19IC4{z=2?%J>C3deDW#2n|<_zw#o zs7;=C0&xHF<^k`oI(CZKLDgKJ3b)sxE!44w#y60+3KY?nD6eeIhsVtTShxr~@0wt@ zH6QHgPYGknmmFa4Jg%5ctU3iA?2$<(($}=;Ia6o3{!l0JTc9CnDtw$vrPlfann+*^ zf@T>Ae}C#cE>@4Wf}N_?;!i5_r#P*_q6^D#6XKcSS_r41<$~aQbB`Ny6D>Y7lZFlS zeT&-P>|&_lg+;e4Nn7egX~6!=Wb0RuqlPtK-1VDpo=)a35eIU$d#Ti@5!r7yYa{HF zu=jcDZe^7`SYXv;^cX_drEQEM*HZ!gZqU{k?iLkV<3z!B!L4H2cyDv_X}l!g1Gm($ z8So<*=Akk5Tft$#7ubIFKMdV8y8SevyI1a}O2jbyGy{a<>VaE?tZn>nuyqm7V@J$` z)+qf~)l(a54iv@iZR_XzLe*1dZ$&RnECvXk6l6tJpZa2$U#67rQpI&zFPAN=6>CY{PZYv-~Es-o~@O$pdcbCaBWEorIYKJlf`A z4!~r;fG-#e51LD)nOUhMt)@pO;}I}7P7e7sEHJ%feV1ALjAbC5w|9I-s>1WWjc&ws zC-csw>?Wg9lBLk7hO-z3pL#jDn;9fA8ZH@WTSlfq#|Eyl-t0oOB~shYgx}@DKim0U zX#C0%?X65@-%rCzBrPf7Q6db^k_D56L^D_h7KfWRTv4o5!0c{zl<8i7G~evGW=ZF& zGD!cyI!Z5m^kXkJYqqVbl(FEJYk>R$dj9;%koVv0px$C<#4T86y94@CBA!-&`$t z9FBwjXMyTCq2~D;iryA`}y{Z>eNObW9Ysb_fko%IH#1)eK?$-Mu7ag+Lvg+a}EURyXNV zCqxWHb03{jSJSViCuN*p%&{7>BH(9x&5{Bi^M!0FpLFQAn_vb1#Yd?U}~7 zzL*zk69&X{SQO86c zS9)G>>%>%nm?MCJkW8q=xZKYVCOO}+;;sMPo=^Yq+nUXg0K zpy&y@h1d+IJ9m;KGX_zWh<5K$WQlnb+3UCB&QSFPT5=Xj++sz2w8_8!UHXmKng=G2 z1&aUZ>+2UCOA{h;HC%|am2X>T9xe2Dc z@j=4s`jQSVFBwYfyF4IK2?_f=y)eNe7={>`TA990xc6ev> z9&F!(l;XP6I)+^}G|UaJ!8Kta^tHZ~!_g#?4gTb&%i{VepV{$XLEaO5id{67Lcz7K zfLx{mOMvOxvlgdQUrXdy_eBF&3%Fwpl`k*vXL0Y$)Trt4v2TRrR!*y({C*SkcJQ%c zVH%m2X3x`&x@qUnOaP#?L8Jl0QNxeXJG$GTxib~@#nD9CuWJ;ax6g*9J}9EUW<4KI zs~)Rs1lX$|=|%}6=j$8+u~g4bYuzJ4TFsk=r4`E6qew?80pk;q{R zKvMBU-*`(eb-JAn{h!@vq>KB0z=bq72CkqV6Ma_p&)xKps%VV<6;**)I{k-Gla(d2jvMdUqRsn8OjGEvltBmO0_=P ztt#$ib4d`DFlbI!a8sds-^pg`&Z=a3U^cft!gJ#@5x2cPe}1 zGtE5`4;@aoTOz*%O0@7GsP(D)$XRz{D21u#6yDvg{bqC%mT>J?WQI>vd*K4Es2o2I z5BhpLuOn-%xDeoelL(K1i&?7MlvU^*qUGD(nPT`Ys)#YFO+!mq_FJ9raQ%=XXlfpZ zi*rck9ilhr717O4!sn2g!M-m@J)m#Ozxt0t#9n!J_c~^bJP(lNayzo& z)=g#1ex#BcUZp;)V~y~YKRK6WRv6xLi=Eb4c$Q?+2I2d&l8l` zRy9*+w)BjjS&;TeZL2P}uhr0$0c|tm+-e;9@gea6@jls-s9lz~z)))}CK~!4;p`Oi zIMB`ir%UQLS1^KxS4Y(!f|$S$@Jl_j^7p(2Q3OK#pDxFV2&<^N*=bN>rE7alXlQg|Gx%G$|@tYE1*>v&}$8}}sgNhP=9CJmzaqMDnh^S+8F6D)` zPz!uR39j5(M3C-YtM~qWuH>AK%`!9(f1E$XdwqxQVtZ$}y>NNg-dxcL#^|=vi1qH) z&VkQjr!}6TE%fmCG};WI>n&hvRuy7FRhvt8-+$%$(wLzY^V$m?(}(u9nq#KljHxh+ zxMoOd&9Rl-Ek|5kZ-mbf>8U31 zPPdU%Ie%=lqJ41nD{v;5IpCw%P6S`WMOv0yhnakv7XnMqrZ;$e;7I)zUqn2#5L?w_ z0HErw?33EE&oJxgNFVE1fwsl(L4u-@TYQ#`F5O||^nL%@Jxu!7Z5h7lG0N?Z7hUL5 zR=i=X^4J78`M#pv|7BmE)Ijl*sU_~WVTvvQA`egl3y87qKL_YfE_U=rOV^?-_(mVK zJa9V6H_eAchaZRsPmE{J(5!_*0_jv3%3<-NIp%L+8;n-ekm+{1q{6Bh^M45xlyvq@ zN6$!LsEoy}=E1GWRUehDAO@X;?O5O$d9aCMOhk;a7tcy`UYb!W8)g`E?Ru9qg0_NnF5Fg?v#4Ov}C^x{&bbW$5DqRVY` zW*y(&@yIp!W185Nffv$%_3z}?pQR1S9){|;_{B6&;-&5ep)dLY%k-+lie%(EQ#Clp zfJZc4SFEKtb%ISN3T^}z8t?;?z(6HNQ`u|ERTuLX)bkWHuB6tG_(kj2f`eqWFD}S;T)&D#qQjUoM(KX`&PG09?$9 zoa;7YFdDF2b3=Y>kyZ^+D@*Jm9Ryhd?DFkp`-2)Caxc&jstooo?l^^7vKr|N`-U@2 zx4f|S592RBLw_LEU&$nZ5`qH!A83h<7yGe6Ni+u4c%HEoEJtbUzTdu5Tni}D$%pjj zYIy`>1IUD_-63sibkpu*w-0^9Ht}iBgORM4+p73muY2JljkqDC@WhEKe*3C!Qd-`~ zTGXrR<)_hy2>u8x^2WpNcYob#Ssgz2Uej@=fcI)pCyLIeUw*l-5-`+cUij3=Gd&J#G||G!3k|Hi z*vIledm-$8>}5jB74<_YRm=|8WM5pQSn(=KnI#ABM8VnEfQB|~DjQcLPHmBmCDI|k zIZ5UGsVq7-(Q-DNyxcu^>JTSVw&QY$+Kg7`)9;Aq#RV#X5pi2_-u4NzH9$W6&6qppUv%tK-%0!J4c*Y)Sg0FOtbaRN4Mmw za@l5=@SH)vfor63Jvp9H!qqeRF!z(XZN9d2vH+^RrKDP^^a}aWIRo#k8cNkWBM~ud zPCF0%YXV=Dz$(Wt1v`5D4N#f}zb8YozLA%Cd}rT_mqWZ#^x6iWnjn$NghQ@x>Hnt% zc>ma?2A;{&;H&p0sYqL|?DUsXlCr9%I@qpk4?`!XC7%vyKxLZ%lD9G#-+FSm%IX$? zhXs6$Um~X_Tg#E}(Q3innFxF{>vuHoi9ax))tZqL2USqYB)SX^9L<)mSQ3A;6l|5bIEv_H1CJZLzjQQp@|6Nz*Iy>E$ARYyE2lagB&SI+)TOke4Juco7-7 zY9X&$@JibL_e$dzMIJ^~qsdAC}pjh6^x8?8i{wme9nL+2Epz`MkvxuE-&ae%+q zSGphRpE>V!qBLc;8gBVnu)x{T`R9sKc`D?$$nXsAAVk&m8q?uU&uRpvLR~9~%ln)d zj=BS9uyNFG5M%<}+SZP^l1DxCA|=Wh3!2DUMA1^$=1O|FEMeA|8Us5_4dcsNC{6jz7 zdc;H0I@J565LhR+M_Oukv=n+=5xrXWdXu4yvgqsgl_xYd5)cVjDUu`V3!i_mLS(K? zG+V=bigz}CH^QE8s9k^C@+;zdV3*&`$JnY1U1%aKSB0C0J6j1oBx1CjIbs{>%siIyDcF!MH?M;W`NySpc?}(#T8gDQ0nWojJ}O zl2$z3EnIXeH?OOq>@Y?3dRNShkwLEid^4l3HZ$&=h#J@(oF=mJ1S<2LdiVaWv<@hq z6>9o$rQAe3(8UbRaH_snDW9c`E4Q1uY(sDn8e8mp;9&SkLcPXXA$6I*)fHhtQFPR; z>reAz&B3rIB#7v+f5Kw;X&LX4ss{`=XCgIpU1(!MyAG>o(JsKG@EF=4|sFF zMgkyYO2egT!~-3op|yfkENmr$e>@p6i!-QZnE~Hdgc{zsSdJxtcjaL*Y7@vrLcU)c zp%$*fkR&E6T72eIE&h6f*vk>GUZEr^CKjvFj-kn-J20Pm$aO~uR-3_TB5KP z20@Ax+@PJ}AZJ}FH}G@el+KuLFDS~ARUrUH)nYSj#(>RizbhpPte%qv); zelI4(0m4PoyK84T@h%%~q6d<6SC*`Y-rwB*yZSzim$>>k=0hLX74q7tGjrXqYGFMr zL~V3FEc>s-{MnRrl05;FF2+OhsPE9e=pn2ieM2S)6Dzj87iECgXkFHOM;oel85CLD zAuLW!Ec~>kH7k8+FnKybmnbblIVyly`Vs+~3Fbaq3|`bTDCXLW<~rLcb|Gn16Tonr z3|>RnK3415OFZVCQ8H#C!H8o2UceCbsS5CT_EE6&osnIF7*MH6KUz*mjG;hYgrkY8 zz09UBQH*T{hh5m+X!ZXa1|qM3-#R6>pJXG>Rjm^~Y0CnMSU*TAfQ)VL!Flapwl|D% zKPT)=ZpmhRE$Ou4_^hU1raay4DNE#dKXWA^)9*oedvS>TX0+35C}J1qBV?=UBTl5< zB>f{l=z8}=R)60cNlQ(hD$ydj`TJ64LIrx*_z{h*DO>nHIBB`}>W6(M1WTd9WuzL< za_TbkPj!2>hwJNrWgMvaAyujUX)F|_3Z-h#7Tyk=OuOUX8t<*cgOz7U{o<;OK-RO{mlUp4jOz) z08XRFn)_|VdR~IBE@4l#omnPfFjpKV-m68UHfk9S&yPuio!WQv58a=5-Vez0Xtl>fT5@%4I-USfJ>n|^awEn!7nUCZKxoDgG@h|@r z_Q9}Cu@%J3)L8WNsr51S*{z_AGPm>aNpwaUlbI1kDi$s#qdp*j8>qRJ^7w1}skqDC z%O_?689&6YnYN<$R0=3c-EcSYQg30{ zD5V-_JB@d=ONX*y*R6a=92�hY)GVMJfI!5rjjWWlzaKGtK+Rqo@(1b(c^T^0FKG zSvvNafl#e_r&{cLjY|z+n!rdTS+7{8UPekAS71rfQ9ZIorb*inS*xw0vYtAD1y9fK z&Bbm=6KG-Rrs0oJ=M+3<7|U*e^?wE-WCxjwLI=}By?$yHa2qM;bII%Nd++J`F07VvMh+QZ%9Q6({4Yh#3SsMt36aEg4T z=Ll|jRwdN8Mg4fH9}#|u{f6YWUZmf2{6zr$BFOIgF6BnDlsCPl>J$I%$ieDP*vPbY zbLhcuXGWt!BU#6^I+kBJ$p5wDBg8*_wqF`!HNRr{dtx-kQR5;s=xr4*YO!!Y!yg>C$#DTVUy!sOaJe_WHZbx(csfMh zDig|0ocNI#?JM44ag$pBysas^D!&Z=j1&t5KlM#;fTTOe6Mpc?EU_WEd8>cOuubd6 z)QB_2^Efd7xYrZmYiLIA!uteg&Qp=0KOu2~A{E(Oje!%S3GF)cfk+h%pw#zC1U3l* zvDa3}U_VrP(t)yPpVp@^Jo^Y7m`FG05$XGnD;F@%9X`)wIY6qb8n1&%U__q;a(4k= znOF+sqs+yGA^Jz?Pn;|oHWAORP`7ts=bIe;DXcY}{az8_PpXE85s*Y6)MD97oi>Hz za_VgoWshA&)`eZ+&Uj*XCkq7{%~b4d3E=^s7(?*P6ODivsyh&DZ?hKoo|eGS&yFgS z)iF;yM@+9pn4Mn|^9-QQO8Y`tj0v~ccuI??tp9;`k0KDWM`3M~G(m`qp*v+gqT{q#AL9%>3SA z!WbhIr{ZdBLJd#&a`wg5&oE<&r51C+udVC}Tw^8my@#5owcHO**1pik`#zUrb@PlH znf%+QGO%6bX-g;4%F2yNZ{XBa6omGl($Ne9X-$-*N7(Pd9lonP%))G8q9}&RQE+u# zMbHn~l|Lr6)<`1VMaWK>D(~cY?~rH9nH^A+dhm@_6)FgHP;LX_2nLmM+@Ss2L)aP0 zzYiK3XFWGs23OJ+T#57q{pasQ;=@wmGCxRB9Cx>imiSDKa;!99^$;@x>(TyN_I~KC zX#7EB} zK(gxIHlG)~*ovlaBtjLzYfk9e#;?=G5ghH)Dh1iRi0iCH1P_xhC=+Gp>?0J9*9S1jKv?Y-au+@fE;fBMJX<;a<3ZH-~Y35r^RQ z{~*8#XdOCKn!sty>-`E8`ZbP6OAKONd50KaC zF21jU>gvu?&0BZ)Mt+OhL;ukkm5{}77!R$TE0S+YU=+9Pw&%4V)178#)0{oj)se4V znbv6Xuc{jjpT*C8@1CKQ)P6vXHePD9G}S8Tvk~W$!0c{AB+du>tSl7dp&xhfDBrpY z@O$Y#Fm=eZ28C&yZj<`tguvP0v>N$;i|iOf#QW%>%1u+daw8XK*k!q1DCsX1#hl97 zacho^{5OC)iYw!K(mT=uU)}X?^cLUfLFGsDP5wJ0a0AyhrwpY}`Lbx;`kr}1nWgY(vdhkq9v zc~@;_E<5B~<@j$1-Bg8fi7$KYhio?ZREO6RNxQz~Ne4;|E`FxmkI>h?bN{n|ZghP3 z7#gR(*WCX)CRp^oiF+u}3!zG6wU6BOn^IgR8o=3Q=b498%_ck^BZW_WiUywlXJGb* z`+JI2-;Bz$WQpj37SQ7`L=&L zS#ZqeE%&&&#ziXhGGdyU=zNfy&Uar41T(^5bT)oylWGTBZ_#hFgW0Ez=zAHg;Wd~6*UhUYpvJwlb1H{K(Rt&`@<4qMgtD-tuYqZ#p{!IdDS&G$hCH#bEfW3#eAVIx>2@ zZ1*No5HpTJI(Y`w-iqx(((fAIXpZsZUY7DlHW45r!j+Y}9^0K=+SK`W^wG=Pk~hA} zJBDdQ!Avclex>=`O#Dyehu(UMA<{_rPrc!Cl?d-|cNd#-|A(rGWoEAMiHpq3*B!M< zCJJd8fbf)MFrFa7T2)OYu68c^mn%k`d z2IH=u5_M#yRPc|_hj)Q!RpZ9ozm%nR6_`ieeD4}VYVG17O?Bm_v)s{y0{EcL%Fp@M z6S0!DZcD}$QEJ*r;-j{p*T@!xDt)9C(aZpvrTH%%gB35t)#>EjR&N4xBmP6BCU1OB zVs~J+Pc_SitUo%>F*1C$XwYh_-c)tO+CO?AMD>ZTpHno?5Cbh8WvjB!Taubhq29|n z0IMU;XBx^M>u6GW7nLqs0a}9&@++}Je*|UYrsPH1t2aW2>|V~&4Liq5+Gf93k&pRB zs_opEd^q~>K%QzljqkJA#(L!GL(=USGn3!xe;bh%((N($m-agd4~;S#)`YSwzqIr` zzB3~FSBVC%Q4YsUU_3_=lp+xJgBkqbdsGQm3BnxfMlDCE8u3%{`7WiEK6z?YsQ*h{ z$oGB3RpkEW*(+Mh%0nOqB9*-Q`Rqi`!nyW9?Yzl!j&${Y^lG#D`ez)D)vem}pV`e< z`q`iQqAzS-x(3zU=r)2<+7;3@TBJ@_ z0F7yMBvKd8Ys%NaCi4_#TAI*}qyH!d_D|FtG>_l;XQ%t{P%sUa{~xB_GAycaZ5yUx z=oaY|38kdF8w7~~6oxM8?hfe?lrHHSy1S9??(Xh*mwP|^JH9{sgky$vU+cWix;Lg^ zE`{F?n00a-(#_Bo&HRm1=W^|}m&ti)(QY^n5%ImYZ2hf>Op;enFrF5k5@WwZ!_u_m*k{{KU zRg7~CM_t74p03xdKUPD~uaR1Tjd*mY*9A z2U>a~d0&udgjlE|wjU4IYO3obSThNiW!z{$3p}ce~t&)NGhW&XNkQWJ+e} zBXw3{$tAK5>sM2X(BD2A@kex{l`9@nmp`|@Eqed4fYIz6?Gvo?bN4qWU`t`qozdns(~+lMElX`gq&Yl{k)?tC^EZ~1Z=_uQ z&PeH2Z+)+~s_4`X%lvuT(?Gpn1HtEQfAQ;z$S;;F2Mh*^hPDs9ZO?XuJJ)x^JgaIj zjUUU988|jCp(wCiE?es%vW9hytksK@Vx{O+l{=}qTlpDf(>(lOPTIt3GI zzuQtCL`$hLrWD}rHtcLmU2lI~%JHUd^aCM@l;>;&Fv7{G@JL4`>>@goUX>ITU%9mJ zGS4;4_l!di5TfNf()#?j`XeBK$7VF*$Msc%5g4kKMXH6TQvTl(ogo5u(Rgr+IZy1P*!(vtIN-H|4l{ahp&I! zTo18|PhSpg)<96ybM>DvXzZdhn|xQl6n(GzGaq5Z5Wsq#cTDX?hKzm6PrQ5rCr|%& zZ@WgaeVQ4W_7Rd!&c!!P*Ijpnyp8H(up0A(RQnVj!`=HFx0A_Aip^y@)c~yR< zhK?$KuEy;JHiweqkn#fpc;sG!Zig1O)@>!Df$7ro!3oohtB5a_0&qP|nO&WXVDpPA zEI)~1?X9+*qga1y#`>ka?CTSy8{`mD-kzdq6V!`fxqD892kA;A^V1W1i@-KLH>k(Q z^oc}KJiNL`y4o^=wU%c(_q@npT4Z3! zqE7__PIBqpO{d2n`9-GoDBSe*`0VhcrZUPGv4~-B%9r1)AHB#&oF86_YvE@P+G|J3Z&g9=x{<Q=dSUd6aUN{ZM4`|a4_RwIf#@gq zmpi(v2aB+Co>*u~3R*xs%;6Rp>5U-BA>GvK8&K(t0tK`%zh!x4C^}@9sg|mkqcIpp ze*cGrF9r=$dl@ky(xXOtXCEQgn60tk%uI-@tf8SE5*jR*eo_5ckm@kLx*gUB{*W{6 z#;*feJ&u)~SHj5UT|>34MQcbW{xc56;)BY#XxoIiQkTo22jMX4ESw&|3vo6ACEyt_ z78u+^B1x%m8Ii$(XzCVrYvhq${zKxOrj7 z8S2Bb{W|pR)Crz#k#+&sO_V==DN-5*gi*F%MEWenTlc4l7(hpB?JyTjLj-XnXyN?2 zWK)zDR3o`NOD=glRj~e8ahFQJT*6yMOH%l8ZB+ajR5i4m#Hy)DIje^W{}sA}TA$<=UmU*G|Cv{@22NqD(qtd@KDlo1=^ zMF3IZ1g~a!C;FGb6!%j-w-TA{a&EdQl{qqbKT55p+x3D62&$}xYrnV~WD8b-zWAE1 zxfu-|pdx@0eO@VNnApsPc2W26u{qi1c-AIhKeui74u0tOi+0iYJnuLn@Wz`oN~ita zmKBE$ampGSxAs0Px!Ov^w+8bk(*us!$%Tl-+%iEl7OA4`lEP;_rFub#k`Tmb;!S!c zf5=a+eXU`E2Z@7*z-gXfn~7;au=0*`^6W}dgcR8L$HFizNRx=Ia}%_FauDsbyP6=PdldbGiRVoKN?&60hAx#WZK#|8{Gd)P zLbPZxdmhJZk$%U`PP1h7gy%XJTuFm&Tya{u!?T>Px?lcvS0ut5V%DL4N*f4@B)VM+ zV>wGO(|147i3QInx}kPXFolV*K{X9-&!94>t#Gvtut+DigK?FOpJboP~KV zdnH5_1hpS|P@ZSG18B{0Wmak6+!vLlWnQC5d2u87C*G1+G-;9sNW#C2k$HcDE19n- zvf8DE<#G#_@C^++*c?Bm_hrvoYX6@XV25gDIp`4u+S_m>499G)`4|a2Xn0V^F~aBS z$)mpuN$=Vp@V!=x@$m~&!=V7XWCs>P@WGMI3Y*VTYO4%9N++O)+(Y0u%3SzxGvfa= z==)ew=XWKN2B_0G+wN5JHoeRHOh8Uw-aUUyr{M0(hInC~ivu}M)}cXxZlpU_0-tx* zTsYE=S(#(nzHyFzbD-~ zQL^%wPs-|~H^_6Jj2On^AP$x-?%=;ZP_JE<2AZhoOh=FM7*SfA)Z3flx^H`tX$InIyZg!e)dE3HL;eUH#jwA@MZH-NXL?fc-1ny|9Ig0H$g4E@-HL>U)YPedF6F*lK$I^Bw=pS3dvoC2E6n}x-!4M` z_m?86^{&^6+%_xiFM_U|+}DwqIFlVxzD~?9)JmTi4&~W?(WZzB&!Nm?B_%t?TMhfu zyV&YgdfB9e-{HH#R>W4&-6?3tvrDaGMihkX#9)`cx9~_LV0D+9#6FK&%6=dp`~Sjwu4An6lX`Ad&#fpbL)2fzF z+>kFATdJ$YD&=@n_T(f_-DC19kTV;U)<%lPlHMBV$g3*yD+q&i_Tyd^>`kd);h{A^ zhe$2TRiHvQDsr8^Du)ZfI%6(1+UjW-!y~+)LVJ7bK~P3cPXfsNEJKHqZ)D1Q!a!@< zVzum|GC@xDZ~Pw%Fw86IXjBXJ8s4fRnsjw-r3N}mVM8P}K#?W%K~_X%_}HG>z@e=_ z6#9b-E!fRaAAn70dW!C+C#4J9S9&+tlv|rnE6D4#J{gpj+VJ;BK%L9GxqfoGTHqdUn}sdL@j<~ z^X&dzOzrZg{0FS?InrVY;Io4@jJ04r-rLJdKt#*p7(27N<6anF-GqvDH=-NV?b0MX zy^zl^pRb?#j(zwMhjICjy4!R9D)ROPXnw$pm}Btp9=C21Tlqge8B^+G^L0p{)6I2~ zqVEUV_-~wnny)wzoF9a-f|4L;dhXPwkhvBo@ZN33D2S04RMv1UuJpKhT#30ushxNz zZTQi#KqGh9;`m#Kqvpnyy~i?I4@_syH9AyV1>Lbr+QQv9`>7?kvtfO2k`(6{Zxvt^?>+7{yYIAzn2Wsk<5 zW~CHgo}h#XcCbh?qd{0Y{>PB;3sDg9%^)p)I6)zVQyg2n(&gbL&_5n#y8NXp)cr?k zo0NC>La|vJj+tCpt1m>x*XdLFH+BZExNAI_MACALz!Q!m%*9PbQ6_KDJGhbrZ$8eh zvxSO)qb|$8MWi0@iDaN8IzfHYLaz3GyR5(JF>lLpdUB5VxOF7XEk5RnI`5k zGzJcOs=Vy;$X^{n!ZtFiIbe)M0x>m%7ME)r^dk0IS45opyljR_DPPW{f_EwRXZ%i* z)-Y;LgZ3^3I6IRM`nV7p*~cqCecFa6;BRM#ZNb-a2ftT2zdu=CbQx=!Lw5}!M?&@` z?O_*r&eFq6a)w-+gE<}ZOA)|Ev`)2uu-S_l^=+zZ7Z^@oh=$`;azyr`dL_a+X#nki zu&sHuN@}ECa99R#%y!oDN~4b(z3L$qNS|kkyeY`mg=0o^1-{hoCeOCmA7)n>B{y|# zfMxZ_(!-!X8NR=M!Ejc)6#+HC%bBi?q^N3C!}fk*z? zv9+`Gc@yp2ZN{Vxe3EF4*cm%!gYAd-ZFFr*69Y#h+0v~1{#IZvu*_wJ3ipUV2RZF~ zL{d8At&l)8jq{h0AHj4)6~*KwZ;s1~x5)nQy$V6-((!TqX4$UmyM&svotUBFBu_{Qz?M-0*M6n$rI2v;lG3h&6ISSM9az#;vknmq+p1=G8 zt*B5}L@lkl^L3hb_nRR9_4sQvt_v~LL}zUZ)U|&piBBj6T4W}-awf-xP3~+}z6MwaH2a*bx8b_Q|2?mjl3qOUh8dBc508OeuQoDmJ9ywjzheTgqCFET>`W@( zyFnCK7Y|D6qm!sn`j}6 z6i*Dnx}3W}c;+5*R6g9J;HVpBKwIDa^s7NRDxp1K;iTOrqLYk>tN0G%*OUjMmCumj3n_Z<@+4L^kq$%-d_$`S&-)@;pw?nUQ^%U*VHzXH z&*ZVjI&X-qiR1*~j#4yxFBzDG(*<9!9=td(07rmfeTyS7a8#U427eJR43{Z7T1ka) z+IlVuC%3Twg@4%9LIAH6BfhHn(g{jjCK(byID5yXn^2&Lts|({$cZ#?*SCJftPR_8 zZWv{HFpM>H#XM!?HF(Y+1uRk#aGf14skAMnk8Bk8Rs{|zzyEIjb(hX!LCR~1SteKU zMRN;DL_MF`1-OCHT^HDql9P4R$=q&t$P_GV2+LA0VlFsgTCE;=pURzej}`%#-1*0( zxMh{f38dQXcT#+4Xm2SM+>vhV+H-dCAzb7K(mh)PQ@(Xqx6}nuNA#JLZ%v};b@0!i z)SiLIW=rXl;FiC}!rUoeLF`-dvaa^Fxrk?XCmf3)X#eLu=gN(vSiRBC3%^C)cOX^T z7=*d{ABLj42~MEw3Szniv=*<&5vWZ8)&dO}1hpZW?JA*cbA7^WqU!LLl4T2Wu<^M8Mrm-+30%Qdqv$Yi7q0CIXA^gd!D zbmpHtMI!n}iv-d9I`n_JHBNaXupw@Oq$}G;e|yeO3PWG+=iy5tYchr%id_y=$gD-w zIv^s2okTHfOx&dMhy+B*aXgaLTIs!Hn$W0*pltSK@6`&(waw69~vQhKeN%W%z1l za=4#A$K`}&%LhMUa*wPU?>zOBkx_Y1)c;P6hWUF^qA4al^#K9=L4Y3w)uuNciYKo0 zNyM4hl>;$w(D?-pY>Hli$I%V_iu9bAI55eV-3;F6A4_NdJl8+VYilI>0hM7XKCISIO*kv95pcCea#f;%c2U)2Bm zH3#|fesd_9`yK>+;u_u}vWRDu6xe&!`I3EK6uYRu=-*ZQt?U8^GXK0y-EJ`jq=(`7 zhPo~>oLs+d(%HW3IUR8FV#vBuwr6`|Efc_v8?3SPiCC)bX5;-qjTF@2^8K@qYryL_ z;&N|5O-W7dfn(Sgn@3}Ja5v^~jrH^E60ClBG|p*6SeqM>e_cJNCm{jHzI##|K&qZdisp1*)~~AgyijNb(q>;gzPAev}MY0N?wXbFSj&O^en_C z(C-%B8+6GyFO~p0>JC-YRMJ?$Yaac5z^SQFr$(pRdFJy)WA`nI)TzJMUnN@zhxu>u zs^6i4Jg)X=ea6w>Dq1K0zz1~+HFW?_7wen?^1KkmrKs&pIzVsug|bzMuc0N-sJ;v! zpEt~4*;Pz&%12s7Eg?rBs&~hO1@_wd(>?Spb}$A%O$c9<&daRPwKJ+i#sie%Tq(UQ z66f?CwArQ+C!`f@(fuIZWde_;HK%^orn0meJh&M-4Z-2(rHHizA)Sa8&VPo%o+k7E_j)l4|IkOHD??8Z>&{h6>}q zDAdx?4)G4n@%7a0eosqX3+%Bi@$1q@AeAOSiSXp=*%-->=g!Pt_=Er+-)V+YZ+-pG zCcq~^fy?8-{Wa}2=1cTG_%LZvWpMnaR{+u>{l?+utM&bc#|momHn%P;c!$=@Yj- zX#6p!d$D@|DmGBvkq9Y*iuy+Sf6#|V&qKAtpCa6__}y;=`-s1o^FuHE7y&#SjVy(U zjtN&%!IDPTe$l5sdJ4~79lZ4x7cYPJN*lgOgPjptsJ)K|F=g*VAH9zBLI7usN-(ug zG+P0y{5@yXK7%h0$gpE~bvp=Eu`LjMZtz*>yPhWs;mcD>8JD&&wR9AEeDp2t!gnoO zm_*F^e!rnVp{NnSc==O@&eXo*YBYf(FkBMp(lTRB)jn~4-%3_rNJlFZ9Dl@;(Fg*9 zg_BO?)Z$Tsb0B`7n|5QOSw}Vno`vbhfV+xPpRQ_5p^d4#uC$gvNlls*Vy`y&UG2jk zsJ!ENbie&lS_;Iu-X%d&0(>KchBHh1w6KXmq_MHRq$e_WmXDn@Q2RTs#ahJ<3E$~U zEmx}c8H{IQq0*Sh(EBj`#r3gZ4pvuwt%l>L*hAK=efyh_$(IXZTq0Ejidc$$UeYHX zjn=-KI)c-o>ZSuc6_wviwOQvC8p@zksir^92Z_MAtF($|ODY%?6m z52X;#-hg!|Hs~TF2mY%BN)!wH#ncaxToq@>&>vkz00$Nw7V*VUBDS)KtiFEr{%G{d z4zG5ol?v0Q|D=nex_IOzg;Eb(zt&APtqaSGDWPQo7X96j) zX)X@?lf&26F*e^E7d#S)`d+&Q(ANp^z%konttxxXjSW0$X`8V&QnRHJ-rm8#EO`4l z{7zyWD%4UKA}1BN58ABkD+BA*O!##}GLF|MI~Hd3UViichoM_;D3jf-=nsW6)=a~( zZqHn+pa{PcIHYGzY&0okdp+BYdt$ACY-#4AmgpDV%?T8gD)?Tj`KfFA5_l{mGl?09 znfxF#&?u2_VmKYTdN+4g1u`&cUh^bDem?o<(d8k{JDa0VL>s==`U%6NseAoIuiz`G zoYeBB045v{90Y<+OmjUtqY?w*_okkr-2hFP|65C_*6(K zo`*g+jOi%9vDPYncA$Po*FLxo<$W)fUZ*)X{T}<1@zV^A=w33m zOgtU0$?iUo8r!*~TB_Zo4Mp6%ai-bQj9P{}%s(2NzEr7>hAdPFb>IJ^=ohJTwJDmo zzaoHZiCLn|`yNGpMrT9n{}ZTwEUhw5%W%%dI=8({nB=CaUQn~npb_PRz2QSIqSI8L z;%C()y6XWVRo0Y5AgG0KZH6vZ<(pxd`kSS7Cf28r22Y_|IZ1y8dUrRF-{7q2jh_E_ zBq7Q+Tpje?iV`-2o^&56R3TGH>4*mzPv^t7Zk9afdvs2|U+=b>ei36upIqR<)j!jM zP!)*rd!$O|5x|zU#m-Nta@_9~GA+K@5;b3|xlPrr@pJs6_i;$deLc_bFy4WjhWw(i zIUCDSx1SGRJEv}#GW#Ynnt#tkEW(nQ9$$KsSJrR>-4gN-PX|4gd!HRYMF`H}WEa?* z-i8@M0c&os{vSYj{m6sBB>jDRguCqiOP`-L5K{Aw5S;k&+weum7V+ID9TU!;7V8O` z_7^roitoRx7is!N_Nn;AC{333em|D~$H!27BSy?wSoJRGBibPzmCoEL)?6EA?Bp4e z`+IH0V%Q|KypF3(fuoCDyPoyf$3?N9(PK0Wt()C9m#kGZ3oK@sk#^gLx7!$$TEP;( z&*C3PGe>79F;rt$;t>WmL{>2(L!D)KAW8;NbF$cBy~c?Kie`@|K-ByFUyM zjRU4}VYmir~mESO>dhdHi17oPodX&h9?||9L&n z3=+oL$JDbvfX|>bZ2cKSr6+epN^NuVQAm8ngNU{w;pwDqn?96~gVE$R1AZ2w(WKX7 zKS@LO9`1W^Geg$EmK?&)u|rgQp1EsT1s|a<3e+Q!Gz4Swrn1q}HJ!e$lN*+>0r~aY z=pkN5#-kk91HK#=qr{!Zf%4z=hoq)dJKRr$h3a4bJI@TO`pR5=YCgaPbxAdarWoy^ zkXUKi*H7|v*0qE(Lfr@U9G4=Ig8pqb+K3s$VCKTAsksT}tr4ewWwwd)p9;Q_%)e^F zsi()|Z>0zEb{EcMWa-w%i00JTqBPTyO5K;l_g*uH<~7SlRcw+AuJx^%Ot6 z?)pcMxd&kxTVNI{_h&zj#Tg7*@N+ZgBGYSg#1A}-{NJPkRQl)+I?2(}^W@<0Sj_fas#yhAcit}dkV>b;Wqn-lUH zxI3EeU^xVAJ(-Nq1)Lg>e4<#5(M%Gi_C`08P0UoevGK25@MDv}ulW4uj#yjd-OMNO z6Pa#*`N@0;6fgDzRifq2pB|OZI-$ilzLwD!BIZes1#iwjUjgp-Opp7DC84`N5cj=v zc|$R8?OkIi(C86H-cXlj@`}P6X4E;-=JAM0ynE1R#jkwMJZ3E?DCTXEZw!5%#cOn* zLjbpivVx$V7R@}@An0L(S2q3cj~;S+RoQRt+^2tkI6JInrF!1HaS8%}j)B!j(l?at z>`y@Msf1kMk^mw|jCd(}3{g|DJ9;U@{&t!9oWrl2`B&4h;5;WKzK!hdjA#*Sv5;=7 zD~1&+2EibrwLS(Bpe5woI0l04&IiBNu`GwQt}2bE{i>!X#w6e>=M7EKmEpf6ZP#^EBBy$?s}lG7lBT~>7T*UW3L1q zb8ifwqKHynf&S@Q=31N!z^5Pr0hUIZQqF46>0 zq7%#VLJP6jr9AJ& zF@6T+U2O6xk)kur)O|!sTRYXilwIxUL;Pacs0%oPz2ryn9pcJlA3$}u5arWGbO*lY zyo{#g6ZDnkh~KL(ysj7~)odg* zT60f)&jgR6F@`ZWj*ucVNrAe5+37@=X0U-cdfx^e5_dojS{9y8qz4e*-ZI zk`aAxKdj|(Les&w==1zLP>*zHM|+Dw_^!KJZW7}@I4kC73iOUaiP%TRh)BXyT?V>W zC1JqnYAGxyaE+EY?iGG}x+Mpd)A=EBh~#50y#L`R!wp(fho*)*fx=xEKyN1TcBT+S z1byN_ayf;Ze$-2#ur|gQ z1yuEEZljW`0YxjaVPiBhV2Antfk0%8`{_$(-JJLJG>CKW=Wq=gOq8@q5o?0#iDBz+ z-q%ToH>90Fhsh|-iBn6?F7BDkbRjTx6bDxYFvi6AbX&+X=}5b;%|-Vsvx~vPn!&H? zOd{3dfP;k&oSq|>qIzZ(z7c4)I*7M^Fu&Nym@V~)l6RotyIt;xr+_d=D#;-ll7xYh zF?3XmdQ&FYyJ;35)Qb^_cDfq)?!N5BCAoFEm|N`jcZJJA~> zgsi)MaQ&AXTh*3zTw(R6XWsG^Urft;B@yY>+ed5EB>|skeu{bo21qJp`^%FK3axBB zOu*f0mF8Gkzb)$b#=g(nV~+D*AQv{eZ9y}L&l32xu6_Oq1^^+{r4yZHI{)JiUgN7D zT~H;V5|&l|>^r3r(i#k|(Pb7d<-WZ~F7w8~F`I8d@4!w2GGw~ID!5-;`JTLzV0bM- z^cLo(oF7(_ar?%5c4u;Z#iANT@p%mO^Pjlrt!B?T!h)4te3Sgy+4%KwtIe>sXCEu1 zA738(>ts5Xi?Om^>#8l1OJvrUw~~bKQJ@CS<|8}PWA^qK{ThLu9n+Zy4r?<(kMB6p zZStgn;Qu}>dJ$jBAtoiYQqYUi&SIVxGUPe%Tcv24QZ%m&uIVU63+5*A<{wj<42;!9 z;<0oIucfD5a`fkPF(Y-*_1AkE+UXd@3}J7Opq$b>uVUCtPf{l+nM&>~D(p>_9B-Be zMWq4PhdJcgjNqVWu1Zq@5VOrpY@*bWrKDP`bYNNQc7NFQ9|E=}JKWwt#d5%HC+nP(=6_m2>Pui0G`$(O?UYk2A zcIJ!~m9bu$$ak=2l)V`fo;#CqEbk{DNA>6G91!^_A!?tie%CvZmMmp&R#wZq$ zoE%(l-H8T+|# ze&czzCY?ahHM$PbBmGBgg>+GnKXxCAIj;@_nT`hn$-=b*Hx(M~-sWi?LG^Dn8RM-W z9OH34pypxfM$iWltQ-Wc<^n1Qw!M69%KPMfb5AJ%5TneW27P)6Jek3 z*MqP2C6f88M-sqj^)NWI^d=KnmMZR+LbcYBNb%V8ti!Yj<9A>fn5n7GI#C43ow@k^ zRN8~(rs@-Xl}6qZn@3Q#+w-w4{g}@%T_2IeA-iZp9$E!o3v<;V-r|`VDL4MjAdS{Q zL}3jturP7I+78{rwW*izn1~6I5wZam^E+Lsjvs_cai+aU6VH!Wsbt{P8B#JI@1X&+ z@f^{tQ6W0_=Z9+&9_TI1FK*oKXyk^A?2un}ndQ1I!2yqV1I$vrOJct2s}bw=O4um8 z$$tr-I=Io_t9oL5pv1EzW`2pHYzym2_%N&_QH!t`<^=lhPK=Pbn6pIwVaKJhz@DjS ztw@j%9gL;p9XlXbVtAJr6+_GUvX=LCpoS&4u)HtylTMR|o7m1)nGZxQ-i^6Rl`{wQ z=z&e}U8UKIlx0ixDY zcsryXw{el?xSz2vEJa%Z!SGCY)KUb1IA?p;Lky_klz^bquR<+)I8Z|+%Ko%|kdRZ? z{v++xHiX0R8=6ck8|YnhQElzVPl02ixBeDS&tQZi7wR8!K%S}H|AnNU%?_m6ex*B( zKVc*r%;|Hn_SW&EQn|@rV`-WxZxf*YOX2uj{uKke_Nm~&vawFpI~C!f#6k|Yn_M8^ zBi&uG(WT)o5h>E3tF}wBCI#Tq4={JTJor$3@A&%z!W<9Cpc6`F1^PKk-r_sb(?`4% zf1YK-U4`j+VXiIK_q5X1*;>=94sNs5AqD(T2$mkN4{f>z2gR?t;*Zoh&Aa2?^>ep~ znI{gu;8{MZ%c^p4vjl z@4`aso?Fk=;5kt$7g3;k)35l9F7HLV?M4STp?ABAPhFiNs?k7t96d3#_Q-<=BSbyW zGq(y`!^H6`8hx$Xjwx9i*7AH2@ewqXI_n%rlRlh$Ymw^Re{W zM+s!8lb7dHsT~Z=_}lpKZj0a8WS(lKhh=!0k4(wp5mo2EJ-<#&3egXjT}1+B>_s2k z=SFj?Y?gSEa(_#o<@FoI=k;yM#W!26i^m9aQh1D_y-#;&!DHG&c{2tg5&$;PE{}`J zM}Og;_}A*Fb{!-zjA#UI^8*#wE8zDKSztUQi+DKS8sFtsC0S}<=0x4~ z5@Wuot1Z8^qJB_|3nbTC*>NTT=BrixsY8OBr}$z{b7Gm|poN z{Ll11fY~5TlaZ-o%Tp!v0N_4Od@Wy?;w6I5MXg0eZE{a~#Zl#VmI=w2-l&LB>Q$;FwEGY4Hn+)euB~xeN)6dM6uEJAgMpt~S#~mgdIOYb1 zO`7(D@}wid{CNSaL}w}9(Y=7ekI5EB`Wz>OxXjP~oh96!Dph5ELonPu%SPTsjg&i7 zZ00Kj;u1Bo3Y+D7*V`>m#QdCDcUuPsP5h9#CELGOJoFdp|r31 z5@`e=9rR_u--GLAs6vT9FvkAkE?W%@-(?}*;rFMni#90|JcZZ;!T&d?$o`#&L}>Qb zDY=o2ox65n_uP?t_7X?O)SBkRedbzn;I?RZ}0LLWLN6lUOrxx@I(1ckcvdsp2VV0(sx_oK?Db)b=J+)K1i%m z7A-uNV0*f3iIrvA0Aj9_-;FnwLC><(k?FR%w!7>U+|vP-`{%7qwCCJpeLromURFqQPsnfK{+I*FgCAi-T zz+`vya*#AawD4K=J3zC#avI!&$kA}k7r%^QL z5_Bu$hQuu2{G|d5edmx2!E(FFew#J@GdU35y-=*FlSVy3XaDoX&nJZBNGiiJ85(Mf zHXA`B)lsb7!YbOJ6L}JMg6xLRf+Ohyu9(Yh2GNsndZqyx!5Y*+C`rMB*Di?JFmV5T3AL(hl4v=kA_ zUCCW>Z_nd$RGMot##3fIg3#KmF`I-3wV|Cs{14AZ*q@1XXNED%? zRWDxMRCY>fg-riS#VtT+c8GkvF5;w)2Cl?qNzncq}J(6p)7VHK|xLmK_jxoHjgURaYvLvP{}k zr@VoB+?1xNzB8})_o|tTyA9UCC%X{)0_^u8yGkY3;O00!lB>WMlkNNMfj@Kr*HjIX+4{+0K&&4IhKln zIH`6>Q8>`2IB+ck$!{h5ve#ZJP#e!bBpVUQpqXOPEr{BKupHPEZFdn9OuJ!;j|HpI z_s}Oj(}Al8$3f80uSHa&4*@XYGL>efQ%jQ?s~JF^cu-g5 zCrtP$)g1_W#TjqYX3o`@X1!bfoFFQ!;54pAgEp%NwExb0mrAeW-|-t&JTJksp*k^r zCX91p32ZlDJNSi_B+Q1omlryrgSNMY&a7yN0Gl}Jwk|jHvV^L6@?$UJRj|FT;aV6o z5%G3X_369-@h_A6t{b_yMh%7t?isGSWS$JWbc9a4>3|J>+7k(pR-7}7*6|L6rk#)P zg>D;mTE#+E`7%{SIa1$%$~Km5#zXoI;q~Xfzf>C`>NSRAuS*bh%syQOQvP zIT_{PDN#m0r^)6Ps2MbwQtH&| zlunV#klg-Q8sU%PVi@!TE#|e z>uT*8B{OkgG@iR&zl{g86~ey58bLI6dy8dMS8BTDhwbFLiV@mxC;8c*bDuQ>BSY%Q zyXNxH)@LO3j5(M@ddZFeb4JW8ikWxH>a8YE{W^=7*TVOKtnEAE7*<4HjTqZH)y=il zCdbYQw-SN31?6dV*FY1lSj!6milo`dGOH8!_tchA_WS#k9lcKO53PUv1wGc-6>Qp6 zIerc7SvoRd^jKzb27M1(h_tNyy|4R8DmY|Z_MzZ>AZ=IQK4m+Od|rX}#}VI)jOn-K zH_@xUu^65bG&I;bw=OUeM$_c^x4QoO$C|K%{P*qrKNxp!z$-Cw2loz_tE^R%#3r&b zT(F7U@)66-*}0dU4>4R#<;i8)_w9{epqVTUtsL+rI6&DU^*CS{>)47(@RiA0pwUZW z{%j+{8!9*d+U$8FN4@Wkm8L{L8iV3qauawRQI1_*nx#Ps(+>ajBc(2BY9lNOa%Pp;Kg$IjFkr( zw!~EY7~l4luwbSb;XIC9(&Rto10y&GLht@lS=&Usldj34D{f|fPX{{4IZc$pR_E;d zZ$Hbo=mE-Xj}*PLH-(hc7CuNgHLJC~QwQ6xr1eN`j<4`Bme-sol=ZAjg+q~SbX z7LSPFrOEWL+j{$0y&YHf(N%UHU4x;wj`Yg&%9-xMaj6kE=J0>PRBxI(LT1>0r?izU z*3cXNN4ipgW4`zqd85F;Vveq~=&&*h(6dOLyVZe?Xqb-r7nMLa-6n5w>+|p^I)7_`03J=vMkRUmp8OugzdWLMnfL!q z_XiVM=*Zn<3HRCCLGlk@`9367PJvBTXU1jkwU-)Q(Pjpz>{l$8_vnPEQJ*QpJ^J-t zaL4|pVZ!ktKIP32i~17Seyzv8R#pl^o0V|ve2aBv^F6I2$Fyfa+I|R7gHy-9T0UyO zmHz3@1tUu-rna5-ZlBj+DOn)gCue4#ze|iZWA>!0+8Pru+UIPJc6dgR^0IqsRI{oi zDZGu|>o_tUP4Bog9bKP3oW$;hf6jqgqfH zn+eUj&Fh7M$E$ALAZr}(1%py~oa26o`;4e(*s;FP!>J?G~fGE-()6jcy1Y!P9B;MDsiIp5Ox24>IYGqi6$ncgiN1yhaR z@1*7`A#K)=c{D}h>!=MtBn7BjFL?IDpl?CoQET|*@KOyFLo$dUfO7(*e0!)VK#-yI zkE)z%Gk)YSv*czhuQwP?gR`L&yPfyKEtP2%=$_YH-3N@0zxUYiG&;9uoH zpjv=&hi*4f{T*c*Hd{Tu$BeNp_02UC zSM-L;K?Q{zZeND8F=g*mMz4=|O>ituwM;&v%;4gv98JxVrP@Nc*r8 zvPYRci8MF#DHS3=Ks_aHcfnxn)?MVfM{P(r#xP5)%q3i zV}-^e&WS*D&W)!i{;ZtaP$j9wV@0h;)g ztUt9%UqbWwHUie_@Q^lAYIKydtxHXj9w~ZLfL5!kZ{&lftQ-fuq;3;Q$}mFgm3iKh z%i(abYUS@tf&3?1xI24ugxAgn7u6hClqnfp5(cp6!6VWvbuT}L-#Y$a2H%$*@HCJa zXr zGaCN+{0Gm$R$d<=guP!VGZ1ae{5Y_L%kzlICGx%8dXt3n`9iPle)0FOLXPTR*$y0U z3f~mjr>1}TF#5QsF-M8YitG67Ao>|UcT?iAz89@8P0ivX?-|E13iYRgb-~?-ciTj2 ztS<3&sHaWTWcB0RaoDywTnIWM{|c;e#~r)oXbhTx(_CexosAB9QnVQZ*ty}8%5SzR zCRtqWB6aBegX;ibO~DA~&SnOo&dg$ez4-H6KTlxdnITK#r6~mw%Xr6=s_tf2UqXj- zI)ImZAALWMC8+XN)c+uzxg6LNDrd6zipJo!cay&L*c&}&J)!oKqg7!zF=Qkxv~8vzN_)*yDbl{=tk)To$aymxxP2o zATo4Zq21#ftdTh}_n)VAZ_WsqE7i|QpB=XziZA*^F(dK@-Snl6^s$b{0oAS*9z`^@ zxO^SaHJOlj6A~H$ZBCG&sCvzf4k`@jpkmFq@0Z@5@o(5hB08Yqr?fAwBOCMYmU%3b zw1tj~p8MM87c5HIcRf+88Uf2AGemp+YJTsxQaB*Hd8@cz4b3)2JB2iZ4PsalZ1os~ zTG`OM1JMOR(e&uoDyJL$flHn)d|AMrKjS~zy^v3c;D8=Mi?6MbeD9vNfOwc~%1If_~~kPr!VJ z=bOC#p4U6&l!L(65jN5fq^|c_2zIa|9-Lr#yH3`M&!kLvYfOK-;JY^AlnTG{GVrKPA?A!wIunog z<2i$KNQJGf?#LUdD*?w%kqtjiL>Uii?5+hP8GZvJ7-;Ee~>RZqt z&eYj*UmdXHvo$`ttoJ3WY>BwtD<63f(oU$^GV*c}ea2yvZ{-v3+-FtZC5&*0P(v$} zaO7C(!mI#9vpGz!>F4=wY+;`fR&#tvyyD_#>OMdRw&OpqfuAfCzx25K)wbhO(4TGw zKasmi8catO9jEwRcdv8*gfDHietmSZZ{u&DW_YVyd2e(`**ySa!U`l}^nQ{{UF1K?(XC;2OCJ-m+lvyFc!SwA7% zBfaSu=l~GCtbW|yeRl{#(S^zUfX-vIY&Ld7$R17&I(g)*suo$bwI(eEC+KEF6|Ma1 z=CbZ)Zj;~8`)I4%*AJlqFbe@0Y8%EW+Kv!oBh6G;2tG2)jHsx5GM0o#UI}Tn&z#@b zL-Rn8aQGRnsr!#eP(p_(Ev~11FEVn|r_ySSzqdM<1`MWh5wxuy%OjbIOzBHrG<3!N zYs_9+|HAaYy#NY!LY+4QBWWQ{3a(WHJ4-zmgG6y<*&;4|`3haJR_Gl%pWEyM%DDg9 z%HH$Dr;bfXDXrWc9%JaX)j0@v+ZwRA%#|S3*2_eA=o$G?L;Z$Y-bfKoGW|Y}>c*js zAla&4=bs{09k3_5=~o-hgPErNidj_J1yJu4gn zIC#Oz($8UJ%42d4HJF-mOH9-L0lH>-Y1x#W7LOtSgeSSeS^TZMy{$SVW1$}TXE#x5K9LBf^h3J;ZTd7d6O zXdQp-GNH=+hlPpsNy*t~k33Hcqwg6;t$`j-edd~HxIw$`U_2_Gzvg{Y_K0X`tEEmF zvILGjk+L-8w40MF=T5*QvS?T%^}s?f#Qm-poEF_`yzpxK{TCaoQo?=QhNgPY30r!` zjQ|_}x=+zfD2*$gN)WY64QDM_1MWtCvMGhhw(u8;pZI5 zS?}IqvmRXjUdB0PVR-N%VMxc-Ud+C{BbJhCJYW)Bv+EvIWH@6*1Wx)XguRX4MC1-v zs^1nl`V@-Z+???|{Gm4DnrV@`OoWw3x3I)T|GCxz+|waa+1kU+H;GZF?_hH@%`~RI z55lNwYW_{z*#7nncL;t%d+;Qb|M=Plh=Tg!m{wj~re6UTXul7*Y4@{SXC2=bdmhw0 z5E=x>qko*edfN-K$p!64op4cD>C+Je93?hS`_-qYTN9!6fV?HUk-F)FrY!=tSXXfA z3{C95LKWc;6o@#-3_^qhPK9S&2~`Wt!Gh-1Xt&(UyR-DCkf*-43?tPA%lZXAK@DWh}GEa0rhz?6X68#u2E+(K-k_QS`XG`uV8>&k4&3oc1WIAQgU|4-GUR1D+C0 zw}Ei`;JX@CfDP%ut>GmVFo`X*$3T2O{_e>1q4#d>P4%+;t@I)Ch>F1jk0!A0&o~CC z?tspi{^16s(pbfZ+B-6EzO@eV=$$^-f>TFedsIj9`Hs0pwFgv(+Mjn zPLAkL4`7$kjbV5#8aMm>VBMqUR#)(PlM_2(rCY&xLF*=Jbh%qJ*LzQ9mG>A~qgtw- zD+s%i_j%j@E=|!bbbeT#`LZKvX6qS zMYrC}3l7Zm@83)T`7vXndNt5tK}_apF=>!SG|wUE7ICPRm-iV_Y>4c1z*U2#}AOE zfr4RO1yomZW54uXe>wZM6NQ(n*x59HM;&8Uz~R?1QWLeY8DH`IOOz|`Mca{khY;e{ z@74&|mPQvIpgoAbuNw}b$vibckm`%*Sx(5Y7aKEurRR7SR1trDg|pP6_+w?pKG5Ymi#f zyIAPX$hsk{#99IQ9nuh1w)xZHcuZZC+hyLl6Z0lX9x`e=+;#!(7E)lxsN#Ty7cFY#>9Mg&^X)~32e-)8d&F6PD(M9d{E59>V$&6**rx-5N?~CuNmu_ml4quS57K=+Bp0lG9cZxbaVS zoO3Z}I2JOD7;ev2&5yn9Xh>G?C!$lL!52^MystnoI!GDZCnqe^-n)*l@=~z8r$usI z6Q&ZK3jfvO4mCjJ8v3!*1eP`Qx9uBf+$|+7=bf#to`@nkwXznL@i9s19Q<(zo=KZi z*pxj6uZ_ZbS`484{d#5wh#vPe2A_LNz2a8F%46?!_UUBs4#Nt?0%TMS)r-EqP~ov9 zJ_3b`_=RE-+>O1Vv&%eRxJ~Y^aKRIgdO$@xrV2~m%XH~eH6+t4pX$KgL2tQgT*2@a zdAuIDehWkqex-@%*jX8;b-g#{|MLl}bQ{GZh3JvTI)m$jMi`dwG~QUfv(b87g*~^7 ze#xO#KCL$R$*`!7rKQiY9%AFRwO4U?>?y3q@v!&d_*6qO%Fy!R#2fJ!)J9brmhP_P z|DvC;@+eRa{Y$^li|!sluS2(F7}c=zKWb^}&QTEnBSXp7tCnLO87NRUmcB-)(`YHP zOL*N?U^ng7DyCa#|18EW6nd|Hv4-%;^3iP^Tot-)zYIIpvi7w{N}Q!?@e+HDJEjaX zc=Bqm)+K+!IuvwpAx8{ot=Ml|$r_3;-a)!ozk-S5MP%$Y4s7}vjOniytjXYh?K|HQ z?MazK8@c3}EtoSKjR(i8OG}3aY#nveCJ#470A5Gm{SXL33R&1I)Ulv_h&<@zX{!;1 z_morvt=w7fr*zxxR6Lh=9yc4YzrE)=H4c7hLCI6!gnH@cDh%9m&2MSc4H!kCJYfmM z9^!E&zdi6J`iy_iYNZ>ty&Cx`GtN`18~qo+hiu~8y0i=%JOI|<*PkO@UC9~g1x-I9 z(@UbwNuQV8ee1HhYa&bt%8UL?tTp{?($OnJp!4!hry+;Va1mU>ld|77ZN$Q*w2~HCq?i=JOk2p1RPUywYvLKI)q}5H%mf;56ja*=@ir8nLT*j%Crm7b} z%3X78+7u5?cDC*f5XF+h>*5`5;^pW=)fAtX)1L@;XmTw37?onqEEF6Y6O0a*a2c6j zXd=mqe#JADXXK(LN^8VQi1e5Wnes%W^0>7+Woew0Uezh<4>!-)jOqMSgajNf{_az4 zrU!_pOY~qdkQBd|d2U}xFy_Cjj{W&jz^a`;j+{{MW19jb)}x|>3p*)4LvW6IE>0q2X^i+Bn1@WAT+7X5J4Y54 zQk(XtD{RVZHx*#$s{lal!(}0TVOW5nfzjyoI#r)ghl?SLV28?q)bOj$ya*O(#t-d2 zGQ7zM&?~E6Y^!_Lno&BE7%rRw1pCmJ(c#ya)HqxuF`u;)qPvPZg|V1Raa?J4wXOdg z=+Kb4bT1n8FWpx)6uCXAYw`GL(BfubgF14}5_-51W?%>#{taf^QyK%;us6I=}040Oa1HN_+e*0kmsPX zx&pKS8nIjj+%e*_H=pWRfw8wxs^GY$QRQg9`YM=z;3ZpHVA=75HyGqz!-t!;cq?_( zFmgoi^wnjy8R6&luC5!tBc**@e-=NhN|Oh^t8z@%k~}@?CgJA@)bfR^j$96(q;DZ{VdzT{a-`4fT7fO8Z59vbUNK{2Iu#E z)tEfkC&2RraV$12c~t-wfHos+SzEw5otuuHcGHz&zVj9xfTsJ^P$%uYgH>2#an8->)6M>X0#WMc6VxC&71i){6={xuCwUX3 znWjcuyZNJ|MnOBGc4(E^;AU|pL$r))aqF&$_^!fp5%{p2Vd;OX;v6oz=dQxr(6kyk zk`UeUo_D8y9GR8{=th5#l&$ZHMjs`C(&rfrd#v3}1BBm*M!9RyY{fS6DZ`y1A_@TL zowJw<0iVNRH*Cc2QuUF4d77`%Bm|>loX-Ls?BJ)j4XJb2XR=^(Gywx@y#Q8aVxh>} zND!?f{Gv9ljj+Sbph~$AEOu;itPPhimbwjg)7x}H$U6F=8&3iEd*C!4)S|Gz=qp@I zqm{41FCo)F@wPaXI?Zi?j&g^VdhiL-Rii5*N_1oii7(7QE48;DXVK!U2IqsNt zb$?L=>q59+5`|PXQX7F?hTKPVGrvH|%P#+jbK9b}4Cy7DZi5TF$Gq?PyLn(uh)vbE zYyh+CZ32MAJtsmq+KO68_5yC}?=zd_*X51!F%(W}yZZrq=jSU693i|H-&mLfpU(4- zfDG>Bft}Dga8C{q5_TolxwO?#VTv}2s{7#C@@1>-mwU%)!jc!vv48dVByOg`_EAma z0&qXCKELD#UFZS%6krVMdLtK-hRmc(@itn^r=;$vZU9ko%`RgtXn z4Di?+-anEAIOBTq-t{h9rXlTCYUdKxm^PuD4M5$@!we12tWEtEX88eUmBmCi6$y@y z=N~ip{zh(I5%xoIcF+RgZgG-_=z8)iz47H@yS@3%Fas*za~2VD#TX@W!;8pmSg~AN zh2z~VErRKPwUIZEaz&w^<**ONF?*5qRd-&IyLsvkjGl^;I_=}}oaLPmLj)RZU=hlU zn5sBGgG1z2>9 z-KYEtYPEOK7wi;r#aA$Nj|b3x6X6lIZU3!}u(s9XIciXW7WBmhyb6*uC+6;5COp2E zWne2ld8Kp9Md*Qb=ydd{4D*1_X!{^k2V`gypj;^7{my~lYFGMG zvQuc$gcEp@eg8)AIebfPj5~+VTqWLv^>J*Y&Ifh@$}qd9DEtXmY)gQ|>1DLqc_pO^ z*=)D4g1vullR2Abv2;xN+Iy3(t_9yUH{igZkYp@ki7~rXU;p{GmX&4KozV=~MmV?7 zPA0IN$`32QXLd0} zMsJ$d=PrgEy2u0cN6r(E3Ic9szQJw{@54k7Zs%l{fcgi#k1rJ@#O%rXCBw6w7w5dY z%A)wSM9!W8=b~grFdt7F-k8kR0UpMYu>RG%6eMa7P~^sT-X>tP9CZY^9Uy~j6M-XU zqwRAmAq@<^_m(4j1-|`UJ2?D~k;I)2MbrXOVyGeXe{8ry>pZm$Sy=`_P>Uz}=LI6Gw%#rqPr)`I{h>QnR6>^sbVA+0|a$I9Y zzd?g?or?;D2s(Ic053M()q!a3EpB*IgF#)YSfHD+x;@DBHdPR&!S8C*!+xx zBoIDeOCrFT3z;xaJ2VZF(w1M@vG;fU;E%jjK>_v@V#Y>yRDIvAC69dP$ z;(puF;_BjfTJC;lToLv+bYM4q?;>Q};vJWX$#hu=A3-X?ukp+e=xoQ6@D>WMT)30E z6G^!|2%wv2o{`rQmNhtV0{$$aSBvBm@AE_ZB_pa}pD5&@u%83^tMP`yhu(5hWa;t8 z$N$kV#5x51V?uW-d&7E?OKM@M3B4mP*<@yPu$Wsm@IwV6AStVo&^svmY7r`PC&6Ob z(tXz(#m2C=WPJ0j!Bd}(gZUl7IDVwx8S1e()Y^@}`v5%3TX28d0Eq@WUlt?hM)5(Z zpm{#gu+EWFTQH+#zjH`h3B6yC=$VdIVXDoM%BCCTC_fljF1mSMGg2{XF2EdX%TLrS zQGH2klV)7uG4%&_rX`tsGeH1~-a2GRw;a9Gl*~5dsROG6DhBRqn1jLMrh`fAsp2|GC8f zWmaXCWsJp)S+sd_!Chv>TuOIPjkd;|bcO2{DA9irYMG%lIie-A^RH7oIJn3^l+U6CGi$Wx zRX!FOn{&H2PcmDtR`PAxo?sLzCq@Vt)^%iF zAMm8YTWR%JPb)jHL$Oo%vB_>qR6$}*iv@UYs(T?1pnT8q`;}+L7U%MgL3zJ9;;iYO ze`tqgI98dY${E{WqBaNyYH7+c&&-KL$0QJKV9P^2nKsl~Zc>_}`%!*R@urOT+gcS_ z&aZ=?2M`N^Jx_WMV(LxOBD3y)gs5`PeVVd-n6cG5e#})ybdzUrzSsYl#;`00=y#@w zh`nv^JzStF&zT#UUp74AuH2lpT)79pmU&Rv>fQF_lLUdV0F&gTIo!GZm&=23&B@1n z-YFE*c@acFs!OEIK0^Ky=0Gm zBGj(q1-%{Qft1jnL;K)cX)uld{(efb!bK~0Z7Fir&0dm(@taJoI`e-r2?Xk^F1!8I!b^ z2`A-k<;rj`J5Oc=pE){d4oinyK_cl5WydNpXOfA%H;1tRyF(CkU;JVdn}cg_o~NFMSD zD_aFu%`%@S6v?q~ppUCV1w#ex>n=e;A7LLAoV^wFRbFfG*H)LV;+8}^SNm%^|1mL( z|1-B>rpK{HNj`2ldorL2<6Br7ldf&z@CYXVJjH`cZ53NRkCB$!YAG~S@*}0wp?NhF zEloDnOjHns0dC)cf40n>86jWINhxl36E{sdz|Rlb>z;k0%Je@P7t1;Suq@wbuFI+^ z%VvU>DYpI)oq2g%Qtqg*Y#Pl!M%%`ksgs3?be0bmUtS5$PjyF-Az#1JKbN(f-+e`A zp0Oz>@Dfwi1>~3%z!p8J2`rEeF8doJ zEnx6$M}~92dsh5(^LcovmV4l|9`$1t>4ggiclVnI10VpnoJL3U%6}F^S1o~`ifrqx zELQ2V=(#5taka#BG+5y1Z~m5!WLPdiul{LlaRAX(iFnqAuaEH%r+^N#xp=<>jQpWr zZzne=pwvOAgXyCz#qCfiXNW05ZNlxt9^HuYv2Ppxb#(hW0v70ppdx?{MXoYTW7xXS z`|M$%@E7czcYj7X(=I7W-3HlM_MnC@eWVVAA6E3dJ6WWe#IwAQ{gGjKu-+#5MjyGs zOsSb*Vw^GuD~%TLOv{`j+GKFyhYVJu>uw&E3Y#ZpBVSh$7{Iv%;>_1=hd+)5EbGLT z_-Xk+WJqV-C4$o4(1AQ(hoa>rK)K4(pOiP}bL#ajbku@ie$y*71zkF7Aq3z2Ipzg% zFQ!ouoPI5`+*u5o75sYppt^$%W31BY5_dOycY|qr|2koY79e92mR(KDVd4s<(B<*a z)$z~hSx~*R(7B6nhYn%sO#Xr5o+ueYIFh9yGhCS+_r&XinL#f0&T`7*qTw(;L76wh zH_DaQFV>ZBl@E)b7gF1Hh4qK!bg_8qnNDO}VT<&z7W^{#+V&-YFF=*dSn0(E`jJH5 zJbl*V((W%U^pZQ}$2Cok=U<*ZlIgXdA7cC2Uq^XCB>RF`g9|U8x!5mD;1g-f;U9z-g)Wwj#nLIkYiM*W2*hFqw7tkKnJdB zN($bO;$NbQc-cv-7-_yFan(YD0wGC`VLC2y>YU(aU~zURXnmlr+tn@Yc6DxPbFkrZ zl+Oz5@Oc)k^HNbhq9j!MJC9S|6c%YTe$B~WRml}vr!ilwrOTAqf~-608bp^qx7Fke zt@1l5AHqt|)uEu<&h!;(yI|zT;HLerD}7v3NmgaI1d{M7v*+Z#;%=%HeRSwOYp@)4 zcKDAMiHh!6rF=(NlGDy1zwLbmHONX`#YQn1;`bIMV>Sb` zThtrIbCMvUh6>D?%wfO-&x5VhdG*(joinqSZ2TkHhEXre>$iNVI)D5H8hyEJib@ZT z_X#*8>UA+4ID*#Ul9S-D+ru9zjtj`5e3Ji3r?wQE=R}kgxv^zVt*d})qvU%2B@WF;h6_=3A!fAbAG`xJ&~ zwv3{eyFz4@HeoaCtFH9xxN|n_GyAnapD$q6w~ZoZ!@-yox>rrJiMJ+XoPCsj*Zrk{ zT*QZi)2|cqS%8^E|J&i!_a}^1D5^Oh9>%c~4cC%Q!*L>N5zLFOt|~R$?SDF6-ltjEqf@ z(nVvI-$bqK)=~)TrZ4At?y|g+`EAQUd6Y^|uw(oL#+x0@&+2zB6e8dW*^K!b!C6YXBeqdBd04qoaK(!+zAG8% z1XF43lxTyik+Goa2`FGm=KYBGNl#71OD37oX4vMJc{x)|m0VsylE0T6yzfOj=UtvV zon4bqe3zc1JAz-xx}!a;;|f)`1{yT*ml8B~M!vn5LqmbHj)R;uoaoL-aD8ECvV%hQktS4q{+As6c?3Bv-y6i%?8oCV}nUzkg zGAT(o6|p~jVpoIdHZ7xtG5jV7TS&MT-RU=PI9-e+<1X`*&5zqktsh;$^-!xQ< z&kjKLLLE1IQw(37_N(#t`{n%H61hYYbBL}Q(V!P@ciz838&oG%CruLayYdm$$uUxg zl!m%2J#Za<-aWGLgFe;cN8*;HT=LC)lT$mFNq|v^zEKfJatW?pmmZ{`RA%}=28l$6| z0XRlW{ff{~J-TM2QhDidALhJBYa3_2TI3#Ok19^JJjgJuLJJxFUK{^1^_v|fbYTqa z`&77N;y~(Q!KDU2Q8XKC1ENhy=ozE-;cEf9PhwPAkVZ}AJ(aT6*Xi2gDu?AFBMRXk ziu;kBqZ4BwCeF%lU`9KW_oOmtU&$W*nnEARcWMV;$EH^b`5b`=c9#g0p}OCQ3vV_d z(O-Xe<`TYjka!eNA1f1Q89|w~T&3)F27eV?t#2QZxJ(w;Ej&eS#JoFbIJ>v=JnAvP zl_b{%!z^A|GJrpLV(FKSB=;LF<63D>f4L#O9*NR4(j@4m3rytiTZ>UpzvFitOAah4 zg9L<#c=xAa$}Fh`63T{tiDZ zwn-B`MqA7P5jy+w{iH7wY0uR~Us=;o6T}*Ek@iyay%{g|;8T9(tnoPFwK-$fk7?}g z3*TEu{)Xn`e>b>%Tbs@V%RfW-R7Lm9mubluJ$8fF;}xif)!#mM+9KTxjH?`GEkmNt#z0&k? z_)yr%zgb^Dk0EY;(!>A?nt$jp4lF9G+gUy(bgfBe~_bG*8*556@cxvwO z0<=MiIXc`URR($M{Px%U%T&I6&hl!Jup9{;kZGTsaK}pRg7vgeo~C&DrQfBSlYN>- z0U$)o&3iVo^rE0kS4+I3KC<#40(TB3#88W6r;jmX2~uqV%ua!Y9~itPnjM;Lg=;Zq z+D_12T5XgBlHc3kC(i5;c&R0=@Rd4LB4H|nxi5QTb$OnrJs+O3u#|84CM==(Dn(bn z^x$V!J*GA$o5iEJSm!8f!hO82>++p1gK>=cvA)0M;*cKM|7=r(nP^hCwW-~w7-dAZ zh-;L6N2A0wXfBybt>ELEJHjcnp~O|WaIfilk7OOw=HYJPPCLhj>);XE<|JwlDk~AK zhC291=Cbv zI_+0^b0k(Tx@6WJ!LjnL6^CK#dtyJm`O;1|WxLeCh@sisHZ)AzAB$b-r>M{$j-U4X zGPK{O+}9%PNBKMI?;BD}3~m)*w-1OoYF!MaZ?2Ry_M;E8efSt)nFXxaL@XCD6+zD-jl8ZWHx} z|B=x#@0;g?Yj6AJTHCg!*pj&}*^^dm(H(vx3@e8kB5iLjc=x;AXzkn#Y898x7t%=5 z49z*)&cT@?VaULWn+W7wT6-u#m5aMyf>ILsPu)kt#^$ucwS{ppa~yT&n1~fhpsBH7 zN8eB8j))9*0b~8EMA?*(yWR}eDCpg26KtE-74Um|aRztNx3^BT|dm^=`9ad9$D_+)p-bgYQ0-SC~0|B#-@_j`2LO5zj! zEQ}`Rm?aeO*0vk6(?A{G!;g0-(QC66p7p7juc`;ynd0$dN&5ZwVvSemE<8AmjXb6*0dw&u7J#1>hwfoHzzqRESkdid|2N4#uf*_zfzbtY}-x z*NaZ)WHDDVl2Uqdp^!z>_K}Snf^LTlhE8COA4R!8b9@&qV{!7vnd)kfX{U!ovH+N_ z;U3obLW*O;cvn}ymtPMN)5y&_y8*3qGxlA&jM%L>#27>9VC(ZD5n!IoDB zi2erey7`u*_JVJ3`WUk<{fn^sY*~JWMd{TllwW_u-8AxGk2O9WosLy6{l26vL}L_^ zD}{2s63`Myh2l>hdv&snPy((aPn`nzNwx4RX*4=nO!51vY@meLU<#xgtWYCD@v>*!J z4GF6JE~}UjWKOFzI44$0t?K%*AVy%!>6=7eFV;D)J~w=C=^M9Zbwt}ED$}72j&L&3 zWt&tQHWdS`!^)I8hhO%qIlf-hMrj#FB^J~9gEMd;Tc~Q8eVWj%%CgAf-L%k_P)4aH zJ-RU>)nYMr*N@xE`Ftnq#(lB1-`=0jz;cbS5`I8tC&^w0S@KF$D}s(m&(yQqFT`*B z-p^~!kL;Y>wl?}Gc`WuKM1uta8eOpS*(-~)X0^tzo3!ir9P*xu*p7&-C-;-5k~HHl zQ?ziImPlnR8s?kl0oYO1q|XV(aI@t!F;s_DMBWjPy{(=nGq=Lb9h`UBre>qg~(#zxp7)j=AF}n$C8sDgUD^Rnn-s{D@6O9P1A@42aBwd*vLAMe1C(+sZUGB+>x+SmJX1bmo zj5OPeP_lk3{FH#_EHP@EUXLwyPeo`Zh#}#p^vuNd<-JIPOAbA|N#z68OD2ZjU-I5f zCo}SHQOKIY+jmZfS7Xhkz@^9z8X zqAh=eL5gzaC?YD9I)>CG&WJahuuaY~&p8Jg-*(t5T<4V@FA`Qh7boqzvZiDBbFF5PmG6kz$-@@c#84TgYJhrd zMKymI_O=#JjaM-_KIj33W4yzHsvXnAxXe^?Mzd`l=~S;pgFhW&?5e6)ull0vM@N;G zn8V4H=uY|pcq8HSl3wyt4dI|vfcqW?h-gDdC%xMvF`;BvZ{!7>)D!9lPmDToGFhZ4 zRy*+W!cdX4BuTvfk8tRr{r|9Rp!y11%|C@WrIF_2d%G|Bidp2RYq+tEshooenrIdN z|D#`-Y5$U&&!0HWK98ilr}Ikh6gf&vKUWU>SgIz$2rHB447{;@IZ}aAc;!>pWSQLP z@mQi#$+e49&}HQb{Df=Qn7A;D^)&Q1D zm1x&8b>85P_5(ZsZ=qRF?W}gsNQEiUVD3{zgPGS$BUhno<4NIn?+Z`Xav=>;{1@_7 zG?Z(aud0Juqp{vlB5I}3vVbE=f&IUJpsogRzG{ft=)hvMj%%5_Y*(eymD#pN*B0Hl zQ2%XOs6%JbZOPF-)${=IybjB5@kGZDGjkfPYFnzbp!|@B477CUZq zmKKcU+4CW>)`!j5766J?pXErTsiVv$1&C!R2~{0AAd~(3YV)v1sfs0`l>WeE@IN3^ zXhsV}k<-1Je)**fJM9M!)f>r7<&5k1mn(iaHMlia4j^2~<5rJS0SRb3ynQhX^av= zp@y?d)N*f*3%-P{)t5%i0esN&NkoHRBOY$3tf9 z{7yOPGRN$AeS|^kt6B!lhi+D zY;wLU=5+RA4_d~<+C zE^)KA?zu6*&rbO?jHG6#@lO{m`6rdGH=$ys=f5Y)Dy*opCh8 z+8vg9rweq@!yMGyl<)SKq@xyqf_(9Is;5U+U_2 zO#9RaQo0f)tfrM6gjWN&Z2zI}sZ?bdug;zauS1?;&%0aq$Agn;3W#&QzX|r5uy}jT zAFmfn)hg`xaYo;f(s}%R88jXAsVcx!o-pRaM!>Xjrv_&&E>|a0AG5?|^|4?FZ2cRv z*3+s^mgnLZ+^?>E9>HAR3T?{ZktFXQ6#5XQYzOGD_DB>#(Vf&Zz0T3it0xOI}hFHCMlLnvf)?SHt1JUmoB18pq$7 z7=_vpXR>6rA+lQXO0oV2h<|m4BD&ay|7BjB{vMA{Dc=8{)M>~Jq?fzO#o%Xnd%EkH zaUjHTIAQrwq7mI)Ib`0-#(?&yK?IA&%CkS>*hX+z$z$+#Yt?fGLVps3is}~1MDxEW zSdNYJl~ti;<9e4LOM23n3})S%n=B2n0?TVMpQ+v!5mZE}GKYt|t|glnlUWpX#@t}z zJ3@>lmAn!IEJG7$^!>hPytxg8Y?m_-Xr~Gowg1qd6!Hpyn`z%fZE~HDLbX4HB+(i9=9ZtxiwGJCghLuymcxpZaTwocl?%4AwBMZiI4t=^OjfW%C(I&gUdP+DWpI@FK7Sq#FM;Sw4v(Sd z4Q!SpDmDu*^xLpXYd_`gST+IXd1G$U3h)z$=HmnN1UqNyiXYT!Q_gin=u|!qhq-*% zGI-{1_|ZrS{9215#EPl1v$%4NalbNggf(fVJqf)CREQY7O{P$-f-9`mAb+ejv#eR6}PdxzP=Vsk#?bZU8kj`Q{tYkyL9Ct8*Cr30f> zuG;r$XmtJB-mbB+m`OW0Kx)=loda)ig}P|f}la~c)i+o|1!$5%T^|| z&o4l<^jZUJtNw-Ry4?V_)*@oi@^1PJuH*gm~4sn0rG;l>j^6HNmC51j%!$2-BS6VFf&G7$_+(Z)e*i1sR9D%%|RKkC8 zwi8G%ebYLyW9Gxzc^wFUYxv!M<=YO61j zVvA{aOV_x_3W#jz-oW)R>M>(ZG{m~4zjqqp28RY+8wqMVJzA+?ZwTX?lGm`D!I~i& z-H8eR{MC0gR4uN`pNs45cEOg?5BQ`*VqC_{iM+MUop;Xu88LX->r`xSl~X7j3xmDo zEE~kK(zivn2OS+fsNIh-4w~=Ig*t?~s0k|(Q-VAX?0NTf2|3kYKh4Y&$yT?D6oe*` z%Lt%Sx+42B3YORm68Za^$izL|^OuO_^@k#um~H>E@OKwp{tu@){o^!w;?qYF-UA;j zzbXE1y*B*^xxhu*8lrNi8#A2fh{YinTt@#i>W{3P&vH7D?T)hlQGy2C8-zIX`Tviv zui%QaZJHe1A-EIV3GM_4?(Px>5AN<3+}$O(yL*t}2?Td{cLHQ@p67kP-Lren{)0I) zHPv0+)pbqGU?}myl>D4@f<;#FPBSRMDlYfzDdVJe%`QW-icpMlAALXen+O{gWGx1g zwm&efZFJ1vk3{@1!i)4(2rGEDG>_c;xKCRTJ83-apG6p!mKY{>s41uUaoVR(a65aY z$E`)?f=4$3huSJqye0*YQ8XZL57tisULiNzMS_x%-!nCIw;{yg`oG8&pwRvt`ktq$ zDbRx$04p~hAilo8_o22L>-aiq)`+BM@=~j9a$9Iz905-!n2<2i`}5?u>`#3&#=b2k zgh;dl43;^k_)fvPMXt}~n~vy7A0SPbsZ6)C=gbz}O`CH5om$2#XNy_!ULFA#4HC1S zaO&$ZwKK2_?GCQ>P?b$}pSjzYG|g*XJMLJm&1`HM`MY&yWr%?V7kcA<&#(IyS0{zg zlH}^Svm2%=SSP=`t$C@ciTMhA-H6XQ)C&)slNfG+(PcqD#ptT4;wJ*|sWPE(Ww;=+ z92FhqPt=AQ6~j8v*nPmg-wMBmK|g@8wSMAHt$5o43aRy34104(ZH}7b^>-($M-F%S zu8CasnHK=52nIRxr2=K2bRJ zjo!j7-sp`@A+wn3hZ;E~3HS9p6|rANM&ZlXFW6S*U;ML;Fu%E|f-(sa`z@tD!kNM= zN`LM8?Cjii{8&(`z$Vmtv0wTgc?HlLC0}e~#-hR-rKnU$&7cFl8;u;amWomXv8ioS z-LDpT9VZnECO71nWj#~yE;z;DdPBLJaS0RSa9`ZneUwO}QZ*_rE3Pr*Wg8**Zt|el zdr(7x=SBlyfA9Af9Jh=jStMXdNwTAS2sm%sn%JM`C2{hpl{I60k4BlKeKZw9k3v)L z!Ha^kNM{bq$d>0^W|~MF&2F%fDPP-8RhQJ+qMRD-#^?4%ZLPSO4UR zhSg4*s*0k6w(97jh0q}WobTOT6VwYaDA~`*%zu)sQDuZj_Ii=cFcT9dP&!rd&_)KD zMSXy$vd}&Y*E)yF_@ikAz;w0lZ#fxr_YUpDd}#C$Wx>v`UpD>&yZ`u2Pl0RCJ&hW8 z-%NlS)x?Do@=Mf@4XdcdsFrt=XtSkDdTVtF0^=oKF*}{Q{C4Sidn->5GUe?oRm|4< zvSZRvCo$WwbweDzldAKTYE;;F^R`Fj3IubbJj5_epUA3msYsTz6(0i12pznM)UtGj zOQg~l(zgaT<{zTK45$`ejw z|H|jw_NmP*H*F{)rY?*?9=;d7`cIV{9yOz(Z?;NWxjCg6-I%1q*FDX9Moipuf3cJ@ zg|s5r2?H{+FKj9MtVWF#`5wP&PkM?C)Jy>|&+Y-y<+Wxd|9`H}x(kaysR5>ZU@ zw_lSm$e_`J8TTY|%&;8{%ZB%oi|!>r|K=W#m_BL}MHgAYs9>T- zGeggB)(&yUT`r-zoTkH_Z)@S|u{!NF)v{e-qf+H2e@dWb)dd`k{`K|gI_ER1Nd!(3 zHR^{{&xw{#AC?51eyzYY-L-G8ehleW$h>qo&L&5(x`g%m^)ZTlM*jM6Zm-kIW(z4rr#^YTey#qXIj$VSHK%=VPMFWb@3gq; z$Qd1lX-4@c29}2A^|6e(&#GF{1b!AoC?T1_3|<;9I70PNG^Rs;5(EvwpP)TS1XnM> ze`*M7_^!K~8$0kOFe;~c;2f6Ve~Sn}8x{`Jn$xp#)jdv|O9<3b#pvoPx(8n!sk*X3 z1P=NGln84I|1T=Ry-vPXvj5g%WhK6$tjd{U3k2Hiu(%8mN9)XOffW?(IyekkKj+$IW?1#~45IxPVv+(I2c%3#jk=7~B{Vp*r6p7z0c zplizIsUi3*ic-7!7-j3<Z zpB%MNm<|_-`Pb4=Y7ZaCFqbyR=4NGnz=qcr3BKWJIyU@Pu5N$VOijv~8Qp4l>NI4gq9`{G&75e_=NphAizn zY09(AvfcO#B6$wU%w44 zJTAISgoBb2S`@z%b&7v>q%F?sPTKOV9@odF4;3yP5;O3uINO=_lbVb~en50hs;_jY zcf{YvErV)-6YpVEbyC9zDfv7=3C8bmvME>val5>P^XTxP*hqwzMj0ApCI$!A4kgCK z&<_a&J%Y?1tHrRwlNv{ZSA)yO)>rE8EwZ2@yA>_x^Z1N>dfY!vzH#BB`(3Q`VbE`P zF4mE@2j&-nl&`q2MA@)#+Jp)%?1l(|Oz1Os7jMlVd5_?Tj0~yL=!$emb5iF%|9h3F zkeCiDCut&zU*=IXZ>0FnhIPL(4i2T$Ok@_k9@(M@k-!mYXq-2S!%m~2b^ZW#BJ~4RN3;Xq2sTCq6$IfM+ z&*J0WT%=v#;5_s6LdHt?Z*iFuFUUq*oj@UNiKTJZt~!CN_%PzK-z_}Zzee@H&HrNO z@fSDz^u-;e>Ts!gG8V3qxY7S zmK|9K^r0Ca3@!ryH?ConnoE>gfc(DWK|dp@868ia0{S6P7|tP%wwrFY&$hAq$G_#%52|c};kY zdM8}0ekFJnL;Dk)!A|5t7Hm-Zc-%iyuQg`h5>)w-*oA*^>Hhfd(a@ab2dz{1V@rSHGXnljt3_`Dme$xMp?fkw48vqo zOgKYXKN$V=Lrt0ct#TtW|HB#ixe3W;=HpS(aV)%F)M4nIh%CzrXF)tygT5Ujra9%2 zGM`J;Z8RE_>@Y&lQ!BwNwdw&9P6!Oyl&Y2I9rtIbN)m1*N3Q0ddL~zjn}qymhu?Hj zw~42Vz&ZQ>sky%x#Bv&I0$nO^s=nQB<}R0NGiNEbaNV9Qn9(Ta*A06yRu8P=a1es` z%Z_iH$d399I-b;{jiwX6llK-X$(>HtoT6lJ+SW{{WD}r5nEwy(em-CBJ>dJpLjon2 zdv|8!;-oPYVjR^@oq~<>kvDadXbm10897CUNMaQGAME9CgvCy|`eKCqLx7BbTboP+ zx3{x(si>sD;h{&+gY098DYe2y&|U3Vk2nkg`>!U6-2%*x^23}xKu^dg4-bwS-L!mN zD%`%8`B`4Tz;7ZIuBRzOE)R`Shp2ut#>S}`Vz^JOL2H6@Q~8Ut1`xp&cS*hPO&n>V z%akDEhgq55d>l87yV^TBfFbk^e6-BMz;bycD+K!H>hLOI$djN#nZsxlVuO!WdSK`^QAWf>?sT9e@A)cV!7s(IM)xi0O0&c z@E~N&;C_B@wgYcY&9Gl?IrC%U*ukWJ9fot}<$1gfpJ??|DH_j~5|bV2h%WN3JX>OX z&#gk2E%)D?BnO;B$E_63UM~JV+d~4?j#a~DeWO*OQ=UQBw{@|N3@nh10=KY+T64!M zZPoH3$=&PPF@$;!6k*t?vu{g#OHUy{MRwYwoj4=_8}EIwVA`8Yb(7$%=vWa~Kid-6upIo!T}!?-nDZr&umVCO z*9j&f)!IlwWVhssid_)yZkJ`1OdoOYkpvSC?+C1#_>kVv;1Yir2y|j_5$D4UveUC?_Q2|4AunHseY&2f#YHPN^cPY$) zK12ds5_0SfoYIYhm4vraiw<3%#cMlSlDN5OVK6F{gr1!1gg?0{Z{ODoE*mf`)a#oI z3arIORQP?Vy(go5Ae)AN*?SeM+l3w`DV=QAn~;-;0KdZVL0X(ZK%un^&AcBHraz1G zKLoc+zLu8gFwRH~Q-p<1(02Sf9%byGe0Q3hrw&yKhz|*;UAD;@(uwGZ0)v#YwsPc* zq~wM^atT)%?Y5uS;`g5wu*H>t!)S0Dd{PeOh6tDqHbH zpU3%B`aOul;5TXPhIk>pijhHy;b#`Qh`!BB_{`6<@R@Yggl0o!!(Vf#o+3&HBo_F5 z!(gP~n}-NhFr!%TN^+xTK!n3k{0M{whPEQxiu;5@l6>eNLJtWJRW7K#7Q*ECdzBQS z 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

mOc2gDhO`<~t!(I|P`)18RI7Wy6VsZj!Wx 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�xupt72Om~iH<`d%GsIbc2C?4 zt>hI}W(z_vwf0K~mnS zp|&eSEN_;?xm`<}odvZYtF&MRHLlPEcgY)%`cE+}|Dk)8J!J-+Ml3T%CZA?)`QZaw zh+?sZwy+sB>h^0GzU-@DY>grzngmCwXVQpsvG5x_qR8pKXHBW_<&+V}B%~#WS3XeE zikTX#`HD=$BCRMsf@6;PD=#HLH@>5XbOhN~sa{lcB^Bch6(-j@tpb|}+fPfA-Y;6a z7UpUf>mOW(@bSKkhub0eNSo{=+qmC{%sr<2q4d7h4_^xX0L zb$j)kIaO)uHl_TyA7ip|fTJSDC3YO>Ya*_&>N$aQF}RKgT%|efz?9@|LKG>>y1uwmZ^aTvt>on)ZT6c;CrfQHtpVu6!VT7GlNlQrNsg}?7LKm4_r;d4C!!qyc9!K9LadaR`4*IZfxPZ!3pe%t=?mc!WLPA%kJ|1irh)I+jpCk~G60%byBec};8 zNI5u_&2?u-Z9TNk>!|tq4acnpAlWJ|$}Bf=P$H#q+u5{ou~xoK8Q@lT<{#?%$&qDY zT3iji9#Zp4gqHF;owk_hLD(QW@4acVjDL}Jzc;`N7^ zq$-B1!)om}T&A$pa+y}|)6d(U{RILvUa~`S&R>O!N8K zm&ng^!Z!dJEOV)h^c%6j4WjH{!=F&bF>`wJ?Tp~S28Qt)RwYK~P904kw!}phLXGHp zeA#zc@0Dye7Z|b7Flc1B60$2V%GL#fU! zz-s5E4E0t$_uaLtL)l4$N`#9Z9@3t*#QlC6M5KQZE*-x&xVKwU9q56CaNx^jwpXaExt|tb! zq#koe*ID*#glBrcP-*RR28~wDkl~@%msniIL4qP*NS?fJydB@y4TIilbeJtLFBtn>=EhGH5dwKdTLE)D+tLemx!%8W_vh{VKMydTbY z0&n@ubK{STcS^u&bIb)9z<#$&p`ZD?*T%3@hNtPIBKqiqtd7VSEgqK%5cg5kuJJn_ zQx_Nw?zdwVWw84C<(QK#OUsqnb=VBP<>!$r!hP6fnuA#q=W>O3S|Kss&$K9p$(A9g znbq4{EOIaLIi9n;V(K79$}s)@Jdxo20NdJl;`9!P`ElyCBnupsdxA5{ytf%MB7)NZ zt^w@Lo7pS|dShSVJwJKO-~Tp`x1{Mwu?EE7b{9Y3)gd&)6Htd+<*PCabmeTgkJY6^pAD)KF%$jpFZFM zIt!6+OU^K*H0+BVe{?v5S?8u}kl$IkTn+o}m#zK6fAQ#s>3SSIC%5ofsl9N$>uZ@A zEivn`emcfxbrXKk)dC!EPG!$eEJEZqEic&ZzPPsnoxd`1f0ZP8qNQl1@ZMkWbWk3^ zQTUaS(5Mx1<;O=vYouXieNiQI`6yc9N4^OQD_FiAa4`3i?snD_)rRcnP90XxJ<*pb zWgN#n*nls2=2MYoJub1H$RUbKC^3zfUDPTDDZKBw=+k&(BL#opzA1nNQa5Fa20<}> z-Y&qP&HlM?4rri`YIR1P)#t+P(EWA}*_DjB2Q`D>^b0@dCzbi!2aSvwvOPt3oSm}J zXgaa6U3JRK90TpT^gcEFuE5cSe0&P~?HcR4to_fe^)e*xuR`u)Ig3w=6FsYj!goL5 zy~jOlSWUgkP^aAy)bRub)O1SC_MR8=qNS+ubJZ0#MYdw%Z#E10(nV^%q=_p+DO=k4z6hGTHTox4M^I$V5n>}9k*+1M^B8~ac_g_8ns`qIhSyNNIHINy zq~CLqOHH4w<#ffaXQh^5ETr+Ngo?GCrWyyU!Qn>5*2N}GQ3@$_8(SMf*&PD5F~F@GN%6GlOjk2=aDhTmOlx>NLg%lrs_prm~>;`k`L_fei=DADJj99A?J>W#Kl*OeMW*tj*@V)F+g^O>re> z0+mZi52Qq_FjjG$wC5{)x90G+AzcL`aE*bv@_wL-oz6@tMV);QV&@uDYC}g5EjMrY zCku=B#P&~EW(Z+W`T*wOu)-{Z7yNbh)1RFu4*b>2%8Y+P$c!?hY= zOA0mRD#r!LG$K(|e|cBD{tXX@gGmrh1LkNr^~5)?{S_>_P;|ZcD-w_b?#OuiOYkl| zH1qB$9r|+B(nJH;qz16b?I=j+-h1!!r9?< z=qVfs8qN@(dvqp!K&^GGwb33W1drOq<5Js;wb!NXY6FOjl~y>}z1F~`zG4We+Jz0M z`6RLIOa%T@C7P@J-mgJ3uBXIMy#XPMN||dvY>}=QHf@ZKdiC$f++`3^yrdb%xae*g z*g>yFfkfdD-nSkaf@MqjCZ7?9-6`>?wj@5y2Q0eo(AV+SfkCN(bpcS9m=zj#D`%BF zCITq5eTsNGJNy@g+t!7N$I^D@ZG{5_LI#(OF zDv^H9N~GVI>LBJm4b(gtw@GA$zrXwv+^o#E7&_P8wSUMqn~x#n{wI(Zwwi*ei`~Mp z%3TiymtKK=M`MCFdCfH3;z&9ta~~j2DA=qeY;4+@^B%N2L$U4&*8j;7)l_6(wha@b zr6|7qRNMjlj4hanGhWl2L@ysa@c0%T>ztSu#S_a2up;X==8FQ}PUiD=MO6TCtc|vb ze}bhjUpR!k%;E(4or)vTfi9amwb1uKxP}P)&aDX5SZ_+&d`wJYTuH|T?Z`-^aBHiB z*_`uTKrW4?%K+m1dh$Wa!NPRp$rh!SESf>8WG|N-A*n1OtvC@H-VaR`0IKFP{C(mY zHnfI4Nj%Y%RCPIj#mQb=Lvs2FVKwskL512Q!`7G(XuB^2R;q~Yb#!#pH!^?M7>#9U;=%E7 zV~44Nw`vDlOiuy8sW5=k%;%BVe2A%=P~V$KXz>&|X1*CiIOK+0NPSlGs;0U@5gV*RiHNs^f zGm4lO01Ce-j1&JiFgUaV=|1}ddyXU%=UtfET&8Wmj>jd%Drlz^FeE|y!sZeou}?8|72RWs zklubXpQ(N05=L;_rTJbHI=l(?540S#c*v(Q$Uk(FahBn?2cmFFer4v_9eu5GmX36x z@hi%|b7?%0?$eyLd1n2xIHpsmBJ3&T)FxZbvnNgT(_T{O!r&ovu{t2Ya+BRJ=DA(V&+^Kz$ zWgqOYy6haAEUoWN+{)FV+F)T0UgCiR9NVgM)cSiR5Nvg;m9DEC`1#HQ*-FWGGtAW| ze!Aip`0j!#-t~X}`O33zHE1?K^AWN?xkl(exY&B^*BQs)ocgN)1p$z z;(-hDgqmv7eR_Kb{78VbL`NrQ{B{ADQGlcb?#@jhSFz0s$zIaJXGfSPv~8tFC$49a zZKgX?WlFQGL3i^-z(|vfOsU+1)b_lGkjL;#}FMhH%W|AHYzJ2dN;$(%B)!|~W6i5CgR%=@4n?JlHgh-Wh0<3+E6c>`# zwihtseqraRjTeY) z#9~R_`1Z5)lYuOckCzwdJ^{hP^^X=Y=-ONxxw&4Ng(*FwZ}HNzr*4z z;*F`^VWSVR=lq5dofGL}fh)E0dB(uPpryGi00KtR$Usng+RX}x9se;H?5ybq1)XO2 zFEYHR1_nT&dRmaq0|UGA+V%NGw%gjs(@l=g@z`LI?=KmgZ6DLGXjWzo+xd zx_2hmY{ZtlNM;&ji&aCbI$Foe!9ZX}cMcpS}qg4c zoI`SjWb);}J2J7;>fTXL=dUpL>)D|)CNhlYfufL>|BVj6`G2%uCDlXaal=g+l`7&#ba z7x&|*G(p6iD-~-6Ak)a_;DRV-B17&h1KU7282BMJ{^(p&9AQW ziJ`!Xb@#rIe2AOvJDs$D)*k7c;J5umcWvTq7X|4ys(gjG`2!v+$)clS<`1cX8Z)xK zA^6u5OJ|;Sy_B3C#uDFoZBYBfeyP|vn)V-b492ame=FM=QRIpzU6{Kid>G*ffDP+rSQzCKAFh^s{QQ&ZN z__3Se!$PiN-&^}U6EQwNBgFi4V@nWzw1PQu;63hg59l}s?hEQ2_tCL~Nin2sS04FHNNJ$(Uq4APg5x#w1u(cWf)bQRuF)DWA=X;{wr9Xm{ z$sGRzz*$avYcoC`nAiO>L;31fS!Kh-V%Ez<<9)y%msi6C{dDeZ#`+n5o%P04CNjV| zqr~DB&sHVC?2|EO5i(~)#~_?|_V)Dw)nXZ>{4WCbaz`5H_xxj6Yb@7uMc-LJdKrAz zf`N>dnS1zuLvju-9;JTtfGKTXp6aLhMoca?(wD~r=HU08Wi2>bKR?f!OBFYdFAhng z5c6Q&Vng}(W@C3^gHJm%!~uoUXs~^#;XmPFN%7dr^aAmYW@vP>x1=S^(O>~AsG^iD zVQqzL8EF2lEZjNdp8_a>(p3j#dmI_uwgbpq zY@h$Cr72!{*Z!#fA$0pKCJo4YzQ}=Gg&FID@_q0)*Gn`Vi!IT3Iy8fuTA{9pA_P2{ z5SHvJQLRmYZcZ-Wbg2iNZHx42OfcVFOfMnWgh3ZI$GHc`JeDx69C2&l1WOP2#(Ub? z-PtPse&mKQj8lhJ%Y!P@Ba$_ZYYlD93G%iJ*$)(1NjATKR0sd31^ApVD{{wQOU0@G zio|NNN(|kT4-CHw5?uq6IlLoupL9MngRh4qj=#9i_NidYe*HQF$aJpVW@3?eN@ZO= zLgFmaj19ygoZTfRvkLggbj=Pl4j>#%qX7?|4&!^JdU*A*qyv^K5-<_@GW4uBOsNhN zSI6LK8!jOAjd)*aqV|M3yLzc&IJwcwj|u#ng`ITu-%b*NuhSw3!S5=8nPEl(8rxGW zisWsze}|d(eIk12$4eR{*_!;h7O!gRyM?wqDU$f&WFl2>jqgp@Ew^2n)-L3i*b&)W z9l9@VnO*SGK$@y`3klekuS?aC+T`Do(D;8!LX{9rHBb_+fs&w84C4RxoT9hG@gcp6 zn}%+{ZAB(`A$!2~t1r9`lhHh3$Jxny{W%bv;R6W)RreXPp<|gdJ9HW@kE5a9xGd(A z^axj2T6Ve*i6T0_J z)gJA4&qwl2e+=8vV&ZG&Oa5Chg;LfY0Gt7N#r`-X$cn?2qXG{DLD2R;=|Oih3z__> z!%?5I2Br&v8|D5LfrLMc9uOd1pVc8SkUI(ME**pJ)4SNwl0g!^E&C0tB44y-=)}Pw znaVpLocTC`*c-^_$)^?CD{X0m{m}7wv}W55<9MTwWI?|6dw1uD7L)pIvw3C6ey&D@ zJacvcMy-tPL77Pv-e(1IB#KQwPFKK=;`EPkDY zvEe-IS)HO9QMCCix~M_6@}4Bxy;7Z@+w+qHPfM&BvMpS3a@@E&HYr2mDA59!d(0e7 zC8iu6Z* zM7U{Uyz}MTFke)_ZU-YnlLW7xE}RF92fUvxd_cH|lTan$o=!Ufi;fmPmWT$i0Bw}B zfW!q3A_DK|^S`9?bOWagHf7r?cN@;;)AiWX&JCR~62dXgog+Jl+O2l*v#LTp^YF<^ z@2`igTj6zGy*?Nt!m}U1&m(YDuwPsHL~dm-Le~Sc^Br*(O+Wy~zxCiEp_`A}k0OVY zAY;H+A*?RLmpn`DqgWqO2sk*Z`INikw?W{S64e0XIvN?JxXMa+R^k$*mKz+zNk_v7 zSgLd@BjH zP}l0F^BuK;DZQM>$C7u3Q6m1m1J*=K^h&|dnfr>FVlqLD7%E|a_2z(Zic7cAg%TF& zPYXf*$!7SrhP#tu5B6FpYd6P}by(^K4&tLqA0v*^V^8_cAn!~LG#>uPG@NQ2JN)k1 z%^nz!4@1JVtnV-GVqSd4Sru0;sF!@4FZU}a00Yg0Av>9y(8K6l zSMGxKc83#07Y@byh1(BW0cUGmVNVAHh_;96PnWCV@m{V*O_yYt(rs?~dv%)BmT%bR zpL#MActMde|JctfNZLJx|AuCCJ*EkV>S=R#2wjypch>JEWqW!*_p3r*3cEto9dIF< z4!DG$nBVfN0~sXdj5WZ0X6qH@ywD;BsX1t$S*Y+W&YckNfbOvuYv1LSH9k~^1n4U$ z{+(xMk-hmpX-~jnRLMeA#nt=5{RNha=ImB`oUsKdqw(}`-^U1eBeH$i@;=&u2hiRW z2p-Oxo&6zeSF^br=MjQx&~>a3!a(8xgj(&(XJ8uHNkXvqU6aBO~%FwJ0SCvh-9H zoC@whl4&A9?^F2hIztww&9wSgA`$c69fKnvAdvv7=tdM94HWZJOh1-?a4MH|EUZN{ zduhxL)K983tNKL|risG%t<$*VZu2i(cUUBrf1tYMn^CmS$tgsqiB+q7yAdthDW|ryn~2!On}yCthZcs^q7#hNS@$cSLtQz2db=Xip)=)t}mi45+TGc3hd zAQ;XGl%k6bM3QYEdj014#@-qKsalGMeIiA@R1;;PH%xPH5e zfKM^)!;6>1jV?J>Pw|5QJFuR~DhTCSgVM5`eK&0)z=IK=R(d|HUqNvloP@EXhs$=& zVhJ7UkApHP*@cxPa}A`IzLio8k@g%arv3-RAuP5sB*_|_Q$sY7Jz`-^1fSUZ7GN7| z=*sCRMB8k$TW63Ffh*>K!14_rPVR-?TZ0^RkNjSfw|)E-5}B3B%*YZBY5zdjPX&JD zo9#&R*=8KUt3EX*ix+KVe~QA^r?K1zX6INlBgrjm8V~LctZa$Gv(0eD1NXl{yNjJ3 z*a(+4y;SdgxKh8NYfLdr>A0+kGK!Hq50oa`boj>crqe~c-yQ|-NU4eRx@5^@f1{2l z;RARrpFoBgimxOJRfqI?q{3a>ng#QOB1!2GnAOq4{h6_;e_&f1DtI*V>hnjUJsO61 ze+lHQ?Fie6*m20>3aiQAXUk872e65s@(+Hv_a*7~RpBGopHk103ZC2W?g%y@(IhTE z$yFZTOT^dHgDSPX6bHKiHB(rrSpru@el(Y}7iNamvxV|+)A=b zs$Go$`1!!UgHo^v%#jy|E{a6vs~`oSe0PI6T7BVs_38_-ne8WoQEeGCn2NRFlo=j*6$GBu`9=nW6d5dGwo%2hFwLicwH!dagKw`-fYqKP9kE%`PCT zG2NGvdmlQ#qIoxM_)4b%;hPt>1Z?#%%FEE~VQ=PLsPTwxTt1-4pe+P17 zH|@pB)Hn~F5`uD_BLWR zhlx>pHVZ{c26672(-T|xKt=yMZ$+Z-CBHkz3zR(gOuEIfm7hp$AHsGjKgsafi)JrH zLUlRU_9LZn2nFWFNSLRt%27I>-j5dQVS(O*G10Avn5AKP+vjfY+j!i?%?JD{r!CsL z*5#gFpB7)_F&^s<-b*fed(s;|wgwpo_D>$B_BQn>5S&iaJ+&KHfkz&9sGq8c5cj#G z5m>z}G&E78$~PTOexU8kv5y%y&-3}wGO*|Yh@RSR(0Nne&2eJ1VtCKB_qq1yWQb8I zh5nb5YvikS+11M#aG~tQKyn~gq+=KJ9_rQs2U#B9G^hJ9nIP)mLii~XgDZL}=eqBxX_E#_MmNh~X6 zzMB9r^q%-qbw$Rjl>Zem;o^5>k>|Cz(nm%2nrM0i>2nWH{7{6AqDBkZjywAfW3AU) zd#mMS^qHD1CaEVy-VJkaN!y?oe4fO+eTz8bY(Yz9rSZG4C9wBvD zKGJCBId)(7a`zr`TITW{b?eR2`XAwHUeG_TmJYDc%^)qooy;> zAR(foIymXHWwfHUHrt>at2T44l%5xwE}D!cM-7Ye)G^kwqs7%h<=+a5F=Yos>~Vyk ze?p*#C34#8CUkXcPFPp0Ns?30MS#CT3l?y?Ra;NS6;{GB9<3-v;`XeBSDy_i5hes* zv^I1-@#s*5th#R%RW?X@G6B&WcK0#VD05Kn8HSv!Js)CH!7FRMI-*9lZ|hzK%(g0Y zU>L`z++iSHY32y?jnK1)Up7P|)}Zmm&9(zH0I*r(D>hw3Cv^-Ho$juwb<{hZAXGe8 zHXiO70Jzpwzg&vgPz(Y%Z^rYiu{7=xebbcFXYajEi!tG^>vrduuYt+4=Ipe;?!Vl1 zytb-LG##fruFK7Ze^8-?JDh@gA3a?6zGp>ij>!wFymdcm;YDpDiuV}fZh-3)$MDkJ zC(lSYI})J!_EBgO<$=C7fFh4mBmRS-r!*|mFJww~SrOO|4$~C#P~pgaIgaR*Q-vt* zy9udJ=V7oQT%0leW_O$(aGIF30?vr1LUV*CM78UfUtnFTXn) z#i@T9g<#1u##&nUl6FcpseIfyYPG2!cq3kSw#xuzeN-$`(w{l6i~p1<&8S)R3+o3 z>JV>b3pf=FxhdSmxRA%mb%~*(%(-l2!~Q|_)1%%boC4{({4rQ9CRC}>M#V3b4BhV4 z`b8a|9;0_tathBP`AOsV6CWP!3|YaVvG!h#e+KFzaz@aTd8h-6gG~sl5W7 zRP%~;C~4B*b2lbRj}9_$MQCHAS4!dS|Hz1^4dXJdZm!@*ft|HKU8z8TO-#Qe(i3P# zdTZTSm!s}PwnD(`N7SlvY3rP1J@o1BWZp*;fGLkdg5v-M(4zBRfdF%51-?(F$2LOc ziLN%sZfCzI;%>%^IP_Kj=lj{AD}KqV9vB%hRde6z}jIPlp-)DiT#6 z3FE-ab=ZP@5h@)Uz)p$YQJ+uqbPUDWT(rC*=FpP%ogV^GaqiZn5mr!Qd9!33w2_kA+WOq;CD;DR54nnH30; zBw@VQpo}J{wAa1GM=2aot@UhPF`g8 z3KhaIV*E7`|MJA47%mYX2?c%z>Y? zJx5#LI+p+!L4m!9IWP8wvG&nrj2_c@C;R0Zab0;vKVehIV!kuIb!jRF5$jbTVTMHU4_ zg#eF~g~iz$<`w)M;$n1NZsoI+^tKSVm$arNWC`w&XAwkvREIaQb=6%6PMo? z?a_Xaa$3AFrDVmV6yVl?wxu8M+aAjv&4I&wvY{OLRtD|la;v625#*=*5)OvogpbzF zA8o$fyB@$68tx6DrkDLPL@h1Wp}iG|LYm8g=oJ%UA?@syTtoqCT&uN2b1bq=wg3`&UQ4^LZU*4Cy&fI30;<~ZPTo;K#*SA=ei@^Hi5SJ zs8#c$|B(Go^na1vLklE0ERg9Sl~Qne3Y^8+XC3a;B?n1FWFi&(I<4>%ve<1sY(Zgn zBudrXIEt=_S!{dFugP*h{2b^t;QcUp8t7{B(n5ZD5$7E&;pMEKZ)pcpN|^zeIu57{ z3Dq;*wh79e>?~d2>2*Yw2^UYgeHzBj1i!=$;pIT9 zk|eQI!OyyWgE?Fbln>)ctp76&yQ+x+x?_Hs1#X7 z@FK-^^8ud>sOfZnv|{@TCDsJH7!qBNHcjtw**uj? z@({bV{Qsv$n~@*xZX|qr9O&BYlQZ{O>FM=r0kr;Vdp^_OX}14p+l>bYHncLVIGf~K zh>-F%F2g0h6Et^=B&CU7RVq{YVKGB9zy5gFbNZyb$p*g|uw%9~o@UN1LfB0LRH`slXM0*e@{2ELcGysXlh0#XXRaCNF#_MF=If8NDj6 z=og?-*7~3vr_QN*2>+gv=4?^cQw+_Gs(vwO3LJsL*`I#?zS#tC)f8Wa4Y_d~s;vyp*R4tc zbKzU(;Jl^RSQeXJ$}qnfS=awMc^`=zi>Np<9+|n!n-a?@2*5Ui>i-wEz}mWz7er9x zf!`j_ikE6uwa{xjwq;AJnHY{KX_tmkJNP4|qp1%CpAu1m4(ZzGPprXjt)U%mZL!Ta zF+DpfF5wzCIdC$JagH$kW9JGND^TI6;#^=(Gwt}x7-Ye!OOwSbfAGPTe=geJlvPsi zBU>{VhNXMQ6McK&w2j7enKF1VI~e>^xW(3SdSAhYdP%VUVMFY9+)JC6%l3wmW`qYN znI~^fja3X0iV8`|m1~kc;Y_^+KuT?f6y5R72_@!~0Cc-18H^wrB^6i8MQ9KUq; z8aL7#d(7BdVx;VV#nke?!GC$)sP8e$Mqj>-*^sGtirOHtzKfv_jeZWmM;(9hOG4!l zxKo(C7IqsRN3D20ub>)Sd%0f|6gW|8h8iFt_4!WY<08gc+CO zucnPJeZe%2=#x;Xp?fH84|~C>WG{Ce72yacWL}3RZMJtgYo5I}Y$PP|uYiGiCwg6B zi*4Lx(#D-;@6_cP9o5?NSSq&QRp{h~g(TyiZ!Hmm;=AEoP0Ljw;BM*jOxAv? z6(r$xL{%;6x&DF>RB<1^28ng>n%#a}K97$`dhYYCfv~~62;ZewynUHzzpI<4jb68J z-@n-qelBlkl`gQP_VRind+s`$dL6b1vvnP`XxDc+>$XBR^md8_+SCk)$v*<11S zu(3hrEJg0!Z{23^a-QU^cTTz<{!%hds(Y0wENr$1YCoIZaBtt(>HbBwFk-D1v~jQZ zRMeg1HN1yDrz7ljO!!)B<&!Xjs?K9~W(c{k=?f}6pikjg^j0JuICPMvMA8hbE&gRK zOYnU%MeZE>tyV}6u~DfcGj(Zi0X}tj0F)%-?_|z9b0T7{jsV(E=e34Vr6LtHsF77a zMfDRIhNsF{E&ot|3};W?hgL!Ktws)Q%4hHHArXgDJNi|trQ(sxATTO2C1QLQdm(?| zFs>shUsN8!oIQ5W%@jG;9!+KaEAtEI@gCMY>pZvp8v3_9X+*9<_^JFmODg;+3a7pj zf@t?j;AHM3qS*6WZK#6a?q>_H_@v#rDalHEYzSv0Yts+Bu8jJ_k%H=Tq#kIDn7n+# zNDUD<`+tv*~K{ zae4M-=d)K(a7e}%$@63#3-`Q*DfXyvk|J;V401d=)jj*!TH7Cr?1KEq4t>zlBGf&` z@1dkz2{;;&Q-k54y=n)hq1=U@6VRrOVmi2S1zna{ro55^T@QC`TeP{ZyP`*7=%Bc1 zShq{r%FgqNXg0RKF_{~tayt|W{(*zq3cmO*?t@$7=87!b7R&0l!WwYJr#hK$ED5G zD36I}`{7ti5KsI0s3C;ZeW|QFF5|)QcB4<#?a8bD48Mu)41v@I?6Si0!v2n?O;#c! zaez>*(2m3|pOA1H%Wyzz{1$aeT7fEmW=fS?ensGYu>iM#8D5MEuLZT|Mi$xa2=HAe zTLULXPCf+PKCPAn-?r~L2ZtjF@eABx0{YbJo;^^s%aMIGtlp((rm)BQSi^TTf$bPM z0^Kte;nal3v&R>k#z&oYq2o^Cc~OAi) zMzrUR&D1ArsiEj5m*ZQ{Rn{m>hKXO?9WOPRF19yUbG-$pcMnNu*4|n}66_?j(D$wH z=ZI4!$jDM_F4a>MIvOTOiLj+Oh}S-hNQm(5|^rf~i`(GW2BT`Jp& zMSV3L@~v^W{EizD>Nh)FP8Kdf9ax09)dfr4)b<_5?gP=HlK!+Y+!n^RE*D}<_~nq= z(so(-ss4Xj01*)D#-O|a69JU&Z`!E7AaJ8PhAQAX$I53)r#4lfArkzFOd+pI@$R`^ z-0&x^7y;dg_QR&zdpFpN`o86MhBRD8zTy>oH7w;~dr|s$@phT_-Fol6?EE0u*#1v% zMR?mseR%ap1}>WBw{wzs&z^Y@AK0K^0cmG1YeWssjwrcU9Uh@S#A#0{LP*?J zK901V%rXToFh`|4D?w1S9b;b6kug)D<$u+jEPFg1<&Un7&^NhQc=T;TlHrebe-^kp zHP_;dHW@+frk}{UW;Nw15fT(jFEofn;4zAB`Sc;g`EfFlq!dBr=Ne+}8NTB40*oQn zJnXT1@am3;(J(&NbT>Cedil@nDE7wFCkka4ZX5l(&^S;;*df(i`CO|GdNdx&jC*bG zGP;rRRSlD6gaztaQ$N356Bp{RU8I^JGLW#1SEQL8AMW206E#OX!!<3LHuW%e~mY3NmJ56BE7Bdmb0IzFT+q&g}6c0*B_B z5rWBXek=v=dAiOsN@CH%eutmOf0>yxk^4TgsCVUk{@4z_>qxhb+(14jCKA*;o2iiI z&ZKPBy{;aA`&FiR{3ZL8f+z&@!@J~j&e=8ZXY@3&`jaTo`1tcs=5$K()!JEDJJ-`B z(451+uU$5PIhrY%1HE4Lzap^Xu{@rT5qjOvw0|5*fHkzQkha)3zbg=SyPG9@Ufiay z)G9Z?hMd&So!@t!hkt(ELj+Zh-=`IzzxE1;$lcCTR~rE;-p7D^;>NeloRD`0d^FsiJ@aY6BZQ_R~~ z_Om5<&$+jljc1^ZxYBF~=cg8f?wr!o=^E|)*bDD*?biu-!AxSsO$ng;>sODs>*Dc}4l?Q0( zGykf8Z;91R>wXnQiOPI%N?xS*Z?(`iwHFg8)f(7Et;v1Kn-jw+O-QB{60= z^ZBt=u!Acn7G7ws1u-hYq;FXL=u4->Sn{FX6Z|I@UJMdm&$X=Z7hqy0+w~uU@8%S& zP|~DP>22a-9!GYDx2*c9jZ9f;V0XL4u7hoB7`2i!Lv-crQ-CdTm|H7XERa}MD)|+~ zjkmi+>s#XlWf!=sg>$w-VD=kK3?H~FKjEF_-%nmO9vwri>&61lNY&fZZS61%kIQ`L z919jvCU{20GTVOBki%60u8)_4YEMua)Q5ieorJM7OEs@+f~vgW17ZrTsR?sayHj;G zfeoG9GJRT@zVQi0Imt_PF`%oZT;3cv@>g1UBp<9A!K4SX4e?gP*cL zlfoBLScA&rJfyYDyOW^AOo5M}NDvJRO7(XTp95 zvz9eL)il=HZoy|H;qk9_sp&0@(Rv6xZ(ljx7=VN~JO(hIugA1T>v^*u*u6J4VjptA z9>Zw(x<29=cyM58cL4798wXdpyn7Rc^k$*F-hJ*-s^4elQHWm;B=edHYQR%s_!;Ao zVnngv9~e~XVtDu~Oc?jQ=;bX4Kni{w3|a#+6TS2Ek8y7z_EQ{Zpr+s4=a-I6huoXg z;DPKVzV(}{O{D4v39bQZpR;wMoQJGxgJVW`ZQ(5uERk45(akkS9_% ziGt^RVW8JJO7f@kFJaeJ7jmr6UT&;B>?vqiCw$-iaa-uLJhb?IdA&Dgu*4qJbc^3N z&biFrykqu`7#b8my!XBJ3Tx`zJ2z$7624ym<6D#QK97CP-h6`9)sO1u_8DI%T)Q50 zE8l`f+(i=9Cl|k%@LM%U(Z6xYW!!r^exI;InRo)drg@=*Rxsmrkirw_z3i^5-&jPf zaeKe3BPzVsQv+W8wyoaAFJ}CXBY@G|LNtHnxVx8jEM=5p;ANdp!jrJBuy^&sX|Ts} zPrr)yVN)^?#bXvpu&{%}Sr4I_Gp4igJ=LUt3zgQO7XDcyP=INI9Un$bGpe?BC2+y< zFjB7#7eTie(h?R3$QV-AhpTf==MO#LQx{64VKtUekAF^|^;Z7GgxC<&08}vkKooy$q#P4A9sjZfvYi1FFYL6k z0TwO^P!^shO1aEyi7QhDg4%Sue&B1d%E|FVtVX}dT~##ZXbw-MjtOU&sR&hagtEeB z-QxG5Uf|pjojvp&&xDT^_Wq)NI!kliaYa$@e>VG)f$OR?KK<+^2W}SRuJDb3i3Zcu z-K}OzHI3Cw;}uR{PgTxGyE>G$6{2geZx1mScb^GB->P2uJibk0`3qHzAORvxy#Ips zUN>VH90nrT%WoY9`5d(7pBAz*#jdr$HL6fnUh5pM*=~o;RFbGrk+75bLx=OQXvF0Z z$)mFtt^Fh-b^SH4k9O(-gH3uJhf2O~G3f;QR5$n)@;iRAFaJTRMb}vG$?Zj&ZfVYk zyorG14F$(}o~)>Ff>o`#Bqe1*xpmvmJ$;*L>i3J5ROekIq3hyxC0pLjH?r{_&<#WG z`^$m=LqMd|fw({}(bHe;P=(gl#IWNk6yht%EZ_6hbHcTk0d5o&{tGZNLDjX&CIMIX zE9G3M;kppIEHLeub~0voRa>2`(omQdsPwB8Cyr?jnUyH>+ZokzN40hqLp>JvDV(4J zl_}JTrv)&t=l!lUANYNcb$q`V$bFvM)U|tqtAYHmm!ale2gCpyzl#n#V&BtUefAZn zdqRK>=u;%b%tmlmikFAw_p1x(+~@Tk-}T44dBm=_t7;;>3w1r0EEtWeHACsuWYFuq zq6D%F?JtLx&#!;lcfvfW1aI8Aaz{TYek=52TX7$)WFRJPJ|_p-z0K$ouQ?5tvw2#S zzjAhe$??19>-2P=D;6Th4-)Eleg&>SjGP`zv<=snu#(C))u|;*>8FuiTUN{gui?*q48yoTc_K@-RBN#_hDwA zZCfNj>&fSOm+nP}xUfnSmi~etWvP5%Ux;9qY35cc(pP@ivDK04E6TESsSfkNwW%W| z^i3^$q-TT`!lVIAXmU~z{Z;MC;f#%0bZ9=6*R-1`v{Hv)5IY%p3S)`>su1n9D;4K8 zcC_jWVOf7?6Bx+1gvfwp4H)DvC7b2+qvS30Om;68X<3ixry0CZJ*TFoOQ}==T_7Sxzh3Kg z2JC`GZbMFZ!y%U0Ev5bHwxTItGQ3XqU)jQKj>6Rm83zVl9HCYi?qe8;JMcxJH%K22 z#`~t^%7r_F+`(D9p7Ac&Tp8D+ zx2u=>^r@HnXIe`}3t(;E)}3yBM0N!p=Zc}L&s(pV=H$*?VahmMI6{!v_5AL-Ja3OK z9;gL<-N!0piHMwmNT&MCOriH(=dVCM-*=SI8gT4a2R$8J+m6#YAV+r!dG%1FC|2}6 zSyNwj`Fwf%E`jc}Bzw-RRiRe0Iy^HGs*aL0r-hW+>wq>9yZ4LJ+xF(=$9srI@oumJXarw-J}eO7pzH zvM$KKxu{>|Qd#mIn){XsZ1dYMMoSF?J$)AbJ&X6Xi{|Bb;3it^^9|XVfLo`j`@Y>P zF|f_|Ss(e{_dy}@QBHS;t2^eg*Y7~`XkEw zfc-MYmd9QWiuaEPkS`Dbw!LjAq&?*EeD}ro?t~G)NQw2hxKQtWW=76^Xs1@r2QIJQ zRBgh(-zg|`4d!;eFWC_gy#O*HI{ec0v-lqtGGF^9JQpl0r zO|J{{$V~#b+YpcI50C4FdUx~h6ATh`p1JnVHbB2elr9tZh2KO8vu*d}_ek$oh1Ga^ zk6o`<6xUn1?@v;1`+gVdp?;TJxwoL>RnYR9xI#lH-!>M02YN)h7y-Y%NH17({|u!h z4eJNm)2q7Z^|UXB8qOuq)*0t=DgR@pvuVVb!cPl&)XSCZ*zo@08>@f#X2lhDG`|{k z;8RWkivtYt|I(^Y<5v?htiE)qD4nPLkF8kw`G9J_mE5FOKW=|q6eIS~*Co>F zq)s;Ng>lL<(1Bp>aETw;Pp=j4VYXY$P4NAFo%$Hhpc+xVI%@p)_IZOer>(!PLSR3> zfn<9_9+s8AE}q%y`EFNDfGaNZq?gm$>a9oD*09|@vlWJww=+tE-a~5@_K5iB4d{ET zDWl{AY3Cp7SH^ic9be=Cc=}C>QV&e>OS*Nt!(jl6Rk~2 z;I><#FMtLNjf(Z6N?evcca-PGY(MGjka*@m{}OxnhD|^(x;pB-0-I}oKb5xquiDbq z64-IUU{?{xH%B}J+VgF;J*%5K7+$J8*wfdRLr|Cu6WZDYj&rYbthi6h0blP|g)W~i z!i4y}4}ysC24Hq05xm)(J^!wKma`qTPVS_cMeB;eyI-5PXSkDq;|d&hs?yq(DoJB= z7q*wC3aNCTii^J0CVHINB#rf+n(=oBjuW%5_??G^#`+#qZ9=+rx-{=s`LVCuPomHa z@6S{tatrQkhh`GrJ!}?*t$opHadc@u3)K#-fx7{o``xqTJbmF>xAe=WsR0hC(I^q& zI}N4@ov=2c%&*`4-E2L!%`$#%9Nv$Nd>$s$#e7YZw6+5Fy#g7o=*ozMFL@|;NUrPB?W_;n+jLyk%TjHQNHtYM`5;O?kS z@HHLiBzTPx1}kvzw0Y#B9@f-;cps|%I(9rWu%VO1aLLI-QLWd(#(#zzi<{&8yd6sI zyJZ}DY};)6W%X9q&THc0&-&~3X3V`68fnGy<60Nz5Rl;|FvBP7A(90I3D< zrGa0G9Ih{Z;a3x{UGBM|xV;PzBfGV4W`q720^Prr^Y&aOnSLDm*EtLW)!5REL^Eoi zoP#up0(hj^1lA2Lp;$3c1Gv-2^98aC-v2S=3msoKU;(8O9~$z8Vy3R?!v1^ z@TQ8%>q*O(+U`P!2l)w+F3ATm97P_!>|E8Af*b##<4I=Y_748{?Gmmu)=c9!cX-S+ z_z6O%l;yNu7FQ^v3{5}P1Y1`?IDm;!cw6-e50DqCj$1(YuknNwm(voktI741HvN?& za+9Wuj~pFV=F-)i6|^*P5W6sGZxZT-|%}fxDdD ze~K%5sk^JF2bhX`C&^l={CXy3AH& ztJSpYW$SN>m`EO>l$q%3efU4`?GEzZcYDRP3YY=#d}th2{BB>3^@mf^)HFEco84_w zr*1`PIrNZwQjuA&)wgEs7EJDHS&cluZY=3$*FOubfkk?DWrsXzDx1iPc9|;1X;%Gi z@U&;pFB8n4CBc-8_L{Kb`67D22_{yiM{No@J04`H(Qhx&Opyr%T0^AWB*_rVVX8uM zJ4D@>Xbl~%-Z8|nhmaO24o2yM*#gExt$~icV_ykj>Af#z&*2(?GC03sLX*Il=9G$e zP5b4mQywKhB*P{FD@GhfGf}i`NtsUL$m+?jpJHRK1tSZSi*n!oT7ofS#C0PRPfl;p zLkbR%jnBDF<*NE)VtH8d3F)$uT0oHL1T4*IHJtR4B0?K-x>Opb$b+yJluYzJ1eK;d zEjuR=A6{$Y?FYQ zan4Gec^yn<9~{4JYQc6=fPl3?OflaWi%%wtGN(>Rsi|x=5+WE3O%esW?;B5mg>erI zrE_36W;!M}o1JoZmw@I)i(vkY8a? z&2-9(tE_*udbn0Ne892KbvqLb&}18{an%;xP=J+Ukpf_wEN@*Y(@_>9VsVQSfZYiH zOd^Gcz9rEC|06`#CZMUc=X269TH6?CMZSf#EFbI~=n zOAg>DgTu6u-gFXzOGX1m`W;n^iiG+rTfL@CQ4|lHtX**d026Ztp1l1~ew~Q+S9*qu35zF^wEySIU$iS8 zluQEa!;QOW!u9Uc@!wUip43|!W`(whBeM7P0&I0n%=pz{D8gcDShN17&JdNL!ur4= zi5#FKr1JTT3{q}Y&;i=sWzu*$%rt`A+kT6w$X{#XMSnz~m|MV@qryjAVozX;RJ*HW z^HzA91DO^1P+d^d&uq~_sN2F{H^XxN*#~sk%jTEvz|e!&Q7S?&GZ zpn40q>#%jJ{}mFzv?F9aLK5r)hT7F{KGhtZ=@TM-_UPgfF}odQGrksP9W3q1ja#rA zU}S%+G~#Mrg8$zvm|)3Vkvn&rHGu?(+H`=Le6`hSnf#XoaqcgE=+Yj0T`4cZzzc`u ze#+p?X^Q|OFhtgtk)>xKpzi3=B#ztax3W;U{hIcE;MLHfL2KK@l$Dey{hMiCiI$)` zWbH2~zLAOIQD%K+ zfJ1O}Uk>7uLpdjTt1}xMDI~B+Z%Wrscu;o#iZU^l!9(4o^ zClrmj7O@m+#8IRZJEU0#Wa4%I(C4}a6er#Y*c1gid~&SD#UlH>uU@pbSpuGPZPccv zEzoeCzVB__1d%xQ5~%q_+Hfn%L+wB0Me#a~+$pjG!624(b9>PugqvQfy^fK_z!8 zu*3ECj~t*-v&2QW{^4bR1*%-vtw0rRsX@fh@S~8dl1mMZ-M`oW6W9WtA|%>6yRaXc zj33jfc{gqw?Sc|JtC+qX`Fn)vI~d)I?B9>R@ya+RDnS{|-m#hnf0lh7fj)0+QJdCW zEXF!hdtq$HJpNSw_c5~;$6csXo}$n0_f>v2Cdtc)N%#hz?>&$JW4~(1bo6=5{L)`| zKY%t00@`0O$e`pfSUbH+*-(G(Z7l(t57~{J3a;rb5Q7petRU5fY5bA2Zc{;736QM| zrY+t)b}V<4OUq*Zl)*R93F#aYbb2niUl1r5__yN70-$8 zi`aj@*sY$jkd*ID?zh;D~_GgT?~K z`!?ekH1PTbeEY|iH&GuH(RIO3mHC(CounhxExDi(Vp-C&G>d6DN@riklBF3D@lNX> zjS$p2vYJtma>zq8la+3$OKzdAA|?A)CQ^ zbrR)>I9#H9U=I+fxp^qaZ&Zb`Zc~2iZD{sD6HzE+#AmhB;KmU0m@XRWu+aYTw`j8M zUZG^23ZkyuGo;6rts#+1Kb6M<#!#f|8?(-C6>Gz9jkO1Di=SegDlUmp0x3@Dgnv#| zu~L}KK@ks9@(f$2o}Vht3oLVS{0uEO`@BUAFGBZ&Mw)kQNg8z1yRr)6ziK2~mKBl& zT8ofLK{%r&h9rIxk_X0LCRh2B3KDp#O%X(ClOzxV(Fb6@yud1X{~o;5+^6RL%jHly zl#Vp6wh@Y$H0Zw2CnOG6hw|k&>T;%}&+|Ujf|AEftdMTj9f8Sq>%b4S9 zjh9E-@&kSGADy{(Ry5V%t^yIW*-)8Zz`6JqDpzvwu}bX#VKZ6R-)Y{f7V^ykDlf5^rf4wIXuF zsK+acYyLM2a7xTYRB$)qd5dpY*xsZ#d7@lMK;em=J#fGAS&e|v9t=^qV9f_~Mh4X6 zE(bNaVOYT9QBy0yWKB)SHp(JA5O-F<5DKc)<9%#pDJKtdE#47zSG?Q{V#@plc*?9H zhSfLCAzT@av>q4+7uI&cBi47AW^gXI+>{RGU&V*E(2-6)O+E3>I76N&+xln;r-DYz z2BR{Vwe%F~x?}|jM^ld;OK@UPTl4cIAjJf$xyW$F`z2Vp1BWH^J}jT2CyQEIQn+wQ z5~s;%H+J-g;~RosX3!3BBCA z$1qEBcYncufCKnWTR-3?2$`i!TcuWhbGI2^a?MJf4+eN(PrPb*YkCcXSn#x=T)hi! z&hnjaUn+?%KEZySsbTi2j-*_mE2J6>hGZ)r7GXR&75CJsy z_*iPdA0&YAk|*Zkey9q1#9R8^#NU3Oci5wYm-8M)YYf?ToG#QVE41lebHY$<#6f() z;isQTGVt8@A`hNa)}jatNY)K2>@=XQ^+<3 z;?dsh-S4F+yM8=PSDV5E6>jElNCWVR=xCpkYeTJZ7xEQ-n`*E%4L^Qa3~+uoWjBMR zMI4m_D>C4xwWt>KzrL<{IcSNzwe9Xi0Xm3>f@yddo;H)Ut+NB8n!+IpfogXBu$slr zM@bqgMmW7GTU}hf0Jn~ij+z5sGoj#_pTZnmnfXE)5^8~sLqP_nJH~HG7J8dvN3V`f znxTtgMAclDvpXUavDBtRb({s$|NAE;!&sU}D6Id(*BR)Gni6GIz1>}8mOtzm4thxg z>!sC16#DgGdMZfqy}sjK0*bzt552uJSltfZbC1LDrNfmbkevWHjW~R&0RHhpTe+z_ zXn8o5yFJDAw~rnn_U*R9=RyJ4w*_b(FtYmUj(xKJ>elUEz-`aytQIk7<3hbBiC!9= zM&&&ZQ;d#Y&Pxl1ysgN0RE2<_(9>Hu3FK*7S(Oy7&WA>7Ig}LJTAJsM;Ptky>hbL2Ztv25O+6Qs3=PQOwn)Hm>3{y8d1nDn)})1Q0@>Fc^a9w z5vpEf8n$3LYgH6uacyiNFkx8W6wR(jt>YBpgnN?;dw-)+!)^Jfb%B<&OGE-k8#Cpvfqj#B1YdPaJ$u!%&F~ zB2Q^9juBFuW8|D`j*On6j=^xmaMA@AGF{Cka8R?l=D|>@K@i5jvTn*UR!g{^d*G$7 z5CWWT={t|>M)I!Qhq1Fyv5!fD3*V%6{;pIyVxT*rT^}hIk7_btojUS!oDMObU-r8E z1;dmXSwkxLlIiq;9+%2c9b8Fe_f}2whm9}btEBi3K0}qznW{BWU$#c<>#SJC0P#>V zGupUb6`bAwu~{z1N_G9Zl7`(>lu=VeX_*E#18{YkN1xe#`+R&J^Yf_H+}F=ho90~R z$JU}tFfHu<{v}HY!w4H1f}^iH11nTaNDsYK1|qg4X;&O5nG5?rCPBBqY5VT?l;+<+ zWqK7n7voqgQ$pmIO9apa3rnuDl4{RxJ=M5g%jtwwW!-BFW}^2}3B62Sndd$$qPGyd zx}d__iiIMkch0Mv3}W@6x3p zS99G^^QNgQW>Vl%i9G$x0r581d6|9)&ib`rD5x; zPxs>64ZG%E)~F5G6|GTF9*_ZFiiY0aaRnX7EE|V241@Uh1e*!(eK2-0Xu^Y9en4!q1o)6RXjd z4;pwy#;ICk%tBf*V>>$PU6|M29#bjhfo$lr@$NkY0LHfQ%jUGe)V$=GsLsA zy{)#hPBUrHszxnjlGkMB4lng9;W}w1DrlRzoQPjCi|l_*U^)DVixPy8zJTp#a%(uAc1*e2o{D zQr*kO%H6=$vf^?7>i^wJE3+n^d#`CXZLs_b?SpLT*y`yWHP zD1!ecr=@Ek^Lr^bRKKJBQiS53w_#ZLrJ+n;XXK=ZXRw;+dHor0^Xs?idz>t0?X*P* zJJzHUn4^=8pN-itVphUK2;C&soCG5VBdb zhVJ>~nPOluMrLQ&?_2Br0~sSbhT;=3irdL2U)#N&BA}Z85wnn;%t^zW&VjHTV8Qv< zm?qQPqs~Yj!#qbRFKAM6XrVWW)k*_#m=^&wuP8Bchg!&m>t+9KnIC4_7?2fOg#YW6 zqIsy`7SfNwtCytK8qA}1!0DFMxvF~}eHub0YBOZOuws<1wYv&+nWq>n#cjJHO5Kq- zqFN(T4Ae)TcQfx8sAz0g>l&nYhph0?1^?QoLUG>X;1l@|4ZhHa{QhD$JyP7$=R}93 zE7u$4REVcZ$c$fNtCs{Gg+)b4hDwKpv{(c9n(w_fi9X69ljf-9toui}YM5+<#VN}L z(hWW(7@Bvo3ARC!;%tQ;r;pS@T3$_RF;LUZf?7{=i-TCJ7t$PVUn<=nN0JXX9Ak+Z zwd$r8r*Fom>Znl&O_H$trJIzEU=}Q@9df%rMSjX)O^kB;pQr&(FQ@IdOmXaSgtk*2 zZ@wHV!Ad_{C-Z~~AGgIfqtQK_^$S#4{yxteM40}!EieN$UeV*DV$W4S`zy4Ky87{U zMca!B!w9DGi1Ww};=`SMbOv~{(a>Qps4>X+M7)e!1#`{DoHR4oP zox^<%d`D79-M#!+KJg8nnqT~ry4A#Cw5ihUw>H}~i;<&xuCGHg+uitsprRhsgvYnq zR&de|c4kkZC95bdzh(&y@Y9(uF~+FDqoax3c3P^TEIFc_^mDB8ZoxQJL_uDyg0Vf> z@ljC+4IAbIlHIqiNPug&%3?FM`|J&8(UY0FBRs=fB*0nuHJaC>9WRjvplm;bvx$8OE727;c?SHKru18T%PNXs8w()BmHqhxSE%!z#M8ALH07 zPm^`75LxqPgq$^+r8CmZbaY_;_x*3)=eK8st*15EsyB4XrZwE?iMnf;)rQ`BZ+|vfLcvC2>t;STUYdZSl)^*VFi9YhB zV5)T3V53qL*|CXz*g&InF2!LMxVHH}K@=&(T8^{0%1HKGR9~0M*G#O3x2O#7%WB42 z6YXgXq@KP?n2`VaCu$(S5%3Xn=D9(0l9G|ve1NlJv~mo7iytAn*iaT_X?##Es#>AA z!#2Y}I|l;cvAYC@T@lgFi5b-iHos2T-(BJKfDqIs@BMjww zu))%h{)sftd{y|#7P}88QeuX0OkBw)il`pjBcS_xaO01Zgv5>31^YJnW-F+9VPQh3 zU`?nHvYK;n#M#;!JH$oZ*?PSFzA6ns`19iR_QR{C(L2@MGAX+{_M9&ZwA020f!f=x})r>q0!j#i%;VP26y+>ok>DR;;IE;iq%>A#*F*Qs$)h$4{2xA z$~ad%jFMkD?qEjey1^SgzAzJ6_CDT%rAS}gfeO3+LJxVY8)1P`1NCPC2A%O7;2@C? zWEhoZzkzxnvQ=Rqi55$d+-M&R@&(8lf*E=bd~Z=>ZSak}>1ZE(I(GcVSV1pa6-N_X zC@k?>Uol~36|xq&$C7&Q)2EtZ>)(;7xcC~864qg_w6HkNacumEUdOp-hsf<$l{DlH z{T1n0hNGBkCzZ`~pvCei=F7E#NKXMGeBqCwm=HqrT_=1QX?lifkV~|eiIXEHOz7 zUbS+ij4+*-$Sb-PPGMIy)l?@RQ1y!9(j=w;FtniLb*O_P|c_)paS>knJkQFwljy{tLyI3ju0(Qhr6Dj2lA< zu1!UK^3fbSclRCj*)@|S&UDqGUe6E$3`8H01H(+fiD-OPVN1e`<{X zX3ys3un780BE6O1;t~<$9xt+rDa!Ftr;d~7bBw8Pc}0sIzDyn^>8m80=kx}Ew(s;~ z3;dhjMVbI2wN<0B`fGS;%I<`kt$4Z&RI?5>KguF~YR_Rf~~ z%wF&MlEcx|BFOnip1SAHI6#K{1gBSd`owbxZ4QiYgzsH@&kkqA&{^EjveUbl{Cq<2)c|-%~Jg>VYAiYc6clphr$x>eg~K z?8ievBc&F9WhaTecp|oUqeCk}TEJ(341mO#{rfq z4#PfSb!s5_#o9Kh&_WT5KZ~Govrc)MR@dTFW>)d-d|`ck$rqZk@DkI-d4*A?^P;ze zss8>F{aVEVL>cGgaZt$bJcC*=eoJDP*sW8@ovw)8l^JS;xHpT#Lgb|5yYpTO|7smXz!T;AF#hl}cY(#QXHJ=#vWl zXx3;<>6DJ`FO?!m2ot|qtfUq-R9Q9%%u(uNx64m(KzGF=5f4c&D(zAMyXC+Agusle z)RuwpIJ}TxL2Z}`_&&}K{&k9&jSL?gRHe?Va)RMw|NqjYTuV^K?CZ4t;NCp_*e();#b^ zd0rS~f`IL}+d=$3ciEc91ardF0gpRfHc_DqVbvsl& zmh&~p(qDI;&aXX7-huGhk{eD-zc?sc2pn7c^R*SC+Vnn^hO-#f)}ijy9{B{!D0Kx2 zuqP0IT1lYdY_cN6QA?f(&*uqSL~&HSBv%z%qX^VC9Cc!;sXOEGce9;|rkNF~yGDxe4b(d&ZTuO{5r?Ub4Y<+e>I74m zNtfYQGDXx_W-4N0hO;}6ceXTFU)uwYiuyT&S%C$86y4F)ga~{TBl}z_32GWen!QQW zTmOop^{#Ly`+v9Wq0~KeT06qPe?w7hAdI?!9`DDkPhW|)&2t=A$ z!K=ohl+wG~hn^)#LY`1YuH+95pzyH^+%b=`A zWhN~K8O<6C`BlMRy|H*IEs=P$sUA;9$%i}hhft9q0es2W3~&N1TIx|LE}~1aAX0kU zh-$sbeB#ARd>$z*iz-`=i6GATs(q$jQdG( z$|$TQ6X5vs|5{A>+6XkN@qZK@$f&FQY)?z2d`H1iCs@(X7iFA!OpWKJ$6xb^-Y_1& zeTf){RYnlnZ0#0oe}r`IfK$-Dd`>=?jUPRFW;M{&xBSf6-Kwkx+6#YqT^C93G<`Zn z(8jgW>Lwv@zq-Y-@A=Nu0XoSXdx8V9rL?t95sz{e%b`>5Zzz!R+}$bnW;aiPv$qYi zpCbDyazx-g*9yJm3tTJj_VJ%t2sP|6*h+JfyGl8QM~8v@+&vJH6^88!b4$h}wy&;x za3-*5yr5G@ie(I6nQxNex-USojhJ#RKNtCm=6-(ZPi&%$#{Y?!h+O_ctAFNcd~SWG zqoRvxsdRT)Brl|%tXX?zm%32F2K(h$UI;X3O~QA`SY(Vwt_b?v3We_Z2NJ-!@dw=A z-zugYb8iNH(MGIh?w|^T5>KpI?J%wH=GBnAO0&wTpnggP9UKmy>^E@}S|y0S& zt@D_a4>*Qzli~iO;3U&ymu8SlB3k)(atx8+=|pCzk2_gj8sT4tjSW;r3(K zQz%g=RQ=7#3rb6_DQF8F1EV=5dvt(6KaoXbs)gNqcggLyO&Knik_{2avu-;282o!1H3w1cxJD{V(g7f}#7SuMMnkN1!`Fo*WKEUCKnl?wvC+f&TP9Hy=e& zA|@@Qav*97sRV;6dZlJLb8q0mH+ZdkM$f(Uv{1i|_mINThLLLWcUtG>QUWxv$M9X@ z#_`seb+_R-qk=fdIp?mn%~UxTma7qt=+=Vk6%wJnX1ULUs4&sl%l6UJa-tBYK3v}X zrFLh6KO~6scjzESCcVvKm9pM}|( zr#h)1A^{#6acI$OMGgI+>IOL{r&x`6XQ(OD-aoWhPmY9c|3Ql@u!|~CD81&$$?R0@ z26a4qwwdkIPsdj+x>AIg#c>3^`K;?^W(374rZ|7hZZrXsTxnN!^FdAR9 z>w_zljxBa^KdO!8+9CD@r1Ust>Vla9{j4q1*E~4gM`y$}Mu1-iN(MyVj0#AVz{m`P z0@IfM3E4OfIt=8-WYb3Rm}%jvP$Ucqc!nUU-dqIr9o(0}mq`mB%>UBk_8YL$%5xcL zvJvn(%6t*I&ZCs)uCq@Y2?X?$MIrsPBMbOpw_^f8)SYD6HU_WrDQ|WJ@L(3Qgd=`U zuC*6~xCRJRj{B%F873qC;}w~znkw^GrrZ;Lok=2r{o$lcVTa|T(=?W28%v|XYi^H# zHe>xLJerpL+eW#ya3|mhF^5)#rb|=DN8qB#Phfs1T@h!TUViZMwztcwPo-LzEIW3) z&Cmn2Mqna;QbO^-SpHO8581U*$5rOkwQ(0sVB)&UDgk~@UyGO7k@3w7~RpH#UJFqr1aDATHeRO6(kaGxNS)+XHQ| z#uZw_^OBsGSZIlN<{x%hCgA%MG749HDP1iCS>ZQQ4kTJn$1`T0gPBM3;=OelTPk&M z^#;!cJIDvQ( zHZX{DZQJOO*9cjF1|Ggaj%sXYJPPBHLI3)(@Qb9#wZ4yS99@Fo^XO38P`w5PG?ft+ z_@~GMiL^Zl8TUKQUV^p8?vLc1c~h1kf{2~CWfDZ0$)fLLH$?Vn$1Vs~5)+#NjSJjx zeQ}C(?4mXgKb;vg+B(7(JiKN4zn2N|JbPgQHOiMMqT<3HsyKqF>|m~uu3+{tUv>F{U%0% zgGhZI*copIJ>KvY_v*sb+S6{IuMew1QK#oXJ6yz9182(sCyvd3gQbdM^qt9?)RF&v zx6?7G`a`kf?cxs!TcCEP_-|_VOqxU2`RwPsx{@I$jZI=vbtJ5$$)MLuI;g{Z(^U_6A2q{Z( zsaVIt4e%P=$gP?;w*O2)`P(u5b^L*=YZbH$`vGa|1+02qhmXp^A~gGGo)2lR!&R<+ zTGDat_%U}44q#>d;=saH1_O%P4ssRp%s70;3XFakmAMG@1YumN5rl#bl%uC$BpkQ>1Ce964K{)I*AH*#JO^aAujbKoPMVJ7= zDYn?g^b%AMmx?H)Y48Bl7XrV06eyz_<9Dc(Qu+97>IN|5&`lK5orhqC=1tY4X$+6G zx=o&&;n=IXm@-GZ>{nTMtwzhqmG$C)_!BGi>w)WFZIxy1l{d+^It!zdU^206T7j$; znc;gMjG1ghxi$bur96{~|F&O8B`%M{x^1gN&U#uOaAc+`-Me6@L`No{&LIXbOkw>U zRhduADBTQ>JSNiAMAk%$ApruT<|kONxDvhW^>0dkWCp{eHpUXhjPtKBEjc2dPkmIH z9BAGxMpASzp%cz?zj!CnSulst8`Juy$qRmAl(-;*tLjX$)GKIi8#nqvmy=@xw}ijN zLr^->?S9gT*|QiC*+gr4 zB_l4`koRdVWJ>O8-&KDp&Dyqll=mtlX~Fn!n3LuQ&vyTB7GNHXkGqHICkT$IehlLP zgM;Wk5}_#T9u}AaL=uD6Td3XGDuQXhmaY|ogRSWp^C{-VMD-O^xSj3hgDr+%0MM4n z36F^{rFLE;HdC@b%kHKp{ie)q&olZSS&%g!x%>Zejv%MldZjC7`PqJl60R$zq+>ln z2>n3atM3ndgDC2ba|#S~P2o*RQ!|_w)`#NbTbz{|eiEhB#q}t=&p^5;#a0n+fD?EJcT%0 zS{ELS{Xv@mxW$(p5^bq;ttRYp#Oc_QB2Eo)oOPEud(7;x!OJ)%IHX`b@!^l23#{u4 zI?b*idPGF=2hg)q?ww#>Tx|kXFDA<9SjuOtgli<7!w-u6@f(>SFU_Jic8kK{v*&#)N$c=Y@gTSOlx z5{m*Fj#SLX-}-x_cjT~mR*>nBw|Xe+DAxLEw9>JV1rc)J1Vrh8EUX$M^zSi^lSz=I zn+zNgs%)~oXAKyn5xd)^w*IOM@_>Xq572;Y$(lr-87|Y)WK;;xS2UmN_W!y(!|up2 z<(N#iqO)r<26jNQ^WgFem7o-Gg9puv8PL&9@M9x;PqTq7X=n*#10kF=OT`b5X~}I3 zwgc_Zjx*%5JD~MB)0Mx@H=D+}dsmEYFF%r^&nXz=9CVVo$ejZ6f8cJ#<;sXEMWY!K@0edoMg(ESxS;q`V{KU=PM zU1nvZi?6-PIbU$ZUCtC;cGhI&&B)!|x*u2VS=<`)Q=Pd4W?{Ea-3^o872@RR$kTsf zDXUHAb}+=s$VKQ(-%98DUb^l@T3yXp+sl1?`VKVE=+2S7LsgWSdVAOG%ygYY;Y`XS zMPsN|mU`8VZq=i1l#^)?Ao4rPVM^3%teec52peiEe70ilAIQQZO#0Yi@)8jQ9kOav zEf3C6B_<}P)SAiBB2LB0iBFMw!|11KLgz(QT0tl7?o*91tp31Y9@UgDZ%2Lh8z1Vr zm0i&oyJb1!Y)Uw0{P9QY$>)9bH&?gOVsAkjuq~r`a$9Ql!NI?YIMLpjR1-L(SJYhn z3%pPKvR6R~*DKQi9nGK@<@cXY+)bng3r*FS#b;#l=X+j{Nmk ztb_{65N#G7zsi4hr2(?>>$iS^AiZH4P@UbPoTgkKarn_P1@_s&Qq!<_%EM}cz_FZ`)`L0dxiy=T)DB=M$SHIXcvGp~NNoA0a` zE4_V2UZTeAuITY10MCi|`NeHUZz0%}9MwY+C%7g)wiCCdOQ*K=p?*94_E;Zmiy>jpFw;s%m9YQzfU=A7K-ESwKL-@ zSU4Xkzok+z2`5?m^oM^KwFU~{KE?TmjSh9ded<|0z`_Zuka^F$*?(}8c>dI(*{Loe zwW~sK&{vMS+tcnEbp8+H<4EnivTiZxOW4vYW#jUDy%i9P>bGxa7Bg(H^8yu&cbT)q8_l{&IIRxc-NqdvDYWj8@%u zHP~ToA;h9PFth&Kt)4xtWyKQ#sAH6$x$guI`jfe!3##z>QT*phy&E2PxA5VNk>hKR==!U@es z{D0_rr|>%0?`t?|(Ac)QVzaSrH)w1&wr!)aZ8k=u#%R#Eabq{{lkUBL|L^2Gc}~{B zIvLlz=a_ShF-K61EP{;r^s?~h>_EJA=04kgJa!xeaUWc}ZW zecq#UW%YCjLJs*PLCvft$0#1*nzOGcTZh0J+RAjKrM7Qew?m4X_>Kq7c&JL#X)vaQ zARJhMrzAH?rmYxsqKd~aOxE6-DDF>IQK}9*eUJ^IqQe7;oVOR42uiA?V6*&} zR@B#Y)9okS$(3qMBg1%#=;MyxzW<*2W#vIk(X&!8Kg7d7)g6cS+l$?)%Na~9_I(i@su>&mLo-0cj5e*iKgl%R*qs@GU0QecZT*FxW z{-GtKV+8b>g;P;`_cr%&%_Z++$ukP(tOpCMln#w&s+Wg!lTYG@2v zwgo3Kr`_~SjP{jeF&@R#vc2a09Qke=RXjazp^+sl`*s2W#A*a9#$XYSvyw>iCn-2) zE0L|j^kL5TP9)(zL_GytWG?RYWKr_o7^#2=PpSGrWU>KaF_Y}cW;5rV8B1dSJWlq% zxf&E}xG5sVKUINNGti^C-Z03RYm#iI1kRlKXwi86!B}V%te}P}}Fa8DJ9IgnI{xT!5X92KUUssSZ1?`@}9x$&2XF1M??% z__7?zBm&DXfPLq0hT^vnwQi}%5r~1K8P7{H%&;l`7@fTsJX%XtkCwQaj|*58Y|6G$5Kfl*%?Xt(-+Y#4F zog;345~1%PxiJR3#gJM{LQ!13jBATH4<>!~#_O>Ozi{&94*_pMBbNr|$fur?E5tf( z#ZC?>-dmkxTjQOKky|j8o=~0uTA=>1#vkpOIa~9~gOFDtbrForFD4m}-Xb-OuIj!x zJfZE#f`GWDkgbCXBX|hx=FsQA1EDV6oH-ZBDc~8Nm<>LGgMcww`sp<+C*hxi%ye#} z9~baZFnehBFr``5z1<1XluZr}lBvsn9}8c>Tlw49r$3eFh)$RP>m1Y7btMUikJ>&F zmT=PzV0Bp9lJ9695B@etFy`fLU0GcQ@oI!ouQA2ST6)JwTu9FvxJwx3r}uSai&1Jq_>8TJ-?<$D0G!eN z7}r-p=HEa=*ynH)$wxDib9sa(rug*$U2n3_bt8U^tJnC-#aAF9cD%`;9o8)d{wtcTN9w7pE$+j?0U_M{ zl()8>Y`e^j40zM9+Rt*qJk{l#e)4&y3Rsq?8($t~2qwccLt%?yDfkf1HY{LF7Wuuf z;$;m-CHn8QXP|l)l^dvkN~Wo8NGn*7sQspw0w$~w`w@*M2YcDo_{)eqh47}UW>wuj zBQr#=iesTmig-|gz~JfwLH7Oq>t&~;h5t|(4{ipr4=g3fL#!{)h z3p3~)K>5|_)NkW&t0W`GhDC=v3``>*{7KoPNLMm+6L}{iQkf5fXxGXw8=)Nc2TBO5 zKShTYQ;IP%ww``*x_Kf=e2?`WKx5>&gj6H~IBE#`9|_&}CCm02Zxp4To>V$vycWgpAc3@z)ub8yz6$yk+%wB(g_(`YT@@wG|HIt7;uK3* z67QUFmxCy9QiyPc2DVwDuL0yG-Ld=y<)c0&^`fvI)lEB6PcHei=y*Uz9IAf}wYl(L@YarH?n~=%`IFf8zSB<#(5?*}`N^cS1U17Q`;Fx? zbmZ!tjlZkn%qp-VL~KBE9(1D~7>;RFMPyu3n5?<7taE@kdBphr$+{mQuj9(v$FjlI zks!-_i5M{YHTq7PiUPZsrS3}|vg*mEjXjINg%fgw?e<+lqIi`o3Ezf^#^7!ksT&#L zH`wI>%)?4^kSl6~h^-C=h~*66HZ}<~0Uq2+1ipfe5&5k>L(f4iqJTziRX7zheB99% zl5iBpr1LkXEM4Q1!*ib5Rx0yeo8pSo#P*fY+`e8X_2#RQ?lo0R|FDyd|N3L{t@+hi zijn(kN{`}Syp>mKb#nqmZnklT++vvQ(>e_XI|2jvg)NPmz-@}p|5do{*uNF7FVwJ) zf;NY9WSWqn9`IA~fTN6EuKea$9>kzBR)@j?l=r0536r_i{!T4#jKgvIizaJipRtMs zm6#JO+*vhJn>f-;Hn0-Jz!EE{fS9vXeQtm)!O&h}A!epc-4ag+@3!~Z5tEiyA;Ffe zFSszMk++?tG{%o3krMya?M4abXRZzv_^?X0W4sN+t{(FI$%a&P$h4C-3Q~XKTnbJ# zXuzbtR#_Pi@QmIZ7)z+h{t)+KY8|wBYx3I4g)B{V0+R-POgpcJ{Nup~d!!?($T$0o zX^Gjeoc!7&l154iC09!`WU-Sq&@Pu}iRRGsAx%o!-$?LuY41K=gZ#4>A@T)*&|slu zTP9wiD!cSG@WLA8;rE!$1M_X1H^z8en7W)%YWr#YV(|Fwg*A)+3<1N()JaC}aE$Xj zcjJX{7FYyEmo|PE_TdsWVEPcPn$x`>);p_7t);SNHIN_Z@IlZgeX<%ht)##gF&{~s3i?P(qhL~Qqw2DleY>+v8 zQQfV{wWTA0hOqW3#WS{!$TdGdH&JQLs;hwEhX%~=^&)in1Iz--alL|Dw+vtwRl=jP zDEA^t88EPZ2qhziJg3~9-Y0D8&|a(|Ht>l^TZtxQ7~DW*Ye6+1v7h48oo?)0gDFWH z>-u1tb#d9zwL|j+m6hhYxbFJV-m|o=yoi~N3p)q64KzTIHm_b~fNv5heYo-qmE8oj z!43lsFErKvo)fKt=nmR9{XvPtmDF8bwS;9P9U!-ZhN5+biOC9CJLdm!3I#B+25(Mp zL{65F2rYH+VJb%TQRh#M=Ja2(|BhkS*nVNg%zkfz%!I1f3k>wCgs|&RfiOmb%~xIs zIt1F9Mp%iQpgjv>3)tmljd<{GKOd7%q_k2}s32xiGQ4sR2_!LA2GMg<_u8C@{!RMT z1z{t;BvagNfK5;xPh!K!t8u1>*ncxdCtf>{LeqqDE&vAEkigDw3n`*r6O3HO7WcHf zsWLywuBdp+k_@Vz=$8( zswj2zAFS;zbTBlcOp=^Kqqq^diA(%k1Ol9v+=SU<3!SpNlv#Z4$v;pnfBykQej?WF zar)!Mes(&XS>j1@9VVThM!{ARTmp*X8YF!a zwi32sJY5l3^E^e($A7h9N+?S%gye6}sKnM(-_Ix^Q!?>;HrXG)vYI`YXJx*ej$yP+ zf)sJmP}kY0$h92@zU=k^PrjH=2u>C2TQu$MXb5SH-^tZUBhj)pUPb8dz>w@nA$3BBp zwzKP$W@w;er1LXS#wZ77!I`$cfwP1Kf44a5yM}pM64-~J3Xu?uHxc4f4h;-fQh;rR zmlhGxWh5)M!Emv_wyDFQbA#K9~CI zMpHPd$7lVU&=A~7@v=I|VRLSp!%+>Vh)Gi|C+j~@fL>qo%tB%UHY083jW=pS$8x$e zEV2){X)bY^fj4x|aU~~}oFtC^l!2<=i-bS(jj=v?!`W2O{TS@IyFi(O5|RT$oiLZF z$RLfBqIQN7X*8I)x0VoK9FnS=Y`}~cQ;X-hYC^OU%zf5rHN`5x-CYOkpBktcg<0c8 zdToo18_f_3*cDCp`Lb$Y1JWF@wj_KMbhpbjO`ELf)s5dAr9imYEeN5|O+Gu>8H^e(; z9>y=w(sZwxy=YJM@>6X~o2U>Q0L6B6n#boGKzMPFGD7K!SvfbXy`9J_!D~Cxz^X~^ z4ivTT;^P|lS#dVDI)xekD{J7x|G#Bzuz{OgPepFn5SDKrAt8=|@5lynl=q!J)$?OUgngLnr1W z$sIIG%Z96D_|}GF+lVWmJB$wYFBrM=vGsSoT518m^?Pk(!l}v1BPLRGc9pL%NvgE| zMS%ZtBvT4_LYD^qWlb77s@)83Nr-hDw6)l4(95U-Jz>CjnUUPkvP)k!By&e{ zb5FNtnMl8A_EGQ64DXwqasjAiuw*pwe$3L;4PqD*mcwE>p`sO(mI!S-8A2QMGWG>d zr0);q3^lD^!Pc1>AqA983R5<|TYf{EY^#^RyQOaJ{#)F>U>4lM-RLnG4T)sJ0iFY! z?iJrEY$o6GJ(Skg1x8HE4L1erSt%Qer5{VSUk0F;F+clmvdz!I))Bhk#(o*_&s0P#IGsm2TogD;Mt%Mt%*a52dh?Xpqga2`8;;3Y+;`R66YXY5ptA|@(nUrJnNfPoFW z-JKo2eZW{&BW#Tj;0(OoYnW<$(`j90BwCq;lWpstCnPC;Mfy5WH9&SJE)$(uk0t;& zJ+oQpFv+iFm%_?M5af<0l-|w;{vXtw?;P9M(B4H7{kW?G(tN>hmmt2500J$wh58F1 z)}K((&^4ykL;!G(ueSykp3z8i_1f)9aw-9yV_%jW9p2S+8-~sBiCS}-JBH%B4Q~5; zju?*KSQMkPa)HV4V_!xw)rCbOtuK)tGeb$QGR_sFMz3 z!Ofmdk2W+F6K6rNTXZLwz1@cT{Dc&DP;qJ}D*M6m$CQDNv*+i=h-*7a^kG0R<1h-) z=_vyyAWJ0Q_Rkmc+5!j5HEKPyRy(FcEscFENX3EgXt$`zq?h|-88KKoX1;3j>u?4O z(U!fAC2d8CB;zQu+$2;>yN^r5Dzk8J?i75;1pXfPUvyLwca{or}#LS&CEwBR(H@rFq3LiuH(A>KScLohO z4UcyCjrgtL5t@#al6jHrFJHtzfTX{G6i)AF1S#82Bov)k5l{2wj9W=4ew_^!$E*Vi z!y1tvgLy>6Pghz8+W(e1%S;N--J;F7`S$4_q#9&NWR!IVprI*#hC+{QRl}J5oU?DG zd?L}8yhwNVL`U3fxUk^jamRdXV0<}`M|og;oS7XZ%k@}5X6>L0B_-y<>iUFu&Y7Lz44o~g6|a1h2Eq3Gof|A*IcWsp>A2KRQTJwse1zwS)fPt^}Mi}!+n z(M9eghwS(a+He#gj{1;}A#~E_>kKq@lIFFYIEs$0lXYFtT6c(08(^L6^|6v2Q!%ZL zld$Gj=cw);esar$$b#UDueZC#m*cgkKQ}k727YuiaC`-9c~^p=%DmqVI<%@0Oo*mj ziV~#Mi;9-*i3T?Ew`t+ZrD&DgHMj+vuvGKE0{D)8qDqYdZRISgSjW16Al{ULDBUPg3+|0k3y=~0^G3^{L+&3*Z?O&gDd8|220RF-ZgO!bu(@n6bxOaMJm5ID6 z+_HKNNU8{~rrHU$r0j^|vW5xeOs3su^X3G)%s2T~N119Jj&Q&Ie-03Krt%PiM%Nlj zclP3yd7ShnU<@~Z{F`r3r^-pc7-2D1;{=8Pn>enYW1qIx)z%l)$5b!n2u3tl?sKrv z>*bx`0de1H^Dv~g+Ivx4Uk$RAkdMNh%BZ4OSQe#a0 zocVbpQX#mT)l_%-xoo#+@UUl&m78;2{Kt{lr$=-H-H*1`epWUhpUh0JRD7Fg_*3a) z`I66NCGv(%!(dU2Xdlr(R_*=?&FqhSyw>z4a8Mz+vH-$r2d*>Cd5))ZJB|5A6DVrn_6MPrLY!1I z@_&~S41r*wT7SlNmkN^ex$sd$g`k-PNeknih?LR$A&lY(xg?~q!~PLv9*KLuX)gV4 z&(UfC`O0#@RMQGj8dS1G@8u?1sUiR&gR&kLNe~ri!HU{*bzj7|m#~ay`Sm6d-=Q7@ zE#8mZJZ}afkCm%2Drr-hVubmakWo}_&Z&0ZDkC}9<{BzdFr3{@fXR;6j54qDV%@dX z#0}+TWCz|~JevXg4aF@$H3hE#1h^TmAC{LxFBPLM0xmnrtbyU>hvcQxCzB>@LNkaH ztuzz#s?8JL9saSFI>_8Mh4a*x)I;Jfmc9nuEauVe4A_~ zEZ0i>lL}D&m}IkDtM9B;zB&(m8A3mTFzKE=kcRYY@v?z3OeO+nn`H4!+k=zE2`8s= zvhyF>hLpYWnQLvE`7r(mH#h6!jBuZ?A&QhBK01kY%;6eXHh5cz6lXepB#~ky<}VhD z-zUXbnxXZ-nwC*&n_N1-CN`~#uv5n%{JMo)M&jAJH-^f8Ttl(x8+-$hbWxbX*4x1wV%`e9{tYkBIn-~!Eh)D&}WzUh&s zgHyaETaRU!hEsyB^$z1M45|mIBBA;CZJ?rlVz4kvq$g)q1!Pbi=daE%_+La?po}y{ zy`ixx;V76Mci6~L`U*`K3>{-)@s+L!aX8d+*|yh4$q8JMYK5OK9T`ZnA%O6F%^{b- zN(>Bkw?^RlLk34pZhM5Db?KTr%BAUbs)q5W;%yhk7LZChrNe5vs1yOr?J`3)D>v$t z)7Nv;!({*Uij46llYiroo%1yMF@`5;Y6NlC2+l_lSC50C3as-6^l>Zx0is%L8+7g~ z*u=$7-<>v^kw^CG?*X67`xAxJHOQ=~9|jTS_N}kb%PizKJKr@oRBdh}19lpwS{ISm zw%JTU?e=n)6JC4j_Mow)9nb87=d#%Xl|>95)w>B`a4*CkU0$;Y?o5Xo^o%c5rU#SU zNjBhethKh&A&BK?<^;D5m`j1U)SMdLwj@JE#LDsVx*x@&Q zE}tcLzWGB!+a8(sa578f^~vL_FScIV?(ZJJI5~MP9f??%q|@#;YaQ0Kaql_R(}bI7 zZy)j1#^%=kT|%$7i#j_hV& zxn1!)#&O**c8~B2!()IxM9S|fKIW8 z;vkf#((_sY?@{$@AVxRnu_q+T#coVN9Aa+5FK&;klkxtn`(feQy1C)my8U6f5FD!( zP7iH5x0?cBuTAC=n~HLG@-DLh)f? z&82@qTjlMo;$jCekiw~>a`tFNhzEA`qn+;v>i)=}812ev{`9TN$s*HIVv@sQJqq29 zpwe;s}r`bCj;phowCEo#@u#E>Hu$ib-yY?B(1T^c09Z0$v>oH z(%Bz>_rtx@v-@wK;T>4{Qb;{~-!?^}y!G-Ne8V}9AM`9Yr>Q{Pq{aM!P+W=t4{*;0 zKjWn>_*f-C(m8SxadwYaT2Hsjw);!o#)x%?0t72yeC2!A)L-4Cj$>*MxU;hi ztIuxYFsGf-tJF7^e(?XnaUm%3Y&RW$>{-kFXp%RCAMpMB6UK7B5q^uqwO;0iEIaw}*8p?iE?0E#zG~?!n6MlPb1ChKk(i#)3WnL<+St6!5$28)h zAr=R4j8y7ovcDu`0LklWr+TnoCX{yrq#~SVq35B+QKln99WC?{zl9z>hK8;X35m;a zvIwDu1S?%~8gkM^r>irE3j>R?YX}~IaCAyWgMg>Dn2b(Cu0%2{_4^{YnQU1#1Jc~9;$dOVnk;C~I`iIxuikjeeV_v_r;~uxH_!$eDCsR&b>v)l*f@ z6+j!#$E#h#5F9V$vs;;VbCh)O)($XAaFl@qJ1~2oxH%lVckMh1<|0Q!Vv5CWacux| zVp{AZ8#9>j zWTOJOM-3NnsZ0fLW9`YGvsKtm6wse_}pj|j3Pef(SF zo_dI{Pr?dm6vV*8nIlL|BHCwL%Xd-4!z?2>HWfV*hT6sXh16+Z=O)MbJ!dGJv&T_} z{PwP~PM38QoXbT&3-~p104a;2oQIJ1`&~9az@mz=l4fhXu^w?$<-P^RL6e(l2Yh~m z9Eb4KFP$15%wP2+Z`G~C!OV=OJ&O6Qx*h%{yTB+V`B8Jp7)>8&94HXsiX_sj=l(m2!FYKQl4;MZKVW+N*A`!7(PHeyio1`RJv&ck3CjOn?DyKgu z4bK_=HQca+lwM*M?9?XhkFVeAx#Lxez_id$48!1z@zCWud4LtUY`Ca;@P>73!S6dj z07e&5k}*}%N*g7X{ksF6!jVJ5?)nQ|@Ee;ru0>EU!Azj(#nDz;z*3=5caMAn9a=>1 zA6ESb6QN-+<=HF#o`~m96`8CfnFKNNdcE#m-6X)TBf=34fB!s&xU(@YG^3w%76E++FX+ zwPuV#a*3n`8iiokbOq?@)_94|+lJ!~AjpNGX8ybYZlc&pARl$%;%@nxci;2*)m0gy zs#5|O{l?VGI@>OD^DU?VAs)bDqUV6$G2;WgbQe*rUQVW=q}-Bw=kq;BC;Q^?lHQ!H zOzHDOR3*eO$mO|NtR#`8IYkd#f^&_e0v*v?4 zsLh)mebrdCjM0sU=9OG(y6?NE? zIsEUoiLsKl@xDF!Jvkpzh@DID>XQ+r2bfFIb5P8!_f;6E*o9Fvc`s$|YGrs)CDWHM zw*_UF(YW53MNf=n!t0@j{_}gNhyUrF?xC{2gUx!DN#ZajeOSDbZ7{6!ueYj3(C#CN zBBZiu-#5fMmdK*{tU-MFc(8KUSIEs~PP!;p$I6O$DRr6DC} zoAsd*uRU|!QJ@R$<)b-bzUM z;LHbrL-u1N9Y!KZcqH-?*)MudhY!|^Jx${SC*pXj--gFoMzsLR*yHSFoNNZniJvQu z-GfiGoMqRcN(VeAOLuPSVcjsUt=aGIqEjA|*E#Aty6mjGy8K|X%=39S*l~@Y$So%? zt~D3|CwkP=%gc7T*2j{>tp#}k`s$vzWr)=HAZZZ8rSPEYuiPF5l|nhW66Tl1zKMd0 ziSpzm7H+Oy5qf6>7~P^23Ay>FPpj0G+&`ZLpCzz`n4ZP>!^wb0mb7tD@9?;iM<0E(t<;}0Hcpv}Lrr_-sCmP)_W1iQXLkYKmd3~n!Pqr>K(dPYjewPL<7XHO^ zGO}Q_c2t4&Lq(YhQ#cLT=nXw;FycfFf%S0GPN2BH6t_)>n<_lC@sy0%$Qa1ClGhh) z8(i%`7H0jJn3-j~RzMLb?E)-@5`$T*M1itrXhJDW&UU{s9o&p6wc?>{AtsZ|$N7bm zCeXOzQ~LYyq!L!L9-czpk}9dyY#3^3+RVU5}vB;{ZoFV)}n>*%;q8~1!2Y*Bxb^| zF(aq_6K~{sG^SudSF17qE;=D3=KXEiZTP$=*vU?KNEw{@#dhg`jojlG4awdQ)13qt zy)P-D2E?V01Rg!o#3FmzeMMeYm%nHgy&TJ}fsju^K;rtoiIJrpPetG!IQUGQ=CJYa zNTsmXa}P*3JYL%4?FtOeC>n$Wa!b%=$Q^9r?WKRg@t)zf7QWE%&@b2)E@0w*ZzgwA z@X_;=`_M~aI{0|IQUvbC`{F8q>Bd9prZ=6YY77MTj-2yJtX$mP6B<9h-0Ut}Dk|{< z$edYtF#z(epqIt%UXa+j%qIamW!^U4=7Gu+_RMDi19VWxSFA5h`|h6f#D@pS{9e^B z*0%Ov-RW+XRpE*~u1n?M5stm|5UKO+K3~Y)le$crN*1p<#55md9Ld$gM<8wjniJ#J zFsAQtFzVz6_e^K|=+L;WaITzQ~?&1iCW-PA0r$0u|xU)rL`D5vI zY@DIXDJt+y1CFv7eVpNZ7u0tA6LAp|&7N%-nNV}Q@cUzh8w3cmy^sTZ_RmC~Ryq*L zDFiwQCX)pjf+XM0!`7!8^~dh9w5bqj*W|d08n?5mD%W?!F2OLC{~YG**WgYF;^_XW z(dO$$){Yy>5cw`$3>(P!kKitpVJFvl*Sug=&9h;n99vHVK}JcJ^oBjk8YuXb=(i^~ z1@Y#_Kl0E{NS*;&DHipr?k}I{&k?FML zv}P%#^A72oMjZ^HLDeXk@J9>VE6q_;N7PkDoTR^uHubnZB2t1$c+$3orb^4C|M9*O z<%o~w*+OD(0q^k*fbyBA%BQH5)?9H=ig@_6UNWwGap1TR;R18utHU40|Dq2H0w>~d zM=g(hn(OzIGEtcb;D*gY+Awfcon{2mSR@LG-ghb8?bel^+6Lclp-p!}5lzx^a>1mY zHV+-6ST{<`$O-l0C5GQjP2U}A>D_QJj+JUi;+hn9q`p*aBBGYaj_gkATxFp0#JYcN zPXb=o$;ukqc_4s%km#KBz#exCdRcj6DAUS6C)0{)@#y-M865cEJpN-$QjXfE(vb$M z&vt>uzeVN#7B+?1X%hF_>nr!o+uNwpZK4+p6-yiIlRZ!yjWKIG#n11iAoLy>y}7vc z*{X7~Wbl@esvnT_RXl!(om<}+ZVehWI!)lNunq)#PTuZ;EP9{5{>0bk6L7$AB!LqO zmJS|AoBNvcr7<~8DomJ@x2g{0U>yBG$a?-m%cy>I^@`K1e28&g)Mk<^r# z&rZ?EYiX@LzF|@#bTS!pbIab==rAd=c3-+S=kv<|>mt2BS7?(SpY{AVAapyD-(b3} zs6c30Vi}IwsjcKmHuBGOQ-g;e2g(&rYxq`(indFOc1vI|qih)P_SPZn2P01YzVo9Z zq7nKw6(vHhQlM7{(F_Rj7y%*P+vBUoIln|sSHky>L%;!Rc!_ZC`;UMXQgD;}zvU1O z8xg|ym2PA-QKd+THj{1-Oe-!~=zEaFlu3Mga+yNZ_v4{R1hl5TMKM2Ay>v{4t_Pw? zJa2KN>V97J8D=eK^7crOnk)A23K13L3X!t&FU+lUwTs!!dm{4Rq}AEL^dI|tZiyfQwce_U@3J_eFiIe>KhB|SdBI>8*gPD>la zOuYkiQ~hclg`{Uaf|`eUK1#QQyt#&7@~j*A@1mwuOyH*;|72=foi`l8S#60pDKgZN zw{dB`2)=cHcW>RF!I7HPY~~fYc|iVeN|}PtI3X@2)L&VbOuORp@`&*`c0MLGCuscg z<>S4;f(_0sX}+Jyzp7~V?VeP1`SNQYR|n{JpQc3-!yl&=g;jPUrKcuwZj}|d)BvB2 zW8xb&@x&RR1!}nEsc^x7*1U|No_u?LvCA75kSNj=(Om)q&$SU~x_fMF{hkH)*?V5MAnWf9d7?h?U@-p1v% zhOi1slobWI`voKYHLYdkoyhxqWfW{gea7=ZD3*1zha_Qi`SqpBp)+8PD&V@ws|EJ;faF zI}#sWBYzQn)N$q)_~6@69AmEdmFnj06|cFO$URmdO&M-k6sUkAW`I`xfMR|`g>D{@ zP=?4+g-5bwyO~bk2|0~7kBk16zRz>K;;q%kPKS2>x55gYzkbKhx$fqPJVl2h8D#6<@78PSl zH~XY_H*zM3a8jiMJneZp4LTX8#**Y)&ajNqx(qUPZ(wZ%O_pCQyzC9_A-|7~x!W-> z+Bx47^S3P4eNA&nGEKo81vLQFCSoX!er=N19wQSN>?Gr>wRnes)Ew7=sZKG*ZeR%9 zutz+B@n|ud_u&{&`pZ=k8&c9f=C07pBx;kRGUY%4=*7y z@H@&>LLfz1*{&Ul%NJ=T3n?8D6rxgEdDI7$C|J!gV0Vp&YQ zkivyVD6)~iIM~q|AUYDLziW;G2;bzOBdOL)IGMJ{hfIs=)=D0ajwd?{;ub!qJZA97O}dPGH4y z=1`vWo)MmUGgr1t0+rw|(~(9_jaj;BG@7 zbET$oz&h0?+&xb(ciKE^U;MoMnq73K=jW!4AV7Yv0xN*=o(j6%Mee2=`vkp6P5sXO zU130^(1&j|P|$u=3oA^_J`sZ%kJ8j2X3h)t0Cw;d_cf;dZ=k+P7<>fqJ(QHexYHON$v9V}HXq{?Z`g=^~ zJ4F1tBdXq+%`Bs3aWr4XR(Sj7^T7_@u3X0{G*&dGdsWZ`G#>=XQnXIQFkXBR17 zJE2$U4vHFm+d5~LDJANt2G_B26#gc#A1;fBD%1*%Xaa8*rcKf66QSJU*UD|OVGhs% z$DGp#m+~hsA)qcX;)1Gd3z7NVR4lj&Meb2$xXg9jC+X$7>C%k6pMV2m)dES;st9o_ zI_YiQ{-&sBi!FPOLNszn$6ymvAXrm+!z@FiyN80`O(HowR3(8iI%Z5D$4FL&)>-EK znpvf>aPPqPk&katumD$*P~F4yeloN$ZLy4#QrMi0{G@COOMl7ey8mi&uHR-W9eLI3 z!}R_8cmKggR1ui+u&~}ln=w3XYmbwM#z&|>P$mrEXe2@+5{puom+lhNJ?w}vUk=aM z=;`SzS?P%{hR7Qmrq<0FemUR9-fu@SkrOw69;*K1>kY;0#QLU^Wf7LOIQjYFe%*VS zLT6K``Z4xo?K!O5rnLv@j%rzNvvIiWSwf)7SSFr_-E6PdF zrE9?Xbmjl@ox&C!MFP=L-u&S6gt>2zrO)(q>o~4iWK$_gUrs!F?$rgxW%EmgiT}Zx z=^u-J$sXX2!)rZPi-e-3>t_On*Lz?0RqHjdPH+94Jg_Xz{$WK=*QL-N$Cek!5-SOUO9b*}rMcdiDR@`c`Ti6BlVYEUF+(wr|-GEZMxk){TUL??EI3R?jIK z{5UUkoBYS(b3XXk)c12A*vua_;fHZXAg3UA<1f0> zX&WJ?iJF$W>zYH?@C^en7tbKzNYcN3vMX_Jyy~C!wLVxOP=7>$`qE!BfiF9e12iJz z8~hV39I@)HgDm|a8e3@L-bX=d@VOtYKM!42X*b`U{thX-o3b6R1ywg7hs7aQZgxOL z8=k+`5ORX>4Xdq`n)h&d<0eWqAwY=(Cx8H`-Bt?>TIp#-0ossSRO>8<5Ks-g*g2eY{^e@2(6z76TJT^wH=_ zO5bHe*hn8s=)^-a<5ncaKn(J8IOHQsXIcGhH;hlmZo6ghf56 zFXZUz>$Y7TDDy!TC`jfk8Y}_BtiG(ZWW~_QM#&sa0%X36;O~P4wm$KUb*1wlu;Zq4(Q3rmlx za4GuIQwTt9%@%l{k(aOg$|*h}2U`#)#Jl5gYfiqe+<6b}CCvgKHl3PreslW&)Nr!< z00k?Ir@5#9xN+Rk4g+oHnn7;c+nSFd1v91Tn9kFg}tma|P zkWi}|eDNt{nl$aB=F@%Q;NH#NVYB0=s3)Q7UeO?Q#3BWwNcpI+gSNFAHn^t=`>vjqz14BhCe_Oh~)QHnwY?Ys+0+p~L&HB;1W797Caxvh1ISSF& zYe~%zO``pZxJTk}ygsDGGhAN5!fyGf5p1}fqP*YQjWe@pwMIU<4hUhBofx=6g_W4#JJnT+y7p zO|MSuoYgOQ;Xhzuc%mIdr%b3lU78f9==HRvxNE*>viD!lo5#xqJFY=qn=@WlHCbPZ z*!o%n{Ry!SfbJo*)(&zqO4D&^=KDA1(S+$B);4R)h%J%+(3W0yvZslh+<9OnIW(zGjN7Xr``>0vw<-nm-v}YUDw*-VsX=l zLaDWO&qQZ?E2s^Vm}0#w1UdDSB0AXn+h$ju2*%g(bfqZooAGdU>MLKB#3_jSLMy7v zeF0Ou$IM}1iA#e{%?gTa8Z(KXQ$WyTXO(iwfZmA8M5S)^-*@l$U-vrV=dec15z z9`cZQUkUST8BEu#k=O~ssVyAFPnW${W<;3PUgBPBA`F%P!_~_4n&8#S$0<>PH9NnD z13!(;UR$+SD$w$4I`L&VDtxT+Y$wd(2_1K z5M(*u%rd(-q%!GiaOTPA5+!zvG7%jJGgW2D(0>sIUXeZ!)wSsj1V=s``j3a!mAaBM zNI@W(s@5q;mcNtKU5z#|4C}pcuzjiV+OfW*JjL618Oftuyb`<5VY{YkNhgx0M=0pi zKs0pvb47y5=!S7nrtTmVGY3tl@fXHK+!_8f$1FM&U_(t*15=enP3_=^1@Z>mD)_aG zkT+k9gC~@u=Lv9eD<&$Xioi{AhOCsgOGxrCl`i9FxTh{{7IK{^=kuMx{tAH6j-jMC zVXxY*zg(rz*_Nt)0D1>bI&?>!#5Tb1IdU28c!Zt=5Etw1=RCeJ7lh$MWdpy6`<-9a z4G74i>1d5kjeDl8ik}UfCuTVzjOWp;c-dN2kesh3t-b7ePU)1LG&>40*ErteqrFQ8 z@cg^y1MFgy+u8jEo}oT^fkYL#zu4>AwwvnbF2|$;>)jJ8_FJ|60w)ED%)6O~rk0{5*_MKM2yt@=tPR ztCR(ggj}x(Flw$wVBV%Kt6S74mywcqitVuTnj{60hicBP^ZbcYscqTf`+9=gJjMMk z8sG3v_Q$NVkx%mc`ie*GQXapo)9X#zhrH*PlZES-LZw;d?WqjqTdAAq?b%2G>M!3; z=YTjEyGw^opYzVm&h9@0KuEEg`s~Vrac9Nj#^;{TUN1MqGbF*{Q!3NC@^D~v%f$Z7 zqH>@+c|X^gBsaJXj$}(b9MuUK>1e{>Q?TrSIs$KqswZsByp7xr#VAn-8;d~w4>HCLd&L;pX<-YP2Yws{ss2a@2y zo#5{7Ay|MA++lEccL*Ld1a}D#+}$C#>);yP-C_TD-|v6+clJIP=WZ5@1vfSIR99Db z=W*iTqw~SU z0NE7r1?+x=V>kJ+;L1#M{1^&2B`txBIBUcIom76)uOv4sdO2Ct80}V}dm82~GRt}& zjt;NUpE)Zhaa0XJbIEe z)#5eeEXb_aq#3sqf6O5~xZwnY+1dL5*~%CTIN1I`(sALi4Ma;kqlo>0VKIgS0*PhZ z2NR7|kyId4+2Q2)&BrB`(eQ22qRf|%v+0>A2)BVR3+S-p*gMcvgEN91Oo zPw$&|qYaM~Ej@r`VO#3tg(P9ok4Uu~MByL5r(r@|AfeO{_7cTO0r=;cubL?59q zJU12|OgX&gk;p+9Nj`|>9|oSt2CngoVf0zG%klBEzbjA#14a+)u)o^JckyM*I~<-< z`MR^6T2c(GMT!8FmsI{)nu2;ycUt7RkyNt+QU z@s|F|5g_nusq79D-j#CUt#sjJ68-WKHgSQTXMsm1{7Ij1(S>5j+cE5u zt@QWliy2jDu5qmQ@YRZwCJ6fcR&ZMxXFbUe<8DuxmVwUAdT!?j*VB+qVhar3_bHz! zk)vX)5VqC~k1sV4yA`zX1{_94!8e$%j35FMk3*2gVK?aq0U4kqEd+A!@9f{T~8z>>I5sz zn{@n`?OoM3^Jh8pvxEY?{6-Fb0%?6&elX-23;FNUmhNwtG-2j)R8-$~A}VW>HpQSf ztjsA0!%CNZLa2L1D}Rlj*siD<)SiB4$3SyY8SXGkA>z;(~1SpSbh-|Yrh*2 z6jK%ggb3cgz9rrENc5S2`(q76zUpz*_M34UaJ7BVLB4ON671*BF(MLS;!mKj-a#QS z0*z&_`(dSI7otOZ?@M4REoKbCh+z6{Z;-SP$$&`^neK^J0G zPe}5li};1|xSzp8W$j)i?uDg-m&qko_?fWXo7&o&Q$s?aEyZ@GQ2dsDwKcl@woc8K zgq>laLAaYUimMDdA@`bdb{b#CLnw0i1oB+3*WCJ8D8Eg%>fYdev*_#Nx!GqMYC;q% z##m?RW8Eh)-YQpit$jbG;(**%ie9vm|by;#)-oy8+(` z?&wQ#SoRy2dG^F!wVQS)gwj%m&oif!CX^#=byCn>9it!7;zs+Wh{G>hn9$4WFQ;Yy z0DS!47)BkqSyROt^2r4-44&wSK;8~del!u$+P@CnnsSYf{=;&dgry2N8V&Q#(#x6D zbuT7i4~{_(l3Yv7J>wA%6Y@;COQ@W)@HNW|P>t=v8rw<8P)R?Z0KahiYE zY5U@|8ZQjcuuS(s_X=(^FnmPad+!r?I`91OrlQR+&H6Wa3-oNJr{U@m35;$Cv(2~V z%#9SiF~uFt!#5S#Cg+-2r^boslPOboXJbxHZcE7x+Bo0;A?WPM{0)!vu$m2iB7t8` zJuDKqbhz;sDM)^zDKVfwq2^DX-WlM|V!KE%N-@H}1U*yfTSfrBOO5rIc@Lu zKNMYTCm2A>Po*TwCB$OMz6e&RJcRyI&4DTa1}*TLN%RMK5hk_BoR56xi-z}a4;C z^%mpOQ`pNp({aD~|EP)e68+&kXj7a4l(5!_ zfSH8kA92zFD2B{(`R$oskPUraX*c30KD63P+tJzH#LgEIt@L|4BQ-?{LkwN54>y1k zl^w$;e`t6FsTTwbqF%Q&I`T+ynaJ*2vY`7SwJLEmnj9slFQQHwUt7JR_I3--^Hoj& zgxdoU?iW*Bd^2mP?4d^|n2+~rTdf7DV_^q7e+Y&v@1o58oFmKHhDaZ|Ia=;}RbQe{ znhFN*gEdTX1Sg!W%baV`x$8U@uatJNRv}|z2K8QwtwP>cW+c76%Wqm|bT8rNdbpdE z?UCCm-IL@I5c zF?~C^y_40GCD70E3!3G@q!ZUJ|3*HF^|7*ZNTKFRL;kGM+HZz2BbZa{zDSK z2_e2fM7*BHN}}HrD(%8EKDHENSF?vM8wMJGqH3$Epld`G><&fzUd4pG0~|Padh3@T z3wRE97^j+y1$N)7gzmJa0L4dohRjYs^-AGUIKAcZdDkKmS3pE!V_|zmo;-)T^DLpEixyaDSs8 zEsr|t>f3N#$9J_JYFe#{Z7$noEwjA>ml}PbVQ55f(}Y}M^U10fJht4U4?^*G_hmZb zObT7i)YV6nfAcnO@}m2I?V)ZUCdm)#ikvk$S&K3Aj;DB5WS|21f^~cW>SM-nA#ldA zfM2p-NqVO@zE3Qtv%w4K{#jmF00ZXh(&e7yR!gV%m)X-$1cDRsz|sYL-CU67Z)mP2 z@}_C1X5tC4snUlj$gYs;^xYrsb%#FezMFU|>!^+MNnLuoi>mOx)E_vLj`49t-5$@A z_@U^g9V{DJ!3wbB2k>~`IH2;o8E_?wuv<`)w&f~ZGLQbwe}?4W#|XP3SDg1?Bys0c zLBJl!2@hvSbY7CHE`#5xF@Iperpe4E332Lwlaoi9>iQh6a3#O;TQYkyk#WH%#m$qo zC$$L4{zY-haOSH;NIW>RtsPiNbiChunFg^t!zmg1{h&`VXO9oQ7~cH>UvNZg5?jO{ zu#40F*s~}pbRRBl*7sx$dAuL7UG=%1%2YAi>)Q#}d+s_SCwY zi{OvmVprp#sUv)I%mnl=WrY1#x1ohi7n85Jh(3Qt0!}n(;n+!g)%%oV<P%jXI)n)+2X{IFoLu z6O^ox;rKZpCC!iCh%^{uPn$Z=dck(x2!C%;S?rKW_PjUf^=O5Z&G zOxr_y3p=7K^HKCcj@V}DasgrtqTav!K+){RcBpiNIdlZP{?N1DymxjN^54aQ%Mpjy z%|G_2J0x70%15g8r#GDWo}X6*D_vf)%dKG%o_SXxFs*u@c9<0ILV@ayvCp%4!rcKz zUP0=|&yVsuO?`h3wthFq)o(rXzCn10PxZhm8u(WlAL^$qb_DTN3d2?tue!?QM`6^A z5A&Q|Lfo(TMNgvs4}SMp_vz9kSDpR`zw-a$w>w4efY5&1d1!-wK3w+2NWf7q#dZGM z^*ha@#e#>@Bgw4<12W_a6xPOHS|5L<-lEU2-)I9{iIePo{+^ZxLMA}!12q0q*O=^b z@R1acdF5Vv*Wo00K~}vjPqT~l!VlZ^wzkiQBX5bUxN02kCe_;99(tmGMb?i#AJrGm zHGEVnEl#i3HPvR+k~w&CFodYYVzyY)C^fR?C&kC&zG9d>|3Y=Ukf(X(L-$=ra1(pJ zDw%FZ$uFxyyuh}V6h^^hm`Q@&M#)OpYB4%R#Y2;SuJ_XIY~G`>OC&iKczZ1GtENs7uGIpTanFop+BY5*}s z<0D6hqkhB>6!k+LC(K;Vi}>upmZDF=40pY0Dk|?1z(1>mNCaV$`bew);~q=7AFyl@ zm=hNeyKp0mtFiaO8jSsrtN5%BVijo zRF86)4Ops2J~MYDRK!W&Hn)jd*ulCa=jkuVrJyxLvWoO{J=#2X9z$mVR6SAu-5p5b zUM9Xa)y=lE@v-^-gMhmLuYSOyuwFB0j+z^ScJE{kzFMVhYVUpzG_xNb>UW>0>kEdI zbe{y8TG8ay6}CxRI;393h7O4^-k^|VOF9?a0nTyX+vxTaVJCIpF58#W zn-{l-&SK$)*5~^JZU|E9^IXIjt4nC*A0O55NP3F&C$~VM1PH(QUq1DdL_-u+^PV|n z_e}gB!+m6T|5S8j&MOP{mC-2VUH{-XJLSdcfm~+HK^3A^z4yyJd=N35NXG3oQ}HpQ z7w*>1D_Yl5q%G5xpA|P>8;*}2z8R0H2r~)z zuvFWBSqzd}xKF!8JfHS(`x5_843n4*wS&Re_lD<6q`ml$aXn-pgFIuzLL-j_x}E~> zII_ix689C)*rTO?p(7u`kT4G8E zKU15DrUZY?aF#M16&;`Ct#h_e0q%q0Vdf?NIt6kCQ$n-PQmR$@m?DAy5M9wG=3zoT z1cq-Rgmq3gy5iAu?`q$LxyVz~n!~Tz*SlpBq#iwT=iXH#EToJW-LqM{xo|h}@Ig=b zeMSzZ_?N?bsotA$q>w$0A~f0?T$ynDI^TOE9WUamCKsz+XlZyn&dKR}1T%WVAkdX$C{j!PNoBBzu zar1|TwV1EZ<{8h97Xw?k9)BmqYIm0g#IS$P&=#X@{S)m9G-v2tPXIO?_kguZGEjy+ zMAeNXFsej1__CV44HR^r+1_HOeAOBRzVGdK2kos-L&7iN7R!9w>Xv?yM@v)So4KUV zDJrnx<6{;(KFf{ZRy`XF*LVu}6a2v%FP8s+tOOf8{tGV)j71Gw2T85)BaE-u_xJuY?ItMQ%A!hv1_#?jC3vSX7QMHx^i z!V0miiivemr67N%k7hzo$+{2qfO9Yk!I%9Pz1jDR@bv$px2^au?V=>LXGTd$%DVh^ z0;PlPH#tgPOE0U~0(ex0_uqbYlae>a2X<&J21_nMoZNmUAsJ2EQb*UTSES<4{= zI>LTd;nE~NTtlBtZGL}JX`a6u5%jIZZ_DYGT#o0ZS>7`C(FF5u{khnGRKk1oa@Xda zfL&%@1$MIQbRTx#2hP>3&u~wb$$O0eTiOpEri>F)NP+(y-+ml%6mY$GfIj=YQs#Tk zlF(hjGx}U`ekXg@?dD}=T+3`7+U1^iWw`@!wN*aFZ2X?)WVx&?SAl&{r!1CxfEGY) zRX2;^K@!S{uPMSNDuMi2(>IrumaS$3TV7a9HuYV%Nh8C}9-vA#XcOjKBmt<=ZbQf21j`Qt`u_{8_XC}Lb zd1TTR(#}@V0$rD&*9v{jW9bBZ_1ZjPN?tl=BzBI?_~m+{w(&O_sg!U05zjArqkSD7 zY*!zik47?E!;*e-Nx=eVrvV>r>3LCavaX{307z#O$PTy<6Dytt8+RE zg{Xr6EzitjfbtCU+h`;yx5D;t^%5EAb|Tp?S;&y}<2H@Nhl_2%A>*L1%9+oaD`Wjd z7m3_KMM8i{8ZAntwDr$`SSNE8Z&le7t8P8x6Kso52gvxQh+v zRO(v9K$eJixWf>H@+GECVAnYbJyV~qJaUbf12^FKqA$FROu21zp>R!Q^f%PU=H$j& z#gqVU-FC-QEbM{({9(~Ork($WX4=2dq}Bs+pT6hxK!69_%w5>z$+O%L^wK0TnK$6< z>22$lM*tiX0NW(0mAUGM^J&2umb>c2( z{fE(?wTsYRD12LJ@P2};V;@`S-p$06Re0(SFL**KSvTkguRir7D;CVh+hJ*=|E5pL zNZ%=LPxktRUZK7*+mJ1}%3;KHjV>AHg@oeK&sL8gj^<|fNrxK$0ujFX>IX1{ zFsv=GH^pcyttDWD6N^8|0^=Cy;JWabSml*=(B?cJ=W@dsly=`#0VG01S)WPEhzABJ((Nq2gx-EE5@zo6N% zxsSLQVm{|&*~TCS!6CA;dYk&6s?s?QLi?5oCLt7m&1C&h`)*?7XoA%~6&}p{ixyg2 zu-Fa4sWT-~lih5r;;sBY{D~NpV%oeN@(($WN#ZUk@ziJ`0H5dfDH`-78^`sBE znEX?h4`Jdiom)J6Y)hAkiA`zE_F5$5gwP8sC?_3mke9;P2clD?%`7ZzO5ELGhgmh2 z2&mE&RonW4`qSyz+IeSlvq-)0%+n_Bwj98$@On}LKM8iPyWY6hd5*N6_{wMQ;?GXb zjnWdP$h&&FJ~fuNEFOg0uMi$c4hUCrJzBMwc31VRFif5m0c*BvTO<>vp?!R7N1O`- z4K)y~d~3o(M*53)@e&4fNMy%S-YTX?yWtZ?GIK#vI4c4n4izm-bawg^hIlx?ChoN? z^fgS;Rbz8h+E^jPNq0*HbTks6OBgKpqo*U%TL&)XdpWOq9P6$xQmx&G;&)vCSV|}M3F&_2IbrK=D4pp$wJyDr zzqeSc)&gec4Ohl=pP(I0M$MT@v)HTc)Ap#QTXa`F4oVj@AI~z23a2VB&}0tFw*g|! z<-?;CNizMMq_pID7_ar=_5)M@)Awp@VQZIoCRG9yI0EcG#T`bP=;59OXaZyxKV-&F z{w#wLU$zU8+MDV9N#PkI%ra`kgF@yi15N({toc8Ht@zD>VVE~_btn=mf^3Ft{;n7` zEKADFfGAo6K7;5tFn)oh#nFRj21WjXC_;4Rts??OE%bhr!F#_m-b#gz1w@YZG3|JF zcj{RIh=g?tG;1&ac$mTBgxP4ffNVhrn$eDmii>rBQijy%?%J+Kj&P7f)JYw0UP2uzTs&<^Jku3>QRH=P_n>YM!Zw{c(5vl zYB5^0E#;8tvuJrg@2#z|^2*i_UzkH@Uk)rMlUe^81l{|NbAPE@_jT`+R`1gQ=H;aW zlIK%qUv5EjEC0O-w|V87CQAuT@reHM^a|+av_}eid=y= ztvjPcdbO7dM`#|0@dV9fvD)6-b$u1ZPFuM!3d+C+Q`>NldgBg>03xv1I|b4Rw%niY z_<_-5k}+rn_!DoYu;bzWL{SRxv+z@pjiJB+-G=C6<0gfD4-XdE+)}b%EdP24Zo@@( zuZHdQESa5vGQ+Kg3v!Cn%r_VDx4^jz=&4*Z#Cs^2He4i=9yDHVN{}lQ?3Mn9b+gZN zC=t<^?x*SEls`iDFmb;z5{Q=N9QM4s^H7T6`|UxDC||JEAfEm3n^`R0ol~+9x-dFl zQiQHVCT+irUaq3fqkpG=bKAeXTb3wk8$yz42|AU^j_%S_fE{D>ub{pCZ_qmK*lz_QH^_|w2E+@+T*10|$?==g9_o&J>hdOjk4oUD ze^sIhQcRy*Pp_yu%2p@(2WL&DdXOje3FL|+ z&C#1T(#YC*=Imq0i`0}UX0tH>nKJ*h6f}5;tWP<^A3Ot2+e$qsOjP}VxtbG0Z+#4_FCGc*H&*k<*zwdB&I?@0Av&ak+-8Uy7?8=#J z+tjC)P^WfNE=bujm|AOTd6jTRX)-X&-9gNIlyLVR>Kh@hQZ3SQK(0dW+a)YIAI#X1Wc{2Xj3~ z5C5)_w3~i($w|K$Z%mJEhxQGNJiyN5QglmdcBRe$k3EpwQ z?Qjj1`JK}^`EkGfQvLb#HTTAfkH~!hXh7ziqJrbS<2m(n$6I@H>EJvv>h60!P zzxsUe!Qha}ADIU^>)#YHNvJ`g_gQNkOf6yzuwljrv!gq~{X>uEqTL_Y_@_@gBzz$?#7gMc(Y~Y-(f}j==@t~a^groyB=fRkGgDAbM_y0z#yEawn zGc;S_${Afj=lHEfZ>!|{lGrh-J<<0GpBOf~RrAgmk344GK=;_Ra{U)HrXMSZZzec8 z3<%&|hW9O~Y?N>yijQ4olDS&7VKv`!GN=2_`K&K)!!TR*MwE5m-?crTZ z!{nXWPs{Y;)yHebnD@+ed0bC331)uFXle~a@m;IbDN3~nNG<{YRqC>k7?UUNEW>vAq3mqq=?(hGIhAZai z5)@#EjBGTSrrPLqb?wwuBOVYm$h)j^*?5d-Qp2W5%4Qb4Jsh&>nWe4lvL3s|wv$m8 zRWVqhFQfAw&0IX7TX$_PgiBpC{Tu!0$8RBYOMqJ<=rUtG0O+l>!ys62Xd%H=_T|R}`s9a`l2K5i&&o_yRAC zM=2!PhMU;Y_gHK$u1bw5bfn5tW2<&0dC1E_fiX(6qrlc}r>dNwkc2uDX{$^9~eU`~^P5FwkO-6R;^;A<*S z^sgoos4B(9dGj(&h?9N#qFg0$GBzCf`AqxxF-0(uIgjeOjSV%Af7Ee!p=XEu3YRG@ zj^^*q&e-PQo6p+G)n(8wwx6tpp}9EPj^)1r)s#+kaWhwhLEviYYb5;^xk5pV9+(@Q zU8)Nv8DwcW=2;hZXM`+MI{U`w%SEA7HetwdSoW)29s;{LCPocx%clR$lfA~L~AkGZM^-%gk zT4T?&M_eo)MHGM;ArdOXM-n0TgyBDGx@|tNB`$R=iB#_$n@ol*{XMT*PrOf#TzyVf zjp46)qgNZeceGY}?$#-|h8eHP27$&}4>nvUJ4^ND|0f*vi18gi{%<&fsprOl3MzMW z+bCo3G;NBIb`lMiPk$k25i{CPg`wA)tUtp#@%w2UShl0+3%Ta<7&=v&IT4^o4T*tb zzn0MgeuN9r@QV|omohF2>r_}Kl}>Gz4j!i&>?~0a6;zd@IwSTGs~J+6LQw?1R5_DE zUqk_(Jv*sg3;i7+M?a^$zU{$8y}McOWbH0Cm+b;nxqMnzKmIjU((?Eu^|i{&s4XNR zR49iSdLUaS?!#{#3Vw=D+0R`67WX;ryUXN8k^qI&YYZA@r8k4a7)^`fegK5heV>2?87ZGsN;=ZnK6QfyeD$LIoIz z@Wo)5g(AoR>ZTeYWchEUKsK>>8_=swc4rBYZp$Dlh&8ez>_YJWR|3|cP=&=TPsPvX##o>fA82|C&SEU0%C|9IJ+RweVid5sWz%4 z$7G)2N}Sz3ikQ8bdcj25`f(&$ZwPB;)94uL>uCinfVS94bfQLWx*oI?mEGZfIcjfg zz3fcH2)1p#nmv+#zLjU4CITnS=?V6#!gW@$RBn_|P(eqEcpUyDs67@- z1nm-!N;x`7633zf{i}v5nba^EsL3;75N3Agmx^o=gf^MFylEDY5L7POrKCqr~3*mk9VUoZoh^L zitNuEtnIg>A_Ns=G$2ts#3c+&KJMaR9#7+5M|lQ&ZV@(q79qtdX&CJ*Dqcw;%TRbE z{)h>GF4^&iQf?^G#_Gr(>3y3CjkDb1AaSeDdSnB&uf^>mpfOq1RTZJZVblwxtd;Ald;6GDX z;L7_3VD-YW?&!78SP3xT3aZsd`^~ilH*05No&ACj(X0?mmd!?h5wmkQwXUK4t3l1a zk2Duwn=a^l%vgvy>#jBjj5CF!sj0nqjCp|rANRep1@+WJzKI2OLhcTpO&s3$Csx`4 zhtGPDaZR69jU!y3^SWLlAE2|@a1j2Nww%o7w#EKo@u17nPwvDb9J1vAoTjogKDg1B zN&~g9Yn+wsf0pj=^<5`-z~W`SC_h2H)ph?*>vinap86o&m(79swj?4AoBrHXtdi)% zHU8=(qQ)j|`Ojh}s!eI)T8Q^~5H<4^I4aXHF5$K}3+b0jJ7}u7vIV5)TOqiK@SXk_ zNT2;@2Jon(QsMvesJpif8ArF@igL;$CAUc<6`s%txAz3eaLHya?Mpjt)!3%|SiZKj zmO%y`JnZ?#zRycV@OQpb$7DanNim;(DnCsX^EyHogmzIQCQxwFysYU?np7?KT903( z7P>o&+wVTQ?t8f^=J3XE3#`APCiUt_qpjqR@o{-am z_ZPCXL9F+nYDIK?tMiigqCci%yiy$I*wAuCqhfwIoZ8>;rM^~7?XwGV)UsL}y*gWj zn<>y|W#Xr?x{RV3S$OyvfHx)5`1?>*Q)djF?wh2krsTpmNBgA@sNxvLwjtUgRj~37 z-C$PwA7-6zP$~(!nCJ|eG>aTKC~aZ6;Ce_AQT(;O%lu;PfXz`e+x)>UvxF5hj1m#z zRI$wq>mDz6&XNuzR$)xuuTlc#$$EnV7@iZ~wTSW^Rw7}hW->-o$?X!Qym2%iJ;|fc zs25!DV9kYIqglTWsn6+sF1XNzW$3u-w=c^H2r?M9)X6k@8SvRQJz=ei7J-@xM-7;2 zn6B9TP&}~4`7T<6qjDyo9-H0(!0kOAfLrzv!Xky^a-8zE(aix8APB|!_6W?!&P`G5 zcspcyMc5V^D?k89(3@;+_f9@7RID;frUya~0p2sX%`I!-Zxd(&b<%2!rbSFCcSo7L zEpYx9XLZZ>fcts|r0#12#KQTU%8gr?s`0@0*9v_3o*FcBN@HH!8SXXDVigkF((C${Gdad|N-lIhO%;?R9vZTk2aKw; z`{iJ>9^90_c2IA~7gTOD+<($yYLQX|4y8%38(7#tZw#bpUU&Ir>KM&jj1w)PV3)~T0II9bHQ?K&%uV$BC-63syP+Vg0jc%Z~< zYm1q}SJ?9k&v7=xux)4r58~Jm{2Q1t*jH-5JU?es%UWuMv|%}g-*mT7+U(3 zeqWOJ26{}ebm5>9rkqiNjW&GeuxZz9_%VAztkK#dHqd0;tNA1~FTb7Wo6ChKO3nx3 zeqPH=py63OH9`l681Yx^o<^PkZm9|I*6U~kZ#@yJ4=-V%krmJFCu?+85a+V74CJNTrXz-q^vrl3!~BCRnG_tAVb>w3gt$3_z9Pi zwp!oR35=EHP}k?@Sc!Qjd{1bMX z4kJbvVXDo?;d}tW@S#Io9fQmnvh)~G&7djE3M5IsTWoc(*L_NwdjNo8mQyq)rCAMD zM|YOa|7cUJ;V=rnmt4=`Qeug|3x6GDt9RCsJy9{*ImR1#dN$j7&SgA%zO$y&$KdB9 zHcQBH%4jmsEET{a5rZwM`IaOTTgc1R&O$GFm`n1qd-P84-mABA9xA+>+woy{b5V)Q#gcLK7$YiPuT(1SKd$F))h(8c!~%7$i)rn?Drmkid) zxzaMj+1BBa`NMvm{O?mQF_?ke-6(o)RhDu)$DN=Y$m(opVIJ%MKUsk8_(5aOOroeG zD5W2GD+FMrnVRvk}kFKT8Yh7>p6eEVzUF>dLt zv&&!pU~1b2kUb2&b<~s0r@9ReUAx>KrMutOTy={5z?)ksS?Osc&H!RVRgc45($xco_%oi@wZ&HXzOoI29yU z5`uCx7j**ihVBmu0_?WNjNbNOBk=`>%hafkeor0>coVDv|HH*HLyv(?sgn_H%J$tJ z^sU#}=_2#5-6Nin-_AT=n8r|o_u3WPYgpxn?{oxg zYH01Dtd~reIf8O(e=({WgS!)AsYr=#7Gc_j;_xnV$f2+QrWKx>>l9(v(AN-3sn)k8 zqJ1&|xo@I1P>LN+*I;Zcv7=t8C1_?G9;Dj1Ok77 zaZg4*&&?%$%B$7biB#EY0^UU?Ma(8ZEg=j5A zq7q-2nfLkE6BGR5^viN4zzEE*R3HA6_sJbeST{Yr?>$KwYm>jYDobiQN$mU_p%W)x z0)0-#a4#t;EMmk%g$OQD?aXFBb-E-#qtD}$?lVY6g=>(@oN{O$qK)SQ{ z!r{G<#!JNfI1K?XK>Bn{;<1?lcOd*S*G_pJS-ZEoK6<}}V&np7QAxlHy}D3cfg0jZ zRmo)0VnFgZ9J=CYGFR$!Byb%a9`D=yq&2#d6Z4@UG^NAWnKn}t&P^rzm%5_xia_z` zyOoajn`HxAQlGxp-d8TqqXd*8Gr09A!@K=@XWmg-HKQBqY1eE7TXLKu{ky*Z2pH_@ zWFx%$1k1X#H%ySUHaF}aVvlDr_B~l9AS_4&-e1u&<0Pu{d@*8ca7e&d_gsTyp?ZvsCo?;(-p zezm^JgZj51Gs(Kl+rQK{fIfwg4^a=Hy`1?z(S;u{KbbUQt!MrEmvDw@3vF- z4(P)uuXi@*R*=Gob^z(BO?C}wkMA=v=Im8(!-!nRk;Ln*J*cUg+v&B8F5}e6qbI>a zWOa&gTEX5l8WITt@rp@ccX6crYkd3H2T{ z^4lyY&vl!9zi6m-bm9^`iG3i|6f_RKmP~irqg~2lJTBhE#%!y6Bu6~5U)cqwhq1W|4Fq5 zrZ*Ijk4y{9DIr}x2#+@AAm|CoW7FI7RFa1in+PZ&k7W&M5FTy_Wq{PxI$fH;7uhD9 zu&DefkKRk9b}apSVuqow9Pr9^iqlNczl1Z?{~lTI!^%4M5(2Nq5OdY?t- zA3*N7BH*PE_^#dGrDd7&LLp_DKdsak-Ib6ld~Xq6_O6*AM)wpPwZ|i+fXV+ENTf_@ z0Nw8Fff>$xpm{|+4w^gtGpD1V#;i4hnPM1_7he73gBw$`?XaAc zxX81yn=c11KS4C!lo=csv<}BV*%@l>k|r-wDf4n+USWF!=sP-$806 z^D*Uj4`I}d8Vj8aseh)x#=zP2a#@?s@%~iEdbjcX{@1pSVx2A`RQ*vV(;Yo&y_>|5 zJlRP#_CHstjevjZL1|na*vOEaLW1Xe&z{-leeKv@HIk2ZxVZW_dPHse2p9Eq$L#%l zT^a4mQT?*{axgAMfUa)vViDTf?DL>?G}lL%Fh|1Q>jT3%+4aVSEw0=v9g!0pVt>R} zs(4zKJsgZ^8m2|pU->%qrO0P19+f`psv;D_ZuAQ)__9D_9NP%3)IYYX;_7QEwffL! z-iRnM3v3XCHFOOr14)UFjpX}@s6C6jaO0QcxLh!|fpHfbQ(+nCH%cC|19T6lp`Re2 zx8x7!=(p8K4I2XoM#%`#*UXB>qTl~`|5@Y4)q_x|-*vO2B*z%+)kL@mScE_V@?@@%xn1?N0+9ASNzCqlX4jE7;I$9v9ROn%v}uX|w2cn&SEncceZ_ ze8RU}M$_T(d&5iPgnipt#qz4_SuklvrdiF;v6xu>wwOW+(Wb*l|9ecVbNZZob%<>z$9VSpXtc%Wq1<`!d6GuLL3}LryQ{DpJ^^oR+Y5 zeAy_>p`tP{O|RZJhNq$2se@_ui4+qD(Ah#FNL`AqgmUZ~LF!LE7)pATcdyP?UcRxs zfZvC{YTL=+O?D7*uMrIwy9pgKQ`|JhjSRE!oKJCpvS)JU@Q~iGN_Gafqh=lNhbw!Y z3G5QNF~jv{SFJ?bgT#y>&W{yC^LJ|3kQ>v51h#nsF#De^_!Gw-koxm33wBOaexApD zzof9k!$#t=lIxV~%dzcq-_gm-YJ151hJPM}pzU(Gf~l3b1ofEX+~aFT1>20zv5_3I*Pf zbvEev-W6;{CRz|%cO0Fj5aw#Y2Kd^?p_Gkvj6y$!+PV^^E10uq1_}t4i3yR;L%$n) zOZ0|Eg5frKGza$#u)+q_xvZc7o&9n*7!OiG!dPILsY%gCg=n89$_ z=1H2``~_YpI{YNd;|Y$EKw|**V2YZ1)u`zi@^o}8rt$1@!YuziQdeu$anp~x0~C?! zTXf(7xww8fUmzxLInmYLD3NpmrWN_!hOa_^gW292thD9x6HkL@n}+am75qZ=QH|FV zyppf8UTF&60?!%$nqX7V z4db05vY2wLwv3xcK&E9ezQ;qISp*$9+J2c`J25lli2M9a1?$l4dvI%dpWd@CJUH!MhWBBfwrK$;4qz7g;y@bGc?w6sWC@AK{`eVnR*-dE@# z?^=qV6@~T0#u8pXl9Ex9yPbd~MO*U7=aCmvgABo)7(Q!G5oaFjn0GW>9pWpv943@y zj@XYj!w&C%TJjnoeOFDQ52yvMph6u>4~jJK|7%19^4^pL{8Qp(S#kM!#q|fAAZ<&; zixqURSk0rk;1qWVGXa$Df)?sjQ{4PW@kb>_GjzyjV3_Tv+`M0rr*!NOP6e0WKiytcx0{t%8Vd0uN4lsRyw4stePgHL5kD{Zw??F|02fg9`a|)51tJ)0Z<(j~AOVTr^Hv?VucVCEUu+c{vX4m^%t+96Y(SY*>~ym}Y0PlW z#1|H`rm&WKA;{3*pEKA3ZiDY;LVy2{P{xP9YMc6NDD?;JGxO;HA}~?l1=Tw<((%9O zdaIx?*I-!`3l`jhyIXK~cY*}h;O_435Fofqkl^m_?(QDk-OkTiYwtRB>z)@LfCngs z{(5?PdRD@ebCky$FMj^MF;;<2H*>6~H|cMPirV<5iA}6YKT6DzywP;x|F>?ktncYT znqG`yulWdeoOTbO8$~fY9HOU0Bob0W*n|pP%cJ9nvR+#F&C4h4MLGUhi&$pX5HoV7 z5=h{(oJb4fR9WH+;~~uUO;)Kb?V$6#pm%<*V5J}Ti?&_4+40qYt*~W_8JDZ(%g_?Os#Bq@WWA*sRf=|8XQnjJy&RJIEoi~&lXiYo<<&%I zV6y~0ZsNB%R}_LrERSM#4pPfSwf20>yw_+d-%CN}m~p0ZQ|dmB8kl)%mo3aHHq~#s zlcUzFK}{`%ae$Le9UTPw`0HM$0C7#zQqZsQHh5@MXM|{4jLuCD)J`N+DxsSG+MbnI z*W_9!VE=2R&nU`a`;2}WGoVg;6FMDD_IUbb+56cV_k6^)G~4gqnQJ=9vN-6uq=QLt1c*C*-3)2ycpB+wZhO63 zS$ZaTx`49LeTn+IzW$o&a?p<0u(Hr`N72x*G5q>thwQFG`A5fH&x%h4u#o%ljaOf6 z&b?hi+YWZ9kLBB?2F{8-;GdH54^}uh zI?0iOnCTJ8p@JLus>=%13m7bho05VSup0yYvpqsGFjF(Rv|sKY2+|Mtz1no0m+)jx zOGtg6=;etIGy}Yh5Q9wgR22Z5E`+}V*tGJH8!Uw^Q!=0ek@+ozro#C z7Z0d#+PcMc&CU~#+evWJO>83o7AHP%L<@Dyw{Nr}zat@rRy@O%3VYXuH3wp2Ry6C? za_-himhnudgO$(v)apt?`GV`k5!c`$^ya^ruy>j7iw}T1zD<-)jR+ z#Fr}gYrMo;STW+h;?)E3TcI;03oXqmBuj{=P_?@kcy>1`GB)G{scgTJ1n zK0aV9T{&XzMLG4L|d9A>&JXQ9L6bK%T_ z0Y}q}#Wd)Yo#@m##~tbWLcajQM&nx~8)^Vun8YZd4K7%NA#_HXN_TpPoWbLLg?uCw zE2QTy!sa!W&39=G`uCezLl;*r+H zR+5na8?2Rf4P?48<-T5pLF+`|vrnWaE3?+}P1w}|b&U=BpRC~t#M(J=IcS|2jHKzE zHtE%=RX00SmCHZ6TXJ9oe>0nN1jqPwA){q}Ghm;dd-pSz)QAZFCncVh@j*xdA3dU* zRj^jSo#@=o3f8_J^xU|C8ew}nag4=5{6wC`0SR_@j|qe`e5Jhg8G_Wt<`ItWDWGPc z>gBzQjn$1b1~-;a0zl3_L2pwbcE(@jHEHYN)w4VobxaQYT>K6>^JeFo?n43kt-|cy?Qd~&5BEYT~ zGH3C78w^IVqYbzzTyp;9A_B-7+kP7;#!n>noM;FRMZ}S&rBm@5H@CA<D(| zjrx(&5DhPmD+gj1BE;hqC;J)xo?F@Gh7QB4xLzmFcp$Ln zlYR~;o5-zhNFw`rh;3}k_`=0KpI4ji#X92}s@{Q>Z(ZgJ@7*Lexl4abVUzbBd&iIJ z)pkIGYq0TrO|xw#c=`a}$Fd62y9cIN4SRzg(uCj#9#u#tTY`Rc0z*L+US|(b_{7fu znHVDeiCq&=i5KXg6RR}!eITs^lKFwX_;zbdZ-B!fW8%95C!?k8ZsJ?m!eX1-S}b*@T_e>EEX6xi3LzoK?m8 z2+uD4$zJj$SdN_W0bVB_sHH}2%Q1*q8JPjryz>Ja_H2R6PA6c)1O@Gq)DOS32F%GT zI;wb9?llniiLozfZ1YiY(gIr9wDAp^6o-d4*hhPi{$xy43fQZwXa0x8A*_yJRTF8} zzONG&1|=Th$Lq64S$EB~%}>S)6zPzQlZ3}v5Xb$bJVf*SbZkD|$8Qj7J`}d0$5_8` z^uCmmja^jY+u*D~N!BlrlvY~zvnpBpY8xO0R6QqJSck>8CM?(8gP7rceo>J%s%z-C z;CoEq_>2OKALaaC5--4CunnRtX!gRg8rXT4auyMgsfy1{JC-F_T_vc(Efm!!h}($^ z#g-ATXc@nl>Xn&5JWRlGW4 zowE#1G@mAx%34X(Knyuv!e9)#GJXuYahhp0@}^r~8o}_@H>(gD)*~jm7aEyEWFkGW z^$^HKjz105Hml`ZtoX%cpm(fdt8vJ0 zrXR#ug7^pkUDydN36XzzgzqHU%I1`vG$U58f{el9pHM^4MZK^eDhamK2fk)tOnP|w z7lz4T;6qv&kpUzS3TdIsPR6JO6vlP1eN6OWC6GnY$@opa*-)&TE3ttF1O8cumf^@1 zfD?BUR{vjzS)O4em}1^H7>6^BsDJvrUreho>%BWO8oUqD0y;+VJjy`a(LcQ&O_$DU zLt8c?JMSOpoWG<({^I^2<2AvOAW2l!gG^u9&Ifa(dm(1|{CRW51l!Kh9vum%Ko!5< z!9cel@LH#G5)m=w{|mcP!*(qHjGd`2anI!a)^52RET4K4S-bAGx=Tj%ybgY7XEon0 z+Va5Vl(NRn{c(4wgc%V!WPNwoRVO`kf*3fhNe6&d9 zIm<`OkGt1@mmdd1u0bt*wbOKE0qvrv)ItV02h|+YxaO2&liLS8ym@6E&kIqnOm8JN zlhz)*9$(ua0h@%oP8q=;P-mD7!IQ6(#~roNpS&X?I&J1uRcb<9qr?`KX^7;_ym31M zmrXP46b9Wa-NPxv(|2$Crubt8hEW&nYS2PZxQ}kog3vix6Co{l`mpDk9XIYtNk%0{vZ*_K6Eo)r_Z($7$WimsGbGiMs=5=8i(!Vx&cTq!dEw z*SG_>WLE#-!Hfz>vGH4y@^KaE%;;kfO)x)D{G{@p`0()>(BcL0M3sZf!c8%J@e(PG zzrz&%!-a7KHETI+0OkM=`7K!q3JkZJbtQD(X_pI z@*hIX%bO(!!PRy2i6HXlk!|scTAf*YSRVxQeO= zj6f{n&1PwjvyQN_wR>hXUr`N!f^-~3%0|G#>~j~Ds3IqU zCl0TzG}syCTf;my@(TVbF&hly{eboH2AAc0f);)?&ETSqYG-k<1@r%S0ou4U0rLcQ z(GtVi4dOyBfM$|zq#KN?$ z;#ZHznBR@jd7nDJ6*W|VytY~ZPC2;Pi?6>6 z**|p5Z{Eom?f-$tB9GN+t<-ugMAwm40mq89y=$Px&U)_okpB4TZn%tai`YTt$u+7L zwC^Re6p6At-#!G3WEZ1&7UjZD+Qn+d&)pJHHu}(*PPg90X0de%tgGn}<5eO9uIGLb+QG2>jmgnLRb$ z%nOp9YI#6aD+}#7Y%Un5_qewI@_)IHa$pE9Ibfzm(p8KdsJnLKt4Nyhd%F<#W^9V6 zU;Afy(n6`!=k3q2i6eY@c@8T}Gkt}qycr{n~TfjGfz^O8*?=;)y=y83F=_QdH=R)B9&!N!@$ zB2N1Q*hufawa1jj6ySO%^-c|sSN6V8&y0b6!L=V|fulT&V|p#tb=`|j7)pWA^C-p6HR zNm*|6}YItK4IcNP4Pho?&=Pm8>e zV%6BUn|?o}RG87Ys{-ypVV=-U7yv3wHD!H^{0W)UiqvU+TI*SqRk$21MHDG)AY!}* z16e3t1nBv~B_OlmGbybl@#zJv#hDoce(-44BKi9bGl+fyE;>uI)Td~RoN_V4&Y;#z zpOkqWL}m};7}Kl04efqG_6ZlVL8P{L zSs7^ibPOI%RFZKhQ}8eesFrvH+udt^QDm|9f&`c0bR!|<#33^aEo}X;FW#jUI^^zx z8^6viz4*hhfx>l7XE^`g%mkU>3O}*%U?xm}Vi8|>5}kPg^tqsdrkH56nP*@wCc02V zii5|ps6YhVm42tcsP8X;-ZlVw)AFJ+L>w=KdY8LQcEU}=LDN7Dnv2OXUOGHn9$(;Q z0*Xh`AUAdf^V!Q297=l6f-^|uKh@1e`?GBId#%O6^@|SkGbj)!b~X@0@=tmg!AI&Y z(y=xty0*inxp#C-7Gr7jFX8%eCOkfP9-*!bJgCko0BJ&M)ceHY9hzcv*dAxg6v0u^yYrUqoj zcvJymM<^=x-vFkw@4=u!-SAEHCyXPqziYsENXqa%#m#%u&I`A=K81WVc7bZ}#(^iT zBnVozhW5pQ7&(S=#Au0_t=Z(tXxSWLb39( zer{p21MkuSW(9)$Y$f)Sh@7pHjvqu_iN zGs_$Q21JXGALjsnhK{@>AU1bBJ)9r7NAXLWk0dG+5(ir+kKV70=uW>4)y*r;a&p*i z^(Y%SsBjyWrWWHA|CX`vtqF8~XWkoQ^wuioYq4w?BC`q#SmYO0)aMt$4#N4n&9r)5 zuNcGr6-dc#s0T;x9?+^B(ViVr_wZ~{xtFJJQK}O)(?mYSxJNJfegKi5bR3GLc9#wj ztTsmJ1uSjVvD$6BNd|u^XS44h*t_nUGb(h_x*lIzrHJv-3tx?pkJz4!Y@}uIR0ye+ zE8-}|!|F%rOtW0Ce$QX_$#{fI(QM-KXOjP35@PMdr_RToJY9Y!!y2YpKaTn0h=>SE z#*h49N_M_`WXp?kB3rjNLVdpT_I?7XW`>?($qh-!JI@=6psDk zPa-j0F6=70_fe8L$dXYapa7e9lkLpd%iWO)ViNuemXf1nhPH7adY~Qwog-&Sz3z7! ze069X!rV`XXxJBhdkpcJQ^wRt1hWWEiA5I|r9s3XZ4u8Dp3~%pP^ZhVWZanpQUzRj zZi>Vtz={cl3<+N~lQoUyvv+|5wOs4F0>pt(RLs9|3YlK;;PrtP1w5evSG_4!EWfP) z>EWYYn^gwA_mB3||65ITLa!oZi;fgqeP9wm`GJ(bYIGUoR#O=^Fhue?jWQNp{^PmI zl10vZ|5j#69RcXKc>yPvG3aG6Mn|{kVgfvIk{sV>8H%kY(pCp7W-+=1lgT|x1g{<4 z8kqVD@)tKBHUcltSFHsH$|Gw?3&`HDG3{Ykmz>?{g=0iOGa3w-!%JB+OdL@8)0m3R!7*x0V=w$Mf8 zz5%Qj-*990=%jl_yREI}x?%u`DL?OGvo_VXOBcQRwQ%Z`<#q{Ed92MU|2oz?#LE`l zqXG_C++%ROqgjRLzO{j}wT<&euleI(yC5#~{^bDw@`_H`&m$ot$S;d}G7qvcZ&Mud z=NsX~Xh*y*x(fDJq=l!#gJ2PP5p^e>;67K3YywZ6Q8K4E^ePr1@lc z-F|dcDLMgv-if1_J$kOb_FF}FWIkn?@1?gP_0mnr+SQu5uV|X?o&&FCxd-1f&GW5{ z)n|G)3e{kms>SkO=h5#0D;=amtyfoH;ySY0o@6pX zW8uMw^nbCbmgN!20uz9X@ZoESE%nc^>bL?Yrgeb~@pG5I{Zn#O{YHtu6+%zS+sfRk^8yO(1W)fI9r2CIE84(ZVnT^>@(fbJ zH*!{)0c65x^x<3N`261Gz(AVb#5{3%0{54FFkxAifX8(+85uoU0SS0FNM`#~gXk@f zi6Lx^o~%(A>h2H0jFSSYl}-9(VoQc9tYgE^2WrrsuLo?){tsvYv_p#nn#P?19uTiDtc601aeZ-3+Z!5J}y}u)uq|>uzBPNqlNFM9kQ_sKT&S}=ZOKX zL-nA9{$smfIRd6WFV_ka(lL`-0u|js_p}v}CW)D4f!`po{KX~aFPc&%(BFNb^#Ak} zfdaT+Em_(E5#N{Jwr`j~U^TucDPBnTw`x+I(ptal=Z5aQk%^awOmyK+1Mb_GOD7J+ zwj+fVPlkHS(EG__K#9tCgL^jG_Gr^T-}@#*`jA?-S*Y%x`UJLnCHP2L(9JEkrP zJAQ8zcS!ECZU+$c_Hh22$2qksKk%XY(L9KGR$Hx!tpYC*WsEGw$Kv} zV7hDiLqz%cxQu~4^vvO!FX&UWS=2w(A*j)}H1Jw72ENOC5B?d%2VVwVz-@@k4NsRU z9rL}BR#Q^`Nnt7$qigQhvz@4gK>Z9}c05WgBR@K9|5i!T-BTz&4v7;z#=2{_r|!^1 zdsm9Ip1em)9K@kd+m9>GK<}(R_mi6EoJna01x9L&toa9Kgc!ExTckWmhIwhBvT+N(>188Jmot}>luK7_ zI;babJ1A%wei4}gWA3E~v2(@$y!tHZu`{?%Q42f&)#snd|8IS^ZG?GHEbyMK7uBda{X ztRCzttPE_HL0WXbegr32lmyu*Mo%xFoFsLzZ=>VrgVZdwnvgYW6Is02ZglZ}wdw_E<`&;IK2+H5}TCOE?!kt4`G zMW-S~!LHYu(H9!D8CM-+J7Sad-2j?EO(v)?7S$sqqV|r`k|y{*H5r z#2jt*IWuv>w-a3GFH|<{gsT7^7tqWw(GTEX+?1IpX7vUX5A{x_TfWWBZwsf4xIS)qu*O$I0RW; z(KG7|$9H1p_B~s3s!g$-rdv@hGlwe$+>40<|C@}>U{_xPj^3O(UfFrxlsTW79cZg~@`+-=ddGSlc_sWIeEP%lktI#A7fKzclG8 zevYH_S34^4GmQopUia*rYU+Nw$JqwJ_nK2kpV1)N=V;V1w2W1 z#d(5#v9ID~^KJs>f#$0Z(c|+{$;9B10DS(O?{-Xe{5UZye{*9Rk*UkFP(}b~XTq`R zVAPm)$dtJWDRXkKWJv+TZvqyBZo;CC%?}s~ zOMhzcqV?xM*rZ8w#rXe>UJIKLx5h28-Gi3;rubGB0n-8y#QIQK8QwCWabnqt6#Su* zJ?K;;mh7-##q&Oj;zG8|4F02B+ixCwBN0-a$)oXugEkYv2^woL>xqSqreuN$bBiD= zZj%au*vrVeD!9%k8XCqL=~%AE3MYkT9Or&Ei3*k4n7P72bNz<7M|tB=cwN};cRXMP zSIx(-Asiud!$YS=i@9b~UHhXM6%Qby>n1T9OP534RoFKxb*XwLm`Q}Ma9TIGmix__ z;#JwQz{ph>vd>m&Cze*a}`hi`rlt0T+ZwFA8 z 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
O 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