{<<"links">>,
 [{<<"Changelog">>,<<"https://hexdocs.pm/phoenix/changelog.html">>},
  {<<"GitHub">>,<<"https://github.com/phoenixframework/phoenix">>}]}.
{<<"name">>,<<"phoenix">>}.
{<<"version">>,<<"1.8.7">>}.
{<<"description">>,<<"Peace of mind from prototype to production">>}.
{<<"elixir">>,<<"~> 1.15">>}.
{<<"app">>,<<"phoenix">>}.
{<<"licenses">>,[<<"MIT">>]}.
{<<"files">>,
 [<<"assets/js">>,<<"assets/js/phoenix">>,<<"assets/js/phoenix/channel.js">>,
  <<"assets/js/phoenix/presence.js">>,<<"assets/js/phoenix/push.js">>,
  <<"assets/js/phoenix/timer.js">>,<<"assets/js/phoenix/utils.js">>,
  <<"assets/js/phoenix/ajax.js">>,<<"assets/js/phoenix/constants.js">>,
  <<"assets/js/phoenix/index.js">>,<<"assets/js/phoenix/longpoll.js">>,
  <<"assets/js/phoenix/serializer.js">>,<<"assets/js/phoenix/socket.js">>,
  <<"lib">>,<<"lib/mix">>,<<"lib/mix/tasks">>,<<"lib/mix/tasks/phx.ex">>,
  <<"lib/mix/tasks/phx.gen.auth">>,
  <<"lib/mix/tasks/phx.gen.auth/migration.ex">>,
  <<"lib/mix/tasks/phx.gen.auth/hashing_library.ex">>,
  <<"lib/mix/tasks/phx.gen.auth/injector.ex">>,
  <<"lib/mix/tasks/phx.gen.secret.ex">>,
  <<"lib/mix/tasks/compile.phoenix.ex">>,
  <<"lib/mix/tasks/phx.digest.clean.ex">>,<<"lib/mix/tasks/phx.digest.ex">>,
  <<"lib/mix/tasks/phx.gen.auth.ex">>,<<"lib/mix/tasks/phx.gen.cert.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.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/tasks/phx.routes.ex">>,<<"lib/mix/tasks/phx.server.ex">>,
  <<"lib/mix/phoenix">>,<<"lib/mix/phoenix/context.ex">>,
  <<"lib/mix/phoenix/schema.ex">>,<<"lib/mix/phoenix/scope.ex">>,
  <<"lib/mix/phoenix.ex">>,<<"lib/phoenix">>,<<"lib/phoenix/channel">>,
  <<"lib/phoenix/channel/server.ex">>,<<"lib/phoenix/code_reloader">>,
  <<"lib/phoenix/code_reloader/proxy.ex">>,
  <<"lib/phoenix/code_reloader/mix_listener.ex">>,
  <<"lib/phoenix/code_reloader/server.ex">>,<<"lib/phoenix/controller">>,
  <<"lib/phoenix/controller/pipeline.ex">>,<<"lib/phoenix/endpoint">>,
  <<"lib/phoenix/endpoint/cowboy2_adapter.ex">>,
  <<"lib/phoenix/endpoint/watcher.ex">>,
  <<"lib/phoenix/endpoint/render_errors.ex">>,
  <<"lib/phoenix/endpoint/supervisor.ex">>,
  <<"lib/phoenix/endpoint/sync_code_reload_plug.ex">>,
  <<"lib/phoenix/router">>,<<"lib/phoenix/router/helpers.ex">>,
  <<"lib/phoenix/router/resource.ex">>,
  <<"lib/phoenix/router/console_formatter.ex">>,
  <<"lib/phoenix/router/route.ex">>,<<"lib/phoenix/router/scope.ex">>,
  <<"lib/phoenix/socket">>,<<"lib/phoenix/socket/serializer.ex">>,
  <<"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/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/digester">>,
  <<"lib/phoenix/digester/compressor.ex">>,<<"lib/phoenix/digester/gzip.ex">>,
  <<"lib/phoenix/exceptions.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/endpoint.ex">>,
  <<"lib/phoenix/flash.ex">>,<<"lib/phoenix/logger.ex">>,
  <<"lib/phoenix/naming.ex">>,<<"lib/phoenix/param.ex">>,
  <<"lib/phoenix/presence.ex">>,<<"lib/phoenix/router.ex">>,
  <<"lib/phoenix/socket.ex">>,<<"lib/phoenix/token.ex">>,
  <<"lib/phoenix/verified_routes.ex">>,<<"lib/phoenix.ex">>,<<"priv">>,
  <<"priv/static">>,<<"priv/static/phoenix.png">>,
  <<"priv/static/favicon.ico">>,<<"priv/static/phoenix-orange.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.eex">>,
  <<"priv/templates/phx.gen.live/form.ex.eex">>,
  <<"priv/templates/phx.gen.live/index.ex.eex">>,
  <<"priv/templates/phx.gen.live/live_test.exs.eex">>,
  <<"priv/templates/phx.gen.live/show.ex.eex">>,
  <<"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.eex">>,
  <<"priv/templates/phx.gen.auth">>,
  <<"priv/templates/phx.gen.auth/AGENTS.md.eex">>,
  <<"priv/templates/phx.gen.auth/auth.ex.eex">>,
  <<"priv/templates/phx.gen.auth/auth_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/confirmation_live.ex.eex">>,
  <<"priv/templates/phx.gen.auth/confirmation_live_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/conn_case.exs.eex">>,
  <<"priv/templates/phx.gen.auth/context_fixtures_functions.ex.eex">>,
  <<"priv/templates/phx.gen.auth/context_functions.ex.eex">>,
  <<"priv/templates/phx.gen.auth/login_live.ex.eex">>,
  <<"priv/templates/phx.gen.auth/login_live_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/migration.ex.eex">>,
  <<"priv/templates/phx.gen.auth/notifier.ex.eex">>,
  <<"priv/templates/phx.gen.auth/registration_controller.ex.eex">>,
  <<"priv/templates/phx.gen.auth/registration_controller_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/registration_html.ex.eex">>,
  <<"priv/templates/phx.gen.auth/registration_live.ex.eex">>,
  <<"priv/templates/phx.gen.auth/registration_live_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/registration_new.html.heex.eex">>,
  <<"priv/templates/phx.gen.auth/routes.ex.eex">>,
  <<"priv/templates/phx.gen.auth/schema.ex.eex">>,
  <<"priv/templates/phx.gen.auth/schema_token.ex.eex">>,
  <<"priv/templates/phx.gen.auth/scope.ex.eex">>,
  <<"priv/templates/phx.gen.auth/session_confirm.html.heex.eex">>,
  <<"priv/templates/phx.gen.auth/session_controller.ex.eex">>,
  <<"priv/templates/phx.gen.auth/session_controller_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/session_html.ex.eex">>,
  <<"priv/templates/phx.gen.auth/session_new.html.heex.eex">>,
  <<"priv/templates/phx.gen.auth/settings_controller.ex.eex">>,
  <<"priv/templates/phx.gen.auth/settings_controller_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/settings_edit.html.heex.eex">>,
  <<"priv/templates/phx.gen.auth/settings_html.ex.eex">>,
  <<"priv/templates/phx.gen.auth/settings_live.ex.eex">>,
  <<"priv/templates/phx.gen.auth/settings_live_test.exs.eex">>,
  <<"priv/templates/phx.gen.auth/test_cases.exs.eex">>,
  <<"priv/templates/phx.gen.channel">>,
  <<"priv/templates/phx.gen.channel/channel.ex.eex">>,
  <<"priv/templates/phx.gen.channel/channel_case.ex.eex">>,
  <<"priv/templates/phx.gen.channel/channel_test.exs.eex">>,
  <<"priv/templates/phx.gen.context">>,
  <<"priv/templates/phx.gen.context/access_no_schema.ex.eex">>,
  <<"priv/templates/phx.gen.context/access_no_schema_scope.ex.eex">>,
  <<"priv/templates/phx.gen.context/context.ex.eex">>,
  <<"priv/templates/phx.gen.context/context_test.exs.eex">>,
  <<"priv/templates/phx.gen.context/fixtures.ex.eex">>,
  <<"priv/templates/phx.gen.context/fixtures_module.ex.eex">>,
  <<"priv/templates/phx.gen.context/schema_access.ex.eex">>,
  <<"priv/templates/phx.gen.context/schema_access_scope.ex.eex">>,
  <<"priv/templates/phx.gen.context/test_cases.exs.eex">>,
  <<"priv/templates/phx.gen.context/test_cases_scope.exs.eex">>,
  <<"priv/templates/phx.gen.embedded">>,
  <<"priv/templates/phx.gen.embedded/embedded_schema.ex.eex">>,
  <<"priv/templates/phx.gen.html">>,
  <<"priv/templates/phx.gen.html/controller.ex.eex">>,
  <<"priv/templates/phx.gen.html/controller_test.exs.eex">>,
  <<"priv/templates/phx.gen.html/edit.html.heex.eex">>,
  <<"priv/templates/phx.gen.html/html.ex.eex">>,
  <<"priv/templates/phx.gen.html/index.html.heex.eex">>,
  <<"priv/templates/phx.gen.html/new.html.heex.eex">>,
  <<"priv/templates/phx.gen.html/resource_form.html.heex.eex">>,
  <<"priv/templates/phx.gen.html/show.html.heex.eex">>,
  <<"priv/templates/phx.gen.json">>,
  <<"priv/templates/phx.gen.json/changeset_json.ex.eex">>,
  <<"priv/templates/phx.gen.json/controller.ex.eex">>,
  <<"priv/templates/phx.gen.json/controller_test.exs.eex">>,
  <<"priv/templates/phx.gen.json/fallback_controller.ex.eex">>,
  <<"priv/templates/phx.gen.json/json.ex.eex">>,
  <<"priv/templates/phx.gen.notifier">>,
  <<"priv/templates/phx.gen.notifier/notifier.ex.eex">>,
  <<"priv/templates/phx.gen.notifier/notifier_test.exs.eex">>,
  <<"priv/templates/phx.gen.presence">>,
  <<"priv/templates/phx.gen.presence/presence.ex.eex">>,
  <<"priv/templates/phx.gen.schema">>,
  <<"priv/templates/phx.gen.schema/migration.exs.eex">>,
  <<"priv/templates/phx.gen.schema/schema.ex.eex">>,
  <<"priv/templates/phx.gen.socket">>,
  <<"priv/templates/phx.gen.socket/socket.ex.eex">>,
  <<"priv/templates/phx.gen.socket/socket.js.eex">>,<<"usage-rules">>,
  <<"usage-rules/ecto.md">>,<<"usage-rules/elixir.md">>,
  <<"usage-rules/html.md">>,<<"usage-rules/liveview.md">>,
  <<"usage-rules/phoenix.md">>,<<"CHANGELOG.md">>,<<"LICENSE.md">>,
  <<"mix.exs">>,<<"package.json">>,<<"README.md">>,<<".formatter.exs">>,
  <<"installer/templates/phx_web/components/core_components.ex.eex">>]}.
{<<"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">>]}.
