(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{Oyq8:function(e,t,i){"use strict";i.d(t,"b",(function(){return a})),i.d(t,"a",(function(){return s}));var a=[{name:" Aaron Suddjian",github:"https://github.com/suddjian",image:"https://github.com/suddjian.png"},{name:"Beto Dealmeida",github:"https://github.com/betodealmeida",image:"https://github.com/betodealmeida.png"},{name:"Bogdan Kyryliuk",github:"https://github.com/bkyryliuk",image:"https://github.com/bkyryliuk.png"},{name:"Chris Williams",github:"https://github.com/williaster",image:"https://github.com/williaster.png"},{name:"Craig Rueda",github:"https://github.com/craig-rueda",image:"https://github.com/craig-rueda.png"},{name:"Daniel Gaspar",github:"https://github.com/dpgaspar",image:"https://github.com/dpgaspar.png"},{name:"Erik Ritter",github:"https://github.com/etr2460",image:"https://github.com/etr2460.png"},{name:"Evan Rusackas",github:"https://github.com/rusackas",image:"https://github.com/rusackas.png"},{name:"Grace Guo",github:"https://github.com/graceguo-supercat",image:"https://github.com/graceguo-supercat.png"},{name:"Jeff Feng",github:"https://github.com/jfeng15",image:"https://github.com/jfeng15.png"},{name:"Jesse Yang",github:"https://github.com/ktmud",image:"https://github.com/ktmud.png"},{name:"John Bodley",github:"https://github.com/john-bodley",image:"https://github.com/john-bodley.png"},{name:"Krist Wongsuphasawat",github:"https://github.com/kristw",image:"https://github.com/kristw.png"},{name:"Maxime Beauchemin",github:"https://github.com/mistercrunch",image:"https://github.com/mistercrunch.png"},{name:"Michelle Thomas",github:"https://github.com/michellethomas",image:"https://github.com/michellethomas.png"},{name:"Nishant Bangarwa",github:"https://github.com/nishantmonu51",image:"https://github.com/nishantmonu51.png"},{name:"Tai Dupree",github:"https://github.com/nytai",image:"https://github.com/nytai.png"},{name:"Ville Brofeldt",github:"https://github.com/villebro",image:"https://github.com/villebro.png"},{name:"Will Barrett",github:"https://github.com/willbarrett",image:"https://github.com/willbarrett.png"}];void 0!==a&&a&&a===Object(a)&&Object.isExtensible(a)&&!a.hasOwnProperty("__filemeta")&&Object.defineProperty(a,"__filemeta",{configurable:!0,value:{name:"pmc",filename:"src/resources/data.js"}}),void 0!==a&&a&&a===Object(a)&&Object.isExtensible(a)&&!a.hasOwnProperty("__filemeta")&&Object.defineProperty(a,"__filemeta",{configurable:!0,value:{name:"pmc",filename:"src/resources/data.js"}});var s=[{title:"Amazon Redshfit",href:"https://aws.amazon.com/redshift/",imgName:"aws-redshift.png",width:50},{title:"Apache Druid",href:"http://druid.io/",imgName:"druid.png"},{title:"Apache Kylin",href:"http://kylin.apache.org/",imgName:"apache-kylin.png"},{title:"BigQuery",href:"https://cloud.google.com/bigquery/",imgName:"googleBQ.png"},{title:"ClickHouse",href:"https://clickhouse.tech/",imgName:"clickhouse.png"},{title:"Dremio",href:"https://dremio.com/",imgName:"dremio.png"},{title:"Exasol",href:"https://www.exasol.com/en/",imgName:"exasol.png"},{title:"FireBirdSql",href:"https://firebirdsql.org/",imgName:"firebird.png"},{title:"Green Plum",href:"https://greenplum.org/",imgName:"greenplum.png"},{title:"IBM Db2",href:"https://www.ibm.com/analytics/db2",imgName:"ibmdb2.png"},{title:"MySQL",href:"https://www.mysql.com/",imgName:"mysql.png"},{title:"Microsoft SqlServer",href:"https://www.microsoft.com/en-us/sql-server",imgName:"msql.png"},{title:"MonetDB",href:"https://www.monetdb.org/",imgName:"monet.png"},{title:"Oracle",href:"https://www.oracle.com/database/",imgName:"oraclelogo.png"},{title:"PostgresSQL",href:"https://www.postgresql.org/",imgName:"postsql.png"},{title:"Presto",href:"https://prestodb.io/",imgName:"presto-og.png"},{title:"Snowflake",href:"https://www.snowflake.com/",imgName:"snowflake.png"},{title:"SQLite",href:"https://www.sqlite.org/index.html",imgName:"sqllite.png"},{title:"Trino",href:"https://trino.io/",imgName:"trino2.jpg"},{title:"Rockset",href:"https://rockset.com/",imgName:"rockset.png"},{title:"Vertica",href:"https://www.vertica.com/",imgName:"vertica.png"},{title:"Hologres",href:"https://www.alibabacloud.com/product/hologres",imgName:"hologres.png"},{title:"IBM Netezza Performance Server",href:"https://www.ibm.com/products/netezza",imgName:"netezza.png"}];void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"Databases",filename:"src/resources/data.js"}}),void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"Databases",filename:"src/resources/data.js"}})},gbpr:function(e,t,i){"use strict";i.r(t);i("LXko");var a=i("VXEj"),s=(i("EpIQ"),i("bx4M")),r=(i("q1tI"),i("qKvR")),o=i("oN5p"),m=i("vrFN"),n=i("9Dj+"),g=i("Oyq8");var c=[["https://join.slack.com/t/apache-superset/shared_invite/zt-l5f5e0av-fyYu8tlfdqbMdz_sPLwUqQ","Slack","interact with other Superset users and community members"],["https://github.com/apache/superset","GitHub","create tickets to report issues, report bugs, and suggest new features"],["https://lists.apache.org/list.html?dev@superset.apache.org","dev@ Mailing List","participate in conversations with committers and contributors"],["https://stackoverflow.com/questions/tagged/superset+apache-superset","Stack Overflow","our growing knowledge base"],["https://www.meetup.com/Global-Apache-Superset-Community-Meetup/","Superset Meetup Group","join our monthly virtual meetups and register for any upcoming events"],["https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md","Organizations","a list of some of the organizations using Superset in production"],["https://github.com/apache-superset/awesome-apache-superset","Contributors Guide","Interested in contributing? Learn how to contribute and best practices"]],h={name:"8g5ten",styles:"display:flex;flex-wrap:wrap;justify-content:space-around;margin:0 auto;overflow:auto;.communityCard{font-size:12px;overflow:hidden;margin:10px 10px;.ant-card-meta-title{text-overflow:clip;white-space:normal;}.ant-card-body{padding:8px;display:inline-block;white-space:nowrap;}}"},p={name:"d2znx6",styles:"margin-bottom:25px;"},l=function(){var e=g.b.map((function(e){var t=e.name.indexOf(" ");return Object(r.jsx)("a",{href:e.github,target:"_blank",rel:"noreferrer",key:t},Object(r.jsx)(s.a,{className:"communityCard",hoverable:!0,style:{width:"150px"},size:"small",cover:Object(r.jsx)("img",{alt:"example",src:e.image})},Object(r.jsx)(o.a,{style:{paddingRight:3,paddingTop:3}}),e.name))}));return Object(r.jsx)(n.a,null,Object(r.jsx)("div",{className:"contentPage"},Object(r.jsx)(m.a,{title:"Community"}),Object(r.jsx)("section",null,Object(r.jsx)("h1",{className:"title"},"Community"),"Get involved in our welcoming, fast growing community!"),Object(r.jsx)("section",{className:"joinCommunity"},Object(r.jsx)("div",{css:p},Object(r.jsx)("h2",null,"Get involved!"),Object(r.jsx)(a.b,{size:"small",bordered:!0,dataSource:c,renderItem:function(e){var t=e[0],i=e[1],s=e[2];return Object(r.jsx)(a.b.Item,null,Object(r.jsx)("a",{href:t},i)," ","-"," ",s)}}))),Object(r.jsx)("section",{className:"ppmc"},Object(r.jsx)("h2",null,"Apache Committers"),Object(r.jsx)("div",{css:h},e))))};t.default=l,void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!l.hasOwnProperty("__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"Community",filename:"src/pages/community.tsx"}})}}]);
//# sourceMappingURL=component---src-pages-community-tsx-0c1f47876dc141e713c7.js.map