{"action":"created","comment":{"url":"https://api.github.com/repos/ampproject/amphtml/pulls/comments/44329500","id":44329500,"diff_hunk":"@@ -0,0 +1,304 @@\n+/**\n+ * Copyright 2015 The AMP HTML Authors. All Rights Reserved.\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\");\n+ * you may not use this file except in compliance with the License.\n+ * You may obtain a copy of the License at\n+ *\n+ *      http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS-IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+ * See the License for the specific language governing permissions and\n+ * limitations under the License.\n+ */\n+\n+\n+/**\n+ * @fileoverview Delay loads custom fonts on AMP pages.\n+ * The data-shortcode attribute can be easily copied from a normal instagram\n+ * URL.\n+ * Example:\n+ * <code>\n+ * <amp-font\n+ *   font-family=\"My Font\"\n+ *   timeout=\"3s\"\n+ *   font-weight=\"bold\"\n+ *   on-loading-class=\"myfont-font-loading\"\n+ *   on-error-class=\"myfont-font-missing\"\n+ *   on-load-class=\"myfont-font-loaded\">\n+ * </amp-font>\n+ * </code>\n+ *\n+ * the amp-font element's layout type is nodisplay.\n+ */\n+\n+\n+import * as style from '../../../src/style';\n+\n+/** @private @const {Array.<string>} */\n+const DEFAULT_FONTS_ = ['sans-serif', 'serif'];\n+\n+/** @private @const {string} */\n+const TEST_STRING_ = 'MAxmTYklsjo190QW';\n+\n+/** @private @const {number} */\n+const TOLERANCE_ = 2;\n+\n+/** @private @const {number} */\n+const TIMEOUT_ = 5000;\n+\n+/** @private @const {string} */\n+const DEFAULT_WEIGHT_ = '400';\n+\n+/** @private @const {string} */\n+const DEFAULT_VARIANT_ = 'normal';\n+\n+/** @private @const {string} */\n+const DEFAULT_STYLE_ = 'normal';\n+\n+/** @private @const {string} */\n+const DEFAULT_SIZE_ = 'medium';\n+\n+\n+class AmpFont extends AMP.BaseElement {\n+\n+\n+  /** @override */\n+  prerenderAllowed() {\n+    return true;\n+  }\n+\n+\n+  /** @override */\n+  firstAttachedCallback() {\n+    this.customFontFamily_ = this.element.getAttribute('font-family');\n+    this.normalizedFontFamilyName_ =\n+        normalizeFontFamily_(this.customFontFamily_);\n+    this.customFontWeight_ =\n+        this.element.getAttribute('font-weight') || DEFAULT_WEIGHT_;\n+    this.customFontStyle_ =\n+        this.element.getAttribute('font-style') || DEFAULT_STYLE_;\n+    this.customFontVariant_ =\n+        this.element.getAttribute('font-variant') || DEFAULT_VARIANT_;\n+    this.customFontSize_ =\n+        this.element.getAttribute('font-size') || DEFAULT_SIZE_;\n+    this.measurements_ = {};\n+    this.timeoutHandle_ = null;\n+    this.hasTimedOut_ = false;\n+\n+  }\n+\n+\n+  /** @override */\n+  buildCallback() {\n+    this.startLoad_();\n+  }\n+\n+\n+  /**\n+   * Start to download the font if it is already not available.\n+   * @private\n+   */\n+  startLoad_() {\n+    var addClassName = this.element.getAttribute('on-loading-class') || '';\n+    document.documentElement.classList.add(addClassName);\n+    this.beginTimeout_();\n+    if( \"fonts\" in document && false) {\n+      this.loadFontWithNativeApis_();\n+    } else {\n+      this.onBeforeloadFont_();\n+      this.loadFont_();\n+    }\n+  }\n+\n+\n+  /**\n+   * If the browser supports font loading events use them to load the font.\n+   * @private\n+   */\n+  loadFontWithNativeApis_() {\n+    /* style | variant | weight | size/line-height | family */\n+    /* font: italic small-caps bolder 16px/3 cursive; */\n+    let fontString = (\n+      this.customFontStyle_ + \" \"\n+      + this.customFontVariant_ + \" \"\n+      + this.customFontWeight_ + \" \"\n+      + this.customFontSize_ + \" \"\n+      + this.customFontFamily_);\n+    if (document.fonts.check(fontString)) {\n+      this.onFontLoadSuccess_();\n+    } else {\n+      document.fonts.load(fontString).then(() => {\n+        this.onFontLoadSuccess_();\n+      });\n+    }\n+  }\n+\n+\n+  /**\n+   * Step 1 for loading font on browsers that don't support font loading events.\n+   * Creates divs hidden from the viewport and measures dimensions for default\n+   * fonts.\n+   * @private\n+   */\n+  onBeforeloadFont_() {\n+    var ncustomFontFamily_ = normalizeFontFamily_(this.customFontFamily_);\n+    var containerElement = document.createElement('div');\n+    containerElement.setAttribute(\n+      'id', '-amp-font-container-' + ncustomFontFamily_);\n+    style.setStyles(containerElement, {\n+      fontSize: '48px',\n+      fontVariant: 'normal',\n+\t\t\tleft: '-999px',\n+      lineHeight: 'normal',\n+      margin: 0,\n+      padding: 0,\n+      position: 'absolute',\n+\t\t\ttop: '-999px'\n+    });\n+    DEFAULT_FONTS_.forEach(font => {\n+      let defaultFontElement = document.createElement('div');\n+      let nfont = normalizeFontFamily_(font);\n+      let defaultFontElementId = '-amp-font-'+ ncustomFontFamily_ + '-' + nfont;\n+      defaultFontElement.setAttribute('id', defaultFontElementId);\n+      defaultFontElement.textContent = TEST_STRING_;\n+      style.setStyles(defaultFontElement, {\n+        fontFamily: font,\n+        margin: 0,\n+        padding: 0,\n+        whiteSpace: 'nowrap'\n+      });\n+      containerElement.appendChild(defaultFontElement);\n+    });\n+    document.body.appendChild(containerElement);\n+    DEFAULT_FONTS_.forEach(font => {\n+      let nfont = normalizeFontFamily_(font);\n+      let defaultFontElementId = '-amp-font-'+ ncustomFontFamily_ + '-' + nfont;\n+      let element = document.getElementById(defaultFontElementId);\n+      this.measurements_[defaultFontElementId] = {\n+        width: element./*OK*/offsetWidth,\n+        height: element./*OK*/offsetHeight\n+      };\n+    });\n+  }\n+\n+\n+  /**\n+   * Make the browser that don't support font loading events to download the\n+   * custom font by creating an element (with text) not visible on the viewport.\n+   * font download is detected by comparing the elements height and width with\n+   * measurements taken in step1.\n+   * @private\n+   */\n+  loadFont_() {\n+    var haswidthChanged = false;","path":"extensions/amp-font/0.1/amp-font.js","position":null,"original_position":196,"commit_id":"6b1049f13f3d0a79fd51bf6b3977bb4eed03ad3a","original_commit_id":"a95ef70692588fa438acb7618f6d6e3af6e9fba6","user":{"login":"sriramkrish85","id":1037311,"avatar_url":"https://avatars.githubusercontent.com/u/1037311?v=3","gravatar_id":"","url":"https://api.github.com/users/sriramkrish85","html_url":"https://github.com/sriramkrish85","followers_url":"https://api.github.com/users/sriramkrish85/followers","following_url":"https://api.github.com/users/sriramkrish85/following{/other_user}","gists_url":"https://api.github.com/users/sriramkrish85/gists{/gist_id}","starred_url":"https://api.github.com/users/sriramkrish85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sriramkrish85/subscriptions","organizations_url":"https://api.github.com/users/sriramkrish85/orgs","repos_url":"https://api.github.com/users/sriramkrish85/repos","events_url":"https://api.github.com/users/sriramkrish85/events{/privacy}","received_events_url":"https://api.github.com/users/sriramkrish85/received_events","type":"User","site_admin":false},"body":"Done","created_at":"2015-11-09T20:51:05Z","updated_at":"2015-11-09T20:51:05Z","html_url":"https://github.com/ampproject/amphtml/pull/769#discussion_r44329500","pull_request_url":"https://api.github.com/repos/ampproject/amphtml/pulls/769","_links":{"self":{"href":"https://api.github.com/repos/ampproject/amphtml/pulls/comments/44329500"},"html":{"href":"https://github.com/ampproject/amphtml/pull/769#discussion_r44329500"},"pull_request":{"href":"https://api.github.com/repos/ampproject/amphtml/pulls/769"}}},"pull_request":{"url":"https://api.github.com/repos/ampproject/amphtml/pulls/769","id":48954141,"html_url":"https://github.com/ampproject/amphtml/pull/769","diff_url":"https://github.com/ampproject/amphtml/pull/769.diff","patch_url":"https://github.com/ampproject/amphtml/pull/769.patch","issue_url":"https://api.github.com/repos/ampproject/amphtml/issues/769","number":769,"state":"open","locked":false,"title":"amp-font logic - working - With js doc.","user":{"login":"sriramkrish85","id":1037311,"avatar_url":"https://avatars.githubusercontent.com/u/1037311?v=3","gravatar_id":"","url":"https://api.github.com/users/sriramkrish85","html_url":"https://github.com/sriramkrish85","followers_url":"https://api.github.com/users/sriramkrish85/followers","following_url":"https://api.github.com/users/sriramkrish85/following{/other_user}","gists_url":"https://api.github.com/users/sriramkrish85/gists{/gist_id}","starred_url":"https://api.github.com/users/sriramkrish85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sriramkrish85/subscriptions","organizations_url":"https://api.github.com/users/sriramkrish85/orgs","repos_url":"https://api.github.com/users/sriramkrish85/repos","events_url":"https://api.github.com/users/sriramkrish85/events{/privacy}","received_events_url":"https://api.github.com/users/sriramkrish85/received_events","type":"User","site_admin":false},"body":"Closes https://github.com/ampproject/amphtml/issues/648\r\n\r\n","created_at":"2015-10-28T01:17:48Z","updated_at":"2015-11-09T20:51:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"97e077a5765fac1a208b7bd184e8b3c0ffa2fd8c","assignee":{"login":"cramforce","id":89679,"avatar_url":"https://avatars.githubusercontent.com/u/89679?v=3","gravatar_id":"","url":"https://api.github.com/users/cramforce","html_url":"https://github.com/cramforce","followers_url":"https://api.github.com/users/cramforce/followers","following_url":"https://api.github.com/users/cramforce/following{/other_user}","gists_url":"https://api.github.com/users/cramforce/gists{/gist_id}","starred_url":"https://api.github.com/users/cramforce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cramforce/subscriptions","organizations_url":"https://api.github.com/users/cramforce/orgs","repos_url":"https://api.github.com/users/cramforce/repos","events_url":"https://api.github.com/users/cramforce/events{/privacy}","received_events_url":"https://api.github.com/users/cramforce/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/ampproject/amphtml/pulls/769/commits","review_comments_url":"https://api.github.com/repos/ampproject/amphtml/pulls/769/comments","review_comment_url":"https://api.github.com/repos/ampproject/amphtml/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ampproject/amphtml/issues/769/comments","statuses_url":"https://api.github.com/repos/ampproject/amphtml/statuses/6b1049f13f3d0a79fd51bf6b3977bb4eed03ad3a","head":{"label":"sriramkrish85:font","ref":"font","sha":"6b1049f13f3d0a79fd51bf6b3977bb4eed03ad3a","user":{"login":"sriramkrish85","id":1037311,"avatar_url":"https://avatars.githubusercontent.com/u/1037311?v=3","gravatar_id":"","url":"https://api.github.com/users/sriramkrish85","html_url":"https://github.com/sriramkrish85","followers_url":"https://api.github.com/users/sriramkrish85/followers","following_url":"https://api.github.com/users/sriramkrish85/following{/other_user}","gists_url":"https://api.github.com/users/sriramkrish85/gists{/gist_id}","starred_url":"https://api.github.com/users/sriramkrish85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sriramkrish85/subscriptions","organizations_url":"https://api.github.com/users/sriramkrish85/orgs","repos_url":"https://api.github.com/users/sriramkrish85/repos","events_url":"https://api.github.com/users/sriramkrish85/events{/privacy}","received_events_url":"https://api.github.com/users/sriramkrish85/received_events","type":"User","site_admin":false},"repo":{"id":44337813,"name":"amphtml","full_name":"sriramkrish85/amphtml","owner":{"login":"sriramkrish85","id":1037311,"avatar_url":"https://avatars.githubusercontent.com/u/1037311?v=3","gravatar_id":"","url":"https://api.github.com/users/sriramkrish85","html_url":"https://github.com/sriramkrish85","followers_url":"https://api.github.com/users/sriramkrish85/followers","following_url":"https://api.github.com/users/sriramkrish85/following{/other_user}","gists_url":"https://api.github.com/users/sriramkrish85/gists{/gist_id}","starred_url":"https://api.github.com/users/sriramkrish85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sriramkrish85/subscriptions","organizations_url":"https://api.github.com/users/sriramkrish85/orgs","repos_url":"https://api.github.com/users/sriramkrish85/repos","events_url":"https://api.github.com/users/sriramkrish85/events{/privacy}","received_events_url":"https://api.github.com/users/sriramkrish85/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sriramkrish85/amphtml","description":"AMP HTML source code, samples, and documentation.  See below for more info.","fork":true,"url":"https://api.github.com/repos/sriramkrish85/amphtml","forks_url":"https://api.github.com/repos/sriramkrish85/amphtml/forks","keys_url":"https://api.github.com/repos/sriramkrish85/amphtml/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sriramkrish85/amphtml/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sriramkrish85/amphtml/teams","hooks_url":"https://api.github.com/repos/sriramkrish85/amphtml/hooks","issue_events_url":"https://api.github.com/repos/sriramkrish85/amphtml/issues/events{/number}","events_url":"https://api.github.com/repos/sriramkrish85/amphtml/events","assignees_url":"https://api.github.com/repos/sriramkrish85/amphtml/assignees{/user}","branches_url":"https://api.github.com/repos/sriramkrish85/amphtml/branches{/branch}","tags_url":"https://api.github.com/repos/sriramkrish85/amphtml/tags","blobs_url":"https://api.github.com/repos/sriramkrish85/amphtml/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sriramkrish85/amphtml/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sriramkrish85/amphtml/git/refs{/sha}","trees_url":"https://api.github.com/repos/sriramkrish85/amphtml/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sriramkrish85/amphtml/statuses/{sha}","languages_url":"https://api.github.com/repos/sriramkrish85/amphtml/languages","stargazers_url":"https://api.github.com/repos/sriramkrish85/amphtml/stargazers","contributors_url":"https://api.github.com/repos/sriramkrish85/amphtml/contributors","subscribers_url":"https://api.github.com/repos/sriramkrish85/amphtml/subscribers","subscription_url":"https://api.github.com/repos/sriramkrish85/amphtml/subscription","commits_url":"https://api.github.com/repos/sriramkrish85/amphtml/commits{/sha}","git_commits_url":"https://api.github.com/repos/sriramkrish85/amphtml/git/commits{/sha}","comments_url":"https://api.github.com/repos/sriramkrish85/amphtml/comments{/number}","issue_comment_url":"https://api.github.com/repos/sriramkrish85/amphtml/issues/comments{/number}","contents_url":"https://api.github.com/repos/sriramkrish85/amphtml/contents/{+path}","compare_url":"https://api.github.com/repos/sriramkrish85/amphtml/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sriramkrish85/amphtml/merges","archive_url":"https://api.github.com/repos/sriramkrish85/amphtml/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sriramkrish85/amphtml/downloads","issues_url":"https://api.github.com/repos/sriramkrish85/amphtml/issues{/number}","pulls_url":"https://api.github.com/repos/sriramkrish85/amphtml/pulls{/number}","milestones_url":"https://api.github.com/repos/sriramkrish85/amphtml/milestones{/number}","notifications_url":"https://api.github.com/repos/sriramkrish85/amphtml/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sriramkrish85/amphtml/labels{/name}","releases_url":"https://api.github.com/repos/sriramkrish85/amphtml/releases{/id}","created_at":"2015-10-15T18:39:52Z","updated_at":"2015-10-15T18:39:54Z","pushed_at":"2015-11-09T20:49:26Z","git_url":"git://github.com/sriramkrish85/amphtml.git","ssh_url":"git@github.com:sriramkrish85/amphtml.git","clone_url":"https://github.com/sriramkrish85/amphtml.git","svn_url":"https://github.com/sriramkrish85/amphtml","homepage":"https://ampproject.org","size":13530,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ampproject:master","ref":"master","sha":"1ec2c7f2cc32a249939ea3ad47e9bd504fd69cad","user":{"login":"ampproject","id":14114390,"avatar_url":"https://avatars.githubusercontent.com/u/14114390?v=3","gravatar_id":"","url":"https://api.github.com/users/ampproject","html_url":"https://github.com/ampproject","followers_url":"https://api.github.com/users/ampproject/followers","following_url":"https://api.github.com/users/ampproject/following{/other_user}","gists_url":"https://api.github.com/users/ampproject/gists{/gist_id}","starred_url":"https://api.github.com/users/ampproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ampproject/subscriptions","organizations_url":"https://api.github.com/users/ampproject/orgs","repos_url":"https://api.github.com/users/ampproject/repos","events_url":"https://api.github.com/users/ampproject/events{/privacy}","received_events_url":"https://api.github.com/users/ampproject/received_events","type":"Organization","site_admin":false},"repo":{"id":41766002,"name":"amphtml","full_name":"ampproject/amphtml","owner":{"login":"ampproject","id":14114390,"avatar_url":"https://avatars.githubusercontent.com/u/14114390?v=3","gravatar_id":"","url":"https://api.github.com/users/ampproject","html_url":"https://github.com/ampproject","followers_url":"https://api.github.com/users/ampproject/followers","following_url":"https://api.github.com/users/ampproject/following{/other_user}","gists_url":"https://api.github.com/users/ampproject/gists{/gist_id}","starred_url":"https://api.github.com/users/ampproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ampproject/subscriptions","organizations_url":"https://api.github.com/users/ampproject/orgs","repos_url":"https://api.github.com/users/ampproject/repos","events_url":"https://api.github.com/users/ampproject/events{/privacy}","received_events_url":"https://api.github.com/users/ampproject/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ampproject/amphtml","description":"AMP HTML source code, samples, and documentation.  See below for more info.","fork":false,"url":"https://api.github.com/repos/ampproject/amphtml","forks_url":"https://api.github.com/repos/ampproject/amphtml/forks","keys_url":"https://api.github.com/repos/ampproject/amphtml/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ampproject/amphtml/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ampproject/amphtml/teams","hooks_url":"https://api.github.com/repos/ampproject/amphtml/hooks","issue_events_url":"https://api.github.com/repos/ampproject/amphtml/issues/events{/number}","events_url":"https://api.github.com/repos/ampproject/amphtml/events","assignees_url":"https://api.github.com/repos/ampproject/amphtml/assignees{/user}","branches_url":"https://api.github.com/repos/ampproject/amphtml/branches{/branch}","tags_url":"https://api.github.com/repos/ampproject/amphtml/tags","blobs_url":"https://api.github.com/repos/ampproject/amphtml/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ampproject/amphtml/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ampproject/amphtml/git/refs{/sha}","trees_url":"https://api.github.com/repos/ampproject/amphtml/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ampproject/amphtml/statuses/{sha}","languages_url":"https://api.github.com/repos/ampproject/amphtml/languages","stargazers_url":"https://api.github.com/repos/ampproject/amphtml/stargazers","contributors_url":"https://api.github.com/repos/ampproject/amphtml/contributors","subscribers_url":"https://api.github.com/repos/ampproject/amphtml/subscribers","subscription_url":"https://api.github.com/repos/ampproject/amphtml/subscription","commits_url":"https://api.github.com/repos/ampproject/amphtml/commits{/sha}","git_commits_url":"https://api.github.com/repos/ampproject/amphtml/git/commits{/sha}","comments_url":"https://api.github.com/repos/ampproject/amphtml/comments{/number}","issue_comment_url":"https://api.github.com/repos/ampproject/amphtml/issues/comments{/number}","contents_url":"https://api.github.com/repos/ampproject/amphtml/contents/{+path}","compare_url":"https://api.github.com/repos/ampproject/amphtml/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ampproject/amphtml/merges","archive_url":"https://api.github.com/repos/ampproject/amphtml/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ampproject/amphtml/downloads","issues_url":"https://api.github.com/repos/ampproject/amphtml/issues{/number}","pulls_url":"https://api.github.com/repos/ampproject/amphtml/pulls{/number}","milestones_url":"https://api.github.com/repos/ampproject/amphtml/milestones{/number}","notifications_url":"https://api.github.com/repos/ampproject/amphtml/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ampproject/amphtml/labels{/name}","releases_url":"https://api.github.com/repos/ampproject/amphtml/releases{/id}","created_at":"2015-09-01T22:10:53Z","updated_at":"2015-11-09T19:07:15Z","pushed_at":"2015-11-09T20:49:28Z","git_url":"git://github.com/ampproject/amphtml.git","ssh_url":"git@github.com:ampproject/amphtml.git","clone_url":"https://github.com/ampproject/amphtml.git","svn_url":"https://github.com/ampproject/amphtml","homepage":"https://ampproject.org","size":19300,"stargazers_count":4329,"watchers_count":4329,"language":"JavaScript","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":384,"mirror_url":null,"open_issues_count":148,"forks":384,"open_issues":148,"watchers":4329,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ampproject/amphtml/pulls/769"},"html":{"href":"https://github.com/ampproject/amphtml/pull/769"},"issue":{"href":"https://api.github.com/repos/ampproject/amphtml/issues/769"},"comments":{"href":"https://api.github.com/repos/ampproject/amphtml/issues/769/comments"},"review_comments":{"href":"https://api.github.com/repos/ampproject/amphtml/pulls/769/comments"},"review_comment":{"href":"https://api.github.com/repos/ampproject/amphtml/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ampproject/amphtml/pulls/769/commits"},"statuses":{"href":"https://api.github.com/repos/ampproject/amphtml/statuses/6b1049f13f3d0a79fd51bf6b3977bb4eed03ad3a"}}}}