deploying docs: docs: fix broken link in the security page (#24253) (apache/superset@6d79ced48ef8bba89fcaa0885222094cbe457586)
diff --git a/404.html b/404.html
index d01ec4c..f44f261 100644
--- a/404.html
+++ b/404.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/7d0180ef.1435de93.js b/assets/js/7d0180ef.1435de93.js
deleted file mode 100644
index 4cc96cf..0000000
--- a/assets/js/7d0180ef.1435de93.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[7277],{43458:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var n=a(83117),s=(a(67294),a(3905));const i={title:"Security",hide_title:!0,sidebar_position:10},r=void 0,o={unversionedId:"security",id:"security",title:"Security",description:"Roles",source:"@site/docs/security.mdx",sourceDirName:".",slug:"/security",permalink:"/docs/security",draft:!1,editUrl:"https://github.com/apache/superset/tree/master/docs/docs/security.mdx",tags:[],version:"current",sidebarPosition:10,frontMatter:{title:"Security",hide_title:!0,sidebar_position:10},sidebar:"tutorialSidebar",previous:{title:"API",permalink:"/docs/api"}},l={},c=[{value:"Roles",id:"roles",level:3},{value:"Provided Roles",id:"provided-roles",level:3},{value:"Admin",id:"admin",level:3},{value:"Alpha",id:"alpha",level:3},{value:"Gamma",id:"gamma",level:3},{value:"sql_lab",id:"sql_lab",level:3},{value:"Public",id:"public",level:3},{value:"Managing Data Source Access for Gamma Roles",id:"managing-data-source-access-for-gamma-roles",level:3},{value:"Customizing Permissions",id:"customizing-permissions",level:3},{value:"Permissions",id:"permissions",level:3},{value:"Restricting Access to a Subset of Data Sources",id:"restricting-access-to-a-subset-of-data-sources",level:3},{value:"Row Level Security",id:"row-level-security",level:3},{value:"Content Security Policy (CSP)",id:"content-security-policy-csp",level:3},{value:"CSP Requirements",id:"csp-requirements",level:4},{value:"Other Talisman security considerations",id:"other-talisman-security-considerations",level:4},{value:"Reporting Security Vulnerabilities",id:"reporting-security-vulnerabilities",level:3}],p={toc:c},u="wrapper";function d(e){let{components:t,...a}=e;return(0,s.kt)(u,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h3",{id:"roles"},"Roles"),(0,s.kt)("p",null,"Security in Superset is handled by Flask AppBuilder (FAB), an application development framework\nbuilt on top of Flask. FAB provides authentication, user management, permissions and roles.\nPlease read its ",(0,s.kt)("a",{parentName:"p",href:"https://flask-appbuilder.readthedocs.io/en/latest/security.html"},"Security documentation"),"."),(0,s.kt)("h3",{id:"provided-roles"},"Provided Roles"),(0,s.kt)("p",null,"Superset ships with a set of roles that are handled by Superset itself. You can assume\nthat these roles will stay up-to-date as Superset evolves (and as you update Superset versions)."),(0,s.kt)("p",null,"Even though ",(0,s.kt)("strong",{parentName:"p"},"Admin")," users have the ability, we don't recommend altering the\npermissions associated with each role (e.g. by removing or adding permissions to them). The permissions\nassociated with each role will be re-synchronized to their original values when you run\nthe ",(0,s.kt)("strong",{parentName:"p"},"superset init")," command (often done between Superset versions)."),(0,s.kt)("p",null,"A table with the permissions for these roles can be found at ",(0,s.kt)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/RESOURCES/STANDARD_ROLES.mdd"},"/RESOURCES/STANDARD_ROLES.md"),"."),(0,s.kt)("h3",{id:"admin"},"Admin"),(0,s.kt)("p",null,"Admins have all possible rights, including granting or revoking rights from other\nusers and altering other people\u2019s slices and dashboards."),(0,s.kt)("h3",{id:"alpha"},"Alpha"),(0,s.kt)("p",null,"Alpha users have access to all data sources, but they cannot grant or revoke access\nfrom other users. They are also limited to altering the objects that they own. Alpha users can add and alter data sources."),(0,s.kt)("h3",{id:"gamma"},"Gamma"),(0,s.kt)("p",null,"Gamma users have limited access. They can only consume data coming from data sources\nthey have been given access to through another complementary role. They only have access to\nview the slices and dashboards made from data sources that they have access to. Currently Gamma\nusers are not able to alter or add data sources. We assume that they are mostly content consumers, though they can create slices and dashboards."),(0,s.kt)("p",null,"Also note that when Gamma users look at the dashboards and slices list view, they will\nonly see the objects that they have access to."),(0,s.kt)("h3",{id:"sql_lab"},"sql_lab"),(0,s.kt)("p",null,"The ",(0,s.kt)("strong",{parentName:"p"},"sql_lab")," role grants access to SQL Lab. Note that while ",(0,s.kt)("strong",{parentName:"p"},"Admin")," users have access\nto all databases by default, both ",(0,s.kt)("strong",{parentName:"p"},"Alpha")," and ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," users need to be given access on a per database basis."),(0,s.kt)("h3",{id:"public"},"Public"),(0,s.kt)("p",null,"To allow logged-out users to access some Superset features, you can use the ",(0,s.kt)("inlineCode",{parentName:"p"},"PUBLIC_ROLE_LIKE")," config setting and assign it to another role whose permissions you want passed to this role."),(0,s.kt)("p",null,"For example, by setting ",(0,s.kt)("inlineCode",{parentName:"p"},'PUBLIC_ROLE_LIKE = "Gamma"')," in your ",(0,s.kt)("inlineCode",{parentName:"p"},"superset_config.py")," file, you grant\npublic role the same set of permissions as for the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role. This is useful if one\nwants to enable anonymous users to view dashboards. Explicit grant on specific datasets is\nstill required, meaning that you need to edit the ",(0,s.kt)("strong",{parentName:"p"},"Public")," role and add the public data sources to the role manually."),(0,s.kt)("h3",{id:"managing-data-source-access-for-gamma-roles"},"Managing Data Source Access for Gamma Roles"),(0,s.kt)("p",null,"Here\u2019s how to provide users access to only specific datasets. First make sure the users with\nlimited access have ","[only]"," the Gamma role assigned to them. Second, create a new role (Menu -> Security -> List Roles) and click the + sign."),(0,s.kt)("p",null,"This new window allows you to give this new role a name, attribute it to users and select the\ntables in the ",(0,s.kt)("strong",{parentName:"p"},"Permissions")," dropdown. To select the data sources you want to associate with this role, simply click on the dropdown and use the typeahead to search for your table names."),(0,s.kt)("p",null,"You can then confirm with users assigned to the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role that they see the\nobjects (dashboards and slices) associated with the tables you just extended them."),(0,s.kt)("h3",{id:"customizing-permissions"},"Customizing Permissions"),(0,s.kt)("p",null,"The permissions exposed by FAB are very granular and allow for a great level of\ncustomization. FAB creates many permissions automagically for each model that is\ncreated (can_add, can_delete, can_show, can_edit, \u2026) as well as for each view.\nOn top of that, Superset can expose more granular permissions like ",(0,s.kt)("strong",{parentName:"p"},"all_datasource_access"),"."),(0,s.kt)("p",null,(0,s.kt)("strong",{parentName:"p"},"We do not recommend altering the 3 base roles as there are a set of assumptions that\nSuperset is built upon"),". It is possible though for you to create your own roles, and union them to existing ones."),(0,s.kt)("h3",{id:"permissions"},"Permissions"),(0,s.kt)("p",null,"Roles are composed of a set of permissions, and Superset has many categories of\npermissions. Here are the different categories of permissions:"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},"Model & Action: models are entities like Dashboard, Slice, or User. Each model has\na fixed set of permissions, like ",(0,s.kt)("strong",{parentName:"li"},"can_edit"),", ",(0,s.kt)("strong",{parentName:"li"},"can_show"),", ",(0,s.kt)("strong",{parentName:"li"},"can_delete"),", ",(0,s.kt)("strong",{parentName:"li"},"can_list"),", ",(0,s.kt)("strong",{parentName:"li"},"can_add"),",\nand so on. For example, you can allow a user to delete dashboards by adding ",(0,s.kt)("strong",{parentName:"li"},"can_delete")," on\nDashboard entity to a role and granting this user that role."),(0,s.kt)("li",{parentName:"ul"},"Views: views are individual web pages, like the Explore view or the SQL Lab view.\nWhen granted to a user, they will see that view in its menu items, and be able to load that page."),(0,s.kt)("li",{parentName:"ul"},"Data source: For each data source, a permission is created. If the user does not have the\n",(0,s.kt)("inlineCode",{parentName:"li"},"all_datasource_access permission")," granted, the user will only be able to see Slices or explore the data sources that are granted to them"),(0,s.kt)("li",{parentName:"ul"},"Database: Granting access to a database allows for the user to access all\ndata sources within that database, and will enable the user to query that\ndatabase in SQL Lab, provided that the SQL Lab specific permission have been granted to the user")),(0,s.kt)("h3",{id:"restricting-access-to-a-subset-of-data-sources"},"Restricting Access to a Subset of Data Sources"),(0,s.kt)("p",null,"We recommend giving a user the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role plus any other roles that would add\naccess to specific data sources. We recommend that you create individual roles for\neach access profile. For example, the users on the Finance team might have access to a set of\ndatabases and data sources; these permissions can be consolidated in a single role.\nUsers with this profile then need to be assigned the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role as a foundation to\nthe models and views they can access, and that Finance role that is a collection of permissions to data objects."),(0,s.kt)("p",null,"A user can have multiple roles associated with them. For example, an executive on the Finance\nteam could be granted ",(0,s.kt)("strong",{parentName:"p"},"Gamma"),", ",(0,s.kt)("strong",{parentName:"p"},"Finance"),", and the ",(0,s.kt)("strong",{parentName:"p"},"Executive")," roles. The ",(0,s.kt)("strong",{parentName:"p"},"Executive"),"\nrole could provide access to a set of data sources and dashboards made available only to executives.\nIn the ",(0,s.kt)("strong",{parentName:"p"},"Dashboards")," view, a user can only see the ones they have access too\nbased on the roles and permissions that were attributed."),(0,s.kt)("h3",{id:"row-level-security"},"Row Level Security"),(0,s.kt)("p",null,"Using Row Level Security filters (under the ",(0,s.kt)("strong",{parentName:"p"},"Security")," menu) you can create filters\nthat are assigned to a particular table, as well as a set of roles.\nIf you want members of the Finance team to only have access to\nrows where ",(0,s.kt)("inlineCode",{parentName:"p"},'department = "finance"'),", you could:"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},"Create a Row Level Security filter with that clause (",(0,s.kt)("inlineCode",{parentName:"li"},'department = "finance"'),")"),(0,s.kt)("li",{parentName:"ul"},"Then assign the clause to the ",(0,s.kt)("strong",{parentName:"li"},"Finance")," role and the table it applies to")),(0,s.kt)("p",null,"The ",(0,s.kt)("strong",{parentName:"p"},"clause")," field, which can contain arbitrary text, is then added to the generated\nSQL statement\u2019s WHERE clause. So you could even do something like create a filter\nfor the last 30 days and apply it to a specific role, with a clause\nlike ",(0,s.kt)("inlineCode",{parentName:"p"},"date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)"),". It can also support\nmultiple conditions: ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id = 6")," AND ",(0,s.kt)("inlineCode",{parentName:"p"},'advertiser="foo"'),", etc."),(0,s.kt)("p",null,"All relevant Row level security filters will be combined together (under the hood,\nthe different SQL clauses are combined using AND statements). This means it's\npossible to create a situation where two roles conflict in such a way as to limit a table subset to empty."),(0,s.kt)("p",null,"For example, the filters ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=4")," and ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=5"),", applied to a role,\nwill result in users of that role having ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=4")," AND ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=5"),"\nadded to their query, which can never be true."),(0,s.kt)("h3",{id:"content-security-policy-csp"},"Content Security Policy (CSP)"),(0,s.kt)("p",null,"Superset uses the ",(0,s.kt)("a",{parentName:"p",href:"https://pypi.org/project/flask-talisman/"},"Talisman")," extension to enable implementation of a\n",(0,s.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP"},"Content Security Policy (CSP)"),", an added\nlayer of security that helps to detect and mitigate certain types of attacks, including\nCross-Site Scripting (XSS) and data injection attacks."),(0,s.kt)("p",null,"A CSP makes it possible for server administrators to reduce or eliminate the vectors by which XSS can\noccur by specifying the domains that the browser should consider to be valid sources of executable scripts.\nA CSP-compatible browser will then only execute scripts loaded in source files received from those allowed domains,\nignoring all other scripts (including inline scripts and event-handling HTML attributes)."),(0,s.kt)("p",null,"A policy is described using a series of policy directives, each of which describes the policy for\na certain resource type or policy area. You can check possible directives\n",(0,s.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy"},"here"),"."),(0,s.kt)("p",null,"It's extremely important to correctly configure a Content Security Policy when deploying Superset to\nprevent many types of attacks. Superset provides two variables in ",(0,s.kt)("inlineCode",{parentName:"p"},"config.py")," for deploying a CSP:"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"TALISMAN_ENABLED")," defaults to ",(0,s.kt)("inlineCode",{parentName:"li"},"False"),"; set this to ",(0,s.kt)("inlineCode",{parentName:"li"},"True")," in order to implement a CSP"),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"TALISMAN_CONFIG")," holds the actual the policy definition (",(0,s.kt)("em",{parentName:"li"},"see example below"),") as well as any\nother arguments to be passed to Talisman.")),(0,s.kt)("p",null,"When running in production mode, Superset will check at startup for the presence\nof a CSP.  If one is not found, it will issue a warning with the security risks. For environments\nwhere CSP policies are defined outside of Superset using other software, administrators can disable\nthis warning using the ",(0,s.kt)("inlineCode",{parentName:"p"},"CONTENT_SECURITY_POLICY_WARNING")," key in ",(0,s.kt)("inlineCode",{parentName:"p"},"config.py"),"."),(0,s.kt)("h4",{id:"csp-requirements"},"CSP Requirements"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("p",{parentName:"li"},"Superset needs both the ",(0,s.kt)("inlineCode",{parentName:"p"},"'unsafe-eval'")," and ",(0,s.kt)("inlineCode",{parentName:"p"},"'unsafe-inline'")," CSP keywords in order to operate."),(0,s.kt)("pre",{parentName:"li"},(0,s.kt)("code",{parentName:"pre"},"default-src 'self' 'unsafe-eval' 'unsafe-inline'\n"))),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("p",{parentName:"li"},"Some dashboards load images using data URIs and require ",(0,s.kt)("inlineCode",{parentName:"p"},"data:")," in their ",(0,s.kt)("inlineCode",{parentName:"p"},"img-src")),(0,s.kt)("pre",{parentName:"li"},(0,s.kt)("code",{parentName:"pre"},"img-src 'self' data:\n"))),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("p",{parentName:"li"},"MapBox charts use workers and need to connect to MapBox servers in addition to the Superset origin"),(0,s.kt)("pre",{parentName:"li"},(0,s.kt)("code",{parentName:"pre"},"worker-src 'self' blob:\nconnect-src 'self' https://api.mapbox.com https://events.mapbox.com\n")))),(0,s.kt)("p",null,"This is a basic example ",(0,s.kt)("inlineCode",{parentName:"p"},"TALISMAN_CONFIG")," that implements the above requirements, uses ",(0,s.kt)("inlineCode",{parentName:"p"},"'self'")," to\nlimit content to the same origin as the Superset server, and disallows outdated HTML elements by\nsetting ",(0,s.kt)("inlineCode",{parentName:"p"},"object-src")," to ",(0,s.kt)("inlineCode",{parentName:"p"},"'none'"),"."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-python"},'TALISMAN_CONFIG = {\n    "content_security_policy": {\n        "default-src": ["\'self\'", "\'unsafe-inline\'", "\'unsafe-eval\'"],\n        "img-src": ["\'self\'", "data:"],\n        "worker-src": ["\'self\'", "blob:"],\n        "connect-src": ["\'self\'", "https://api.mapbox.com", "https://events.mapbox.com"],\n        "object-src": "\'none\'",\n    }\n}\n')),(0,s.kt)("h4",{id:"other-talisman-security-considerations"},"Other Talisman security considerations"),(0,s.kt)("p",null,"Setting ",(0,s.kt)("inlineCode",{parentName:"p"},"TALISMAN_ENABLED = True")," will invoke Talisman's protection with its default arguments,\nof which ",(0,s.kt)("inlineCode",{parentName:"p"},"content_security_policy")," is only one. Those can be found in the\n",(0,s.kt)("a",{parentName:"p",href:"https://pypi.org/project/flask-talisman/"},"Talisman documentation")," under ",(0,s.kt)("em",{parentName:"p"},"Options"),".\nThese generally improve security, but administrators should be aware of their existence."),(0,s.kt)("p",null,"In particular, the default option of ",(0,s.kt)("inlineCode",{parentName:"p"},"force_https = True")," may break Superset's Alerts & Reports\nif workers are configured to access charts via a ",(0,s.kt)("inlineCode",{parentName:"p"},"WEBDRIVER_BASEURL")," beginning\nwith ",(0,s.kt)("inlineCode",{parentName:"p"},"http://"),".  As long as a Superset deployment enforces https upstream, e.g.,\nthrough a loader balancer or application gateway, it should be acceptable to set this\noption to ",(0,s.kt)("inlineCode",{parentName:"p"},"False"),", like this:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-python"},'TALISMAN_CONFIG = {\n    "force_https": False,\n    "content_security_policy": { ...\n')),(0,s.kt)("h3",{id:"reporting-security-vulnerabilities"},"Reporting Security Vulnerabilities"),(0,s.kt)("p",null,"Apache Software Foundation takes a rigorous standpoint in annihilating the security issues in its\nsoftware projects. Apache Superset is highly sensitive and forthcoming to issues pertaining to its\nfeatures and functionality."),(0,s.kt)("p",null,"If you have apprehensions regarding Superset security or you discover vulnerability or potential\nthreat, don\u2019t hesitate to get in touch with the Apache Security Team by dropping a mail at\n",(0,s.kt)("a",{parentName:"p",href:"mailto:security@apache.org."},"security@apache.org.")," In the mail, specify the project name Superset with the description of the\nissue or potential threat. You are also urged to recommend the way to reproduce and replicate the\nissue. The security team and the Superset community will get back to you after assessing and\nanalysing the findings."),(0,s.kt)("p",null,"PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on\npublic domain. The ASF Security Team maintains a page with the description of how vulnerabilities\nand potential threats are handled, check their web page for more details."))}d.isMDXComponent=!0},3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){s(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,s=function(e,t){if(null==e)return{};var a,n,s={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(s[a]=e[a]);return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var l=n.createContext({}),c=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,s=e.mdxType,i=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(a),h=s,m=u["".concat(l,".").concat(h)]||u[h]||d[h]||i;return a?n.createElement(m,r(r({ref:t},p),{},{components:a})):n.createElement(m,r({ref:t},p))}));function m(e,t){var a=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var i=a.length,r=new Array(i);r[0]=h;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[u]="string"==typeof e?e:s,r[1]=o;for(var c=2;c<i;c++)r[c]=a[c];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"}}]);
\ No newline at end of file
diff --git a/assets/js/7d0180ef.a3f8d1a6.js b/assets/js/7d0180ef.a3f8d1a6.js
new file mode 100644
index 0000000..2495a8f
--- /dev/null
+++ b/assets/js/7d0180ef.a3f8d1a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[7277],{43458:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var n=a(83117),s=(a(67294),a(3905));const i={title:"Security",hide_title:!0,sidebar_position:10},r=void 0,o={unversionedId:"security",id:"security",title:"Security",description:"Roles",source:"@site/docs/security.mdx",sourceDirName:".",slug:"/security",permalink:"/docs/security",draft:!1,editUrl:"https://github.com/apache/superset/tree/master/docs/docs/security.mdx",tags:[],version:"current",sidebarPosition:10,frontMatter:{title:"Security",hide_title:!0,sidebar_position:10},sidebar:"tutorialSidebar",previous:{title:"API",permalink:"/docs/api"}},l={},c=[{value:"Roles",id:"roles",level:3},{value:"Provided Roles",id:"provided-roles",level:3},{value:"Admin",id:"admin",level:3},{value:"Alpha",id:"alpha",level:3},{value:"Gamma",id:"gamma",level:3},{value:"sql_lab",id:"sql_lab",level:3},{value:"Public",id:"public",level:3},{value:"Managing Data Source Access for Gamma Roles",id:"managing-data-source-access-for-gamma-roles",level:3},{value:"Customizing Permissions",id:"customizing-permissions",level:3},{value:"Permissions",id:"permissions",level:3},{value:"Restricting Access to a Subset of Data Sources",id:"restricting-access-to-a-subset-of-data-sources",level:3},{value:"Row Level Security",id:"row-level-security",level:3},{value:"Content Security Policy (CSP)",id:"content-security-policy-csp",level:3},{value:"CSP Requirements",id:"csp-requirements",level:4},{value:"Other Talisman security considerations",id:"other-talisman-security-considerations",level:4},{value:"Reporting Security Vulnerabilities",id:"reporting-security-vulnerabilities",level:3}],p={toc:c},u="wrapper";function d(e){let{components:t,...a}=e;return(0,s.kt)(u,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h3",{id:"roles"},"Roles"),(0,s.kt)("p",null,"Security in Superset is handled by Flask AppBuilder (FAB), an application development framework\nbuilt on top of Flask. FAB provides authentication, user management, permissions and roles.\nPlease read its ",(0,s.kt)("a",{parentName:"p",href:"https://flask-appbuilder.readthedocs.io/en/latest/security.html"},"Security documentation"),"."),(0,s.kt)("h3",{id:"provided-roles"},"Provided Roles"),(0,s.kt)("p",null,"Superset ships with a set of roles that are handled by Superset itself. You can assume\nthat these roles will stay up-to-date as Superset evolves (and as you update Superset versions)."),(0,s.kt)("p",null,"Even though ",(0,s.kt)("strong",{parentName:"p"},"Admin")," users have the ability, we don't recommend altering the\npermissions associated with each role (e.g. by removing or adding permissions to them). The permissions\nassociated with each role will be re-synchronized to their original values when you run\nthe ",(0,s.kt)("strong",{parentName:"p"},"superset init")," command (often done between Superset versions)."),(0,s.kt)("p",null,"A table with the permissions for these roles can be found at ",(0,s.kt)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/RESOURCES/STANDARD_ROLES.md"},"/RESOURCES/STANDARD_ROLES.md"),"."),(0,s.kt)("h3",{id:"admin"},"Admin"),(0,s.kt)("p",null,"Admins have all possible rights, including granting or revoking rights from other\nusers and altering other people\u2019s slices and dashboards."),(0,s.kt)("h3",{id:"alpha"},"Alpha"),(0,s.kt)("p",null,"Alpha users have access to all data sources, but they cannot grant or revoke access\nfrom other users. They are also limited to altering the objects that they own. Alpha users can add and alter data sources."),(0,s.kt)("h3",{id:"gamma"},"Gamma"),(0,s.kt)("p",null,"Gamma users have limited access. They can only consume data coming from data sources\nthey have been given access to through another complementary role. They only have access to\nview the slices and dashboards made from data sources that they have access to. Currently Gamma\nusers are not able to alter or add data sources. We assume that they are mostly content consumers, though they can create slices and dashboards."),(0,s.kt)("p",null,"Also note that when Gamma users look at the dashboards and slices list view, they will\nonly see the objects that they have access to."),(0,s.kt)("h3",{id:"sql_lab"},"sql_lab"),(0,s.kt)("p",null,"The ",(0,s.kt)("strong",{parentName:"p"},"sql_lab")," role grants access to SQL Lab. Note that while ",(0,s.kt)("strong",{parentName:"p"},"Admin")," users have access\nto all databases by default, both ",(0,s.kt)("strong",{parentName:"p"},"Alpha")," and ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," users need to be given access on a per database basis."),(0,s.kt)("h3",{id:"public"},"Public"),(0,s.kt)("p",null,"To allow logged-out users to access some Superset features, you can use the ",(0,s.kt)("inlineCode",{parentName:"p"},"PUBLIC_ROLE_LIKE")," config setting and assign it to another role whose permissions you want passed to this role."),(0,s.kt)("p",null,"For example, by setting ",(0,s.kt)("inlineCode",{parentName:"p"},'PUBLIC_ROLE_LIKE = "Gamma"')," in your ",(0,s.kt)("inlineCode",{parentName:"p"},"superset_config.py")," file, you grant\npublic role the same set of permissions as for the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role. This is useful if one\nwants to enable anonymous users to view dashboards. Explicit grant on specific datasets is\nstill required, meaning that you need to edit the ",(0,s.kt)("strong",{parentName:"p"},"Public")," role and add the public data sources to the role manually."),(0,s.kt)("h3",{id:"managing-data-source-access-for-gamma-roles"},"Managing Data Source Access for Gamma Roles"),(0,s.kt)("p",null,"Here\u2019s how to provide users access to only specific datasets. First make sure the users with\nlimited access have ","[only]"," the Gamma role assigned to them. Second, create a new role (Menu -> Security -> List Roles) and click the + sign."),(0,s.kt)("p",null,"This new window allows you to give this new role a name, attribute it to users and select the\ntables in the ",(0,s.kt)("strong",{parentName:"p"},"Permissions")," dropdown. To select the data sources you want to associate with this role, simply click on the dropdown and use the typeahead to search for your table names."),(0,s.kt)("p",null,"You can then confirm with users assigned to the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role that they see the\nobjects (dashboards and slices) associated with the tables you just extended them."),(0,s.kt)("h3",{id:"customizing-permissions"},"Customizing Permissions"),(0,s.kt)("p",null,"The permissions exposed by FAB are very granular and allow for a great level of\ncustomization. FAB creates many permissions automagically for each model that is\ncreated (can_add, can_delete, can_show, can_edit, \u2026) as well as for each view.\nOn top of that, Superset can expose more granular permissions like ",(0,s.kt)("strong",{parentName:"p"},"all_datasource_access"),"."),(0,s.kt)("p",null,(0,s.kt)("strong",{parentName:"p"},"We do not recommend altering the 3 base roles as there are a set of assumptions that\nSuperset is built upon"),". It is possible though for you to create your own roles, and union them to existing ones."),(0,s.kt)("h3",{id:"permissions"},"Permissions"),(0,s.kt)("p",null,"Roles are composed of a set of permissions, and Superset has many categories of\npermissions. Here are the different categories of permissions:"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},"Model & Action: models are entities like Dashboard, Slice, or User. Each model has\na fixed set of permissions, like ",(0,s.kt)("strong",{parentName:"li"},"can_edit"),", ",(0,s.kt)("strong",{parentName:"li"},"can_show"),", ",(0,s.kt)("strong",{parentName:"li"},"can_delete"),", ",(0,s.kt)("strong",{parentName:"li"},"can_list"),", ",(0,s.kt)("strong",{parentName:"li"},"can_add"),",\nand so on. For example, you can allow a user to delete dashboards by adding ",(0,s.kt)("strong",{parentName:"li"},"can_delete")," on\nDashboard entity to a role and granting this user that role."),(0,s.kt)("li",{parentName:"ul"},"Views: views are individual web pages, like the Explore view or the SQL Lab view.\nWhen granted to a user, they will see that view in its menu items, and be able to load that page."),(0,s.kt)("li",{parentName:"ul"},"Data source: For each data source, a permission is created. If the user does not have the\n",(0,s.kt)("inlineCode",{parentName:"li"},"all_datasource_access permission")," granted, the user will only be able to see Slices or explore the data sources that are granted to them"),(0,s.kt)("li",{parentName:"ul"},"Database: Granting access to a database allows for the user to access all\ndata sources within that database, and will enable the user to query that\ndatabase in SQL Lab, provided that the SQL Lab specific permission have been granted to the user")),(0,s.kt)("h3",{id:"restricting-access-to-a-subset-of-data-sources"},"Restricting Access to a Subset of Data Sources"),(0,s.kt)("p",null,"We recommend giving a user the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role plus any other roles that would add\naccess to specific data sources. We recommend that you create individual roles for\neach access profile. For example, the users on the Finance team might have access to a set of\ndatabases and data sources; these permissions can be consolidated in a single role.\nUsers with this profile then need to be assigned the ",(0,s.kt)("strong",{parentName:"p"},"Gamma")," role as a foundation to\nthe models and views they can access, and that Finance role that is a collection of permissions to data objects."),(0,s.kt)("p",null,"A user can have multiple roles associated with them. For example, an executive on the Finance\nteam could be granted ",(0,s.kt)("strong",{parentName:"p"},"Gamma"),", ",(0,s.kt)("strong",{parentName:"p"},"Finance"),", and the ",(0,s.kt)("strong",{parentName:"p"},"Executive")," roles. The ",(0,s.kt)("strong",{parentName:"p"},"Executive"),"\nrole could provide access to a set of data sources and dashboards made available only to executives.\nIn the ",(0,s.kt)("strong",{parentName:"p"},"Dashboards")," view, a user can only see the ones they have access too\nbased on the roles and permissions that were attributed."),(0,s.kt)("h3",{id:"row-level-security"},"Row Level Security"),(0,s.kt)("p",null,"Using Row Level Security filters (under the ",(0,s.kt)("strong",{parentName:"p"},"Security")," menu) you can create filters\nthat are assigned to a particular table, as well as a set of roles.\nIf you want members of the Finance team to only have access to\nrows where ",(0,s.kt)("inlineCode",{parentName:"p"},'department = "finance"'),", you could:"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},"Create a Row Level Security filter with that clause (",(0,s.kt)("inlineCode",{parentName:"li"},'department = "finance"'),")"),(0,s.kt)("li",{parentName:"ul"},"Then assign the clause to the ",(0,s.kt)("strong",{parentName:"li"},"Finance")," role and the table it applies to")),(0,s.kt)("p",null,"The ",(0,s.kt)("strong",{parentName:"p"},"clause")," field, which can contain arbitrary text, is then added to the generated\nSQL statement\u2019s WHERE clause. So you could even do something like create a filter\nfor the last 30 days and apply it to a specific role, with a clause\nlike ",(0,s.kt)("inlineCode",{parentName:"p"},"date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)"),". It can also support\nmultiple conditions: ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id = 6")," AND ",(0,s.kt)("inlineCode",{parentName:"p"},'advertiser="foo"'),", etc."),(0,s.kt)("p",null,"All relevant Row level security filters will be combined together (under the hood,\nthe different SQL clauses are combined using AND statements). This means it's\npossible to create a situation where two roles conflict in such a way as to limit a table subset to empty."),(0,s.kt)("p",null,"For example, the filters ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=4")," and ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=5"),", applied to a role,\nwill result in users of that role having ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=4")," AND ",(0,s.kt)("inlineCode",{parentName:"p"},"client_id=5"),"\nadded to their query, which can never be true."),(0,s.kt)("h3",{id:"content-security-policy-csp"},"Content Security Policy (CSP)"),(0,s.kt)("p",null,"Superset uses the ",(0,s.kt)("a",{parentName:"p",href:"https://pypi.org/project/flask-talisman/"},"Talisman")," extension to enable implementation of a\n",(0,s.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP"},"Content Security Policy (CSP)"),", an added\nlayer of security that helps to detect and mitigate certain types of attacks, including\nCross-Site Scripting (XSS) and data injection attacks."),(0,s.kt)("p",null,"A CSP makes it possible for server administrators to reduce or eliminate the vectors by which XSS can\noccur by specifying the domains that the browser should consider to be valid sources of executable scripts.\nA CSP-compatible browser will then only execute scripts loaded in source files received from those allowed domains,\nignoring all other scripts (including inline scripts and event-handling HTML attributes)."),(0,s.kt)("p",null,"A policy is described using a series of policy directives, each of which describes the policy for\na certain resource type or policy area. You can check possible directives\n",(0,s.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy"},"here"),"."),(0,s.kt)("p",null,"It's extremely important to correctly configure a Content Security Policy when deploying Superset to\nprevent many types of attacks. Superset provides two variables in ",(0,s.kt)("inlineCode",{parentName:"p"},"config.py")," for deploying a CSP:"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"TALISMAN_ENABLED")," defaults to ",(0,s.kt)("inlineCode",{parentName:"li"},"False"),"; set this to ",(0,s.kt)("inlineCode",{parentName:"li"},"True")," in order to implement a CSP"),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"TALISMAN_CONFIG")," holds the actual the policy definition (",(0,s.kt)("em",{parentName:"li"},"see example below"),") as well as any\nother arguments to be passed to Talisman.")),(0,s.kt)("p",null,"When running in production mode, Superset will check at startup for the presence\nof a CSP.  If one is not found, it will issue a warning with the security risks. For environments\nwhere CSP policies are defined outside of Superset using other software, administrators can disable\nthis warning using the ",(0,s.kt)("inlineCode",{parentName:"p"},"CONTENT_SECURITY_POLICY_WARNING")," key in ",(0,s.kt)("inlineCode",{parentName:"p"},"config.py"),"."),(0,s.kt)("h4",{id:"csp-requirements"},"CSP Requirements"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("p",{parentName:"li"},"Superset needs both the ",(0,s.kt)("inlineCode",{parentName:"p"},"'unsafe-eval'")," and ",(0,s.kt)("inlineCode",{parentName:"p"},"'unsafe-inline'")," CSP keywords in order to operate."),(0,s.kt)("pre",{parentName:"li"},(0,s.kt)("code",{parentName:"pre"},"default-src 'self' 'unsafe-eval' 'unsafe-inline'\n"))),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("p",{parentName:"li"},"Some dashboards load images using data URIs and require ",(0,s.kt)("inlineCode",{parentName:"p"},"data:")," in their ",(0,s.kt)("inlineCode",{parentName:"p"},"img-src")),(0,s.kt)("pre",{parentName:"li"},(0,s.kt)("code",{parentName:"pre"},"img-src 'self' data:\n"))),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("p",{parentName:"li"},"MapBox charts use workers and need to connect to MapBox servers in addition to the Superset origin"),(0,s.kt)("pre",{parentName:"li"},(0,s.kt)("code",{parentName:"pre"},"worker-src 'self' blob:\nconnect-src 'self' https://api.mapbox.com https://events.mapbox.com\n")))),(0,s.kt)("p",null,"This is a basic example ",(0,s.kt)("inlineCode",{parentName:"p"},"TALISMAN_CONFIG")," that implements the above requirements, uses ",(0,s.kt)("inlineCode",{parentName:"p"},"'self'")," to\nlimit content to the same origin as the Superset server, and disallows outdated HTML elements by\nsetting ",(0,s.kt)("inlineCode",{parentName:"p"},"object-src")," to ",(0,s.kt)("inlineCode",{parentName:"p"},"'none'"),"."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-python"},'TALISMAN_CONFIG = {\n    "content_security_policy": {\n        "default-src": ["\'self\'", "\'unsafe-inline\'", "\'unsafe-eval\'"],\n        "img-src": ["\'self\'", "data:"],\n        "worker-src": ["\'self\'", "blob:"],\n        "connect-src": ["\'self\'", "https://api.mapbox.com", "https://events.mapbox.com"],\n        "object-src": "\'none\'",\n    }\n}\n')),(0,s.kt)("h4",{id:"other-talisman-security-considerations"},"Other Talisman security considerations"),(0,s.kt)("p",null,"Setting ",(0,s.kt)("inlineCode",{parentName:"p"},"TALISMAN_ENABLED = True")," will invoke Talisman's protection with its default arguments,\nof which ",(0,s.kt)("inlineCode",{parentName:"p"},"content_security_policy")," is only one. Those can be found in the\n",(0,s.kt)("a",{parentName:"p",href:"https://pypi.org/project/flask-talisman/"},"Talisman documentation")," under ",(0,s.kt)("em",{parentName:"p"},"Options"),".\nThese generally improve security, but administrators should be aware of their existence."),(0,s.kt)("p",null,"In particular, the default option of ",(0,s.kt)("inlineCode",{parentName:"p"},"force_https = True")," may break Superset's Alerts & Reports\nif workers are configured to access charts via a ",(0,s.kt)("inlineCode",{parentName:"p"},"WEBDRIVER_BASEURL")," beginning\nwith ",(0,s.kt)("inlineCode",{parentName:"p"},"http://"),".  As long as a Superset deployment enforces https upstream, e.g.,\nthrough a loader balancer or application gateway, it should be acceptable to set this\noption to ",(0,s.kt)("inlineCode",{parentName:"p"},"False"),", like this:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-python"},'TALISMAN_CONFIG = {\n    "force_https": False,\n    "content_security_policy": { ...\n')),(0,s.kt)("h3",{id:"reporting-security-vulnerabilities"},"Reporting Security Vulnerabilities"),(0,s.kt)("p",null,"Apache Software Foundation takes a rigorous standpoint in annihilating the security issues in its\nsoftware projects. Apache Superset is highly sensitive and forthcoming to issues pertaining to its\nfeatures and functionality."),(0,s.kt)("p",null,"If you have apprehensions regarding Superset security or you discover vulnerability or potential\nthreat, don\u2019t hesitate to get in touch with the Apache Security Team by dropping a mail at\n",(0,s.kt)("a",{parentName:"p",href:"mailto:security@apache.org."},"security@apache.org.")," In the mail, specify the project name Superset with the description of the\nissue or potential threat. You are also urged to recommend the way to reproduce and replicate the\nissue. The security team and the Superset community will get back to you after assessing and\nanalysing the findings."),(0,s.kt)("p",null,"PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on\npublic domain. The ASF Security Team maintains a page with the description of how vulnerabilities\nand potential threats are handled, check their web page for more details."))}d.isMDXComponent=!0},3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){s(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,s=function(e,t){if(null==e)return{};var a,n,s={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(s[a]=e[a]);return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var l=n.createContext({}),c=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,s=e.mdxType,i=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(a),h=s,m=u["".concat(l,".").concat(h)]||u[h]||d[h]||i;return a?n.createElement(m,r(r({ref:t},p),{},{components:a})):n.createElement(m,r({ref:t},p))}));function m(e,t){var a=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var i=a.length,r=new Array(i);r[0]=h;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[u]="string"==typeof e?e:s,r[1]=o;for(var c=2;c<i;c++)r[c]=a[c];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.385e4d6d.js b/assets/js/runtime~main.f7bd5553.js
similarity index 98%
rename from assets/js/runtime~main.385e4d6d.js
rename to assets/js/runtime~main.f7bd5553.js
index 04b85a3..13aa3a4 100644
--- a/assets/js/runtime~main.385e4d6d.js
+++ b/assets/js/runtime~main.f7bd5553.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",112:"afef705c",229:"25f17725",340:"070b53d1",396:"0ae8b3d4",515:"53bb5fc4",599:"3c585fdb",674:"67158350",907:"c1424005",1083:"bd23e567",1444:"69a4ab96",1533:"6edc47f3",1964:"5e15fec9",2331:"19682bb8",2429:"d5417e33",2942:"eb23a929",3085:"1f391b9e",3206:"f8409a7e",3237:"1df93b7f",3628:"fa1a3aa0",3672:"cf6ffe2f",3775:"496bf018",3821:"21b4b958",3909:"cd90435d",3945:"a309f86e",3996:"9791fd42",4003:"6432bc55",4014:"5e50ba72",4096:"c76f729d",4244:"4cc2c078",4281:"1c734f75",4343:"18cf5ace",4490:"262418cd",4519:"2c412ea7",4586:"dc3fdd24",4628:"1ce51947",4729:"0c21af39",4796:"471df853",4992:"dc737160",5097:"a584ba2a",5114:"5ea65e65",5324:"a9e1a7f6",5542:"729f57ad",5551:"da60bc8f",5643:"30334fcd",5720:"30256b0d",5851:"8660bbc8",5906:"e7c796a6",6126:"e0a8f778",6230:"2bafca50",6455:"4e664dc4",6547:"1c42a294",6552:"6948bca1",6849:"57b59cd4",6860:"dbb131dd",7107:"d76e6194",7251:"9d6fd8ea",7271:"6a90d500",7277:"7d0180ef",7285:"b92f705c",7380:"640bc8a0",7414:"393be207",7566:"972382ea",7587:"3ec2c3f7",7600:"2461ffa2",7706:"ce3fa444",7886:"5818c28e",7918:"17896441",7920:"1a4e3797",7937:"9a9c044b",8005:"600a9360",8015:"0e9953cd",8342:"eb3b0997",8402:"3c835dee",8561:"07f0ce13",8597:"f4a6e698",8718:"31e90f3c",8784:"35a5de3c",8835:"36ea7a08",8844:"b46ab14b",8853:"c296437a",8888:"ee5d850a",8915:"f9cc156b",9243:"40974919",9317:"f5f07875",9514:"1be78505",9594:"507542a3",9596:"88eaec5a",9617:"d83b78fc",9623:"904d61ef",9822:"fe0957ee"}[e]||e)+"."+{53:"0a52e4bc",112:"358a028d",229:"382b9496",340:"9cc85523",396:"3b16af85",515:"d6fdf9a0",599:"9537086e",674:"78305603",713:"08ec91a0",907:"c8d4c244",975:"f74fc572",1083:"dc758238",1273:"c177fe37",1444:"defa8f0b",1533:"f737762f",1964:"c964b7f9",2331:"071c2780",2429:"7d9140aa",2942:"7e9562fc",3085:"a119d87d",3206:"23d8ca4e",3237:"44e4ecaf",3628:"1d62b77b",3672:"2621ec01",3775:"c0c9431f",3821:"4457daf7",3909:"91d22190",3945:"fd5212eb",3996:"b79f756c",4003:"ace5d07c",4014:"e794fd15",4096:"c85e22b7",4244:"34c9efec",4281:"8ed56248",4343:"e12f7ce7",4357:"a9a42ea8",4471:"bf33ef73",4490:"d10e768c",4519:"572b18fc",4586:"d0edfdb9",4628:"9c631359",4729:"2a013c27",4796:"87918a03",4973:"ecf501a2",4992:"6c3753ae",5097:"a786479b",5114:"ffa26b77",5324:"ae372661",5394:"95d44d15",5542:"de0a6f3f",5551:"18262bd8",5643:"b5a32572",5720:"be106e3e",5851:"72e68519",5906:"c9b2ac21",6126:"c43c04dc",6230:"7f7fb7ca",6455:"426e997b",6547:"6bff09cc",6552:"88386997",6780:"ba84af4e",6849:"ea31184a",6860:"1017aaa0",6945:"d18f3d89",7107:"54d240ef",7129:"b548d352",7251:"9ebcbca9",7271:"cd42f906",7277:"1435de93",7285:"acf7ccf0",7380:"bb2d05f6",7414:"20dae7da",7566:"391f2ca7",7587:"6f37a44b",7600:"dd59a17d",7706:"d6f25186",7886:"7628cfa8",7918:"336fd947",7920:"8d0252eb",7937:"9da8e8a6",8005:"70a9ed59",8015:"040c3b57",8342:"0b80b096",8402:"63cab2ea",8484:"e1361c9f",8505:"84cb98eb",8561:"4aefae82",8597:"891ffbff",8718:"a0004b49",8784:"cc424d0a",8835:"d6f7b0e2",8844:"0b23475f",8853:"7dc8f3c7",8888:"4771d3bc",8915:"d1251bcf",9243:"0f389e0e",9317:"b65133c7",9514:"8604cd1a",9594:"1b727597",9596:"0ba04755",9617:"71850fcd",9623:"107093cb",9822:"690bfe75"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs-v-2:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+c){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),f[e]=[a];var u=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"7918",40974919:"9243",67158350:"674","935f2afb":"53",afef705c:"112","25f17725":"229","070b53d1":"340","0ae8b3d4":"396","53bb5fc4":"515","3c585fdb":"599",c1424005:"907",bd23e567:"1083","69a4ab96":"1444","6edc47f3":"1533","5e15fec9":"1964","19682bb8":"2331",d5417e33:"2429",eb23a929:"2942","1f391b9e":"3085",f8409a7e:"3206","1df93b7f":"3237",fa1a3aa0:"3628",cf6ffe2f:"3672","496bf018":"3775","21b4b958":"3821",cd90435d:"3909",a309f86e:"3945","9791fd42":"3996","6432bc55":"4003","5e50ba72":"4014",c76f729d:"4096","4cc2c078":"4244","1c734f75":"4281","18cf5ace":"4343","262418cd":"4490","2c412ea7":"4519",dc3fdd24:"4586","1ce51947":"4628","0c21af39":"4729","471df853":"4796",dc737160:"4992",a584ba2a:"5097","5ea65e65":"5114",a9e1a7f6:"5324","729f57ad":"5542",da60bc8f:"5551","30334fcd":"5643","30256b0d":"5720","8660bbc8":"5851",e7c796a6:"5906",e0a8f778:"6126","2bafca50":"6230","4e664dc4":"6455","1c42a294":"6547","6948bca1":"6552","57b59cd4":"6849",dbb131dd:"6860",d76e6194:"7107","9d6fd8ea":"7251","6a90d500":"7271","7d0180ef":"7277",b92f705c:"7285","640bc8a0":"7380","393be207":"7414","972382ea":"7566","3ec2c3f7":"7587","2461ffa2":"7600",ce3fa444:"7706","5818c28e":"7886","1a4e3797":"7920","9a9c044b":"7937","600a9360":"8005","0e9953cd":"8015",eb3b0997:"8342","3c835dee":"8402","07f0ce13":"8561",f4a6e698:"8597","31e90f3c":"8718","35a5de3c":"8784","36ea7a08":"8835",b46ab14b:"8844",c296437a:"8853",ee5d850a:"8888",f9cc156b:"8915",f5f07875:"9317","1be78505":"9514","507542a3":"9594","88eaec5a":"9596",d83b78fc:"9617","904d61ef":"9623",fe0957ee:"9822"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
+(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",112:"afef705c",229:"25f17725",340:"070b53d1",396:"0ae8b3d4",515:"53bb5fc4",599:"3c585fdb",674:"67158350",907:"c1424005",1083:"bd23e567",1444:"69a4ab96",1533:"6edc47f3",1964:"5e15fec9",2331:"19682bb8",2429:"d5417e33",2942:"eb23a929",3085:"1f391b9e",3206:"f8409a7e",3237:"1df93b7f",3628:"fa1a3aa0",3672:"cf6ffe2f",3775:"496bf018",3821:"21b4b958",3909:"cd90435d",3945:"a309f86e",3996:"9791fd42",4003:"6432bc55",4014:"5e50ba72",4096:"c76f729d",4244:"4cc2c078",4281:"1c734f75",4343:"18cf5ace",4490:"262418cd",4519:"2c412ea7",4586:"dc3fdd24",4628:"1ce51947",4729:"0c21af39",4796:"471df853",4992:"dc737160",5097:"a584ba2a",5114:"5ea65e65",5324:"a9e1a7f6",5542:"729f57ad",5551:"da60bc8f",5643:"30334fcd",5720:"30256b0d",5851:"8660bbc8",5906:"e7c796a6",6126:"e0a8f778",6230:"2bafca50",6455:"4e664dc4",6547:"1c42a294",6552:"6948bca1",6849:"57b59cd4",6860:"dbb131dd",7107:"d76e6194",7251:"9d6fd8ea",7271:"6a90d500",7277:"7d0180ef",7285:"b92f705c",7380:"640bc8a0",7414:"393be207",7566:"972382ea",7587:"3ec2c3f7",7600:"2461ffa2",7706:"ce3fa444",7886:"5818c28e",7918:"17896441",7920:"1a4e3797",7937:"9a9c044b",8005:"600a9360",8015:"0e9953cd",8342:"eb3b0997",8402:"3c835dee",8561:"07f0ce13",8597:"f4a6e698",8718:"31e90f3c",8784:"35a5de3c",8835:"36ea7a08",8844:"b46ab14b",8853:"c296437a",8888:"ee5d850a",8915:"f9cc156b",9243:"40974919",9317:"f5f07875",9514:"1be78505",9594:"507542a3",9596:"88eaec5a",9617:"d83b78fc",9623:"904d61ef",9822:"fe0957ee"}[e]||e)+"."+{53:"0a52e4bc",112:"358a028d",229:"382b9496",340:"9cc85523",396:"3b16af85",515:"d6fdf9a0",599:"9537086e",674:"78305603",713:"08ec91a0",907:"c8d4c244",975:"f74fc572",1083:"dc758238",1273:"c177fe37",1444:"defa8f0b",1533:"f737762f",1964:"c964b7f9",2331:"071c2780",2429:"7d9140aa",2942:"7e9562fc",3085:"a119d87d",3206:"23d8ca4e",3237:"44e4ecaf",3628:"1d62b77b",3672:"2621ec01",3775:"c0c9431f",3821:"4457daf7",3909:"91d22190",3945:"fd5212eb",3996:"b79f756c",4003:"ace5d07c",4014:"e794fd15",4096:"c85e22b7",4244:"34c9efec",4281:"8ed56248",4343:"e12f7ce7",4357:"a9a42ea8",4471:"bf33ef73",4490:"d10e768c",4519:"572b18fc",4586:"d0edfdb9",4628:"9c631359",4729:"2a013c27",4796:"87918a03",4973:"ecf501a2",4992:"6c3753ae",5097:"a786479b",5114:"ffa26b77",5324:"ae372661",5394:"95d44d15",5542:"de0a6f3f",5551:"18262bd8",5643:"b5a32572",5720:"be106e3e",5851:"72e68519",5906:"c9b2ac21",6126:"c43c04dc",6230:"7f7fb7ca",6455:"426e997b",6547:"6bff09cc",6552:"88386997",6780:"ba84af4e",6849:"ea31184a",6860:"1017aaa0",6945:"d18f3d89",7107:"54d240ef",7129:"b548d352",7251:"9ebcbca9",7271:"cd42f906",7277:"a3f8d1a6",7285:"acf7ccf0",7380:"bb2d05f6",7414:"20dae7da",7566:"391f2ca7",7587:"6f37a44b",7600:"dd59a17d",7706:"d6f25186",7886:"7628cfa8",7918:"336fd947",7920:"8d0252eb",7937:"9da8e8a6",8005:"70a9ed59",8015:"040c3b57",8342:"0b80b096",8402:"63cab2ea",8484:"e1361c9f",8505:"84cb98eb",8561:"4aefae82",8597:"891ffbff",8718:"a0004b49",8784:"cc424d0a",8835:"d6f7b0e2",8844:"0b23475f",8853:"7dc8f3c7",8888:"4771d3bc",8915:"d1251bcf",9243:"0f389e0e",9317:"b65133c7",9514:"8604cd1a",9594:"1b727597",9596:"0ba04755",9617:"71850fcd",9623:"107093cb",9822:"690bfe75"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs-v-2:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+c){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),f[e]=[a];var u=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"7918",40974919:"9243",67158350:"674","935f2afb":"53",afef705c:"112","25f17725":"229","070b53d1":"340","0ae8b3d4":"396","53bb5fc4":"515","3c585fdb":"599",c1424005:"907",bd23e567:"1083","69a4ab96":"1444","6edc47f3":"1533","5e15fec9":"1964","19682bb8":"2331",d5417e33:"2429",eb23a929:"2942","1f391b9e":"3085",f8409a7e:"3206","1df93b7f":"3237",fa1a3aa0:"3628",cf6ffe2f:"3672","496bf018":"3775","21b4b958":"3821",cd90435d:"3909",a309f86e:"3945","9791fd42":"3996","6432bc55":"4003","5e50ba72":"4014",c76f729d:"4096","4cc2c078":"4244","1c734f75":"4281","18cf5ace":"4343","262418cd":"4490","2c412ea7":"4519",dc3fdd24:"4586","1ce51947":"4628","0c21af39":"4729","471df853":"4796",dc737160:"4992",a584ba2a:"5097","5ea65e65":"5114",a9e1a7f6:"5324","729f57ad":"5542",da60bc8f:"5551","30334fcd":"5643","30256b0d":"5720","8660bbc8":"5851",e7c796a6:"5906",e0a8f778:"6126","2bafca50":"6230","4e664dc4":"6455","1c42a294":"6547","6948bca1":"6552","57b59cd4":"6849",dbb131dd:"6860",d76e6194:"7107","9d6fd8ea":"7251","6a90d500":"7271","7d0180ef":"7277",b92f705c:"7285","640bc8a0":"7380","393be207":"7414","972382ea":"7566","3ec2c3f7":"7587","2461ffa2":"7600",ce3fa444:"7706","5818c28e":"7886","1a4e3797":"7920","9a9c044b":"7937","600a9360":"8005","0e9953cd":"8015",eb3b0997:"8342","3c835dee":"8402","07f0ce13":"8561",f4a6e698:"8597","31e90f3c":"8718","35a5de3c":"8784","36ea7a08":"8835",b46ab14b:"8844",c296437a:"8853",ee5d850a:"8888",f9cc156b:"8915",f5f07875:"9317","1be78505":"9514","507542a3":"9594","88eaec5a":"9596",d83b78fc:"9617","904d61ef":"9623",fe0957ee:"9822"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index b8d0691..575079e 100644
--- a/community/index.html
+++ b/community/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/api/index.html b/docs/api/index.html
index 0527a0b..540c2ec 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/contributing-page/index.html b/docs/contributing/contributing-page/index.html
index cb5c07a..7272abf 100644
--- a/docs/contributing/contributing-page/index.html
+++ b/docs/contributing/contributing-page/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/conventions-and-typing/index.html b/docs/contributing/conventions-and-typing/index.html
index 9331614..7285ed9 100644
--- a/docs/contributing/conventions-and-typing/index.html
+++ b/docs/contributing/conventions-and-typing/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/creating-viz-plugins/index.html b/docs/contributing/creating-viz-plugins/index.html
index 4bdded0..5955c75 100644
--- a/docs/contributing/creating-viz-plugins/index.html
+++ b/docs/contributing/creating-viz-plugins/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -51,7 +51,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/hooks-and-linting/index.html b/docs/contributing/hooks-and-linting/index.html
index 332832e..f4cc056 100644
--- a/docs/contributing/hooks-and-linting/index.html
+++ b/docs/contributing/hooks-and-linting/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/local-backend/index.html b/docs/contributing/local-backend/index.html
index d4b3282..8b1edca 100644
--- a/docs/contributing/local-backend/index.html
+++ b/docs/contributing/local-backend/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/pull-request-guidelines/index.html b/docs/contributing/pull-request-guidelines/index.html
index f259668..e3de314 100644
--- a/docs/contributing/pull-request-guidelines/index.html
+++ b/docs/contributing/pull-request-guidelines/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/style-guide/index.html b/docs/contributing/style-guide/index.html
index 70a1c5d..996cb2c 100644
--- a/docs/contributing/style-guide/index.html
+++ b/docs/contributing/style-guide/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/testing-locally/index.html b/docs/contributing/testing-locally/index.html
index c8afaab..0fcfc0c 100644
--- a/docs/contributing/testing-locally/index.html
+++ b/docs/contributing/testing-locally/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/translations/index.html b/docs/contributing/translations/index.html
index e2faa85..a0d63b8 100644
--- a/docs/contributing/translations/index.html
+++ b/docs/contributing/translations/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -66,7 +66,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/types-of-contributions/index.html b/docs/contributing/types-of-contributions/index.html
index 68e0aaf..86ec94f 100644
--- a/docs/contributing/types-of-contributions/index.html
+++ b/docs/contributing/types-of-contributions/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html b/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
index 0343513..49e2b30 100644
--- a/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
+++ b/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -78,7 +78,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/creating-charts-dashboards/exploring-data/index.html b/docs/creating-charts-dashboards/exploring-data/index.html
index 7e4f70a..6cced6d 100644
--- a/docs/creating-charts-dashboards/exploring-data/index.html
+++ b/docs/creating-charts-dashboards/exploring-data/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -140,7 +140,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ascend/index.html b/docs/databases/ascend/index.html
index fb58bcb..b2b152c 100644
--- a/docs/databases/ascend/index.html
+++ b/docs/databases/ascend/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/athena/index.html b/docs/databases/athena/index.html
index 84d40e8..a4894cd 100644
--- a/docs/databases/athena/index.html
+++ b/docs/databases/athena/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/bigquery/index.html b/docs/databases/bigquery/index.html
index 2fbb85b..f2de567 100644
--- a/docs/databases/bigquery/index.html
+++ b/docs/databases/bigquery/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -41,7 +41,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/clickhouse/index.html b/docs/databases/clickhouse/index.html
index 85e93da..4d0587b 100644
--- a/docs/databases/clickhouse/index.html
+++ b/docs/databases/clickhouse/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/cockroachdb/index.html b/docs/databases/cockroachdb/index.html
index c9c63b5..3a1f6ea 100644
--- a/docs/databases/cockroachdb/index.html
+++ b/docs/databases/cockroachdb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/cratedb/index.html b/docs/databases/cratedb/index.html
index 474d19b..25c5f48 100644
--- a/docs/databases/cratedb/index.html
+++ b/docs/databases/cratedb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/databricks/index.html b/docs/databases/databricks/index.html
index 86b1c96..acc179c 100644
--- a/docs/databases/databricks/index.html
+++ b/docs/databases/databricks/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/db-connection-ui/index.html b/docs/databases/db-connection-ui/index.html
index d3f4170..3b2df0e 100644
--- a/docs/databases/db-connection-ui/index.html
+++ b/docs/databases/db-connection-ui/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/docker-add-drivers/index.html b/docs/databases/docker-add-drivers/index.html
index b3cfede..4c126a2 100644
--- a/docs/databases/docker-add-drivers/index.html
+++ b/docs/databases/docker-add-drivers/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -50,7 +50,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/dremio/index.html b/docs/databases/dremio/index.html
index 3fed2fb..e18437d 100644
--- a/docs/databases/dremio/index.html
+++ b/docs/databases/dremio/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/drill/index.html b/docs/databases/drill/index.html
index 8dbd5b2..d2c594d 100644
--- a/docs/databases/drill/index.html
+++ b/docs/databases/drill/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/druid/index.html b/docs/databases/druid/index.html
index ce9f5ce..28537a9 100644
--- a/docs/databases/druid/index.html
+++ b/docs/databases/druid/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -51,7 +51,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/dynamodb/index.html b/docs/databases/dynamodb/index.html
index 2a143e6..f8a37fa 100644
--- a/docs/databases/dynamodb/index.html
+++ b/docs/databases/dynamodb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/elasticsearch/index.html b/docs/databases/elasticsearch/index.html
index b8e0a3d..05f34ff 100644
--- a/docs/databases/elasticsearch/index.html
+++ b/docs/databases/elasticsearch/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/exasol/index.html b/docs/databases/exasol/index.html
index e0d821b..9f93f49 100644
--- a/docs/databases/exasol/index.html
+++ b/docs/databases/exasol/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/extra-settings/index.html b/docs/databases/extra-settings/index.html
index bc006b8..02f8046 100644
--- a/docs/databases/extra-settings/index.html
+++ b/docs/databases/extra-settings/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/firebird/index.html b/docs/databases/firebird/index.html
index c9dcc8b..72bdb73 100644
--- a/docs/databases/firebird/index.html
+++ b/docs/databases/firebird/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/firebolt/index.html b/docs/databases/firebolt/index.html
index 31ef0d5..0460aaa 100644
--- a/docs/databases/firebolt/index.html
+++ b/docs/databases/firebolt/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/google-sheets/index.html b/docs/databases/google-sheets/index.html
index 6de932b..b299f97 100644
--- a/docs/databases/google-sheets/index.html
+++ b/docs/databases/google-sheets/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hana/index.html b/docs/databases/hana/index.html
index 7fb7205..5131e9c 100644
--- a/docs/databases/hana/index.html
+++ b/docs/databases/hana/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hive/index.html b/docs/databases/hive/index.html
index 53f2957..24f5eb3 100644
--- a/docs/databases/hive/index.html
+++ b/docs/databases/hive/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hologres/index.html b/docs/databases/hologres/index.html
index 6b66e68..9efccb4 100644
--- a/docs/databases/hologres/index.html
+++ b/docs/databases/hologres/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ibm-db2/index.html b/docs/databases/ibm-db2/index.html
index fdb8135..193e5da 100644
--- a/docs/databases/ibm-db2/index.html
+++ b/docs/databases/ibm-db2/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/impala/index.html b/docs/databases/impala/index.html
index 35a7fb1..502cc7f 100644
--- a/docs/databases/impala/index.html
+++ b/docs/databases/impala/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/installing-database-drivers/index.html b/docs/databases/installing-database-drivers/index.html
index 521e916..8ec4720 100644
--- a/docs/databases/installing-database-drivers/index.html
+++ b/docs/databases/installing-database-drivers/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/kusto/index.html b/docs/databases/kusto/index.html
index 233cc3a..e0c8732 100644
--- a/docs/databases/kusto/index.html
+++ b/docs/databases/kusto/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/kylin/index.html b/docs/databases/kylin/index.html
index c61669e..737f966 100644
--- a/docs/databases/kylin/index.html
+++ b/docs/databases/kylin/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/mysql/index.html b/docs/databases/mysql/index.html
index 8d385f7..aedb64f 100644
--- a/docs/databases/mysql/index.html
+++ b/docs/databases/mysql/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/netezza/index.html b/docs/databases/netezza/index.html
index 0498d2c..084e711 100644
--- a/docs/databases/netezza/index.html
+++ b/docs/databases/netezza/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ocient/index.html b/docs/databases/ocient/index.html
index 0a15df7..8f10cd9 100644
--- a/docs/databases/ocient/index.html
+++ b/docs/databases/ocient/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/oracle/index.html b/docs/databases/oracle/index.html
index 0336366..7ecc9ce 100644
--- a/docs/databases/oracle/index.html
+++ b/docs/databases/oracle/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/pinot/index.html b/docs/databases/pinot/index.html
index e1961bc..f1cb411 100644
--- a/docs/databases/pinot/index.html
+++ b/docs/databases/pinot/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/postgres/index.html b/docs/databases/postgres/index.html
index 371a491..3667c05 100644
--- a/docs/databases/postgres/index.html
+++ b/docs/databases/postgres/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -40,7 +40,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/presto/index.html b/docs/databases/presto/index.html
index f5ebe8f..cf5022b 100644
--- a/docs/databases/presto/index.html
+++ b/docs/databases/presto/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/redshift/index.html b/docs/databases/redshift/index.html
index e92111f..7e63bb2 100644
--- a/docs/databases/redshift/index.html
+++ b/docs/databases/redshift/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/risingwave/index.html b/docs/databases/risingwave/index.html
index 32f4fab..8c62351 100644
--- a/docs/databases/risingwave/index.html
+++ b/docs/databases/risingwave/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/rockset/index.html b/docs/databases/rockset/index.html
index 9cbc4d9..ae7506a 100644
--- a/docs/databases/rockset/index.html
+++ b/docs/databases/rockset/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/snowflake/index.html b/docs/databases/snowflake/index.html
index 6c3ab1c..2916eea 100644
--- a/docs/databases/snowflake/index.html
+++ b/docs/databases/snowflake/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -44,7 +44,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/solr/index.html b/docs/databases/solr/index.html
index ccdcfbd..4072ea8 100644
--- a/docs/databases/solr/index.html
+++ b/docs/databases/solr/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/spark-sql/index.html b/docs/databases/spark-sql/index.html
index e1132bc..f2b521d 100644
--- a/docs/databases/spark-sql/index.html
+++ b/docs/databases/spark-sql/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/sql-server/index.html b/docs/databases/sql-server/index.html
index d56e6c9..cda4595 100644
--- a/docs/databases/sql-server/index.html
+++ b/docs/databases/sql-server/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/starrocks/index.html b/docs/databases/starrocks/index.html
index 03ec499..c35dc11 100644
--- a/docs/databases/starrocks/index.html
+++ b/docs/databases/starrocks/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/teradata/index.html b/docs/databases/teradata/index.html
index 34543a8..a3b4301 100644
--- a/docs/databases/teradata/index.html
+++ b/docs/databases/teradata/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/timescaledb/index.html b/docs/databases/timescaledb/index.html
index 1416c5c..216fa0f 100644
--- a/docs/databases/timescaledb/index.html
+++ b/docs/databases/timescaledb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/trino/index.html b/docs/databases/trino/index.html
index 57a2266..0fb831a 100644
--- a/docs/databases/trino/index.html
+++ b/docs/databases/trino/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/vertica/index.html b/docs/databases/vertica/index.html
index 2751cd1..db92357 100644
--- a/docs/databases/vertica/index.html
+++ b/docs/databases/vertica/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/yugabytedb/index.html b/docs/databases/yugabytedb/index.html
index 402d1a6..4e101c5 100644
--- a/docs/databases/yugabytedb/index.html
+++ b/docs/databases/yugabytedb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/frequently-asked-questions/index.html b/docs/frequently-asked-questions/index.html
index 0cb0612..50cc6d2 100644
--- a/docs/frequently-asked-questions/index.html
+++ b/docs/frequently-asked-questions/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -118,7 +118,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/alerts-reports/index.html b/docs/installation/alerts-reports/index.html
index 88b3a9d..18c120f 100644
--- a/docs/installation/alerts-reports/index.html
+++ b/docs/installation/alerts-reports/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -54,7 +54,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/async-queries-celery/index.html b/docs/installation/async-queries-celery/index.html
index 1d696db..d093e44 100644
--- a/docs/installation/async-queries-celery/index.html
+++ b/docs/installation/async-queries-celery/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -51,7 +51,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/cache/index.html b/docs/installation/cache/index.html
index 15071dc..a6c79e5 100644
--- a/docs/installation/cache/index.html
+++ b/docs/installation/cache/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -54,7 +54,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/configuring-superset/index.html b/docs/installation/configuring-superset/index.html
index 8365c89..8df208b 100644
--- a/docs/installation/configuring-superset/index.html
+++ b/docs/installation/configuring-superset/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -76,7 +76,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/event-logging/index.html b/docs/installation/event-logging/index.html
index 5390239..f155768 100644
--- a/docs/installation/event-logging/index.html
+++ b/docs/installation/event-logging/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -41,7 +41,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/installing-superset-from-scratch/index.html b/docs/installation/installing-superset-from-scratch/index.html
index 7501669..f8fd1fd 100644
--- a/docs/installation/installing-superset-from-scratch/index.html
+++ b/docs/installation/installing-superset-from-scratch/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/installing-superset-using-docker-compose/index.html b/docs/installation/installing-superset-using-docker-compose/index.html
index f7128db..4336887 100644
--- a/docs/installation/installing-superset-using-docker-compose/index.html
+++ b/docs/installation/installing-superset-using-docker-compose/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -58,7 +58,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/networking-settings/index.html b/docs/installation/networking-settings/index.html
index f6ec587..41b46c9 100644
--- a/docs/installation/networking-settings/index.html
+++ b/docs/installation/networking-settings/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -44,7 +44,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/running-on-kubernetes/index.html b/docs/installation/running-on-kubernetes/index.html
index 7f97b51..14bbe5e 100644
--- a/docs/installation/running-on-kubernetes/index.html
+++ b/docs/installation/running-on-kubernetes/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/setup-ssh-tunneling/index.html b/docs/installation/setup-ssh-tunneling/index.html
index b559909..a1cbb1a 100644
--- a/docs/installation/setup-ssh-tunneling/index.html
+++ b/docs/installation/setup-ssh-tunneling/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/sql-templating/index.html b/docs/installation/sql-templating/index.html
index c3b56f6..e509565 100644
--- a/docs/installation/sql-templating/index.html
+++ b/docs/installation/sql-templating/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -70,7 +70,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/upgrading-superset/index.html b/docs/installation/upgrading-superset/index.html
index 9e37319..393ce78 100644
--- a/docs/installation/upgrading-superset/index.html
+++ b/docs/installation/upgrading-superset/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/intro/index.html b/docs/intro/index.html
index c5a0786..683b57a 100644
--- a/docs/intro/index.html
+++ b/docs/intro/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/chart-params/index.html b/docs/miscellaneous/chart-params/index.html
index d076142..d7b572c 100644
--- a/docs/miscellaneous/chart-params/index.html
+++ b/docs/miscellaneous/chart-params/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/country-map-tools/index.html b/docs/miscellaneous/country-map-tools/index.html
index e27ab4d..6dbd831 100644
--- a/docs/miscellaneous/country-map-tools/index.html
+++ b/docs/miscellaneous/country-map-tools/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -41,7 +41,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/importing-exporting-datasources/index.html b/docs/miscellaneous/importing-exporting-datasources/index.html
index f363fee..cfc648a 100644
--- a/docs/miscellaneous/importing-exporting-datasources/index.html
+++ b/docs/miscellaneous/importing-exporting-datasources/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/issue-codes/index.html b/docs/miscellaneous/issue-codes/index.html
index 06f2dfd..61fa551 100644
--- a/docs/miscellaneous/issue-codes/index.html
+++ b/docs/miscellaneous/issue-codes/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -64,7 +64,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/native-filter-migration/index.html b/docs/miscellaneous/native-filter-migration/index.html
index 3587d92..d8bd2ac 100644
--- a/docs/miscellaneous/native-filter-migration/index.html
+++ b/docs/miscellaneous/native-filter-migration/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -54,7 +54,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/security/index.html b/docs/security/index.html
index 666e258..a77be08 100644
--- a/docs/security/index.html
+++ b/docs/security/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -29,7 +29,7 @@
 that these roles will stay up-to-date as Superset evolves (and as you update Superset versions).</p><p>Even though <strong>Admin</strong> users have the ability, we don&#x27;t recommend altering the
 permissions associated with each role (e.g. by removing or adding permissions to them). The permissions
 associated with each role will be re-synchronized to their original values when you run
-the <strong>superset init</strong> command (often done between Superset versions).</p><p>A table with the permissions for these roles can be found at <a href="https://github.com/apache/superset/blob/master/RESOURCES/STANDARD_ROLES.mdd" target="_blank" rel="noopener noreferrer">/RESOURCES/STANDARD_ROLES.md</a>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="admin">Admin<a href="#admin" class="hash-link" aria-label="Direct link to Admin" title="Direct link to Admin">​</a></h3><p>Admins have all possible rights, including granting or revoking rights from other
+the <strong>superset init</strong> command (often done between Superset versions).</p><p>A table with the permissions for these roles can be found at <a href="https://github.com/apache/superset/blob/master/RESOURCES/STANDARD_ROLES.md" target="_blank" rel="noopener noreferrer">/RESOURCES/STANDARD_ROLES.md</a>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="admin">Admin<a href="#admin" class="hash-link" aria-label="Direct link to Admin" title="Direct link to Admin">​</a></h3><p>Admins have all possible rights, including granting or revoking rights from other
 users and altering other people’s slices and dashboards.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="alpha">Alpha<a href="#alpha" class="hash-link" aria-label="Direct link to Alpha" title="Direct link to Alpha">​</a></h3><p>Alpha users have access to all data sources, but they cannot grant or revoke access
 from other users. They are also limited to altering the objects that they own. Alpha users can add and alter data sources.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="gamma">Gamma<a href="#gamma" class="hash-link" aria-label="Direct link to Gamma" title="Direct link to Gamma">​</a></h3><p>Gamma users have limited access. They can only consume data coming from data sources
 they have been given access to through another complementary role. They only have access to
@@ -117,7 +117,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 97f1e45..9d13ca4 100644
--- a/index.html
+++ b/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -51,7 +51,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/markdown-page/index.html b/markdown-page/index.html
index 30b4c3c..f9d315b 100644
--- a/markdown-page/index.html
+++ b/markdown-page/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
index aa76175..2680e8e 100644
--- a/search/index.html
+++ b/search/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.574a8f44.css">
-<link rel="preload" href="/assets/js/runtime~main.385e4d6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.f7bd5553.js" as="script">
 <link rel="preload" href="/assets/js/main.e7ec1e84.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@
         <a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
         <a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
         </small></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.385e4d6d.js"></script>
+<script src="/assets/js/runtime~main.f7bd5553.js"></script>
 <script src="/assets/js/main.e7ec1e84.js"></script>
 </body>
 </html>
\ No newline at end of file