railties 8.0.3 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +101 -206
 - data/lib/minitest/rails_plugin.rb +48 -12
 - data/lib/rails/application/bootstrap.rb +5 -0
 - data/lib/rails/application/configuration.rb +31 -9
 - data/lib/rails/application/default_middleware_stack.rb +1 -1
 - data/lib/rails/application/finisher.rb +2 -1
 - data/lib/rails/application/routes_reloader.rb +0 -1
 - data/lib/rails/application.rb +1 -3
 - data/lib/rails/code_statistics.rb +4 -1
 - data/lib/rails/command/base.rb +0 -2
 - data/lib/rails/command/environment_argument.rb +0 -1
 - data/lib/rails/command.rb +1 -1
 - data/lib/rails/commands/app/update_command.rb +1 -0
 - data/lib/rails/commands/console/irb_console.rb +4 -4
 - data/lib/rails/commands/credentials/credentials_command.rb +25 -5
 - data/lib/rails/commands/encrypted/encrypted_command.rb +0 -1
 - data/lib/rails/engine.rb +0 -1
 - data/lib/rails/gem_version.rb +2 -2
 - data/lib/rails/generators/actions.rb +2 -3
 - data/lib/rails/generators/app_base.rb +49 -28
 - data/lib/rails/generators/database.rb +1 -1
 - data/lib/rails/generators/erb/authentication/authentication_generator.rb +2 -0
 - data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +2 -2
 - data/lib/rails/generators/generated_attribute.rb +1 -1
 - data/lib/rails/generators/migration.rb +0 -1
 - data/lib/rails/generators/rails/app/app_generator.rb +16 -5
 - data/lib/rails/generators/rails/app/templates/Dockerfile.tt +19 -15
 - data/lib/rails/generators/rails/app/templates/Gemfile.tt +6 -1
 - data/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +5 -0
 - data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +1 -0
 - data/lib/rails/generators/rails/app/templates/bin/bundler-audit.tt +5 -0
 - data/lib/rails/generators/rails/app/templates/bin/ci.tt +5 -0
 - data/lib/rails/generators/rails/app/templates/bin/rubocop.tt +1 -1
 - data/lib/rails/generators/rails/app/templates/bin/setup.tt +1 -0
 - data/lib/rails/generators/rails/app/templates/config/bundler-audit.yml.tt +5 -0
 - data/lib/rails/generators/rails/app/templates/config/ci.rb.tt +38 -0
 - data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +9 -1
 - data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +10 -2
 - data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
 - data/lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt +9 -1
 - data/lib/rails/generators/rails/app/templates/config/deploy.yml.tt +21 -16
 - data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +8 -0
 - data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +2 -2
 - data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +4 -0
 - data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_1.rb.tt +74 -0
 - data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +3 -2
 - data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +0 -7
 - data/lib/rails/generators/rails/app/templates/docker-entrypoint.tt +0 -6
 - data/lib/rails/generators/rails/app/templates/github/ci.yml.tt +107 -21
 - data/lib/rails/generators/rails/app/templates/github/dependabot.yml +2 -2
 - data/lib/rails/generators/rails/app/templates/kamal-secrets.tt +4 -1
 - data/lib/rails/generators/rails/app/templates/public/400.html +26 -5
 - data/lib/rails/generators/rails/app/templates/public/404.html +27 -6
 - data/lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html +25 -4
 - data/lib/rails/generators/rails/app/templates/public/422.html +26 -5
 - data/lib/rails/generators/rails/app/templates/public/500.html +27 -6
 - data/lib/rails/generators/rails/authentication/authentication_generator.rb +8 -6
 - data/lib/rails/generators/rails/authentication/templates/app/controllers/passwords_controller.rb.tt +6 -0
 - data/lib/rails/generators/rails/authentication/templates/app/controllers/sessions_controller.rb.tt +2 -2
 - data/lib/rails/generators/rails/authentication/templates/app/views/passwords_mailer/reset.html.erb.tt +3 -1
 - data/lib/rails/generators/rails/authentication/templates/app/views/passwords_mailer/reset.text.erb.tt +3 -1
 - data/lib/rails/generators/rails/benchmark/USAGE +1 -1
 - data/lib/rails/generators/rails/benchmark/templates/benchmark.rb.tt +0 -2
 - data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +1 -1
 - data/lib/rails/generators/rails/devcontainer/templates/devcontainer/Dockerfile.tt +4 -0
 - data/lib/rails/generators/rails/devcontainer/templates/devcontainer/compose.yaml.tt +2 -2
 - data/lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt +1 -1
 - data/lib/rails/generators/rails/encryption_key_file/encryption_key_file_generator.rb +17 -5
 - data/lib/rails/generators/rails/master_key/master_key_generator.rb +0 -12
 - data/lib/rails/generators/rails/plugin/plugin_generator.rb +1 -0
 - data/lib/rails/generators/rails/plugin/templates/Rakefile.tt +0 -4
 - data/lib/rails/generators/rails/plugin/templates/github/ci.yml.tt +20 -9
 - data/lib/rails/generators/rails/plugin/templates/github/dependabot.yml +2 -2
 - data/lib/rails/generators/rails/script/USAGE +1 -1
 - data/lib/rails/generators/test_unit/authentication/authentication_generator.rb +13 -0
 - data/lib/rails/generators/test_unit/authentication/templates/test/controllers/passwords_controller_test.rb.tt +67 -0
 - data/lib/rails/generators/test_unit/authentication/templates/test/controllers/sessions_controller_test.rb +33 -0
 - data/lib/rails/generators/test_unit/authentication/templates/test/models/user_test.rb.tt +4 -3
 - data/lib/rails/generators/test_unit/authentication/templates/test/test_helpers/session_test_helper.rb.tt +19 -0
 - data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +1 -1
 - data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +4 -2
 - data/lib/rails/generators/testing/behavior.rb +0 -3
 - data/lib/rails/generators.rb +3 -1
 - data/lib/rails/health_controller.rb +8 -2
 - data/lib/rails/info.rb +4 -5
 - data/lib/rails/info_controller.rb +4 -5
 - data/lib/rails/initializable.rb +63 -19
 - data/lib/rails/rack/silence_request.rb +5 -2
 - data/lib/rails/railtie/configurable.rb +0 -1
 - data/lib/rails/railtie.rb +0 -1
 - data/lib/rails/tasks/statistics.rake +3 -21
 - data/lib/rails/tasks.rb +1 -3
 - data/lib/rails/templates/rails/info/notes.html.erb +23 -0
 - data/lib/rails/templates/rails/mailers/email.html.erb +2 -1
 - data/lib/rails/templates/rails/welcome/index.html.erb +19 -3
 - data/lib/rails/test_unit/reporter.rb +5 -4
 - data/lib/rails/test_unit/runner.rb +8 -5
 - data/lib/rails.rb +9 -2
 - metadata +18 -15
 - data/lib/rails/console/methods.rb +0 -7
 - data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt +0 -30
 - data/lib/rails/generators/test_unit/plugin/plugin_generator.rb +0 -15
 - data/lib/rails/generators/test_unit/plugin/templates/%file_name%_test.rb.tt +0 -7
 - data/lib/rails/generators/test_unit/plugin/templates/test_helper.rb +0 -2
 
| 
         @@ -35,12 +35,35 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
                    font-weight: 400;
         
     | 
| 
       36 
36 
     | 
    
         
             
                    letter-spacing: -0.0025em;
         
     | 
| 
       37 
37 
     | 
    
         
             
                    line-height: 1.4;
         
     | 
| 
       38 
     | 
    
         
            -
                    min-height:  
     | 
| 
      
 38 
     | 
    
         
            +
                    min-height: 100dvh;
         
     | 
| 
       39 
39 
     | 
    
         
             
                    place-items: center;
         
     | 
| 
       40 
40 
     | 
    
         
             
                    text-rendering: optimizeLegibility;
         
     | 
| 
       41 
41 
     | 
    
         
             
                    -webkit-text-size-adjust: 100%;
         
     | 
| 
       42 
42 
     | 
    
         
             
                  }
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
                  #error-description {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    fill: #d30001;
         
     | 
| 
      
 46 
     | 
    
         
            +
                  }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  #error-id {
         
     | 
| 
      
 49 
     | 
    
         
            +
                    fill: #f0eff0;
         
     | 
| 
      
 50 
     | 
    
         
            +
                  }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    body {
         
     | 
| 
      
 54 
     | 
    
         
            +
                      background: #101010;
         
     | 
| 
      
 55 
     | 
    
         
            +
                      color: #e0e0e0;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                    #error-description {
         
     | 
| 
      
 59 
     | 
    
         
            +
                      fill: #FF6161;
         
     | 
| 
      
 60 
     | 
    
         
            +
                    }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                    #error-id {
         
     | 
| 
      
 63 
     | 
    
         
            +
                      fill: #2c2c2c;
         
     | 
| 
      
 64 
     | 
    
         
            +
                    }
         
     | 
| 
      
 65 
     | 
    
         
            +
                  }
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       44 
67 
     | 
    
         
             
                  a {
         
     | 
| 
       45 
68 
     | 
    
         
             
                    color: inherit;
         
     | 
| 
       46 
69 
     | 
    
         
             
                    font-weight: 700;
         
     | 
| 
         @@ -83,13 +106,11 @@ 
     | 
|
| 
       83 
106 
     | 
    
         
             
                  }
         
     | 
| 
       84 
107 
     | 
    
         | 
| 
       85 
108 
     | 
    
         
             
                  main article br {
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
109 
     | 
    
         
             
                    display: none;
         
     | 
| 
       88 
110 
     | 
    
         | 
| 
       89 
111 
     | 
    
         
             
                    @media(min-width: 48em) {
         
     | 
| 
       90 
112 
     | 
    
         
             
                      display: inline;
         
     | 
| 
       91 
113 
     | 
    
         
             
                    }
         
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
114 
     | 
    
         
             
                  }
         
     | 
| 
       94 
115 
     | 
    
         | 
| 
       95 
116 
     | 
    
         
             
                </style>
         
     | 
| 
         @@ -102,10 +123,10 @@ 
     | 
|
| 
       102 
123 
     | 
    
         | 
| 
       103 
124 
     | 
    
         
             
                <main>
         
     | 
| 
       104 
125 
     | 
    
         
             
                  <header>
         
     | 
| 
       105 
     | 
    
         
            -
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm115.583 168.69891c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm140.456 133.2831c-40.823 0-64.884-35.146-64.884-85.7015 0-50.5554 24.061-85.700907 64.884-85.700907 40.822 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.062 85.7015-64.884 85.7015zm0-133.2831c-17.573 0-22.71 21.8984-22.71 47.5816 0 25.6835 5.137 47.5815 22.71 47.5815 17.302 0 22.709-21.898 22.709-47.5815 0-25.6832-5.407-47.5816-22.709-47.5816z"  
     | 
| 
      
 126 
     | 
    
         
            +
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm115.583 168.69891c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm140.456 133.2831c-40.823 0-64.884-35.146-64.884-85.7015 0-50.5554 24.061-85.700907 64.884-85.700907 40.822 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.062 85.7015-64.884 85.7015zm0-133.2831c-17.573 0-22.71 21.8984-22.71 47.5816 0 25.6835 5.137 47.5815 22.71 47.5815 17.302 0 22.709-21.898 22.709-47.5815 0-25.6832-5.407-47.5816-22.709-47.5816z" id="error-id"/><path d="m123.606 85.4445c3.212 1.0523 5.538 4.2089 5.538 8.0301 0 6.1472-4.209 9.5254-11.298 9.5254h-15.617v-34.0033h14.565c7.089 0 11.353 3.1566 11.353 9.2484 0 3.6551-2.049 6.3134-4.541 7.1994zm-12.904-2.9905h5.095c2.603 0 3.988-.9968 3.988-3.1013 0-2.1044-1.385-3.0459-3.988-3.0459h-5.095zm0 6.6456v6.5902h5.981c2.492 0 3.877-1.3291 3.877-3.2674 0-2.049-1.385-3.3228-3.877-3.3228zm43.786 13.9004h-8.362v-1.274c-.831.831-3.323 1.717-5.981 1.717-4.929 0-9.083-2.769-9.083-8.0301 0-4.818 4.154-7.9193 9.581-7.9193 2.049 0 4.486.6646 5.483 1.3845v-1.606c0-1.606-.942-2.9905-3.046-2.9905-1.606 0-2.548.7199-2.935 1.8275h-8.197c.72-4.8181 4.985-8.6393 11.409-8.6393 7.088 0 11.131 3.7659 11.131 10.2453zm-8.362-6.9779v-1.4399c-.554-1.0522-2.049-1.7167-3.655-1.7167-1.717 0-3.434.7199-3.434 2.3813 0 1.7168 1.717 2.4367 3.434 2.4367 1.606 0 3.101-.6645 3.655-1.6614zm27.996 6.9779v-1.994c-1.163 1.329-3.599 2.548-6.147 2.548-7.199 0-11.131-5.8151-11.131-13.0145s3.932-13.0143 11.131-13.0143c2.548 0 4.984 1.2184 6.147 2.5475v-13.0697h8.695v35.997zm0-9.1931v-6.5902c-.664-1.3291-2.159-2.326-3.821-2.326-2.99 0-4.763 2.4368-4.763 5.6488s1.773 5.5934 4.763 5.5934c1.717 0 3.157-.9415 3.821-2.326zm35.471-2.049h-3.101v11.2421h-8.806v-34.0033h15.285c7.31 0 12.35 4.1535 12.35 11.5744 0 5.1503-2.603 8.6947-6.757 10.2453l7.975 12.1836h-9.858zm-3.101-15.2849v8.1962h5.538c3.156 0 4.596-1.606 4.596-4.0981s-1.44-4.0981-4.596-4.0981zm36.957 17.8323h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.515-13.0143 7.643 0 11.962 5.095 11.962 12.5159v2.1598h-16.115c.277 2.9905 1.827 4.5965 4.32 4.5965 1.772 0 3.156-.7753 3.655-2.4921zm-3.822-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm30.98 27.5234v-10.799c-1.163 1.329-3.6 2.548-6.147 2.548-7.2 0-11.132-5.9259-11.132-13.0145 0-7.144 3.932-13.0143 11.132-13.0143 2.547 0 4.984 1.2184 6.147 2.5475v-1.9937h8.695v33.726zm0-17.9981v-6.5902c-.665-1.3291-2.105-2.326-3.821-2.326-2.991 0-4.763 2.4368-4.763 5.6488s1.772 5.5934 4.763 5.5934c1.661 0 3.156-.9415 3.821-2.326zm36.789-15.7279v24.921h-8.695v-2.16c-1.329 1.551-3.821 2.714-6.646 2.714-5.482 0-8.75-3.5999-8.75-9.1379v-16.3371h8.64v14.288c0 2.1045.996 3.5997 3.212 3.5997 1.606 0 3.101-1.0522 3.544-2.769v-15.1187zm19.084 16.2263h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.515-13.0143 7.643 0 11.963 5.095 11.963 12.5159v2.1598h-16.116c.277 2.9905 1.828 4.5965 4.32 4.5965 1.772 0 3.156-.7753 3.655-2.4921zm-3.822-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm13.428 11.0206h8.474c.387 1.3845 1.606 2.1598 3.156 2.1598 1.44 0 2.548-.5538 2.548-1.7168 0-.9414-.72-1.2737-1.939-1.5506l-4.873-.9969c-4.154-.886-6.867-2.8797-6.867-7.2547 0-5.3165 4.762-8.4178 10.633-8.4178 6.812 0 10.522 3.1567 11.297 8.0855h-8.03c-.277-1.0522-1.052-1.9937-3.046-1.9937-1.273 0-2.326.5538-2.326 1.6614 0 .7753.554 1.163 1.717 1.3845l4.929 1.163c4.541 1.0522 6.978 3.4335 6.978 7.4763 0 5.3168-4.818 8.2518-10.91 8.2518-6.369 0-10.965-2.88-11.741-8.2518zm27.538-.8861v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.205v6.7564h-5.205v8.307c0 1.9383.941 2.769 2.658 2.769.941 0 1.993-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.871 0-9.193-2.769-9.193-9.0819z" id="error-description"/></svg>
         
     | 
| 
       106 
127 
     | 
    
         
             
                  </header>
         
     | 
| 
       107 
128 
     | 
    
         
             
                  <article>
         
     | 
| 
       108 
     | 
    
         
            -
                    <p><strong>The server cannot process the request due to a client error.</strong> Please check the request and try again. If you 
     | 
| 
      
 129 
     | 
    
         
            +
                    <p><strong>The server cannot process the request due to a client error.</strong> Please check the request and try again. If you're the application owner check the logs for more information.</p>
         
     | 
| 
       109 
130 
     | 
    
         
             
                  </article>
         
     | 
| 
       110 
131 
     | 
    
         
             
                </main>
         
     | 
| 
       111 
132 
     | 
    
         | 
| 
         @@ -4,7 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              <head>
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                <title>The page you were looking for doesn 
     | 
| 
      
 7 
     | 
    
         
            +
                <title>The page you were looking for doesn't exist (404 Not found)</title>
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                <meta charset="utf-8">
         
     | 
| 
       10 
10 
     | 
    
         
             
                <meta name="viewport" content="initial-scale=1, width=device-width">
         
     | 
| 
         @@ -35,12 +35,35 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
                    font-weight: 400;
         
     | 
| 
       36 
36 
     | 
    
         
             
                    letter-spacing: -0.0025em;
         
     | 
| 
       37 
37 
     | 
    
         
             
                    line-height: 1.4;
         
     | 
| 
       38 
     | 
    
         
            -
                    min-height:  
     | 
| 
      
 38 
     | 
    
         
            +
                    min-height: 100dvh;
         
     | 
| 
       39 
39 
     | 
    
         
             
                    place-items: center;
         
     | 
| 
       40 
40 
     | 
    
         
             
                    text-rendering: optimizeLegibility;
         
     | 
| 
       41 
41 
     | 
    
         
             
                    -webkit-text-size-adjust: 100%;
         
     | 
| 
       42 
42 
     | 
    
         
             
                  }
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
                  #error-description {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    fill: #d30001;
         
     | 
| 
      
 46 
     | 
    
         
            +
                  }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  #error-id {
         
     | 
| 
      
 49 
     | 
    
         
            +
                    fill: #f0eff0;
         
     | 
| 
      
 50 
     | 
    
         
            +
                  }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    body {
         
     | 
| 
      
 54 
     | 
    
         
            +
                      background: #101010;
         
     | 
| 
      
 55 
     | 
    
         
            +
                      color: #e0e0e0;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                    #error-description {
         
     | 
| 
      
 59 
     | 
    
         
            +
                      fill: #FF6161;
         
     | 
| 
      
 60 
     | 
    
         
            +
                    }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                    #error-id {
         
     | 
| 
      
 63 
     | 
    
         
            +
                      fill: #2c2c2c;
         
     | 
| 
      
 64 
     | 
    
         
            +
                    }
         
     | 
| 
      
 65 
     | 
    
         
            +
                  }
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       44 
67 
     | 
    
         
             
                  a {
         
     | 
| 
       45 
68 
     | 
    
         
             
                    color: inherit;
         
     | 
| 
       46 
69 
     | 
    
         
             
                    font-weight: 700;
         
     | 
| 
         @@ -83,13 +106,11 @@ 
     | 
|
| 
       83 
106 
     | 
    
         
             
                  }
         
     | 
| 
       84 
107 
     | 
    
         | 
| 
       85 
108 
     | 
    
         
             
                  main article br {
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
109 
     | 
    
         
             
                    display: none;
         
     | 
| 
       88 
110 
     | 
    
         | 
| 
       89 
111 
     | 
    
         
             
                    @media(min-width: 48em) {
         
     | 
| 
       90 
112 
     | 
    
         
             
                      display: inline;
         
     | 
| 
       91 
113 
     | 
    
         
             
                    }
         
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
114 
     | 
    
         
             
                  }
         
     | 
| 
       94 
115 
     | 
    
         | 
| 
       95 
116 
     | 
    
         
             
                </style>
         
     | 
| 
         @@ -102,10 +123,10 @@ 
     | 
|
| 
       102 
123 
     | 
    
         | 
| 
       103 
124 
     | 
    
         
             
                <main>
         
     | 
| 
       104 
125 
     | 
    
         
             
                  <header>
         
     | 
| 
       105 
     | 
    
         
            -
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm115.583 168.69891c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm165.328-35.41581-45.689 100.02991h26.224v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.184v-31.901l50.285-103.27391z"  
     | 
| 
      
 126 
     | 
    
         
            +
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm115.583 168.69891c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm165.328-35.41581-45.689 100.02991h26.224v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.184v-31.901l50.285-103.27391z" id="error-id"/><path d="m157.758 68.9967v34.0033h-7.199l-14.233-19.8814v19.8814h-8.584v-34.0033h8.307l13.125 18.7184v-18.7184zm28.454 21.5428c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.528 0c0-3.4336-1.496-5.8703-4.209-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.209-2.3813 4.209-5.8149zm13.184 3.8766v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.205v6.7564h-5.205v8.307c0 1.9383.941 2.769 2.658 2.769.941 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm37.027 8.5839h-8.806v-34.0033h23.924v7.6978h-15.118v6.7564h13.9v7.5316h-13.9zm41.876-12.4605c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.529 0c0-3.4336-1.495-5.8703-4.208-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.208-2.3813 4.208-5.8149zm35.337-12.4605v24.921h-8.695v-2.16c-1.329 1.551-3.821 2.714-6.646 2.714-5.482 0-8.75-3.5999-8.75-9.1379v-16.3371h8.64v14.288c0 2.1045.997 3.5997 3.212 3.5997 1.606 0 3.101-1.0522 3.544-2.769v-15.1187zm4.076 24.921v-24.921h8.694v2.1598c1.385-1.5506 3.822-2.7136 6.701-2.7136 5.538 0 8.806 3.5997 8.806 9.1377v16.3371h-8.639v-14.2327c0-2.049-1.053-3.5443-3.268-3.5443-1.717 0-3.156.9969-3.6 2.7136v15.0634zm44.113 0v-1.994c-1.163 1.329-3.6 2.548-6.147 2.548-7.2 0-11.132-5.8151-11.132-13.0145s3.932-13.0143 11.132-13.0143c2.547 0 4.984 1.2184 6.147 2.5475v-13.0697h8.695v35.997zm0-9.1931v-6.5902c-.665-1.3291-2.16-2.326-3.821-2.326-2.991 0-4.763 2.4368-4.763 5.6488s1.772 5.5934 4.763 5.5934c1.717 0 3.156-.9415 3.821-2.326z" id="error-description"/></svg>
         
     | 
| 
       106 
127 
     | 
    
         
             
                  </header>
         
     | 
| 
       107 
128 
     | 
    
         
             
                  <article>
         
     | 
| 
       108 
     | 
    
         
            -
                    <p><strong>The page you were looking for doesn 
     | 
| 
      
 129 
     | 
    
         
            +
                    <p><strong>The page you were looking for doesn't exist.</strong> You may have mistyped the address or the page may have moved. If you're the application owner check the logs for more information.</p>
         
     | 
| 
       109 
130 
     | 
    
         
             
                  </article>
         
     | 
| 
       110 
131 
     | 
    
         
             
                </main>
         
     | 
| 
       111 
132 
     | 
    
         | 
| 
         @@ -35,12 +35,35 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
                    font-weight: 400;
         
     | 
| 
       36 
36 
     | 
    
         
             
                    letter-spacing: -0.0025em;
         
     | 
| 
       37 
37 
     | 
    
         
             
                    line-height: 1.4;
         
     | 
| 
       38 
     | 
    
         
            -
                    min-height:  
     | 
| 
      
 38 
     | 
    
         
            +
                    min-height: 100dvh;
         
     | 
| 
       39 
39 
     | 
    
         
             
                    place-items: center;
         
     | 
| 
       40 
40 
     | 
    
         
             
                    text-rendering: optimizeLegibility;
         
     | 
| 
       41 
41 
     | 
    
         
             
                    -webkit-text-size-adjust: 100%;
         
     | 
| 
       42 
42 
     | 
    
         
             
                  }
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
                  #error-description {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    fill: #d30001;
         
     | 
| 
      
 46 
     | 
    
         
            +
                  }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  #error-id {
         
     | 
| 
      
 49 
     | 
    
         
            +
                    fill: #f0eff0;
         
     | 
| 
      
 50 
     | 
    
         
            +
                  }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    body {
         
     | 
| 
      
 54 
     | 
    
         
            +
                      background: #101010;
         
     | 
| 
      
 55 
     | 
    
         
            +
                      color: #e0e0e0;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                    #error-description {
         
     | 
| 
      
 59 
     | 
    
         
            +
                      fill: #FF6161;
         
     | 
| 
      
 60 
     | 
    
         
            +
                    }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                    #error-id {
         
     | 
| 
      
 63 
     | 
    
         
            +
                      fill: #2c2c2c;
         
     | 
| 
      
 64 
     | 
    
         
            +
                    }
         
     | 
| 
      
 65 
     | 
    
         
            +
                  }
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       44 
67 
     | 
    
         
             
                  a {
         
     | 
| 
       45 
68 
     | 
    
         
             
                    color: inherit;
         
     | 
| 
       46 
69 
     | 
    
         
             
                    font-weight: 700;
         
     | 
| 
         @@ -83,13 +106,11 @@ 
     | 
|
| 
       83 
106 
     | 
    
         
             
                  }
         
     | 
| 
       84 
107 
     | 
    
         | 
| 
       85 
108 
     | 
    
         
             
                  main article br {
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
109 
     | 
    
         
             
                    display: none;
         
     | 
| 
       88 
110 
     | 
    
         | 
| 
       89 
111 
     | 
    
         
             
                    @media(min-width: 48em) {
         
     | 
| 
       90 
112 
     | 
    
         
             
                      display: inline;
         
     | 
| 
       91 
113 
     | 
    
         
             
                    }
         
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
114 
     | 
    
         
             
                  }
         
     | 
| 
       94 
115 
     | 
    
         | 
| 
       95 
116 
     | 
    
         
             
                </style>
         
     | 
| 
         @@ -102,7 +123,7 @@ 
     | 
|
| 
       102 
123 
     | 
    
         | 
| 
       103 
124 
     | 
    
         
             
                <main>
         
     | 
| 
       104 
125 
     | 
    
         
             
                  <header>
         
     | 
| 
       105 
     | 
    
         
            -
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm115.583 168.69891c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm202.906 9.7326h-41.093c-2.433-7.2994-7.84-12.4361-17.302-12.4361-16.221 0-25.413 17.5728-25.954 34.8752v1.3517c5.137-7.0291 16.221-12.4361 30.82-12.4361 33.524 0 54.881 24.0612 54.881 53.7998 0 33.253-23.791 58.396-61.64 58.396-21.628 0-39.741-10.003-50.825-27.576-9.733-14.599-13.788-32.442-13.788-54.3406 0-51.9072 24.331-89.485807 66.236-89.485807 32.712 0 53.258 18.654107 58.665 47.851907zm-82.727 66.2355c0 13.247 9.463 22.439 22.71 22.439 12.977 0 22.439-9.192 22.439-22.439 0-13.517-9.462-22.7091-22.439-22.7091-13.247 0-22.71 9.1921-22.71 22.7091z"  
     | 
| 
      
 126 
     | 
    
         
            +
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm115.583 168.69891c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm202.906 9.7326h-41.093c-2.433-7.2994-7.84-12.4361-17.302-12.4361-16.221 0-25.413 17.5728-25.954 34.8752v1.3517c5.137-7.0291 16.221-12.4361 30.82-12.4361 33.524 0 54.881 24.0612 54.881 53.7998 0 33.253-23.791 58.396-61.64 58.396-21.628 0-39.741-10.003-50.825-27.576-9.733-14.599-13.788-32.442-13.788-54.3406 0-51.9072 24.331-89.485807 66.236-89.485807 32.712 0 53.258 18.654107 58.665 47.851907zm-82.727 66.2355c0 13.247 9.463 22.439 22.71 22.439 12.977 0 22.439-9.192 22.439-22.439 0-13.517-9.462-22.7091-22.439-22.7091-13.247 0-22.71 9.1921-22.71 22.7091z" id="error-id"/><path d="m100.761 68.9967v34.0033h-7.1991l-14.2326-19.8814v19.8814h-8.5839v-34.0033h8.307l13.125 18.7184v-18.7184zm28.454 21.5428c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.529 0c0-3.4336-1.495-5.8703-4.208-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.208-2.3813 4.208-5.8149zm13.185 3.8766v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.205v6.7564h-5.205v8.307c0 1.9383.941 2.769 2.658 2.769.941 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm39.02-25.4194h9.083l12.958 34.0033h-9.027l-2.436-6.5902h-12.35l-2.381 6.5902h-8.806zm4.431 10.5222-3.489 9.5807h6.978zm17.44 11.0206c0-7.6978 5.095-13.0143 12.572-13.0143 6.701 0 10.854 3.9874 11.574 9.8023h-8.418c-.221-1.4953-1.384-2.6029-3.156-2.6029-2.437 0-3.988 2.2706-3.988 5.8149s1.551 5.7595 3.988 5.7595c1.772 0 2.935-1.0522 3.156-2.5475h8.418c-.72 5.7596-4.873 9.8025-11.574 9.8025-7.477 0-12.572-5.3167-12.572-13.0145zm25.676 0c0-7.6978 5.095-13.0143 12.572-13.0143 6.701 0 10.854 3.9874 11.574 9.8023h-8.418c-.221-1.4953-1.384-2.6029-3.156-2.6029-2.437 0-3.988 2.2706-3.988 5.8149s1.551 5.7595 3.988 5.7595c1.772 0 2.935-1.0522 3.156-2.5475h8.418c-.72 5.7596-4.873 9.8025-11.574 9.8025-7.477 0-12.572-5.3167-12.572-13.0145zm42.013 3.7658h8.031c-.887 5.7597-5.206 9.2487-11.686 9.2487-7.642 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.317-13.0143 12.516-13.0143 7.643 0 11.962 5.095 11.962 12.5159v2.1598h-16.115c.277 2.9905 1.827 4.5965 4.319 4.5965 1.773 0 3.157-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm23.4 16.7244v10.799h-8.694v-33.726h8.694v1.9937c1.163-1.3291 3.6-2.5475 6.148-2.5475 7.199 0 11.131 5.8703 11.131 13.0143 0 7.0886-3.932 13.0145-11.131 13.0145-2.548 0-4.985-1.219-6.148-2.548zm0-13.7893v6.5902c.665 1.3845 2.16 2.326 3.822 2.326 2.99 0 4.762-2.3814 4.762-5.5934s-1.772-5.6488-4.762-5.6488c-1.717 0-3.157.9969-3.822 2.326zm21.892 7.1994v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.206v6.7564h-5.206v8.307c0 1.9383.941 2.769 2.658 2.769.942 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm39.458 8.5839h-8.363v-1.274c-.83.831-3.322 1.717-5.981 1.717-4.928 0-9.082-2.769-9.082-8.0301 0-4.818 4.154-7.9193 9.581-7.9193 2.049 0 4.486.6646 5.482 1.3845v-1.606c0-1.606-.941-2.9905-3.045-2.9905-1.606 0-2.548.7199-2.936 1.8275h-8.196c.72-4.8181 4.984-8.6393 11.408-8.6393 7.089 0 11.132 3.7659 11.132 10.2453zm-8.363-6.9779v-1.4399c-.553-1.0522-2.049-1.7167-3.655-1.7167-1.716 0-3.433.7199-3.433 2.3813 0 1.7168 1.717 2.4367 3.433 2.4367 1.606 0 3.102-.6645 3.655-1.6614zm20.742 4.9839v1.994h-8.694v-35.997h8.694v13.0697c1.163-1.3291 3.6-2.5475 6.148-2.5475 7.199 0 11.131 5.8149 11.131 13.0143s-3.932 13.0145-11.131 13.0145c-2.548 0-4.985-1.219-6.148-2.548zm0-13.7893v6.5902c.665 1.3845 2.105 2.326 3.822 2.326 2.99 0 4.762-2.3814 4.762-5.5934s-1.772-5.6488-4.762-5.6488c-1.662 0-3.157.9969-3.822 2.326zm28.759-20.2137v35.997h-8.695v-35.997zm19.172 27.3023h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.516-13.0143 7.642 0 11.962 5.095 11.962 12.5159v2.1598h-16.116c.277 2.9905 1.828 4.5965 4.32 4.5965 1.772 0 3.157-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.434 1.2737-3.988 3.5997h7.532c-.111-2.0491-1.384-3.5997-3.544-3.5997z" id="error-description"/></svg>
         
     | 
| 
       106 
127 
     | 
    
         
             
                  </header>
         
     | 
| 
       107 
128 
     | 
    
         
             
                  <article>
         
     | 
| 
       108 
129 
     | 
    
         
             
                    <p><strong>Your browser is not supported.</strong><br> Please upgrade your browser to continue.</p>
         
     | 
| 
         @@ -35,12 +35,35 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
                    font-weight: 400;
         
     | 
| 
       36 
36 
     | 
    
         
             
                    letter-spacing: -0.0025em;
         
     | 
| 
       37 
37 
     | 
    
         
             
                    line-height: 1.4;
         
     | 
| 
       38 
     | 
    
         
            -
                    min-height:  
     | 
| 
      
 38 
     | 
    
         
            +
                    min-height: 100dvh;
         
     | 
| 
       39 
39 
     | 
    
         
             
                    place-items: center;
         
     | 
| 
       40 
40 
     | 
    
         
             
                    text-rendering: optimizeLegibility;
         
     | 
| 
       41 
41 
     | 
    
         
             
                    -webkit-text-size-adjust: 100%;
         
     | 
| 
       42 
42 
     | 
    
         
             
                  }
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
                  #error-description {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    fill: #d30001;
         
     | 
| 
      
 46 
     | 
    
         
            +
                  }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  #error-id {
         
     | 
| 
      
 49 
     | 
    
         
            +
                    fill: #f0eff0;
         
     | 
| 
      
 50 
     | 
    
         
            +
                  }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    body {
         
     | 
| 
      
 54 
     | 
    
         
            +
                      background: #101010;
         
     | 
| 
      
 55 
     | 
    
         
            +
                      color: #e0e0e0;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                    #error-description {
         
     | 
| 
      
 59 
     | 
    
         
            +
                      fill: #FF6161;
         
     | 
| 
      
 60 
     | 
    
         
            +
                    }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                    #error-id {
         
     | 
| 
      
 63 
     | 
    
         
            +
                      fill: #2c2c2c;
         
     | 
| 
      
 64 
     | 
    
         
            +
                    }
         
     | 
| 
      
 65 
     | 
    
         
            +
                  }
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       44 
67 
     | 
    
         
             
                  a {
         
     | 
| 
       45 
68 
     | 
    
         
             
                    color: inherit;
         
     | 
| 
       46 
69 
     | 
    
         
             
                    font-weight: 700;
         
     | 
| 
         @@ -83,13 +106,11 @@ 
     | 
|
| 
       83 
106 
     | 
    
         
             
                  }
         
     | 
| 
       84 
107 
     | 
    
         | 
| 
       85 
108 
     | 
    
         
             
                  main article br {
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
109 
     | 
    
         
             
                    display: none;
         
     | 
| 
       88 
110 
     | 
    
         | 
| 
       89 
111 
     | 
    
         
             
                    @media(min-width: 48em) {
         
     | 
| 
       90 
112 
     | 
    
         
             
                      display: inline;
         
     | 
| 
       91 
113 
     | 
    
         
             
                    }
         
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
114 
     | 
    
         
             
                  }
         
     | 
| 
       94 
115 
     | 
    
         | 
| 
       95 
116 
     | 
    
         
             
                </style>
         
     | 
| 
         @@ -102,10 +123,10 @@ 
     | 
|
| 
       102 
123 
     | 
    
         | 
| 
       103 
124 
     | 
    
         
             
                <main>
         
     | 
| 
       104 
125 
     | 
    
         
             
                  <header>
         
     | 
| 
       105 
     | 
    
         
            -
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm130.453 51.63681c0-8.9215-6.218-15.4099-15.681-15.4099-10.273 0-15.95 7.5698-16.491 16.4913h-44.608c3.244-30.8199 25.683-55.421707 61.099-55.421707 36.498 0 59.477 20.816907 59.477 51.636807 0 21.3577-14.869 36.7676-31.901 52.7186l-27.305 27.035h59.747v37.308h-120.306v-27.846l57.044-56.7736c11.084-11.8954 18.925-20.0059 18.925-29.7385zm140.455 0c0-8.9215-6.218-15.4099-15.68-15.4099-10.274 0-15.951 7.5698-16.492 16.4913h-44.608c3.245-30.8199 25.684-55.421707 61.1-55.421707 36.497 0 59.477 20.816907 59.477 51.636807 0 21.3577-14.87 36.7676-31.902 52.7186l-27.305 27.035h59.747v37.308h-120.305v-27.846l57.043-56.7736c11.085-11.8954 18.925-20.0059 18.925-29.7385z"  
     | 
| 
      
 126 
     | 
    
         
            +
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm130.453 51.63681c0-8.9215-6.218-15.4099-15.681-15.4099-10.273 0-15.95 7.5698-16.491 16.4913h-44.608c3.244-30.8199 25.683-55.421707 61.099-55.421707 36.498 0 59.477 20.816907 59.477 51.636807 0 21.3577-14.869 36.7676-31.901 52.7186l-27.305 27.035h59.747v37.308h-120.306v-27.846l57.044-56.7736c11.084-11.8954 18.925-20.0059 18.925-29.7385zm140.455 0c0-8.9215-6.218-15.4099-15.68-15.4099-10.274 0-15.951 7.5698-16.492 16.4913h-44.608c3.245-30.8199 25.684-55.421707 61.1-55.421707 36.497 0 59.477 20.816907 59.477 51.636807 0 21.3577-14.87 36.7676-31.902 52.7186l-27.305 27.035h59.747v37.308h-120.305v-27.846l57.043-56.7736c11.085-11.8954 18.925-20.0059 18.925-29.7385z" id="error-id"/><path d="m19.3936 103.554c-8.9715 0-14.84183-5.0952-14.84183-14.4544v-20.1029h8.86083v19.3276c0 4.8181 2.2706 7.3102 5.981 7.3102 3.6551 0 5.9257-2.4921 5.9257-7.3102v-19.3276h8.8608v20.1583c0 9.3038-5.8149 14.399-14.7865 14.399zm18.734-.554v-24.921h8.6947v2.1598c1.3845-1.5506 3.8212-2.7136 6.701-2.7136 5.538 0 8.8054 3.5997 8.8054 9.1377v16.3371h-8.6393v-14.2327c0-2.049-1.0522-3.5443-3.2674-3.5443-1.7168 0-3.1567.9969-3.5997 2.7136v15.0634zm36.8584-1.994v10.799h-8.6946v-33.726h8.6946v1.9937c1.163-1.3291 3.5997-2.5475 6.1472-2.5475 7.1994 0 11.1314 5.8703 11.1314 13.0143 0 7.0886-3.932 13.0145-11.1314 13.0145-2.5475 0-4.9842-1.219-6.1472-2.548zm0-13.7893v6.5902c.6646 1.3845 2.1599 2.326 3.8213 2.326 2.9905 0 4.7626-2.3814 4.7626-5.5934s-1.7721-5.6488-4.7626-5.6488c-1.7168 0-3.1567.9969-3.8213 2.326zm36.789-9.2485v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.6949v-24.921h8.6949v2.2152c1.218-1.6614 3.156-2.769 5.648-2.769 1.108 0 1.994.2215 2.382.443zm26.769 12.5713c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.528 0c0-3.4336-1.496-5.8703-4.209-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.209-2.3813 4.209-5.8149zm10.352 0c0-7.6978 5.095-13.0143 12.571-13.0143 6.701 0 10.855 3.9874 11.574 9.8023h-8.417c-.222-1.4953-1.385-2.6029-3.157-2.6029-2.437 0-3.987 2.2706-3.987 5.8149s1.55 5.7595 3.987 5.7595c1.772 0 2.935-1.0522 3.157-2.5475h8.417c-.719 5.7596-4.873 9.8025-11.574 9.8025-7.476 0-12.571-5.3167-12.571-13.0145zm42.013 3.7658h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.516-13.0143 7.642 0 11.962 5.095 11.962 12.5159v2.1598h-16.116c.277 2.9905 1.828 4.5965 4.32 4.5965 1.772 0 3.156-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.434 1.2737-3.988 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.544-3.5997zm13.428 11.0206h8.473c.387 1.3845 1.606 2.1598 3.156 2.1598 1.44 0 2.548-.5538 2.548-1.7168 0-.9414-.72-1.2737-1.938-1.5506l-4.874-.9969c-4.153-.886-6.867-2.8797-6.867-7.2547 0-5.3165 4.763-8.4178 10.633-8.4178 6.812 0 10.522 3.1567 11.297 8.0855h-8.03c-.277-1.0522-1.052-1.9937-3.046-1.9937-1.273 0-2.326.5538-2.326 1.6614 0 .7753.554 1.163 1.717 1.3845l4.929 1.163c4.541 1.0522 6.978 3.4335 6.978 7.4763 0 5.3168-4.818 8.2518-10.91 8.2518-6.369 0-10.965-2.88-11.74-8.2518zm24.269 0h8.474c.387 1.3845 1.606 2.1598 3.156 2.1598 1.44 0 2.548-.5538 2.548-1.7168 0-.9414-.72-1.2737-1.939-1.5506l-4.873-.9969c-4.154-.886-6.867-2.8797-6.867-7.2547 0-5.3165 4.763-8.4178 10.633-8.4178 6.812 0 10.522 3.1567 11.297 8.0855h-8.03c-.277-1.0522-1.052-1.9937-3.046-1.9937-1.273 0-2.326.5538-2.326 1.6614 0 .7753.554 1.163 1.717 1.3845l4.929 1.163c4.541 1.0522 6.978 3.4335 6.978 7.4763 0 5.3168-4.818 8.2518-10.91 8.2518-6.369 0-10.965-2.88-11.741-8.2518zm47.918 7.6978h-8.363v-1.274c-.831.831-3.323 1.717-5.981 1.717-4.929 0-9.082-2.769-9.082-8.0301 0-4.818 4.153-7.9193 9.581-7.9193 2.049 0 4.485.6646 5.482 1.3845v-1.606c0-1.606-.941-2.9905-3.046-2.9905-1.606 0-2.547.7199-2.935 1.8275h-8.196c.72-4.8181 4.984-8.6393 11.408-8.6393 7.089 0 11.132 3.7659 11.132 10.2453zm-8.363-6.9779v-1.4399c-.554-1.0522-2.049-1.7167-3.655-1.7167-1.717 0-3.434.7199-3.434 2.3813 0 1.7168 1.717 2.4367 3.434 2.4367 1.606 0 3.101-.6645 3.655-1.6614zm20.742 4.9839v1.994h-8.695v-35.997h8.695v13.0697c1.163-1.3291 3.6-2.5475 6.147-2.5475 7.2 0 11.132 5.8149 11.132 13.0143s-3.932 13.0145-11.132 13.0145c-2.547 0-4.984-1.219-6.147-2.548zm0-13.7893v6.5902c.665 1.3845 2.105 2.326 3.821 2.326 2.991 0 4.763-2.3814 4.763-5.5934s-1.772-5.6488-4.763-5.6488c-1.661 0-3.156.9969-3.821 2.326zm28.759-20.2137v35.997h-8.695v-35.997zm19.172 27.3023h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.515-13.0143 7.643 0 11.962 5.095 11.962 12.5159v2.1598h-16.115c.277 2.9905 1.827 4.5965 4.32 4.5965 1.772 0 3.156-.7753 3.655-2.4921zm-3.822-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm25.461-15.2849h24.311v7.6424h-15.561v5.3165h14.232v7.4763h-14.232v5.8703h15.561v7.6978h-24.311zm27.942 34.0033v-24.921h8.694v2.1598c1.385-1.5506 3.822-2.7136 6.701-2.7136 5.538 0 8.806 3.5997 8.806 9.1377v16.3371h-8.639v-14.2327c0-2.049-1.053-3.5443-3.268-3.5443-1.717 0-3.157.9969-3.6 2.7136v15.0634zm29.991-8.5839v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.206v6.7564h-5.206v8.307c0 1.9383.941 2.769 2.658 2.769.942 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm26.161-16.3371v24.921h-8.694v-24.921zm.61-6.7564c0 2.8244-2.271 4.652-4.929 4.652s-4.929-1.8276-4.929-4.652c0-2.8797 2.271-4.7073 4.929-4.7073s4.929 1.8276 4.929 4.7073zm5.382 23.0935v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.206v6.7564h-5.206v8.307c0 1.9383.941 2.769 2.658 2.769.941 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm29.22 17.3889h-8.584l3.655-9.414-9.303-24.312h9.026l4.763 14.1773 4.652-14.1773h8.639z" id="error-description"/></svg>
         
     | 
| 
       106 
127 
     | 
    
         
             
                  </header>
         
     | 
| 
       107 
128 
     | 
    
         
             
                  <article>
         
     | 
| 
       108 
     | 
    
         
            -
                    <p><strong>The change you wanted was rejected.</strong> Maybe you tried to change something you didn 
     | 
| 
      
 129 
     | 
    
         
            +
                    <p><strong>The change you wanted was rejected.</strong> Maybe you tried to change something you didn't have access to. If you're the application owner check the logs for more information.</p>
         
     | 
| 
       109 
130 
     | 
    
         
             
                  </article>
         
     | 
| 
       110 
131 
     | 
    
         
             
                </main>
         
     | 
| 
       111 
132 
     | 
    
         | 
| 
         @@ -4,7 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              <head>
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                <title>We 
     | 
| 
      
 7 
     | 
    
         
            +
                <title>We're sorry, but something went wrong (500 Internal Server Error)</title>
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                <meta charset="utf-8">
         
     | 
| 
       10 
10 
     | 
    
         
             
                <meta name="viewport" content="initial-scale=1, width=device-width">
         
     | 
| 
         @@ -35,12 +35,35 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
                    font-weight: 400;
         
     | 
| 
       36 
36 
     | 
    
         
             
                    letter-spacing: -0.0025em;
         
     | 
| 
       37 
37 
     | 
    
         
             
                    line-height: 1.4;
         
     | 
| 
       38 
     | 
    
         
            -
                    min-height:  
     | 
| 
      
 38 
     | 
    
         
            +
                    min-height: 100dvh;
         
     | 
| 
       39 
39 
     | 
    
         
             
                    place-items: center;
         
     | 
| 
       40 
40 
     | 
    
         
             
                    text-rendering: optimizeLegibility;
         
     | 
| 
       41 
41 
     | 
    
         
             
                    -webkit-text-size-adjust: 100%;
         
     | 
| 
       42 
42 
     | 
    
         
             
                  }
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
                  #error-description {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    fill: #d30001;
         
     | 
| 
      
 46 
     | 
    
         
            +
                  }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  #error-id {
         
     | 
| 
      
 49 
     | 
    
         
            +
                    fill: #f0eff0;
         
     | 
| 
      
 50 
     | 
    
         
            +
                  }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    body {
         
     | 
| 
      
 54 
     | 
    
         
            +
                      background: #101010;
         
     | 
| 
      
 55 
     | 
    
         
            +
                      color: #e0e0e0;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                    #error-description {
         
     | 
| 
      
 59 
     | 
    
         
            +
                      fill: #FF6161;
         
     | 
| 
      
 60 
     | 
    
         
            +
                    }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                    #error-id {
         
     | 
| 
      
 63 
     | 
    
         
            +
                      fill: #2c2c2c;
         
     | 
| 
      
 64 
     | 
    
         
            +
                    }
         
     | 
| 
      
 65 
     | 
    
         
            +
                  }
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       44 
67 
     | 
    
         
             
                  a {
         
     | 
| 
       45 
68 
     | 
    
         
             
                    color: inherit;
         
     | 
| 
       46 
69 
     | 
    
         
             
                    font-weight: 700;
         
     | 
| 
         @@ -83,13 +106,11 @@ 
     | 
|
| 
       83 
106 
     | 
    
         
             
                  }
         
     | 
| 
       84 
107 
     | 
    
         | 
| 
       85 
108 
     | 
    
         
             
                  main article br {
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
109 
     | 
    
         
             
                    display: none;
         
     | 
| 
       88 
110 
     | 
    
         | 
| 
       89 
111 
     | 
    
         
             
                    @media(min-width: 48em) {
         
     | 
| 
       90 
112 
     | 
    
         
             
                      display: inline;
         
     | 
| 
       91 
113 
     | 
    
         
             
                    }
         
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
114 
     | 
    
         
             
                  }
         
     | 
| 
       94 
115 
     | 
    
         | 
| 
       95 
116 
     | 
    
         
             
                </style>
         
     | 
| 
         @@ -102,10 +123,10 @@ 
     | 
|
| 
       102 
123 
     | 
    
         | 
| 
       103 
124 
     | 
    
         
             
                <main>
         
     | 
| 
       104 
125 
     | 
    
         
             
                  <header>
         
     | 
| 
       105 
     | 
    
         
            -
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m101.23 93.8427c-8.1103 0-15.4098 3.7849-19.7354 8.3813h-36.2269v-99.21891h103.8143v37.03791h-68.3984v24.8722c5.1366-2.7035 15.1396-5.9477 24.6014-5.9477 35.146 0 56.233 22.7094 56.233 55.4215 0 34.605-23.791 57.315-60.558 57.315-37.8492 0-61.64-22.169-63.8028-55.963h42.9857c1.0814 10.814 9.1919 19.195 21.6281 19.195 11.355 0 19.465-8.381 19.465-20.547 0-11.625-7.299-20.5463-20.006-20.5463zm138.833 77.8613c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm140.456 133.2831c-40.823 0-64.884-35.146-64.884-85.7015 0-50.5554 24.061-85.700907 64.884-85.700907 40.822 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.062 85.7015-64.884 85.7015zm0-133.2831c-17.573 0-22.71 21.8984-22.71 47.5816 0 25.6835 5.137 47.5815 22.71 47.5815 17.302 0 22.709-21.898 22.709-47.5815 0-25.6832-5.407-47.5816-22.709-47.5816z"  
     | 
| 
      
 126 
     | 
    
         
            +
                    <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m101.23 93.8427c-8.1103 0-15.4098 3.7849-19.7354 8.3813h-36.2269v-99.21891h103.8143v37.03791h-68.3984v24.8722c5.1366-2.7035 15.1396-5.9477 24.6014-5.9477 35.146 0 56.233 22.7094 56.233 55.4215 0 34.605-23.791 57.315-60.558 57.315-37.8492 0-61.64-22.169-63.8028-55.963h42.9857c1.0814 10.814 9.1919 19.195 21.6281 19.195 11.355 0 19.465-8.381 19.465-20.547 0-11.625-7.299-20.5463-20.006-20.5463zm138.833 77.8613c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm140.456 133.2831c-40.823 0-64.884-35.146-64.884-85.7015 0-50.5554 24.061-85.700907 64.884-85.700907 40.822 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.062 85.7015-64.884 85.7015zm0-133.2831c-17.573 0-22.71 21.8984-22.71 47.5816 0 25.6835 5.137 47.5815 22.71 47.5815 17.302 0 22.709-21.898 22.709-47.5815 0-25.6832-5.407-47.5816-22.709-47.5816z" id="error-id"/><path d="m23.1377 68.9967v34.0033h-8.9162v-34.0033zm4.3157 34.0033v-24.921h8.6947v2.1598c1.3845-1.5506 3.8212-2.7136 6.701-2.7136 5.538 0 8.8054 3.5997 8.8054 9.1377v16.3371h-8.6393v-14.2327c0-2.049-1.0522-3.5443-3.2674-3.5443-1.7168 0-3.1567.9969-3.5997 2.7136v15.0634zm29.9913-8.5839v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.5839v6.8671h5.2058v6.7564h-5.2058v8.307c0 1.9383.9415 2.769 2.6583 2.769.9414 0 1.9937-.2216 2.769-.5538v7.3654c-.9969.443-2.8798.775-4.8181.775-5.8703 0-9.1931-2.769-9.1931-9.0819zm32.3666-.1108h8.0301c-.8861 5.7597-5.2057 9.2487-11.6852 9.2487-7.6424 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.3165-13.0143 12.5159-13.0143 7.6424 0 11.9621 5.095 11.9621 12.5159v2.1598h-16.1156c.2769 2.9905 1.8275 4.5965 4.3196 4.5965 1.7722 0 3.1567-.7753 3.6551-2.4921zm-3.8212-10.0237c-2.0491 0-3.4336 1.2737-3.9874 3.5997h7.5317c-.1107-2.0491-1.3845-3.5997-3.5443-3.5997zm31.4299-6.3134v8.3624c-1.052-.5538-2.215-.7753-3.599-.7753-2.382 0-3.988 1.0522-4.431 2.8244v14.6203h-8.694v-24.921h8.694v2.2152c1.219-1.6614 3.157-2.769 5.649-2.769 1.108 0 1.994.2215 2.381.443zm2.949 25.0318v-24.921h8.694v2.1598c1.385-1.5506 3.821-2.7136 6.701-2.7136 5.538 0 8.806 3.5997 8.806 9.1377v16.3371h-8.64v-14.2327c0-2.049-1.052-3.5443-3.267-3.5443-1.717 0-3.157.9969-3.6 2.7136v15.0634zm50.371 0h-8.363v-1.274c-.83.831-3.323 1.717-5.981 1.717-4.929 0-9.082-2.769-9.082-8.0301 0-4.818 4.153-7.9193 9.581-7.9193 2.049 0 4.485.6646 5.482 1.3845v-1.606c0-1.606-.941-2.9905-3.046-2.9905-1.606 0-2.547.7199-2.935 1.8275h-8.196c.72-4.8181 4.984-8.6393 11.408-8.6393 7.089 0 11.132 3.7659 11.132 10.2453zm-8.363-6.9779v-1.4399c-.554-1.0522-2.049-1.7167-3.655-1.7167-1.717 0-3.433.7199-3.433 2.3813 0 1.7168 1.716 2.4367 3.433 2.4367 1.606 0 3.101-.6645 3.655-1.6614zm20.742-29.0191v35.997h-8.694v-35.997zm13.036 25.9178h9.248c.72 2.326 2.714 3.489 5.483 3.489 2.713 0 4.596-1.163 4.596-3.2674 0-1.6061-1.052-2.326-3.212-2.8244l-6.534-1.3845c-4.985-1.1076-8.751-3.7105-8.751-9.47 0-6.6456 5.538-11.0206 13.07-11.0206 8.307 0 13.014 4.5411 13.956 10.4114h-8.695c-.72-1.8829-2.27-3.3228-5.205-3.3228-2.548 0-4.265 1.1076-4.265 2.9905 0 1.4953 1.052 2.326 2.825 2.7137l6.645 1.5506c5.815 1.3845 9.027 4.5412 9.027 9.8023 0 6.9778-5.87 10.9654-13.291 10.9654-8.141 0-13.679-3.9322-14.897-10.6332zm46.509 1.3845h8.031c-.887 5.7597-5.206 9.2487-11.686 9.2487-7.642 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.317-13.0143 12.516-13.0143 7.643 0 11.962 5.095 11.962 12.5159v2.1598h-16.115c.277 2.9905 1.827 4.5965 4.319 4.5965 1.773 0 3.157-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm31.431-6.3134v8.3624c-1.053-.5538-2.216-.7753-3.6-.7753-2.381 0-3.988 1.0522-4.431 2.8244v14.6203h-8.694v-24.921h8.694v2.2152c1.219-1.6614 3.157-2.769 5.649-2.769 1.108 0 1.994.2215 2.382.443zm18.288 25.0318h-7.809l-9.47-24.921h8.861l4.763 14.288 4.652-14.288h8.528zm25.614-8.6947h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.642 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.516-13.0143 7.642 0 11.962 5.095 11.962 12.5159v2.1598h-16.116c.277 2.9905 1.828 4.5965 4.32 4.5965 1.772 0 3.157-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.434 1.2737-3.988 3.5997h7.532c-.111-2.0491-1.384-3.5997-3.544-3.5997zm31.43-6.3134v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.157-2.769 5.649-2.769 1.107 0 1.993.2215 2.381.443zm13.703-8.9715h24.312v7.6424h-15.562v5.3165h14.232v7.4763h-14.232v5.8703h15.562v7.6978h-24.312zm44.667 8.9715v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.156-2.769 5.648-2.769 1.108 0 1.994.2215 2.382.443zm19.673 0v8.3624c-1.053-.5538-2.216-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.156-2.769 5.648-2.769 1.108 0 1.994.2215 2.382.443zm26.769 12.5713c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.529 0c0-3.4336-1.495-5.8703-4.208-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.208-2.3813 4.208-5.8149zm28.082-12.5713v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.157-2.769 5.649-2.769 1.107 0 1.993.2215 2.381.443z" id="error-description"/></svg>
         
     | 
| 
       106 
127 
     | 
    
         
             
                  </header>
         
     | 
| 
       107 
128 
     | 
    
         
             
                  <article>
         
     | 
| 
       108 
     | 
    
         
            -
                    <p><strong>We 
     | 
| 
      
 129 
     | 
    
         
            +
                    <p><strong>We're sorry, but something went wrong.</strong><br> If you're the application owner check the logs for more information.</p>
         
     | 
| 
       109 
130 
     | 
    
         
             
                  </article>
         
     | 
| 
       110 
131 
     | 
    
         
             
                </main>
         
     | 
| 
       111 
132 
     | 
    
         | 
| 
         @@ -25,10 +25,12 @@ module Rails 
     | 
|
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
                    template "app/channels/application_cable/connection.rb" if defined?(ActionCable::Engine)
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
                     
     | 
| 
      
 28 
     | 
    
         
            +
                    if defined?(ActionMailer::Railtie)
         
     | 
| 
      
 29 
     | 
    
         
            +
                      template "app/mailers/passwords_mailer.rb"
         
     | 
| 
       29 
30 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
                      template "app/views/passwords_mailer/reset.html.erb"
         
     | 
| 
      
 32 
     | 
    
         
            +
                      template "app/views/passwords_mailer/reset.text.erb"
         
     | 
| 
      
 33 
     | 
    
         
            +
                    end
         
     | 
| 
       32 
34 
     | 
    
         
             
                  end
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
                  def configure_application_controller
         
     | 
| 
         @@ -41,7 +43,7 @@ module Rails 
     | 
|
| 
       41 
43 
     | 
    
         
             
                  end
         
     | 
| 
       42 
44 
     | 
    
         | 
| 
       43 
45 
     | 
    
         
             
                  def enable_bcrypt
         
     | 
| 
       44 
     | 
    
         
            -
                    if File.read("Gemfile").include?('gem "bcrypt"')
         
     | 
| 
      
 46 
     | 
    
         
            +
                    if File.read(File.expand_path("Gemfile", destination_root)).include?('gem "bcrypt"')
         
     | 
| 
       45 
47 
     | 
    
         
             
                      uncomment_lines "Gemfile", /gem "bcrypt"/
         
     | 
| 
       46 
48 
     | 
    
         
             
                      bundle_command("install --quiet")
         
     | 
| 
       47 
49 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -50,8 +52,8 @@ module Rails 
     | 
|
| 
       50 
52 
     | 
    
         
             
                  end
         
     | 
| 
       51 
53 
     | 
    
         | 
| 
       52 
54 
     | 
    
         
             
                  def add_migrations
         
     | 
| 
       53 
     | 
    
         
            -
                    generate "migration CreateUsers email_address:string!:uniq password_digest:string! --force"
         
     | 
| 
       54 
     | 
    
         
            -
                    generate "migration CreateSessions user:references ip_address:string user_agent:string --force"
         
     | 
| 
      
 55 
     | 
    
         
            +
                    generate "migration", "CreateUsers", "email_address:string!:uniq password_digest:string!", "--force"
         
     | 
| 
      
 56 
     | 
    
         
            +
                    generate "migration", "CreateSessions", "user:references ip_address:string user_agent:string", "--force"
         
     | 
| 
       55 
57 
     | 
    
         
             
                  end
         
     | 
| 
       56 
58 
     | 
    
         | 
| 
       57 
59 
     | 
    
         
             
                  hook_for :test_framework
         
     | 
    
        data/lib/rails/generators/rails/authentication/templates/app/controllers/passwords_controller.rb.tt
    CHANGED
    
    | 
         @@ -1,9 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            class PasswordsController < ApplicationController
         
     | 
| 
       2 
2 
     | 
    
         
             
              allow_unauthenticated_access
         
     | 
| 
       3 
3 
     | 
    
         
             
              before_action :set_user_by_token, only: %i[ edit update ]
         
     | 
| 
      
 4 
     | 
    
         
            +
              <%- if defined?(ActionMailer::Railtie) -%>
         
     | 
| 
      
 5 
     | 
    
         
            +
              rate_limit to: 10, within: 3.minutes, only: :create, with: -> { redirect_to new_password_path, alert: "Try again later." }
         
     | 
| 
      
 6 
     | 
    
         
            +
              <%- end -%>
         
     | 
| 
       4 
7 
     | 
    
         | 
| 
       5 
8 
     | 
    
         
             
              def new
         
     | 
| 
       6 
9 
     | 
    
         
             
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              <%- if defined?(ActionMailer::Railtie) -%>
         
     | 
| 
       7 
11 
     | 
    
         | 
| 
       8 
12 
     | 
    
         
             
              def create
         
     | 
| 
       9 
13 
     | 
    
         
             
                if user = User.find_by(email_address: params[:email_address])
         
     | 
| 
         @@ -12,12 +16,14 @@ class PasswordsController < ApplicationController 
     | 
|
| 
       12 
16 
     | 
    
         | 
| 
       13 
17 
     | 
    
         
             
                redirect_to new_session_path, notice: "Password reset instructions sent (if user with that email address exists)."
         
     | 
| 
       14 
18 
     | 
    
         
             
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
              <%- end -%>
         
     | 
| 
       15 
20 
     | 
    
         | 
| 
       16 
21 
     | 
    
         
             
              def edit
         
     | 
| 
       17 
22 
     | 
    
         
             
              end
         
     | 
| 
       18 
23 
     | 
    
         | 
| 
       19 
24 
     | 
    
         
             
              def update
         
     | 
| 
       20 
25 
     | 
    
         
             
                if @user.update(params.permit(:password, :password_confirmation))
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @user.sessions.destroy_all
         
     | 
| 
       21 
27 
     | 
    
         
             
                  redirect_to new_session_path, notice: "Password has been reset."
         
     | 
| 
       22 
28 
     | 
    
         
             
                else
         
     | 
| 
       23 
29 
     | 
    
         
             
                  redirect_to edit_password_path(params[:token]), alert: "Passwords did not match."
         
     | 
    
        data/lib/rails/generators/rails/authentication/templates/app/controllers/sessions_controller.rb.tt
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            class SessionsController < ApplicationController
         
     | 
| 
       2 
2 
     | 
    
         
             
              allow_unauthenticated_access only: %i[ new create ]
         
     | 
| 
       3 
     | 
    
         
            -
              rate_limit to: 10, within: 3.minutes, only: :create, with: -> { redirect_to  
     | 
| 
      
 3 
     | 
    
         
            +
              rate_limit to: 10, within: 3.minutes, only: :create, with: -> { redirect_to new_session_path, alert: "Try again later." }
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              def new
         
     | 
| 
       6 
6 
     | 
    
         
             
              end
         
     | 
| 
         @@ -16,6 +16,6 @@ class SessionsController < ApplicationController 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
              def destroy
         
     | 
| 
       18 
18 
     | 
    
         
             
                terminate_session
         
     | 
| 
       19 
     | 
    
         
            -
                redirect_to new_session_path
         
     | 
| 
      
 19 
     | 
    
         
            +
                redirect_to new_session_path, status: :see_other
         
     | 
| 
       20 
20 
     | 
    
         
             
              end
         
     | 
| 
       21 
21 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,4 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <p>
         
     | 
| 
       2 
     | 
    
         
            -
              You can reset your password  
     | 
| 
      
 2 
     | 
    
         
            +
              You can reset your password on
         
     | 
| 
       3 
3 
     | 
    
         
             
              <%%= link_to "this password reset page", edit_password_url(@user.password_reset_token) %>.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              This link will expire in <%%= distance_of_time_in_words(0, @user.password_reset_token_expires_in) %>.
         
     | 
| 
       4 
6 
     | 
    
         
             
            </p>
         
     | 
| 
         @@ -1,2 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            You can reset your password  
     | 
| 
      
 1 
     | 
    
         
            +
            You can reset your password on
         
     | 
| 
       2 
2 
     | 
    
         
             
            <%%= edit_password_url(@user.password_reset_token) %>
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            This link will expire in <%%= distance_of_time_in_words(0, @user.password_reset_token_expires_in) %>.
         
     | 
| 
         @@ -13,7 +13,7 @@ Example: 
     | 
|
| 
       13 
13 
     | 
    
         
             
                    script/benchmarks/opt_compare.rb
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                You can run the generated benchmark file using:
         
     | 
| 
       16 
     | 
    
         
            -
                    ` 
     | 
| 
      
 16 
     | 
    
         
            +
                    `bin/rails runner script/benchmarks/opt_compare.rb`
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                You can specify different reports:
         
     | 
| 
       19 
19 
     | 
    
         
             
                    `bin/rails generate benchmark opt_compare patch1 patch2 patch3`
         
     | 
| 
         @@ -112,7 +112,7 @@ module Rails 
     | 
|
| 
       112 
112 
     | 
    
         | 
| 
       113 
113 
     | 
    
         
             
                      @features["ghcr.io/rails/devcontainer/features/activestorage"] = {} if options[:active_storage]
         
     | 
| 
       114 
114 
     | 
    
         
             
                      @features["ghcr.io/devcontainers/features/node:1"] = {} if options[:node]
         
     | 
| 
       115 
     | 
    
         
            -
                      @features["ghcr.io/devcontainers/features/docker-outside-of-docker:1"] = {} if options[:kamal]
         
     | 
| 
      
 115 
     | 
    
         
            +
                      @features["ghcr.io/devcontainers/features/docker-outside-of-docker:1"] = { moby: false } if options[:kamal]
         
     | 
| 
       116 
116 
     | 
    
         | 
| 
       117 
117 
     | 
    
         
             
                      @features.merge!(database.feature) if database.feature
         
     | 
| 
       118 
118 
     | 
    
         | 
| 
         @@ -1,3 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Make sure RUBY_VERSION matches the Ruby version in .ruby-version
         
     | 
| 
       2 
2 
     | 
    
         
             
            ARG RUBY_VERSION=<%= Gem.ruby_version %>
         
     | 
| 
       3 
3 
     | 
    
         
             
            FROM ghcr.io/rails/devcontainer/images/ruby:$RUBY_VERSION
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # Ensure binding is always 0.0.0.0
         
     | 
| 
      
 6 
     | 
    
         
            +
            # Binds the server to all IP addresses of the container, so it can be accessed from outside the container.
         
     | 
| 
      
 7 
     | 
    
         
            +
            ENV BINDING="0.0.0.0"
         
     | 
| 
         @@ -7,7 +7,7 @@ services: 
     | 
|
| 
       7 
7 
     | 
    
         
             
                  dockerfile: .devcontainer/Dockerfile
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                volumes:
         
     | 
| 
       10 
     | 
    
         
            -
                -  
     | 
| 
      
 10 
     | 
    
         
            +
                - ../../<%= options[:app_name] %>:/workspaces/<%= options[:app_name] %>:cached
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                # Overrides default command so things don't shut down after the process ends.
         
     | 
| 
       13 
13 
     | 
    
         
             
                command: sleep infinity
         
     | 
| 
         @@ -32,7 +32,7 @@ services: 
     | 
|
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
            <%- if options[:redis] -%>
         
     | 
| 
       34 
34 
     | 
    
         
             
              redis:
         
     | 
| 
       35 
     | 
    
         
            -
                image:  
     | 
| 
      
 35 
     | 
    
         
            +
                image: valkey/valkey:8
         
     | 
| 
       36 
36 
     | 
    
         
             
                restart: unless-stopped
         
     | 
| 
       37 
37 
     | 
    
         
             
                volumes:
         
     | 
| 
       38 
38 
     | 
    
         
             
                - redis-data:/data
         
     | 
| 
         @@ -8,7 +8,7 @@ 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              // Features to add to the dev container. More info: https://containers.dev/features.
         
     | 
| 
       10 
10 
     | 
    
         
             
              "features": {
         
     | 
| 
       11 
     | 
    
         
            -
                <%= features.map { |key, value| "\"#{key}\": #{value. 
     | 
| 
      
 11 
     | 
    
         
            +
                <%= features.map { |key, value| "\"#{key}\": #{value.to_json}" }.join(",\n    ") %>
         
     | 
| 
       12 
12 
     | 
    
         
             
              },
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            <%- if !container_env.empty? -%>
         
     | 
| 
         @@ -21,18 +21,20 @@ module Rails 
     | 
|
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                      log ""
         
     | 
| 
       23 
23 
     | 
    
         
             
                      add_key_file_silently(key_path, key)
         
     | 
| 
      
 24 
     | 
    
         
            +
                      ensure_key_files_are_ignored(key_path)
         
     | 
| 
       24 
25 
     | 
    
         
             
                      log ""
         
     | 
| 
       25 
26 
     | 
    
         
             
                    end
         
     | 
| 
       26 
27 
     | 
    
         
             
                  end
         
     | 
| 
       27 
28 
     | 
    
         | 
| 
       28 
29 
     | 
    
         
             
                  def add_key_file_silently(key_path, key = nil)
         
     | 
| 
       29 
30 
     | 
    
         
             
                    create_file key_path, key || ActiveSupport::EncryptedFile.generate_key, perm: 0600
         
     | 
| 
      
 31 
     | 
    
         
            +
                    ensure_key_files_are_ignored_silently(key_path)
         
     | 
| 
       30 
32 
     | 
    
         
             
                  end
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
                  def  
     | 
| 
      
 34 
     | 
    
         
            +
                  def ensure_key_files_are_ignored(key_path, ignore: key_ignore(key_path))
         
     | 
| 
       33 
35 
     | 
    
         
             
                    if File.exist?(".gitignore")
         
     | 
| 
       34 
36 
     | 
    
         
             
                      unless File.read(".gitignore").include?(ignore)
         
     | 
| 
       35 
     | 
    
         
            -
                        log "Ignoring #{ 
     | 
| 
      
 37 
     | 
    
         
            +
                        log "Ignoring #{ignore} so it won't end up in Git history:"
         
     | 
| 
       36 
38 
     | 
    
         
             
                        log ""
         
     | 
| 
       37 
39 
     | 
    
         
             
                        append_to_file ".gitignore", ignore
         
     | 
| 
       38 
40 
     | 
    
         
             
                        log ""
         
     | 
| 
         @@ -44,13 +46,23 @@ module Rails 
     | 
|
| 
       44 
46 
     | 
    
         
             
                    end
         
     | 
| 
       45 
47 
     | 
    
         
             
                  end
         
     | 
| 
       46 
48 
     | 
    
         | 
| 
       47 
     | 
    
         
            -
                  def  
     | 
| 
       48 
     | 
    
         
            -
                     
     | 
| 
      
 49 
     | 
    
         
            +
                  def ensure_key_files_are_ignored_silently(key_path, ignore: key_ignore(key_path))
         
     | 
| 
      
 50 
     | 
    
         
            +
                    if File.exist?(".gitignore")
         
     | 
| 
      
 51 
     | 
    
         
            +
                      unless File.read(".gitignore").include?(ignore)
         
     | 
| 
      
 52 
     | 
    
         
            +
                        append_to_file ".gitignore", ignore
         
     | 
| 
      
 53 
     | 
    
         
            +
                      end
         
     | 
| 
      
 54 
     | 
    
         
            +
                    end
         
     | 
| 
       49 
55 
     | 
    
         
             
                  end
         
     | 
| 
       50 
56 
     | 
    
         | 
| 
       51 
57 
     | 
    
         
             
                  private
         
     | 
| 
       52 
58 
     | 
    
         
             
                    def key_ignore(key_path)
         
     | 
| 
       53 
     | 
    
         
            -
                       
     | 
| 
      
 59 
     | 
    
         
            +
                      key_path = Pathname.new(key_path) unless key_path.is_a?(Pathname)
         
     | 
| 
      
 60 
     | 
    
         
            +
                      <<~IGNORE
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                        # Ignore key files for decrypting credentials and more.
         
     | 
| 
      
 63 
     | 
    
         
            +
                        /#{key_path.dirname.join("*.key")}
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                      IGNORE
         
     | 
| 
       54 
66 
     | 
    
         
             
                    end
         
     | 
| 
       55 
67 
     | 
    
         
             
                end
         
     | 
| 
       56 
68 
     | 
    
         
             
              end
         
     |