{
  "name": "classes.js",
  "path": "src/attributes/classes.js",
  "sha": "f1571eb5d0685c8cea8a394d90c61f3d9b5a8f82",
  "size": 4437,
  "url": "https://api.github.com/repos/jquery/jquery/contents/src/attributes/classes.js?ref=cf84696fd1d7fe314a11492606529b5a658ee9e3",
  "html_url": "https://github.com/jquery/jquery/blob/cf84696fd1d7fe314a11492606529b5a658ee9e3/src/attributes/classes.js",
  "git_url": "https://api.github.com/repos/jquery/jquery/git/blobs/f1571eb5d0685c8cea8a394d90c61f3d9b5a8f82",
  "download_url": "https://raw.githubusercontent.com/jquery/jquery/cf84696fd1d7fe314a11492606529b5a658ee9e3/src/attributes/classes.js",
  "type": "file",
  "content": "ZGVmaW5lKCBbCgkiLi4vY29yZSIsCgkiLi4vY29yZS9zdHJpcEFuZENvbGxh\ncHNlIiwKCSIuLi92YXIvcm5vdGh0bWx3aGl0ZSIsCgkiLi4vZGF0YS92YXIv\nZGF0YVByaXYiLAoJIi4uL2NvcmUvaW5pdCIKXSwgZnVuY3Rpb24oIGpRdWVy\neSwgc3RyaXBBbmRDb2xsYXBzZSwgcm5vdGh0bWx3aGl0ZSwgZGF0YVByaXYg\nKSB7CgoidXNlIHN0cmljdCI7CgpmdW5jdGlvbiBnZXRDbGFzcyggZWxlbSAp\nIHsKCXJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSAmJiBlbGVtLmdldEF0dHJp\nYnV0ZSggImNsYXNzIiApIHx8ICIiOwp9CgpmdW5jdGlvbiBjbGFzc2VzVG9B\ncnJheSggdmFsdWUgKSB7CglpZiAoIEFycmF5LmlzQXJyYXkoIHZhbHVlICkg\nKSB7CgkJcmV0dXJuIHZhbHVlOwoJfQoJaWYgKCB0eXBlb2YgdmFsdWUgPT09\nICJzdHJpbmciICkgewoJCXJldHVybiB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3\naGl0ZSApIHx8IFtdOwoJfQoJcmV0dXJuIFtdOwp9CgpqUXVlcnkuZm4uZXh0\nZW5kKCB7CglhZGRDbGFzczogZnVuY3Rpb24oIHZhbHVlICkgewoJCXZhciBj\nbGFzc2VzLCBlbGVtLCBjdXIsIGN1clZhbHVlLCBjbGF6eiwgaiwgZmluYWxW\nYWx1ZSwKCQkJaSA9IDA7CgoJCWlmICggdHlwZW9mIHZhbHVlID09PSAiZnVu\nY3Rpb24iICkgewoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaiAp\nIHsKCQkJCWpRdWVyeSggdGhpcyApLmFkZENsYXNzKCB2YWx1ZS5jYWxsKCB0\naGlzLCBqLCBnZXRDbGFzcyggdGhpcyApICkgKTsKCQkJfSApOwoJCX0KCgkJ\nY2xhc3NlcyA9IGNsYXNzZXNUb0FycmF5KCB2YWx1ZSApOwoKCQlpZiAoIGNs\nYXNzZXMubGVuZ3RoICkgewoJCQl3aGlsZSAoICggZWxlbSA9IHRoaXNbIGkr\nKyBdICkgKSB7CgkJCQljdXJWYWx1ZSA9IGdldENsYXNzKCBlbGVtICk7CgkJ\nCQljdXIgPSBlbGVtLm5vZGVUeXBlID09PSAxICYmICggIiAiICsgc3RyaXBB\nbmRDb2xsYXBzZSggY3VyVmFsdWUgKSArICIgIiApOwoKCQkJCWlmICggY3Vy\nICkgewoJCQkJCWogPSAwOwoJCQkJCXdoaWxlICggKCBjbGF6eiA9IGNsYXNz\nZXNbIGorKyBdICkgKSB7CgkJCQkJCWlmICggY3VyLmluZGV4T2YoICIgIiAr\nIGNsYXp6ICsgIiAiICkgPCAwICkgewoJCQkJCQkJY3VyICs9IGNsYXp6ICsg\nIiAiOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkvLyBPbmx5IGFzc2lnbiBpZiBk\naWZmZXJlbnQgdG8gYXZvaWQgdW5uZWVkZWQgcmVuZGVyaW5nLgoJCQkJCWZp\nbmFsVmFsdWUgPSBzdHJpcEFuZENvbGxhcHNlKCBjdXIgKTsKCQkJCQlpZiAo\nIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkgewoJCQkJCQllbGVtLnNldEF0\ndHJpYnV0ZSggImNsYXNzIiwgZmluYWxWYWx1ZSApOwoJCQkJCX0KCQkJCX0K\nCQkJfQoJCX0KCgkJcmV0dXJuIHRoaXM7Cgl9LAoKCXJlbW92ZUNsYXNzOiBm\ndW5jdGlvbiggdmFsdWUgKSB7CgkJdmFyIGNsYXNzZXMsIGVsZW0sIGN1ciwg\nY3VyVmFsdWUsIGNsYXp6LCBqLCBmaW5hbFZhbHVlLAoJCQlpID0gMDsKCgkJ\naWYgKCB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIgKSB7CgkJCXJldHVy\nbiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBqICkgewoJCQkJalF1ZXJ5KCB0aGlz\nICkucmVtb3ZlQ2xhc3MoIHZhbHVlLmNhbGwoIHRoaXMsIGosIGdldENsYXNz\nKCB0aGlzICkgKSApOwoJCQl9ICk7CgkJfQoKCQlpZiAoICFhcmd1bWVudHMu\nbGVuZ3RoICkgewoJCQlyZXR1cm4gdGhpcy5hdHRyKCAiY2xhc3MiLCAiIiAp\nOwoJCX0KCgkJY2xhc3NlcyA9IGNsYXNzZXNUb0FycmF5KCB2YWx1ZSApOwoK\nCQlpZiAoIGNsYXNzZXMubGVuZ3RoICkgewoJCQl3aGlsZSAoICggZWxlbSA9\nIHRoaXNbIGkrKyBdICkgKSB7CgkJCQljdXJWYWx1ZSA9IGdldENsYXNzKCBl\nbGVtICk7CgoJCQkJLy8gVGhpcyBleHByZXNzaW9uIGlzIGhlcmUgZm9yIGJl\ndHRlciBjb21wcmVzc2liaWxpdHkgKHNlZSBhZGRDbGFzcykKCQkJCWN1ciA9\nIGVsZW0ubm9kZVR5cGUgPT09IDEgJiYgKCAiICIgKyBzdHJpcEFuZENvbGxh\ncHNlKCBjdXJWYWx1ZSApICsgIiAiICk7CgoJCQkJaWYgKCBjdXIgKSB7CgkJ\nCQkJaiA9IDA7CgkJCQkJd2hpbGUgKCAoIGNsYXp6ID0gY2xhc3Nlc1sgaisr\nIF0gKSApIHsKCgkJCQkJCS8vIFJlbW92ZSAqYWxsKiBpbnN0YW5jZXMKCQkJ\nCQkJd2hpbGUgKCBjdXIuaW5kZXhPZiggIiAiICsgY2xhenogKyAiICIgKSA+\nIC0xICkgewoJCQkJCQkJY3VyID0gY3VyLnJlcGxhY2UoICIgIiArIGNsYXp6\nICsgIiAiLCAiICIgKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJLy8gT25seSBh\nc3NpZ24gaWYgZGlmZmVyZW50IHRvIGF2b2lkIHVubmVlZGVkIHJlbmRlcmlu\nZy4KCQkJCQlmaW5hbFZhbHVlID0gc3RyaXBBbmRDb2xsYXBzZSggY3VyICk7\nCgkJCQkJaWYgKCBjdXJWYWx1ZSAhPT0gZmluYWxWYWx1ZSApIHsKCQkJCQkJ\nZWxlbS5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsIGZpbmFsVmFsdWUgKTsKCQkJ\nCQl9CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiB0aGlzOwoJfSwKCgl0b2dn\nbGVDbGFzczogZnVuY3Rpb24oIHZhbHVlLCBzdGF0ZVZhbCApIHsKCQl2YXIg\ndHlwZSA9IHR5cGVvZiB2YWx1ZSwKCQkJaXNWYWxpZFZhbHVlID0gdHlwZSA9\nPT0gInN0cmluZyIgfHwgQXJyYXkuaXNBcnJheSggdmFsdWUgKTsKCgkJaWYg\nKCB0eXBlb2Ygc3RhdGVWYWwgPT09ICJib29sZWFuIiAmJiBpc1ZhbGlkVmFs\ndWUgKSB7CgkJCXJldHVybiBzdGF0ZVZhbCA/IHRoaXMuYWRkQ2xhc3MoIHZh\nbHVlICkgOiB0aGlzLnJlbW92ZUNsYXNzKCB2YWx1ZSApOwoJCX0KCgkJaWYg\nKCB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIgKSB7CgkJCXJldHVybiB0\naGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgewoJCQkJalF1ZXJ5KCB0aGlzICku\ndG9nZ2xlQ2xhc3MoCgkJCQkJdmFsdWUuY2FsbCggdGhpcywgaSwgZ2V0Q2xh\nc3MoIHRoaXMgKSwgc3RhdGVWYWwgKSwKCQkJCQlzdGF0ZVZhbAoJCQkJKTsK\nCQkJfSApOwoJCX0KCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7\nCgkJCXZhciBjbGFzc05hbWUsIGksIHNlbGYsIGNsYXNzTmFtZXM7CgoJCQlp\nZiAoIGlzVmFsaWRWYWx1ZSApIHsKCgkJCQkvLyBUb2dnbGUgaW5kaXZpZHVh\nbCBjbGFzcyBuYW1lcwoJCQkJaSA9IDA7CgkJCQlzZWxmID0galF1ZXJ5KCB0\naGlzICk7CgkJCQljbGFzc05hbWVzID0gY2xhc3Nlc1RvQXJyYXkoIHZhbHVl\nICk7CgoJCQkJd2hpbGUgKCAoIGNsYXNzTmFtZSA9IGNsYXNzTmFtZXNbIGkr\nKyBdICkgKSB7CgoJCQkJCS8vIENoZWNrIGVhY2ggY2xhc3NOYW1lIGdpdmVu\nLCBzcGFjZSBzZXBhcmF0ZWQgbGlzdAoJCQkJCWlmICggc2VsZi5oYXNDbGFz\ncyggY2xhc3NOYW1lICkgKSB7CgkJCQkJCXNlbGYucmVtb3ZlQ2xhc3MoIGNs\nYXNzTmFtZSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGYuYWRkQ2xhc3Mo\nIGNsYXNzTmFtZSApOwoJCQkJCX0KCQkJCX0KCgkJCS8vIFRvZ2dsZSB3aG9s\nZSBjbGFzcyBuYW1lCgkJCX0gZWxzZSBpZiAoIHZhbHVlID09PSB1bmRlZmlu\nZWQgfHwgdHlwZSA9PT0gImJvb2xlYW4iICkgewoJCQkJY2xhc3NOYW1lID0g\nZ2V0Q2xhc3MoIHRoaXMgKTsKCQkJCWlmICggY2xhc3NOYW1lICkgewoKCQkJ\nCQkvLyBTdG9yZSBjbGFzc05hbWUgaWYgc2V0CgkJCQkJZGF0YVByaXYuc2V0\nKCB0aGlzLCAiX19jbGFzc05hbWVfXyIsIGNsYXNzTmFtZSApOwoJCQkJfQoK\nCQkJCS8vIElmIHRoZSBlbGVtZW50IGhhcyBhIGNsYXNzIG5hbWUgb3IgaWYg\nd2UncmUgcGFzc2VkIGBmYWxzZWAsCgkJCQkvLyB0aGVuIHJlbW92ZSB0aGUg\nd2hvbGUgY2xhc3NuYW1lIChpZiB0aGVyZSB3YXMgb25lLCB0aGUgYWJvdmUg\nc2F2ZWQgaXQpLgoJCQkJLy8gT3RoZXJ3aXNlIGJyaW5nIGJhY2sgd2hhdGV2\nZXIgd2FzIHByZXZpb3VzbHkgc2F2ZWQgKGlmIGFueXRoaW5nKSwKCQkJCS8v\nIGZhbGxpbmcgYmFjayB0byB0aGUgZW1wdHkgc3RyaW5nIGlmIG5vdGhpbmcg\nd2FzIHN0b3JlZC4KCQkJCWlmICggdGhpcy5zZXRBdHRyaWJ1dGUgKSB7CgkJ\nCQkJdGhpcy5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsCgkJCQkJCWNsYXNzTmFt\nZSB8fCB2YWx1ZSA9PT0gZmFsc2UgPwoJCQkJCQkiIiA6CgkJCQkJCWRhdGFQ\ncml2LmdldCggdGhpcywgIl9fY2xhc3NOYW1lX18iICkgfHwgIiIKCQkJCQkp\nOwoJCQkJfQoJCQl9CgkJfSApOwoJfSwKCgloYXNDbGFzczogZnVuY3Rpb24o\nIHNlbGVjdG9yICkgewoJCXZhciBjbGFzc05hbWUsIGVsZW0sCgkJCWkgPSAw\nOwoKCQljbGFzc05hbWUgPSAiICIgKyBzZWxlY3RvciArICIgIjsKCQl3aGls\nZSAoICggZWxlbSA9IHRoaXNbIGkrKyBdICkgKSB7CgkJCWlmICggZWxlbS5u\nb2RlVHlwZSA9PT0gMSAmJgoJCQkJKCAiICIgKyBzdHJpcEFuZENvbGxhcHNl\nKCBnZXRDbGFzcyggZWxlbSApICkgKyAiICIgKS5pbmRleE9mKCBjbGFzc05h\nbWUgKSA+IC0xICkgewoJCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoKCQly\nZXR1cm4gZmFsc2U7Cgl9Cn0gKTsKCn0gKTsK\n",
  "encoding": "base64",
  "_links": {
    "self": "https://api.github.com/repos/jquery/jquery/contents/src/attributes/classes.js?ref=cf84696fd1d7fe314a11492606529b5a658ee9e3",
    "git": "https://api.github.com/repos/jquery/jquery/git/blobs/f1571eb5d0685c8cea8a394d90c61f3d9b5a8f82",
    "html": "https://github.com/jquery/jquery/blob/cf84696fd1d7fe314a11492606529b5a658ee9e3/src/attributes/classes.js"
  }
}