{<<"links">>,
 [{<<"Changelog">>,<<"https://hexdocs.pm/phoenix/changelog.html">>},
  {<<"GitHub">>,<<"https://github.com/phoenixframework/phoenix">>}]}.
{<<"name">>,<<"phoenix">>}.
{<<"version">>,<<"1.8.5">>}.
{<<"description">>,<<"Peace of mind from prototype to production">>}.
{<<"elixir">>,<<"~> 1.15">>}.
{<<"app">>,<<"phoenix">>}.
{<<"licenses">>,[<<"MIT">>]}.
{<<"files">>,
 [<<"assets/js">>,<<"assets/js/phoenix">>,<<"assets/js/phoenix/ajax.js">>,
  <<"assets/js/phoenix/channel.js">>,<<"assets/js/phoenix/constants.js">>,
  <<"assets/js/phoenix/index.js">>,<<"assets/js/phoenix/longpoll.js">>,
  <<"assets/js/phoenix/presence.js">>,<<"assets/js/phoenix/push.js">>,
  <<"assets/js/phoenix/serializer.js">>,<<"assets/js/phoenix/timer.js">>,
  <<"assets/js/phoenix/utils.js">>,<<"assets/js/phoenix/socket.js">>,
  <<"lib">>,<<"lib/mix">>,<<"lib/mix/phoenix">>,
  <<"lib/mix/phoenix/context.ex">>,<<"lib/mix/phoenix/schema.ex">>,
  <<"lib/mix/phoenix/scope.ex">>,<<"lib/mix/tasks">>,
  <<"lib/mix/tasks/phx.gen.auth">>,
  <<"lib/mix/tasks/phx.gen.auth/hashing_library.ex">>,
  <<"lib/mix/tasks/phx.gen.auth/injector.ex">>,
  <<"lib/mix/tasks/phx.gen.auth/migration.ex">>,
  <<"lib/mix/tasks/compile.phoenix.ex">>,
  <<"lib/mix/tasks/phx.digest.clean.ex">>,<<"lib/mix/tasks/phx.digest.ex">>,
  <<"lib/mix/tasks/phx.ex">>,<<"lib/mix/tasks/phx.gen.ex">>,
  <<"lib/mix/tasks/phx.gen.secret.ex">>,<<"lib/mix/tasks/phx.routes.ex">>,
  <<"lib/mix/tasks/phx.server.ex">>,<<"lib/mix/tasks/phx.gen.cert.ex">>,
  <<"lib/mix/tasks/phx.gen.auth.ex">>,<<"lib/mix/tasks/phx.gen.channel.ex">>,
  <<"lib/mix/tasks/phx.gen.context.ex">>,
  <<"lib/mix/tasks/phx.gen.embedded.ex">>,<<"lib/mix/tasks/phx.gen.html.ex">>,
  <<"lib/mix/tasks/phx.gen.json.ex">>,<<"lib/mix/tasks/phx.gen.live.ex">>,
  <<"lib/mix/tasks/phx.gen.notifier.ex">>,
  <<"lib/mix/tasks/phx.gen.presence.ex">>,
  <<"lib/mix/tasks/phx.gen.release.ex">>,
  <<"lib/mix/tasks/phx.gen.schema.ex">>,<<"lib/mix/tasks/phx.gen.socket.ex">>,
  <<"lib/mix/phoenix.ex">>,<<"lib/phoenix">>,<<"lib/phoenix/channel">>,
  <<"lib/phoenix/channel/server.ex">>,<<"lib/phoenix/code_reloader">>,
  <<"lib/phoenix/code_reloader/mix_listener.ex">>,
  <<"lib/phoenix/code_reloader/proxy.ex">>,
  <<"lib/phoenix/code_reloader/server.ex">>,<<"lib/phoenix/controller">>,
  <<"lib/phoenix/controller/pipeline.ex">>,<<"lib/phoenix/digester">>,
  <<"lib/phoenix/digester/compressor.ex">>,<<"lib/phoenix/digester/gzip.ex">>,
  <<"lib/phoenix/endpoint">>,<<"lib/phoenix/endpoint/cowboy2_adapter.ex">>,
  <<"lib/phoenix/endpoint/render_errors.ex">>,
  <<"lib/phoenix/endpoint/sync_code_reload_plug.ex">>,
  <<"lib/phoenix/endpoint/watcher.ex">>,
  <<"lib/phoenix/endpoint/supervisor.ex">>,<<"lib/phoenix/router">>,
  <<"lib/phoenix/router/console_formatter.ex">>,
  <<"lib/phoenix/router/helpers.ex">>,<<"lib/phoenix/router/resource.ex">>,
  <<"lib/phoenix/router/route.ex">>,<<"lib/phoenix/router/scope.ex">>,
  <<"lib/phoenix/socket">>,<<"lib/phoenix/socket/serializers">>,
  <<"lib/phoenix/socket/serializers/v1_json_serializer.ex">>,
  <<"lib/phoenix/socket/serializers/v2_json_serializer.ex">>,
  <<"lib/phoenix/socket/message.ex">>,
  <<"lib/phoenix/socket/pool_supervisor.ex">>,
  <<"lib/phoenix/socket/serializer.ex">>,
  <<"lib/phoenix/socket/transport.ex">>,<<"lib/phoenix/test">>,
  <<"lib/phoenix/test/conn_test.ex">>,<<"lib/phoenix/test/channel_test.ex">>,
  <<"lib/phoenix/transports">>,<<"lib/phoenix/transports/long_poll.ex">>,
  <<"lib/phoenix/transports/long_poll_server.ex">>,
  <<"lib/phoenix/transports/websocket.ex">>,<<"lib/phoenix/channel.ex">>,
  <<"lib/phoenix/code_reloader.ex">>,<<"lib/phoenix/config.ex">>,
  <<"lib/phoenix/controller.ex">>,<<"lib/phoenix/debug.ex">>,
  <<"lib/phoenix/digester.ex">>,<<"lib/phoenix/exceptions.ex">>,
  <<"lib/phoenix/flash.ex">>,<<"lib/phoenix/logger.ex">>,
  <<"lib/phoenix/param.ex">>,<<"lib/phoenix/presence.ex">>,
  <<"lib/phoenix/router.ex">>,<<"lib/phoenix/token.ex">>,
  <<"lib/phoenix/socket.ex">>,<<"lib/phoenix/verified_routes.ex">>,
  <<"lib/phoenix/endpoint.ex">>,<<"lib/phoenix/naming.ex">>,
  <<"lib/phoenix.ex">>,<<"priv">>,<<"priv/static">>,
  <<"priv/static/favicon.ico">>,<<"priv/static/phoenix-orange.png">>,
  <<"priv/static/phoenix.png">>,<<"priv/static/phoenix.cjs.js">>,
  <<"priv/static/phoenix.cjs.js.map">>,<<"priv/static/phoenix.js">>,
  <<"priv/static/phoenix.min.js">>,<<"priv/static/phoenix.mjs">>,
  <<"priv/static/phoenix.mjs.map">>,<<"priv/templates">>,
  <<"priv/templates/phx.gen.live">>,
  <<"priv/templates/phx.gen.live/core_components.ex">>,
  <<"priv/templates/phx.gen.live/form.ex">>,
  <<"priv/templates/phx.gen.live/index.ex">>,
  <<"priv/templates/phx.gen.live/live_test.exs">>,
  <<"priv/templates/phx.gen.live/show.ex">>,
  <<"priv/templates/phx.gen.release">>,
  <<"priv/templates/phx.gen.release/rel">>,
  <<"priv/templates/phx.gen.release/rel/migrate.bat.eex">>,
  <<"priv/templates/phx.gen.release/rel/migrate.sh.eex">>,
  <<"priv/templates/phx.gen.release/rel/server.bat.eex">>,
  <<"priv/templates/phx.gen.release/rel/server.sh.eex">>,
  <<"priv/templates/phx.gen.release/Dockerfile.eex">>,
  <<"priv/templates/phx.gen.release/dockerignore.eex">>,
  <<"priv/templates/phx.gen.release/release.ex">>,
  <<"priv/templates/phx.gen.auth">>,
  <<"priv/templates/phx.gen.auth/AGENTS.md">>,
  <<"priv/templates/phx.gen.auth/auth_test.exs">>,
  <<"priv/templates/phx.gen.auth/confirmation_live.ex">>,
  <<"priv/templates/phx.gen.auth/confirmation_live_test.exs">>,
  <<"priv/templates/phx.gen.auth/conn_case.exs">>,
  <<"priv/templates/phx.gen.auth/context_fixtures_functions.ex">>,
  <<"priv/templates/phx.gen.auth/context_functions.ex">>,
  <<"priv/templates/phx.gen.auth/login_live.ex">>,
  <<"priv/templates/phx.gen.auth/login_live_test.exs">>,
  <<"priv/templates/phx.gen.auth/notifier.ex">>,
  <<"priv/templates/phx.gen.auth/registration_controller.ex">>,
  <<"priv/templates/phx.gen.auth/registration_controller_test.exs">>,
  <<"priv/templates/phx.gen.auth/registration_html.ex">>,
  <<"priv/templates/phx.gen.auth/registration_live.ex">>,
  <<"priv/templates/phx.gen.auth/registration_live_test.exs">>,
  <<"priv/templates/phx.gen.auth/registration_new.html.heex">>,
  <<"priv/templates/phx.gen.auth/routes.ex">>,
  <<"priv/templates/phx.gen.auth/schema.ex">>,
  <<"priv/templates/phx.gen.auth/schema_token.ex">>,
  <<"priv/templates/phx.gen.auth/scope.ex">>,
  <<"priv/templates/phx.gen.auth/session_confirm.html.heex">>,
  <<"priv/templates/phx.gen.auth/session_controller.ex">>,
  <<"priv/templates/phx.gen.auth/session_controller_test.exs">>,
  <<"priv/templates/phx.gen.auth/session_html.ex">>,
  <<"priv/templates/phx.gen.auth/session_new.html.heex">>,
  <<"priv/templates/phx.gen.auth/settings_controller.ex">>,
  <<"priv/templates/phx.gen.auth/settings_controller_test.exs">>,
  <<"priv/templates/phx.gen.auth/settings_edit.html.heex">>,
  <<"priv/templates/phx.gen.auth/settings_html.ex">>,
  <<"priv/templates/phx.gen.auth/settings_live.ex">>,
  <<"priv/templates/phx.gen.auth/settings_live_test.exs">>,
  <<"priv/templates/phx.gen.auth/test_cases.exs">>,
  <<"priv/templates/phx.gen.auth/auth.ex">>,
  <<"priv/templates/phx.gen.auth/migration.ex">>,
  <<"priv/templates/phx.gen.channel">>,
  <<"priv/templates/phx.gen.channel/channel.ex">>,
  <<"priv/templates/phx.gen.channel/channel_case.ex">>,
  <<"priv/templates/phx.gen.channel/channel_test.exs">>,
  <<"priv/templates/phx.gen.context">>,
  <<"priv/templates/phx.gen.context/access_no_schema.ex">>,
  <<"priv/templates/phx.gen.context/access_no_schema_scope.ex">>,
  <<"priv/templates/phx.gen.context/context.ex">>,
  <<"priv/templates/phx.gen.context/context_test.exs">>,
  <<"priv/templates/phx.gen.context/fixtures.ex">>,
  <<"priv/templates/phx.gen.context/fixtures_module.ex">>,
  <<"priv/templates/phx.gen.context/schema_access.ex">>,
  <<"priv/templates/phx.gen.context/schema_access_scope.ex">>,
  <<"priv/templates/phx.gen.context/test_cases.exs">>,
  <<"priv/templates/phx.gen.context/test_cases_scope.exs">>,
  <<"priv/templates/phx.gen.embedded">>,
  <<"priv/templates/phx.gen.embedded/embedded_schema.ex">>,
  <<"priv/templates/phx.gen.html">>,
  <<"priv/templates/phx.gen.html/controller.ex">>,
  <<"priv/templates/phx.gen.html/controller_test.exs">>,
  <<"priv/templates/phx.gen.html/edit.html.heex">>,
  <<"priv/templates/phx.gen.html/html.ex">>,
  <<"priv/templates/phx.gen.html/index.html.heex">>,
  <<"priv/templates/phx.gen.html/new.html.heex">>,
  <<"priv/templates/phx.gen.html/resource_form.html.heex">>,
  <<"priv/templates/phx.gen.html/show.html.heex">>,
  <<"priv/templates/phx.gen.json">>,
  <<"priv/templates/phx.gen.json/changeset_json.ex">>,
  <<"priv/templates/phx.gen.json/controller.ex">>,
  <<"priv/templates/phx.gen.json/controller_test.exs">>,
  <<"priv/templates/phx.gen.json/fallback_controller.ex">>,
  <<"priv/templates/phx.gen.json/json.ex">>,
  <<"priv/templates/phx.gen.notifier">>,
  <<"priv/templates/phx.gen.notifier/notifier.ex">>,
  <<"priv/templates/phx.gen.notifier/notifier_test.exs">>,
  <<"priv/templates/phx.gen.presence">>,
  <<"priv/templates/phx.gen.presence/presence.ex">>,
  <<"priv/templates/phx.gen.schema">>,
  <<"priv/templates/phx.gen.schema/migration.exs">>,
  <<"priv/templates/phx.gen.schema/schema.ex">>,
  <<"priv/templates/phx.gen.socket">>,
  <<"priv/templates/phx.gen.socket/socket.ex">>,
  <<"priv/templates/phx.gen.socket/socket.js">>,<<"usage-rules">>,
  <<"usage-rules/phoenix.md">>,<<"usage-rules/ecto.md">>,
  <<"usage-rules/elixir.md">>,<<"usage-rules/html.md">>,
  <<"usage-rules/liveview.md">>,<<"CHANGELOG.md">>,<<"LICENSE.md">>,
  <<"mix.exs">>,<<"package.json">>,<<"README.md">>,<<".formatter.exs">>,
  <<"installer/templates/phx_web/components/core_components.ex">>]}.
{<<"requirements">>,
 [[{<<"name">>,<<"plug">>},
   {<<"app">>,<<"plug">>},
   {<<"optional">>,false},
   {<<"requirement">>,<<"~> 1.14">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"plug_crypto">>},
   {<<"app">>,<<"plug_crypto">>},
   {<<"optional">>,false},
   {<<"requirement">>,<<"~> 1.2 or ~> 2.0">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"telemetry">>},
   {<<"app">>,<<"telemetry">>},
   {<<"optional">>,false},
   {<<"requirement">>,<<"~> 0.4 or ~> 1.0">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"phoenix_pubsub">>},
   {<<"app">>,<<"phoenix_pubsub">>},
   {<<"optional">>,false},
   {<<"requirement">>,<<"~> 2.1">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"phoenix_template">>},
   {<<"app">>,<<"phoenix_template">>},
   {<<"optional">>,false},
   {<<"requirement">>,<<"~> 1.0">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"websock_adapter">>},
   {<<"app">>,<<"websock_adapter">>},
   {<<"optional">>,false},
   {<<"requirement">>,<<"~> 0.5.3">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"phoenix_view">>},
   {<<"app">>,<<"phoenix_view">>},
   {<<"optional">>,true},
   {<<"requirement">>,<<"~> 2.0">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"plug_cowboy">>},
   {<<"app">>,<<"plug_cowboy">>},
   {<<"optional">>,true},
   {<<"requirement">>,<<"~> 2.7">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"bandit">>},
   {<<"app">>,<<"bandit">>},
   {<<"optional">>,true},
   {<<"requirement">>,<<"~> 1.0">>},
   {<<"repository">>,<<"hexpm">>}],
  [{<<"name">>,<<"jason">>},
   {<<"app">>,<<"jason">>},
   {<<"optional">>,true},
   {<<"requirement">>,<<"~> 1.0">>},
   {<<"repository">>,<<"hexpm">>}]]}.
{<<"build_tools">>,[<<"mix">>]}.
