You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

440 lines
44 KiB

1 year ago
  1. <!DOCTYPE html>
  2. <html class="with-header with-top-bar " lang="en">
  3. <head prefix="og: http://ogp.me/ns#">
  4. <meta charset="utf-8">
  5. <meta content="IE=edge" http-equiv="X-UA-Compatible">
  6. <meta content="width=device-width, initial-scale=1" name="viewport">
  7. <title>static/favicon.ico · master · Vinay Keshava / vinay-keshava.gitlab.io · GitLab</title>
  8. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  9. //<![CDATA[
  10. window.gon={};gon.features={"highlightJsWorker":false,"explainCodeChat":false,"remoteDevelopmentFeatureFlag":true};gon.licensed_features={"remoteDevelopment":true};
  11. //]]>
  12. </script>
  13. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  14. //<![CDATA[
  15. var gl = window.gl || {};
  16. gl.startup_calls = {"/vinay-keshava/vinay-keshava.gitlab.io/-/blob/master/static/favicon.ico?format=json\u0026ref_type=heads\u0026viewer=rich":{}};
  17. gl.startup_graphql_calls = [{"query":"query getBlobInfo(\n $projectPath: ID!\n $filePath: String!\n $ref: String!\n $refType: RefType\n $shouldFetchRawText: Boolean!\n) {\n project(fullPath: $projectPath) {\n __typename\n id\n repository {\n __typename\n empty\n blobs(paths: [$filePath], ref: $ref, refType: $refType) {\n __typename\n nodes {\n __typename\n id\n webPath\n name\n size\n rawSize\n rawTextBlob @include(if: $shouldFetchRawText)\n fileType\n language\n path\n blamePath\n editBlobPath\n gitpodBlobUrl\n ideEditPath\n forkAndEditPath\n ideForkAndEditPath\n codeNavigationPath\n projectBlobPathRoot\n forkAndViewPath\n environmentFormattedExternalUrl\n environmentExternalUrlForRouteMap\n canModifyBlob\n canCurrentUserPushToBranch\n archived\n storedExternally\n externalStorage\n externalStorageUrl\n rawPath\n replacePath\n pipelineEditorPath\n simpleViewer {\n fileType\n tooLarge\n type\n renderError\n }\n richViewer {\n fileType\n tooLarge\n type\n renderError\n }\n }\n }\n }\n }\n}\n","variables":{"projectPath":"vinay-keshava/vinay-keshava.gitlab.io","ref":"master","refType":"heads","filePath":"static/favicon.ico","shouldFetchRawText":false}}];
  18. if (gl.startup_calls && window.fetch) {
  19. Object.keys(gl.startup_calls).forEach(apiCall => {
  20. gl.startup_calls[apiCall] = {
  21. fetchCall: fetch(apiCall, {
  22. // Emulate XHR for Rails AJAX request checks
  23. headers: {
  24. 'X-Requested-With': 'XMLHttpRequest'
  25. },
  26. // fetch won’t send cookies in older browsers, unless you set the credentials init option.
  27. // We set to `same-origin` which is default value in modern browsers.
  28. // See https://github.com/whatwg/fetch/pull/585 for more information.
  29. credentials: 'same-origin'
  30. })
  31. };
  32. });
  33. }
  34. if (gl.startup_graphql_calls && window.fetch) {
  35. const headers = {"X-CSRF-Token":"SYDyFq2bY1fIewekhc2tV-rQYlZVy51Xfg2mzOwesI03P5YDj7k3j64udGVQbR3kIj8_fcX1_3ey1ax-LiGEnw","x-gitlab-feature-category":"source_code_management"};
  36. const url = `https://gitlab.com/api/graphql`
  37. const opts = {
  38. method: "POST",
  39. headers: {
  40. "Content-Type": "application/json",
  41. ...headers,
  42. }
  43. };
  44. gl.startup_graphql_calls = gl.startup_graphql_calls.map(call => ({
  45. ...call,
  46. fetchCall: fetch(url, {
  47. ...opts,
  48. credentials: 'same-origin',
  49. body: JSON.stringify(call)
  50. })
  51. }))
  52. }
  53. //]]>
  54. </script>
  55. <link rel="prefetch" href="/assets/webpack/monaco.0272a49d.chunk.js">
  56. <link rel="stylesheet" href="/assets/themes/theme_light_gray-3709fdfdb1600922d90063efdcf592c5e03aeccf4bfff84771ee72cd6ea73a58.css" />
  57. <link rel="stylesheet" href="/assets/application-c10b409df4222d166bfe9b34b787e05a671f9116b47ee10265029bfda6c5305b.css" media="all" />
  58. <link rel="stylesheet" href="/assets/page_bundles/tree-7eb97b0bf23760737864cc9c5cd5c9f23c3de24178d1b9393cea9f64caca3bcd.css" media="all" />
  59. <link rel="stylesheet" href="/assets/application_utilities-2531e4e6ef42e4af0a1b836590e0b362055984d2fa233ae3c5b07d7c4a2761fd.css" media="all" />
  60. <link rel="stylesheet" href="/assets/fonts-171e1863d044918ea3bbaacf2a559ccaac603904aa851c3add5b714fa7066468.css" media="all" />
  61. <link rel="stylesheet" href="/assets/highlight/themes/white-0163ec1ff3033e0ebaf2e7700680941596e39d73535518445a42947430b7d452.css" media="all" />
  62. <script src="/assets/webpack/runtime.36e94899.bundle.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  63. <script src="/assets/webpack/main.ef7886bd.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  64. <script src="/assets/webpack/tracker.167e16c1.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  65. <script src="/assets/webpack/analytics.77d1fc84.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  66. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  67. //<![CDATA[
  68. window.snowplowOptions = {"namespace":"gl","hostname":"snowplow.trx.gitlab.net","cookieDomain":".gitlab.com","appId":"gitlab","formTracking":true,"linkClickTracking":true}
  69. gl = window.gl || {};
  70. gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-0-9","data":{"environment":"production","source":"gitlab-rails","plan":"free","extra":{"new_nav":true},"user_id":null,"is_gitlab_team_member":null,"namespace_id":13499088,"project_id":43301504,"context_generated_at":"2023-09-21T07:39:00.421Z"}}
  71. gl.snowplowPseudonymizedPageUrl = "https://gitlab.com/namespace13499088/project43301504/-/blob/:repository_path?ref_type=masked_ref_type";
  72. //]]>
  73. </script>
  74. <link rel="preload" href="/assets/application_utilities-2531e4e6ef42e4af0a1b836590e0b362055984d2fa233ae3c5b07d7c4a2761fd.css" as="style" type="text/css" nonce="f0fCEEg3gqdLP7r/64VFsg==">
  75. <link rel="preload" href="/assets/application-c10b409df4222d166bfe9b34b787e05a671f9116b47ee10265029bfda6c5305b.css" as="style" type="text/css" nonce="f0fCEEg3gqdLP7r/64VFsg==">
  76. <link rel="preload" href="/assets/highlight/themes/white-0163ec1ff3033e0ebaf2e7700680941596e39d73535518445a42947430b7d452.css" as="style" type="text/css" nonce="f0fCEEg3gqdLP7r/64VFsg==">
  77. <link crossorigin="" href="https://snowplow.trx.gitlab.net" rel="preconnect">
  78. <link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-1e0a5107ea3bbd4be93e8ad2c503467e43166cd37e4293570b490e0812ede98b.woff2" rel="preload">
  79. <link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-08d2c5e8ff8fd3d2d6ec55bc7713380f8981c35f9d2df14e12b835464d6e8f23.woff2" rel="preload">
  80. <link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-Italic-38e58d8df29485a20c550da1d0111e2c2169f6dcbcf894f2cd3afbdd97bcc588.woff2" rel="preload">
  81. <link rel="preload" href="/assets/fonts-171e1863d044918ea3bbaacf2a559ccaac603904aa851c3add5b714fa7066468.css" as="style" type="text/css" nonce="f0fCEEg3gqdLP7r/64VFsg==">
  82. <script src="/assets/webpack/sentry.4108e3de.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  83. <script src="/assets/webpack/commons-pages.search.show-super_sidebar.73f908cb.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  84. <script src="/assets/webpack/super_sidebar.b3fac077.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  85. <script src="/assets/webpack/shortcutsBundle.5aa143c0.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  86. <script src="/assets/webpack/commons-pages.groups.boards-pages.groups.details-pages.groups.epic_boards-pages.groups.show-pages.gr-abad4194.dee07de1.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  87. <script src="/assets/webpack/commons-pages.admin.runners.show-pages.groups.achievements-pages.groups.analytics.dashboards-pages.g-a4437111.fa452e74.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  88. <script src="/assets/webpack/commons-pages.admin.subscriptions.show-pages.groups.security.policies.edit-pages.groups.security.pol-6bfecbfa.19191d6d.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  89. <script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.show-pages.projects.snippets.edit-pages.projects.sni-42df7d4c.ea7c5d62.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  90. <script src="/assets/webpack/101.f8b5f00d.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  91. <script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.show-pages.projects.snippets.show-pages.projects.tre-c684fcf6.f39a290e.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  92. <script src="/assets/webpack/119.5e0bffe2.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  93. <script src="/assets/webpack/commons-pages.groups.show-pages.projects.blob.show-pages.projects.show-pages.projects.tree.show.70426d18.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  94. <script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.show-pages.projects.tree.show.29f3cb59.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  95. <script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.tree.show-treeList.9f41420a.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  96. <script src="/assets/webpack/pages.projects.blob.show.682a2a9b.chunk.js" defer="defer" nonce="KET0imdVRnOQ4uMmzpsLCw=="></script>
  97. <meta content="object" property="og:type">
  98. <meta content="GitLab" property="og:site_name">
  99. <meta content="static/favicon.ico · master · Vinay Keshava / vinay-keshava.gitlab.io · GitLab" property="og:title">
  100. <meta content="GitLab.com" property="og:description">
  101. <meta content="https://gitlab.com/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="og:image">
  102. <meta content="64" property="og:image:width">
  103. <meta content="64" property="og:image:height">
  104. <meta content="https://gitlab.com/vinay-keshava/vinay-keshava.gitlab.io/-/blob/master/static/favicon.ico?ref_type=heads" property="og:url">
  105. <meta content="summary" property="twitter:card">
  106. <meta content="static/favicon.ico · master · Vinay Keshava / vinay-keshava.gitlab.io · GitLab" property="twitter:title">
  107. <meta content="GitLab.com" property="twitter:description">
  108. <meta content="https://gitlab.com/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="twitter:image">
  109. <meta name="csrf-param" content="authenticity_token" />
  110. <meta name="csrf-token" content="OJ642yZHItiCItogWO9yE-l9HJLg9JGUzgXyc9JHbCpGIdzOBGV2AOR3qeGNT8KgIZJBuXDK87QC3fjBEHhYOA" />
  111. <meta name="csp-nonce" content="KET0imdVRnOQ4uMmzpsLCw==" />
  112. <meta name="action-cable-url" content="/-/cable" />
  113. <link href="/-/manifest.json" rel="manifest">
  114. <link rel="icon" type="image/png" href="/assets/favicon-72a2cad5025aa931d6ea56c3201d1f18e68a8cd39788c7c80d5b2b82aa5143ef.png" id="favicon" data-original-href="/assets/favicon-72a2cad5025aa931d6ea56c3201d1f18e68a8cd39788c7c80d5b2b82aa5143ef.png" />
  115. <link rel="apple-touch-icon" type="image/x-icon" href="/assets/apple-touch-icon-b049d4bc0dd9626f31db825d61880737befc7835982586d015bded10b4435460.png" />
  116. <link href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml">
  117. <meta content="GitLab.com" name="description">
  118. <meta content="#ececef" name="theme-color">
  119. </head>
  120. <body class="ui-light-gray tab-width-8 gl-browser-generic gl-platform-other" data-find-file="/vinay-keshava/vinay-keshava.gitlab.io/-/find_file/master" data-namespace-id="13499088" data-page="projects:blob:show" data-page-type-id="master/static/favicon.ico" data-project="vinay-keshava.gitlab.io" data-project-id="43301504">
  121. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  122. //<![CDATA[
  123. gl = window.gl || {};
  124. gl.client = {"isGeneric":true,"isOther":true};
  125. //]]>
  126. </script>
  127. <header class="navbar navbar-gitlab super-sidebar-logged-out" data-testid="navbar">
  128. <a class="gl-sr-only gl-accessibility" href="#content-body">Skip to content</a>
  129. <div class="container-fluid">
  130. <div class="header-content gl-displax-flex">
  131. <div class="title-container gl-display-flex gl-align-items-stretch gl-pt-0 gl-mr-3">
  132. <div class="title">
  133. <span class="gl-sr-only">GitLab</span>
  134. <a title="Homepage" id="logo" class="has-tooltip" data-track-label="main_navigation" data-track-action="click_gitlab_logo_link" data-track-property="navigation_top" href="/"><svg role="img" class="tanuki-logo" width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
  135. <path class="tanuki-shape tanuki" d="m24.507 9.5-.034-.09L21.082.562a.896.896 0 0 0-1.694.091l-2.29 7.01H7.825L5.535.653a.898.898 0 0 0-1.694-.09L.451 9.411.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 2.56 1.935 1.554 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z"
  136. fill="#E24329"/>
  137. <path class="tanuki-shape right-cheek" d="m24.507 9.5-.034-.09a11.44 11.44 0 0 0-4.56 2.051l-7.447 5.632 4.742 3.584 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z"
  138. fill="#FC6D26"/>
  139. <path class="tanuki-shape chin" d="m7.707 20.677 2.56 1.935 1.555 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935-4.743-3.584-4.755 3.584Z"
  140. fill="#FCA326"/>
  141. <path class="tanuki-shape left-cheek" d="M5.01 11.461a11.43 11.43 0 0 0-4.56-2.05L.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 4.745-3.584-7.444-5.632Z"
  142. fill="#FC6D26"/>
  143. </svg>
  144. </a><div class="gl-display-flex gl-align-items-center">
  145. </div>
  146. </div>
  147. <ul class="nav navbar-sub-nav gl-align-items-center gl-display-flex gl-flex-direction-row gl-flex-grow-1">
  148. <li class="nav-item dropdown gl-mr-3 gl-md-display-none">
  149. <button data-toggle="dropdown" type="button">
  150. <span class="gl-sr-only">
  151. Menu
  152. </span>
  153. <svg class="s16" data-testid="hamburger-icon"><use href="/assets/icons-3591e1b0dc5b9091969f4b703f7bdaffa0ca7b2c7953b0f3a7e7dc1e71c3e43d.svg#hamburger"></use></svg>
  154. </button>
  155. <div class="dropdown-menu">
  156. <ul>
  157. <li>
  158. <a href="https://about.gitlab.com/why-gitlab">Why GitLab
  159. </a></li>
  160. <li>
  161. <a href="https://about.gitlab.com/pricing">Pricing
  162. </a></li>
  163. <li>
  164. <a href="https://about.gitlab.com/sales">Contact Sales
  165. </a></li>
  166. <li>
  167. <a href="/explore">Explore</a>
  168. </li>
  169. </ul>
  170. </div>
  171. </li>
  172. <li class="nav-item gl-mr-3 gl-display-none gl-md-display-inline-block">
  173. <a href="https://about.gitlab.com/why-gitlab">Why GitLab
  174. </a></li>
  175. <li class="nav-item gl-mr-3 gl-display-none gl-md-display-inline-block">
  176. <a href="https://about.gitlab.com/pricing">Pricing
  177. </a></li>
  178. <li class="nav-item gl-mr-3 gl-display-none gl-md-display-inline-block">
  179. <a href="https://about.gitlab.com/sales">Contact Sales
  180. </a></li>
  181. <li class="nav-item gl-display-none gl-md-display-inline-block">
  182. <a class="" href="/explore">Explore</a>
  183. </li>
  184. </ul>
  185. </div>
  186. <ul class="nav navbar-nav gl-align-items-center gl-justify-content-end gl-flex-direction-row">
  187. <li class="nav-item gl-mr-3">
  188. <a href="/users/sign_in?redirect_to_referer=yes">Sign in</a>
  189. </li>
  190. <li>
  191. <a class="gl-button btn btn-md btn-confirm " href="/users/sign_up"><span class="gl-button-text">
  192. Get free trial
  193. </span>
  194. </a></li>
  195. </ul>
  196. </div>
  197. </div>
  198. </header>
  199. <div class="layout-page hide-when-top-nav-responsive-open page-with-super-sidebar">
  200. <aside class="js-super-sidebar super-sidebar super-sidebar-loading" data-command-palette="{&quot;project_files_url&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/files/master?format=json&quot;,&quot;project_blob_url&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/blob/master&quot;}" data-force-desktop-expanded-sidebar="" data-root-path="/" data-sidebar="{&quot;is_logged_in&quot;:false,&quot;context_switcher_links&quot;:[{&quot;title&quot;:&quot;Explore&quot;,&quot;link&quot;:&quot;/explore&quot;,&quot;icon&quot;:&quot;compass&quot;}],&quot;current_menu_items&quot;:[{&quot;id&quot;:&quot;project_overview&quot;,&quot;title&quot;:&quot;vinay-keshava.gitlab.io&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:43301504,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-project rspec-project-link&quot;,&quot;is_active&quot;:false},{&quot;title&quot;:&quot;Manage&quot;,&quot;icon&quot;:&quot;users&quot;,&quot;avatar&quot;:null,&quot;avatar_shape&quot;:&quot;rect&quot;,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/activity&quot;,&quot;is_active&quot;:false,&quot;pill_count&quot;:null,&quot;items&quot;:[{&quot;id&quot;:&quot;activity&quot;,&quot;title&quot;:&quot;Activity&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/activity&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-project-activity&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;members&quot;,&quot;title&quot;:&quot;Members&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/project_members&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:null,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;labels&quot;,&quot;title&quot;:&quot;Labels&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/labels&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:null,&quot;is_active&quot;:false}],&quot;separated&quot;:false},{&quot;title&quot;:&quot;Plan&quot;,&quot;icon&quot;:&quot;planning&quot;,&quot;avatar&quot;:null,&quot;avatar_shape&quot;:&quot;rect&quot;,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/issues&quot;,&quot;is_active&quot;:false,&quot;pill_count&quot;:null,&quot;items&quot;:[{&quot;id&quot;:&quot;project_issue_list&quot;,&quot;title&quot;:&quot;Issues&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/issues&quot;,&quot;pill_count&quot;:&quot;0&quot;,&quot;link_classes&quot;:&quot;shortcuts-issues has-sub-items&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;boards&quot;,&quot;title&quot;:&quot;Issue boards&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/boards&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-issue-boards&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;milestones&quot;,&quot;title&quot;:&quot;Milestones&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/milestones&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:null,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;project_wiki&quot;,&quot;title&quot;:&quot;Wiki&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/vinay-keshava/vinay-keshava.gitlab.io/-/wikis/home&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-wiki&quot;,&quot;is_active&quot;:false}],&quot;separated&quot;:false},{&quot;title&quot;:&quot;Code&quot;,&quot;icon&quot;:&quot;code&quot;,&quot;avatar&quot;:nu
  201. <div data-version-digest="4ecbf57547986d3149a533d5ec774acc5c461a1f1c1675d73c8b48d00bc27827" id="whats-new-app"></div>
  202. <div class="content-wrapper">
  203. <div class="mobile-overlay"></div>
  204. <div class="alert-wrapper gl-force-block-formatting-context">
  205. <div class="top-bar-fixed container-fluid" data-testid="top-bar">
  206. <div class="top-bar-container gl-display-flex gl-align-items-center gl-gap-2">
  207. <button class="gl-button btn btn-icon btn-md btn-default btn-default-tertiary js-super-sidebar-toggle-expand super-sidebar-toggle gl-ml-n3" title="Expand sidebar" aria-controls="super-sidebar" aria-expanded="false" aria-label="Navigation sidebar" type="button"><svg class="s16 gl-icon gl-button-icon " data-testid="sidebar-icon"><use href="/assets/icons-3591e1b0dc5b9091969f4b703f7bdaffa0ca7b2c7953b0f3a7e7dc1e71c3e43d.svg#sidebar"></use></svg>
  208. </button>
  209. <nav aria-label="Breadcrumbs" class="breadcrumbs" data-qa-selector="breadcrumb_links_content" data-testid="breadcrumb-links">
  210. <ul class="list-unstyled breadcrumbs-list js-breadcrumbs-list">
  211. <li><a href="/vinay-keshava">Vinay Keshava</a><svg class="s8 breadcrumbs-list-angle" data-testid="chevron-lg-right-icon"><use href="/assets/icons-3591e1b0dc5b9091969f4b703f7bdaffa0ca7b2c7953b0f3a7e7dc1e71c3e43d.svg#chevron-lg-right"></use></svg></li> <li><a href="/vinay-keshava/vinay-keshava.gitlab.io"><span class="breadcrumb-item-text js-breadcrumb-item-text">vinay-keshava.gitlab.io</span></a><svg class="s8 breadcrumbs-list-angle" data-testid="chevron-lg-right-icon"><use href="/assets/icons-3591e1b0dc5b9091969f4b703f7bdaffa0ca7b2c7953b0f3a7e7dc1e71c3e43d.svg#chevron-lg-right"></use></svg></li>
  212. <li data-qa-selector="breadcrumb_current_link" data-testid="breadcrumb-current-link">
  213. <a href="/vinay-keshava/vinay-keshava.gitlab.io/-/blob/master/static/favicon.ico?ref_type=heads">Repository</a>
  214. </li>
  215. </ul>
  216. <script type="application/ld+json">
  217. {"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Vinay Keshava","item":"https://gitlab.com/vinay-keshava"},{"@type":"ListItem","position":2,"name":"vinay-keshava.gitlab.io","item":"https://gitlab.com/vinay-keshava/vinay-keshava.gitlab.io"},{"@type":"ListItem","position":3,"name":"Repository","item":"https://gitlab.com/vinay-keshava/vinay-keshava.gitlab.io/-/blob/master/static/favicon.ico?ref_type=heads"}]}
  218. </script>
  219. </nav>
  220. </div>
  221. </div>
  222. </div>
  223. <div class="container-fluid container-limited project-highlight-puc">
  224. <main class="content" id="content-body" itemscope itemtype="http://schema.org/SoftwareSourceCode">
  225. <div class="flash-container flash-container-page sticky" data-qa-selector="flash_container">
  226. </div>
  227. <div class="js-signature-container" data-signatures-path="/vinay-keshava/vinay-keshava.gitlab.io/-/commits/f00237fced9ea6ad5b4c9282beec4c4360d8aa25/signatures?limit=1"></div>
  228. <div class="tree-holder gl-pt-4" id="tree-holder">
  229. <div class="nav-block">
  230. <div class="tree-ref-container">
  231. <div class="tree-ref-holder gl-max-w-26">
  232. <div data-project-id="43301504" data-project-root-path="/vinay-keshava/vinay-keshava.gitlab.io" data-ref="master" data-ref-type="heads" id="js-tree-ref-switcher"></div>
  233. </div>
  234. <ul class="breadcrumb repo-breadcrumb">
  235. <li class="breadcrumb-item">
  236. <a href="/vinay-keshava/vinay-keshava.gitlab.io/-/tree/master?ref_type=heads">vinay-keshava.gitlab.io
  237. </a></li>
  238. <li class="breadcrumb-item">
  239. <a href="/vinay-keshava/vinay-keshava.gitlab.io/-/tree/master/static?ref_type=heads">static</a>
  240. </li>
  241. <li class="breadcrumb-item">
  242. <a href="/vinay-keshava/vinay-keshava.gitlab.io/-/blob/master/static/favicon.ico?ref_type=heads"><strong>favicon.ico</strong>
  243. </a></li>
  244. </ul>
  245. </div>
  246. <div class="tree-controls gl-children-ml-sm-3"><a class="gl-button btn btn-md btn-default shortcuts-find-file" rel="nofollow" href="/vinay-keshava/vinay-keshava.gitlab.io/-/find_file/master"><span class="gl-button-text">
  247. Find file
  248. </span>
  249. </a><a class="gl-button btn btn-md btn-default " href="/vinay-keshava/vinay-keshava.gitlab.io/-/commits/master/static/favicon.ico"><span class="gl-button-text">
  250. History
  251. </span>
  252. </a><a class="gl-button btn btn-md btn-default js-data-file-blob-permalink-url" href="/vinay-keshava/vinay-keshava.gitlab.io/-/blob/4138cdad80ccfafae4ad2352f27b44d3ebb9c157/static/favicon.ico"><span class="gl-button-text">
  253. Permalink
  254. </span>
  255. </a></div>
  256. </div>
  257. <div class="info-well d-none d-sm-block">
  258. <div class="well-segment">
  259. <ul class="blob-commit-info">
  260. <li class="commit flex-row js-toggle-container" id="commit-f00237fc">
  261. <div class="avatar-cell d-none d-sm-block">
  262. <a href="/vinay-keshava"><img alt="Vinay Keshava&#39;s avatar" src="/uploads/-/system/user/avatar/9816600/avatar.png?width=40" class="avatar s40 d-none d-sm-inline-block" title="Vinay Keshava"></a>
  263. </div>
  264. <div class="commit-detail flex-list gl-display-flex gl-justify-content-space-between gl-align-items-center gl-flex-grow-1 gl-min-w-0">
  265. <div class="commit-content" data-qa-selector="commit_content">
  266. <a class="commit-row-message item-title js-onboarding-commit-item " href="/vinay-keshava/vinay-keshava.gitlab.io/-/commit/f00237fced9ea6ad5b4c9282beec4c4360d8aa25">added favicons of mine and other images</a>
  267. <span class="commit-row-message d-inline d-sm-none">
  268. &middot;
  269. f00237fc
  270. </span>
  271. <div class="committer">
  272. <a class="commit-author-link js-user-link" data-user-id="9816600" href="/vinay-keshava">Vinay Keshava</a> authored <time class="js-timeago" title="Feb 7, 2023 4:45pm" datetime="2023-02-07T16:45:46Z" data-toggle="tooltip" data-placement="bottom" data-container="body">Feb 07, 2023</time>
  273. </div>
  274. </div>
  275. <div class="commit-actions flex-row">
  276. <div class="js-commit-pipeline-status" data-endpoint="/vinay-keshava/vinay-keshava.gitlab.io/-/commit/f00237fced9ea6ad5b4c9282beec4c4360d8aa25/pipelines?ref=master"></div>
  277. <div class="commit-sha-group btn-group d-none d-sm-flex">
  278. <div class="label label-monospace monospace">
  279. f00237fc
  280. </div>
  281. <button class="gl-button btn btn-icon btn-md btn-default " title="Copy commit SHA" aria-label="Copy commit SHA" aria-live="polite" data-toggle="tooltip" data-placement="bottom" data-container="body" data-category="primary" data-size="medium" data-clipboard-text="f00237fced9ea6ad5b4c9282beec4c4360d8aa25" type="button"><svg class="s16 gl-icon gl-button-icon " data-testid="copy-to-clipboard-icon"><use href="/assets/icons-3591e1b0dc5b9091969f4b703f7bdaffa0ca7b2c7953b0f3a7e7dc1e71c3e43d.svg#copy-to-clipboard"></use></svg>
  282. </button>
  283. </div>
  284. </div>
  285. </div>
  286. </li>
  287. </ul>
  288. </div>
  289. </div>
  290. <div class="blob-content-holder js-per-page" data-blame-per-page="1000" id="blob-content-holder">
  291. <div data-blob-path="static/favicon.ico" data-explain-code-available="false" data-new-workspace-path="/-/remote_development/workspaces/new" data-original-branch="master" data-project-path="vinay-keshava/vinay-keshava.gitlab.io" data-ref-type="heads" data-resource-id="gid://gitlab/Project/43301504" data-target-branch="master" data-user-id="" id="js-view-blob-app">
  292. <div class="gl-spinner-container" role="status"><span aria-label="Loading" class="gl-spinner gl-spinner-md gl-spinner-dark gl-vertical-align-text-bottom!"></span></div>
  293. </div>
  294. </div>
  295. </div>
  296. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  297. //<![CDATA[
  298. window.gl = window.gl || {};
  299. window.gl.webIDEPath = '/-/ide/project/vinay-keshava/vinay-keshava.gitlab.io/edit/master/-/static/favicon.ico'
  300. //]]>
  301. </script>
  302. </main>
  303. </div>
  304. </div>
  305. </div>
  306. <div class="top-nav-responsive layout-page">
  307. <div class="cloak-startup">
  308. <div data-view-model="{&quot;primary&quot;:[{&quot;type&quot;:&quot;header&quot;,&quot;title&quot;:&quot;Explore&quot;},{&quot;id&quot;:&quot;project&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Projects&quot;,&quot;active&quot;:true,&quot;icon&quot;:&quot;project&quot;,&quot;href&quot;:&quot;/explore&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:null,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Projects&quot;},&quot;partial&quot;:null,&quot;component&quot;:null},{&quot;id&quot;:&quot;groups&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Groups&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;group&quot;,&quot;href&quot;:&quot;/explore/groups&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:null,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Groups&quot;},&quot;partial&quot;:null,&quot;component&quot;:null},{&quot;id&quot;:&quot;topics&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Topics&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;labels&quot;,&quot;href&quot;:&quot;/explore/projects/topics&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:null,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Topics&quot;},&quot;partial&quot;:null,&quot;component&quot;:null},{&quot;id&quot;:&quot;snippets&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Snippets&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;snippet&quot;,&quot;href&quot;:&quot;/explore/snippets&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:null,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Snippets&quot;},&quot;partial&quot;:null,&quot;component&quot;:null}],&quot;secondary&quot;:[],&quot;views&quot;:{&quot;search&quot;:{&quot;id&quot;:&quot;search&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Search&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;search&quot;,&quot;href&quot;:&quot;/search?project_id=43301504&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:null,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Search&quot;},&quot;partial&quot;:null,&quot;component&quot;:null}},&quot;shortcuts&quot;:[{&quot;id&quot;:&quot;project-shortcut&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Projects&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;&quot;,&quot;href&quot;:&quot;/explore&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:&quot;dashboard-shortcuts-projects&quot;,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Projects&quot;},&quot;partial&quot;:null,&quot;component&quot;:null},{&quot;id&quot;:&quot;groups-shortcut&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Groups&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;&quot;,&quot;href&quot;:&quot;/explore/groups&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:&quot;dashboard-shortcuts-groups&quot;,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Groups&quot;},&quot;partial&quot;:null,&quot;component&quot;:null},{&quot;id&quot;:&quot;topics-shortcut&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Topics&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;&quot;,&quot;href&quot;:&quot;/explore/projects/topics&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:&quot;dashboard-shortcuts-topics&quot;,&quot;data&quot;:{&quot;testid&quot;:&quot;menu_item_link&quot;,&quot;qa_title&quot;:&quot;Topics&quot;},&quot;partial&quot;:null,&quot;component&quot;:null},{&quot;id&quot;:&quot;snippets-shortcut&quot;,&quot;type&quot;:&quot;item&quot;,&quot;title&quot;:&quot;Snippets&quot;,&quot;active&quot;:false,&quot;icon&quot;:&quot;&quot;,&quot;href&quot;:&quot;/explore/snippets&quot;,&quot;view&quot;:&quot;&quot;,&quot;css_class&quot;:&quot;dashboard-shortcuts-snippets&quot;,&quot;data
  309. </div>
  310. </div>
  311. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  312. //<![CDATA[
  313. if ('loading' in HTMLImageElement.prototype) {
  314. document.querySelectorAll('img.lazy').forEach(img => {
  315. img.loading = 'lazy';
  316. let imgUrl = img.dataset.src;
  317. // Only adding width + height for avatars for now
  318. if (imgUrl.indexOf('/avatar/') > -1 && imgUrl.indexOf('?') === -1) {
  319. const targetWidth = img.getAttribute('width') || img.width;
  320. imgUrl += `?width=${targetWidth}`;
  321. }
  322. img.src = imgUrl;
  323. img.removeAttribute('data-src');
  324. img.classList.remove('lazy');
  325. img.classList.add('js-lazy-loaded');
  326. img.dataset.testid = 'js_lazy_loaded_content';
  327. });
  328. }
  329. //]]>
  330. </script>
  331. <script nonce="KET0imdVRnOQ4uMmzpsLCw==">
  332. //<![CDATA[
  333. gl = window.gl || {};
  334. gl.experiments = {};
  335. //]]>
  336. </script>
  337. </body>
  338. </html>