CINXE.COM

GitHub - firebase/firebase-cpp-sdk: Firebase C++ SDK

<!DOCTYPE html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://github.com/firebase/firebase-cpp-sdk","20201101065140","https://web.archive.org/","web","/_static/", "1604213500"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://github.githubassets.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://avatars0.githubusercontent.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://avatars1.githubusercontent.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://avatars2.githubusercontent.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://avatars3.githubusercontent.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://github-cloud.s3.amazonaws.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20201101065140/https://user-images.githubusercontent.com/"> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20201101065140cs_/https://github.githubassets.com/assets/frameworks-ade8c0b2824918a1541c3ba74047219e.css"/> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20201101065140cs_/https://github.githubassets.com/assets/site-8e50ebcbb2ef866f578f9807e63fba20.css"/> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20201101065140cs_/https://github.githubassets.com/assets/github-851c9f2100deff0630295c8ad646050c.css"/> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20201101065140js_/https://github.githubassets.com/assets/environment-f0adafbf.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20201101065140js_/https://github.githubassets.com/assets/chunk-frameworks-cb90a95f.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20201101065140js_/https://github.githubassets.com/assets/chunk-vendor-4a18b1e8.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20201101065140js_/https://github.githubassets.com/assets/behaviors-eb987d32.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-3f660c92.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-2430c5f1.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-9e8fa354.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-b5c1f8c4.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-randomColor.js" data-src="https://github.githubassets.com/assets/chunk-randomColor-80fc776d.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-13e1fec0.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-a9d88290.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-3695118c.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-8bfa15b9.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20201101065140js_/https://github.githubassets.com/assets/repositories-3ae0555b.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20201101065140js_/https://github.githubassets.com/assets/topic-suggestions-6b0e6d72.js"></script> <meta name="viewport" content="width=device-width"> <title>GitHub - firebase/firebase-cpp-sdk: Firebase C++ SDK</title> <meta name="description" content="Firebase C++ SDK. Contribute to firebase/firebase-cpp-sdk development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/web/20201101065140/https://github.com/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905"/> <meta name="twitter:image:src" content="https://avatars0.githubusercontent.com/u/1335026?s=400&amp;v=4"/><meta name="twitter:site" content="@github"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="firebase/firebase-cpp-sdk"/><meta name="twitter:description" content="Firebase C++ SDK. Contribute to firebase/firebase-cpp-sdk development by creating an account on GitHub."/> <meta property="og:image" content="https://web.archive.org/web/20201101065140im_/https://avatars0.githubusercontent.com/u/1335026?s=400&amp;v=4"/><meta property="og:site_name" content="GitHub"/><meta property="og:type" content="object"/><meta property="og:title" content="firebase/firebase-cpp-sdk"/><meta property="og:url" content="https://web.archive.org/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk"/><meta property="og:description" content="Firebase C++ SDK. Contribute to firebase/firebase-cpp-sdk development by creating an account on GitHub."/> <link rel="assets" href="https://github.githubassets.com/"> <meta name="request-id" content="9FF0:D50B:36CA71B:4DFC148:5F9E5AFC" data-pjax-transient="true"/><meta name="html-safe-nonce" content="b90e2aa78a1ffc74d08d05b4443deeb599dd844896f6c9fba999be22afcfc0b0" data-pjax-transient="true"/> <meta name="html-safe-nonce" content="0c24d41517a100a0895caa2bd748d3160d5c04ca" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RkYwOkQ1MEI6MzZDQTcxQjo0REZDMTQ4OjVGOUU1QUZDIiwidmlzaXRvcl9pZCI6IjgzMzQ5NDU3Mzk2MTAxNTE2NzYiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="2d44ceed884a72ed971505c965f39d6bef8d3297e1018b429f41134b1d7d5dbc" data-pjax-transient="true"/><meta name="cookie-consent-required" content="true" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:175263313" data-pjax-transient> <meta name="github-keyboard-shortcuts" content="repository" data-pjax-transient="true"/> <meta name="selected-link" value="repo_source" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-host" content="collector.githubapp.com"/><meta name="octolytics-app-id" content="github"/><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event"/><meta name="octolytics-dimension-ga_id" content="" class="js-octo-ga-id"/> <meta name="analytics-location" content="/<user-name>/<repo-name>" data-pjax-transient="true"/> <meta name="google-analytics" content="UA-3769691-2"> <meta class="js-ga-set" name="dimension10" content="Responsive" data-pjax-transient> <meta class="js-ga-set" name="dimension1" content="Logged Out"> <meta name="hostname" content="github.com"> <meta name="user-login" content=""> <meta name="expected-hostname" content="github.com"> <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS"> <meta http-equiv="x-pjax-version" content="ac2396f76ced1049d94e340381a8b4c4abb514006d971dfe04dc23f51060308d"> <link href="https://web.archive.org/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commits/master.atom" rel="alternate" title="Recent Commits to firebase-cpp-sdk:master" type="application/atom+xml"> <meta name="go-import" content="github.com/firebase/firebase-cpp-sdk git https://github.com/firebase/firebase-cpp-sdk.git"> <meta name="octolytics-dimension-user_id" content="1335026"/><meta name="octolytics-dimension-user_login" content="firebase"/><meta name="octolytics-dimension-repository_id" content="175263313"/><meta name="octolytics-dimension-repository_nwo" content="firebase/firebase-cpp-sdk"/><meta name="octolytics-dimension-repository_public" content="true"/><meta name="octolytics-dimension-repository_is_fork" content="false"/><meta name="octolytics-dimension-repository_network_root_id" content="175263313"/><meta name="octolytics-dimension-repository_network_root_nwo" content="firebase/firebase-cpp-sdk"/><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false"/> <link rel="canonical" href="https://web.archive.org/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk" data-pjax-transient> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://web.archive.org/web/20201101065140im_/https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://web.archive.org/web/20201101065140im_/https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <link rel="manifest" href="/web/20201101065140/https://github.com/manifest.json" crossorigin="use-credentials"> </head> <body class="logged-out env-production page-responsive"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a> <span class="progress-pjax-loader width-full js-pjax-loader-bar Progress position-fixed"> <span style="background-color: #79b8ff;width: 0%;" class="Progress-item progress-pjax-loader-bar "></span> </span> <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner"> <div class="container-xl d-lg-flex flex-items-center p-responsive"> <div class="d-flex flex-justify-between flex-items-center"> <a class="mr-4" href="https://web.archive.org/web/20201101065140/https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> <svg height="32" class="octicon octicon-mark-github text-white" viewbox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> <div class="d-lg-none css-truncate css-truncate-target width-fit p-2"> </div> <div class="d-flex flex-items-center"> <a href="/web/20201101065140/https://github.com/join?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&amp;source=header-repo" class="d-inline-block d-lg-none f5 text-white no-underline border border-gray-dark rounded-2 px-2 py-1 mr-3 mr-sm-5" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="65758cfcfbaa5d383e0e44c21674a430b495f0d59da9dc73d7d708b7d29180b0" data-ga-click="Sign up, click to sign up for account, ref_page:/<user-name>/<repo-name>;ref_cta:Sign up;ref_loc:header logged out"> Sign&nbsp;up </a> <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> <svg height="24" class="octicon octicon-three-bars text-white" viewbox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path></svg> </button> </div> </div> <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto"> <div class="d-flex d-lg-none flex-justify-end border-bottom bg-gray-light p-3"> <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> <svg height="24" class="octicon octicon-x text-gray" viewbox="0 0 24 24" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z"></path></svg> </button> </div> <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> <details class="HeaderMenu-details details-overlay details-reset width-full"> <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> Why GitHub? <svg x="0px" y="0px" viewbox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> <path d="M1,1l6.2,6L13,1"></path> </svg> </summary> <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> <a href="/web/20201101065140/https://github.com/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a> <ul class="list-style-none f5 pb-3"> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features/actions" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Actions">Actions</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features/packages" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Packages">Packages</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features/security" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Security">Security</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/features#hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Hosting</a></li> <li class="edge-item-fix hide-xl"><a href="/web/20201101065140/https://github.com/mobile" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Mobile">Mobile</a></li> </ul> <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> </ul> </div> </details> </li> <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> <a href="/web/20201101065140/https://github.com/team" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Team">Team</a> </li> <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> <a href="/web/20201101065140/https://github.com/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a> </li> <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> <details class="HeaderMenu-details details-overlay details-reset width-full"> <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> Explore <svg x="0px" y="0px" viewbox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> <path d="M1,1l6.2,6L13,1"></path> </svg> </summary> <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> <ul class="list-style-none mb-3"> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> </ul> <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn &amp; contribute</h4> <ul class="list-style-none mb-3"> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://opensource.guide/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li> </ul> <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4> <ul class="list-style-none mb-0"> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://github.com/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://github.community/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://education.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://stars.github.com/" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Stars Program">GitHub Stars program</a></li> </ul> </div> </details> </li> <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> <a href="/web/20201101065140/https://github.com/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a> </li> <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> <details class="HeaderMenu-details details-overlay details-reset width-full"> <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> Pricing <svg x="0px" y="0px" viewbox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> <path d="M1,1l6.2,6L13,1"></path> </svg> </summary> <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> <a href="/web/20201101065140/https://github.com/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a> <ul class="list-style-none mb-3"> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans</a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales</a></li> </ul> <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> <li class="edge-item-fix"><a href="/web/20201101065140/https://github.com/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> <li class="edge-item-fix"><a href="https://web.archive.org/web/20201101065140/https://education.github.com/" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> </ul> </div> </details> </li> </ul> </nav> <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left"> <div class="d-lg-flex mb-3 mb-lg-0"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to" role="combobox" aria-owns="jump-to-results" aria-label="Search or jump to" aria-haspopup="listbox" aria-expanded="false"> <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="175263313" data-scoped-search-url="/firebase/firebase-cpp-sdk/search" data-unscoped-search-url="/search" action="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey="s,/" name="q" value="" placeholder="Search" data-unscoped-placeholder="Search GitHub" data-scoped-placeholder="Search" autocapitalize="off" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off"> <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="iodg3dlIaUFRMvfOr25A/2Ie0Oa/nZKfb7LtLwo9wNsAhZuvI29CU8SKDwE+3hy5D36+ZLLnZU+exS4LcM2t6A=="/> <input type="hidden" class="js-site-search-type-field" name="type"> <img src="https://web.archive.org/web/20201101065140im_/https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20201101065140im_/https://github.com/firebase/firebase-cpp-sdk" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="text-gray">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20201101065140im_/https://github.com/firebase/firebase-cpp-sdk" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewbox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20201101065140im_/https://github.com/firebase/firebase-cpp-sdk" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> </div> </label> </form> </div> </div> </div> <a href="/web/20201101065140/https://github.com/login?return_to=%2Ffirebase%2Ffirebase-cpp-sdk" class="HeaderMenu-link no-underline mr-3" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1cf6704faa7bbc77372f9de4a53b8c0a4eef9730922c1d32aeb48549bd0b6c62" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"> Sign&nbsp;in </a> <a href="/web/20201101065140/https://github.com/join?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&amp;source=header-repo&amp;source_repo=firebase%2Ffirebase-cpp-sdk" class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1cf6704faa7bbc77372f9de4a53b8c0a4eef9730922c1d32aeb48549bd0b6c62" data-ga-click="Sign up, click to sign up for account, ref_page:/<user-name>/<repo-name>;ref_cta:Sign up;ref_loc:header logged out"> Sign&nbsp;up </a> </div> </div> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class=" px-2"> <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg class="octicon octicon-x" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled> <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" data-pjax-container> <div class="bg-gray-light pt-3 hide-full-screen mb-5"> <div class="d-flex mb-3 px-3 px-md-4 px-lg-5"> <div class="flex-auto min-width-0 width-fit mr-3"> <h1 class=" d-flex flex-wrap flex-items-center break-word f3 text-normal"> <svg class="octicon octicon-repo text-gray mr-2" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/firebase/hovercard" href="/web/20201101065140/https://github.com/firebase">firebase</a> </span> <span class="mx-1 flex-self-stretch color-text-secondary">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#js-repo-pjax-container" class="" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk">firebase-cpp-sdk</a> </strong> </h1> </div> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a class="tooltipped tooltipped-s btn btn-sm btn-with-count" aria-label="You must be signed in to watch a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7444d4d670f0361942422d6f984b4507cadd369c24d5a8b73d2cc714b158f4d5" href="/web/20201101065140/https://github.com/login?return_to=%2Ffirebase%2Ffirebase-cpp-sdk"> <svg class="octicon octicon-eye" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg> Watch </a> <a class="social-count" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/watchers" aria-label="70 users are watching this repository"> 70 </a> </li> <li> <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:175263313,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="00c763264e863312fc404534fa4f3140d20b4183d10b9b247ae62cbc826b8d8c" href="/web/20201101065140/https://github.com/login?return_to=%2Ffirebase%2Ffirebase-cpp-sdk"> <svg class="octicon octicon-star v-align-text-bottom" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path></svg> Star </a> <a class="social-count js-social-count" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/stargazers" aria-label="89 users starred this repository"> 89 </a> </li> <li> <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to fork a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:175263313,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="98d7e53b9312d15fad74d2f8053f1bf251dd6fbf31bf3a922faa1cbdbe317a3f" href="/web/20201101065140/https://github.com/login?return_to=%2Ffirebase%2Ffirebase-cpp-sdk"> <svg class="octicon octicon-repo-forked" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path></svg> Fork </a> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/network/members" class="social-count" aria-label="42 users forked this repository"> 42 </a> </li> </ul> </div> <div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5"> <p class="f4 mb-3"> Firebase C++ SDK </p> <div class="mb-2 d-flex flex-items-center"> <svg class="octicon octicon-link flex-shrink-0 mr-2" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg> <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a title="http://firebase.google.com" role="link" target="_blank" class="text-bold" rel="noopener noreferrer" href="https://web.archive.org/web/20201101065140/http://firebase.google.com/">firebase.google.com</a> </span> </div> <div class="mb-2"> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/LICENSE" class="muted-link"> <svg class="octicon octicon-law mr-1" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z"></path></svg> Apache-2.0 License </a> </div> <div class="mb-3"> <a class="link-gray no-underline mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/stargazers"> <svg class="octicon octicon-star mr-1" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path></svg> <span class="text-bold">89</span> stars </a> <a class="link-gray no-underline" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/network/members"> <svg class="octicon octicon-repo-forked mr-1" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path></svg> <span class="text-bold">42</span> forks </a> </div> <div class="d-flex"> <div class="flex-1 mr-2"> <a class="btn btn-sm btn-block tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:175263313,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="00c763264e863312fc404534fa4f3140d20b4183d10b9b247ae62cbc826b8d8c" href="/web/20201101065140/https://github.com/login?return_to=%2Ffirebase%2Ffirebase-cpp-sdk"> <svg class="octicon octicon-star v-align-text-bottom" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path></svg> Star </a> </div> <div class="flex-1"> <a class="tooltipped tooltipped-s btn btn-sm btn-block" aria-label="You must be signed in to watch a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7444d4d670f0361942422d6f984b4507cadd369c24d5a8b73d2cc714b158f4d5" href="/web/20201101065140/https://github.com/login?return_to=%2Ffirebase%2Ffirebase-cpp-sdk"> <svg class="octicon octicon-eye" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg> Watch </a> </div> </div> </div> <nav aria-label="Repository" data-pjax="#js-repo-pjax-container" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5 bg-gray-light"> <ul class="UnderlineNav-body list-style-none "> <li class="d-flex"> <a class="js-selected-navigation-item selected UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="code-tab" data-hotkey="g c" data-ga-click="Repository, Navigation click, Code tab" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /firebase/firebase-cpp-sdk" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk"> <svg class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path></svg> <span data-content="Code">Code</span> <span title="Not available" class="Counter "></span> </a> </li> <li class="d-flex"> <a class="js-selected-navigation-item UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="issues-tab" data-hotkey="g i" data-ga-click="Repository, Navigation click, Issues tab" data-selected-links="repo_issues repo_labels repo_milestones /firebase/firebase-cpp-sdk/issues" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/issues"> <svg class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"></path></svg> <span data-content="Issues">Issues</span> <span title="22" class="Counter ">22</span> </a> </li> <li class="d-flex"> <a class="js-selected-navigation-item UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="pull-requests-tab" data-hotkey="g p" data-ga-click="Repository, Navigation click, Pull requests tab" data-selected-links="repo_pulls checks /firebase/firebase-cpp-sdk/pulls" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/pulls"> <svg class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path></svg> <span data-content="Pull requests">Pull requests</span> <span title="8" class="Counter ">8</span> </a> </li> <li class="d-flex"> <a class="js-selected-navigation-item UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="actions-tab" data-hotkey="g a" data-ga-click="Repository, Navigation click, Actions tab" data-selected-links="repo_actions /firebase/firebase-cpp-sdk/actions" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/actions"> <svg class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path></svg> <span data-content="Actions">Actions</span> <span title="Not available" class="Counter "></span> </a> </li> <li class="d-flex"> <a class="js-selected-navigation-item UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="projects-tab" data-hotkey="g b" data-ga-click="Repository, Navigation click, Projects tab" data-selected-links="repo_projects new_repo_project repo_project /firebase/firebase-cpp-sdk/projects" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/projects"> <svg class="octicon octicon-project UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <span data-content="Projects">Projects</span> <span title="0" hidden="hidden" class="Counter ">0</span> </a> </li> <li class="d-flex"> <a class="js-selected-navigation-item UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="security-tab" data-hotkey="g s" data-ga-click="Repository, Navigation click, Security tab" data-selected-links="security overview alerts policy token_scanning code_scanning /firebase/firebase-cpp-sdk/security" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/security"> <svg class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path></svg> <span data-content="Security">Security</span> <include-fragment src="/firebase/firebase-cpp-sdk/security/overall-count" accept="text/fragment+html"></include-fragment> </a> </li> <li class="d-flex"> <a class="js-selected-navigation-item UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item" data-tab-item="insights-tab" data-ga-click="Repository, Navigation click, Insights tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people /firebase/firebase-cpp-sdk/pulse" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/pulse"> <svg class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path></svg> <span data-content="Insights">Insights</span> <span title="Not available" class="Counter "></span> </a> </li> </ul> <div class="position-absolute right-0 pr-3 pr-md-4 pr-lg-5 js-responsive-underlinenav-overflow" style="visibility:hidden;"> <details class="details-overlay details-reset position-relative"> <summary role="button"> <div class="UnderlineNav-item mr-0 border-0"> <svg class="octicon octicon-kebab-horizontal" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path></svg> <span class="sr-only">More</span> </div> </summary> <div> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw "> <ul> <li data-menu-item="code-tab" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /firebase/firebase-cpp-sdk" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk"> Code </a> </li> <li data-menu-item="issues-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /firebase/firebase-cpp-sdk/issues" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/issues"> Issues </a> </li> <li data-menu-item="pull-requests-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /firebase/firebase-cpp-sdk/pulls" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/pulls"> Pull requests </a> </li> <li data-menu-item="actions-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /firebase/firebase-cpp-sdk/actions" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/actions"> Actions </a> </li> <li data-menu-item="projects-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /firebase/firebase-cpp-sdk/projects" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/projects"> Projects </a> </li> <li data-menu-item="security-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /firebase/firebase-cpp-sdk/security" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/security"> Security </a> </li> <li data-menu-item="insights-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /firebase/firebase-cpp-sdk/pulse" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/pulse"> Insights </a> </li> </ul> </details-menu> </div></details> </div> </nav> </div> <div class="container-xl clearfix new-discussion-timeline px-3 px-md-4 px-lg-5"> <div class="repository-content "> <div class="d-none d-lg-block mt-6 mr-3 Popover top-0 right-0 box-shadow-medium col-3"> </div> <signup-prompt class="signup-prompt-bg rounded-1" data-prompt="signup" hidden> <div class="signup-prompt p-4 text-center mb-4 rounded-1"> <div class="position-relative"> <button type="button" class="position-absolute top-0 right-0 btn-link link-gray" data-action="click:signup-prompt#dismiss" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss"> Dismiss </button> <h3 class="pt-2">Join GitHub today</h3> <p class="col-6 mx-auto">GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.</p> <a class="btn btn-primary" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;files signup prompt&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="73aaaf132a518ebddc9cd39d8a2febb60fb10b28645a81eaeac0ff50d6316f16" href="/web/20201101065140/https://github.com/join?source=prompt-code&amp;source_repo=firebase%2Ffirebase-cpp-sdk">Sign up</a> </div> </div> </signup-prompt> <div class="gutter-condensed gutter-lg flex-column flex-md-row d-flex"> <div class="flex-shrink-0 col-12 col-md-9 mb-4 mb-md-0"> <div class="file-navigation mb-3 d-flex flex-items-start"> <div class="position-relative"> <details class="details-reset details-overlay mr-0 mb-0 " id="branch-select-menu"> <summary class="btn css-truncate" data-hotkey="w" title="Switch branches or tags"> <svg class="octicon octicon-git-branch text-gray" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path></svg> <span class="css-truncate-target" data-menu-button>master</span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu SelectMenu--hasFilter" src="/firebase/firebase-cpp-sdk/refs/master?source_action=disambiguate&amp;source_controller=files" preload> <div class="SelectMenu-modal"> <include-fragment class="SelectMenu-loading" aria-label="Menu is loading"> <svg class="octicon octicon-octoface anim-pulse" height="32" viewbox="0 0 24 24" version="1.1" width="32" aria-hidden="true"><path d="M7.75 11c-.69 0-1.25.56-1.25 1.25v1.5a1.25 1.25 0 102.5 0v-1.5C9 11.56 8.44 11 7.75 11zm1.27 4.5a.469.469 0 01.48-.5h5a.47.47 0 01.48.5c-.116 1.316-.759 2.5-2.98 2.5s-2.864-1.184-2.98-2.5zm7.23-4.5c-.69 0-1.25.56-1.25 1.25v1.5a1.25 1.25 0 102.5 0v-1.5c0-.69-.56-1.25-1.25-1.25z"></path><path fill-rule="evenodd" d="M21.255 3.82a1.725 1.725 0 00-2.141-1.195c-.557.16-1.406.44-2.264.866-.78.386-1.647.93-2.293 1.677A18.442 18.442 0 0012 5c-.93 0-1.784.059-2.569.17-.645-.74-1.505-1.28-2.28-1.664a13.876 13.876 0 00-2.265-.866 1.725 1.725 0 00-2.141 1.196 23.645 23.645 0 00-.69 3.292c-.125.97-.191 2.07-.066 3.112C1.254 11.882 1 13.734 1 15.527 1 19.915 3.13 23 12 23c8.87 0 11-3.053 11-7.473 0-1.794-.255-3.647-.99-5.29.127-1.046.06-2.15-.066-3.125a23.652 23.652 0 00-.689-3.292zM20.5 14c.5 3.5-1.5 6.5-8.5 6.5s-9-3-8.5-6.5c.583-4 3-6 8.5-6s7.928 2 8.5 6z"></path></svg> </include-fragment> </div> </details-menu> </details> </div> <div class="flex-self-center ml-3 flex-self-stretch d-none d-lg-flex flex-items-center lh-condensed-ultra"> <a data-pjax href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/branches" class="link-gray-dark no-underline"> <svg class="octicon octicon-git-branch text-gray" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path></svg> <strong>18</strong> <span class="text-gray-light">branches</span> </a> <a data-pjax href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tags" class="ml-3 link-gray-dark no-underline"> <svg class="octicon octicon-tag text-gray" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"></path></svg> <strong>14</strong> <span class="text-gray-light">tags</span> </a> </div> <div class="flex-auto"></div> <a class="btn ml-2" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;FIND_FILE_BUTTON&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="be91531a91aeb745f96e20c806f407778987239b9f2f36efd8e9eab8a87f143e" data-ga-click="Repository, find file, location:repo overview" data-hotkey="t" data-pjax="true" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/find/master"> Go to file </a> <span class="d-none d-md-flex ml-2"> <get-repo> <details class="position-relative details-overlay details-reset" data-action="toggle:get-repo#onDetailsToggle"> <summary class="btn btn-primary" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;repository_id&quot;:175263313,&quot;target&quot;:&quot;CLONE_OR_DOWNLOAD_BUTTON&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="347517842d1d2f28d08dec219b80c102858b820d18a641e6e269af9f08198336"> <svg class="octicon octicon-download mr-1" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"></path></svg> Code <span class="dropdown-caret"></span> </summary> <div class="position-relative"> <div class="dropdown-menu dropdown-menu-sw p-0" style="top:6px;width:352px;"> <div data-target="get-repo.modal"> <div class="border-bottom p-3"> <a class="muted-link float-right tooltipped tooltipped-s" href="https://web.archive.org/web/20201101065140/https://docs.github.com/articles/which-remote-url-should-i-use" target="_blank" aria-label="Which remote URL should I use?"> <svg class="octicon octicon-question" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zM6.92 6.085c.081-.16.19-.299.34-.398.145-.097.371-.187.74-.187.28 0 .553.087.738.225A.613.613 0 019 6.25c0 .177-.04.264-.077.318a.956.956 0 01-.277.245c-.076.051-.158.1-.258.161l-.007.004a7.728 7.728 0 00-.313.195 2.416 2.416 0 00-.692.661.75.75 0 001.248.832.956.956 0 01.276-.245 6.3 6.3 0 01.26-.16l.006-.004c.093-.057.204-.123.313-.195.222-.149.487-.355.692-.662.214-.32.329-.702.329-1.15 0-.76-.36-1.348-.863-1.725A2.76 2.76 0 008 4c-.631 0-1.155.16-1.572.438-.413.276-.68.638-.849.977a.75.75 0 101.342.67z"></path></svg> </a> <div class="text-bold"> <svg class="octicon octicon-terminal mr-3" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H1.75zM7.25 8a.75.75 0 01-.22.53l-2.25 2.25a.75.75 0 11-1.06-1.06L5.44 8 3.72 6.28a.75.75 0 111.06-1.06l2.25 2.25c.141.14.22.331.22.53zm1.5 1.5a.75.75 0 000 1.5h3a.75.75 0 000-1.5h-3z"></path></svg> Clone </div> <tab-container> <div class="UnderlineNav my-2 box-shadow-none"> <div class="UnderlineNav-body" role="tablist"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-remote="true" action="/web/20201101065140/https://github.com/users/set_protocol?protocol_type=clone" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="Aeezhan8pzV7ztdFavsNK0pgMhhrKYaobMICurAVWZqf7LwpNGlrFuWBPX2m3dFWy51z+1J/uAYsJVstaNKuCQ=="/> <button name="protocol_selector" type="submit" role="tab" class="UnderlineNav-item lh-default f6 py-0 px-0 mr-2 position-relative" aria-selected="true" value="http" data-hydro-click="{&quot;event_type&quot;:&quot;clone_or_download.click&quot;,&quot;payload&quot;:{&quot;feature_clicked&quot;:&quot;USE_HTTPS&quot;,&quot;git_repository_type&quot;:&quot;REPOSITORY&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="147dfeb5823cabd99c9206cf1dc0b277273024ee6bb4dcfa488cfab3e70ba28f"> HTTPS </button> <button name="protocol_selector" type="submit" role="tab" class="UnderlineNav-item lh-default f6 py-0 px-0 mr-2 position-relative" value="gh_cli" data-hydro-click="{&quot;event_type&quot;:&quot;clone_or_download.click&quot;,&quot;payload&quot;:{&quot;feature_clicked&quot;:&quot;USE_GH_CLI&quot;,&quot;git_repository_type&quot;:&quot;REPOSITORY&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c39488c0cd1dbf1dc943f7136e5a9f7d37d93da08d124a1eb67e76115dba71fd"> GitHub CLI </button></form> </div> </div> <div role="tabpanel"> <div class="input-group"> <input type="text" class="form-control input-monospace input-sm bg-gray-light" data-autoselect value="https://github.com/firebase/firebase-cpp-sdk.git" aria-label="https://github.com/firebase/firebase-cpp-sdk.git" readonly> <div class="input-group-button"> <clipboard-copy value="https://github.com/firebase/firebase-cpp-sdk.git" aria-label="Copy to clipboard" class="btn btn-sm" data-hydro-click="{&quot;event_type&quot;:&quot;clone_or_download.click&quot;,&quot;payload&quot;:{&quot;feature_clicked&quot;:&quot;COPY_URL&quot;,&quot;git_repository_type&quot;:&quot;REPOSITORY&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a7a2b2a23170e136073005c8a5ca079d63c711df86aee6f9a26ec42677e72070"><svg class="octicon octicon-clippy" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></clipboard-copy> </div> </div> <p class="mt-2 mb-0 f6 text-gray"> Use Git or checkout with SVN using the web URL. </p> </div> <div role="tabpanel" hidden> <div class="input-group"> <input type="text" class="form-control input-monospace input-sm bg-gray-light" data-autoselect value="gh repo clone firebase/firebase-cpp-sdk" aria-label="gh repo clone firebase/firebase-cpp-sdk" readonly> <div class="input-group-button"> <clipboard-copy value="gh repo clone firebase/firebase-cpp-sdk" aria-label="Copy to clipboard" class="btn btn-sm" data-hydro-click="{&quot;event_type&quot;:&quot;clone_or_download.click&quot;,&quot;payload&quot;:{&quot;feature_clicked&quot;:&quot;COPY_URL&quot;,&quot;git_repository_type&quot;:&quot;REPOSITORY&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a7a2b2a23170e136073005c8a5ca079d63c711df86aee6f9a26ec42677e72070"><svg class="octicon octicon-clippy" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></clipboard-copy> </div> </div> <p class="mt-2 mb-0 f6 text-gray"> Work fast with our official CLI. <a href="https://web.archive.org/web/20201101065140/https://cli.github.com/" target="_blank">Learn more</a>. </p> </div> </tab-container> </div> <ul class="list-style-none"> <li data-platforms="windows,mac" class="Box-row Box-row--hover-gray p-0 rounded-0 mt-0 js-remove-unless-platform"> <a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" data-hydro-click="{&quot;event_type&quot;:&quot;clone_or_download.click&quot;,&quot;payload&quot;:{&quot;feature_clicked&quot;:&quot;OPEN_IN_DESKTOP&quot;,&quot;git_repository_type&quot;:&quot;REPOSITORY&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="67bae5f5eb227e41cf085b1b4f4576c9fcd1068ffde3e34c26b531af1f391591" data-action="click:get-repo#showDownloadMessage" href="https://web.archive.org/web/20201101065140/https://desktop.github.com/"> <svg class="octicon octicon-desktop-download mr-3" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.75 5V.75a.75.75 0 00-1.5 0V5H5.104a.25.25 0 00-.177.427l2.896 2.896a.25.25 0 00.354 0l2.896-2.896A.25.25 0 0010.896 5H8.75zM1.5 2.75a.25.25 0 01.25-.25h3a.75.75 0 000-1.5h-3A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1h-3a.75.75 0 000 1.5h3a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path></svg> Open with GitHub Desktop </a> </li> <li class="Box-row Box-row--hover-gray p-0"> <a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;clone_or_download.click&quot;,&quot;payload&quot;:{&quot;feature_clicked&quot;:&quot;DOWNLOAD_ZIP&quot;,&quot;git_repository_type&quot;:&quot;REPOSITORY&quot;,&quot;repository_id&quot;:175263313,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="75fe32206d2f2e43f5bf257fb5b970ba122d0be4433ca2aefdf1d60b8959819d" data-ga-click="Repository, download zip, location:repo overview" data-open-app="link" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/archive/master.zip"> <svg class="octicon octicon-file-zip mr-3" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z"></path></svg> Download ZIP </a> </li> </ul> </div> <div class="p-3" data-targets="get-repo.platforms" data-platform="mac" hidden> <h4 class="lh-condensed mb-3">Launching GitHub Desktop<span class="AnimatedEllipsis"></span></h4> <p class="text-gray">If nothing happens, <a href="https://web.archive.org/web/20201101065140/https://desktop.github.com/">download GitHub Desktop</a> and try again.</p> <button type="button" class="btn-link" data-action="click:get-repo#onDetailsToggle">Go back</button> </div> <div class="p-3" data-targets="get-repo.platforms" data-platform="windows" hidden> <h4 class="lh-condensed mb-3">Launching GitHub Desktop<span class="AnimatedEllipsis"></span></h4> <p class="text-gray">If nothing happens, <a href="https://web.archive.org/web/20201101065140/https://desktop.github.com/">download GitHub Desktop</a> and try again.</p> <button type="button" class="btn-link" data-action="click:get-repo#onDetailsToggle">Go back</button> </div> <div class="p-3" data-targets="get-repo.platforms" data-platform="xcode" hidden> <h4 class="lh-condensed mb-3">Launching Xcode<span class="AnimatedEllipsis"></span></h4> <p class="text-gray">If nothing happens, <a href="https://web.archive.org/web/20201101065140/https://developer.apple.com/xcode/">download Xcode</a> and try again.</p> <button type="button" class="btn-link" data-action="click:get-repo#onDetailsToggle">Go back</button> </div> <div class="p-3" data-targets="get-repo.platforms" data-platform="visual-studio" hidden> <h4 class="lh-condensed mb-3">Launching Visual Studio<span class="AnimatedEllipsis"></span></h4> <p class="text-gray">If nothing happens, <a href="https://web.archive.org/web/20201101065140/https://visualstudio.github.com/">download the GitHub extension for Visual Studio</a> and try again.</p> <button type="button" class="btn-link" data-action="click:get-repo#onDetailsToggle">Go back</button> </div> </div> </div> </details> </get-repo> </span> </div> <div class="Box mb-3"> <div class="Box-header Box-header--blue position-relative"> <h2 class="sr-only">Latest commit</h2> <div class="js-details-container Details d-flex rounded-top-1 flex-items-center flex-wrap" data-issue-and-pr-hovercards-enabled> <div class="flex-shrink-0 ml-n1 mr-n1 mt-n1 mb-n1 hx_avatar_stack_commit"> <div class="AvatarStack flex-self-start "> <div class="AvatarStack-body" aria-label="a-maurice"> <a class="avatar avatar-user" data-skip-pjax="true" data-hovercard-type="user" data-hovercard-url="/users/a-maurice/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" style="width:24px;height:24px;" href="/web/20201101065140/https://github.com/a-maurice"> <img height="24" width="24" alt="@a-maurice" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/10678845?s=60&amp;v=4" class=" avatar-user"/> </a> </div> </div> </div> <div class="flex-1 d-flex flex-items-center ml-3 min-width-0"> <div class="css-truncate css-truncate-overflow text-gray"> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commits?author=a-maurice" class="commit-author user-mention" title="View all commits by a-maurice">a-maurice</a> <span class="d-none d-sm-inline"> <a data-pjax="true" title="Merge remote-tracking branch 'origin/master' into ghm" class="link-gray-dark" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commit/f0a9d5b65e3a014aee347ea9bb3b664cdce2ae55">Merge remote-tracking branch 'origin/master' into ghm</a> </span> </div> <span class="hidden-text-expander ml-2 d-inline-block d-inline-block d-lg-none"> <button type="button" class="hx_bg-black-fade-15 text-gray-dark ellipsis-expander js-details-target" aria-expanded="false">&hellip;</button> </span> <div class="d-flex flex-auto flex-justify-end ml-3 flex-items-baseline"> <include-fragment accept="text/fragment+html" src="/firebase/firebase-cpp-sdk/commit/f0a9d5b65e3a014aee347ea9bb3b664cdce2ae55/rollup?direction=e" class="d-inline"></include-fragment> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commit/f0a9d5b65e3a014aee347ea9bb3b664cdce2ae55" class="f6 link-gray text-mono ml-2 d-none d-lg-inline" data-pjax>f0a9d5b</a> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commit/f0a9d5b65e3a014aee347ea9bb3b664cdce2ae55" class="link-gray ml-2" data-pjax> <relative-time datetime="2020-09-30T02:17:58Z" class="no-wrap">Sep 30, 2020</relative-time> </a> </div> </div> <div class="pl-0 pl-md-5 flex-order-1 width-full Details-content--hidden"> <div class="mt-2"> <a data-pjax="true" class="link-gray-dark text-bold" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commit/f0a9d5b65e3a014aee347ea9bb3b664cdce2ae55">Merge remote-tracking branch 'origin/master' into ghm</a> </div> <div class="d-flex flex-items-center"> <span class="text-gray-dark text-mono d-lg-none hx_bg-black-fade-15 px-1 rounded-1 text-small mt-2">f0a9d5b</span> </div> </div> <div class="flex-shrink-0"> <h2 class="sr-only">Git stats</h2> <ul class="list-style-none d-flex"> <li class="ml-0 ml-md-3"> <a data-pjax href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/commits/master" class="pl-3 pr-3 py-3 p-md-0 mt-n3 mb-n3 mr-n3 m-md-0 link-gray-dark no-underline no-wrap"> <svg class="octicon octicon-history text-gray" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"></path></svg> <span class="d-none d-sm-inline"> <strong>663</strong> <span aria-label="Commits on master" class="text-gray d-none d-lg-inline">commits</span> </span> </a> </li> </ul> </div> </div> </div> <h2 id="files" class="sr-only">Files</h2> <include-fragment src="/firebase/firebase-cpp-sdk/file-list/master"> <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/f0a9d5b65e3a014aee347ea9bb3b664cdce2ae55">Permalink</a> <div class="include-fragment-error flash flash-error flash-full py-2"> <svg class="octicon octicon-alert" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> Failed to load latest commit information. </div> <div class="js-details-container Details"> <div role="grid" aria-labelledby="files" class="Details-content--hidden-not-important js-navigation-container js-active-navigation-container d-md-block" data-pjax> <div class="sr-only" role="row"> <div role="columnheader">Type</div> <div role="columnheader">Name</div> <div role="columnheader" class="d-none d-md-block">Latest commit message</div> <div role="columnheader">Commit time</div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title=".github" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/.github">.github</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="Android" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/Android">Android</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="admob" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/admob">admob</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="analytics" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/analytics">analytics</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="android_build_files" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/android_build_files">android_build_files</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="app" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/app">app</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="auth" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/auth">auth</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="build_tools" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/build_tools">build_tools</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="cmake" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/cmake">cmake</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="database" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/database">database</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="dynamic_links" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/dynamic_links">dynamic_links</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="firestore" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/firestore">firestore</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="functions" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/functions">functions</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="This path skips through empty directories" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/gradle/wrapper"><span class="text-gray-light">gradle/</span>wrapper</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="instance_id" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/instance_id">instance_id</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="ios_pod" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/ios_pod">ios_pod</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="messaging" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/messaging">messaging</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="release_build_files" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/release_build_files">release_build_files</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="remote_config" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/remote_config">remote_config</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="storage" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/storage">storage</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="Directory" class="octicon octicon-file-directory text-color-icon-directory" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="testing" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/tree/master/testing">testing</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title=".gitallowed" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/.gitallowed">.gitallowed</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="CMakeLists.txt" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/CMakeLists.txt">CMakeLists.txt</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="CONTRIBUTING.md" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="LICENSE" itemprop="license" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/LICENSE">LICENSE</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="README.md" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/README.md">README.md</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="binary_to_array.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/binary_to_array.py">binary_to_array.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="binary_to_array_test.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/binary_to_array_test.py">binary_to_array_test.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="build.gradle" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/build.gradle">build.gradle</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="build_type_header.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/build_type_header.py">build_type_header.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="build_type_header_test.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/build_type_header_test.py">build_type_header_test.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="cpp_sdk_version.json" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/cpp_sdk_version.json">cpp_sdk_version.json</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="generate_xml_from_google_services_json.exe" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/generate_xml_from_google_services_json.exe">generate_xml_from_google_services_json.exe</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="generate_xml_from_google_services_json.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/generate_xml_from_google_services_json.py">generate_xml_from_google_services_json.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="gms_package_versions_integrate.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/gms_package_versions_integrate.sh">gms_package_versions_integrate.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="gradlew" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/gradlew">gradlew</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="gradlew.bat" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/gradlew.bat">gradlew.bat</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="merge_libraries_test_file.cc" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/merge_libraries_test_file.cc">merge_libraries_test_file.cc</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="readme_for_generate_xml_from_google_services_json_exe.txt" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/readme_for_generate_xml_from_google_services_json_exe.txt">readme_for_generate_xml_from_google_services_json_exe.txt</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="settings.gradle" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/settings.gradle">settings.gradle</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_android.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_android.sh">test_android.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_linux.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_linux.sh">test_linux.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_mac_ios.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_mac_ios.sh">test_mac_ios.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_mac_ios_simulator.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_mac_ios_simulator.sh">test_mac_ios_simulator.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_mac_x64.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_mac_x64.sh">test_mac_x64.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_windows_x32.bat" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_windows_x32.bat">test_windows_x32.bat</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="test_windows_x64.bat" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/test_windows_x64.bat">test_windows_x64.bat</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="version.sh" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/version.sh">version.sh</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="version_header.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/version_header.py">version_header.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> <div role="row" class="Box-row Box-row--focus-gray py-2 d-flex position-relative js-navigation-item "> <div role="gridcell" class="mr-3 flex-shrink-0" style="width: 16px;"> <svg aria-label="File" class="octicon octicon-file text-gray-light" height="16" viewbox="0 0 16 16" version="1.1" width="16" role="img"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg> </div> <div role="rowheader" class="flex-auto min-width-0 col-md-2 mr-3"> <span class="css-truncate css-truncate-target d-block width-fit"><a class="js-navigation-open link-gray-dark" title="version_header_test.py" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/version_header_test.py">version_header_test.py</a></span> </div> <div role="gridcell" class="flex-auto min-width-0 d-none d-md-block col-5 mr-3"> <div class="Skeleton Skeleton--text col-7">&nbsp;</div> </div> <div role="gridcell" class="text-gray-light text-right" style="width:100px;"> <div class="Skeleton Skeleton--text">&nbsp;</div> </div> </div> </div> <div class="Details-content--shown Box-footer d-md-none p-0"> <button type="button" class="d-block btn-link js-details-target width-full px-3 py-2" aria-expanded="false"> View code </button> </div> </div> </include-fragment> </div> <div id="readme" class="Box md js-code-block-container Box--responsive"> <div class="Box-header d-flex flex-items-center flex-justify-between bg-white border-bottom-0"> <h2 class="Box-title pr-3"> README.md </h2> </div> <div class="Popover anim-scale-in js-tagsearch-popover" hidden data-tagsearch-url="/firebase/firebase-cpp-sdk/find-definition" data-tagsearch-ref="master" data-tagsearch-path="README.md" data-tagsearch-lang="Markdown" data-hydro-click="{&quot;event_type&quot;:&quot;code_navigation.click_on_symbol&quot;,&quot;payload&quot;:{&quot;action&quot;:&quot;click_on_symbol&quot;,&quot;repository_id&quot;:175263313,&quot;ref&quot;:&quot;master&quot;,&quot;language&quot;:&quot;Markdown&quot;,&quot;originating_url&quot;:&quot;https://github.com/firebase/firebase-cpp-sdk&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="71c78e9111d749afb2bfe14dbf7ef0bf46f33b4d9366ecbc51824b375dad0f49"> <div class="Popover-message Popover-message--large Popover-message--top-left TagsearchPopover mt-1 mb-4 mx-auto Box box-shadow-large"> <div class="TagsearchPopover-content js-tagsearch-popover-content overflow-auto" style="will-change:transform;"> </div> </div> </div> <div class="Box-body px-5 pb-5"> <article class="markdown-body entry-content container-lg" itemprop="text"><h1><a id="user-content-firebase-c-open-source-development" class="anchor" aria-hidden="true" href="#firebase-c-open-source-development"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Firebase C++ Open Source Development</h1> <p>The repository contains the Firebase C++ SDK source, with support for Android, iOS, and desktop platforms. It includes the following Firebase libraries:</p> <ul> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/admob/" rel="nofollow">AdMob</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/analytics/" rel="nofollow">Google Analytics for Firebase</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/auth/" rel="nofollow">Firebase Authentication</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/database/" rel="nofollow">Firebase Realtime Database</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/dynamic-links/" rel="nofollow">Firebase Dynamic Links</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/functions/" rel="nofollow">Cloud Functions for Firebase</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/invites/" rel="nofollow">Firebase Invites</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/cloud-messaging/" rel="nofollow">Firebase Cloud Messaging</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/remote-config/" rel="nofollow">Firebase Remote Config</a></li> <li><a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/storage/" rel="nofollow">Cloud Storage for Firebase</a></li> </ul> <p>Firebase is an app development platform with tools to help you build, grow and monetize your app. More information about Firebase can be found at <a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/" rel="nofollow">https://firebase.google.com</a>.</p> <p>More information about the Firebase C++ SDK can be found at <a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/docs/cpp/setup" rel="nofollow">https://firebase.google.com/docs/cpp/setup</a>. Samples on how to use the Firebase C++ SDK can be found at <a href="https://web.archive.org/web/20201101065140/https://github.com/firebase/quickstart-cpp">https://github.com/firebase/quickstart-cpp</a>.</p> <h2><a id="user-content-table-of-contents" class="anchor" aria-hidden="true" href="#table-of-contents"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Table of Contents</h2> <ol> <li><a href="#getting-started">Getting Started</a></li> <li><a href="#prerequisites">Prerequisites</a> <ol> <li><a href="#prerequisites-for-desktop">Prerequisites for Desktop</a></li> <li><a href="#prerequisites-for-android">Prerequisites for Android</a></li> <li><a href="#prerequisites-for-ios">Prerequisites for iOS</a></li> </ol> </li> <li><a href="#building">Building</a> <ol> <li><a href="#building-with-cmake">Building with CMake</a> <ol> <li><a href="#building-with-cmake-for-ios">Building with CMake for iOS</a></li> </ol> </li> <li><a href="#building-with-gradle-for-android">Building with Gradle for Android</a> <ol> <li><a href="#proguard-file-generation">Proguard File Generation</a></li> </ol> </li> </ol> </li> <li><a href="#including-in-projects">Including in Projects</a> <ol> <li><a href="#including-in-cmake-projects">Including in CMake Projects</a></li> <li><a href="#including-in-android-gradle-projects">Including in Android Gradle Projects</a></li> </ol> </li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> </ol> <h2><a id="user-content-getting-started" class="anchor" aria-hidden="true" href="#getting-started"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Getting Started</h2> <p>You can clone the repo with the following command:</p> <div class="highlight highlight-source-shell"><pre>git clone https://github.com/firebase/firebase-cpp-sdk.git</pre></div> <h2><a id="user-content-prerequisites" class="anchor" aria-hidden="true" href="#prerequisites"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Prerequisites</h2> <p>The following prerequisites are required for all platforms. Be sure to add any directories to your PATH as needed.</p> <ul> <li><a href="https://web.archive.org/web/20201101065140/https://cmake.org/" rel="nofollow">CMake</a>, version 3.1, or newer</li> <li><a href="https://web.archive.org/web/20201101065140/https://www.python.com/" rel="nofollow">Python2</a>, version of 2.7, or newer</li> <li><a href="https://web.archive.org/web/20201101065140/https://github.com/abseil/abseil-py">Abseil-py</a></li> </ul> <p>Note: Once python is installed you can use the following commands to install required packages:</p> <ul> <li>python -m ensurepip --default-pip</li> <li>python -m pip install --user absl-py</li> <li>python -m pip install --user protobuf</li> </ul> <h3><a id="user-content-prerequisites-for-desktop" class="anchor" aria-hidden="true" href="#prerequisites-for-desktop"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Prerequisites for Desktop</h3> <p>The following prerequisites are required when building the libraries for desktop platforms.</p> <ul> <li><a href="https://web.archive.org/web/20201101065140/https://www.openssl.org/" rel="nofollow">OpenSSL</a>, needed for Realtime Database</li> <li><a href="https://web.archive.org/web/20201101065140/https://github.com/protocolbuffers/protobuf/blob/master/src/README.md">Protobuf</a>, needed for Remote Config</li> </ul> <h3><a id="user-content-prerequisites-for-windows" class="anchor" aria-hidden="true" href="#prerequisites-for-windows"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Prerequisites for Windows</h3> <p>Prebuilt packages for openssl can be found using google and if CMake fails to find the install path use the command line option <strong>-DOPENSSL_ROOT_DIR=[Open SSL Dir]</strong>.</p> <p>Since there are no prebuilt packages for protobuf, getting it working on Windows is a little tricky. The following steps can be used as a guide:</p> <ul> <li>Download source <a href="https://web.archive.org/web/20201101065140/https://github.com/protocolbuffers/protobuf/releases/download/v3.9.2/protobuf-all-3.9.2.zip">zip from github</a>.</li> <li>Extract source and open command prompt to root folder</li> <li>Make new folder <strong>vsprojects</strong></li> <li>CD to <strong>vsprojects</strong></li> <li>run cmake: <strong>cmake ..\cmake -Dprotobuf_BUILD_TESTS=OFF -A Win32</strong></li> <li>Build solution</li> <li>Add command line define to firebase cmake command (see below) <strong>-DPROTOBUF_SRC_ROOT_FOLDER=[Source Root Folder]</strong></li> </ul> <p>Note: For x64 builds folder needs to be <strong>vsprojects\x64</strong> and change <strong>Win32</strong> in cmake command to <strong>x64</strong></p> <h3><a id="user-content-prerequisites-for-mac" class="anchor" aria-hidden="true" href="#prerequisites-for-mac"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Prerequisites for Mac</h3> <p>Home brew can be used to install required dependencies:</p> <div class="highlight highlight-source-shell"><pre><span class="pl-c"><span class="pl-c">#</span> https://github.com/protocolbuffers/protobuf/blob/master/kokoro/macos/prepare_build_macos_rc#L20</span> ruby -e <span class="pl-s"><span class="pl-pds">"</span><span class="pl-s"><span class="pl-pds">$(</span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install<span class="pl-pds">)</span></span><span class="pl-pds">"</span></span> <span class="pl-c1">source</span> <span class="pl-smi">$HOME</span>/.rvm/scripts/rvm brew install cmake protobuf python2 sudo chown -R <span class="pl-s"><span class="pl-pds">$(</span>whoami<span class="pl-pds">)</span></span> /usr/local</pre></div> <h3><a id="user-content-prerequisites-for-android" class="anchor" aria-hidden="true" href="#prerequisites-for-android"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Prerequisites for Android</h3> <p>The following prerequisites are required when building the libraries for Android.</p> <ul> <li>Android SDK, Android NDK, and CMake for Android (version 3.10.2 recommended) <ul> <li>Download sdkmanager (either independently, or as a part of Android Studio) <a href="https://web.archive.org/web/20201101065140/https://developer.android.com/studio/#downloads" rel="nofollow">here</a></li> <li>Follow <a href="https://web.archive.org/web/20201101065140/https://developer.android.com/studio/projects/add-native-code.html#download-ndk" rel="nofollow">these instructions</a> to install the necessary build tools</li> </ul> </li> <li>(Windows only) <a href="https://web.archive.org/web/20201101065140/https://docs.microsoft.com/en-us/sysinternals/downloads/strings" rel="nofollow">Strings (from Microsoft Sysinternals)</a> <blockquote> <p><strong>Important - Strings EULA</strong> <br> You will have to run Strings once from the command line to accept the EULA before it will work as part of the build process.</p> </blockquote> </li> </ul> <p>Note that we include the Gradle wrapper, which if used will acquire the necessary version of Gradle for you.</p> <h3><a id="user-content-prerequisites-for-ios" class="anchor" aria-hidden="true" href="#prerequisites-for-ios"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Prerequisites for iOS</h3> <p>The following prerequisites are required when building the libraries for iOS.</p> <ul> <li><a href="https://web.archive.org/web/20201101065140/https://cocoapods.org/" rel="nofollow">Cocoapods</a></li> </ul> <h2><a id="user-content-building" class="anchor" aria-hidden="true" href="#building"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Building</h2> <h3><a id="user-content-building-with-cmake" class="anchor" aria-hidden="true" href="#building-with-cmake"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Building with CMake</h3> <p>The build uses CMake to generate the necessary build files, and supports out of source builds. The CMake following targets are available to build and link with:</p> <table> <thead> <tr> <th>Feature</th> <th>CMake Target</th> </tr> </thead> <tbody> <tr> <td>App (base library)</td> <td>firebase_app</td> </tr> <tr> <td>AdMob</td> <td>firebase_admob</td> </tr> <tr> <td>Google Analytics for Firebase</td> <td>firebase_analytics</td> </tr> <tr> <td>Firebase Authentication</td> <td>firebase_auth</td> </tr> <tr> <td>Firebase Realtime Database</td> <td>firebase_database</td> </tr> <tr> <td>Firebase Dynamic Links</td> <td>firebase_dynamic_links</td> </tr> <tr> <td>Cloud Functions for Firebase</td> <td>firebase_functions</td> </tr> <tr> <td>Firebase Invites</td> <td>firebase_invites</td> </tr> <tr> <td>Firebase Cloud Messaging</td> <td>firebase_messaging</td> </tr> <tr> <td>Firebase Remote Config</td> <td>firebase_remote_config</td> </tr> <tr> <td>Cloud Storage for Firebase</td> <td>firebase_storage</td> </tr> </tbody> </table> <p>For example, to build the Analytics library, you could run the following commands:</p> <div class="highlight highlight-source-shell"><pre>mkdir desktop_build <span class="pl-k">&amp;&amp;</span> <span class="pl-c1">cd</span> desktop_build cmake .. cmake --build <span class="pl-c1">.</span> --target firebase_analytics</pre></div> <p>Note that you can provide a different generator on the configure step, for example to generate a project for Visual Studio 2017, you could run:</p> <div class="highlight highlight-source-shell"><pre>cmake -G “Visual Studio 15 2017” ..</pre></div> <p>More information on generators can be found at <a href="https://web.archive.org/web/20201101065140/https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html" rel="nofollow">https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html</a>.</p> <p>By default, when building the SDK, the CMake process will download any third party dependencies that are needed for the build. This logic is in <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/cmake/external_rules.cmake">cmake/external_rules.cmake</a>, and the accompanying <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/cmake/external/CMakeLists.txt">cmake/external/CMakeLists.txt</a>. If you would like to provide your own directory for these dependencies, you can override <code>[[dependency_name]]_SOURCE_DIR</code> and <code>[[dependency_name]]_BINARY_DIR</code>. If the binary directory is not provided, it defaults to the given source directory, appended with <code>-build</code>.</p> <p>For example, to provide a custom flatbuffer directory you could run:</p> <div class="highlight highlight-source-shell"><pre>cmake -DFLATBUFFERS_SOURCE_DIR=/tmp/flatbuffers ..</pre></div> <p>And the binary directory would automatically be set to <code>/tmp/flatbuffers-build</code>.</p> <p>Currently, the third party libraries that can be provided this way are:</p> <table> <thead> <tr> <th>Library</th> </tr> </thead> <tbody> <tr> <td>CURL</td> </tr> <tr> <td>FLATBUFFERS</td> </tr> <tr> <td>LIBUV</td> </tr> <tr> <td>NANOPB</td> </tr> <tr> <td>UWEBSOCKETS</td> </tr> <tr> <td>ZLIB</td> </tr> </tbody> </table> <h4><a id="user-content-building-with-cmake-for-ios" class="anchor" aria-hidden="true" href="#building-with-cmake-for-ios"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Building with CMake for iOS</h4> <p>The Firebase C++ SDK comes with a CMake config file to build the library for iOS platforms, <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/cmake/toolchains/ios.cmake">cmake/toolchains/ios.cmake</a>. In order to build with it, when running the CMake configuration pass it in with the CMAKE_TOOLCHAIN_FILE definition. For example, to build the Analytics library for iOS, you could run the following commands:</p> <div class="highlight highlight-source-shell"><pre>mkdir ios_build <span class="pl-k">&amp;&amp;</span> <span class="pl-c1">cd</span> ios_build cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/ios.cmake .. cmake --build <span class="pl-c1">.</span> --target firebase_analytics</pre></div> <h3><a id="user-content-building-with-gradle-for-android" class="anchor" aria-hidden="true" href="#building-with-gradle-for-android"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Building with Gradle for Android</h3> <p>When building the Firebase C++ SDK for Android, gradle is used in combination with CMake when producing the libraries. Each Firebase feature is its own gradle subproject off of the root directory. The gradle target to build the release version of each Firebase library is:</p> <table> <thead> <tr> <th>Feature</th> <th>Gradle Target</th> </tr> </thead> <tbody> <tr> <td>App (base library)</td> <td>:app:assembleRelease</td> </tr> <tr> <td>AdMob</td> <td>:admob:assembleRelease</td> </tr> <tr> <td>Google Analytics for Firebase</td> <td>:analytics:assembleRelease</td> </tr> <tr> <td>Firebase Authentication</td> <td>:auth:assembleRelease</td> </tr> <tr> <td>Firebase Realtime Database</td> <td>:database:assembleRelease</td> </tr> <tr> <td>Firebase Dynamic Links</td> <td>:dynamic_links:assembleRelease</td> </tr> <tr> <td>Cloud Functions for Firebase</td> <td>:functions:assembleRelease</td> </tr> <tr> <td>Firebase Invites</td> <td>:invites:assembleRelease</td> </tr> <tr> <td>Firebase Cloud Messaging</td> <td>:messaging:assembleRelease</td> </tr> <tr> <td>Firebase Remote Config</td> <td>:remote_config:assembleRelease</td> </tr> <tr> <td>Cloud Storage for Firebase</td> <td>:storage:assembleRelease</td> </tr> </tbody> </table> <p>For example, to build the release version of the Analytics library, you could run the following from the root directory:</p> <div class="highlight highlight-source-shell"><pre>./gradlew :analytics:assembleRelease</pre></div> <h4><a id="user-content-proguard-file-generation" class="anchor" aria-hidden="true" href="#proguard-file-generation"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Proguard File Generation</h4> <p>Note that as part of the build process, each library generates a proguard file that should be included in your application. The generated file is located in each library’s build directory. For example, the Analytics proguard file would be generated to <code>analytics/build/analytics.pro</code>.</p> <h2><a id="user-content-including-in-projects" class="anchor" aria-hidden="true" href="#including-in-projects"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Including in Projects</h2> <h3><a id="user-content-including-in-cmake-projects" class="anchor" aria-hidden="true" href="#including-in-cmake-projects"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Including in CMake Projects</h3> <p>Including the Firebase C++ SDK to another CMake project is fairly straightforward. In the CMakeLists.txt file that wants to include the Firebase C++ SDK, you can use <a href="https://web.archive.org/web/20201101065140/https://cmake.org/cmake/help/latest/command/add_subdirectory.html" rel="nofollow">add_subdirectory</a>, providing the location of the cloned repository. For example, to add Analytics, you could add the following to your CMakeLists.txt file:</p> <div class="highlight highlight-source-cmake"><pre><span class="pl-c1">add_subdirectory</span>( [[Path to the Firebase C++ SDK]] ) <span class="pl-c1">target_link_libraries</span>( [[Your CMake Target]] firebase_analytics firebase_app)</pre></div> <p>Additional examples of how to do this for each library are available in the <a href="https://web.archive.org/web/20201101065140/https://github.com/firebase/quickstart-cpp">C++ Quickstarts</a>.</p> <h3><a id="user-content-including-in-android-gradle-projects" class="anchor" aria-hidden="true" href="#including-in-android-gradle-projects"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Including in Android Gradle Projects</h3> <p>In order to link the Firebase C++ SDK with your gradle project, in addition to the CMake instructions above, you can use <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/Android/firebase_dependencies.gradle">Android/firebase_dependencies.gradle</a> to link the libraries, their dependencies, and the generated proguard files. For example, to add Analytics, you could add the following to your build.gradle file:</p> <div class="highlight highlight-source-groovy-gradle"><pre>apply <span class="pl-c1">from</span>: “[[<span class="pl-k">Path</span> to the <span class="pl-k">Firebase</span> C<span class="pl-k">++</span> <span class="pl-c1">SDK</span>]]<span class="pl-sr"><span class="pl-pds">/</span>Android<span class="pl-pds">/</span></span>firebase_dependencies<span class="pl-k">.</span>gradle” firebaseCpp<span class="pl-k">.</span><span class="pl-en">dependencies</span> { analytics }</pre></div> <p>Additional examples of how to do this for each library are available in the <a href="https://web.archive.org/web/20201101065140/https://github.com/firebase/quickstart-cpp">C++ Quickstarts</a>.</p> <h2><a id="user-content-contributing" class="anchor" aria-hidden="true" href="#contributing"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Contributing</h2> <p>We love contributions, but note that we are still working on setting up our test infrastructure, so we may choose not to accept pull requests until we have a way to validate those changes on GitHub. Please read our <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/CONTRIBUTING.md">contribution guidelines</a> to get started.</p> <h2><a id="user-content-license" class="anchor" aria-hidden="true" href="#license"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>License</h2> <p>The contents of this repository is licensed under the <a href="https://web.archive.org/web/20201101065140/http://www.apache.org/licenses/LICENSE-2.0" rel="nofollow">Apache License, version 2.0</a>.</p> <p>Your use of Firebase is governed by the <a href="https://web.archive.org/web/20201101065140/https://firebase.google.com/terms/" rel="nofollow">Terms of Service for Firebase Services</a>.</p> </article> </div> </div> </div> <div class="flex-shrink-0 col-12 col-md-3"> <div class="BorderGrid BorderGrid--spacious" data-pjax> <div class="BorderGrid-row hide-sm hide-md"> <div class="BorderGrid-cell"> <h2 class="mb-3 h4">About</h2> <p class="f4 mt-3"> Firebase C++ SDK </p> <div class="mt-3 d-flex flex-items-center"> <svg class="octicon octicon-link flex-shrink-0 mr-2" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg> <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a title="http://firebase.google.com" role="link" target="_blank" class="text-bold" rel="noopener noreferrer" href="https://web.archive.org/web/20201101065140/http://firebase.google.com/">firebase.google.com</a> </span> </div> <h3 class="sr-only">Topics</h3> <div class="mt-3"> <div class="f6"> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:cpp" href="/web/20201101065140/https://github.com/topics/cpp" title="Topic: cpp" class="topic-tag topic-tag-link "> cpp </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase" href="/web/20201101065140/https://github.com/topics/firebase" title="Topic: firebase" class="topic-tag topic-tag-link "> firebase </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-database" href="/web/20201101065140/https://github.com/topics/firebase-database" title="Topic: firebase-database" class="topic-tag topic-tag-link "> firebase-database </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-auth" href="/web/20201101065140/https://github.com/topics/firebase-auth" title="Topic: firebase-auth" class="topic-tag topic-tag-link "> firebase-auth </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-authentication" href="/web/20201101065140/https://github.com/topics/firebase-authentication" title="Topic: firebase-authentication" class="topic-tag topic-tag-link "> firebase-authentication </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-functions" href="/web/20201101065140/https://github.com/topics/firebase-functions" title="Topic: firebase-functions" class="topic-tag topic-tag-link "> firebase-functions </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-realtime-database" href="/web/20201101065140/https://github.com/topics/firebase-realtime-database" title="Topic: firebase-realtime-database" class="topic-tag topic-tag-link "> firebase-realtime-database </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-storage" href="/web/20201101065140/https://github.com/topics/firebase-storage" title="Topic: firebase-storage" class="topic-tag topic-tag-link "> firebase-storage </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-sdk" href="/web/20201101065140/https://github.com/topics/firebase-sdk" title="Topic: firebase-sdk" class="topic-tag topic-tag-link "> firebase-sdk </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-cloud-messaging" href="/web/20201101065140/https://github.com/topics/firebase-cloud-messaging" title="Topic: firebase-cloud-messaging" class="topic-tag topic-tag-link "> firebase-cloud-messaging </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-cloud-functions" href="/web/20201101065140/https://github.com/topics/firebase-cloud-functions" title="Topic: firebase-cloud-functions" class="topic-tag topic-tag-link "> firebase-cloud-functions </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-db" href="/web/20201101065140/https://github.com/topics/firebase-db" title="Topic: firebase-db" class="topic-tag topic-tag-link "> firebase-db </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-admob" href="/web/20201101065140/https://github.com/topics/firebase-admob" title="Topic: firebase-admob" class="topic-tag topic-tag-link "> firebase-admob </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-analytics" href="/web/20201101065140/https://github.com/topics/firebase-analytics" title="Topic: firebase-analytics" class="topic-tag topic-tag-link "> firebase-analytics </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-remote-config" href="/web/20201101065140/https://github.com/topics/firebase-remote-config" title="Topic: firebase-remote-config" class="topic-tag topic-tag-link "> firebase-remote-config </a> <a data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:firebase-invite" href="/web/20201101065140/https://github.com/topics/firebase-invite" title="Topic: firebase-invite" class="topic-tag topic-tag-link "> firebase-invite </a> </div> </div> <h3 class="sr-only">Resources</h3> <div class="mt-3"> <a class="muted-link" href="#readme"> <svg class="octicon octicon-book mr-2" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path></svg> Readme </a> </div> <h3 class="sr-only">License</h3> <div class="mt-3"> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/blob/master/LICENSE" class="muted-link"> <svg class="octicon octicon-law mr-2" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z"></path></svg> Apache-2.0 License </a> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/releases" class="link-gray-dark no-underline "> Releases <span title="14" class="Counter ">14</span> </a></h2> <a class="link-gray-dark d-flex no-underline" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/releases/tag/v6.16.0"> <svg class="octicon octicon-tag flex-shrink-0 mt-1 text-green" height="16" viewbox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"></path></svg> <div class="ml-2 min-width-0"> <div class="d-flex"> <span class="css-truncate css-truncate-target text-bold mr-2" style="max-width: none;">Firebase C++ SDK 6.16.0</span> <span title="Label: Latest" class="Label Label--green flex-shrink-0"> Latest </span> </div> <div class="text-small text-gray"><relative-time datetime="2020-10-06T19:29:08Z" class="no-wrap">Oct 6, 2020</relative-time></div> </div> </a> <div class="mt-3"> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/releases" class="text-small"> + 13 releases </a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/web/20201101065140/https://github.com/orgs/firebase/packages?repo_name=firebase-cpp-sdk" class="link-gray-dark no-underline "> Packages <span title="0" hidden="hidden" class="Counter ">0</span> </a></h2> <div class="text-small color-text-secondary"> No packages published <br> </div> </div> </div> <div class="BorderGrid-row" hidden> <div class="BorderGrid-cell"> <include-fragment src="/firebase/firebase-cpp-sdk/used_by_list" accept="text/fragment+html"> </include-fragment> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/graphs/contributors" class="link-gray-dark no-underline "> Contributors <span title="12" class="Counter ">12</span> </a></h2> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/a-maurice/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/a-maurice"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/10678845?s=64&amp;v=4" width="32" height="32" alt="@a-maurice"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/jonsimantov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/jonsimantov"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars3.githubusercontent.com/u/8334459?s=64&amp;v=4" width="32" height="32" alt="@jonsimantov"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/alexames/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/alexames"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars1.githubusercontent.com/u/531549?s=64&amp;v=4" width="32" height="32" alt="@alexames"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/stewartmiles/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/stewartmiles"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars0.githubusercontent.com/u/6042948?s=64&amp;v=4" width="32" height="32" alt="@stewartmiles"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/wilhuff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/wilhuff"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/10249104?s=64&amp;v=4" width="32" height="32" alt="@wilhuff"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/chkuang-g/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/chkuang-g"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/31869252?s=64&amp;v=4" width="32" height="32" alt="@chkuang-g"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/var-const/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/var-const"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars0.githubusercontent.com/u/8216808?s=64&amp;v=4" width="32" height="32" alt="@var-const"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/ryanmeier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/ryanmeier"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/8344921?s=64&amp;v=4" width="32" height="32" alt="@ryanmeier"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/wu-hui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/wu-hui"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/53845758?s=64&amp;v=4" width="32" height="32" alt="@wu-hui"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/DellaBitta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/DellaBitta"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars2.githubusercontent.com/u/8961614?s=64&amp;v=4" width="32" height="32" alt="@DellaBitta"/> </a> </li> <li class="mb-2 mr-2"> <a class="" data-hovercard-type="user" data-hovercard-url="/users/anonymous-akorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20201101065140/https://github.com/anonymous-akorn"> <img class="d-block avatar-user" src="https://web.archive.org/web/20201101065140im_/https://avatars3.githubusercontent.com/u/66133366?s=64&amp;v=4" width="32" height="32" alt="@anonymous-akorn"/> </a> </li> </ul> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3">Languages</h2> <div class="mb-2"> <span class="Progress "> <span itemprop="keywords" aria-label="C++ 81.3" style="background-color: #f34b7d;width: 81.3%;" class="Progress-item "></span> <span itemprop="keywords" aria-label="Objective-C++ 6.8" style="background-color: #6866fb;width: 6.8%;" class="Progress-item "></span> <span itemprop="keywords" aria-label="Objective-C 4.8" style="background-color: #438eff;width: 4.8%;" class="Progress-item "></span> <span itemprop="keywords" aria-label="Java 3.8" style="background-color: #b07219;width: 3.8%;" class="Progress-item "></span> <span itemprop="keywords" aria-label="CMake 2.0" style="background-color: #ccc;width: 2.0%;" class="Progress-item "></span> <span itemprop="keywords" aria-label="Python 0.9" style="background-color: #3572A5;width: 0.9%;" class="Progress-item "></span> <span itemprop="keywords" aria-label="Other 0.4" style="background-color: #ededed;width: 0.4%;" class="Progress-item "></span> </span></div> <ul class="list-style-none"> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap link-gray no-underline text-small mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search?l=c%2B%2B" data-ga-click="Repository, language stats search click, location:repo overview"> <svg class="octicon octicon-dot-fill mr-2" style="color:#f34b7d;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">C++</span> <span>81.3%</span> </a> </li> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap link-gray no-underline text-small mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search?l=objective-c%2B%2B" data-ga-click="Repository, language stats search click, location:repo overview"> <svg class="octicon octicon-dot-fill mr-2" style="color:#6866fb;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">Objective-C++</span> <span>6.8%</span> </a> </li> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap link-gray no-underline text-small mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search?l=objective-c" data-ga-click="Repository, language stats search click, location:repo overview"> <svg class="octicon octicon-dot-fill mr-2" style="color:#438eff;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">Objective-C</span> <span>4.8%</span> </a> </li> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap link-gray no-underline text-small mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search?l=java" data-ga-click="Repository, language stats search click, location:repo overview"> <svg class="octicon octicon-dot-fill mr-2" style="color:#b07219;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">Java</span> <span>3.8%</span> </a> </li> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap link-gray no-underline text-small mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search?l=cmake" data-ga-click="Repository, language stats search click, location:repo overview"> <svg class="octicon octicon-dot-fill mr-2" style="color:#ccc;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">CMake</span> <span>2.0%</span> </a> </li> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap link-gray no-underline text-small mr-3" href="/web/20201101065140/https://github.com/firebase/firebase-cpp-sdk/search?l=python" data-ga-click="Repository, language stats search click, location:repo overview"> <svg class="octicon octicon-dot-fill mr-2" style="color:#3572A5;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">Python</span> <span>0.9%</span> </a> </li> <li class="d-inline"> <span class="d-inline-flex flex-items-center flex-nowrap text-small mr-3"> <svg class="octicon octicon-dot-fill mr-2" style="color:#ededed;" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg> <span class="text-gray-dark text-bold mr-1">Other</span> <span>0.4%</span> </span> </li> </ul> </div> </div> </div> </div></div> </div> </div> </main> </div> </div> <div class="footer container-xl width-full p-responsive" role="contentinfo"> <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between flex-sm-items-center pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mr-lg-4" href="https://web.archive.org/web/20201101065140/https://github.com/"> <svg height="24" class="octicon octicon-mark-github" viewbox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> <ul class="list-style-none d-flex flex-wrap col-12 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> <li class="mr-3 mr-lg-0">&copy; 2020 GitHub, Inc.</li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to terms, text:terms" href="https://web.archive.org/web/20201101065140/https://github.com/site/terms">Terms</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://web.archive.org/web/20201101065140/https://github.com/site/privacy">Privacy</a></li> <li class="js-cookie-consent-preferences-link-container mr-3 mr-lg-0" hidden="hidden"> <button data-ga-click="Footer, go to cookie preferences, text:cookie preferences" class="btn-link js-cookie-consent-preferences-link" type="button">Cookie Preferences</button> </li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to security, text:security" href="https://web.archive.org/web/20201101065140/https://github.com/security">Security</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20201101065140/https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to help, text:help" href="https://web.archive.org/web/20201101065140/https://docs.github.com/">Help</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to contact, text:contact" href="https://web.archive.org/web/20201101065140/https://github.com/contact">Contact GitHub</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20201101065140/https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20201101065140/https://docs.github.com/" data-ga-click="Footer, go to api, text:api">API</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20201101065140/https://services.github.com/" data-ga-click="Footer, go to training, text:training">Training</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20201101065140/https://github.blog/" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to about, text:about" href="https://web.archive.org/web/20201101065140/https://github.com/about">About</a></li> </ul> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 text-gray-light"></span> </div> </div> <div id="ajax-error-message" class="ajax-error-message flash flash-error"> <svg class="octicon octicon-alert" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg class="octicon octicon-x" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden> <svg class="octicon octicon-alert" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> </div> </div> <div class="js-cookie-consent-banner" hidden> <div class="hx_cookie-banner p-2 p-sm-3 p-md-4"> <div style="max-width: 1194px;" class="Box hx_cookie-banner-box box-shadow-medium mx-auto"> <div class="Box-body border-0 py-0 px-3 px-md-4"> <div class="js-main-cookie-banner hx_cookie-banner-main"> <div class="d-md-flex flex-items-center py-3"> <p class="f5 flex-1 mb-3 mb-md-0"> We use <span class="text-bold">optional</span> third-party analytics cookies to understand how you use GitHub.com so we can build better products. <span class="btn-link js-cookie-consent-learn-more">Learn more</span>. </p> <div class="d-flex d-md-block flex-wrap flex-sm-nowrap"> <button class="btn btn-outline flex-1 mr-1 mx-sm-1 m-md-0 ml-md-2 js-cookie-consent-accept">Accept</button> <button class="btn btn-outline flex-1 ml-1 m-md-0 ml-md-2 js-cookie-consent-reject">Reject</button> </div> </div> </div> <div class="js-cookie-details hx_cookie-banner-details" hidden> <div class="d-md-flex flex-items-center py-3"> <p class="f5 flex-1 mb-2 mb-md-0"> We use <span class="text-bold">optional</span> third-party analytics cookies to understand how you use GitHub.com so we can build better products. <br> You can always update your selection by clicking <span class="text-bold">Cookie Preferences</span> at the bottom of the page. For more information, see our <a href="https://web.archive.org/web/20201101065140/https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-privacy-statement">Privacy Statement</a>. </p> </div> <div class="d-md-flex flex-items-center py-3 border-top"> <div class="f5 flex-1 mb-2 mb-md-0"> <h5 class="mb-1">Essential cookies</h5> <p class="f6 mb-md-0">We use essential cookies to perform essential website functions, e.g. they're used to log you in. <a href="https://web.archive.org/web/20201101065140/https://docs.github.com/en/github/site-policy/github-subprocessors-and-cookies">Learn more</a> </p> </div> <div class="text-right"> <h5 class="text-blue">Always active</h5> </div> </div> <div class="d-md-flex flex-items-center py-3 border-top"> <div class="f5 flex-1 mb-2 mb-md-0"> <h5 class="mb-1">Analytics cookies</h5> <p class="f6 mb-md-0">We use analytics cookies to understand how you use our websites so we can make them better, e.g. they're used to gather information about the pages you visit and how many clicks you need to accomplish a task. <a href="https://web.archive.org/web/20201101065140/https://docs.github.com/en/github/site-policy/github-subprocessors-and-cookies">Learn more</a> </p> </div> <div class="text-right"> <div class="BtnGroup mt-1 mt-md-0 ml-2"> <button class="btn btn-outline BtnGroup-item js-accept-analytics-cookies" type="button">Accept</button> <button class="btn btn-outline BtnGroup-item js-reject-analytics-cookies" type="button">Reject</button> </div> </div> </div> <div class="text-right py-3 border-top"> <button class="btn btn-primary js-save-cookie-preferences" type="button" disabled>Save preferences</button> </div> </div> </div></div> </div> </div> </body> </html> <!-- FILE ARCHIVED ON 06:51:40 Nov 01, 2020 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 22:19:56 Dec 04, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.632 exclusion.robots: 0.034 exclusion.robots.policy: 0.022 esindex: 0.013 cdx.remote: 6.736 LoadShardBlock: 168.508 (3) PetaboxLoader3.datanode: 181.963 (4) PetaboxLoader3.resolve: 103.37 (2) load_resource: 144.885 -->

Pages: 1 2 3 4 5 6 7 8 9 10