bitwalker / distillery

Simplify deployments in Elixir with OTP releases!
MIT License
2.96k stars 396 forks source link

elixir and app libs not included in build #668

Closed pierrevdb closed 5 years ago

pierrevdb commented 5 years ago

[edited to reflect the root cause more accurately] I recently upgraded from 1.5 to 2.0 and have a problem starting up the app.

Steps to reproduce

use include_erts" 'path/to/erts" build release run: bin/app foreground

Verbose Logs

/DEBUG_BOOT=true bin/app foreground
+1558351899 export TERM=xterm-256color
+1558351899 TERM=xterm-256color
+1558351899 '[' xterm-256color = dumb ']'
+1558351899 exec /deploy_dir/releases/0.0.17/app.sh remote_console
+1558351899 unset CDPATH
+1558351899 REL_NAME=app
+1558351899 REL_VSN=0.0.17
+1558351899 ERL_OPTS=
+1558351899 RUN_ERL_ENV=
+1558351899 ERTS_VSN=9.3
+1558351899 DISTILLERY_VSN=2.0.14
+1558351899 export REL_NAME
+1558351899 export REL_VSN
+1558351899 export ERL_OPTS
+1558351899 export RUN_ERL_ENV
+1558351899 export USE_HOST_ERTS
+1558351899 export ERTS_VSN
+1558351899 export DISTILLERY_VSN
+1558351899 uname
+1558351899 grep -q Darwin
++1558351899 readlink -f /deploy_dir/releases/0.0.17/app.sh
+1558351899 SCRIPT=/deploy_dir/releases/0.0.17/app.sh
+1558351899 export ESCRIPT_NAME
+1558351899 ESCRIPT_NAME=/deploy_dir/releases/0.0.17/app.sh
++1558351899 dirname /deploy_dir/releases/0.0.17/app.sh
+1558351899 SCRIPT_DIR=/deploy_dir/releases/0.0.17
+1558351899 RELEASE_ROOT_DIR=/deploy_dir
+1558351899 REL_DIR=/deploy_dir/releases/0.0.17
+1558351899 export REL_DIR
+1558351899 RELEASE_LIBEXEC_DIR=/deploy_dir/releases/0.0.17/libexec
+1558351899 CONSOLIDATED_DIR=/deploy_dir/lib/app-0.0.17/consolidated
+1558351899 export CONSOLIDATED_DIR
+1558351899 START_ERL_DATA=/deploy_dir/releases/start_erl.data
+1558351899 export START_ERL_DATA
+1558351899 . /deploy_dir/releases/0.0.17/libexec/readlink.sh
++1558351899 set -e
++1558351899 '[' '!' -z true ']'
++1558351899 set +x
+1558351899 . /deploy_dir/releases/0.0.17/libexec/logger.sh
++1558351899 set -e
++1558351899 '[' '!' -z true ']'
++1558351899 set +x
+1558351899 . /deploy_dir/releases/0.0.17/libexec/erts.sh
++1558351899 set -e
++1558351899 code_paths=()
+++1558351899 erl -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
++++1558351899 whereis_erts_bin
++++1558351899 '[' -z 9.3 ']'
++++1558351899 '[' -z '' ']'
++++1558351899 __erts_dir=/deploy_dir/erts-9.3
++++1558351899 '[' -d /deploy_dir/erts-9.3 ']'
++++1558351899 echo /deploy_dir/erts-9.3/bin
+++1558351899 __bin=/deploy_dir/erts-9.3/bin
+++1558351899 '[' -z /deploy_dir/erts-9.3/bin ']'
+++1558351899 __erl=/deploy_dir/erts-9.3/bin/erl
+++1558351899 __boot_provided=0
+++1558351899 echo -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
+++1558351899 grep '\-boot '
+++1558351899 __erts_included=0
+++1558351899 [[ /deploy_dir/erts-9.3/bin/erl =~ ^/deploy_dir ]]
+++1558351899 __erts_included=1
+++1558351899 '[' 1 -eq 1 ']'
+++1558351899 '[' 0 -eq 1 ']'
+++1558351899 '[' 1 -eq 1 ']'
+++1558351899 /deploy_dir/erts-9.3/bin/erl -boot_var ERTS_LIB_DIR /deploy_dir/lib -boot /deploy_dir/bin/start_clean -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
++1558351899 __info='
=INFO REPORT==== 20-May-2019::13:31:39 ===
    application: elixir
    exited: {bad_return,
                {{elixir,start,[normal,[]]},
                 {'\''EXIT'\'',
                     {undef,
                         [{elixir,start,[normal,[]],[]},
                          {application_master,start_it_old,4,
                              [{file,"application_master.erl"},
                               {line,273}]}]}}}}
    type: permanent
/deploy_dir
9.3'
++1558351899 export ROOTDIR
+++1558351899 echo '
=INFO REPORT==== 20-May-2019::13:31:39 ===
    application: elixir
    exited: {bad_return,
                {{elixir,start,[normal,[]]},
                 {'\''EXIT'\'',
                     {undef,
                         [{elixir,start,[normal,[]],[]},
                          {application_master,start_it_old,4,
                              [{file,"application_master.erl"},
                               {line,273}]}]}}}}
    type: permanent
/deploy_dir
9.3'
+++1558351899 head -n1
++1558351899 ROOTDIR=
++1558351899 export ERTS_VSN
++1558351899 echo '!!!9.3!!'
!!!9.3!!
++1558351899 '[' -z 9.3 ']'
+++1558351899 echo '
=INFO REPORT==== 20-May-2019::13:31:39 ===
    application: elixir
    exited: {bad_return,
                {{elixir,start,[normal,[]]},
                 {'\''EXIT'\'',
                     {undef,
                         [{elixir,start,[normal,[]],[]},
                          {application_master,start_it_old,4,
                              [{file,"application_master.erl"},
                               {line,273}]}]}}}}
    type: permanent
/deploy_dir
9.3'
+++1558351899 tail -n1
++1558351899 ERTS_VSN=9.3
++1558351899 export ERTS_DIR
++1558351899 ERTS_DIR=/erts-9.3
++1558351899 export BINDIR
++1558351899 BINDIR=/erts-9.3/bin
++1558351899 export ERTS_LIB_DIR
+++1558351899 readlink_f /erts-9.3/../lib
+++1558351899 uname
+++1558351899 grep -q Darwin
+++1558351899 readlink -f /erts-9.3/../lib
++1558351899 ERTS_LIB_DIR=

Description of issue

Hex 0.18.1 Distillery 2.0.14 Elixir 1.6.5 OTP 20.3.1

Standard rel/config.exs except for

environment :staging do
    set include_erts: "tmp/erts/dev/20.3.1"
    set include_src: false    
    set cookie: "COOKIE"
end 
bitwalker commented 5 years ago

The ERTS_LIB_DIR specified as a -boot_var is not an environment variable, it is set to "$RELEASE_ROOT_DIR/lib" in that clause. That var is only applicable to OTP libraries though, all other libraries in the release use <ROOT>/lib/*

The problem here seems to be that the elixir application is not being found, which more generally probably means that none of the non-OTP library code paths are found. Can you paste the contents of deploy_dir/releases/0.0.17/start_clean.script and the results of running ls deploy_dir/lib (as a sanity check, I'd also make sure that all of those directories contain ebin/*.beam)? That will tell us where to look next, assuming the problem isn't clear from that.

pierrevdb commented 5 years ago

I made the assumption about the variable not being set because I added some quick and dirty logging to the the script to echo the ERTS_LIB_DIR variable just before this line and it was blank: +++1558351899 /deploy_dir/erts-9.3/bin/erl -boot_var ERTS_LIB_DIR /deploy_dir/lib -boot /deploy_dir/bin/start_clean -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt

Anyway, here's the info you asked for:

I've compared the count of *.beam files in the release made with 1.5 to the release made with 2.0 and there is a discrepancy. It does look like some .beam files are missing, so I'll dig into that.

ls lib/
app-0.0.17
asn1-5.0.5
common_test-1.15.4
compiler-7.1.5
cosEvent-2.2.2
cosEventDomain-1.2.2
cosFileTransfer-1.2.2
cosNotification-1.2.3
cosProperty-1.2.3
cosTime-1.2.3
cosTransactions-1.3.3
crypto-4.2.1
debugger-4.2.4
dialyzer-3.2.4
diameter-2.1.4
edoc-0.9.2
eldap-1.2.3
erl_docgen-0.7.2
erl_interface-3.10.1
erts-9.3
et-1.6.1
eunit-2.3.5
hipe-3.17.1
ic-4.4.3
inets-6.5
kernel-5.4.3
megaco-3.18.3
mnesia-4.15.3
observer-2.7
orber-3.8.4
os_mon-2.4.4
otp_mibs-1.1.2
parsetools-2.1.6
public_key-1.5.2
reltool-0.7.5
runtime_tools-1.12.5
sasl-3.1.1
snmp-5.2.10
ssh-4.6.6
ssl-8.2.5
stdlib-3.4.4
syntax_tools-2.1.4
tools-2.11.2
wx-1.8.3
xmerl-1.3.16

{script,
    {"app","0.0.17"},
    [{preLoaded,
         [erl_prim_loader,erl_tracer,erlang,erts_code_purger,
          erts_dirty_process_code_checker,erts_internal,
          erts_literal_area_collector,init,otp_ring0,prim_eval,prim_file,
          prim_inet,prim_zip,zlib]},
     {progress,preloaded},
     {path,["$ROOT/lib/kernel-5.4.3/ebin","$ROOT/lib/stdlib-3.4.4/ebin"]},
     {primLoad,
         [error_handler,application,application_controller,application_master,
          code,code_server,erl_eval,erl_lint,erl_parse,error_logger,ets,file,
          filename,file_server,file_io_server,gen,gen_event,gen_server,heart,
          kernel,lists,proc_lib,supervisor]},
     {kernel_load_completed},
     {progress,kernel_load_completed},
     {path,["$ROOT/lib/kernel-5.4.3/ebin"]},
     {primLoad,
         [application_starter,auth,disk_log,disk_log_1,disk_log_server,
          disk_log_sup,dist_ac,dist_util,erl_boot_server,erl_ddll,
          erl_distribution,erl_epmd,erl_reply,erl_signal_handler,erts_debug,
          gen_sctp,gen_tcp,gen_udp,global,global_group,global_search,group,
          group_history,hipe_unified_loader,inet,inet6_sctp,inet6_tcp,
          inet6_tcp_dist,inet6_udp,inet_config,inet_db,inet_dns,
          inet_gethost_native,inet_hosts,inet_parse,inet_res,inet_sctp,
          inet_tcp,inet_tcp_dist,inet_udp,kernel_config,local_tcp,local_udp,
          net,net_adm,net_kernel,os,pg2,ram_file,rpc,seq_trace,standard_error,
          user,user_drv,user_sup,wrap_log_reader]},
     {path,["$ROOT/lib/stdlib-3.4.4/ebin"]},
     {primLoad,
         [array,base64,beam_lib,binary,c,calendar,dets,dets_server,dets_sup,
          dets_utils,dets_v9,dict,digraph,digraph_utils,edlin,edlin_expand,
          epp,erl_abstract_code,erl_anno,erl_bits,erl_compile,
          erl_expand_records,erl_internal,erl_posix_msg,erl_pp,erl_scan,
          erl_tar,error_logger_file_h,error_logger_tty_h,escript,eval_bits,
          file_sorter,filelib,gb_sets,gb_trees,gen_fsm,gen_statem,io,io_lib,
          io_lib_format,io_lib_fread,io_lib_pretty,lib,log_mf_h,maps,math,
          ms_transform,orddict,ordsets,otp_internal,pool,proplists,qlc,qlc_pt,
          queue,rand,random,re,sets,shell,shell_default,slave,sofs,string,
          supervisor_bridge,sys,timer,unicode,unicode_util,win32reg,zip]},
     {path,["$ROOT/lib/crypto-4.2.1/ebin"]},
     {primLoad,[crypto,crypto_ec_curves]},
     {path,["$ROOT/lib/compiler-7.1.5/ebin"]},
     {primLoad,
         [beam_a,beam_asm,beam_block,beam_bs,beam_bsm,beam_clean,beam_dead,
          beam_dict,beam_disasm,beam_except,beam_flatten,beam_jump,
          beam_listing,beam_opcodes,beam_peep,beam_receive,beam_record,
          beam_reorder,beam_split,beam_trim,beam_type,beam_utils,
          beam_validator,beam_z,cerl,cerl_clauses,cerl_inline,cerl_sets,
          cerl_trees,compile,core_lib,core_lint,core_parse,core_pp,core_scan,
          erl_bifs,rec_env,sys_core_bsm,sys_core_dsetel,sys_core_fold,
          sys_core_fold_lists,sys_core_inline,sys_pre_attributes,v3_codegen,
          v3_core,v3_kernel,v3_kernel_pp,v3_life]},
     {path,["$ROOT/lib/elixir-1.6.3/ebin"]},
     {primLoad,
         ['Elixir.Access','Elixir.Agent','Elixir.Agent.Server',
          'Elixir.Application','Elixir.ArgumentError',
          'Elixir.ArithmeticError','Elixir.Atom','Elixir.BadArityError',
          'Elixir.BadBooleanError','Elixir.BadFunctionError',
          'Elixir.BadMapError','Elixir.BadStructError','Elixir.Base',
          'Elixir.Behaviour','Elixir.Bitwise','Elixir.Calendar',
          'Elixir.Calendar.ISO','Elixir.CaseClauseError','Elixir.Code',
          'Elixir.Code.Formatter','Elixir.Code.Identifier',
          'Elixir.Code.LoadError','Elixir.Collectable',
          'Elixir.Collectable.BitString','Elixir.Collectable.File.Stream',
          'Elixir.Collectable.HashDict','Elixir.Collectable.HashSet',
          'Elixir.Collectable.IO.Stream','Elixir.Collectable.List',
          'Elixir.Collectable.Map','Elixir.Collectable.MapSet',
          'Elixir.CompileError','Elixir.CondClauseError','Elixir.Date',
          'Elixir.Date.Range','Elixir.DateTime','Elixir.Dict',
          'Elixir.DynamicSupervisor','Elixir.Enum','Elixir.Enum.EmptyError',
          'Elixir.Enum.OutOfBoundsError','Elixir.Enumerable',
          'Elixir.Enumerable.Date.Range','Elixir.Enumerable.File.Stream',
          'Elixir.Enumerable.Function','Elixir.Enumerable.GenEvent.Stream',
          'Elixir.Enumerable.HashDict','Elixir.Enumerable.HashSet',
          'Elixir.Enumerable.IO.Stream','Elixir.Enumerable.List',
          'Elixir.Enumerable.Map','Elixir.Enumerable.MapSet',
          'Elixir.Enumerable.Range','Elixir.Enumerable.Stream',
          'Elixir.ErlangError','Elixir.Exception','Elixir.File',
          'Elixir.File.CopyError','Elixir.File.Error','Elixir.File.LinkError',
          'Elixir.File.Stat','Elixir.File.Stream','Elixir.Float',
          'Elixir.FunctionClauseError','Elixir.GenEvent',
          'Elixir.GenEvent.Stream','Elixir.GenServer','Elixir.HashDict',
          'Elixir.HashSet','Elixir.IO','Elixir.IO.ANSI','Elixir.IO.ANSI.Docs',
          'Elixir.IO.ANSI.Sequence','Elixir.IO.Stream',
          'Elixir.IO.StreamError','Elixir.Inspect','Elixir.Inspect.Algebra',
          'Elixir.Inspect.Any','Elixir.Inspect.Atom',
          'Elixir.Inspect.BitString','Elixir.Inspect.Date',
          'Elixir.Inspect.Date.Range','Elixir.Inspect.DateTime',
          'Elixir.Inspect.Error','Elixir.Inspect.Float',
          'Elixir.Inspect.Function','Elixir.Inspect.HashDict',
          'Elixir.Inspect.HashSet','Elixir.Inspect.Integer',
          'Elixir.Inspect.List','Elixir.Inspect.Map','Elixir.Inspect.MapSet',
          'Elixir.Inspect.NaiveDateTime','Elixir.Inspect.Opts',
          'Elixir.Inspect.PID','Elixir.Inspect.Port','Elixir.Inspect.Range',
          'Elixir.Inspect.Reference','Elixir.Inspect.Regex',
          'Elixir.Inspect.Stream','Elixir.Inspect.Time',
          'Elixir.Inspect.Tuple','Elixir.Inspect.Version',
          'Elixir.Inspect.Version.Requirement','Elixir.Integer',
          'Elixir.Kernel','Elixir.Kernel.CLI','Elixir.Kernel.ErrorHandler',
          'Elixir.Kernel.LexicalTracker','Elixir.Kernel.ParallelCompiler',
          'Elixir.Kernel.ParallelRequire','Elixir.Kernel.SpecialForms',
          'Elixir.Kernel.Typespec','Elixir.Kernel.Utils','Elixir.KeyError',
          'Elixir.Keyword','Elixir.List','Elixir.List.Chars',
          'Elixir.List.Chars.Atom','Elixir.List.Chars.BitString',
          'Elixir.List.Chars.Float','Elixir.List.Chars.Integer',
          'Elixir.List.Chars.List','Elixir.Macro','Elixir.Macro.Env',
          'Elixir.Map','Elixir.MapSet','Elixir.MatchError','Elixir.Module',
          'Elixir.Module.LocalsTracker','Elixir.NaiveDateTime','Elixir.Node',
          'Elixir.OptionParser','Elixir.OptionParser.ParseError',
          'Elixir.Path','Elixir.Path.Wildcard','Elixir.Port','Elixir.Process',
          'Elixir.Protocol','Elixir.Protocol.UndefinedError','Elixir.Range',
          'Elixir.Record','Elixir.Record.Extractor','Elixir.Regex',
          'Elixir.Regex.CompileError','Elixir.Registry',
          'Elixir.Registry.Partition','Elixir.Registry.Supervisor',
          'Elixir.RuntimeError','Elixir.Set','Elixir.Stream',
          'Elixir.Stream.Reducers','Elixir.String','Elixir.String.Break',
          'Elixir.String.Casing','Elixir.String.Chars',
          'Elixir.String.Chars.Atom','Elixir.String.Chars.BitString',
          'Elixir.String.Chars.Date','Elixir.String.Chars.DateTime',
          'Elixir.String.Chars.Float','Elixir.String.Chars.Integer',
          'Elixir.String.Chars.List','Elixir.String.Chars.NaiveDateTime',
          'Elixir.String.Chars.Time','Elixir.String.Chars.URI',
          'Elixir.String.Chars.Version',
          'Elixir.String.Chars.Version.Requirement',
          'Elixir.String.Normalizer','Elixir.String.Tokenizer',
          'Elixir.String.Unicode','Elixir.StringIO','Elixir.Supervisor',
          'Elixir.Supervisor.Default','Elixir.Supervisor.Spec',
          'Elixir.SyntaxError','Elixir.System','Elixir.SystemLimitError',
          'Elixir.Task','Elixir.Task.Supervised','Elixir.Task.Supervisor',
          'Elixir.Time','Elixir.TokenMissingError','Elixir.TryClauseError',
          'Elixir.Tuple','Elixir.URI','Elixir.UndefinedFunctionError',
          'Elixir.UnicodeConversionError','Elixir.Version',
          'Elixir.Version.InvalidRequirementError',
          'Elixir.Version.InvalidVersionError','Elixir.Version.Parser',
          'Elixir.Version.Requirement','Elixir.WithClauseError',elixir,
          elixir_aliases,elixir_bitstring,elixir_bootstrap,elixir_clauses,
          elixir_code_server,elixir_compiler,elixir_config,elixir_def,
          elixir_dispatch,elixir_env,elixir_erl,elixir_erl_clauses,
          elixir_erl_compiler,elixir_erl_for,elixir_erl_pass,elixir_erl_try,
          elixir_erl_var,elixir_errors,elixir_expand,elixir_fn,elixir_import,
          elixir_interpolation,elixir_lexical,elixir_locals,elixir_map,
          elixir_module,elixir_overridable,elixir_parser,elixir_quote,
          elixir_rewrite,elixir_sup,elixir_tokenizer,elixir_utils]},
     {path,["$ROOT/lib/plug_crypto-1.0.0/ebin"]},
     {primLoad,
         ['Elixir.Plug.Crypto','Elixir.Plug.Crypto.KeyGenerator',
          'Elixir.Plug.Crypto.MessageEncryptor',
          'Elixir.Plug.Crypto.MessageVerifier']},
     {path,["$ROOT/lib/logger-1.6.3/ebin"]},
     {primLoad,
         ['Elixir.Logger','Elixir.Logger.App',
          'Elixir.Logger.Backends.Console','Elixir.Logger.Config',
          'Elixir.Logger.ErrorHandler','Elixir.Logger.Formatter',
          'Elixir.Logger.Translator','Elixir.Logger.Utils',
          'Elixir.Logger.Watcher','Elixir.Logger.WatcherSupervisor']},
     {path,["$ROOT/lib/mime-1.3.1/ebin"]},
     {primLoad,['Elixir.MIME','Elixir.MIME.Application']},
     {path,["$ROOT/lib/plug-1.8.0/ebin"]},
     {primLoad,
         ['Elixir.Collectable.Plug.Conn','Elixir.Inspect.Plug.Conn',
          'Elixir.Plug','Elixir.Plug.Adapters.Cowboy',
          'Elixir.Plug.Adapters.Cowboy2','Elixir.Plug.Adapters.Test.Conn',
          'Elixir.Plug.BadRequestError','Elixir.Plug.Builder',
          'Elixir.Plug.CSRFProtection',
          'Elixir.Plug.CSRFProtection.InvalidCSRFTokenError',
          'Elixir.Plug.CSRFProtection.InvalidCrossOriginRequestError',
          'Elixir.Plug.Conn','Elixir.Plug.Conn.Adapter',
          'Elixir.Plug.Conn.AlreadySentError',
          'Elixir.Plug.Conn.CookieOverflowError','Elixir.Plug.Conn.Cookies',
          'Elixir.Plug.Conn.InvalidHeaderError',
          'Elixir.Plug.Conn.InvalidQueryError',
          'Elixir.Plug.Conn.NotSentError','Elixir.Plug.Conn.Query',
          'Elixir.Plug.Conn.Status','Elixir.Plug.Conn.Unfetched',
          'Elixir.Plug.Conn.Utils','Elixir.Plug.Conn.WrapperError',
          'Elixir.Plug.Debugger','Elixir.Plug.ErrorHandler',
          'Elixir.Plug.Exception','Elixir.Plug.Exception.Any',
          'Elixir.Plug.HTML','Elixir.Plug.Head','Elixir.Plug.Logger',
          'Elixir.Plug.MIME','Elixir.Plug.MethodOverride',
          'Elixir.Plug.Parsers','Elixir.Plug.Parsers.BadEncodingError',
          'Elixir.Plug.Parsers.JSON','Elixir.Plug.Parsers.MULTIPART',
          'Elixir.Plug.Parsers.ParseError',
          'Elixir.Plug.Parsers.RequestTooLargeError',
          'Elixir.Plug.Parsers.URLENCODED',
          'Elixir.Plug.Parsers.UnsupportedMediaTypeError',
          'Elixir.Plug.RequestId','Elixir.Plug.Router',
          'Elixir.Plug.Router.InvalidSpecError','Elixir.Plug.Router.Utils',
          'Elixir.Plug.SSL','Elixir.Plug.Session',
          'Elixir.Plug.Session.COOKIE','Elixir.Plug.Session.ETS',
          'Elixir.Plug.Session.Store','Elixir.Plug.Static',
          'Elixir.Plug.Static.InvalidPathError','Elixir.Plug.Supervisor',
          'Elixir.Plug.Telemetry','Elixir.Plug.Test',
          'Elixir.Plug.TimeoutError','Elixir.Plug.Upload',
          'Elixir.Plug.UploadError',plug_multipart]},
     {path,["$ROOT/lib/decimal-1.7.0/ebin"]},
     {primLoad,
         ['Elixir.Decimal','Elixir.Decimal.Context','Elixir.Decimal.Error',
          'Elixir.Decimal.Macros','Elixir.Inspect.Decimal',
          'Elixir.String.Chars.Decimal']},
     {path,["$ROOT/lib/ecto-3.1.4/ebin"]},
     {primLoad,
         ['Elixir.Ecto','Elixir.Ecto.Adapter','Elixir.Ecto.Adapter.Queryable',
          'Elixir.Ecto.Adapter.Schema','Elixir.Ecto.Adapter.Storage',
          'Elixir.Ecto.Adapter.Transaction','Elixir.Ecto.Application',
          'Elixir.Ecto.Association','Elixir.Ecto.Association.BelongsTo',
          'Elixir.Ecto.Association.Has','Elixir.Ecto.Association.HasThrough',
          'Elixir.Ecto.Association.ManyToMany',
          'Elixir.Ecto.Association.NotLoaded','Elixir.Ecto.CastError',
          'Elixir.Ecto.ChangeError','Elixir.Ecto.Changeset',
          'Elixir.Ecto.Changeset.Relation','Elixir.Ecto.ConstraintError',
          'Elixir.Ecto.Embedded','Elixir.Ecto.InvalidChangesetError',
          'Elixir.Ecto.InvalidURLError','Elixir.Ecto.LogEntry',
          'Elixir.Ecto.MigrationError','Elixir.Ecto.Multi',
          'Elixir.Ecto.MultiplePrimaryKeyError',
          'Elixir.Ecto.MultipleResultsError',
          'Elixir.Ecto.NoPrimaryKeyFieldError',
          'Elixir.Ecto.NoPrimaryKeyValueError','Elixir.Ecto.NoResultsError',
          'Elixir.Ecto.Query','Elixir.Ecto.Query.API',
          'Elixir.Ecto.Query.BooleanExpr','Elixir.Ecto.Query.Builder',
          'Elixir.Ecto.Query.Builder.Combination',
          'Elixir.Ecto.Query.Builder.Distinct',
          'Elixir.Ecto.Query.Builder.Dynamic',
          'Elixir.Ecto.Query.Builder.Filter','Elixir.Ecto.Query.Builder.From',
          'Elixir.Ecto.Query.Builder.GroupBy',
          'Elixir.Ecto.Query.Builder.Join',
          'Elixir.Ecto.Query.Builder.LimitOffset',
          'Elixir.Ecto.Query.Builder.Lock',
          'Elixir.Ecto.Query.Builder.OrderBy',
          'Elixir.Ecto.Query.Builder.Preload',
          'Elixir.Ecto.Query.Builder.Select',
          'Elixir.Ecto.Query.Builder.Update',
          'Elixir.Ecto.Query.Builder.Windows','Elixir.Ecto.Query.CastError',
          'Elixir.Ecto.Query.CompileError','Elixir.Ecto.Query.DynamicExpr',
          'Elixir.Ecto.Query.FromExpr','Elixir.Ecto.Query.JoinExpr',
          'Elixir.Ecto.Query.Planner','Elixir.Ecto.Query.QueryExpr',
          'Elixir.Ecto.Query.SelectExpr','Elixir.Ecto.Query.Tagged',
          'Elixir.Ecto.Query.WindowAPI','Elixir.Ecto.QueryError',
          'Elixir.Ecto.Queryable','Elixir.Ecto.Queryable.Atom',
          'Elixir.Ecto.Queryable.BitString',
          'Elixir.Ecto.Queryable.Ecto.Query',
          'Elixir.Ecto.Queryable.Ecto.SubQuery','Elixir.Ecto.Queryable.Tuple',
          'Elixir.Ecto.Repo','Elixir.Ecto.Repo.Assoc',
          'Elixir.Ecto.Repo.Preloader','Elixir.Ecto.Repo.Queryable',
          'Elixir.Ecto.Repo.Registry','Elixir.Ecto.Repo.Schema',
          'Elixir.Ecto.Repo.Supervisor','Elixir.Ecto.Repo.Transaction',
          'Elixir.Ecto.Schema','Elixir.Ecto.Schema.Loader',
          'Elixir.Ecto.Schema.Metadata','Elixir.Ecto.StaleEntryError',
          'Elixir.Ecto.SubQuery','Elixir.Ecto.SubQueryError',
          'Elixir.Ecto.Type','Elixir.Ecto.UUID',
          'Elixir.Inspect.Ecto.Association.NotLoaded',
          'Elixir.Inspect.Ecto.Changeset','Elixir.Inspect.Ecto.Query',
          'Elixir.Inspect.Ecto.Query.DynamicExpr',
          'Elixir.Inspect.Ecto.Schema.Metadata','Elixir.Mix.Ecto',
          'Elixir.Mix.Tasks.Ecto','Elixir.Mix.Tasks.Ecto.Create',
          'Elixir.Mix.Tasks.Ecto.Drop','Elixir.Mix.Tasks.Ecto.Gen.Repo']},
     {path,["$ROOT/lib/phoenix_ecto-4.0.0/ebin"]},
     {primLoad,
         ['Elixir.Phoenix.Ecto','Elixir.Phoenix.Ecto.SQL.Sandbox',
          'Elixir.Phoenix.Ecto.SQL.SandboxSession',
          'Elixir.Phoenix.Ecto.SQL.SandboxSupervisor',
          'Elixir.Phoenix.HTML.FormData.Ecto.Changeset',
          'Elixir.Phoenix.HTML.Safe.Decimal',
          'Elixir.Plug.Exception.Ecto.CastError',
          'Elixir.Plug.Exception.Ecto.InvalidChangesetError',
          'Elixir.Plug.Exception.Ecto.NoResultsError',
          'Elixir.Plug.Exception.Ecto.Query.CastError',
          'Elixir.Plug.Exception.Ecto.StaleEntryError',
          'Elixir.Plug.Exception.Ecto.SubQueryError']},
     {path,["$ROOT/lib/asn1-5.0.5/ebin"]},
     {primLoad,[asn1rt_nif]},
     {path,["$ROOT/lib/public_key-1.5.2/ebin"]},
     {primLoad,
         ['OTP-PUB-KEY','PKCS-FRAME',pubkey_cert,pubkey_cert_records,
          pubkey_crl,pubkey_pbe,pubkey_pem,pubkey_ssh,public_key]},
     {path,["$ROOT/lib/ssl-8.2.5/ebin"]},
     {primLoad,
         [dtls,dtls_connection,dtls_connection_sup,dtls_handshake,dtls_record,
          dtls_socket,dtls_udp_listener,dtls_udp_sup,dtls_v1,inet6_tls_dist,
          inet_tls_dist,ssl,ssl_admin_sup,ssl_alert,ssl_app,ssl_certificate,
          ssl_cipher,ssl_config,ssl_connection,ssl_connection_sup,ssl_crl,
          ssl_crl_cache,ssl_crl_cache_api,ssl_crl_hash_dir,ssl_dist_admin_sup,
          ssl_dist_connection_sup,ssl_dist_sup,ssl_handshake,
          ssl_listen_tracker_sup,ssl_manager,ssl_pem_cache,ssl_pkix_db,
          ssl_record,ssl_session,ssl_session_cache,ssl_session_cache_api,
          ssl_srp_primes,ssl_sup,ssl_tls_dist_proxy,ssl_v2,ssl_v3,tls,
          tls_connection,tls_connection_sup,tls_handshake,tls_record,
          tls_socket,tls_v1]},
     {path,["$ROOT/lib/ranch-1.7.1/ebin"]},
     {primLoad,
         [ranch,ranch_acceptor,ranch_acceptors_sup,ranch_app,ranch_conns_sup,
          ranch_crc32c,ranch_listener_sup,ranch_protocol,ranch_proxy_header,
          ranch_server,ranch_ssl,ranch_sup,ranch_tcp,ranch_transport]},
     {path,["$ROOT/lib/cowlib-2.7.3/ebin"]},
     {primLoad,
         [cow_base64url,cow_cookie,cow_date,cow_hpack,cow_http,cow_http2,
          cow_http2_machine,cow_http_hd,cow_http_te,cow_iolists,cow_mimetypes,
          cow_multipart,cow_qs,cow_spdy,cow_sse,cow_uri,cow_ws]},
     {path,["$ROOT/lib/cowboy-2.6.3/ebin"]},
     {primLoad,
         [cowboy,cowboy_app,cowboy_bstr,cowboy_children,cowboy_clear,
          cowboy_clock,cowboy_compress_h,cowboy_constraints,cowboy_handler,
          cowboy_http,cowboy_http2,cowboy_loop,cowboy_metrics_h,
          cowboy_middleware,cowboy_req,cowboy_rest,cowboy_router,
          cowboy_static,cowboy_stream,cowboy_stream_h,cowboy_sub_protocol,
          cowboy_sup,cowboy_tls,cowboy_tracer_h,cowboy_websocket]},
     {path,["$ROOT/lib/plug_cowboy-2.0.2/ebin"]},
     {primLoad,
         ['Elixir.Plug.Cowboy','Elixir.Plug.Cowboy.Conn',
          'Elixir.Plug.Cowboy.Handler','Elixir.Plug.Cowboy.Stream',
          'Elixir.Plug.Cowboy.Translator']},
     {path,["$ROOT/lib/artificery-0.4.2/ebin"]},
     {primLoad,
         ['Elixir.Artificery','Elixir.Artificery.Command',
          'Elixir.Artificery.Console','Elixir.Artificery.Console.Color',
          'Elixir.Artificery.Console.Color.ANSI',
          'Elixir.Artificery.Console.Events',
          'Elixir.Artificery.Console.Prompt',
          'Elixir.Artificery.Console.Spinner',
          'Elixir.Artificery.Console.Table','Elixir.Artificery.Entry',
          'Elixir.Artificery.Option']},
     {path,["$ROOT/lib/runtime_tools-1.12.5/ebin"]},
     {primLoad,
         [appmon_info,dbg,dyntrace,erts_alloc_config,msacc,observer_backend,
          runtime_tools,runtime_tools_sup,system_information,ttb_autostart]},
     {path,["$ROOT/lib/distillery-2.0.14/ebin"]},
     {primLoad,
         ['Elixir.Distillery.Cookies','Elixir.Mix.Releases.App',
          'Elixir.Mix.Releases.Appup','Elixir.Mix.Releases.Appup.Transform',
          'Elixir.Mix.Releases.Appup.TransformError',
          'Elixir.Mix.Releases.Appup.Utils','Elixir.Mix.Releases.Archiver',
          'Elixir.Mix.Releases.Archiver.Archive',
          'Elixir.Mix.Releases.Assembler','Elixir.Mix.Releases.BootScript',
          'Elixir.Mix.Releases.Checks','Elixir.Mix.Releases.Checks.Cookie',
          'Elixir.Mix.Releases.Checks.Erts',
          'Elixir.Mix.Releases.Checks.LoadedOrphanedApps',
          'Elixir.Mix.Releases.Config','Elixir.Mix.Releases.Config.LoadError',
          'Elixir.Mix.Releases.Config.Provider',
          'Elixir.Mix.Releases.Config.Providers.Elixir',
          'Elixir.Mix.Releases.Environment','Elixir.Mix.Releases.Errors',
          'Elixir.Mix.Releases.Overlays','Elixir.Mix.Releases.Plugin',
          'Elixir.Mix.Releases.Profile','Elixir.Mix.Releases.Release',
          'Elixir.Mix.Releases.Runtime.Control',
          'Elixir.Mix.Releases.Runtime.Pidfile','Elixir.Mix.Releases.Shell',
          'Elixir.Mix.Releases.Shell.Macros','Elixir.Mix.Releases.Utils',
          'Elixir.Mix.Tasks.Release','Elixir.Mix.Tasks.Release.Clean',
          'Elixir.Mix.Tasks.Release.Gen.Appup',
          'Elixir.Mix.Tasks.Release.Init',
          'Elixir.Mix.Tasks.Release.Init.MixMock',
          'Elixir.Mix.Tasks.Release.Init.MixMock.Project']},
     {path,["$ROOT/lib/connection-1.0.4/ebin"]},
     {primLoad,['Elixir.Connection']},
     {path,["$ROOT/lib/db_connection-2.0.6/ebin"]},
     {primLoad,
         ['Elixir.DBConnection','Elixir.DBConnection.App',
          'Elixir.DBConnection.Backoff','Elixir.DBConnection.Connection',
          'Elixir.DBConnection.ConnectionError',
          'Elixir.DBConnection.ConnectionPool',
          'Elixir.DBConnection.ConnectionPool.Pool',
          'Elixir.DBConnection.ConnectionPool.PoolSupervisor',
          'Elixir.DBConnection.EncodeError','Elixir.DBConnection.Holder',
          'Elixir.DBConnection.LogEntry','Elixir.DBConnection.Ownership',
          'Elixir.DBConnection.Ownership.Manager',
          'Elixir.DBConnection.Ownership.Proxy',
          'Elixir.DBConnection.Ownership.ProxySupervisor',
          'Elixir.DBConnection.OwnershipError',
          'Elixir.DBConnection.PrepareStream','Elixir.DBConnection.Query',
          'Elixir.DBConnection.Stream','Elixir.DBConnection.Task',
          'Elixir.DBConnection.TransactionError',
          'Elixir.DBConnection.Watcher',
          'Elixir.Enumerable.DBConnection.PrepareStream',
          'Elixir.Enumerable.DBConnection.Stream']},
     {path,["$ROOT/lib/mariaex-0.9.1/ebin"]},
     {primLoad,
         ['Elixir.DBConnection.Query.Mariaex.Query','Elixir.Mariaex',
          'Elixir.Mariaex.Cache','Elixir.Mariaex.Coder',
          'Elixir.Mariaex.Coder.Utils','Elixir.Mariaex.Column',
          'Elixir.Mariaex.Connection','Elixir.Mariaex.Connection.Socket',
          'Elixir.Mariaex.Connection.Ssl','Elixir.Mariaex.Connection.Tcp',
          'Elixir.Mariaex.Cursor','Elixir.Mariaex.Error',
          'Elixir.Mariaex.Geometry.LineString',
          'Elixir.Mariaex.Geometry.Point','Elixir.Mariaex.Geometry.Polygon',
          'Elixir.Mariaex.LruCache','Elixir.Mariaex.Messages',
          'Elixir.Mariaex.Protocol','Elixir.Mariaex.ProtocolHelper',
          'Elixir.Mariaex.Query','Elixir.Mariaex.Result',
          'Elixir.Mariaex.RowParser','Elixir.String.Chars.Mariaex.Query']},
     {path,["$ROOT/lib/eex-1.6.3/ebin"]},
     {primLoad,
         ['Elixir.EEx','Elixir.EEx.Compiler','Elixir.EEx.Engine',
          'Elixir.EEx.SmartEngine','Elixir.EEx.SyntaxError',
          'Elixir.EEx.Tokenizer']},
     {path,["$ROOT/lib/phoenix_pubsub-1.1.2/ebin"]},
     {primLoad,
         ['Elixir.Phoenix.PubSub','Elixir.Phoenix.PubSub.BroadcastError',
          'Elixir.Phoenix.PubSub.GC','Elixir.Phoenix.PubSub.Local',
          'Elixir.Phoenix.PubSub.LocalSupervisor','Elixir.Phoenix.PubSub.PG2',
          'Elixir.Phoenix.PubSub.PG2Server',
          'Elixir.Phoenix.PubSub.Supervisor','Elixir.Phoenix.Tracker',
          'Elixir.Phoenix.Tracker.Clock',
          'Elixir.Phoenix.Tracker.DeltaGeneration',
          'Elixir.Phoenix.Tracker.Replica','Elixir.Phoenix.Tracker.Shard',
          'Elixir.Phoenix.Tracker.State']},
     {path,["$ROOT/lib/phoenix-1.4.6/ebin"]},
     {primLoad,
         ['Elixir.Mix.Phoenix','Elixir.Mix.Phoenix.Context',
          'Elixir.Mix.Phoenix.Schema','Elixir.Mix.Tasks.Compile.Phoenix',
          'Elixir.Mix.Tasks.Phx','Elixir.Mix.Tasks.Phx.Digest',
          'Elixir.Mix.Tasks.Phx.Digest.Clean','Elixir.Mix.Tasks.Phx.Gen.Cert',
          'Elixir.Mix.Tasks.Phx.Gen.Channel',
          'Elixir.Mix.Tasks.Phx.Gen.Context',
          'Elixir.Mix.Tasks.Phx.Gen.Embedded','Elixir.Mix.Tasks.Phx.Gen.Html',
          'Elixir.Mix.Tasks.Phx.Gen.Json','Elixir.Mix.Tasks.Phx.Gen.Presence',
          'Elixir.Mix.Tasks.Phx.Gen.Schema','Elixir.Mix.Tasks.Phx.Gen.Secret',
          'Elixir.Mix.Tasks.Phx.Routes','Elixir.Mix.Tasks.Phx.Server',
          'Elixir.Phoenix','Elixir.Phoenix.ActionClauseError',
          'Elixir.Phoenix.Channel','Elixir.Phoenix.Channel.Server',
          'Elixir.Phoenix.ChannelTest',
          'Elixir.Phoenix.ChannelTest.NoopSerializer',
          'Elixir.Phoenix.CodeReloader','Elixir.Phoenix.CodeReloader.Proxy',
          'Elixir.Phoenix.CodeReloader.Server','Elixir.Phoenix.Config',
          'Elixir.Phoenix.ConnTest','Elixir.Phoenix.Controller',
          'Elixir.Phoenix.Controller.Pipeline','Elixir.Phoenix.Digester',
          'Elixir.Phoenix.Endpoint','Elixir.Phoenix.Endpoint.Cowboy2Adapter',
          'Elixir.Phoenix.Endpoint.Cowboy2Handler',
          'Elixir.Phoenix.Endpoint.CowboyAdapter',
          'Elixir.Phoenix.Endpoint.CowboyWebSocket',
          'Elixir.Phoenix.Endpoint.Instrument',
          'Elixir.Phoenix.Endpoint.RenderErrors',
          'Elixir.Phoenix.Endpoint.Supervisor',
          'Elixir.Phoenix.Endpoint.Watcher','Elixir.Phoenix.Logger',
          'Elixir.Phoenix.MissingParamError','Elixir.Phoenix.Naming',
          'Elixir.Phoenix.NotAcceptableError','Elixir.Phoenix.Param',
          'Elixir.Phoenix.Param.Any','Elixir.Phoenix.Param.Atom',
          'Elixir.Phoenix.Param.BitString','Elixir.Phoenix.Param.Integer',
          'Elixir.Phoenix.Param.Map','Elixir.Phoenix.Presence',
          'Elixir.Phoenix.Router','Elixir.Phoenix.Router.ConsoleFormatter',
          'Elixir.Phoenix.Router.Helpers',
          'Elixir.Phoenix.Router.NoRouteError',
          'Elixir.Phoenix.Router.Resource','Elixir.Phoenix.Router.Route',
          'Elixir.Phoenix.Router.Scope','Elixir.Phoenix.Socket',
          'Elixir.Phoenix.Socket.Broadcast',
          'Elixir.Phoenix.Socket.InvalidMessageError',
          'Elixir.Phoenix.Socket.Message',
          'Elixir.Phoenix.Socket.PoolSupervisor',
          'Elixir.Phoenix.Socket.Reply','Elixir.Phoenix.Socket.Serializer',
          'Elixir.Phoenix.Socket.Transport',
          'Elixir.Phoenix.Socket.V1.JSONSerializer',
          'Elixir.Phoenix.Socket.V2.JSONSerializer','Elixir.Phoenix.Template',
          'Elixir.Phoenix.Template.EExEngine',
          'Elixir.Phoenix.Template.Engine',
          'Elixir.Phoenix.Template.ExsEngine','Elixir.Phoenix.Template.HTML',
          'Elixir.Phoenix.Template.UndefinedError','Elixir.Phoenix.Token',
          'Elixir.Phoenix.Transports.LongPoll',
          'Elixir.Phoenix.Transports.LongPoll.Server',
          'Elixir.Phoenix.Transports.LongPoll.Supervisor',
          'Elixir.Phoenix.Transports.WebSocket','Elixir.Phoenix.View',
          'Elixir.Plug.Exception.Phoenix.ActionClauseError']},
     {path,["$ROOT/lib/libring-1.4.0/ebin"]},
     {primLoad,
         ['Elixir.HashRing','Elixir.HashRing.App','Elixir.HashRing.Managed',
          'Elixir.HashRing.Utils','Elixir.HashRing.Worker',
          'Elixir.Inspect.HashRing']},
     {path,["$ROOT/lib/phoenix_html-2.13.2/ebin"]},
     {primLoad,
         ['Elixir.Phoenix.HTML','Elixir.Phoenix.HTML.Engine',
          'Elixir.Phoenix.HTML.Form','Elixir.Phoenix.HTML.FormData',
          'Elixir.Phoenix.HTML.FormData.Plug.Conn',
          'Elixir.Phoenix.HTML.Format','Elixir.Phoenix.HTML.Link',
          'Elixir.Phoenix.HTML.Safe','Elixir.Phoenix.HTML.Safe.Atom',
          'Elixir.Phoenix.HTML.Safe.BitString',
          'Elixir.Phoenix.HTML.Safe.Date','Elixir.Phoenix.HTML.Safe.DateTime',
          'Elixir.Phoenix.HTML.Safe.Float','Elixir.Phoenix.HTML.Safe.Integer',
          'Elixir.Phoenix.HTML.Safe.List',
          'Elixir.Phoenix.HTML.Safe.NaiveDateTime',
          'Elixir.Phoenix.HTML.Safe.Phoenix.HTML.Form',
          'Elixir.Phoenix.HTML.Safe.Time','Elixir.Phoenix.HTML.Safe.Tuple',
          'Elixir.Phoenix.HTML.Tag']},
     {path,["$ROOT/lib/telemetry-0.4.0/ebin"]},
     {primLoad,
         [telemetry,telemetry_app,telemetry_handler_table,telemetry_sup]},
     {path,["$ROOT/lib/ecto_sql-3.1.2/ebin"]},
     {primLoad,
         ['Elixir.Collectable.Ecto.Adapters.SQL.Stream',
          'Elixir.Ecto.Adapter.Migration','Elixir.Ecto.Adapter.Structure',
          'Elixir.Ecto.Adapters.MySQL',
          'Elixir.Ecto.Adapters.MySQL.Connection',
          'Elixir.Ecto.Adapters.MyXQL','Elixir.Ecto.Adapters.Postgres',
          'Elixir.Ecto.Adapters.SQL','Elixir.Ecto.Adapters.SQL.Application',
          'Elixir.Ecto.Adapters.SQL.Connection',
          'Elixir.Ecto.Adapters.SQL.Sandbox',
          'Elixir.Ecto.Adapters.SQL.Sandbox.Connection',
          'Elixir.Ecto.Adapters.SQL.Stream','Elixir.Ecto.Migration',
          'Elixir.Ecto.Migration.Command','Elixir.Ecto.Migration.Constraint',
          'Elixir.Ecto.Migration.Index','Elixir.Ecto.Migration.Reference',
          'Elixir.Ecto.Migration.Runner',
          'Elixir.Ecto.Migration.SchemaMigration',
          'Elixir.Ecto.Migration.Supervisor','Elixir.Ecto.Migration.Table',
          'Elixir.Ecto.Migrator','Elixir.Enumerable.Ecto.Adapters.SQL.Stream',
          'Elixir.Mix.EctoSQL','Elixir.Mix.Tasks.Ecto.Dump',
          'Elixir.Mix.Tasks.Ecto.Gen.Migration','Elixir.Mix.Tasks.Ecto.Load',
          'Elixir.Mix.Tasks.Ecto.Migrate','Elixir.Mix.Tasks.Ecto.Migrations',
          'Elixir.Mix.Tasks.Ecto.Rollback']},
     {path,["$ROOT/lib/gen_stage-0.14.1/ebin"]},
     {primLoad,
         ['Elixir.ConsumerSupervisor','Elixir.ConsumerSupervisor.Default',
          'Elixir.GenStage','Elixir.GenStage.BroadcastDispatcher',
          'Elixir.GenStage.Buffer','Elixir.GenStage.DemandDispatcher',
          'Elixir.GenStage.Dispatcher','Elixir.GenStage.PartitionDispatcher',
          'Elixir.GenStage.Stream','Elixir.GenStage.Streamer',
          'Elixir.GenStage.Utils']},
     {path,["$ROOT/lib/crontab-1.1.5/ebin"]},
     {primLoad,
         ['Elixir.Crontab.CronExpression',
          'Elixir.Crontab.CronExpression.Composer',
          'Elixir.Crontab.CronExpression.Ecto.Type',
          'Elixir.Crontab.CronExpression.Parser','Elixir.Crontab.DateChecker',
          'Elixir.Crontab.DateHelper','Elixir.Crontab.Scheduler',
          'Elixir.Inspect.Crontab.CronExpression']},
     {path,["$ROOT/lib/gen_state_machine-2.0.5/ebin"]},
     {primLoad,
         ['Elixir.GenStateMachine','Elixir.GenStateMachine.Application',
          'Elixir.GenStateMachine.Translator']},
     {path,["$ROOT/lib/swarm-3.4.0/ebin"]},
     {primLoad,
         ['Elixir.Swarm','Elixir.Swarm.App','Elixir.Swarm.Distribution.Ring',
          'Elixir.Swarm.Distribution.StaticQuorumRing',
          'Elixir.Swarm.Distribution.Strategy','Elixir.Swarm.Entry',
          'Elixir.Swarm.IntervalTreeClock','Elixir.Swarm.Logger',
          'Elixir.Swarm.Registry','Elixir.Swarm.Tracker',
          'Elixir.Swarm.Tracker.TrackerState','Elixir.Swarm.Tracker.Tracking',
          swarm]},
     {path,["$ROOT/lib/quantum-2.3.4/ebin"]},
     {primLoad,
         ['Elixir.Quantum','Elixir.Quantum.Application',
          'Elixir.Quantum.ClusterTaskSupervisorRegistry',
          'Elixir.Quantum.ClusterTaskSupervisorRegistry.InitOpts',
          'Elixir.Quantum.ClusterTaskSupervisorRegistry.StartOpts',
          'Elixir.Quantum.ClusterTaskSupervisorRegistry.State',
          'Elixir.Quantum.DateLibrary',
          'Elixir.Quantum.DateLibrary.InvalidDateTimeForTimezoneError',
          'Elixir.Quantum.DateLibrary.InvalidTimezoneError',
          'Elixir.Quantum.DateLibrary.Timex',
          'Elixir.Quantum.ExecutionBroadcaster',
          'Elixir.Quantum.ExecutionBroadcaster.InitOpts',
          'Elixir.Quantum.ExecutionBroadcaster.JobInPastError',
          'Elixir.Quantum.ExecutionBroadcaster.StartOpts',
          'Elixir.Quantum.ExecutionBroadcaster.State',
          'Elixir.Quantum.Executor','Elixir.Quantum.Executor.StartOpts',
          'Elixir.Quantum.ExecutorSupervisor',
          'Elixir.Quantum.ExecutorSupervisor.InitOpts',
          'Elixir.Quantum.ExecutorSupervisor.StartOpts','Elixir.Quantum.Job',
          'Elixir.Quantum.JobBroadcaster',
          'Elixir.Quantum.JobBroadcaster.InitOpts',
          'Elixir.Quantum.JobBroadcaster.StartOpts',
          'Elixir.Quantum.JobBroadcaster.State','Elixir.Quantum.Normalizer',
          'Elixir.Quantum.RunStrategy','Elixir.Quantum.RunStrategy.All',
          'Elixir.Quantum.RunStrategy.Local',
          'Elixir.Quantum.RunStrategy.NodeList',
          'Elixir.Quantum.RunStrategy.NodeList.Quantum.RunStrategy.All',
          'Elixir.Quantum.RunStrategy.NodeList.Quantum.RunStrategy.Local',
          'Elixir.Quantum.RunStrategy.NodeList.Quantum.RunStrategy.Random',
          'Elixir.Quantum.RunStrategy.Random','Elixir.Quantum.Scheduler',
          'Elixir.Quantum.Storage.Adapter','Elixir.Quantum.Storage.Noop',
          'Elixir.Quantum.Supervisor','Elixir.Quantum.TaskRegistry',
          'Elixir.Quantum.TaskRegistry.InitOpts',
          'Elixir.Quantum.TaskRegistry.StartOpts',
          'Elixir.Quantum.TaskRegistry.State','Elixir.Quantum.Util']},
     {path,["$ROOT/lib/uuid-1.1.8/ebin"]},
     {primLoad,['Elixir.UUID']},
     {path,["$ROOT/lib/metrics-1.0.1/ebin"]},
     {primLoad,[metrics,metrics_dummy,metrics_exometer,metrics_folsom]},
     {path,["$ROOT/lib/ssl_verify_fun-1.1.4/ebin"]},
     {primLoad,
         [ssl_verify_fingerprint,ssl_verify_fun_cert_helpers,
          ssl_verify_fun_encodings,ssl_verify_hostname,ssl_verify_pk,
          ssl_verify_string,ssl_verify_util]},
     {path,["$ROOT/lib/certifi-2.5.1/ebin"]},
     {primLoad,[certifi]},
     {path,["$ROOT/lib/mimerl-1.2.0/ebin"]},
     {primLoad,[mimerl]},
     {path,["$ROOT/lib/unicode_util_compat-0.4.1/ebin"]},
     {primLoad,[unicode_util_compat]},
     {path,["$ROOT/lib/idna-6.0.0/ebin"]},
     {primLoad,
         [idna,idna_bidi,idna_context,idna_data,idna_mapping,idna_table,
          idna_ucs,punycode]},
     {path,["$ROOT/lib/hackney-1.15.1/ebin"]},
     {primLoad,
         [hackney,hackney_app,hackney_bstr,hackney_connect,hackney_cookie,
          hackney_date,hackney_headers,hackney_headers_new,hackney_http,
          hackney_http_connect,hackney_local_tcp,hackney_manager,
          hackney_metrics,hackney_multipart,hackney_pool,hackney_pool_handler,
          hackney_request,hackney_response,hackney_socks5,hackney_ssl,
          hackney_stream,hackney_sup,hackney_tcp,hackney_trace,hackney_url,
          hackney_util]},
     {path,["$ROOT/lib/httpoison-1.5.1/ebin"]},
     {primLoad,
         ['Elixir.HTTPoison','Elixir.HTTPoison.AsyncChunk',
          'Elixir.HTTPoison.AsyncEnd','Elixir.HTTPoison.AsyncHeaders',
          'Elixir.HTTPoison.AsyncRedirect','Elixir.HTTPoison.AsyncResponse',
          'Elixir.HTTPoison.AsyncStatus','Elixir.HTTPoison.Base',
          'Elixir.HTTPoison.Error','Elixir.HTTPoison.Handlers.Multipart',
          'Elixir.HTTPoison.Request','Elixir.HTTPoison.Response']},
     {path,["$ROOT/lib/jwt_claims-0.0.4/ebin"]},
     {primLoad,
         ['Elixir.JwtClaims','Elixir.JwtClaims.Claim.Aud',
          'Elixir.JwtClaims.Claim.Exp','Elixir.JwtClaims.Claim.Iat',
          'Elixir.JwtClaims.Claim.Iss','Elixir.JwtClaims.Claim.Jti',
          'Elixir.JwtClaims.Claim.Nbf','Elixir.JwtClaims.Claim.Sub',
          'Elixir.JwtClaims.StringOrUri','Elixir.JwtClaims.Util',
          'Elixir.JwtClaims.Validation']},
     {path,["$ROOT/lib/poison-3.1.0/ebin"]},
     {primLoad,
         ['Elixir.Poison','Elixir.Poison.Decode','Elixir.Poison.Decoder',
          'Elixir.Poison.Decoder.Any','Elixir.Poison.Encode',
          'Elixir.Poison.EncodeError','Elixir.Poison.Encoder',
          'Elixir.Poison.Encoder.Any','Elixir.Poison.Encoder.Atom',
          'Elixir.Poison.Encoder.BitString','Elixir.Poison.Encoder.Date',
          'Elixir.Poison.Encoder.DateTime','Elixir.Poison.Encoder.Float',
          'Elixir.Poison.Encoder.HashSet','Elixir.Poison.Encoder.Integer',
          'Elixir.Poison.Encoder.List','Elixir.Poison.Encoder.Map',
          'Elixir.Poison.Encoder.MapSet',
          'Elixir.Poison.Encoder.NaiveDateTime','Elixir.Poison.Encoder.Range',
          'Elixir.Poison.Encoder.Stream','Elixir.Poison.Encoder.Time',
          'Elixir.Poison.Parser','Elixir.Poison.Pretty',
          'Elixir.Poison.SyntaxError']},
     {path,["$ROOT/lib/logger_file_backend-0.0.10/ebin"]},
     {primLoad,['Elixir.LoggerFileBackend']},
     {path,["$ROOT/lib/json_web_token-0.2.10/ebin"]},
     {primLoad,
         ['Elixir.JsonWebToken','Elixir.JsonWebToken.Algorithm.Common',
          'Elixir.JsonWebToken.Algorithm.Ecdsa',
          'Elixir.JsonWebToken.Algorithm.EcdsaUtil',
          'Elixir.JsonWebToken.Algorithm.Hmac',
          'Elixir.JsonWebToken.Algorithm.Rsa',
          'Elixir.JsonWebToken.Algorithm.RsaUtil','Elixir.JsonWebToken.Jwa',
          'Elixir.JsonWebToken.Jws','Elixir.JsonWebToken.Jwt',
          'Elixir.JsonWebToken.Util']},
     {path,["$ROOT/lib/combine-0.10.0/ebin"]},
     {primLoad,
         ['Elixir.Combine','Elixir.Combine.Helpers',
          'Elixir.Combine.ParserState','Elixir.Combine.Parsers.Base',
          'Elixir.Combine.Parsers.Binary','Elixir.Combine.Parsers.Text']},
     {path,["$ROOT/lib/gettext-0.16.1/ebin"]},
     {primLoad,
         ['Elixir.Gettext','Elixir.Gettext.Application',
          'Elixir.Gettext.Backend','Elixir.Gettext.Compiler',
          'Elixir.Gettext.Error','Elixir.Gettext.Extractor',
          'Elixir.Gettext.ExtractorAgent','Elixir.Gettext.Fuzzy',
          'Elixir.Gettext.Interpolation','Elixir.Gettext.Merger',
          'Elixir.Gettext.MissingBindingsError','Elixir.Gettext.PO',
          'Elixir.Gettext.PO.Parser','Elixir.Gettext.PO.PluralTranslation',
          'Elixir.Gettext.PO.SyntaxError','Elixir.Gettext.PO.Tokenizer',
          'Elixir.Gettext.PO.Translation','Elixir.Gettext.PO.Translations',
          'Elixir.Gettext.Plural','Elixir.Gettext.Plural.UnknownLocaleError',
          'Elixir.Mix.Tasks.Compile.Gettext',
          'Elixir.Mix.Tasks.Gettext.Extract','Elixir.Mix.Tasks.Gettext.Merge',
          gettext_po_parser]},
     {path,["$ROOT/lib/tzdata-0.5.20/ebin"]},
     {primLoad,
         ['Elixir.Tzdata','Elixir.Tzdata.App','Elixir.Tzdata.BasicDataMap',
          'Elixir.Tzdata.DataBuilder','Elixir.Tzdata.DataLoader',
          'Elixir.Tzdata.EtsHolder','Elixir.Tzdata.FarFutureDynamicPeriods',
          'Elixir.Tzdata.LeapSecParser','Elixir.Tzdata.Parser',
          'Elixir.Tzdata.ParserOrganizer','Elixir.Tzdata.PeriodBuilder',
          'Elixir.Tzdata.ReleaseReader','Elixir.Tzdata.ReleaseUpdater',
          'Elixir.Tzdata.TableData','Elixir.Tzdata.TableParser',
          'Elixir.Tzdata.Util']},
     {path,["$ROOT/lib/timex-3.5.0/ebin"]},
     {primLoad,
         ['Elixir.Enumerable.Timex.Interval',
          'Elixir.Inspect.Timex.AmbiguousDateTime',
          'Elixir.Inspect.Timex.AmbiguousTimezoneInfo',
          'Elixir.Inspect.Timex.Duration','Elixir.Inspect.Timex.TimezoneInfo',
          'Elixir.Timex','Elixir.Timex.AmbiguousDateTime',
          'Elixir.Timex.AmbiguousTimezoneInfo','Elixir.Timex.Calendar.Julian',
          'Elixir.Timex.Comparable','Elixir.Timex.Comparable.Date',
          'Elixir.Timex.Comparable.DateTime','Elixir.Timex.Comparable.Diff',
          'Elixir.Timex.Comparable.NaiveDateTime',
          'Elixir.Timex.Comparable.Timex.AmbiguousDateTime',
          'Elixir.Timex.Comparable.Tuple','Elixir.Timex.Comparable.Utils',
          'Elixir.Timex.Constants','Elixir.Timex.Convert',
          'Elixir.Timex.ConvertError','Elixir.Timex.DateTime.Helpers',
          'Elixir.Timex.Duration','Elixir.Timex.Format.DateTime.Formatter',
          'Elixir.Timex.Format.DateTime.Formatters.Default',
          'Elixir.Timex.Format.DateTime.Formatters.Relative',
          'Elixir.Timex.Format.DateTime.Formatters.Strftime',
          'Elixir.Timex.Format.Duration.Formatter',
          'Elixir.Timex.Format.Duration.Formatters.Default',
          'Elixir.Timex.Format.Duration.Formatters.Humanized',
          'Elixir.Timex.Format.FormatError','Elixir.Timex.Gettext',
          'Elixir.Timex.Helpers','Elixir.Timex.Interval',
          'Elixir.Timex.Interval.FormatError','Elixir.Timex.Macros',
          'Elixir.Timex.Parse.DateTime.Helpers',
          'Elixir.Timex.Parse.DateTime.Parser',
          'Elixir.Timex.Parse.DateTime.Parsers',
          'Elixir.Timex.Parse.DateTime.Parsers.ISO8601Extended',
          'Elixir.Timex.Parse.DateTime.Tokenizer',
          'Elixir.Timex.Parse.DateTime.Tokenizers.Default',
          'Elixir.Timex.Parse.DateTime.Tokenizers.Directive',
          'Elixir.Timex.Parse.DateTime.Tokenizers.Strftime',
          'Elixir.Timex.Parse.Duration.Parser',
          'Elixir.Timex.Parse.Duration.Parsers.ISO8601Parser',
          'Elixir.Timex.Parse.ParseError',
          'Elixir.Timex.Parse.Timezones.Posix',
          'Elixir.Timex.Parse.Timezones.Posix.PosixTimezone',
          'Elixir.Timex.Parse.ZoneInfo.Parser',
          'Elixir.Timex.Parse.ZoneInfo.Parser.Header',
          'Elixir.Timex.Parse.ZoneInfo.Parser.LeapSecond',
          'Elixir.Timex.Parse.ZoneInfo.Parser.TransitionInfo',
          'Elixir.Timex.Parse.ZoneInfo.Parser.Zone','Elixir.Timex.Protocol',
          'Elixir.Timex.Protocol.Any','Elixir.Timex.Protocol.Date',
          'Elixir.Timex.Protocol.DateTime','Elixir.Timex.Protocol.Map',
          'Elixir.Timex.Protocol.NaiveDateTime','Elixir.Timex.Protocol.Tuple',
          'Elixir.Timex.Time','Elixir.Timex.Timezone',
          'Elixir.Timex.Timezone.Local','Elixir.Timex.Timezone.Utils',
          'Elixir.Timex.TimezoneInfo','Elixir.Timex.Translator',
          'Elixir.Timex.Types']},
     {path,["$ROOT/lib/app-0.0.17/ebin"]},
     {primLoad,
         ['Elixir.JwtFunctions','Elixir.App',
          'Elixir.App.Client','Elixir.App.Job','Elixir.App.JobRunner',
          'Elixir.App.Participant','Elixir.App.Project',
          'Elixir.App.ProjectManager','Elixir.App.Scheduler',
          'Elixir.App','Elixir.App.Application',
          'Elixir.App.Job','Elixir.App.JobQuery',
          'Elixir.App.Model','Elixir.App.Project',
          'Elixir.App.ProjectManager',
          'Elixir.App.ProjectManagerQuery',
          'Elixir.App.ProjectQuery','Elixir.App.Repo',
          'Elixir.App.Variable','Elixir.AppWeb',
          'Elixir.AppWeb.ApiController','Elixir.AppWeb.ApiView',
          'Elixir.AppWeb.Endpoint','Elixir.AppWeb.ErrorHelpers',
          'Elixir.AppWeb.ErrorView','Elixir.AppWeb.Gettext',
          'Elixir.AppWeb.LayoutView',
          'Elixir.AppWeb.PageController',
          'Elixir.AppWeb.PageView','Elixir.AppWeb.Router',
          'Elixir.AppWeb.Router.Helpers',
          'Elixir.AppWeb.UserSocket']},
     {path,["$ROOT/lib/sasl-3.1.1/ebin"]},
     {primLoad,
         [alarm_handler,erlsrv,format_lib_supp,misc_supp,rb,rb_format_supp,
          release_handler,release_handler_1,sasl,sasl_report,
          sasl_report_file_h,sasl_report_tty_h,si,si_sasl_supp,systools,
          systools_lib,systools_make,systools_rc,systools_relup]},
     {path,["$ROOT/lib/iex-1.6.3/ebin"]},
     {primLoad,
         ['Elixir.IEx','Elixir.IEx.App','Elixir.IEx.Autocomplete',
          'Elixir.IEx.CLI','Elixir.IEx.Config','Elixir.IEx.Evaluator',
          'Elixir.IEx.Helpers','Elixir.IEx.History','Elixir.IEx.Info',
          'Elixir.IEx.Info.Any','Elixir.IEx.Info.Atom',
          'Elixir.IEx.Info.BitString','Elixir.IEx.Info.Date',
          'Elixir.IEx.Info.Float','Elixir.IEx.Info.Function',
          'Elixir.IEx.Info.Integer','Elixir.IEx.Info.List',
          'Elixir.IEx.Info.Map','Elixir.IEx.Info.NaiveDateTime',
          'Elixir.IEx.Info.PID','Elixir.IEx.Info.Port',
          'Elixir.IEx.Info.Reference','Elixir.IEx.Info.Time',
          'Elixir.IEx.Info.Tuple','Elixir.IEx.Introspection','Elixir.IEx.Pry',
          'Elixir.IEx.Remsh','Elixir.IEx.Server','Elixir.IEx.State']},
     {path,["$ROOT/lib/mix-1.6.3/ebin"]},
     {primLoad,
         ['Elixir.Mix','Elixir.Mix.CLI','Elixir.Mix.Compilers.Elixir',
          'Elixir.Mix.Compilers.Erlang','Elixir.Mix.Compilers.Test',
          'Elixir.Mix.Config','Elixir.Mix.Config.Agent',
          'Elixir.Mix.Config.LoadError','Elixir.Mix.Dep',
          'Elixir.Mix.Dep.Converger','Elixir.Mix.Dep.ElixirSCM',
          'Elixir.Mix.Dep.Fetcher','Elixir.Mix.Dep.Loader',
          'Elixir.Mix.Dep.Lock','Elixir.Mix.Dep.Umbrella',
          'Elixir.Mix.ElixirVersionError','Elixir.Mix.Error',
          'Elixir.Mix.Generator','Elixir.Mix.Hex',
          'Elixir.Mix.InvalidTaskError','Elixir.Mix.Local',
          'Elixir.Mix.Local.Installer','Elixir.Mix.NoProjectError',
          'Elixir.Mix.NoTaskError','Elixir.Mix.Project',
          'Elixir.Mix.ProjectStack','Elixir.Mix.PublicKey','Elixir.Mix.Rebar',
          'Elixir.Mix.RemoteConverger','Elixir.Mix.SCM','Elixir.Mix.SCM.Git',
          'Elixir.Mix.SCM.Path','Elixir.Mix.Shell','Elixir.Mix.Shell.IO',
          'Elixir.Mix.Shell.Process','Elixir.Mix.Shell.Quiet',
          'Elixir.Mix.State','Elixir.Mix.Task','Elixir.Mix.Task.Compiler',
          'Elixir.Mix.Task.Compiler.Diagnostic','Elixir.Mix.Tasks.App.Start',
          'Elixir.Mix.Tasks.App.Tree','Elixir.Mix.Tasks.Archive',
          'Elixir.Mix.Tasks.Archive.Build','Elixir.Mix.Tasks.Archive.Check',
          'Elixir.Mix.Tasks.Archive.Install',
          'Elixir.Mix.Tasks.Archive.Uninstall','Elixir.Mix.Tasks.Clean',
          'Elixir.Mix.Tasks.Cmd','Elixir.Mix.Tasks.Compile',
          'Elixir.Mix.Tasks.Compile.All','Elixir.Mix.Tasks.Compile.App',
          'Elixir.Mix.Tasks.Compile.Elixir','Elixir.Mix.Tasks.Compile.Erlang',
          'Elixir.Mix.Tasks.Compile.Leex',
          'Elixir.Mix.Tasks.Compile.Protocols',
          'Elixir.Mix.Tasks.Compile.Xref','Elixir.Mix.Tasks.Compile.Yecc',
          'Elixir.Mix.Tasks.Deps','Elixir.Mix.Tasks.Deps.Clean',
          'Elixir.Mix.Tasks.Deps.Compile','Elixir.Mix.Tasks.Deps.Get',
          'Elixir.Mix.Tasks.Deps.Loadpaths',
          'Elixir.Mix.Tasks.Deps.Precompile','Elixir.Mix.Tasks.Deps.Tree',
          'Elixir.Mix.Tasks.Deps.Unlock','Elixir.Mix.Tasks.Deps.Update',
          'Elixir.Mix.Tasks.Do','Elixir.Mix.Tasks.Escript',
          'Elixir.Mix.Tasks.Escript.Build','Elixir.Mix.Tasks.Escript.Install',
          'Elixir.Mix.Tasks.Escript.Uninstall','Elixir.Mix.Tasks.Format',
          'Elixir.Mix.Tasks.Help','Elixir.Mix.Tasks.Iex',
          'Elixir.Mix.Tasks.Loadconfig','Elixir.Mix.Tasks.Loadpaths',
          'Elixir.Mix.Tasks.Local','Elixir.Mix.Tasks.Local.Hex',
          'Elixir.Mix.Tasks.Local.PublicKeys','Elixir.Mix.Tasks.Local.Rebar',
          'Elixir.Mix.Tasks.New','Elixir.Mix.Tasks.Profile.Cprof',
          'Elixir.Mix.Tasks.Profile.Eprof','Elixir.Mix.Tasks.Profile.Fprof',
          'Elixir.Mix.Tasks.Run','Elixir.Mix.Tasks.Test',
          'Elixir.Mix.Tasks.Test.Cover','Elixir.Mix.Tasks.Xref',
          'Elixir.Mix.TasksServer','Elixir.Mix.Utils']},
     {progress,modules_loaded},
     {path,
         ["$ROOT/lib/kernel-5.4.3/ebin","$ROOT/lib/stdlib-3.4.4/ebin",
          "$ROOT/lib/crypto-4.2.1/ebin","$ROOT/lib/compiler-7.1.5/ebin",
          "$ROOT/lib/elixir-1.6.3/ebin","$ROOT/lib/plug_crypto-1.0.0/ebin",
          "$ROOT/lib/logger-1.6.3/ebin","$ROOT/lib/mime-1.3.1/ebin",
          "$ROOT/lib/plug-1.8.0/ebin","$ROOT/lib/decimal-1.7.0/ebin",
          "$ROOT/lib/ecto-3.1.4/ebin","$ROOT/lib/phoenix_ecto-4.0.0/ebin",
          "$ROOT/lib/asn1-5.0.5/ebin","$ROOT/lib/public_key-1.5.2/ebin",
          "$ROOT/lib/ssl-8.2.5/ebin","$ROOT/lib/ranch-1.7.1/ebin",
          "$ROOT/lib/cowlib-2.7.3/ebin","$ROOT/lib/cowboy-2.6.3/ebin",
          "$ROOT/lib/plug_cowboy-2.0.2/ebin",
          "$ROOT/lib/artificery-0.4.2/ebin",
          "$ROOT/lib/runtime_tools-1.12.5/ebin",
          "$ROOT/lib/distillery-2.0.14/ebin",
          "$ROOT/lib/connection-1.0.4/ebin",
          "$ROOT/lib/db_connection-2.0.6/ebin","$ROOT/lib/mariaex-0.9.1/ebin",
          "$ROOT/lib/eex-1.6.3/ebin","$ROOT/lib/phoenix_pubsub-1.1.2/ebin",
          "$ROOT/lib/phoenix-1.4.6/ebin","$ROOT/lib/libring-1.4.0/ebin",
          "$ROOT/lib/phoenix_html-2.13.2/ebin",
          "$ROOT/lib/telemetry-0.4.0/ebin","$ROOT/lib/ecto_sql-3.1.2/ebin",
          "$ROOT/lib/gen_stage-0.14.1/ebin","$ROOT/lib/crontab-1.1.5/ebin",
          "$ROOT/lib/gen_state_machine-2.0.5/ebin",
          "$ROOT/lib/swarm-3.4.0/ebin","$ROOT/lib/quantum-2.3.4/ebin",
          "$ROOT/lib/uuid-1.1.8/ebin","$ROOT/lib/metrics-1.0.1/ebin",
          "$ROOT/lib/ssl_verify_fun-1.1.4/ebin",
          "$ROOT/lib/certifi-2.5.1/ebin","$ROOT/lib/mimerl-1.2.0/ebin",
          "$ROOT/lib/unicode_util_compat-0.4.1/ebin",
          "$ROOT/lib/idna-6.0.0/ebin","$ROOT/lib/hackney-1.15.1/ebin",
          "$ROOT/lib/httpoison-1.5.1/ebin","$ROOT/lib/jwt_claims-0.0.4/ebin",
          "$ROOT/lib/poison-3.1.0/ebin",
          "$ROOT/lib/logger_file_backend-0.0.10/ebin",
          "$ROOT/lib/json_web_token-0.2.10/ebin",
          "$ROOT/lib/combine-0.10.0/ebin","$ROOT/lib/gettext-0.16.1/ebin",
          "$ROOT/lib/tzdata-0.5.20/ebin","$ROOT/lib/timex-3.5.0/ebin",
          "$ROOT/lib/app-0.0.17/ebin","$ROOT/lib/sasl-3.1.1/ebin",
          "$ROOT/lib/iex-1.6.3/ebin","$ROOT/lib/mix-1.6.3/ebin"]},
     {kernelProcess,heart,{heart,start,[]}},
     {kernelProcess,error_logger,{error_logger,start_link,[]}},
     {kernelProcess,application_controller,
         {application_controller,start,
             [{application,kernel,
                  [{description,"ERTS  CXC 138 10"},
                   {vsn,"5.4.3"},
                   {id,[]},
                   {modules,
                       [application,application_controller,application_master,
                        application_starter,auth,code,code_server,dist_util,
                        erl_boot_server,erl_distribution,erl_reply,
                        erl_signal_handler,error_handler,error_logger,file,
                        file_server,file_io_server,global,global_group,
                        global_search,group,group_history,heart,
                        hipe_unified_loader,inet6_tcp,inet6_tcp_dist,
                        inet6_udp,inet6_sctp,inet_config,inet_hosts,
                        inet_gethost_native,inet_tcp_dist,kernel,
                        kernel_config,local_tcp,local_udp,net,net_adm,
                        net_kernel,os,ram_file,rpc,user,user_drv,user_sup,
                        disk_log,disk_log_1,disk_log_server,disk_log_sup,
                        dist_ac,erl_ddll,erl_epmd,erts_debug,gen_tcp,gen_udp,
                        gen_sctp,inet,inet_db,inet_dns,inet_parse,inet_res,
                        inet_tcp,inet_udp,inet_sctp,pg2,seq_trace,
                        standard_error,wrap_log_reader]},
                   {registered,
                       [application_controller,erl_reply,auth,boot_server,
                        code_server,disk_log_server,disk_log_sup,
                        erl_prim_loader,error_logger,file_server_2,
                        fixtable_server,global_group,global_name_server,heart,
                        init,kernel_config,kernel_sup,net_kernel,net_sup,rex,
                        user,os_server,ddll_server,erl_epmd,inet_db,pg2]},
                   {applications,[]},
                   {included_applications,[]},
                   {env,[{error_logger,tty}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{kernel,[]}}]}]}},
     {progress,init_kernel_started},
     {apply,
         {application,load,
             [{application,stdlib,
                  [{description,"ERTS  CXC 138 10"},
                   {vsn,"3.4.4"},
                   {id,[]},
                   {modules,
                       [array,base64,beam_lib,binary,c,calendar,dets,
                        dets_server,dets_sup,dets_utils,dets_v9,dict,digraph,
                        digraph_utils,edlin,edlin_expand,epp,eval_bits,
                        erl_abstract_code,erl_anno,erl_bits,erl_compile,
                        erl_eval,erl_expand_records,erl_internal,erl_lint,
                        erl_parse,erl_posix_msg,erl_pp,erl_scan,erl_tar,
                        error_logger_file_h,error_logger_tty_h,escript,ets,
                        file_sorter,filelib,filename,gb_trees,gb_sets,gen,
                        gen_event,gen_fsm,gen_server,gen_statem,io,io_lib,
                        io_lib_format,io_lib_fread,io_lib_pretty,lib,lists,
                        log_mf_h,maps,math,ms_transform,orddict,ordsets,
                        otp_internal,pool,proc_lib,proplists,qlc,qlc_pt,queue,
                        rand,random,re,sets,shell,shell_default,slave,sofs,
                        string,supervisor,supervisor_bridge,sys,timer,unicode,
                        unicode_util,win32reg,zip]},
                   {registered,
                       [timer_server,rsh_starter,take_over_monitor,
                        pool_master,dets]},
                   {applications,[kernel]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,crypto,
                  [{description,"CRYPTO"},
                   {vsn,"4.2.1"},
                   {id,[]},
                   {modules,[crypto,crypto_ec_curves]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[{fips_mode,false}]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,compiler,
                  [{description,"ERTS  CXC 138 10"},
                   {vsn,"7.1.5"},
                   {id,[]},
                   {modules,
                       [beam_a,beam_asm,beam_block,beam_bs,beam_bsm,
                        beam_clean,beam_dead,beam_dict,beam_disasm,
                        beam_except,beam_flatten,beam_jump,beam_listing,
                        beam_opcodes,beam_peep,beam_receive,beam_reorder,
                        beam_record,beam_split,beam_trim,beam_type,beam_utils,
                        beam_validator,beam_z,cerl,cerl_clauses,cerl_inline,
                        cerl_sets,cerl_trees,compile,core_scan,core_lint,
                        core_parse,core_pp,core_lib,erl_bifs,rec_env,
                        sys_core_bsm,sys_core_dsetel,sys_core_fold,
                        sys_core_fold_lists,sys_core_inline,
                        sys_pre_attributes,v3_codegen,v3_core,v3_kernel,
                        v3_kernel_pp,v3_life]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,elixir,
                  [{description,"elixir"},
                   {vsn,"1.6.3"},
                   {id,[]},
                   {modules,
                       ['Elixir.Access','Elixir.Agent','Elixir.Agent.Server',
                        'Elixir.Application','Elixir.ArgumentError',
                        'Elixir.ArithmeticError','Elixir.Atom',
                        'Elixir.BadArityError','Elixir.BadBooleanError',
                        'Elixir.BadFunctionError','Elixir.BadMapError',
                        'Elixir.BadStructError','Elixir.Base',
                        'Elixir.Behaviour','Elixir.Bitwise','Elixir.Calendar',
                        'Elixir.Calendar.ISO','Elixir.CaseClauseError',
                        'Elixir.Code','Elixir.Code.Formatter',
                        'Elixir.Code.Identifier','Elixir.Code.LoadError',
                        'Elixir.Collectable','Elixir.Collectable.BitString',
                        'Elixir.Collectable.File.Stream',
                        'Elixir.Collectable.HashDict',
                        'Elixir.Collectable.HashSet',
                        'Elixir.Collectable.IO.Stream',
                        'Elixir.Collectable.List','Elixir.Collectable.Map',
                        'Elixir.Collectable.MapSet','Elixir.CompileError',
                        'Elixir.CondClauseError','Elixir.Date',
                        'Elixir.Date.Range','Elixir.DateTime','Elixir.Dict',
                        'Elixir.DynamicSupervisor','Elixir.Enum',
                        'Elixir.Enum.EmptyError',
                        'Elixir.Enum.OutOfBoundsError','Elixir.Enumerable',
                        'Elixir.Enumerable.Date.Range',
                        'Elixir.Enumerable.File.Stream',
                        'Elixir.Enumerable.Function',
                        'Elixir.Enumerable.GenEvent.Stream',
                        'Elixir.Enumerable.HashDict',
                        'Elixir.Enumerable.HashSet',
                        'Elixir.Enumerable.IO.Stream',
                        'Elixir.Enumerable.List','Elixir.Enumerable.Map',
                        'Elixir.Enumerable.MapSet','Elixir.Enumerable.Range',
                        'Elixir.Enumerable.Stream','Elixir.ErlangError',
                        'Elixir.Exception','Elixir.File',
                        'Elixir.File.CopyError','Elixir.File.Error',
                        'Elixir.File.LinkError','Elixir.File.Stat',
                        'Elixir.File.Stream','Elixir.Float',
                        'Elixir.FunctionClauseError','Elixir.GenEvent',
                        'Elixir.GenEvent.Stream','Elixir.GenServer',
                        'Elixir.HashDict','Elixir.HashSet','Elixir.IO',
                        'Elixir.IO.ANSI','Elixir.IO.ANSI.Docs',
                        'Elixir.IO.ANSI.Sequence','Elixir.IO.Stream',
                        'Elixir.IO.StreamError','Elixir.Inspect',
                        'Elixir.Inspect.Algebra','Elixir.Inspect.Any',
                        'Elixir.Inspect.Atom','Elixir.Inspect.BitString',
                        'Elixir.Inspect.Date','Elixir.Inspect.Date.Range',
                        'Elixir.Inspect.DateTime','Elixir.Inspect.Error',
                        'Elixir.Inspect.Float','Elixir.Inspect.Function',
                        'Elixir.Inspect.HashDict','Elixir.Inspect.HashSet',
                        'Elixir.Inspect.Integer','Elixir.Inspect.List',
                        'Elixir.Inspect.Map','Elixir.Inspect.MapSet',
                        'Elixir.Inspect.NaiveDateTime','Elixir.Inspect.Opts',
                        'Elixir.Inspect.PID','Elixir.Inspect.Port',
                        'Elixir.Inspect.Range','Elixir.Inspect.Reference',
                        'Elixir.Inspect.Regex','Elixir.Inspect.Stream',
                        'Elixir.Inspect.Time','Elixir.Inspect.Tuple',
                        'Elixir.Inspect.Version',
                        'Elixir.Inspect.Version.Requirement','Elixir.Integer',
                        'Elixir.Kernel','Elixir.Kernel.CLI',
                        'Elixir.Kernel.ErrorHandler',
                        'Elixir.Kernel.LexicalTracker',
                        'Elixir.Kernel.ParallelCompiler',
                        'Elixir.Kernel.ParallelRequire',
                        'Elixir.Kernel.SpecialForms','Elixir.Kernel.Typespec',
                        'Elixir.Kernel.Utils','Elixir.KeyError',
                        'Elixir.Keyword','Elixir.List','Elixir.List.Chars',
                        'Elixir.List.Chars.Atom',
                        'Elixir.List.Chars.BitString',
                        'Elixir.List.Chars.Float','Elixir.List.Chars.Integer',
                        'Elixir.List.Chars.List','Elixir.Macro',
                        'Elixir.Macro.Env','Elixir.Map','Elixir.MapSet',
                        'Elixir.MatchError','Elixir.Module',
                        'Elixir.Module.LocalsTracker','Elixir.NaiveDateTime',
                        'Elixir.Node','Elixir.OptionParser',
                        'Elixir.OptionParser.ParseError','Elixir.Path',
                        'Elixir.Path.Wildcard','Elixir.Port','Elixir.Process',
                        'Elixir.Protocol','Elixir.Protocol.UndefinedError',
                        'Elixir.Range','Elixir.Record',
                        'Elixir.Record.Extractor','Elixir.Regex',
                        'Elixir.Regex.CompileError','Elixir.Registry',
                        'Elixir.Registry.Partition',
                        'Elixir.Registry.Supervisor','Elixir.RuntimeError',
                        'Elixir.Set','Elixir.Stream','Elixir.Stream.Reducers',
                        'Elixir.String','Elixir.String.Break',
                        'Elixir.String.Casing','Elixir.String.Chars',
                        'Elixir.String.Chars.Atom',
                        'Elixir.String.Chars.BitString',
                        'Elixir.String.Chars.Date',
                        'Elixir.String.Chars.DateTime',
                        'Elixir.String.Chars.Float',
                        'Elixir.String.Chars.Integer',
                        'Elixir.String.Chars.List',
                        'Elixir.String.Chars.NaiveDateTime',
                        'Elixir.String.Chars.Time','Elixir.String.Chars.URI',
                        'Elixir.String.Chars.Version',
                        'Elixir.String.Chars.Version.Requirement',
                        'Elixir.String.Normalizer','Elixir.String.Tokenizer',
                        'Elixir.String.Unicode','Elixir.StringIO',
                        'Elixir.Supervisor','Elixir.Supervisor.Default',
                        'Elixir.Supervisor.Spec','Elixir.SyntaxError',
                        'Elixir.System','Elixir.SystemLimitError',
                        'Elixir.Task','Elixir.Task.Supervised',
                        'Elixir.Task.Supervisor','Elixir.Time',
                        'Elixir.TokenMissingError','Elixir.TryClauseError',
                        'Elixir.Tuple','Elixir.URI',
                        'Elixir.UndefinedFunctionError',
                        'Elixir.UnicodeConversionError','Elixir.Version',
                        'Elixir.Version.InvalidRequirementError',
                        'Elixir.Version.InvalidVersionError',
                        'Elixir.Version.Parser','Elixir.Version.Requirement',
                        'Elixir.WithClauseError',elixir,elixir_aliases,
                        elixir_bitstring,elixir_bootstrap,elixir_clauses,
                        elixir_code_server,elixir_compiler,elixir_config,
                        elixir_def,elixir_dispatch,elixir_env,elixir_erl,
                        elixir_erl_clauses,elixir_erl_compiler,elixir_erl_for,
                        elixir_erl_pass,elixir_erl_try,elixir_erl_var,
                        elixir_errors,elixir_expand,elixir_fn,elixir_import,
                        elixir_interpolation,elixir_lexical,elixir_locals,
                        elixir_map,elixir_module,elixir_overridable,
                        elixir_parser,elixir_quote,elixir_rewrite,elixir_sup,
                        elixir_tokenizer,elixir_utils]},
                   {registered,[elixir_config,elixir_code_server]},
                   {applications,[kernel,stdlib,compiler]},
                   {included_applications,[]},
                   {env,[{ansi_enabled,false}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{elixir,[]}}]}]}},
     {apply,
         {application,load,
             [{application,plug_crypto,
                  [{description,
                       "Crypto-related functionality for the web, used by Plug."},
                   {vsn,"1.0.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Plug.Crypto',
                        'Elixir.Plug.Crypto.KeyGenerator',
                        'Elixir.Plug.Crypto.MessageEncryptor',
                        'Elixir.Plug.Crypto.MessageVerifier']},
                   {registered,[]},
                   {applications,[kernel,crypto,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,logger,
                  [{description,"logger"},
                   {vsn,"1.6.3"},
                   {id,[]},
                   {modules,
                       ['Elixir.Logger','Elixir.Logger.App',
                        'Elixir.Logger.Backends.Console',
                        'Elixir.Logger.Config','Elixir.Logger.ErrorHandler',
                        'Elixir.Logger.Formatter','Elixir.Logger.Translator',
                        'Elixir.Logger.Utils','Elixir.Logger.Watcher',
                        'Elixir.Logger.WatcherSupervisor']},
                   {registered,
                       ['Elixir.Logger','Elixir.Logger.Supervisor',
                        'Elixir.Logger.Watcher']},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,
                       [{level,debug},
                        {utc_log,false},
                        {truncate,8096},
                        {backends,[console]},
                        {translators,[{'Elixir.Logger.Translator',translate}]},
                        {sync_threshold,20},
                        {discard_threshold,500},
                        {handle_otp_reports,true},
                        {handle_sasl_reports,false},
                        {discard_threshold_for_error_logger,500},
                        {compile_time_purge_level,debug},
                        {compile_time_application,nil},
                        {translator_inspect_opts,[]},
                        {console,[]}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Logger.App',[]}}]}]}},
     {apply,
         {application,load,
             [{application,mime,
                  [{description,"A MIME type module for Elixir"},
                   {vsn,"1.3.1"},
                   {id,[]},
                   {modules,['Elixir.MIME','Elixir.MIME.Application']},
                   {registered,[]},
                   {applications,[kernel,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{types,#{}}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.MIME.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,plug,
                  [{description,
                       "A specification and conveniences for composable modules between web applications"},
                   {vsn,"1.8.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Collectable.Plug.Conn',
                        'Elixir.Inspect.Plug.Conn','Elixir.Plug',
                        'Elixir.Plug.Adapters.Cowboy',
                        'Elixir.Plug.Adapters.Cowboy2',
                        'Elixir.Plug.Adapters.Test.Conn',
                        'Elixir.Plug.BadRequestError','Elixir.Plug.Builder',
                        'Elixir.Plug.CSRFProtection',
                        'Elixir.Plug.CSRFProtection.InvalidCSRFTokenError',
                        'Elixir.Plug.CSRFProtection.InvalidCrossOriginRequestError',
                        'Elixir.Plug.Conn','Elixir.Plug.Conn.Adapter',
                        'Elixir.Plug.Conn.AlreadySentError',
                        'Elixir.Plug.Conn.CookieOverflowError',
                        'Elixir.Plug.Conn.Cookies',
                        'Elixir.Plug.Conn.InvalidHeaderError',
                        'Elixir.Plug.Conn.InvalidQueryError',
                        'Elixir.Plug.Conn.NotSentError',
                        'Elixir.Plug.Conn.Query','Elixir.Plug.Conn.Status',
                        'Elixir.Plug.Conn.Unfetched','Elixir.Plug.Conn.Utils',
                        'Elixir.Plug.Conn.WrapperError',
                        'Elixir.Plug.Debugger','Elixir.Plug.ErrorHandler',
                        'Elixir.Plug.Exception','Elixir.Plug.Exception.Any',
                        'Elixir.Plug.HTML','Elixir.Plug.Head',
                        'Elixir.Plug.Logger','Elixir.Plug.MIME',
                        'Elixir.Plug.MethodOverride','Elixir.Plug.Parsers',
                        'Elixir.Plug.Parsers.BadEncodingError',
                        'Elixir.Plug.Parsers.JSON',
                        'Elixir.Plug.Parsers.MULTIPART',
                        'Elixir.Plug.Parsers.ParseError',
                        'Elixir.Plug.Parsers.RequestTooLargeError',
                        'Elixir.Plug.Parsers.URLENCODED',
                        'Elixir.Plug.Parsers.UnsupportedMediaTypeError',
                        'Elixir.Plug.RequestId','Elixir.Plug.Router',
                        'Elixir.Plug.Router.InvalidSpecError',
                        'Elixir.Plug.Router.Utils','Elixir.Plug.SSL',
                        'Elixir.Plug.Session','Elixir.Plug.Session.COOKIE',
                        'Elixir.Plug.Session.ETS','Elixir.Plug.Session.Store',
                        'Elixir.Plug.Static',
                        'Elixir.Plug.Static.InvalidPathError',
                        'Elixir.Plug.Supervisor','Elixir.Plug.Telemetry',
                        'Elixir.Plug.Test','Elixir.Plug.TimeoutError',
                        'Elixir.Plug.Upload','Elixir.Plug.UploadError',
                        plug_multipart]},
                   {registered,[]},
                   {applications,
                       [plug_crypto,kernel,mime,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{validate_header_keys_during_test,true}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Plug',[]}}]}]}},
     {apply,
         {application,load,
             [{application,decimal,
                  [{description,"Arbitrary precision decimal arithmetic."},
                   {vsn,"1.7.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Decimal','Elixir.Decimal.Context',
                        'Elixir.Decimal.Error','Elixir.Decimal.Macros',
                        'Elixir.Inspect.Decimal',
                        'Elixir.String.Chars.Decimal']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,ecto,
                  [{description,
                       "A toolkit for data mapping and language integrated query for Elixir"},
                   {vsn,"3.1.4"},
                   {id,[]},
                   {modules,
                       ['Elixir.Ecto','Elixir.Ecto.Adapter',
                        'Elixir.Ecto.Adapter.Queryable',
                        'Elixir.Ecto.Adapter.Schema',
                        'Elixir.Ecto.Adapter.Storage',
                        'Elixir.Ecto.Adapter.Transaction',
                        'Elixir.Ecto.Application','Elixir.Ecto.Association',
                        'Elixir.Ecto.Association.BelongsTo',
                        'Elixir.Ecto.Association.Has',
                        'Elixir.Ecto.Association.HasThrough',
                        'Elixir.Ecto.Association.ManyToMany',
                        'Elixir.Ecto.Association.NotLoaded',
                        'Elixir.Ecto.CastError','Elixir.Ecto.ChangeError',
                        'Elixir.Ecto.Changeset',
                        'Elixir.Ecto.Changeset.Relation',
                        'Elixir.Ecto.ConstraintError','Elixir.Ecto.Embedded',
                        'Elixir.Ecto.InvalidChangesetError',
                        'Elixir.Ecto.InvalidURLError','Elixir.Ecto.LogEntry',
                        'Elixir.Ecto.MigrationError','Elixir.Ecto.Multi',
                        'Elixir.Ecto.MultiplePrimaryKeyError',
                        'Elixir.Ecto.MultipleResultsError',
                        'Elixir.Ecto.NoPrimaryKeyFieldError',
                        'Elixir.Ecto.NoPrimaryKeyValueError',
                        'Elixir.Ecto.NoResultsError','Elixir.Ecto.Query',
                        'Elixir.Ecto.Query.API',
                        'Elixir.Ecto.Query.BooleanExpr',
                        'Elixir.Ecto.Query.Builder',
                        'Elixir.Ecto.Query.Builder.Combination',
                        'Elixir.Ecto.Query.Builder.Distinct',
                        'Elixir.Ecto.Query.Builder.Dynamic',
                        'Elixir.Ecto.Query.Builder.Filter',
                        'Elixir.Ecto.Query.Builder.From',
                        'Elixir.Ecto.Query.Builder.GroupBy',
                        'Elixir.Ecto.Query.Builder.Join',
                        'Elixir.Ecto.Query.Builder.LimitOffset',
                        'Elixir.Ecto.Query.Builder.Lock',
                        'Elixir.Ecto.Query.Builder.OrderBy',
                        'Elixir.Ecto.Query.Builder.Preload',
                        'Elixir.Ecto.Query.Builder.Select',
                        'Elixir.Ecto.Query.Builder.Update',
                        'Elixir.Ecto.Query.Builder.Windows',
                        'Elixir.Ecto.Query.CastError',
                        'Elixir.Ecto.Query.CompileError',
                        'Elixir.Ecto.Query.DynamicExpr',
                        'Elixir.Ecto.Query.FromExpr',
                        'Elixir.Ecto.Query.JoinExpr',
                        'Elixir.Ecto.Query.Planner',
                        'Elixir.Ecto.Query.QueryExpr',
                        'Elixir.Ecto.Query.SelectExpr',
                        'Elixir.Ecto.Query.Tagged',
                        'Elixir.Ecto.Query.WindowAPI',
                        'Elixir.Ecto.QueryError','Elixir.Ecto.Queryable',
                        'Elixir.Ecto.Queryable.Atom',
                        'Elixir.Ecto.Queryable.BitString',
                        'Elixir.Ecto.Queryable.Ecto.Query',
                        'Elixir.Ecto.Queryable.Ecto.SubQuery',
                        'Elixir.Ecto.Queryable.Tuple','Elixir.Ecto.Repo',
                        'Elixir.Ecto.Repo.Assoc','Elixir.Ecto.Repo.Preloader',
                        'Elixir.Ecto.Repo.Queryable',
                        'Elixir.Ecto.Repo.Registry','Elixir.Ecto.Repo.Schema',
                        'Elixir.Ecto.Repo.Supervisor',
                        'Elixir.Ecto.Repo.Transaction','Elixir.Ecto.Schema',
                        'Elixir.Ecto.Schema.Loader',
                        'Elixir.Ecto.Schema.Metadata',
                        'Elixir.Ecto.StaleEntryError','Elixir.Ecto.SubQuery',
                        'Elixir.Ecto.SubQueryError','Elixir.Ecto.Type',
                        'Elixir.Ecto.UUID',
                        'Elixir.Inspect.Ecto.Association.NotLoaded',
                        'Elixir.Inspect.Ecto.Changeset',
                        'Elixir.Inspect.Ecto.Query',
                        'Elixir.Inspect.Ecto.Query.DynamicExpr',
                        'Elixir.Inspect.Ecto.Schema.Metadata',
                        'Elixir.Mix.Ecto','Elixir.Mix.Tasks.Ecto',
                        'Elixir.Mix.Tasks.Ecto.Create',
                        'Elixir.Mix.Tasks.Ecto.Drop',
                        'Elixir.Mix.Tasks.Ecto.Gen.Repo']},
                   {registered,[]},
                   {applications,[kernel,decimal,crypto,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Ecto.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,phoenix_ecto,
                  [{description,"Integration between Phoenix & Ecto"},
                   {vsn,"4.0.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Phoenix.Ecto',
                        'Elixir.Phoenix.Ecto.SQL.Sandbox',
                        'Elixir.Phoenix.Ecto.SQL.SandboxSession',
                        'Elixir.Phoenix.Ecto.SQL.SandboxSupervisor',
                        'Elixir.Phoenix.HTML.FormData.Ecto.Changeset',
                        'Elixir.Phoenix.HTML.Safe.Decimal',
                        'Elixir.Plug.Exception.Ecto.CastError',
                        'Elixir.Plug.Exception.Ecto.InvalidChangesetError',
                        'Elixir.Plug.Exception.Ecto.NoResultsError',
                        'Elixir.Plug.Exception.Ecto.Query.CastError',
                        'Elixir.Plug.Exception.Ecto.StaleEntryError',
                        'Elixir.Plug.Exception.Ecto.SubQueryError']},
                   {registered,[]},
                   {applications,[kernel,plug,ecto,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{exclude_ecto_exceptions_from_plug,[]}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Phoenix.Ecto',[]}}]}]}},
     {apply,
         {application,load,
             [{application,asn1,
                  [{description,"The Erlang ASN1 compiler version 5.0.5"},
                   {vsn,"5.0.5"},
                   {id,[]},
                   {modules,[asn1rt_nif]},
                   {registered,[asn1_ns,asn1db]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,public_key,
                  [{description,"Public key infrastructure"},
                   {vsn,"1.5.2"},
                   {id,[]},
                   {modules,
                       [public_key,pubkey_pem,pubkey_pbe,pubkey_ssh,
                        pubkey_cert,pubkey_cert_records,pubkey_crl,
                        'OTP-PUB-KEY','PKCS-FRAME']},
                   {registered,[]},
                   {applications,[kernel,asn1,crypto,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,ssl,
                  [{description,"Erlang/OTP SSL application"},
                   {vsn,"8.2.5"},
                   {id,[]},
                   {modules,
                       [tls_connection,tls_handshake,tls_record,tls_socket,
                        tls_v1,ssl_v3,ssl_v2,tls_connection_sup,
                        dtls_connection,dtls_handshake,dtls_record,
                        dtls_socket,dtls_v1,dtls_connection_sup,
                        dtls_udp_listener,dtls_udp_sup,ssl,tls,dtls,
                        ssl_session_cache_api,ssl_config,ssl_connection,
                        ssl_handshake,ssl_record,ssl_cipher,ssl_srp_primes,
                        ssl_alert,ssl_listen_tracker_sup,inet_tls_dist,
                        inet6_tls_dist,ssl_tls_dist_proxy,ssl_dist_sup,
                        ssl_dist_connection_sup,ssl_dist_admin_sup,
                        ssl_session,ssl_session_cache,ssl_manager,
                        ssl_pem_cache,ssl_pkix_db,ssl_certificate,ssl_crl,
                        ssl_crl_cache,ssl_crl_cache_api,ssl_crl_hash_dir,
                        ssl_app,ssl_sup,ssl_admin_sup,ssl_connection_sup]},
                   {registered,[ssl_sup,ssl_manager]},
                   {applications,[kernel,public_key,crypto,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{ssl_app,[]}}]}]}},
     {apply,
         {application,load,
             [{application,ranch,
                  [{description,"Socket acceptor pool for TCP protocols."},
                   {vsn,"1.7.1"},
                   {id,[]},
                   {modules,
                       [ranch,ranch_acceptor,ranch_acceptors_sup,ranch_app,
                        ranch_conns_sup,ranch_crc32c,ranch_listener_sup,
                        ranch_protocol,ranch_proxy_header,ranch_server,
                        ranch_ssl,ranch_sup,ranch_tcp,ranch_transport]},
                   {registered,[ranch_sup,ranch_server]},
                   {applications,[kernel,ssl,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{ranch_app,[]}}]}]}},
     {apply,
         {application,load,
             [{application,cowlib,
                  [{description,
                       "Support library for manipulating Web protocols."},
                   {vsn,"2.7.3"},
                   {id,[]},
                   {modules,
                       [cow_base64url,cow_cookie,cow_date,cow_hpack,cow_http,
                        cow_http2,cow_http2_machine,cow_http_hd,cow_http_te,
                        cow_iolists,cow_mimetypes,cow_multipart,cow_qs,
                        cow_spdy,cow_sse,cow_uri,cow_ws]},
                   {registered,[]},
                   {applications,[kernel,crypto,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,cowboy,
                  [{description,"Small, fast, modern HTTP server."},
                   {vsn,"2.6.3"},
                   {id,[]},
                   {modules,
                       [cowboy,cowboy_app,cowboy_bstr,cowboy_children,
                        cowboy_clear,cowboy_clock,cowboy_compress_h,
                        cowboy_constraints,cowboy_handler,cowboy_http,
                        cowboy_http2,cowboy_loop,cowboy_metrics_h,
                        cowboy_middleware,cowboy_req,cowboy_rest,
                        cowboy_router,cowboy_static,cowboy_stream,
                        cowboy_stream_h,cowboy_sub_protocol,cowboy_sup,
                        cowboy_tls,cowboy_tracer_h,cowboy_websocket]},
                   {registered,[cowboy_sup,cowboy_clock]},
                   {applications,[kernel,ranch,cowlib,crypto,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{cowboy_app,[]}}]}]}},
     {apply,
         {application,load,
             [{application,plug_cowboy,
                  [{description,"A Plug adapter for Cowboy"},
                   {vsn,"2.0.2"},
                   {id,[]},
                   {modules,
                       ['Elixir.Plug.Cowboy','Elixir.Plug.Cowboy.Conn',
                        'Elixir.Plug.Cowboy.Handler',
                        'Elixir.Plug.Cowboy.Stream',
                        'Elixir.Plug.Cowboy.Translator']},
                   {registered,[]},
                   {applications,[kernel,plug,cowboy,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Plug.Cowboy',[]}}]}]}},
     {apply,
         {application,load,
             [{application,artificery,
                  [{description,
                       "A toolkit for terminal user interfaces in Elixir"},
                   {vsn,"0.4.2"},
                   {id,[]},
                   {modules,
                       ['Elixir.Artificery','Elixir.Artificery.Command',
                        'Elixir.Artificery.Console',
                        'Elixir.Artificery.Console.Color',
                        'Elixir.Artificery.Console.Color.ANSI',
                        'Elixir.Artificery.Console.Events',
                        'Elixir.Artificery.Console.Prompt',
                        'Elixir.Artificery.Console.Spinner',
                        'Elixir.Artificery.Console.Table',
                        'Elixir.Artificery.Entry','Elixir.Artificery.Option']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,runtime_tools,
                  [{description,"RUNTIME_TOOLS"},
                   {vsn,"1.12.5"},
                   {id,[]},
                   {modules,
                       [appmon_info,dbg,observer_backend,runtime_tools,
                        runtime_tools_sup,erts_alloc_config,ttb_autostart,
                        dyntrace,system_information,msacc]},
                   {registered,[runtime_tools_sup]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{runtime_tools,[]}}]}]}},
     {apply,
         {application,load,
             [{application,distillery,
                  [{description,
                       "Build releases of your Mix projects with ease!\n"},
                   {vsn,"2.0.14"},
                   {id,[]},
                   {modules,
                       ['Elixir.Distillery.Cookies','Elixir.Mix.Releases.App',
                        'Elixir.Mix.Releases.Appup',
                        'Elixir.Mix.Releases.Appup.Transform',
                        'Elixir.Mix.Releases.Appup.TransformError',
                        'Elixir.Mix.Releases.Appup.Utils',
                        'Elixir.Mix.Releases.Archiver',
                        'Elixir.Mix.Releases.Archiver.Archive',
                        'Elixir.Mix.Releases.Assembler',
                        'Elixir.Mix.Releases.BootScript',
                        'Elixir.Mix.Releases.Checks',
                        'Elixir.Mix.Releases.Checks.Cookie',
                        'Elixir.Mix.Releases.Checks.Erts',
                        'Elixir.Mix.Releases.Checks.LoadedOrphanedApps',
                        'Elixir.Mix.Releases.Config',
                        'Elixir.Mix.Releases.Config.LoadError',
                        'Elixir.Mix.Releases.Config.Provider',
                        'Elixir.Mix.Releases.Config.Providers.Elixir',
                        'Elixir.Mix.Releases.Environment',
                        'Elixir.Mix.Releases.Errors',
                        'Elixir.Mix.Releases.Overlays',
                        'Elixir.Mix.Releases.Plugin',
                        'Elixir.Mix.Releases.Profile',
                        'Elixir.Mix.Releases.Release',
                        'Elixir.Mix.Releases.Runtime.Control',
                        'Elixir.Mix.Releases.Runtime.Pidfile',
                        'Elixir.Mix.Releases.Shell',
                        'Elixir.Mix.Releases.Shell.Macros',
                        'Elixir.Mix.Releases.Utils',
                        'Elixir.Mix.Tasks.Release',
                        'Elixir.Mix.Tasks.Release.Clean',
                        'Elixir.Mix.Tasks.Release.Gen.Appup',
                        'Elixir.Mix.Tasks.Release.Init',
                        'Elixir.Mix.Tasks.Release.Init.MixMock',
                        'Elixir.Mix.Tasks.Release.Init.MixMock.Project']},
                   {registered,[]},
                   {applications,
                       [kernel,artificery,runtime_tools,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,connection,
                  [{description,
                       "Connection behaviour for connection processes\n"},
                   {vsn,"1.0.4"},
                   {id,[]},
                   {modules,['Elixir.Connection']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,db_connection,
                  [{description,
                       "Database connection behaviour for database transactions and connection pooling\n"},
                   {vsn,"2.0.6"},
                   {id,[]},
                   {modules,
                       ['Elixir.DBConnection','Elixir.DBConnection.App',
                        'Elixir.DBConnection.Backoff',
                        'Elixir.DBConnection.Connection',
                        'Elixir.DBConnection.ConnectionError',
                        'Elixir.DBConnection.ConnectionPool',
                        'Elixir.DBConnection.ConnectionPool.Pool',
                        'Elixir.DBConnection.ConnectionPool.PoolSupervisor',
                        'Elixir.DBConnection.EncodeError',
                        'Elixir.DBConnection.Holder',
                        'Elixir.DBConnection.LogEntry',
                        'Elixir.DBConnection.Ownership',
                        'Elixir.DBConnection.Ownership.Manager',
                        'Elixir.DBConnection.Ownership.Proxy',
                        'Elixir.DBConnection.Ownership.ProxySupervisor',
                        'Elixir.DBConnection.OwnershipError',
                        'Elixir.DBConnection.PrepareStream',
                        'Elixir.DBConnection.Query',
                        'Elixir.DBConnection.Stream',
                        'Elixir.DBConnection.Task',
                        'Elixir.DBConnection.TransactionError',
                        'Elixir.DBConnection.Watcher',
                        'Elixir.Enumerable.DBConnection.PrepareStream',
                        'Elixir.Enumerable.DBConnection.Stream']},
                   {registered,[]},
                   {applications,[kernel,connection,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.DBConnection.App',[]}}]}]}},
     {apply,
         {application,load,
             [{application,mariaex,
                  [{description,
                       "Pure elixir database driver for MariaDB / MySQL."},
                   {vsn,"0.9.1"},
                   {id,[]},
                   {modules,
                       ['Elixir.DBConnection.Query.Mariaex.Query',
                        'Elixir.Mariaex','Elixir.Mariaex.Cache',
                        'Elixir.Mariaex.Coder','Elixir.Mariaex.Coder.Utils',
                        'Elixir.Mariaex.Column','Elixir.Mariaex.Connection',
                        'Elixir.Mariaex.Connection.Socket',
                        'Elixir.Mariaex.Connection.Ssl',
                        'Elixir.Mariaex.Connection.Tcp',
                        'Elixir.Mariaex.Cursor','Elixir.Mariaex.Error',
                        'Elixir.Mariaex.Geometry.LineString',
                        'Elixir.Mariaex.Geometry.Point',
                        'Elixir.Mariaex.Geometry.Polygon',
                        'Elixir.Mariaex.LruCache','Elixir.Mariaex.Messages',
                        'Elixir.Mariaex.Protocol',
                        'Elixir.Mariaex.ProtocolHelper',
                        'Elixir.Mariaex.Query','Elixir.Mariaex.Result',
                        'Elixir.Mariaex.RowParser',
                        'Elixir.String.Chars.Mariaex.Query']},
                   {registered,[]},
                   {applications,
                       [kernel,db_connection,decimal,crypto,logger,stdlib,
                        elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,eex,
                  [{description,"eex"},
                   {vsn,"1.6.3"},
                   {id,[]},
                   {modules,
                       ['Elixir.EEx','Elixir.EEx.Compiler',
                        'Elixir.EEx.Engine','Elixir.EEx.SmartEngine',
                        'Elixir.EEx.SyntaxError','Elixir.EEx.Tokenizer']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,phoenix_pubsub,
                  [{description,"Distributed PubSub and Presence platform"},
                   {vsn,"1.1.2"},
                   {id,[]},
                   {modules,
                       ['Elixir.Phoenix.PubSub',
                        'Elixir.Phoenix.PubSub.BroadcastError',
                        'Elixir.Phoenix.PubSub.GC',
                        'Elixir.Phoenix.PubSub.Local',
                        'Elixir.Phoenix.PubSub.LocalSupervisor',
                        'Elixir.Phoenix.PubSub.PG2',
                        'Elixir.Phoenix.PubSub.PG2Server',
                        'Elixir.Phoenix.PubSub.Supervisor',
                        'Elixir.Phoenix.Tracker',
                        'Elixir.Phoenix.Tracker.Clock',
                        'Elixir.Phoenix.Tracker.DeltaGeneration',
                        'Elixir.Phoenix.Tracker.Replica',
                        'Elixir.Phoenix.Tracker.Shard',
                        'Elixir.Phoenix.Tracker.State']},
                   {registered,[]},
                   {applications,[kernel,crypto,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Phoenix.PubSub.Supervisor',[]}}]}]}},
     {apply,
         {application,load,
             [{application,phoenix,
                  [{description,
                       "Productive. Reliable. Fast. A productive web framework that\ndoes not compromise speed or maintainability.\n"},
                   {vsn,"1.4.6"},
                   {id,[]},
                   {modules,
                       ['Elixir.Mix.Phoenix','Elixir.Mix.Phoenix.Context',
                        'Elixir.Mix.Phoenix.Schema',
                        'Elixir.Mix.Tasks.Compile.Phoenix',
                        'Elixir.Mix.Tasks.Phx','Elixir.Mix.Tasks.Phx.Digest',
                        'Elixir.Mix.Tasks.Phx.Digest.Clean',
                        'Elixir.Mix.Tasks.Phx.Gen.Cert',
                        'Elixir.Mix.Tasks.Phx.Gen.Channel',
                        'Elixir.Mix.Tasks.Phx.Gen.Context',
                        'Elixir.Mix.Tasks.Phx.Gen.Embedded',
                        'Elixir.Mix.Tasks.Phx.Gen.Html',
                        'Elixir.Mix.Tasks.Phx.Gen.Json',
                        'Elixir.Mix.Tasks.Phx.Gen.Presence',
                        'Elixir.Mix.Tasks.Phx.Gen.Schema',
                        'Elixir.Mix.Tasks.Phx.Gen.Secret',
                        'Elixir.Mix.Tasks.Phx.Routes',
                        'Elixir.Mix.Tasks.Phx.Server','Elixir.Phoenix',
                        'Elixir.Phoenix.ActionClauseError',
                        'Elixir.Phoenix.Channel',
                        'Elixir.Phoenix.Channel.Server',
                        'Elixir.Phoenix.ChannelTest',
                        'Elixir.Phoenix.ChannelTest.NoopSerializer',
                        'Elixir.Phoenix.CodeReloader',
                        'Elixir.Phoenix.CodeReloader.Proxy',
                        'Elixir.Phoenix.CodeReloader.Server',
                        'Elixir.Phoenix.Config','Elixir.Phoenix.ConnTest',
                        'Elixir.Phoenix.Controller',
                        'Elixir.Phoenix.Controller.Pipeline',
                        'Elixir.Phoenix.Digester','Elixir.Phoenix.Endpoint',
                        'Elixir.Phoenix.Endpoint.Cowboy2Adapter',
                        'Elixir.Phoenix.Endpoint.Cowboy2Handler',
                        'Elixir.Phoenix.Endpoint.CowboyAdapter',
                        'Elixir.Phoenix.Endpoint.CowboyWebSocket',
                        'Elixir.Phoenix.Endpoint.Instrument',
                        'Elixir.Phoenix.Endpoint.RenderErrors',
                        'Elixir.Phoenix.Endpoint.Supervisor',
                        'Elixir.Phoenix.Endpoint.Watcher',
                        'Elixir.Phoenix.Logger',
                        'Elixir.Phoenix.MissingParamError',
                        'Elixir.Phoenix.Naming',
                        'Elixir.Phoenix.NotAcceptableError',
                        'Elixir.Phoenix.Param','Elixir.Phoenix.Param.Any',
                        'Elixir.Phoenix.Param.Atom',
                        'Elixir.Phoenix.Param.BitString',
                        'Elixir.Phoenix.Param.Integer',
                        'Elixir.Phoenix.Param.Map','Elixir.Phoenix.Presence',
                        'Elixir.Phoenix.Router',
                        'Elixir.Phoenix.Router.ConsoleFormatter',
                        'Elixir.Phoenix.Router.Helpers',
                        'Elixir.Phoenix.Router.NoRouteError',
                        'Elixir.Phoenix.Router.Resource',
                        'Elixir.Phoenix.Router.Route',
                        'Elixir.Phoenix.Router.Scope','Elixir.Phoenix.Socket',
                        'Elixir.Phoenix.Socket.Broadcast',
                        'Elixir.Phoenix.Socket.InvalidMessageError',
                        'Elixir.Phoenix.Socket.Message',
                        'Elixir.Phoenix.Socket.PoolSupervisor',
                        'Elixir.Phoenix.Socket.Reply',
                        'Elixir.Phoenix.Socket.Serializer',
                        'Elixir.Phoenix.Socket.Transport',
                        'Elixir.Phoenix.Socket.V1.JSONSerializer',
                        'Elixir.Phoenix.Socket.V2.JSONSerializer',
                        'Elixir.Phoenix.Template',
                        'Elixir.Phoenix.Template.EExEngine',
                        'Elixir.Phoenix.Template.Engine',
                        'Elixir.Phoenix.Template.ExsEngine',
                        'Elixir.Phoenix.Template.HTML',
                        'Elixir.Phoenix.Template.UndefinedError',
                        'Elixir.Phoenix.Token',
                        'Elixir.Phoenix.Transports.LongPoll',
                        'Elixir.Phoenix.Transports.LongPoll.Server',
                        'Elixir.Phoenix.Transports.LongPoll.Supervisor',
                        'Elixir.Phoenix.Transports.WebSocket',
                        'Elixir.Phoenix.View',
                        'Elixir.Plug.Exception.Phoenix.ActionClauseError']},
                   {registered,[]},
                   {applications,
                       [kernel,eex,plug,phoenix_pubsub,crypto,logger,stdlib,
                        elixir]},
                   {included_applications,[]},
                   {env,
                       [{stacktrace_depth,nil},
                        {template_engines,[]},
                        {format_encoders,[]},
                        {filter_parameters,[<<"password">>]},
                        {serve_endpoints,false},
                        {gzippable_exts,
                            [<<".js">>,<<".css">>,<<".txt">>,<<".text">>,
                             <<".html">>,<<".json">>,<<".svg">>,<<".eot">>,
                             <<".ttf">>]}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Phoenix',[]}}]}]}},
     {apply,
         {application,load,
             [{application,libring,
                  [{description,
                       "A fast consistent hash ring implementation in Elixir"},
                   {vsn,"1.4.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.HashRing','Elixir.HashRing.App',
                        'Elixir.HashRing.Managed','Elixir.HashRing.Utils',
                        'Elixir.HashRing.Worker','Elixir.Inspect.HashRing']},
                   {registered,[]},
                   {applications,[kernel,crypto,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.HashRing.App',[]}}]}]}},
     {apply,
         {application,load,
             [{application,phoenix_html,
                  [{description,
                       "Phoenix view functions for working with HTML templates"},
                   {vsn,"2.13.2"},
                   {id,[]},
                   {modules,
                       ['Elixir.Phoenix.HTML','Elixir.Phoenix.HTML.Engine',
                        'Elixir.Phoenix.HTML.Form',
                        'Elixir.Phoenix.HTML.FormData',
                        'Elixir.Phoenix.HTML.FormData.Plug.Conn',
                        'Elixir.Phoenix.HTML.Format',
                        'Elixir.Phoenix.HTML.Link','Elixir.Phoenix.HTML.Safe',
                        'Elixir.Phoenix.HTML.Safe.Atom',
                        'Elixir.Phoenix.HTML.Safe.BitString',
                        'Elixir.Phoenix.HTML.Safe.Date',
                        'Elixir.Phoenix.HTML.Safe.DateTime',
                        'Elixir.Phoenix.HTML.Safe.Float',
                        'Elixir.Phoenix.HTML.Safe.Integer',
                        'Elixir.Phoenix.HTML.Safe.List',
                        'Elixir.Phoenix.HTML.Safe.NaiveDateTime',
                        'Elixir.Phoenix.HTML.Safe.Phoenix.HTML.Form',
                        'Elixir.Phoenix.HTML.Safe.Time',
                        'Elixir.Phoenix.HTML.Safe.Tuple',
                        'Elixir.Phoenix.HTML.Tag']},
                   {registered,[]},
                   {applications,[kernel,plug,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,telemetry,
                  [{description,
                       "Dynamic dispatching library for metrics and instrumentations"},
                   {vsn,"0.4.0"},
                   {id,[]},
                   {modules,
                       [telemetry,telemetry_app,telemetry_handler_table,
                        telemetry_sup]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{telemetry_app,[]}}]}]}},
     {apply,
         {application,load,
             [{application,ecto_sql,
                  [{description,
                       "SQL-based adapters for Ecto and database migrations"},
                   {vsn,"3.1.2"},
                   {id,[]},
                   {modules,
                       ['Elixir.Collectable.Ecto.Adapters.SQL.Stream',
                        'Elixir.Ecto.Adapter.Migration',
                        'Elixir.Ecto.Adapter.Structure',
                        'Elixir.Ecto.Adapters.MySQL',
                        'Elixir.Ecto.Adapters.MySQL.Connection',
                        'Elixir.Ecto.Adapters.MyXQL',
                        'Elixir.Ecto.Adapters.Postgres',
                        'Elixir.Ecto.Adapters.SQL',
                        'Elixir.Ecto.Adapters.SQL.Application',
                        'Elixir.Ecto.Adapters.SQL.Connection',
                        'Elixir.Ecto.Adapters.SQL.Sandbox',
                        'Elixir.Ecto.Adapters.SQL.Sandbox.Connection',
                        'Elixir.Ecto.Adapters.SQL.Stream',
                        'Elixir.Ecto.Migration',
                        'Elixir.Ecto.Migration.Command',
                        'Elixir.Ecto.Migration.Constraint',
                        'Elixir.Ecto.Migration.Index',
                        'Elixir.Ecto.Migration.Reference',
                        'Elixir.Ecto.Migration.Runner',
                        'Elixir.Ecto.Migration.SchemaMigration',
                        'Elixir.Ecto.Migration.Supervisor',
                        'Elixir.Ecto.Migration.Table','Elixir.Ecto.Migrator',
                        'Elixir.Enumerable.Ecto.Adapters.SQL.Stream',
                        'Elixir.Mix.EctoSQL','Elixir.Mix.Tasks.Ecto.Dump',
                        'Elixir.Mix.Tasks.Ecto.Gen.Migration',
                        'Elixir.Mix.Tasks.Ecto.Load',
                        'Elixir.Mix.Tasks.Ecto.Migrate',
                        'Elixir.Mix.Tasks.Ecto.Migrations',
                        'Elixir.Mix.Tasks.Ecto.Rollback']},
                   {registered,[]},
                   {applications,
                       [kernel,db_connection,ecto,telemetry,logger,stdlib,
                        elixir]},
                   {included_applications,[]},
                   {env,[{postgres_map_type,<<"jsonb">>}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Ecto.Adapters.SQL.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,gen_stage,
                  [{description,
                       "Producer and consumer pipelines with back-pressure for Elixir"},
                   {vsn,"0.14.1"},
                   {id,[]},
                   {modules,
                       ['Elixir.ConsumerSupervisor',
                        'Elixir.ConsumerSupervisor.Default','Elixir.GenStage',
                        'Elixir.GenStage.BroadcastDispatcher',
                        'Elixir.GenStage.Buffer',
                        'Elixir.GenStage.DemandDispatcher',
                        'Elixir.GenStage.Dispatcher',
                        'Elixir.GenStage.PartitionDispatcher',
                        'Elixir.GenStage.Stream','Elixir.GenStage.Streamer',
                        'Elixir.GenStage.Utils']},
                   {registered,[]},
                   {applications,[kernel,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,crontab,
                  [{description,
                       "Parse Cron Format Strings, Write Cron Format Strings and Calculate Execution Dates.\n"},
                   {vsn,"1.1.5"},
                   {id,[]},
                   {modules,
                       ['Elixir.Crontab.CronExpression',
                        'Elixir.Crontab.CronExpression.Composer',
                        'Elixir.Crontab.CronExpression.Ecto.Type',
                        'Elixir.Crontab.CronExpression.Parser',
                        'Elixir.Crontab.DateChecker',
                        'Elixir.Crontab.DateHelper',
                        'Elixir.Crontab.Scheduler',
                        'Elixir.Inspect.Crontab.CronExpression']},
                   {registered,[]},
                   {applications,[kernel,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,gen_state_machine,
                  [{description,"An Elixir wrapper for gen_statem."},
                   {vsn,"2.0.5"},
                   {id,[]},
                   {modules,
                       ['Elixir.GenStateMachine',
                        'Elixir.GenStateMachine.Application',
                        'Elixir.GenStateMachine.Translator']},
                   {registered,[]},
                   {applications,[kernel,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.GenStateMachine.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,swarm,
                  [{description,
                       "A fast, multi-master, distributed global process registry, with automatic distribution of worker processes."},
                   {vsn,"3.4.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Swarm','Elixir.Swarm.App',
                        'Elixir.Swarm.Distribution.Ring',
                        'Elixir.Swarm.Distribution.StaticQuorumRing',
                        'Elixir.Swarm.Distribution.Strategy',
                        'Elixir.Swarm.Entry','Elixir.Swarm.IntervalTreeClock',
                        'Elixir.Swarm.Logger','Elixir.Swarm.Registry',
                        'Elixir.Swarm.Tracker',
                        'Elixir.Swarm.Tracker.TrackerState',
                        'Elixir.Swarm.Tracker.Tracking',swarm]},
                   {registered,[]},
                   {applications,
                       [kernel,libring,gen_state_machine,crypto,logger,stdlib,
                        elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Swarm',[]}}]}]}},
     {apply,
         {application,load,
             [{application,quantum,
                  [{description,"Cron-like job scheduler for Elixir."},
                   {vsn,"2.3.4"},
                   {id,[]},
                   {modules,
                       ['Elixir.Quantum','Elixir.Quantum.Application',
                        'Elixir.Quantum.ClusterTaskSupervisorRegistry',
                        'Elixir.Quantum.ClusterTaskSupervisorRegistry.InitOpts',
                        'Elixir.Quantum.ClusterTaskSupervisorRegistry.StartOpts',
                        'Elixir.Quantum.ClusterTaskSupervisorRegistry.State',
                        'Elixir.Quantum.DateLibrary',
                        'Elixir.Quantum.DateLibrary.InvalidDateTimeForTimezoneError',
                        'Elixir.Quantum.DateLibrary.InvalidTimezoneError',
                        'Elixir.Quantum.DateLibrary.Timex',
                        'Elixir.Quantum.ExecutionBroadcaster',
                        'Elixir.Quantum.ExecutionBroadcaster.InitOpts',
                        'Elixir.Quantum.ExecutionBroadcaster.JobInPastError',
                        'Elixir.Quantum.ExecutionBroadcaster.StartOpts',
                        'Elixir.Quantum.ExecutionBroadcaster.State',
                        'Elixir.Quantum.Executor',
                        'Elixir.Quantum.Executor.StartOpts',
                        'Elixir.Quantum.ExecutorSupervisor',
                        'Elixir.Quantum.ExecutorSupervisor.InitOpts',
                        'Elixir.Quantum.ExecutorSupervisor.StartOpts',
                        'Elixir.Quantum.Job','Elixir.Quantum.JobBroadcaster',
                        'Elixir.Quantum.JobBroadcaster.InitOpts',
                        'Elixir.Quantum.JobBroadcaster.StartOpts',
                        'Elixir.Quantum.JobBroadcaster.State',
                        'Elixir.Quantum.Normalizer',
                        'Elixir.Quantum.RunStrategy',
                        'Elixir.Quantum.RunStrategy.All',
                        'Elixir.Quantum.RunStrategy.Local',
                        'Elixir.Quantum.RunStrategy.NodeList',
                        'Elixir.Quantum.RunStrategy.NodeList.Quantum.RunStrategy.All',
                        'Elixir.Quantum.RunStrategy.NodeList.Quantum.RunStrategy.Local',
                        'Elixir.Quantum.RunStrategy.NodeList.Quantum.RunStrategy.Random',
                        'Elixir.Quantum.RunStrategy.Random',
                        'Elixir.Quantum.Scheduler',
                        'Elixir.Quantum.Storage.Adapter',
                        'Elixir.Quantum.Storage.Noop',
                        'Elixir.Quantum.Supervisor',
                        'Elixir.Quantum.TaskRegistry',
                        'Elixir.Quantum.TaskRegistry.InitOpts',
                        'Elixir.Quantum.TaskRegistry.StartOpts',
                        'Elixir.Quantum.TaskRegistry.State',
                        'Elixir.Quantum.Util']},
                   {registered,[]},
                   {applications,
                       [kernel,gen_stage,crontab,swarm,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Quantum.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,uuid,
                  [{description,"UUID generator and utilities for Elixir.\n"},
                   {vsn,"1.1.8"},
                   {id,[]},
                   {modules,['Elixir.UUID']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,metrics,
                  [{description,
                       "A generic interface to different metrics systems in Erlang."},
                   {vsn,"1.0.1"},
                   {id,[]},
                   {modules,
                       [metrics,metrics_dummy,metrics_exometer,
                        metrics_folsom]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,ssl_verify_fun,
                  [{description,"SSL verification functions for Erlang\n"},
                   {vsn,"1.1.4"},
                   {id,[]},
                   {modules,
                       [ssl_verify_fingerprint,ssl_verify_fun_cert_helpers,
                        ssl_verify_fun_encodings,ssl_verify_hostname,
                        ssl_verify_pk,ssl_verify_string,ssl_verify_util]},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,certifi,
                  [{description,
                       "CA bundle adapted from Mozilla by https://certifi.io"},
                   {vsn,"2.5.1"},
                   {id,[]},
                   {modules,[certifi]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,mimerl,
                  [{description,"Library to handle mimetypes"},
                   {vsn,"1.2.0"},
                   {id,[]},
                   {modules,[mimerl]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,unicode_util_compat,
                  [{description,
                       "unicode_util compatibility library for Erlang < 20"},
                   {vsn,"0.4.1"},
                   {id,[]},
                   {modules,[unicode_util_compat]},
                   {registered,[]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,idna,
                  [{description,"A pure Erlang IDNA implementation"},
                   {vsn,"6.0.0"},
                   {id,[]},
                   {modules,
                       [idna,idna_bidi,idna_context,idna_data,idna_mapping,
                        idna_table,idna_ucs,punycode]},
                   {registered,[]},
                   {applications,[kernel,unicode_util_compat,stdlib]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,hackney,
                  [{description,"simple HTTP client"},
                   {vsn,"1.15.1"},
                   {id,[]},
                   {modules,
                       [hackney,hackney_app,hackney_bstr,hackney_connect,
                        hackney_cookie,hackney_date,hackney_headers,
                        hackney_headers_new,hackney_http,hackney_http_connect,
                        hackney_local_tcp,hackney_manager,hackney_metrics,
                        hackney_multipart,hackney_pool,hackney_pool_handler,
                        hackney_request,hackney_response,hackney_socks5,
                        hackney_ssl,hackney_stream,hackney_sup,hackney_tcp,
                        hackney_trace,hackney_url,hackney_util]},
                   {registered,[hackney_pool]},
                   {applications,
                       [kernel,metrics,ssl_verify_fun,certifi,mimerl,idna,ssl,
                        public_key,asn1,crypto,stdlib]},
                   {included_applications,[]},
                   {env,
                       [{timeout,150000},
                        {max_connections,50},
                        {restart,permanent},
                        {shutdown,10000},
                        {maxr,10},
                        {maxt,1}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{hackney_app,[]}}]}]}},
     {apply,
         {application,load,
             [{application,httpoison,
                  [{description,
                       "  Yet Another HTTP client for Elixir powered by hackney\n"},
                   {vsn,"1.5.1"},
                   {id,[]},
                   {modules,
                       ['Elixir.HTTPoison','Elixir.HTTPoison.AsyncChunk',
                        'Elixir.HTTPoison.AsyncEnd',
                        'Elixir.HTTPoison.AsyncHeaders',
                        'Elixir.HTTPoison.AsyncRedirect',
                        'Elixir.HTTPoison.AsyncResponse',
                        'Elixir.HTTPoison.AsyncStatus',
                        'Elixir.HTTPoison.Base','Elixir.HTTPoison.Error',
                        'Elixir.HTTPoison.Handlers.Multipart',
                        'Elixir.HTTPoison.Request',
                        'Elixir.HTTPoison.Response']},
                   {registered,[]},
                   {applications,[kernel,hackney,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,jwt_claims,
                  [{description,
                       "Elixir implementation of JWT registered claims, RFC 7519"},
                   {vsn,"0.0.4"},
                   {id,[]},
                   {modules,
                       ['Elixir.JwtClaims','Elixir.JwtClaims.Claim.Aud',
                        'Elixir.JwtClaims.Claim.Exp',
                        'Elixir.JwtClaims.Claim.Iat',
                        'Elixir.JwtClaims.Claim.Iss',
                        'Elixir.JwtClaims.Claim.Jti',
                        'Elixir.JwtClaims.Claim.Nbf',
                        'Elixir.JwtClaims.Claim.Sub',
                        'Elixir.JwtClaims.StringOrUri',
                        'Elixir.JwtClaims.Util',
                        'Elixir.JwtClaims.Validation']},
                   {registered,[]},
                   {applications,[kernel,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,poison,
                  [{description,
                       "An incredibly fast, pure Elixir JSON library"},
                   {vsn,"3.1.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Poison','Elixir.Poison.Decode',
                        'Elixir.Poison.Decoder','Elixir.Poison.Decoder.Any',
                        'Elixir.Poison.Encode','Elixir.Poison.EncodeError',
                        'Elixir.Poison.Encoder','Elixir.Poison.Encoder.Any',
                        'Elixir.Poison.Encoder.Atom',
                        'Elixir.Poison.Encoder.BitString',
                        'Elixir.Poison.Encoder.Date',
                        'Elixir.Poison.Encoder.DateTime',
                        'Elixir.Poison.Encoder.Float',
                        'Elixir.Poison.Encoder.HashSet',
                        'Elixir.Poison.Encoder.Integer',
                        'Elixir.Poison.Encoder.List',
                        'Elixir.Poison.Encoder.Map',
                        'Elixir.Poison.Encoder.MapSet',
                        'Elixir.Poison.Encoder.NaiveDateTime',
                        'Elixir.Poison.Encoder.Range',
                        'Elixir.Poison.Encoder.Stream',
                        'Elixir.Poison.Encoder.Time','Elixir.Poison.Parser',
                        'Elixir.Poison.Pretty','Elixir.Poison.SyntaxError']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,logger_file_backend,
                  [{description,"Simple logger backend that writes to a file"},
                   {vsn,"0.0.10"},
                   {id,[]},
                   {modules,['Elixir.LoggerFileBackend']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,json_web_token,
                  [{description,
                       "Elixir implementation of the JSON Web Token (JWT), RFC 7519"},
                   {vsn,"0.2.10"},
                   {id,[]},
                   {modules,
                       ['Elixir.JsonWebToken',
                        'Elixir.JsonWebToken.Algorithm.Common',
                        'Elixir.JsonWebToken.Algorithm.Ecdsa',
                        'Elixir.JsonWebToken.Algorithm.EcdsaUtil',
                        'Elixir.JsonWebToken.Algorithm.Hmac',
                        'Elixir.JsonWebToken.Algorithm.Rsa',
                        'Elixir.JsonWebToken.Algorithm.RsaUtil',
                        'Elixir.JsonWebToken.Jwa','Elixir.JsonWebToken.Jws',
                        'Elixir.JsonWebToken.Jwt','Elixir.JsonWebToken.Util']},
                   {registered,[]},
                   {applications,
                       [kernel,public_key,crypto,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,combine,
                  [{description,
                       "A parser combinator library for Elixir projects."},
                   {vsn,"0.10.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Combine','Elixir.Combine.Helpers',
                        'Elixir.Combine.ParserState',
                        'Elixir.Combine.Parsers.Base',
                        'Elixir.Combine.Parsers.Binary',
                        'Elixir.Combine.Parsers.Text']},
                   {registered,[]},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity}]}]}},
     {apply,
         {application,load,
             [{application,gettext,
                  [{description,
                       "Internationalization and localization through gettext"},
                   {vsn,"0.16.1"},
                   {id,[]},
                   {modules,
                       ['Elixir.Gettext','Elixir.Gettext.Application',
                        'Elixir.Gettext.Backend','Elixir.Gettext.Compiler',
                        'Elixir.Gettext.Error','Elixir.Gettext.Extractor',
                        'Elixir.Gettext.ExtractorAgent',
                        'Elixir.Gettext.Fuzzy','Elixir.Gettext.Interpolation',
                        'Elixir.Gettext.Merger',
                        'Elixir.Gettext.MissingBindingsError',
                        'Elixir.Gettext.PO','Elixir.Gettext.PO.Parser',
                        'Elixir.Gettext.PO.PluralTranslation',
                        'Elixir.Gettext.PO.SyntaxError',
                        'Elixir.Gettext.PO.Tokenizer',
                        'Elixir.Gettext.PO.Translation',
                        'Elixir.Gettext.PO.Translations',
                        'Elixir.Gettext.Plural',
                        'Elixir.Gettext.Plural.UnknownLocaleError',
                        'Elixir.Mix.Tasks.Compile.Gettext',
                        'Elixir.Mix.Tasks.Gettext.Extract',
                        'Elixir.Mix.Tasks.Gettext.Merge',gettext_po_parser]},
                   {registered,[]},
                   {applications,[kernel,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{default_locale,<<"en">>}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Gettext.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,tzdata,
                  [{description,
                       "Tzdata is a parser and library for the tz database.\n"},
                   {vsn,"0.5.20"},
                   {id,[]},
                   {modules,
                       ['Elixir.Tzdata','Elixir.Tzdata.App',
                        'Elixir.Tzdata.BasicDataMap',
                        'Elixir.Tzdata.DataBuilder',
                        'Elixir.Tzdata.DataLoader','Elixir.Tzdata.EtsHolder',
                        'Elixir.Tzdata.FarFutureDynamicPeriods',
                        'Elixir.Tzdata.LeapSecParser','Elixir.Tzdata.Parser',
                        'Elixir.Tzdata.ParserOrganizer',
                        'Elixir.Tzdata.PeriodBuilder',
                        'Elixir.Tzdata.ReleaseReader',
                        'Elixir.Tzdata.ReleaseUpdater',
                        'Elixir.Tzdata.TableData','Elixir.Tzdata.TableParser',
                        'Elixir.Tzdata.Util']},
                   {registered,[]},
                   {applications,[kernel,hackney,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{autoupdate,enabled},{data_dir,nil}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Tzdata.App',[]}}]}]}},
     {apply,
         {application,load,
             [{application,timex,
                  [{description,
                       "Timex is a rich, comprehensive Date/Time library for Elixir projects, with full timezone support via the :tzdata package.\nIf you need to manipulate dates, times, datetimes, timestamps, etc., then Timex is for you!\n"},
                   {vsn,"3.5.0"},
                   {id,[]},
                   {modules,
                       ['Elixir.Enumerable.Timex.Interval',
                        'Elixir.Inspect.Timex.AmbiguousDateTime',
                        'Elixir.Inspect.Timex.AmbiguousTimezoneInfo',
                        'Elixir.Inspect.Timex.Duration',
                        'Elixir.Inspect.Timex.TimezoneInfo','Elixir.Timex',
                        'Elixir.Timex.AmbiguousDateTime',
                        'Elixir.Timex.AmbiguousTimezoneInfo',
                        'Elixir.Timex.Calendar.Julian',
                        'Elixir.Timex.Comparable',
                        'Elixir.Timex.Comparable.Date',
                        'Elixir.Timex.Comparable.DateTime',
                        'Elixir.Timex.Comparable.Diff',
                        'Elixir.Timex.Comparable.NaiveDateTime',
                        'Elixir.Timex.Comparable.Timex.AmbiguousDateTime',
                        'Elixir.Timex.Comparable.Tuple',
                        'Elixir.Timex.Comparable.Utils',
                        'Elixir.Timex.Constants','Elixir.Timex.Convert',
                        'Elixir.Timex.ConvertError',
                        'Elixir.Timex.DateTime.Helpers',
                        'Elixir.Timex.Duration',
                        'Elixir.Timex.Format.DateTime.Formatter',
                        'Elixir.Timex.Format.DateTime.Formatters.Default',
                        'Elixir.Timex.Format.DateTime.Formatters.Relative',
                        'Elixir.Timex.Format.DateTime.Formatters.Strftime',
                        'Elixir.Timex.Format.Duration.Formatter',
                        'Elixir.Timex.Format.Duration.Formatters.Default',
                        'Elixir.Timex.Format.Duration.Formatters.Humanized',
                        'Elixir.Timex.Format.FormatError',
                        'Elixir.Timex.Gettext','Elixir.Timex.Helpers',
                        'Elixir.Timex.Interval',
                        'Elixir.Timex.Interval.FormatError',
                        'Elixir.Timex.Macros',
                        'Elixir.Timex.Parse.DateTime.Helpers',
                        'Elixir.Timex.Parse.DateTime.Parser',
                        'Elixir.Timex.Parse.DateTime.Parsers',
                        'Elixir.Timex.Parse.DateTime.Parsers.ISO8601Extended',
                        'Elixir.Timex.Parse.DateTime.Tokenizer',
                        'Elixir.Timex.Parse.DateTime.Tokenizers.Default',
                        'Elixir.Timex.Parse.DateTime.Tokenizers.Directive',
                        'Elixir.Timex.Parse.DateTime.Tokenizers.Strftime',
                        'Elixir.Timex.Parse.Duration.Parser',
                        'Elixir.Timex.Parse.Duration.Parsers.ISO8601Parser',
                        'Elixir.Timex.Parse.ParseError',
                        'Elixir.Timex.Parse.Timezones.Posix',
                        'Elixir.Timex.Parse.Timezones.Posix.PosixTimezone',
                        'Elixir.Timex.Parse.ZoneInfo.Parser',
                        'Elixir.Timex.Parse.ZoneInfo.Parser.Header',
                        'Elixir.Timex.Parse.ZoneInfo.Parser.LeapSecond',
                        'Elixir.Timex.Parse.ZoneInfo.Parser.TransitionInfo',
                        'Elixir.Timex.Parse.ZoneInfo.Parser.Zone',
                        'Elixir.Timex.Protocol','Elixir.Timex.Protocol.Any',
                        'Elixir.Timex.Protocol.Date',
                        'Elixir.Timex.Protocol.DateTime',
                        'Elixir.Timex.Protocol.Map',
                        'Elixir.Timex.Protocol.NaiveDateTime',
                        'Elixir.Timex.Protocol.Tuple','Elixir.Timex.Time',
                        'Elixir.Timex.Timezone','Elixir.Timex.Timezone.Local',
                        'Elixir.Timex.Timezone.Utils',
                        'Elixir.Timex.TimezoneInfo','Elixir.Timex.Translator',
                        'Elixir.Timex.Types']},
                   {registered,[]},
                   {applications,
                       [kernel,combine,gettext,tzdata,logger,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{local_timezone,nil},{default_locale,<<"en">>}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Timex',[]}}]}]}},
     {apply,
         {application,load,
             [{application,app,
                  [{description,"app"},
                   {vsn,"0.0.17"},
                   {id,[]},
                   {modules,
                       ['Elixir.JwtFunctions',
                        'Elixir.App','Elixir.App.Client','Elixir.App.Job',
                        'Elixir.App.JobRunner','Elixir.App.Participant',
                        'Elixir.App.Project','Elixir.App.ProjectManager',
                        'Elixir.App.Scheduler','Elixir.App',
                        'Elixir.App.Application',
                        'Elixir.App.Job','Elixir.App.JobQuery',
                        'Elixir.App.Model','Elixir.App.Project',
                        'Elixir.App.ProjectManager',
                        'Elixir.App.ProjectManagerQuery',
                        'Elixir.App.ProjectQuery',
                        'Elixir.App.Repo','Elixir.App.Variable',
                        'Elixir.AppWeb',
                        'Elixir.AppWeb.ApiController',
                        'Elixir.AppWeb.ApiView',
                        'Elixir.AppWeb.Endpoint',
                        'Elixir.AppWeb.ErrorHelpers',
                        'Elixir.AppWeb.ErrorView',
                        'Elixir.AppWeb.Gettext',
                        'Elixir.AppWeb.LayoutView',
                        'Elixir.AppWeb.PageController',
                        'Elixir.AppWeb.PageView',
                        'Elixir.AppWeb.Router',
                        'Elixir.AppWeb.Router.Helpers',
                        'Elixir.AppWeb.UserSocket']},
                   {registered,[]},
                   {applications,
                       [phoenix_ecto,kernel,plug_cowboy,mariaex,phoenix,plug,
                        phoenix_html,ecto_sql,quantum,uuid,cowboy,
                        phoenix_pubsub,httpoison,jwt_claims,poison,
                        logger_file_backend,json_web_token,gettext,timex,
                        logger,runtime_tools,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.App.Application',[]}}]}]}},
     {apply,
         {application,load,
             [{application,sasl,
                  [{description,"SASL  CXC 138 11"},
                   {vsn,"3.1.1"},
                   {id,[]},
                   {modules,
                       [sasl,alarm_handler,format_lib_supp,misc_supp,rb,
                        rb_format_supp,release_handler,release_handler_1,
                        erlsrv,sasl_report,sasl_report_tty_h,
                        sasl_report_file_h,si,si_sasl_supp,systools,
                        systools_make,systools_rc,systools_relup,
                        systools_lib]},
                   {registered,[sasl_sup,alarm_handler,release_handler]},
                   {applications,[kernel,stdlib]},
                   {included_applications,[]},
                   {env,[{sasl_error_logger,tty},{errlog_type,all}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{sasl,[]}}]}]}},
     {apply,
         {application,load,
             [{application,iex,
                  [{description,"iex"},
                   {vsn,"1.6.3"},
                   {id,[]},
                   {modules,
                       ['Elixir.IEx','Elixir.IEx.App',
                        'Elixir.IEx.Autocomplete','Elixir.IEx.CLI',
                        'Elixir.IEx.Config','Elixir.IEx.Evaluator',
                        'Elixir.IEx.Helpers','Elixir.IEx.History',
                        'Elixir.IEx.Info','Elixir.IEx.Info.Any',
                        'Elixir.IEx.Info.Atom','Elixir.IEx.Info.BitString',
                        'Elixir.IEx.Info.Date','Elixir.IEx.Info.Float',
                        'Elixir.IEx.Info.Function','Elixir.IEx.Info.Integer',
                        'Elixir.IEx.Info.List','Elixir.IEx.Info.Map',
                        'Elixir.IEx.Info.NaiveDateTime','Elixir.IEx.Info.PID',
                        'Elixir.IEx.Info.Port','Elixir.IEx.Info.Reference',
                        'Elixir.IEx.Info.Time','Elixir.IEx.Info.Tuple',
                        'Elixir.IEx.Introspection','Elixir.IEx.Pry',
                        'Elixir.IEx.Remsh','Elixir.IEx.Server',
                        'Elixir.IEx.State']},
                   {registered,['Elixir.IEx.Supervisor','Elixir.IEx.Config']},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,
                       [{colors,[]},
                        {inspect,[{pretty,true}]},
                        {history_size,20},
                        {default_prompt,<<"%prefix(%counter)>">>},
                        {alive_prompt,<<"%prefix(%node)%counter>">>}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.IEx.App',[]}}]}]}},
     {apply,
         {application,load,
             [{application,mix,
                  [{description,"mix"},
                   {vsn,"1.6.3"},
                   {id,[]},
                   {modules,
                       ['Elixir.Mix','Elixir.Mix.CLI',
                        'Elixir.Mix.Compilers.Elixir',
                        'Elixir.Mix.Compilers.Erlang',
                        'Elixir.Mix.Compilers.Test','Elixir.Mix.Config',
                        'Elixir.Mix.Config.Agent',
                        'Elixir.Mix.Config.LoadError','Elixir.Mix.Dep',
                        'Elixir.Mix.Dep.Converger','Elixir.Mix.Dep.ElixirSCM',
                        'Elixir.Mix.Dep.Fetcher','Elixir.Mix.Dep.Loader',
                        'Elixir.Mix.Dep.Lock','Elixir.Mix.Dep.Umbrella',
                        'Elixir.Mix.ElixirVersionError','Elixir.Mix.Error',
                        'Elixir.Mix.Generator','Elixir.Mix.Hex',
                        'Elixir.Mix.InvalidTaskError','Elixir.Mix.Local',
                        'Elixir.Mix.Local.Installer',
                        'Elixir.Mix.NoProjectError','Elixir.Mix.NoTaskError',
                        'Elixir.Mix.Project','Elixir.Mix.ProjectStack',
                        'Elixir.Mix.PublicKey','Elixir.Mix.Rebar',
                        'Elixir.Mix.RemoteConverger','Elixir.Mix.SCM',
                        'Elixir.Mix.SCM.Git','Elixir.Mix.SCM.Path',
                        'Elixir.Mix.Shell','Elixir.Mix.Shell.IO',
                        'Elixir.Mix.Shell.Process','Elixir.Mix.Shell.Quiet',
                        'Elixir.Mix.State','Elixir.Mix.Task',
                        'Elixir.Mix.Task.Compiler',
                        'Elixir.Mix.Task.Compiler.Diagnostic',
                        'Elixir.Mix.Tasks.App.Start',
                        'Elixir.Mix.Tasks.App.Tree',
                        'Elixir.Mix.Tasks.Archive',
                        'Elixir.Mix.Tasks.Archive.Build',
                        'Elixir.Mix.Tasks.Archive.Check',
                        'Elixir.Mix.Tasks.Archive.Install',
                        'Elixir.Mix.Tasks.Archive.Uninstall',
                        'Elixir.Mix.Tasks.Clean','Elixir.Mix.Tasks.Cmd',
                        'Elixir.Mix.Tasks.Compile',
                        'Elixir.Mix.Tasks.Compile.All',
                        'Elixir.Mix.Tasks.Compile.App',
                        'Elixir.Mix.Tasks.Compile.Elixir',
                        'Elixir.Mix.Tasks.Compile.Erlang',
                        'Elixir.Mix.Tasks.Compile.Leex',
                        'Elixir.Mix.Tasks.Compile.Protocols',
                        'Elixir.Mix.Tasks.Compile.Xref',
                        'Elixir.Mix.Tasks.Compile.Yecc',
                        'Elixir.Mix.Tasks.Deps','Elixir.Mix.Tasks.Deps.Clean',
                        'Elixir.Mix.Tasks.Deps.Compile',
                        'Elixir.Mix.Tasks.Deps.Get',
                        'Elixir.Mix.Tasks.Deps.Loadpaths',
                        'Elixir.Mix.Tasks.Deps.Precompile',
                        'Elixir.Mix.Tasks.Deps.Tree',
                        'Elixir.Mix.Tasks.Deps.Unlock',
                        'Elixir.Mix.Tasks.Deps.Update','Elixir.Mix.Tasks.Do',
                        'Elixir.Mix.Tasks.Escript',
                        'Elixir.Mix.Tasks.Escript.Build',
                        'Elixir.Mix.Tasks.Escript.Install',
                        'Elixir.Mix.Tasks.Escript.Uninstall',
                        'Elixir.Mix.Tasks.Format','Elixir.Mix.Tasks.Help',
                        'Elixir.Mix.Tasks.Iex','Elixir.Mix.Tasks.Loadconfig',
                        'Elixir.Mix.Tasks.Loadpaths','Elixir.Mix.Tasks.Local',
                        'Elixir.Mix.Tasks.Local.Hex',
                        'Elixir.Mix.Tasks.Local.PublicKeys',
                        'Elixir.Mix.Tasks.Local.Rebar','Elixir.Mix.Tasks.New',
                        'Elixir.Mix.Tasks.Profile.Cprof',
                        'Elixir.Mix.Tasks.Profile.Eprof',
                        'Elixir.Mix.Tasks.Profile.Fprof',
                        'Elixir.Mix.Tasks.Run','Elixir.Mix.Tasks.Test',
                        'Elixir.Mix.Tasks.Test.Cover','Elixir.Mix.Tasks.Xref',
                        'Elixir.Mix.TasksServer','Elixir.Mix.Utils']},
                   {registered,
                       ['Elixir.Mix.State','Elixir.Mix.TasksServer',
                        'Elixir.Mix.ProjectStack']},
                   {applications,[kernel,stdlib,elixir]},
                   {included_applications,[]},
                   {env,[{colors,[]}]},
                   {maxT,infinity},
                   {maxP,infinity},
                   {mod,{'Elixir.Mix',[]}}]}]}},
     {progress,applications_loaded},
     {apply,{application,start_boot,[kernel,permanent]}},
     {apply,{application,start_boot,[stdlib,permanent]}},
     {apply,{application,start_boot,[compiler,permanent]}},
     {apply,{application,start_boot,[elixir,permanent]}},
     {apply,{c,erlangrc,[]}},
     {progress,started}]}.
bitwalker commented 5 years ago

Yeah none of the Elixir libraries are in the lib directory listing, even though they are expected by the boot script, so that seems to be the problem, but I'm not sure how that could have happened. Distillery would have blown up building the release if it couldn't find the paths, and Elixir is always added as an application to the release by Distillery.

If you run mix release.clean and build a new release, are those libs present in _build/env/rel/app/lib? If so, are they present in the tarball?

pierrevdb commented 5 years ago

I just did a release.clean --implode and built a new release.

The elixir libs are in the _build/env/rel/app/lib dir, but not in the tarball. It also seems that some of my app's beam files are missing from the tarball.

I'll dig into it a bit more when I have a chance.

Thanks for the assistance.

On Tue, 21 May 2019 at 08:33, Paul Schoenfelder notifications@github.com wrote:

Yeah none of the Elixir libraries are in the lib directory listing, even though they are expected by the boot script, so that seems to be the problem, but I'm not sure how that could have happened. Distillery would have blown up building the release if it couldn't find the paths, and Elixir is always added as an application to the release by Distillery.

If you run mix release.clean and build a new release, are those libs present in _build/env/rel/app/lib? If so, are they present in the tarball?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bitwalker/distillery/issues/668?email_source=notifications&email_token=AAAALJKYTICSSBNVCBM6V7DPWOJUTA5CNFSM4HOBHC52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV24TZI#issuecomment-494258661, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAALJPGNM273NQIJH2LZY3PWOJUTANCNFSM4HOBHC5Q .

bitwalker commented 5 years ago

Ah, I know what's up, you should upgrade to the latest version on Hex, I believe that has the fix for that issue. If not there, then the 2.0.x branch does for sure, it's the current maintenance branch. I'll be cutting another release soon either way.

pierrevdb commented 5 years ago

I tried with hex 0.19.0 and 2.0.x branch but still no go. I'll have to park this for a bit and get back to you, maybe when you've cut a new response.

On Tue, 21 May 2019 at 09:18, Paul Schoenfelder notifications@github.com wrote:

Ah, I know what's up, you should upgrade to the latest version on Hex, I believe that has the fix for that issue. If not there, then the 2.0.x branch does for sure, it's the current maintenance branch. I'll be cutting another release soon either way.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bitwalker/distillery/issues/668?email_source=notifications&email_token=AAAALJLVLHMEABS7JF2ERHLPWOO4NA5CNFSM4HOBHC52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV27P2I#issuecomment-494270441, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAALJNG6LSGIDOJ5QNJBCTPWOO4NANCNFSM4HOBHC5Q .

pierrevdb commented 5 years ago

Paul - thanks for the effort on this lib. I should have lead with that when I logged the issue.

Since this is a different issue than the description says, and we're waiting for the next release to test again, should we delete this issue and I'll open new one when the release drops ? Or should I just edit the ticket to be more accurate in the description of the error ?

bitwalker commented 5 years ago

@pierrevdb I'll close this, go ahead an open a new issue. As part of the info for that issue, can you also show the diff between what is in _build/env/lib/app/lib and the tarball? Just running tree on the former, and extracting the tarball somewhere and running tree inside of it will make it easy to compare.

pierrevdb commented 5 years ago

Will do

pierrevdb commented 5 years ago

@bitwalker I managed to do some proper investigation and tracked the issue down to the the function below:

  defp maybe_include_system_libs(archive, %Release{profile: %{include_erts: path}}, _tmpdir) do
    Shell.debug("Including system libs from #{Path.relative_to_cwd(path)}")
    Archive.add(archive, Path.join(Path.expand(path), "lib"), "lib")
  end

This executes after

  defp maybe_include_erts(archive, %Release{profile: %{include_erts: path}} = release, tmpdir) do
    {:ok, erts_vsn} = Utils.detect_erts_version(path)

    archive
    |> Archive.add(Path.join(tmpdir, "lib"), "lib")
    |> Archive.add(Path.join(release.profile.output_dir, "erts-#{erts_vsn}"))
  end

It effectively overwrites the lib from the systools generated tar that goes into the tempdir.

I haven't had time to fully check out all the implications, but changing the function to do nothing but return the provided archive as below did allow me to run the app on the target server.

  defp maybe_include_system_libs(archive, %Release{profile: %{include_erts: path}}, _tmpdir) do
    archive
  end

There is another minor issue where the "${RELEASE_ROOT_DIR}/var" is not found, but I will log a separate issue for that.