{ "info": { "author": "The OAuthlib Community", "author_email": "idan@gazit.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved", "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "OAuthLib - Python Framework for OAuth1 & OAuth2\n===============================================\n\n*A generic, spec-compliant, thorough implementation of the OAuth request-signing\nlogic for Python 2.7 and 3.4+.*\n\n.. image:: https://travis-ci.org/oauthlib/oauthlib.svg?branch=master\n :target: https://travis-ci.org/oauthlib/oauthlib\n :alt: Travis\n.. image:: https://coveralls.io/repos/oauthlib/oauthlib/badge.svg?branch=master\n :target: https://coveralls.io/r/oauthlib/oauthlib\n :alt: Coveralls\n.. image:: https://img.shields.io/pypi/pyversions/oauthlib.svg\n :target: https://pypi.org/project/oauthlib/\n :alt: Download from PyPI\n.. image:: https://img.shields.io/pypi/l/oauthlib.svg\n :target: https://pypi.org/project/oauthlib/\n :alt: License\n.. image:: https://app.fossa.io/api/projects/git%2Bgithub.com%2Foauthlib%2Foauthlib.svg?type=shield\n :target: https://app.fossa.io/projects/git%2Bgithub.com%2Foauthlib%2Foauthlib?ref=badge_shield\n :alt: FOSSA Status\n.. image:: https://img.shields.io/readthedocs/oauthlib.svg\n :target: https://oauthlib.readthedocs.io/en/latest/index.html\n :alt: Read the Docs\n.. image:: https://badges.gitter.im/oauthlib/oauthlib.svg\n :target: https://gitter.im/oauthlib/Lobby\n :alt: Chat on Gitter\n\nOAuth often seems complicated and difficult-to-implement. There are several\nprominent libraries for handling OAuth requests, but they all suffer from one or\nboth of the following:\n\n1. They predate the `OAuth 1.0 spec`_, AKA RFC 5849.\n2. They predate the `OAuth 2.0 spec`_, AKA RFC 6749.\n3. They assume the usage of a specific HTTP request library.\n\n.. _`OAuth 1.0 spec`: https://tools.ietf.org/html/rfc5849\n.. _`OAuth 2.0 spec`: https://tools.ietf.org/html/rfc6749\n\nOAuthLib is a framework which implements the logic of OAuth1 or OAuth2 without\nassuming a specific HTTP request object or web framework. Use it to graft OAuth\nclient support onto your favorite HTTP library, or provide support onto your\nfavourite web framework. If you're a maintainer of such a library, write a thin\nveneer on top of OAuthLib and get OAuth support for very little effort.\n\n\nDocumentation\n--------------\n\nFull documentation is available on `Read the Docs`_. All contributions are very\nwelcome! The documentation is still quite sparse, please open an issue for what\nyou'd like to know, or discuss it in our `Gitter community`_, or even better, send a\npull request!\n\n.. _`Gitter community`: https://gitter.im/oauthlib/Lobby\n.. _`Read the Docs`: https://oauthlib.readthedocs.io/en/latest/index.html\n\nInterested in making OAuth requests?\n------------------------------------\n\nThen you might be more interested in using `requests`_ which has OAuthLib\npowered OAuth support provided by the `requests-oauthlib`_ library.\n\n.. _`requests`: https://github.com/requests/requests\n.. _`requests-oauthlib`: https://github.com/requests/requests-oauthlib\n\nWhich web frameworks are supported?\n-----------------------------------\n\nThe following packages provide OAuth support using OAuthLib.\n\n- For Django there is `django-oauth-toolkit`_, which includes `Django REST framework`_ support.\n- For Flask there is `flask-oauthlib`_ and `Flask-Dance`_.\n- For Pyramid there is `pyramid-oauthlib`_.\n- For Bottle there is `bottle-oauthlib`_.\n\nIf you have written an OAuthLib package that supports your favorite framework,\nplease open a Pull Request, updating the documentation.\n\n.. _`django-oauth-toolkit`: https://github.com/evonove/django-oauth-toolkit\n.. _`flask-oauthlib`: https://github.com/lepture/flask-oauthlib\n.. _`Django REST framework`: http://django-rest-framework.org\n.. _`Flask-Dance`: https://github.com/singingwolfboy/flask-dance\n.. _`pyramid-oauthlib`: https://github.com/tilgovi/pyramid-oauthlib\n.. _`bottle-oauthlib`: https://github.com/thomsonreuters/bottle-oauthlib\n\nUsing OAuthLib? Please get in touch!\n------------------------------------\nPatching OAuth support onto an http request framework? Creating an OAuth\nprovider extension for a web framework? Simply using OAuthLib to Get Things Done\nor to learn?\n\nNo matter which we'd love to hear from you in our `Gitter community`_ or if you have\nanything in particular you would like to have, change or comment on don't\nhesitate for a second to send a pull request or open an issue. We might be quite\nbusy and therefore slow to reply but we love feedback!\n\nChances are you have run into something annoying that you wish there was\ndocumentation for, if you wish to gain eternal fame and glory, and a drink if we\nhave the pleasure to run into eachother, please send a docs pull request =)\n\n.. _`Gitter community`: https://gitter.im/oauthlib/Lobby\n\nLicense\n-------\n\nOAuthLib is yours to use and abuse according to the terms of the BSD license.\nCheck the LICENSE file for full details.\n\nCredits\n-------\n\nOAuthLib has been started and maintained several years by Idan Gazit and other\namazing `AUTHORS`_. Thanks to their wonderful work, the open-source `community`_\ncreation has been possible and the project can stay active and reactive to users\nrequests.\n\n\n.. _`AUTHORS`: https://github.com/oauthlib/oauthlib/blob/master/AUTHORS\n.. _`community`: https://github.com/oauthlib/\n\nChangelog\n---------\n\n*OAuthLib is in active development, with the core of both OAuth1 and OAuth2\ncompleted, for providers as well as clients.* See `supported features`_ for\ndetails.\n\n.. _`supported features`: https://oauthlib.readthedocs.io/en/latest/feature_matrix.html\n\nFor a full changelog see ``CHANGELOG.rst``.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/oauthlib/oauthlib", "keywords": "", "license": "BSD", "maintainer": "Ib Lundgren", "maintainer_email": "ib.lundgren@gmail.com", "name": "oauthlib", "package_url": "https://pypi.org/project/oauthlib/", "platform": "any", "project_url": "https://pypi.org/project/oauthlib/", "project_urls": { "Homepage": "https://github.com/oauthlib/oauthlib" }, "release_url": "https://pypi.org/project/oauthlib/3.1.0/", "requires_dist": [ "cryptography ; extra == 'rsa'", "blinker ; extra == 'signals'", "cryptography ; extra == 'signedtoken'", "pyjwt (>=1.0.0) ; extra == 'signedtoken'" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic", "version": "3.1.0" }, "last_serial": 5640196, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f4837069a99ecc07b34b1e6888deb13a", "sha256": "ac680da9f45b9e2e8e61cf97d0df5523961242304ac83fba778a6c3422a5c512" }, "downloads": -1, "filename": "oauthlib-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f4837069a99ecc07b34b1e6888deb13a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17089, "upload_time": "2012-04-11T16:14:11", "url": "https://files.pythonhosted.org/packages/db/fb/209b7453d3dfffadbeff4a45f62938207bafbf6806e85e3921aa4686276f/oauthlib-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "c4258b6eac3e75d744634f89df12a2ba", "sha256": "a2165efc66a65bb4012d7bcbcf02ab419ea97d2fd4c8de50b12f54c0066f741f" }, "downloads": -1, "filename": "oauthlib-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c4258b6eac3e75d744634f89df12a2ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18187, "upload_time": "2012-04-12T22:09:44", "url": "https://files.pythonhosted.org/packages/cc/d3/75de3ab561a638c33536f58beb00a877c39769f2f263103d62f9cfa875a1/oauthlib-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "063e1153e19b91ac4c718bdb8883e4eb", "sha256": "da2c9b066002d93d9a378b0876b62284c1fcb9f5532c6d873bfb5c4ab2276c2e" }, "downloads": -1, "filename": "oauthlib-0.1.0.tar.gz", "has_sig": false, "md5_digest": "063e1153e19b91ac4c718bdb8883e4eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24643, "upload_time": "2012-05-03T00:11:39", "url": "https://files.pythonhosted.org/packages/d8/09/68c5a7e086ff447f6e75685bbf998e1239e3f7fd9fa26f3e1b26de9aeea6/oauthlib-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "742d258c051005a772bd16f474325dd8", "sha256": "80d6c0d0088c6107ffac0079a682843d6e49a94dbd84539cba1eb46e9cd5bc0b" }, "downloads": -1, "filename": "oauthlib-0.1.1.tar.gz", "has_sig": false, "md5_digest": "742d258c051005a772bd16f474325dd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24649, "upload_time": "2012-05-03T07:33:33", "url": "https://files.pythonhosted.org/packages/58/31/b571ce1b2ffd0cde91e629ee425aafffdf790cca5d369af0727e46538f84/oauthlib-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "dce0471e2bd22e1c3ece6efac7b46316", "sha256": "2d07deeb4a15dd63512a0881ed7ff0284fec8911beee7a7db812389ca339357f" }, "downloads": -1, "filename": "oauthlib-0.1.2.tar.gz", "has_sig": false, "md5_digest": "dce0471e2bd22e1c3ece6efac7b46316", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24687, "upload_time": "2012-05-03T07:38:57", "url": "https://files.pythonhosted.org/packages/86/15/acc8e6170fcaaadf0e2679c69f1acc108cd6a4dbb1f44ed42b173d0fa3cf/oauthlib-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9e191613b92c6a6bb7aefc24e76d21b6", "sha256": "6066c9c0ab07953f98870bc97d29f6defd066b6c215de74b9976666f3f6c3d40" }, "downloads": -1, "filename": "oauthlib-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9e191613b92c6a6bb7aefc24e76d21b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24684, "upload_time": "2012-05-06T09:08:28", "url": "https://files.pythonhosted.org/packages/29/48/db1ab23e6a24acf54757b7fc230c9468227091e058d59194b72641481ee0/oauthlib-0.1.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0330201a1aef2d6d92cb0516f81fc1fe", "sha256": "8c62a18370b87fda3299bad4d4af2949e1bcb2d65519887ffcdcbcd00dfa9bf0" }, "downloads": -1, "filename": "oauthlib-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0330201a1aef2d6d92cb0516f81fc1fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43581, "upload_time": "2012-08-13T14:13:37", "url": "https://files.pythonhosted.org/packages/46/fe/5fda96976773487c1ddde4ea0b2eedbacf4ef126c364141c1d4331c36156/oauthlib-0.3.0.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "c354cb968e420226276baa00233dbdad", "sha256": "fb391508bd89e4a1e074d77a59e37304500a66af07373b98ccfcd9735c35b781" }, "downloads": -1, "filename": "oauthlib-0.3.2.tar.gz", "has_sig": false, "md5_digest": "c354cb968e420226276baa00233dbdad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44680, "upload_time": "2012-11-08T19:59:56", "url": "https://files.pythonhosted.org/packages/64/df/de8a43db0eef930e33795fa502fe59f0e787863ff517442e74e488994031/oauthlib-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "0ed56b8cc2ca4d9784cf1606330e5413", "sha256": "4088ee61a499b27f4ac331938cf687dc30a3e7fe1a8acee1c4411850bbf319e9" }, "downloads": -1, "filename": "oauthlib-0.3.3.tar.gz", "has_sig": false, "md5_digest": "0ed56b8cc2ca4d9784cf1606330e5413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44788, "upload_time": "2012-11-08T22:59:55", "url": "https://files.pythonhosted.org/packages/5e/aa/e80874ad7b5ea4e5d41422034902e409c22f7c0d818f24fe5967429d678f/oauthlib-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "03556517a7f076b8c8b7551bca80eb29", "sha256": "7f3a2bc708c9667aa9e5071bde10bcaa1c07218b4f0c777383a98478ef47bdd3" }, "downloads": -1, "filename": "oauthlib-0.3.4.tar.gz", "has_sig": false, "md5_digest": "03556517a7f076b8c8b7551bca80eb29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54799, "upload_time": "2012-11-19T18:28:58", "url": "https://files.pythonhosted.org/packages/87/df/924dcff4ba716dc08c73178b4b2bdcaad44815696cd4498c678f9a46eb36/oauthlib-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "230144a4a7bcbfa3250c95d69c24f329", "sha256": "54912d28a3a7f9aff78537113dba2a8ee25f735dcc0fdf10b96e7b3fb4db39b7" }, "downloads": -1, "filename": "oauthlib-0.3.5.tar.gz", "has_sig": false, "md5_digest": "230144a4a7bcbfa3250c95d69c24f329", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58841, "upload_time": "2013-01-29T20:17:50", "url": "https://files.pythonhosted.org/packages/8f/fb/b8864db312cc3579d655752e8a26017c3f36f07e806f738e757786a95692/oauthlib-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "81e151a4e04c854841566a7fd73a30b6", "sha256": "0724d48d8a6d0f749ce67004a547335c042adf988d9748b0c8d792151cbceffc" }, "downloads": -1, "filename": "oauthlib-0.3.6.tar.gz", "has_sig": false, "md5_digest": "81e151a4e04c854841566a7fd73a30b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62998, "upload_time": "2013-02-04T23:19:22", "url": "https://files.pythonhosted.org/packages/22/5b/175d03aba24de9b5a06dd3aab4973b5c0aec6bb96e9000093331cece2cfd/oauthlib-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "75c861ffde4ea2170bb62428eb78ef69", "sha256": "12b8fb9fa02a531c412bdc0fcb3a214e3da8c4075f19d6ca2c6d1a3636d2a000" }, "downloads": -1, "filename": "oauthlib-0.3.7.tar.gz", "has_sig": false, "md5_digest": "75c861ffde4ea2170bb62428eb78ef69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63788, "upload_time": "2013-02-11T23:35:23", "url": "https://files.pythonhosted.org/packages/fe/0d/78eae68dbc097d6baa7a044601e49a02e3fc41f0d3479b8faf23aa514dd5/oauthlib-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "d5b6078b47c52db1bf93e1b277846173", "sha256": "ab77b6bc5737d09d7c8a9c9e6e85354470b7fe8d173bb932889dd796e811b7a2" }, "downloads": -1, "filename": "oauthlib-0.3.8.tar.gz", "has_sig": false, "md5_digest": "d5b6078b47c52db1bf93e1b277846173", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67777, "upload_time": "2013-02-23T15:43:36", "url": "https://files.pythonhosted.org/packages/b6/bb/38b4d7f492943781457d56a62d23b65f58feadd731c0c3fe5f065bc834e1/oauthlib-0.3.8.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "882d5c5cba171df5943a6b8fc9404455", "sha256": "9fa2f6ecc03529b12e9c9445e9a29ca72fecdebfe1f7f5ccc9242ba7a9c4e996" }, "downloads": -1, "filename": "oauthlib-0.4.0.tar.gz", "has_sig": false, "md5_digest": "882d5c5cba171df5943a6b8fc9404455", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77677, "upload_time": "2013-03-26T18:03:30", "url": "https://files.pythonhosted.org/packages/f2/b9/07befbd0a8b058aaaefd7ba7afb08cc1e079f57635a97e4c9ee639fa7f32/oauthlib-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c5e525c73cead174b1025951f6e2f330", "sha256": "9f6bdd5b39dc786a74de6f7e31d03e4d06215b20b900400d929cf32728e8a851" }, "downloads": -1, "filename": "oauthlib-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c5e525c73cead174b1025951f6e2f330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78977, "upload_time": "2013-05-20T18:49:15", "url": "https://files.pythonhosted.org/packages/89/02/094b5807b9a07b1234a13a945f111ce293170c4992f0b512442d2d34db25/oauthlib-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "0c2cc4a7c36630ec0bb202e140b0fc82", "sha256": "597c661621e3c8dd0ea644bd27e70c0d55d5037d00159d34bcd254bb4677dc5e" }, "downloads": -1, "filename": "oauthlib-0.4.2.tar.gz", "has_sig": false, "md5_digest": "0c2cc4a7c36630ec0bb202e140b0fc82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80004, "upload_time": "2013-05-31T14:22:57", "url": "https://files.pythonhosted.org/packages/86/c9/be94c384f2b2185d86c1ae7ecddeccf76e1066d06659d53287509c42272f/oauthlib-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "d12c507de33403ebdf290fbffdb98213", "sha256": "6fb9ac30857bf4c6c47dd95af081ed54d17c7da88c0c249e8eddc59c55cc439b" }, "downloads": -1, "filename": "oauthlib-0.5.0.tar.gz", "has_sig": false, "md5_digest": "d12c507de33403ebdf290fbffdb98213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84649, "upload_time": "2013-07-09T17:13:12", "url": "https://files.pythonhosted.org/packages/48/29/ce630509cb78d6019c5b635b84926ff83242c1b3e0258ebbae66b6bd0579/oauthlib-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "45ebbd43c9430bb404c9aa0979d949f2", "sha256": "c15712077ae4094f2b2fc3624caf740a69facccf7427414d0f6f7c7f7b681d42" }, "downloads": -1, "filename": "oauthlib-0.5.1.tar.gz", "has_sig": false, "md5_digest": "45ebbd43c9430bb404c9aa0979d949f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84779, "upload_time": "2013-07-26T18:13:25", "url": "https://files.pythonhosted.org/packages/1f/24/f5971a63dfc0cbdd3ef5890707041f470860066ffc02cc26f749595f765a/oauthlib-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "b7c3e1832ec111e65baaab2de7834aae", "sha256": "90746519ea84ae3f7c632ede04a8a049ce863eb81df02054a0c63aa3f3da9f50" }, "downloads": -1, "filename": "oauthlib-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b7c3e1832ec111e65baaab2de7834aae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91756, "upload_time": "2013-09-13T10:06:22", "url": "https://files.pythonhosted.org/packages/f7/b6/9d89f164b764c2e38546b49c747b3d3be48de5ebff6885c399828f996070/oauthlib-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "18f8524c85606380c1ef8a7ff50d69cc", "sha256": "3850fbe9cd9a9a8f82b3ed79a5948aa9f46d6f4405eacbc6bafb74e9f755c8ee" }, "downloads": -1, "filename": "oauthlib-0.6.1.tar.gz", "has_sig": false, "md5_digest": "18f8524c85606380c1ef8a7ff50d69cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96405, "upload_time": "2014-01-20T11:10:47", "url": "https://files.pythonhosted.org/packages/78/9d/4d9cb64535c5fd805f9edd2e77ffa2be83d98f6d37c3ea5f0536138bf0bf/oauthlib-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "e987fec8f58cd0f3896d750bb5536d8d", "sha256": "41671b6d721e3c346a13cbdf391f344f71bf20d09b323ad182f224ba2c0f56b0" }, "downloads": -1, "filename": "oauthlib-0.6.2.tar.gz", "has_sig": false, "md5_digest": "e987fec8f58cd0f3896d750bb5536d8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100853, "upload_time": "2014-06-06T11:01:21", "url": "https://files.pythonhosted.org/packages/2a/f9/19861d9b5dd484fa1602d98418ca36841e050565420dd1a45eeafebd5e34/oauthlib-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "3ecba28f991ee58db2aeda8b4e2b56b1", "sha256": "0a11ab2311f7a29d0079fe529bde9503fec9a2bdd52db834cf8a284a8c1c52f9" }, "downloads": -1, "filename": "oauthlib-0.6.3.tar.gz", "has_sig": false, "md5_digest": "3ecba28f991ee58db2aeda8b4e2b56b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100950, "upload_time": "2014-06-10T10:42:19", "url": "https://files.pythonhosted.org/packages/e6/d7/97b05b7c3fc31defb028bda23423d34b0de2dfe2aa99581f58304b9039a9/oauthlib-0.6.3.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "34d40d666ff383cae683b9c7028f092e", "sha256": "c5c2395f43447eac2fc5ceb85bff1a02bb8fae17751598c5f2afde9936675ece" }, "downloads": -1, "filename": "oauthlib-0.7.0.tar.gz", "has_sig": false, "md5_digest": "34d40d666ff383cae683b9c7028f092e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 105988, "upload_time": "2014-10-27T14:03:34", "url": "https://files.pythonhosted.org/packages/b4/de/74cc739cf81a69064d9c24ba5386c0aec260631c8b99fb8bfd043c75e003/oauthlib-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "ef5eda064c5732516c6d199892d7aaec", "sha256": "70d004c4030c1a5924508a3006654441f7862cec826fb87428c429c1806fe47c" }, "downloads": -1, "filename": "oauthlib-0.7.1.tar.gz", "has_sig": false, "md5_digest": "ef5eda064c5732516c6d199892d7aaec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106495, "upload_time": "2014-10-27T16:57:21", "url": "https://files.pythonhosted.org/packages/b7/00/bd68b9ec123d3058a07d79822e52672f4d22faff5f3669d899ef4f0ac8b7/oauthlib-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "eb60abdb002b9c08d248707b79a1cc92", "sha256": "a051f04ee8ec3305055ab34d87b36c9a449375e07c7d6a05bcafa48329cac7c3" }, "downloads": -1, "filename": "oauthlib-0.7.2.tar.gz", "has_sig": false, "md5_digest": "eb60abdb002b9c08d248707b79a1cc92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106079, "upload_time": "2014-11-13T12:41:37", "url": "https://files.pythonhosted.org/packages/ff/1e/bf215eeec4e61494a0ad88a5d03aabd0b2c83906d81f0dc07530d9664d56/oauthlib-0.7.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "1fa4979432ff8774db2ad42faf0c7f88", "sha256": "4b58215675e48d4f6d17ddb8c67ca3a45d166559020e580739f7ee2ac5fffdd3" }, "downloads": -1, "filename": "oauthlib-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1fa4979432ff8774db2ad42faf0c7f88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108079, "upload_time": "2015-07-20T08:02:25", "url": "https://files.pythonhosted.org/packages/e8/fd/160674a479175b9d96a4dd9c5ebcbc8623d109469d639be0494de66d326a/oauthlib-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "67fbf9c8173ba38c31dc66c571d8bd40", "sha256": "2f1999a7c11f8714a1545de033b0950da77f651ff64f271d7dd9df15dc72049b" }, "downloads": -1, "filename": "oauthlib-1.0.1.tar.gz", "has_sig": false, "md5_digest": "67fbf9c8173ba38c31dc66c571d8bd40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108125, "upload_time": "2015-07-28T07:50:10", "url": "https://files.pythonhosted.org/packages/41/a0/dce895a66dc83f1e6bab590690d0f85c4cc1f01c4e253685aa52d54e0e49/oauthlib-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0a976d07fb7343fdaf1ae7d4d6ec2e70", "sha256": "4d6b2659320c5b9153e43addbcdc28a490100ed25f485571500395c756238219" }, "downloads": -1, "filename": "oauthlib-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0a976d07fb7343fdaf1ae7d4d6ec2e70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108812, "upload_time": "2015-08-16T12:03:32", "url": "https://files.pythonhosted.org/packages/c1/bf/9d78786ece34ee3941e137554301d12539d3bbda2a2d09e0792e27ff41a4/oauthlib-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "02772867bf246b3b37f4ed22786c41f5", "sha256": "ef4bfe4663ca3b97a995860c0173b967ebd98033d02f38c9e1b2cbb6c191d9ad" }, "downloads": -1, "filename": "oauthlib-1.0.3.tar.gz", "has_sig": false, "md5_digest": "02772867bf246b3b37f4ed22786c41f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109095, "upload_time": "2015-08-16T12:17:14", "url": "https://files.pythonhosted.org/packages/db/73/2a73deac557e3d2489e4aa14d606e20d6a445cd24a1f8661a6b1d26b41c6/oauthlib-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "21eac8a41227162d2c3437e09413804e", "sha256": "0f786c5573248a38efa86c48c59c0c93140ac836ab2a246aeefd8f9039e999ba" }, "downloads": -1, "filename": "oauthlib-1.1.0-1.tar.gz", "has_sig": false, "md5_digest": "21eac8a41227162d2c3437e09413804e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106350, "upload_time": "2016-04-28T06:51:02", "url": "https://files.pythonhosted.org/packages/e5/54/4f96c51b171cf3a64a04b8c5167268803205bc5943b5cdf70bd770727b88/oauthlib-1.1.0-1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "835e04193f04fe9f17b00a68bcdf8563", "sha256": "2adb8aea38b57b0f997f5165ade8228c8a105ac1a32b485fba04ce545e887e0e" }, "downloads": -1, "filename": "oauthlib-1.1.1.tar.gz", "has_sig": false, "md5_digest": "835e04193f04fe9f17b00a68bcdf8563", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108581, "upload_time": "2016-05-01T07:34:09", "url": "https://files.pythonhosted.org/packages/79/56/cb4c1ff3244f68605a1042a7f257f96815246b0625e28991d268554adb16/oauthlib-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "93db15cb6519a8707b75a141e865d86e", "sha256": "0e83e91d9e77a396dc178eddba0c4abf75e465761804bfcdb20b977284bcb0bb" }, "downloads": -1, "filename": "oauthlib-1.1.2.tar.gz", "has_sig": false, "md5_digest": "93db15cb6519a8707b75a141e865d86e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111706, "upload_time": "2016-06-01T13:08:34", "url": "https://files.pythonhosted.org/packages/a8/11/fb71ced7057b2a8929f51959f4e97bcee9f687aaf896c521984e67118b90/oauthlib-1.1.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "79b83aa677fc45d1ea28deab7445b4ca", "sha256": "0ad22b4f03fd75ef18d5793e1fed5e2361af5d374009f7722b4af390a0030dfd" }, "downloads": -1, "filename": "oauthlib-2.0.0.tar.gz", "has_sig": false, "md5_digest": "79b83aa677fc45d1ea28deab7445b4ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122597, "upload_time": "2016-09-03T08:54:37", "url": "https://files.pythonhosted.org/packages/ce/92/7f07412a4f04e55c1e83a09c6fd48075b5df96c1dbd4078c3407c5be1dff/oauthlib-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "d64091c3b5cc2198c5031d95e70eaa9d", "sha256": "132ad46df25e53a84b33f1fd43f80e973cda2cb018cc0168d7d0c8c4d5cef9b5" }, "downloads": -1, "filename": "oauthlib-2.0.1.tar.gz", "has_sig": false, "md5_digest": "d64091c3b5cc2198c5031d95e70eaa9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122966, "upload_time": "2016-11-23T10:31:05", "url": "https://files.pythonhosted.org/packages/d2/4c/5ac894a469e25ebd02f6b3c2adb9f55253e6d1ca1f16a7d247ae6d48b4c8/oauthlib-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "f59b448a30684347e00f369bc3542abc", "sha256": "b3b9b47f2a263fe249b5b48c4e25a5bce882ff20a0ac34d553ce43cff55b53ac" }, "downloads": -1, "filename": "oauthlib-2.0.2.tar.gz", "has_sig": false, "md5_digest": "f59b448a30684347e00f369bc3542abc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125631, "upload_time": "2017-03-19T12:51:09", "url": "https://files.pythonhosted.org/packages/fa/2e/25f25e6c69d97cf921f0a8f7d520e0ef336dd3deca0142c0b634b0236a90/oauthlib-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "35de8187ac00322ede93ca6a3aa619b1", "sha256": "f36c6631d072a2acb8b3b99f94e5e314f1fb4ed996696b18b2723769391c071b" }, "downloads": -1, "filename": "oauthlib-2.0.3.tar.gz", "has_sig": false, "md5_digest": "35de8187ac00322ede93ca6a3aa619b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127155, "upload_time": "2017-09-07T10:53:18", "url": "https://files.pythonhosted.org/packages/8d/f6/73febc3edf774239b18231d8b17cf2c3319dd128f7fe2f55f3fdf96477b4/oauthlib-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "2d34c1473849f9389643f7217c8ffab6", "sha256": "514e293cb356dd53d596692207d48d9231b997995c9a4167eefa868583d74d13" }, "downloads": -1, "filename": "oauthlib-2.0.4.tar.gz", "has_sig": false, "md5_digest": "2d34c1473849f9389643f7217c8ffab6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127426, "upload_time": "2017-09-17T11:25:19", "url": "https://files.pythonhosted.org/packages/78/46/c19c2d374a37d218c551717d873670216af7242bc92958df1701dcc5e76d/oauthlib-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "03e8368f632a855324f0f82dc1c47e4a", "sha256": "6b12ab356047664e5554c01ff2d4d5d5bbb33cb6ab94076f6fdafa783b257537" }, "downloads": -1, "filename": "oauthlib-2.0.5.tar.gz", "has_sig": false, "md5_digest": "03e8368f632a855324f0f82dc1c47e4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129304, "upload_time": "2017-10-18T15:29:26", "url": "https://files.pythonhosted.org/packages/27/36/518009a4be21dc618d7f4f3e2590496e9057c4d79f63cb5389c6d61971f1/oauthlib-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "277a9a966cc8c72e492b4eeb41332445", "sha256": "ce57b501e906ff4f614e71c36a3ab9eacbb96d35c24d1970d2539bbc3ec70ce1" }, "downloads": -1, "filename": "oauthlib-2.0.6.tar.gz", "has_sig": false, "md5_digest": "277a9a966cc8c72e492b4eeb41332445", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127675, "upload_time": "2017-10-19T16:14:12", "url": "https://files.pythonhosted.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754/oauthlib-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "ffa5c4a3f4c02a9e8e388b30d930bb17", "sha256": "09d438bcac8f004ae348e721e9d8a7792a9e23cd574634e973173344046287f5" }, "downloads": -1, "filename": "oauthlib-2.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ffa5c4a3f4c02a9e8e388b30d930bb17", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 124549, "upload_time": "2018-03-19T13:41:23", "url": "https://files.pythonhosted.org/packages/e0/ac/c6a0c98788aa0d61915190d089e9ebe680905a94261effe3936eb8fe356f/oauthlib-2.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fca21cda1c106ff4c5110cc355dca22", "sha256": "909665297635fa11fe9914c146d875f2ed41c8c2d78e21a529dd71c0ba756508" }, "downloads": -1, "filename": "oauthlib-2.0.7.tar.gz", "has_sig": false, "md5_digest": "1fca21cda1c106ff4c5110cc355dca22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128412, "upload_time": "2018-03-19T13:41:24", "url": "https://files.pythonhosted.org/packages/47/b9/66278631430fe688b2e6c84df16619f1d1e27c9c6ebca28371f7c6fbb346/oauthlib-2.0.7.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "0418d9fddcd52ae6130f9993931b57bf", "sha256": "d883b36b21a6ad813953803edfa563b1b579d79ca758fe950d1bc9e8b326025b" }, "downloads": -1, "filename": "oauthlib-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0418d9fddcd52ae6130f9993931b57bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 121792, "upload_time": "2018-05-22T10:21:04", "url": "https://files.pythonhosted.org/packages/e6/d1/ddd9cfea3e736399b97ded5c2dd62d1322adef4a72d816f1ed1049d6a179/oauthlib-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "544b15398afe48d9493fa60d571bd8c7", "sha256": "ac35665a61c1685c56336bda97d5eefa246f1202618a1d6f34fccb1bdd404162" }, "downloads": -1, "filename": "oauthlib-2.1.0.tar.gz", "has_sig": false, "md5_digest": "544b15398afe48d9493fa60d571bd8c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128807, "upload_time": "2018-05-22T10:21:06", "url": "https://files.pythonhosted.org/packages/df/5f/3f4aae7b28db87ddef18afed3b71921e531ca288dc604eb981e9ec9f8853/oauthlib-2.1.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "51410abc10155494a01fe1e37cef8390", "sha256": "8932fb34f7c6a4fc50c9f423b105923ed2e6df091b3c388d182540db02c581a0" }, "downloads": -1, "filename": "oauthlib-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "51410abc10155494a01fe1e37cef8390", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 142887, "upload_time": "2019-01-08T15:04:24", "url": "https://files.pythonhosted.org/packages/b8/03/ec2be6c125f330361afe33bff48ef7549c47da8fefc658a2df2242175b4b/oauthlib-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61121e2dc6af1afbc3da890cc6e50d52", "sha256": "0a8b2e0daa7afb62bd1b0b387b7a3723fa9a35d1183694ca5a5c8e3d6df59913" }, "downloads": -1, "filename": "oauthlib-3.0.0.tar.gz", "has_sig": false, "md5_digest": "61121e2dc6af1afbc3da890cc6e50d52", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 149035, "upload_time": "2019-01-08T15:04:26", "url": "https://files.pythonhosted.org/packages/a2/c8/fcb769d478397c92fbd922369a58b9356fa7c4e8ab024d133090bdb9e025/oauthlib-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "a20b2ae74797fafb7eb70f813d992d0e", "sha256": "3e1e14f6cde7e5475128d30e97edc3bfb4dc857cb884d8714ec161fdbb3b358e" }, "downloads": -1, "filename": "oauthlib-3.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a20b2ae74797fafb7eb70f813d992d0e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 142889, "upload_time": "2019-01-24T13:34:19", "url": "https://files.pythonhosted.org/packages/16/95/699466b05b72b94a41f662dc9edf87fda4289e3602ecd42d27fcaddf7b56/oauthlib-3.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfaa2ad7f1b0c6acdb328dd9b942c488", "sha256": "0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298" }, "downloads": -1, "filename": "oauthlib-3.0.1.tar.gz", "has_sig": false, "md5_digest": "dfaa2ad7f1b0c6acdb328dd9b942c488", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 149303, "upload_time": "2019-01-24T13:34:20", "url": "https://files.pythonhosted.org/packages/ec/90/882f43232719f2ebfbdbe8b7c57fc9642a25b3df30cb70a3701ea22622de/oauthlib-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "7aecbf010ec98c21e4dd1b48e0a63b3c", "sha256": "40a63637707e9163eda62d0f5345120c65e001a790480b8256448543c1f78f66" }, "downloads": -1, "filename": "oauthlib-3.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7aecbf010ec98c21e4dd1b48e0a63b3c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 143626, "upload_time": "2019-07-04T09:48:56", "url": "https://files.pythonhosted.org/packages/58/5e/289e98ff5ad1a321945803000c5f10f5f90eba346d13139ecdd075cfbe17/oauthlib-3.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d8454f0e80a628dcef55db12f73895e", "sha256": "b4d99ae8ccfb7d33ba9591b59355c64eef5241534aa3da2e4c0435346b84bc8e" }, "downloads": -1, "filename": "oauthlib-3.0.2.tar.gz", "has_sig": false, "md5_digest": "1d8454f0e80a628dcef55db12f73895e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 149894, "upload_time": "2019-07-04T09:48:58", "url": "https://files.pythonhosted.org/packages/6a/cf/f1a44998f36c62a7a9e51145101428299be27b1e3a411adfd6fd87589889/oauthlib-3.0.2.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "de4829861f156a7fd7404f9f8d9ca444", "sha256": "df884cd6cbe20e32633f1db1072e9356f53638e4361bef4e8b03c9127c9328ea" }, "downloads": -1, "filename": "oauthlib-3.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de4829861f156a7fd7404f9f8d9ca444", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 147368, "upload_time": "2019-08-06T14:50:40", "url": "https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43cb2b5bac983712ee55076b61181cc2", "sha256": "bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889" }, "downloads": -1, "filename": "oauthlib-3.1.0.tar.gz", "has_sig": false, "md5_digest": "43cb2b5bac983712ee55076b61181cc2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 155362, "upload_time": "2019-08-06T14:50:42", "url": "https://files.pythonhosted.org/packages/fc/c7/829c73c64d3749da7811c06319458e47f3461944da9d98bb4df1cb1598c2/oauthlib-3.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "de4829861f156a7fd7404f9f8d9ca444", "sha256": "df884cd6cbe20e32633f1db1072e9356f53638e4361bef4e8b03c9127c9328ea" }, "downloads": -1, "filename": "oauthlib-3.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de4829861f156a7fd7404f9f8d9ca444", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 147368, "upload_time": "2019-08-06T14:50:40", "url": "https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43cb2b5bac983712ee55076b61181cc2", "sha256": "bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889" }, "downloads": -1, "filename": "oauthlib-3.1.0.tar.gz", "has_sig": false, "md5_digest": "43cb2b5bac983712ee55076b61181cc2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 155362, "upload_time": "2019-08-06T14:50:42", "url": "https://files.pythonhosted.org/packages/fc/c7/829c73c64d3749da7811c06319458e47f3461944da9d98bb4df1cb1598c2/oauthlib-3.1.0.tar.gz" } ] }