{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "09b5b05d-ae4f-4ec4-bebf-5824274e4631", "metadata": {}, "outputs": [], "source": [ "import os, glob\n", "import collections\n", "import pandas as pd\n", "import numpy as np\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "id": "7bd3fc71-cd3b-4218-8912-c35bdc2584bf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[' build-depends: base >=4.16\\n',\n", " ' build-depends: base ^>=4.16.4.0\\n',\n", " ' build-depends: base >=4.16\\n',\n", " ' build-depends: split\\n',\n", " ' build-depends: text, attoparsec\\n',\n", " ' build-depends: containers, split\\n',\n", " ' build-depends: text, attoparsec\\n',\n", " ' build-depends: text, attoparsec, intervals\\n',\n", " ' build-depends: text, attoparsec, containers\\n',\n", " ' build-depends: text, attoparsec, containers, rosezipper\\n',\n", " ' build-depends: text, attoparsec, containers, linear, lens\\n',\n", " ' build-depends: text, attoparsec, split\\n',\n", " ' build-depends: text, attoparsec, containers, lens, mtl\\n',\n", " ' build-depends: containers, linear, array, pqueue, mtl, lens\\n',\n", " ' build-depends: text, attoparsec\\n',\n", " ' build-depends: text, attoparsec, containers, linear, lens\\n',\n", " ' build-depends: text, attoparsec, containers, linear, lens\\n',\n", " ' build-depends: text, attoparsec, containers, pqueue, mtl, lens, split\\n',\n", " ' build-depends: containers, linear, lens\\n',\n", " ' build-depends: text, attoparsec, containers, linear, lens\\n',\n", " ' build-depends: text, attoparsec, containers, pqueue, mtl, lens, multiset, parallel, deepseq\\n',\n", " ' build-depends: data-clist , lens\\n',\n", " ' build-depends: text, attoparsec, containers, lens\\n',\n", " ' build-depends: containers, linear, lens, mtl\\n',\n", " ' build-depends: containers, linear, lens, mtl, multiset\\n',\n", " ' build-depends: containers, linear, lens, mtl, multiset\\n',\n", " ' build-depends: containers, pqueue, mtl, lens, linear, array\\n']" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with open('../advent-of-code22.cabal') as f:\n", " build_depends = [l for l in f.readlines() if 'build-depends' in l]\n", "build_depends" ] }, { "cell_type": "code", "execution_count": 3, "id": "d0e0655a-2fad-47c9-afe1-8ae4c44949ab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[', other than Main.\\n -- other-modules:\\n\\n -- LANGUAGE extensions used by modules in this package.\\n -- other-extensions:\\n build-depends: base ^>=4.16.4.0\\n hs-source-dirs: app, src\\n default-language: Haskell2010\\n\\nlibrary\\n import: common-extensions\\n build-depends: base >=4.16\\n hs-source-dirs: ., app, src\\n exposed-modules: AoC\\n\\n',\n", " ' advent01\\n import: common-extensions, build-directives\\n main-is: advent01/Main.hs\\n build-depends: split\\n\\n',\n", " ' advent02\\n import: common-extensions, build-directives\\n main-is: advent02/Main.hs\\n build-depends: text, attoparsec\\n\\n']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cabal_file = open('../advent-of-code22.cabal').read()\n", "executables = cabal_file.split('executable')[2:]\n", "executables[:3]" ] }, { "cell_type": "code", "execution_count": 4, "id": "62a719db-b264-4b95-8dd0-80ab08b3622a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['split']" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e = executables[1]\n", "e.strip().split('build-depends: ')[1].split(',')" ] }, { "cell_type": "code", "execution_count": 5, "id": "5f5e51ea-4457-4701-99d2-844edcec721e", "metadata": {}, "outputs": [], "source": [ "def extract(line):\n", " parts = line.strip().split('build-depends: ')\n", " name = parts[0].split()[0]\n", " if len(parts) > 1:\n", " depends = [p.strip() for p in parts[1].split('\\n')[0].split(',') if 'base' not in p]\n", " else:\n", " depends = []\n", " return name, depends " ] }, { "cell_type": "code", "execution_count": 6, "id": "a852a10b-ee9a-46d5-a390-04f218424760", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'advent01': ['split'],\n", " 'advent02': ['text', 'attoparsec'],\n", " 'advent03': ['containers', 'split'],\n", " 'advent04': ['text', 'attoparsec'],\n", " 'advent05': ['text', 'attoparsec', 'containers'],\n", " 'advent06': [],\n", " 'advent07': ['text', 'attoparsec', 'containers', 'rosezipper'],\n", " 'advent08': [],\n", " 'advent09': ['text', 'attoparsec', 'containers', 'linear', 'lens'],\n", " 'advent10': ['text', 'attoparsec', 'split'],\n", " 'advent11': ['text', 'attoparsec', 'containers', 'lens', 'mtl'],\n", " 'advent12': ['containers', 'linear', 'array', 'pqueue', 'mtl', 'lens'],\n", " 'advent13': ['text', 'attoparsec'],\n", " 'advent14': ['text', 'attoparsec', 'containers', 'linear', 'lens'],\n", " 'advent15': ['text', 'attoparsec', 'containers', 'linear', 'lens'],\n", " 'advent16': ['text',\n", " 'attoparsec',\n", " 'containers',\n", " 'pqueue',\n", " 'mtl',\n", " 'lens',\n", " 'split'],\n", " 'advent17': ['containers', 'linear', 'lens'],\n", " 'advent18': ['text', 'attoparsec', 'containers', 'linear', 'lens'],\n", " 'advent19': ['text',\n", " 'attoparsec',\n", " 'containers',\n", " 'pqueue',\n", " 'mtl',\n", " 'lens',\n", " 'multiset',\n", " 'parallel',\n", " 'deepseq'],\n", " 'advent20': ['data-clist', 'lens'],\n", " 'advent21': ['text', 'attoparsec', 'containers', 'lens'],\n", " 'advent22': ['containers', 'linear', 'lens', 'mtl'],\n", " 'advent23': ['containers', 'linear', 'lens', 'mtl', 'multiset'],\n", " 'advent24': ['containers', 'pqueue', 'mtl', 'lens', 'linear', 'array'],\n", " 'advent25': []}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "modules = {e: ms for e, ms in [extract(e) for e in executables] if e.endswith(tuple(str(i) for i in range(10)))}\n", "modules" ] }, { "cell_type": "code", "execution_count": 7, "id": "57036fc2-db73-4c5b-b3bc-b7e8f9bbccda", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
arrayattoparseccontainersdata-clistdeepseqlenslinearmtlmultisetparallelpqueuerosezippersplittext
advent01FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
advent02FalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseTrue
advent03FalseFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
advent04FalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseTrue
advent05FalseTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseTrue
advent06FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent07FalseTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueFalseTrue
advent08FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent09FalseTrueTrueFalseFalseTrueTrueFalseFalseFalseFalseFalseFalseTrue
advent10FalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseTrueTrue
advent11FalseTrueTrueFalseFalseTrueFalseTrueFalseFalseFalseFalseFalseTrue
advent12TrueFalseTrueFalseFalseTrueTrueTrueFalseFalseTrueFalseFalseFalse
advent13FalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseTrue
advent14FalseTrueTrueFalseFalseTrueTrueFalseFalseFalseFalseFalseFalseTrue
advent15FalseTrueTrueFalseFalseTrueTrueFalseFalseFalseFalseFalseFalseTrue
advent16FalseTrueTrueFalseFalseTrueFalseTrueFalseFalseTrueFalseTrueTrue
advent17FalseFalseTrueFalseFalseTrueTrueFalseFalseFalseFalseFalseFalseFalse
advent18FalseTrueTrueFalseFalseTrueTrueFalseFalseFalseFalseFalseFalseTrue
advent19FalseTrueTrueFalseTrueTrueFalseTrueTrueTrueTrueFalseFalseTrue
advent20FalseFalseFalseTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalse
advent21FalseTrueTrueFalseFalseTrueFalseFalseFalseFalseFalseFalseFalseTrue
advent22FalseFalseTrueFalseFalseTrueTrueTrueFalseFalseFalseFalseFalseFalse
advent23FalseFalseTrueFalseFalseTrueTrueTrueTrueFalseFalseFalseFalseFalse
advent24TrueFalseTrueFalseFalseTrueTrueTrueFalseFalseTrueFalseFalseFalse
advent25FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
\n", "
" ], "text/plain": [ " array attoparsec containers data-clist deepseq lens linear \\\n", "advent01 False False False False False False False \n", "advent02 False True False False False False False \n", "advent03 False False True False False False False \n", "advent04 False True False False False False False \n", "advent05 False True True False False False False \n", "advent06 False False False False False False False \n", "advent07 False True True False False False False \n", "advent08 False False False False False False False \n", "advent09 False True True False False True True \n", "advent10 False True False False False False False \n", "advent11 False True True False False True False \n", "advent12 True False True False False True True \n", "advent13 False True False False False False False \n", "advent14 False True True False False True True \n", "advent15 False True True False False True True \n", "advent16 False True True False False True False \n", "advent17 False False True False False True True \n", "advent18 False True True False False True True \n", "advent19 False True True False True True False \n", "advent20 False False False True False True False \n", "advent21 False True True False False True False \n", "advent22 False False True False False True True \n", "advent23 False False True False False True True \n", "advent24 True False True False False True True \n", "advent25 False False False False False False False \n", "\n", " mtl multiset parallel pqueue rosezipper split text \n", "advent01 False False False False False True False \n", "advent02 False False False False False False True \n", "advent03 False False False False False True False \n", "advent04 False False False False False False True \n", "advent05 False False False False False False True \n", "advent06 False False False False False False False \n", "advent07 False False False False True False True \n", "advent08 False False False False False False False \n", "advent09 False False False False False False True \n", "advent10 False False False False False True True \n", "advent11 True False False False False False True \n", "advent12 True False False True False False False \n", "advent13 False False False False False False True \n", "advent14 False False False False False False True \n", "advent15 False False False False False False True \n", "advent16 True False False True False True True \n", "advent17 False False False False False False False \n", "advent18 False False False False False False True \n", "advent19 True True True True False False True \n", "advent20 False False False False False False False \n", "advent21 False False False False False False True \n", "advent22 True False False False False False False \n", "advent23 True True False False False False False \n", "advent24 True False False True False False False \n", "advent25 False False False False False False False " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_modules = set(m for p in modules for m in modules[p])\n", "modules_df = pd.DataFrame.from_dict({p: {m: m in modules[p] for m in sorted(all_modules)} for p in modules}, orient='index').sort_index()\n", "modules_df" ] }, { "cell_type": "code", "execution_count": 8, "id": "2eec3a74-e533-4d59-b495-9e774ca470e5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "| | 0 |\n", "|:-----------|----:|\n", "| containers | 16 |\n", "| attoparsec | 14 |\n", "| lens | 14 |\n", "| text | 14 |\n", "| linear | 9 |\n", "| mtl | 7 |\n", "| pqueue | 4 |\n", "| split | 4 |\n", "| array | 2 |\n", "| multiset | 2 |\n", "| data-clist | 1 |\n", "| deepseq | 1 |\n", "| parallel | 1 |\n", "| rosezipper | 1 |\n" ] } ], "source": [ "print(modules_df.sum().sort_values(ascending=False).to_markdown())" ] }, { "cell_type": "code", "execution_count": 22, "id": "d5c8f2ac-1575-49c4-b2c1-458419b9afd8", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(['containers', 'attoparsec', 'lens', 'text', 'linear', 'mtl',\n", " 'pqueue', 'split', 'array', 'multiset', 'data-clist', 'deepseq',\n", " 'parallel', 'rosezipper'], dtype=object)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted_modules = modules_df.sum().sort_values(ascending=False).index.values\n", "sorted_modules" ] }, { "cell_type": "code", "execution_count": 23, "id": "1802f0e4-c0b4-4c07-9b9b-a90d01e656d2", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
containersattoparseclenstextlinearmtlpqueuesplitarraymultisetdata-clistdeepseqparallelrosezipper
advent01FalseFalseFalseFalseFalseFalseFalseTrueFalseFalseFalseFalseFalseFalse
advent02FalseTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent03TrueFalseFalseFalseFalseFalseFalseTrueFalseFalseFalseFalseFalseFalse
advent04FalseTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent05TrueTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent06FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent07TrueTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseTrue
advent08FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent09TrueTrueTrueTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent10FalseTrueFalseTrueFalseFalseFalseTrueFalseFalseFalseFalseFalseFalse
advent11TrueTrueTrueTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalse
advent12TrueFalseTrueFalseTrueTrueTrueFalseTrueFalseFalseFalseFalseFalse
advent13FalseTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent14TrueTrueTrueTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent15TrueTrueTrueTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent16TrueTrueTrueTrueFalseTrueTrueTrueFalseFalseFalseFalseFalseFalse
advent17TrueFalseTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent18TrueTrueTrueTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent19TrueTrueTrueTrueFalseTrueTrueFalseFalseTrueFalseTrueTrueFalse
advent20FalseFalseTrueFalseFalseFalseFalseFalseFalseFalseTrueFalseFalseFalse
advent21TrueTrueTrueTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent22TrueFalseTrueFalseTrueTrueFalseFalseFalseFalseFalseFalseFalseFalse
advent23TrueFalseTrueFalseTrueTrueFalseFalseFalseTrueFalseFalseFalseFalse
advent24TrueFalseTrueFalseTrueTrueTrueFalseTrueFalseFalseFalseFalseFalse
advent25FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
\n", "
" ], "text/plain": [ " containers attoparsec lens text linear mtl pqueue split \\\n", "advent01 False False False False False False False True \n", "advent02 False True False True False False False False \n", "advent03 True False False False False False False True \n", "advent04 False True False True False False False False \n", "advent05 True True False True False False False False \n", "advent06 False False False False False False False False \n", "advent07 True True False True False False False False \n", "advent08 False False False False False False False False \n", "advent09 True True True True True False False False \n", "advent10 False True False True False False False True \n", "advent11 True True True True False True False False \n", "advent12 True False True False True True True False \n", "advent13 False True False True False False False False \n", "advent14 True True True True True False False False \n", "advent15 True True True True True False False False \n", "advent16 True True True True False True True True \n", "advent17 True False True False True False False False \n", "advent18 True True True True True False False False \n", "advent19 True True True True False True True False \n", "advent20 False False True False False False False False \n", "advent21 True True True True False False False False \n", "advent22 True False True False True True False False \n", "advent23 True False True False True True False False \n", "advent24 True False True False True True True False \n", "advent25 False False False False False False False False \n", "\n", " array multiset data-clist deepseq parallel rosezipper \n", "advent01 False False False False False False \n", "advent02 False False False False False False \n", "advent03 False False False False False False \n", "advent04 False False False False False False \n", "advent05 False False False False False False \n", "advent06 False False False False False False \n", "advent07 False False False False False True \n", "advent08 False False False False False False \n", "advent09 False False False False False False \n", "advent10 False False False False False False \n", "advent11 False False False False False False \n", "advent12 True False False False False False \n", "advent13 False False False False False False \n", "advent14 False False False False False False \n", "advent15 False False False False False False \n", "advent16 False False False False False False \n", "advent17 False False False False False False \n", "advent18 False False False False False False \n", "advent19 False True False True True False \n", "advent20 False False True False False False \n", "advent21 False False False False False False \n", "advent22 False False False False False False \n", "advent23 False True False False False False \n", "advent24 True False False False False False \n", "advent25 False False False False False False " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "modules_sorted_cols = modules_df[sorted_modules]\n", "modules_sorted_cols" ] }, { "cell_type": "code", "execution_count": 18, "id": "da22ede4-ac7c-4d32-9396-4cf585f97ba7", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
programmodulepresent
12advent01splitTrue
15advent02attoparsecTrue
27advent02textTrue
30advent03containersTrue
40advent03splitTrue
............
324advent24containersTrue
327advent24lensTrue
328advent24linearTrue
329advent24mtlTrue
332advent24pqueueTrue
\n", "

90 rows × 3 columns

\n", "
" ], "text/plain": [ " program module present\n", "12 advent01 split True\n", "15 advent02 attoparsec True\n", "27 advent02 text True\n", "30 advent03 containers True\n", "40 advent03 split True\n", ".. ... ... ...\n", "324 advent24 containers True\n", "327 advent24 lens True\n", "328 advent24 linear True\n", "329 advent24 mtl True\n", "332 advent24 pqueue True\n", "\n", "[90 rows x 3 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "modules_scatter = modules_df.stack().reset_index()\n", "modules_scatter.columns = ['program', 'module', 'present']\n", "modules_scatter = modules_scatter[modules_scatter.present]\n", "modules_scatter" ] }, { "cell_type": "code", "execution_count": 69, "id": "fa6a99a2-749a-48d5-9009-11a45eb2722a", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoYAAAGSCAYAAAB+JQBpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABK7ElEQVR4nO3de3gcd3n3//dHkr1xIkOaIiMoGINtCLGTmETJj3CKI9IICrQcAinQllObUsdOCw2UQsoD9PlRSmhTsDDUAUrbUMgDlJRCiwMo5pAGiJw4jh0OtgmUpyAsyskKztqrvZ8/ZmQWV9LqsLO7M/t5Xdde2p2Zvef+fmdmde+cVhGBmZmZmVlXqxMwMzMzs/bgwtDMzMzMABeGZmZmZpZyYWhmZmZmgAtDMzMzM0u5MDQzMzMzAHpanUARPOABD4hVq1a1Og0zMzOzunbt2vWDiOibbpwLwwZYtWoVo6OjrU7DzMzMrC5J355pnA8lm5mZmRngwtDMzMzMUi4MzczMzAxwYWhmZmZmKReGZmZmZga4MDQzMzOzlAtDMzMzMwNcGJqZmZlZyje4NjMz63AT5Qo79o4xPlGmr7fE0Pp+eksuETpRy5e6pDcAExHxthnGPxP4RkTc3YB5vRgYiIjNkl4O/Cwi/mGGaTcCRyPiPxY7XzMzs3YUEWzbeZCtI/vpkjhaqbK0p4vX3XgXWwbXsmnjaiS1Ok1ropYXhnPwTOATwKILw1oR8e46k2wEJgAXhmZmVkjbdh5keOQA9x2rHh9WOToJwPDIAQCuuGhNS3Kz1mjJOYaSXifp65I+AzwqHfZ7km6TdKekj0o6WdLjgF8HrpG0W9Lq6aabYR5PkXR7Ot1npxn/BklXpc+vlHS3pD2SPiRpFfBy4BXpfJ+YVV+YmZm1wkS5wtaR/Rw5Njnt+CPHJhkeOcC95UqTM7NWanphKOlc4DeBxwDPBs5LR/1zRJwXEWcDXwVelh7G/TjwqojYEBEHp5tumnn0AdcBz0mne26dtF4DPCYizgJeHhHfAt4NXJvO9wuLbLaZmVlb2bF3jK46h4m7BDv2jTUpI2sHrdhj+ETgYxHxs4j4KUnhB7Be0hck3QW8EFg3w/vnMt1jgc9HxD0AEfHDOjntAT4g6beAOX01knS5pFFJo+Pj43N5i5mZWdsYnyhztFKddZpypcqhw+UmZWTtoFW3q4lphr0f2BwRZwJvBE6a4b3/YzpJ3ekh392S3gRohnnM5GnAO4FzgV2S6p57GRHbI2IgIgb6+vrmMSszM7PW6+stsbRn9jKg1NPFiuWlJmVk7aAVheHngWdJWiZpOfCMdPhy4HuSlpDsCZxyOB3HTNNFxGR6yHdDRLweuBW4UNLDASSdNlMykrqAh0bEzcCrgVOB3mnma2ZmVhhD6/upxuz7UKoBQ+v6m5SRtYOmF4YRcTtwA7Ab+Cgwdf7enwFfBj4NfK3mLR8CXiXpDkmrZ5mudh7jwOXAP0u6M53fTLqB69ND03eQnFf4Y+BfSQpYX3xiZmaF01vqYcvgWpYt6Z52/LIl3WweXMMpvp9hR1HU+bZg9Q0MDMTo6Gir0zAzM5uX2vsYdkuUK1VKPV1MRvg+hgUmaVdEDEw3zl8DzMzMOpQkrrhoDS963Cpu2jfGocNlViwvMbSu33sKO5SXupmZWYfrLfXw7HMe0uo0rA206qpkMzMzM2szLgzNzMzMDHBhaGZmZmYpF4ZmZmZmBrgwNDMzM7OUC0MzMzMzA1wYmpmZmVnKhaGZmZmZAS4MzczMzCzlwtDMzMzMABeGZmZmZpbybyWbmZm1uYlyhR17xxifKNPXW2JofT+9Jf8Lt8bruLVK0ouBgYjYLOkNwEREvG2W6etOY2ZmloWIYNvOg2wd2U+XxNFKlaU9XbzuxrvYMriWTRtXI6nVaVqBFLIwlNQTEZVW52FmZrYY23YeZHjkAPcdqx4fVjk6CcDwyAEArrhoTUtys2Jq23MMJa2S9DVJfy9pj6SPSDpZ0usl3SZpr6TtSr8qSdop6c2SPgf8oaRnSPqypDskfUbSA+vMb7WkT0naJekLkk5vSkPNzMymMVGusHVkP0eOTU47/sixSYZHDnBv2ftBrHHatjBMPQrYHhFnAT8FNgHDEXFeRKwHlgFPr5n+1Ii4MCL+Cvgi8NiIeAzwIeDVdea1HdgSEecCVwHbGtwWMzOzOduxd4yuOoeJuwQ79o01KSPrBO1+KPk7EXFL+vx64ErgHkmvBk4GTgP2Af+aTnNDzXsfAtwg6UHAUuCemWYiqRd4HPDhmnM1SrMlJuly4HKAlStXzqNJZmZm9Y1PlDlaqc46TblS5dDhcpMysk7Q7nsMY5rX24BLI+JM4DrgpJrx99Y830qyd/FM4PdPmO5EXcCPI2JDzePRsyYWsT0iBiJioK+vb67tMTMzm5O+3hJLe2b/N13q6WLF8ln3Y5jNS7sXhislXZA+fz7J4WGAH6R7+S6d5b33B/4rff6i2WYSET8l2RP5XAAlzl542mZmZosztL6fapy4f+QXVQOG1vU3KSPrBO1eGH4VeJGkPSSHjd9FspfwLuBG4LZZ3vsGkkPDXwB+MId5vRB4maQ7SQ5P/8bC0zYzM1uc3lIPWwbXsmxJ97Tjly3pZvPgGk7x/QytgRR1vo20iqRVwCfSi0za2sDAQIyOjrY6DTMzK5ja+xh2S5QrVUo9XUxG+D6GtmCSdkXEwHTj/DXDzMysTUniiovW8KLHreKmfWMcOlxmxfISQ+v6vafQMtG2a1VEfAto+72FZmZmWest9fDscx7S6jSsA7T7OYZmZmZm1iQuDM3MzMwMcGFoZmZmZikXhmZmZmYGuDA0MzMzs5QLQzMzMzMDXBiamZmZWcqFoZmZmZkBLgzNzMzMLOXC0MzMzMyANv5JPDMzM0tMlCvs2DvG+ESZvt4SQ+v76fVvJTdVpywDRUSrc8i9gYGBGB0dbXUaZmZWMBHBtp0H2Tqyny6Jo5UqS3u6qEawZXAtmzauRlKr0yy0Ii4DSbsiYmC6cYU5lCxpIv27StILaoYPSHrHAuKdKmlTI3M0MzObj207DzI8coD7jlX52dFJKtXgZ0cnue9YleGRA2zbebDVKRZepy2DwhSGNVYBxwvDiBiNiCsXEOdUwIWhmZm1xES5wtaR/Rw5Njnt+CPHJhkeOcC95UqTM+scnbgM2qYwTPf0fU3SeyTtlfQBSRdLukXSfknnS3qDpKtq3rNX0qoTQr0FeKKk3ZJeIWmjpE+k01+YDt8t6Q5Jy9Phr5J0m6Q9kt5YE2d1Ou01TegCMzOz43bsHaOrziHKLsGOfWNNyqjzdOIyaLezJtcAzwUuB24j2fP3BODXgdcCu+cQ4zXAVRHxdABJG2vGXQVcERG3SOoF7pN0CbAWOB8Q8HFJT0rjrI+IDdPNRNLlaZ6sXLlyPm00MzOra3yizNFKddZpypUqhw6Xm5RR5+nEZdA2ewxT90TEXRFRBfYBn43k6pi7SA4RL9YtwF9LuhI4NSIqwCXp4w7gduB0kkJxVhGxPSIGImKgr6+vAamZmZn9XF9viaU9s/+bLvV0sWJ5qUkZdZ5OXAbtVhjWltzVmtdVkr2bFX4x55PmEzwi3gL8LrAM+JKk00n2Ev5FRGxIH2si4r0LbYCZmVkjDK3vp1rnziHVgKF1/U3KqPN04jJot8Kwnm8B5wBIOgd4+DTTHAaWT/dmSavTPZJ/CYyS7B3cAbw0PbSMpF+RtGK2OGZmZlnrLfWwZXAty5Z0Tzt+2ZJuNg+u4ZQC3kuvXXTiMshbSz4K/I6k3STnIH5jmmn2ABVJdwLvJzlEPOWPJF0ETAJ3A/8eEWVJjwZuTe9DNAH8VkQcTC982ZtO96qsGmVmZjadTRtXA7B1ZD/dEuVKlVJPF5MRbB5cc3y8ZafTloFvcN0AvsG1mZllaaJc4aZ9Yxw6XGbF8hJD6/oLtZcqD4q0DGa7wXU+W2RmZtZBeks9PPuch7Q6jY7WKcsgb+cYmpmZmVlGXBiamZmZGeDC0MzMzMxSLgzNzMzMDHBhaGZmZmYpF4ZmZmZmBrgwNDMzM7OUC0MzMzMzA1wYmpmZmVnKhaGZmZmZAS4MzczMzCzl30o2MzNrcxPlCjv2jjE+Uaavt8TQ+n56S/4Xbo3XdmuVpDcAExHxtlbnYmZm1koRwbadB9k6sp8uiaOVKkt7unjdjXexZXAtmzauRlKr07QCabvC0MzMzBLbdh5keOQA9x2rHh9WOToJwPDIAQCuuGhNS3KzYmqLcwwlvU7S1yV9BnhUOmy1pE9J2iXpC5JOT4f3SfqopNvSx+PT4W+Q9I+SRiTtl/R76fAHSfq8pN2S9kp6Yjr8Ekm3Srpd0ocl9abDnyLpa5K+KOkdkj7Rkk4xM7OONlGusHVkP0eOTU47/sixSYZHDnBvudLkzKzIWl4YSjoX+E3gMcCzgfPSUduBLRFxLnAVsC0d/nbg2og4D3gO8J6acGcBTwMuAF4v6cHAC4AdEbEBOBvYLekBwNXAxRFxDjAKvFLSScB1wDOAJwL9mTTazMysjh17x+iqc5i4S7Bj31iTMrJO0A6Hkp8IfCwifgYg6ePAScDjgA/XnDtRSv9eDJxRM/x+kpanz/8lIo4ARyTdDJwP3Aa8T9IS4MaI2C3pQuAM4JY0zlLgVuB04J6I2J/mcj1w+XRJS7p8atzKlSsX3QlmZma1xifKHK1UZ52mXKly6HC5SRlZJ2iHwhAgTnjdBfw43ct3oi7ggrQAPC4t8E6MExHxeUlPItmT+I+SrgF+BHw6Ip5/QowN08SYPuGI7SR7NRkYGJjTe8zMzOaqr7fE0p6u4+cUTqfU08WK5aUZx5vNV8sPJQOfB54laVm65+8ZwM+AeyQ9F0CJs9PpbwI2T705Leam/IakkyT9MrARuE3Sw4BDEXEd8F7gHOBLwOMlrUljnCzpkcDXgIdLWp3G+4XC0czMrFmG1vdTjdn3O1QDhtb5rCdrnJYXhhFxO3ADsBv4KPCFdNQLgZdJuhPYB/xGOvxKYEDSHkl3Ay+vCfcV4JMkhd+fR8R3SQrE3ZLuIDkn8e0RMQ68GPigpD3p9KdHxH0kh4c/KemLwLczabSZmVkdvaUetgyuZdmS7mnHL1vSzebBNZzi+xlaAynqfBvJiyzufyhpI3BVRDx9tukGBgZidHS0UbM1MzMDfvE+ht0S5UqVUk8XkxG+j6EtmKRdETEw3Th/zTAzM2tTkrjiojW86HGruGnfGIcOl1mxvMTQun7vKbRMFGaPYSt5j6GZmZnlxWx7DFt+jqGZmZmZtQcXhmZmZmYGuDA0MzMzs5QLQzMzMzMDXBiamZmZWcqFoZmZmZkBLgzNzMzMLOXC0MzMzMwAF4ZmZmZmlnJhaGZmZmaAC0MzMzMzS/kXuM2s402UK+zYO8b4RJm+3hJD6/vpLfnjsZm8DGbn/im+dlnGioimz7RoBgYGYnR0tNVpmNk8RQTbdh5k68h+uiSOVqos7emiGsGWwbVs2rgaSa1Os9C8DGbn/im+VixjSbsiYmC6cf66YWYda9vOgwyPHOC+Y9XjwypHJwEYHjkAwBUXrWlJbp3Cy2B27p/ia7dl3LbnGEpaJelrkv5e0h5JH5F0sqSnpMO/KOkdkj6RTv8GSVfVvH+vpFXp89+S9BVJuyX9raTudPhEzfSXSnp/+rxP0kcl3ZY+Ht/MtptZ9ibKFbaO7OfIsclpxx85NsnwyAHuLVeanFnn8DKYnfun+NpxGbdtYZh6FLA9Is4Cfgq8ErgOeAbwRKC/XgBJjwYuAx4fERuASeCFdd72duDaiDgPeA7wnoU2wMza0469Y3TVOTzTJdixb6xJGXUeL4PZuX+Krx2XcbsfSv5ORNySPr8euBK4JyL2A0i6Hri8TownA+cCt6XH6JcBh+q852LgjJpj+veTtDwiDk8NkHT51LxXrlw55waZWXsYnyhztFKddZpypcqhw+UmZdR5vAxm5/4pvnZcxu1eGJ54Zcz9pxk2pcIv7gE9Kf0r4O8j4k/rxD+p5nkXcEFEHJkxsYjtwHZILj6ZaToza099vSWW9nQdP5dnOqWeLlYsLzUxq87iZTA790/xteMybvdDySslXZA+fz7wGeDhklbXDJvyLeAcAEnnAA9Ph38WuFTSinTcaZIelo77vqRHS+oCnlUT6yZg89QLSRsa1iIzawtD6/up1rkrQzVgaF3dM1ZsgbwMZuf+Kb52XMbtXhh+FXiRpD3AacC1JIdvPynpi8C3a6b9KHCapN3AHwDfAIiIu4GrgZvSOJ8GHpS+5zXAJ4AR4Hs1sa4EBtKLXu4GXp5N88ysVXpLPWwZXMuyJd3Tjl+2pJvNg2s4xfeKy4yXwezcP8XXjsu43demakScWJR9CjgdQNJGYD1Aetj3kumCRMQNwA3TDP8I8JFphv+A5IIVMyuwTRuTgw9bR/bTLVGuVCn1dDEZwebBNcfHW3a8DGbn/im+dlvGbXuD6/RWM5+IiPWzTLMRuCoint6ktKblG1yb5dtEucJN+8Y4dLjMiuUlhtb1ey9Mk3kZzM79U3zNXMaz3eC6bQvDPHFhaGZmZnkxW2HY7ucYmpmZmVmTuDA0MzMzM8CFoZmZmZmlXBiamZmZGeDC0MzMzMxSLgzNzMzMDHBhaGZmZmYpF4ZmZmZmBrgwNDMzM7OUC0MzMzMzA1wYmpmZmVnKv8BtZh1volxhx94xxifK9PWWGFrfT29GP15vZjaddvkcUkQ0faZFMzAwEKOjo61Ow8zmKSLYtvMgW0f20yVxtFJlaU8X1Qi2DK5l08bVSGp1mmZWYK34HJK0KyIGphvXMV+JJXVHxORMr82s82zbeZDhkQPcd6x6fFjlaPKxMDxyAIArLlrTktzMrDO02+dQYc4xlHSjpF2S9km6PB02IelNkr4MXDDN69dLuk3SXknblVgt6faauGsl7WpVu8wsGxPlCltH9nPk2PTfD48cm2R45AD3litNzszMOkU7fg4VpjAEXhoR5wIDwJWSfhk4BdgbEf9fRHxxmtfDEXFeRKwHlgFPj4iDwE8kbUjjvgR4f7MbY2bZ2rF3jK46h2e6BDv2jTUpIzPrNO34OVSkwvBKSXcCXwIeCqwFJoGP1kxz4uuLJH1Z0l3AILAuHf4e4CWSuoHLgH86cWaSLpc0Kml0fHy88a0xs0yNT5Q5WqnOOk25UuXQ4XKTMjKzTtOOn0OFKAwlbQQuBi6IiLOBO4CTgPtOOI/w+GtJJwHbgEsj4kzguvQ9kBSPTwWeDuyKiP8+cZ4RsT0iBiJioK+vL5uGmVlm+npLLO2Z/SOw1NPFiuWlJmVkZp2mHT+HClEYAvcHfhQRP5N0OvDYObxnqgj8gaRe4NKpERFxH7ADeBfwd41O1sxab2h9P9U6d2WoBgyt629SRmbWadrxc6goheGngB5Je4A/JzmcPKuI+DHJXsK7gBuB206Y5ANAADc1MlEzaw+9pR62DK5l2ZLuaccvW9LN5sE1nOL7GZpZRtrxc6gQn3gRUSY59Hui3hOmO/H11cDVM4R9AvA+39LGrLg2bVwNwNaR/XRLlCtVSj1dTEaweXDN8fFmZllpt88h3+B6GpI+BqwGBiPiB/Wm9w2uzfJtolzhpn1jHDpcZsXyEkPr+r2n0MyaqpmfQ7Pd4NqFYQO4MDQzM7O8mK0wLMo5hmZmZma2SC4MzczMzAxwYWhmZmZmKReGZmZmZga4MDQzMzOzlAtDMzMzMwNcGJqZmZlZyoWhmZmZmQEuDM3MzMws5cLQzMzMzAAXhmZmZmaWmtOvM0t6IPBm4MER8VRJZwAXRMR7M83OzIzkx+V37B1jfKJMX2+JofX99Dbwx+Wzjm/1eRnMzv1TX94/J9plGSsi6k8k/Tvwd8DrIuJsST3AHRFxZtYJNpukjcDRiPiP9PUbgImIeNtM7xkYGIjR0dGm5GfWSSKCbTsPsnVkP10SRytVlvZ0UY1gy+BaNm1cjaS2jW/1eRnMzv1TX94/J1qxjCXtioiB6cbNtRR9QET8H0l/ChARFUmTDcuwvWwEJoD/aHEeZh1v286DDI8c4L5j1ePDKkeTj57hkQMAXHHRmraNb/V5GczO/VNf3j8n2m0Zz/Ucw3sl/TIQAJIeC/wks6wyImmVpK9Jeo+kvZI+IOliSbdI2i/pfODlwCsk7Zb0xFbnbNapJsoVto7s58ix6b+DHjk2yfDIAe4tV9oyvtXnZTA79099ef+caMdlPNfC8JXAx4HVkm4B/gHYkllW2VoDvB04CzgdeAHwBOAq4LXAu4FrI2JDRHyhZVmadbgde8foqnP4pEuwY99YW8a3+rwMZuf+qS/vnxPtuIzndCg5Im6XdCHwKEDA1yPiWKaZZeeeiLgLQNI+4LMREZLuAlYBu+cSRNLlwOUAK1euzCZTsw42PlHmaKU66zTlSpVDh8ttGd/q8zKYnfunvrx/TrTjMp61MJT07BlGPVISEfHPGeSUtdrerda8rjL3cy6JiO3AdkguPmlYdmYGQF9viaU9XcfPtZlOqaeLFctLbRnf6vMymJ37p768f0604zKudyj5GbM8np5tai1zGFje6iTMOt3Q+n6qde6aUA0YWtfflvGtPi+D2bl/6sv750Q7LuNZC8OIeMksj5c2K8km+1fgWb74xKy1eks9bBlcy7Il3dOOX7akm82Dazhlgff5yjq+1edlMDv3T315/5xox2U81xtcv3664RHxpsamk62I+Bawvub1i2cYd1bN23wBilmLbNq4GoCtI/vplihXqpR6upiMYPPgmuPj2zW+1edlMDv3T315/5xot2U81xtc/3HNy5NIDiN/tcB7DefFN7g2y9ZEucJN+8Y4dLjMiuUlhtb1N/QbdNbxrT4vg9m5f+rL++dEM5fxbDe4nlNhOE3AEvDxiBhabHJF4MLQzMzM8mK2wnCu9zE80cnAIxaekpmZmZm1m7meY3gX6a+eAN1AH5Cr8wvNzMzMbHZzPXhde2uaCvD9iOjc3+AxMzMzK6B6N7g+LX16+IRR90tvcP3DbNIyMzMzs2art8dwF8khZAErgR+lz08F/hN4eJbJmZmZmVnz1LvB9cMj4hHADuAZEfGAiPhlkkPLefw5PDMzMzObwVyvSj4vIv5t6kVE/DtwYTYpmZmZmVkrzPXikx9Iuhq4nuTQ8m8B/51ZVmZmZmbWdHPdY/h8klvUfAy4EViRDjMzMzOzgpjTHsP06uM/lHQ/oBoRE9mmZWZmZmbNNtcbXJ8J/ANwWvr6B8CLImJvhrmZWYNMlCvs2DvG+ESZvt4SQ+v76fXvrB5XhP7Jug157yP3T/HlfRm3yzo0p99KlvQfwOsi4ub09UbgzRHxuEyzywn/VrK1q4hg286DbB3ZT5fE0UqVpT1dVCPYMriWTRtXI6nVabZMEfon6zbkvY/cP8WX92XcinVott9KnmspespUUQgQETslndKQ7BZB0kRE9Ep6MPCOiLi01TmZtZNtOw8yPHKA+45Vjw+rHJ0EYHjkAABXXLSmJbm1gyL0T9ZtyHsfuX+KL+/LuN3WoblefPJNSX8maVX6uBq4J8vE5iMivpt1USjJxwQsVybKFbaO7OfIsclpxx85NsnwyAHuLXfmr1sWoX+ybkPe+8j9U3x5X8btuA7NtTB8KclVyR8lubH1A4AXZ5TTvKXF6t70+Ysl/bOkT0naL+mtNdNdIulWSbdL+rCk3nT46yXdJmmvpO1K99lK2inpzZI+B/xhSxpntkA79o7RVefwQ5dgx76xJmXUXorQP1m3Ie995P4pvrwv43Zch+ZaGK4GHppOvwR4MvD5rJJqgA3AZcCZwGWSHirpAcDVwMURcQ4wCrwynX44Is6LiPXAMpJfdplyakRcGBF/VTsDSZdLGpU0Oj4+nnV7zOZtfKLM0Up11mnKlSqHDpeblFF7KUL/ZN2GvPeR+6f48r6M23Edmuvh0Q8AVwF7gdlb0B4+GxE/AZB0N/Awkt93PgO4Jd0huBS4NZ3+IkmvBk4mufJ6H/Cv6bgbpptBRGwHtkNy8UkmrTBbhL7eEkt7uo6fqzKdUk8XK5aXmphV+yhC/2Tdhrz3kfun+PK+jNtxHZrrHsPxiPjXiLgnIr499cg0s8WpLa0nSQpgAZ+OiA3p44yIeJmkk4BtwKURcSZwHXBSzfvvbVrWZg00tL6fap27DlQDhtb1Nymj9lKE/sm6DXnvI/dP8eV9GbfjOjTXwvB/SXqPpOdLevbUI9PMGu9LwOMlrQGQdLKkR/LzIvAH6TmHvrLZCqG31MOWwbUsW9I97fhlS7rZPLiGUzr0XmtF6J+s25D3PnL/FF/el3E7rkNzndNLgNNJzi+cOpQcJBei5EJEjEt6MfBBSVP7ZK+OiG9Iug64C/gWcFuLUjRruE0bVwOwdWQ/3RLlSpVSTxeTEWweXHN8fKcqQv9k3Ya895H7p/jyvozbbR2a6w2u70oPs9o0fINra3cT5Qo37Rvj0OEyK5aXGFrX770YNYrQP1m3Ie995P4pvrwv42auQ7Pd4HquheF1wLURcXejkysCF4ZmZmaWF4345ZMnAC+SdA/JhR0CIiLOalCOZmZmZtZicy0Mn5JpFmZmZmbWcnMqDNv81jRmZmZm1gBzvV2NmZmZmRWcC0MzMzMzA1wYmpmZmVnKhaGZmZmZAS4MzczMzCzlwtDMzMzMABeGZmZmZpZyYWhmZmZmwNx/+cTMcmyiXGHH3jHGJ8r09ZYYWt9Pb0Y/zp6FrPPPe/9A/vvI8YsdvxnzcPzGUEQ0fabNImkiInqzns/AwECMjo5mPRuzeYsItu08yNaR/XRJHK1UWdrTRTWCLYNr2bRxNZJaneaMss4/7/0D+e8jxy92/CK0Ie/xpyNpV0QMTDcuX1+JzWxetu08yPDIAe47Vj0+rHJ0EoDhkQMAXHHRmpbkNhdZ55/3/oH895HjFzt+M+bh+I3VMecYSnqVpNsk7ZH0xnTYKklflXSdpH2SbpK0LB13paS70+k/1NrszeZvolxh68h+jhybnHb8kWOTDI8c4N5ypcmZzU3W+ee9fyD/feT4xY7fjHk4fuN1RGEo6RJgLXA+sAE4V9KT0tFrgXdGxDrgx8Bz0uGvAR4TEWcBL29qwmYNsGPvGF11Dj90CXbsG2tSRvOTdf557x/Ifx85frHjN2Mejt94HVEYApekjzuA24HTSQpCgHsiYnf6fBewKn2+B/iApN8C/kepLulySaOSRsfHxzNM3WxhxifKHK1UZ52mXKly6HC5SRnNT9b5571/IP995PjFjt+MeTh+43VKYSjgLyJiQ/pYExHvTcfV9vYkPz/v8mnAO4FzgV2SfuF8zIjYHhEDETHQ19eXdf5m89bXW2Jpz+ybeKmnixXLS03KaH6yzj/v/QP57yPHL3b8ZszD8RuvUwrDHcBLJfUCSPoVSStmmlhSF/DQiLgZeDVwKpD51c1mjTS0vp9qnbsOVAOG1vU3KaP5yTr/vPcP5L+PHL/Y8ZsxD8dvvI4oDCPiJuCfgFsl3QV8BFg+y1u6gevTae8Aro2IH2eeqFkD9ZZ62DK4lmVLuqcdv2xJN5sH13BKm96vL+v8894/kP8+cvxix2/GPBy/8dr3E68Bau9hGBFvB94+zWTra6Z5W83wJ2SYmllTbNq4GoCtI/vplihXqpR6upiMYPPgmuPj21XW+ee9fyD/feT4xY5fhDbkPf58FfoG183iG1xbu5soV7hp3xiHDpdZsbzE0Lr+tt4TdqKs8897/0D++8jxix2/GfNw/Lmb7QbXLgwbwIWhmZmZ5cVshWFHnGNoZmZmZvW5MDQzMzMzwIWhmZmZmaVcGJqZmZkZ4MLQzMzMzFIuDM3MzMwMcGFoZmZmZikXhmZmZmYGuDA0MzMzs5QLQzMzMzMDXBiamZmZWSpfvxJvVlAT5Qo79o4xPlGmr7fE0Pp+ejP68XQzM7OZFOI/j6Q3AZ+PiM+0Ohez+YgItu08yNaR/XRJHK1UWdrTxetuvIstg2vZtHE1klqdppmZdYimFYZK/rspIqqNjh0Rr290zFqSuiNiMst5WGfatvMgwyMHuO/YzzeLytFkVRseOQDAFRetaUluZmbWeTI9x1DSKklflbQNuB14r6S9ku6SdFk6zYMkfV7S7nTcE9Phl0i6VdLtkj4sqVfSQDrd7jRGpNO+X9Kl6fNvSfpLSV9JH2tqpnm3pC9I+oakp6fDuyVdI+k2SXsk/X46fKOkmyX9E3BXlv1knWmiXGHryH6OHJv+O8eRY5MMjxzg3nKlyZmZmVmnasbFJ48C/gH438BDgLOBi4FrJD0IeAGwIyI2pON2S3oAcDVwcUScA4wCr4yI0YjYkE77KeBtM8zzpxFxPjAM/E3N8FXAhcDTgHdLOgl4GfCTiDgPOA/4PUkPT6c/H3hdRJyx6F4wO8GOvWN01TlM3CXYsW+sSRmZmVmna8ah5G9HxJckXQt8MD0k+31JnyMpxG4D3idpCXBjROyWdCFwBnBLen7VUuDWqYCSngecA1wywzw/WPP32prh/yc9lL1f0jeB09MYZ03tcQTuD6wFjgJfiYh7ppuBpMuBywFWrlw5994wS41PlDlamf3MinKlyqHD5SZlZGZmna4ZheG96d9pd41ExOclPYlkL94/SroG+BHw6Yh4/onTS1oHvBF40izn/cUcnk+9FrAlInacMJ+NNblPl/d2YDvAwMDAiXHN6urrLbG0p+v4OYXTKfV0sWJ5qYlZmZlZJ2vmfQw/D1yWntPXBzwJ+IqkhwGHIuI64L0kewK/BDy+5vzAkyU9UtL9gQ8BvxMR47PM67Kav7fWDH+upC5Jq4FHAF8HdgB/kO6xJJ3PKY1qtNlMhtb3U43Zv1NUA4bW9TcpIzMz63TNvF3Nx4ALgDtJ9tS9OiLGJL0IeJWkY8AEadEn6cXAByVN7S65On3/w4Drpm7hkZ5veKKSpC+TFL61ex2/DnwOeCDw8oi4T9J7SM49vD29cnoceGajGm02k95SD1sG1zI8cmDaC1CWLelm8+AaTvH9DM3MrEkUdfZY5I2kbwEDEfGDE4a/H/hERHyk0fMcGBiI0dHRRoe1DlB7H8NuiXKlSqmni8kI38fQzMwyIWlXRAxMN867IsxaSBJXXLSGFz1uFTftG+PQ4TIrlpcYWtfvPYVmZtZ0hfvPExGrZhj+4uZmYjZ3vaUenn3OQ1qdhpmZdbhmXnxiZmZmZm3MhaGZmZmZAS4MzczMzCzlwtDMzMzMABeGZmZmZpZyYWhmZmZmgAtDMzMzM0u5MDQzMzMzwIWhmZmZmaVcGJqZmZkZ4MLQzMzMzFKF+61kaz8T5Qo79o4xPlGmr7fE0Pp+ekv5WfWakX/W8/AyaG38Zsh7Hzl+a+M3Q977KO/x50oR0fSZzpWkVcDjIuKf6kz3YOAdEXFpUxI7wcDAQIyOjrZi1m0tIti28yBbR/bTJXG0UmVpTxfVCLYMrmXTxtVIanWaM2pG/lnPw8ugtfGbIe995Pitjd8Mee+jvMefjqRdETEw3bh2/7qxCngBMGthGBHfBRpSFErqjojJRsTqdNt2HmR45AD3HaseH1Y5mnTt8MgBAK64aE1LcpuLZuSf9Ty8DFobvxny3keO39r4zZD3Psp7/PnK9BxDSb8jaY+kOyX9o6SHSfpsOuyzklam071f0jsk/Yekb0qaKvLeAjxR0m5Jr5C0StIXJN2ePh6Xvn+VpL3p8xdL+mdJn5K0X9Jba/K5RNKt6Xs/LKk3Hf4tSa+X9EXguZKulHR3mueHsuyjopooV9g6sp8jx6avsY8cm2R45AD3litNzmxumpF/1vPwMmht/GbIex85fmvjN0Pe+yjv8Rcis8JQ0jrgdcBgRJwN/CEwDPxDRJwFfAB4R81bHgQ8AXg6SUEI8BrgCxGxISKuBQ4BvxoR5wCXnfD+WhvS8WcCl0l6qKQHAFcDF6fvHwVeWfOe+yLiCRHxoXS+j0nzfPli+qFT7dg7RledXd9dgh37xpqU0fw0I/+s5+Fl0Nr4zZD3PnL81sZvhrz3Ud7jL0SWh5IHgY9ExA8AIuKHki4Anp2O/0fgrTXT3xgRVeBuSQ+cIeYSYFjSBmASeOQM0302In4CIOlu4GHAqcAZwC3psfqlwK0177mh5vke4AOSbgRunG4Gki4HLgdYuXLlDGl0rvGJMkcr1VmnKVeqHDpcblJG89OM/LOeh5dBa+M3Q977yPFbG78Z8t5HeY+/EFkeShZQ78qW2vG1rZ6pfH4F8H3gbGCApLibTm2sSZICWMCn072PGyLijIh4Wc1099Y8fxrwTuBcYJek/1FAR8T2iBiIiIG+vr4Z0uhcfb0llvbMvnqVerpYsbzUpIzmpxn5Zz0PL4PWxm+GvPeR47c2fjPkvY/yHn8hsiwMPws8T9IvA0g6DfgP4DfT8S8EvlgnxmFgec3r+wPfS/cs/jbQPY98vgQ8XtKaNJ+TJf2PPY6SuoCHRsTNwKtJ9jT2zmM+Bgyt76da54r3asDQuv4mZTQ/zcg/63l4GbQ2fjPkvY8cv7XxmyHvfZT3+AuRWWEYEfuA/x/4nKQ7gb8GrgReImkPSWH3h3XC7AEq6cUrrwC2AS+S9CWSw8j3zvruX8xnHHgx8MF0/l8CTp9m0m7gekl3AXcA10bEj+c6H0v0lnrYMriWZUumr92XLelm8+AaTmnT+3A1I/+s5+Fl0Nr4zZD3PnL81sZvhrz3Ud7jL0Rb38cwL3wfw+nV3pupW6JcqVLq6WIyJ/ffakb+Wc/Dy6C18Zsh733k+K2N3wx576O8x5/ObPcxdGHYAC4MZzdRrnDTvjEOHS6zYnmJoXX9bf0N90TNyD/reXgZtDZ+M+S9jxy/tfGbIe99lPf4tVwYZsyFoZmZmeXFbIVhpje4NjMzM7P8cGFoZmZmZoALQzMzMzNLuTA0MzMzM8CFoZmZmZmlXBiamZmZGeDC0MzMzMxSLgzNzMzMDHBhaGZmZmYpF4ZmZmZmBrgwNDMzM7NUvn6B2zIxUa6wY+8Y4xNl+npLDK3vpzdHP86edf7N6J+8tyHv8bPmdaj18bPm/qmvCG3oBIqIVueQGUmnAi+IiG0LeO8G4MER8W/1ph0YGIjR0dH5J9hiEcG2nQfZOrKfLomjlSpLe7qoRrBlcC2bNq5GUqvTnFHW+Tejf/LehrzHz5rXodbHz5r7p74itKFoJO2KiIHpxhW9VD8V2ATMuzAENgADQN3CMK+27TzI8MgB7jtWPT6scnQSgOGRAwBccdGaluQ2F1nn34z+yXsb8h4/a16HWh8/a+6f+orQhk5S9HMM3wKslrRb0jWSXiXpNkl7JL0RQNKzJH1GiQdJ+oaklcCbgMvS917W0lZkYKJcYevIfo4cm5x2/JFjkwyPHODecqXJmc1N1vk3o3/y3oa8x8+a16HWx8+a+6e+IrSh0xS9MHwNcDAiNgCfBtYC55PsDTxX0pMi4mPAGHAFcB3wvyLiP4HXAzdExIaIuKEVyWdpx94xuursuu8S7Ng31qSM5ifr/JvRP3lvQ97jZ83rUOvjZ839U18R2tBpin4oudYl6eOO9HUvSaH4eWALsBf4UkR8cC7BJF0OXA6wcuXKhiebtfGJMkcr1VmnKVeqHDpcblJG85N1/s3on7y3Ie/xs+Z1qPXxs+b+qa8Ibeg0Rd9jWEvAX6R7ADdExJqIeG867leAKvBASXPqk4jYHhEDETHQ19eXVc6Z6estsbRn9qaWerpYsbzUpIzmJ+v8m9E/eW9D3uNnzetQ6+Nnzf1TXxHa0GmKXhgeBpanz3cAL5XUCyDpVyStkNQD/B3wAuCrwCuneW/hDK3vp1rnivRqwNC6/iZlND9Z59+M/sl7G/IeP2teh1ofP2vun/qK0IZOU+jCMCL+G7hF0l7gV4F/Am6VdBfwEZLC77XAFyLiCyRF4e9KejRwM3BGUS8+6S31sGVwLcuWdE87ftmSbjYPruGUNr3HVNb5N6N/8t6GvMfPmteh1sfPmvunviK0odMUfklExAtOGPT2E16/qWbaw8DpNePOyyqvdrBp42oAto7sp1uiXKlS6uliMoLNg2uOj29XWeffjP7JexvyHj9rXodaHz9r7p/6itCGTlLoG1w3S15vcD1lolzhpn1jHDpcZsXyEkPr+nP17S3r/JvRP3lvQ97jZ83rUOvjZ839U18R2lAUs93g2oVhA+S9MDQzM7POMVthWOhzDM3MzMxs7lwYmpmZmRngwtDMzMzMUi4MzczMzAxwYWhmZmZmKReGZmZmZga4MDQzMzOzlAtDMzMzMwNcGJqZmZlZyoWhmZmZmQEuDM3MzMws5V+vNibKFXbsHWN8okxfb4mh9f305uiHzbPOvxn9k/c25D1+1rwOtT5+1tw/9RWhDZ1AEdHcGUqvjYg3p89PBV4QEduamkSDDQwMxOjoaKvTmLeIYNvOg2wd2U+XxNFKlaU9XVQj2DK4lk0bVyOp1WnOKOv8m9E/eW9D3uNnzetQ6+Nnzf1TXxHaUDSSdkXEwHTjWlGqvxZ4c/r8VGATkGlhKKk7IiaznEcebdt5kOGRA9x3rHp8WOVo0k3DIwcAuOKiNS3JbS6yzr8Z/ZP3NuQ9fta8DrU+ftbcP/UVoQ2dJNNzDCXdKGmXpH2SLpf0FmCZpN2SPgC8BVidvr5GiWsk7ZV0l6TL0jgbJX1e0sck3S3p3ZK60nHvkjSazuONNfP+lqTXS/oi8FxJV6bv3SPpQ+k0p0h6n6TbJN0h6TfS4d2S3pbmsEfSliz7qRUmyhW2juznyLHp6+UjxyYZHjnAveVKkzObm6zzb0b/5L0NeY+fNa9DrY+fNfdPfUVoQ6fJ+uKTl0bEucAAcCVwDXAkIjZExAuB1wAH09evAp4NbADOBi4GrpH0oDTW+cAfA2cCq9NpAV6X7g49C7hQ0lk1878vIp4QER9K5/WYiDgLePnUe4GRiDgPuCid3ynA5cDDa6b/QGO7pfV27B2jq86u+y7Bjn1jTcpofrLOvxn9k/c25D1+1rwOtT5+1tw/9RWhDZ0m68LwSkl3Al8CHgqsrTP9E4APRsRkRHwf+BxwXjruKxHxzfSQ8AfTaQGeJ+l24A5gHXBGTbwbap7vAT4g6beAqa8mlwCvkbQb2AmcBKwkKUrfHREVgIj44YmJpntARyWNjo+P12lW+xmfKHO0Up11mnKlyqHD5SZlND9Z59+M/sl7G/IeP2teh1ofP2vun/qK0IZOk1lhKGkjSYF1QUScTVK4nVTvbbOMO/EqmZD0cOAq4Mnpnr1PnjCPe2uePw14J3AusEtSTzq/56R7LDdExMqI+Go6fNarciJie0QMRMRAX19fnWa1n77eEkt7Zl/8pZ4uViwvNSmj+ck6/2b0T97bkPf4WfM61Pr4WXP/1FeENnSaLPcY3h/4UUT8TNLpwGPT4cckLUmfHwaW17zn88Bl6Tl+fcCTgK+k486X9PD03MLLgC8C9yMp/n4i6YHAU6dLJH3PQyPiZuDVJBe99AI7gC1KL4eS9Jj0LTcBL0+LRySdtoh+aEtD6/up1rkivRowtK6/SRnNT9b5N6N/8t6GvMfPmteh1sfPmvunviK0odNkWRh+CuiRtAf4c5LDyQDbgT2SPhAR/w3ckl5scg3wMZJDvncCI8CrI2LqxINbSS5W2QvcA3wsIu4k2RO5D3gfcMsMuXQD10u6K53+2oj4cZrXkjSfvelrgPcA/5kOvxN4waJ7o830lnrYMriWZUu6px2/bEk3mwfXcEqb3mMq6/yb0T95b0Pe42fN61Dr42fN/VNfEdrQaZp+H8OFSA9LXxURT29xKtMqwn0MuyXKlSqlni4mc3Jvqazzb0b/5L0NeY+fNa9DrY+fNfdPfUVoQ9HMdh9DF4YNkNfCcMpEucJN+8Y4dLjMiuUlhtb15+rbW9b5N6N/8t6GvMfPmteh1sfPmvunviK0oShyXxi2u7wXhmZmZtY5ZisMs75djZmZmZnlhAtDMzMzMwNcGJqZmZlZyoWhmZmZmQEuDM3MzMws5cLQzMzMzAAXhmZmZmaWcmFoZmZmZoALQzMzMzNLuTA0MzMzMwD8I4U5MFGusGPvGOMTZfp6Swyt76c3R78vmff8rT4vY1ssr0Nm7cG/ldwAWf1WckSwbedBto7sp0viaKXK0p4uqhFsGVzLpo2rkdTw+TZK3vO3+ryMbbG8Dpk1n38ruQ5Jb5B0Vfr8TZIuTp//kaSTW5XXtp0HGR45wH3Hqvzs6CSVavCzo5Pcd6zK8MgBtu082KrU5iTv+Vt9Xsa2WF6HzNqLC8MTRMTrI+Iz6cs/AlpSGE6UK2wd2c+RY5PTjj9ybJLhkQPcW640ObO5yXv+Vp+XsS2W1yGz9lPYwlDSKZI+KelOSXslXSbpW5L+UtJX0seaad73fkmXSroSeDBws6Sbm53/jr1jdNU5fNIl2LFvrEkZzU/e87f6vIxtsbwOmbWfwhaGwFOA70bE2RGxHvhUOvynEXE+MAz8zUxvjoh3AN8FLoqIi04cL+lySaOSRsfHxxue/PhEmaOV6qzTlCtVDh0uN3zejZD3/K0+L2NbLK9DZu2nyIXhXcDF6R7CJ0bET9LhH6z5e8FCg0fE9ogYiIiBvr6+xeb6P/T1lljaM/viKfV0sWJ5qeHzboS852/1eRnbYnkdMms/hS0MI+IbwLkkBeJfSHr91KjayZqe2BwNre+nWueK8WrA0Lr+JmU0P3nP3+rzMrbF8jpk1n4KWxhKejDws4i4HngbcE466rKav7fWCXMYWJ5NhrPrLfWwZXAty5Z0Tzt+2ZJuNg+u4ZQ2vc9X3vO3+ryMbbG8Dpm1nyJvbWcC10iqAseAPwA+ApQkfZmkKH5+nRjbgX+X9L3pzjPM2qaNqwHYOrKfbolypUqpp4vJCDYPrjk+vl3lPX+rz8vYFsvrkFl76agbXEv6FjAQET9oZNysbnA9ZaJc4aZ9Yxw6XGbF8hJD6/pz9Q067/lbfV7Gtlheh8yaZ7YbXLswbICsC0MzMzOzRpmtMOyor2MRsarVOZiZmZm1q8JefGJmZmZm8+PC0MzMzMwAF4ZmZmZmlnJhaGZmZmaAC0MzMzMzS7kwNDMzMzPAhaGZmZmZpTrqBtdZkTQOfLsJs3oA0NCbczt+W8Vvxjwcv9jxmzEPx3f8dp+H49f3sIjom26EC8MckTQ6053KHT//8ZsxD8cvdvxmzMPxHb/d5+H4i+NDyWZmZmYGuDA0MzMzs5QLw3zZ7viFjt+MeTh+seM3Yx6O7/jtPg/HXwSfY2hmZmZmgPcYmpmZmVnKhaGZmZmZAS4MbYEkyfGLzctgdnnvn7z3fxHkfRkXYR3Kex9lEd+FYYFJ6skqduT/5NSTASRlsg1IekAWcU+Yx3mSnpz1fPLM28CsMt0G0tiZbgeSHilpZYbxs97GlmYYuzC8Hc+q4duxC8MCkrQeICIqkroziP8kSW+S9EJJp2cQfxB4u6SXTbWlwfGfCHxe0pkRUW30P0ZJTwc+Iem0rL4tSnoK8O/AUPq60W24EPhzSb8u6dya4Q1pj6SLgGsk/aakgZrhjYrvbWD2+JluA+k8Mt0OJD0T+AjQJ2lJBvGz3sZ+FfiwpDdIGmpk7DR+rrfhNJa349njZ7IduzAsGEm/BuyRtBMgIiYbuUGl8a8D7gWeCTxbqQbFfwrwDmB/Gv+iRsQ9wWOABwPvlXR+ukH1pPNfVDvSD/g3Aq+NiB9m8W007aPXA28Fnirp3IioNjD+k4H3A98l6atXSPotaMy3a0kbgX8CvgM8CdgiaVMD43sbqC+zbSCNkel2IOmRwNXAyyNiF1A5Yfxit+Ost7GLga3AvwAnAWecMH6x+ed6G07n4e24vmy244jwoyAP4JeAvyNZCT8GjNSM62lA/IcCXwaenL7eAHwNOLNB+a8EbgMG09fPB94LPB54dAP76XTg1cClwJ3pfE9qQNwHAV8F/jh9/UDgpcCzgPMalPujgG8BF6avrwbeBZzSwP55NfCC9Hk/cAPwBeAlDYr/XODV6fMVwMXp+vryBsTOeht4iLeBurGbsR2sAt6fPn8ESZH1OmBLA2Jnuo0BAv60Zhv7dZI9k88HntWgeeR2G05j+n/Z3OaTyXbsPYYFEhE/AoaBj0fEs4CKpJvTcZVZ3zy3+N8h+RZ9m6TuiNgN/AfJB/+iRcR/knyYjUh6MMm3dYAXkXzjvXix80i/Rf0Y+DWSD4a3ASPAPkm/rEWcyxIR3wPeBzxW0vOAfyP5Rvc84PL0W/aiRMTXgV+NiM+lbbmF5IO/Fxp2uKsE/K6kkyNijGSvwL8BA2rMOWPdwPPT+IdI2vBO4HxJZy4mcLoN/A3ZbQP/F3gt2W4Dz8tyG0j9iAy2ATi+HWwno+0gXcd7SA4hrwTeAPw3cA/wPEl/spj46TZ2UVbbWCT/0Y8Bf5PutdoOfANYA7xI0u8sJn6qG3iZpGUZbcMlMtqGwf/L5iJdNzPZjl0YFoCkB0taBRARuyI95BERlwDHpjYoSU+QdMEC4z8sjbkjIn4KTB1WEfCwmviPXmT++9PBS4A/iYiXkXxjP0LybWje0vgPTeNH+kF5GzAG7Abun7bn/gv50EnjPzyNfw2wE3gL8N6I2AL8UZr/qoXkXzOPVek89te05WaSfzLXpsMWdLirdhkDf0ny7fPLkv6W5Nv09cBa4OELjH/S1POI+BDwReA9knoj4giwl+Sf2SMaEP/OmueN2gZOqnl5c0T8NCImp0az+G2gNv970qfdNG4bOKnmeXdEfB/4Cg3aBqZpw7Uky/gvaNB2MBU/IqoRcYBkD89OYDwi3hAR/0Tyz/6XG5D/PZLU4G2sNv7bSAqp84CPRsQfAn9FsufwVxYbn6SoupvGbsP9kh6S5n898CUauA3XzGPqs3pXGq+R23Ft/B0ZbMf96ZeV2v9ljdyO+yX9Sho/stiOwYVh7kl6NsmH43ZJH5H0GEmlqfHpBvVDSd8nOedkbIHxr6uNn37rBfgJcEjSU0m+sfykAfmfHBHfTj/oSb+RHibZ/T+vcydq4r93Kn466psk36D/FfhdkkLu7yUtW2D8v5X0MSUnAb+T5PDQu9P8v7/Q/E+Yx7TLGPgTICSdNZ+408S/TtJHgPVpzD8hOYzz1PQb9tdIPnjmG38IuFZS7XlUfwEcIlkuvWmx/l8k/8Dmu4yn4q+bGhY159o0YBv4hfhThYF+fsHDYreB/5F/Wrx9p0HbwIn5T/0j/C7wSeDjLGIbmKkNEfF2kr2E70pfL3g7mCH+HwOfAH5f0i+lg88AVmueF6PMED/0872Di93Gpov/RuBmYGX6mfcz4DTgdEndi1zGh9Ni/H8B/8zit+FfI1lX/k7SjnTwnwI/oAHb8AnzeJ+kf0vbcUzS0vT5Yrfj/xE/HT71WbrY7Xgq/ntr4zdwO56K//7a+CT90JDt+Lho0LFuP5r/IPlmfBNwbvr6rSTFyFOBpTXTvZBkA17XwPgnpcM2AXtIzl+Z1/kZs8T/tRPy/x2SPViPbED87SRXGZ5HUhQ+rWb60xoQ/7o0/pLF5j+HZVBKhy1Pp/mjBsS/BvjbtA09NdO9jKSYXjXP+OeRfBBeD7x9ah0k+XbeT3Ju2B3pfP8LeNQi459xwvieRW4DM8aH4z8p+geL2AZmzb8B28Bs+Z9F8uVowdtAq9uQjn8XySG0t6bLYdr5Lyb/RW5j024DNePfTrL37dUke/lOX2T89TNMt9Bt+EKSgvKJ6eudwFvT54vehmeYx83A22rGL3Y7njF+g7bjWfNvwDYwXfy/Tp83ZDv+hfkt5s1+tPYBnJJupL9WM+yPSQqH9enrhwP/AJzV4Phnpq9fBUwCazPKfwjYN98Pgjrxh4FzgF9KhynD/p/aoOed/1znkQ47a74fNnXi/21NG84BPrXAZfBIkvNqziTZezHMCf+4gKeTfBlYSP7TxV9XM14k387/cYHbwIzx+fk/lFcsYhuol/9S4MmL2AZmy38p8OD0eddC1s85tqGL5KT7rze6DTXTnJ8+HpFF/unfsxu9jqbr5/2Aq4DXsIALE+bYP2ctZBsmOZfz+cClNcMuALaeMN0zFrENzzSPd5ww3UoW8L9sHvFfuZDteC7xSU6Nungh23G9+GnsB02tT/Pt/+keUx9sliNT576kz19CcsLs/4mIb6bDrgUeEhHPTV/3RsREg+OvjIjnpIdaHhQR/5VF/umu8L5IdsE3Kv7bgf6IuGyuMReaf/q6LyLGM5jHQyPi0tpps4ifvr5/RMz50Mp0OaWH4X6DZC/DuyJir5KT44/MJ/c5xt8WEfsknRIR9079zSD+MuAoyfq0oG2gTvxe4GfAAxa6DcwQ/28jYs98PxsW2IapZTCv7WAe8acOw2aV/3JgYjHb2Azxf2EbmO92vID+X9A2LKkPmIyIH6bDzyHZS/uEiDg213iLmYekrkhOD1nQ/7K5tkHSQyK5wKzR+XdHcrudFQvZjmeJ/6SIKE/1z1zj1uNzDHNGybk0F6fPn0By1/OHAU+RtBogIl4BnCzpgenr+WxIc41/UrqSV+f5D3E++a+IxHw2pLnE/0OgN93Y5mWB/T/fonCu81iW/rOd7z+s+cTvT1/P5x9KbfxBSeelMfaQHL4fI7mi8a3AsOZ/Pthc4r8gjb9VUs88i8L5xB8m+Za+0G2gXvy3k+yxWug2MFP8y9L4fzPf/l9AG6aWwXyKwvnGz3IdupZkr02j409tA+9M+2c+ReG81tE0/oK2YZLzNh+WDu8CJkjW+WOSXirpLdL8z2WbzzxIzptb8P+yObThL9P48ykK5xr/ZcCb0/gL2o5niV9O++fNC1kGM8nsZ2YsMycBT5Z0Nck/jCcqubv6c4EHSrodWEayEt2XcfxyzuMfzTj+Qvq/3dow7715NfFfR/IZc/xXHSJit6TvkJwPtYHkEPZ89zrMN/58r86bT/yn5Tz+Qvp/IfNotza0W/ys+2eh8a8muap2KI1dlXQPcFdakPwB8LL5fjldyDwyjv+7GcZ/ecbx/wD43QUug2m5MMyZiPiepJ+QnDNyQzpsRNIEyc0uf5/kcvXfns83RMdvj/hFaENN/LOBD07trUv3WlRIzrt8EnB+ROxz/HzFL0IbHH/O8c86MT7JEYYXABtJvrh8bb7xmzEPx184n2OYA9IvnksiaQXJicbPB34cEVelw08lucR+WczjnBvHb238IrShTvwfRsSr0+G/BAhYMZ8PM8dvbfwitMHxGxb/EcDvAX8XEd+Ya/xmzMPxG8OFYY5I+n2Sq4z/b0QMK7kn3x8D/0lymf1jgddExIIOYTp+a+MXoQ2zxP82cBfwOJKfSlvQSeuO39r4RWiD4y86/nrg2oj474XEb8Y8HH+RogGXNvuR/QN4Nsn9j55H8tNPf5UOfzTJJfy3M8/7dzl++8QvQhscv9jxi9AGx190/N1NWIcWNQ/HX/wjs8B+NHAhJVcmvR94Svr6l9IV5pqaaX7J8fMZvwhtcPxixy9CGxzf61Cnx5/rwxeftKETzzMguSfVI4DHSbojIr4v6Vzgm5KIiFdF8qPjjp+D+EVog+MXO34R2uD4rY1fhDbkPf6CRcaVpx/z/sagmucXkPzo+SkkV5hdD1xGcsNngFOBNY6fn/hFaIPjFzt+Edrg+F6HOj3+Yh7eY9hmYmqNka4g+V3IT5OsIGeR3oSY5ObSn4yIHwA/dvz8xC9CGxy/2PGL0AbHb238IrQh7/EXw7980oYkPRZ4JnAJyQ2M/29EHI2IfwQ+Q3LV2UJubOz4bRC/CG1w/GLHL0IbHL+18YvQhrzHX3BeadFqbUTJPYp+g+QG5L8K/HpE3CfpNyLiX7SI3zd1/NbHL0IbHL/Y8YvQBsdvbfwitCHv8RcsmnTM2o85nXPwm8A7SM4z+AZwsGbcbwM7gNMcP5/xi9AGxy92/CK0wfG9DnV6/MU+WjJTP46vAF0nvH4I8HHgwcBjSG46/EbgfwOjwJmOn5/4RWiD4xc7fhHa4Phehzo9fqMfPsewRSQtiYhq+lzp4P8m+fZwcUTcAfwacAz4IfDCiLjL8fMRvwhtcPxixy9CGxy/tfGL0Ia8x89EK6vSTn0AjwTeSnLPonOAfSSXqJ+Wvv4W8GjHz2f8IrTB8YsdvwhtcHyvQ50eP6uH9xg2WfqNYQWwFLgC+DrJuQbPJvm5mxXp3wsdP3/xi9AGxy92/CK0wfFbG78Ibch7/Ey1ujLtpAf8wg0tfxf4MPBnQAnoJrkqaSdwALgV6HH8/MQvQhscv9jxi9AGx/c61Onxs374djUtIOmPgKcC3yE5+fRO4O0RMSbpgcDpwHcjYr/j5y9+Edrg+MWOX4Q2OH5r4xehDXmPn5lWV6ad9iA5t+DTwKnp6wtJdi+/EVjh+PmOX4Q2OH6x4xehDY7vdajT42f56MIyVXMVEpJOAn4C3A94GkBEfA74HvDrwB9I6nb8/MQvQhscv9jxi9AGx29t/CK0Ie/xm8m/lZwhSYr0q4KkzcAZwH5gGHi8pB9HxCeBbwKfBd4VEZOOn4/4RWiD4xc7fhHa4PitjV+ENuQ9ftM1atejH7PuUt4EfI7kppZjwI3ApSSXrr8fOAg8yvHzGb8IbXD8YscvQhsc3+tQp8dv1sMXn2RM0v2Avya5Iul5JCeijpNcnfRR0htdRsR/On7+4hehDY5f7PhFaIPjtzZ+EdqQ9/hN1erKtBMeJCvG2cDN6esukpXkamCp4+c7fhHa4PjFjl+ENji+16FOj9+sh88xbIKIKEv6GdAj6UzgocC/A/8QEUcdP9/xmzEPx3f8dp+H4xc7fjPm4fjtwYeSm0RSCfgj4GLggcDzIuJrjl+M+M2Yh+M7frvPw/GLHb8Z83D81nNh2ESSlpD8ZmI1Iv7L8YsVvxnzcHzHb/d5OH6x4zdjHo7fWi4MzczMzAzAN7g2MzMzs4QLQzMzMzMDXBiamZmZWcqFoZmZmZkBLgzNzMzMLOXC0MysiSR1L/L9/mECM8uMb1djZtYgklYBnwK+DDwG+AbwO8DdwPuAS4BhQMBr07+fjIg/Sd//MuBPgO8C+4FyRGyW9H7gh2nM24EbgL8BlgFHgJdExNclvRh4JtANrAf+ClgK/DZQBn4tIn6YXQ+YWd75m6eZWWM9CnhZRNwi6X3ApnT4fRHxBEkPBr4EnAv8CLhJ0jOBrwB/BpwDHAZGgDtr4j4SuDgiJiXdD3hSRFQkXQy8GXhOOt16kgLyJOAA8CcR8RhJ15IUqX+TUbvNrABcGJqZNdZ3IuKW9Pn1wJXp8xvSv+cBOyNiHEDSB4AnpeM+N7VHT9KHSYrBKR+OiMn0+f2Bv5e0FghgSc10N0fEYeCwpJ8A/5oOvws4qxENNLPi8jmGZmaNdeL5OVOv703/aob3zTR8yr01z/+cpABcDzyDZO/glHLN82rN6yreGWBmdbgwNDNrrJWSLkifPx/44gnjvwxcKOkB6YUozwc+R3Io+UJJv5ReYPIcZnZ/YOo3WF/csMzNrOO5MDQza6yvAi+StAc4DXhX7ciI+B7wp8DNJOcQ3h4R/xIR/0VyruCXgc+QXLDykxnm8VbgLyTdQnKhiZlZQ/iqZDOzBkmvSv5Eeoh3Ie/vjYiJdI/hx4D3RcTHGpmjmdlsvMfQzKx9vEHSbmAvcA9wY0uzMbOO4z2GZmZmZgZ4j6GZmZmZpVwYmpmZmRngwtDMzMzMUi4MzczMzAxwYWhmZmZmKReGZmZmZgbA/wNtZupJdtKCQAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "modules_scatter.plot.scatter(x='program', y='module', s=80, rot=45, figsize=(10, 6))" ] }, { "cell_type": "code", "execution_count": 70, "id": "0e1cb390-cfce-41aa-b18f-b3d9fee57ae0", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cmap = mpl.colors.ListedColormap(['white', 'blue'])\n", "\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.imshow(modules_df.to_numpy().T, cmap=cmap)\n", "plt.xticks(range(modules_df.index.size), labels=modules_df.index.values, rotation=90);\n", "plt.yticks(range(modules_df.columns.size), labels=modules_df.columns.values);\n", "\n", "ax.xaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.yaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.grid(which='minor', axis='both', linestyle='-', color='silver', linewidth=1.5);\n", "plt.savefig('packages.png');" ] }, { "cell_type": "code", "execution_count": 25, "id": "6436d177-2695-4847-b00c-bf7f4a38f1fe", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cmap = mpl.colors.ListedColormap(['white', 'blue'])\n", "\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.imshow(modules_sorted_cols.to_numpy().T, cmap=cmap)\n", "plt.xticks(range(modules_sorted_cols.index.size), labels=modules_sorted_cols.index.values, rotation=90);\n", "plt.yticks(range(modules_sorted_cols.columns.size), labels=modules_sorted_cols.columns.values);\n", "\n", "ax.xaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.yaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.grid(which='minor', axis='both', linestyle='-', color='silver', linewidth=1.5);\n", "plt.savefig('packages_sorted.png');" ] }, { "cell_type": "code", "execution_count": 26, "id": "d79246cc-4471-43ac-ba76-d720acbb7435", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['../advent01/Main.hs',\n", " '../advent02/Main.hs',\n", " '../advent03/Main.hs',\n", " '../advent04/Main.hs',\n", " '../advent05/Main.hs',\n", " '../advent06/Main.hs',\n", " '../advent07/Main.hs',\n", " '../advent08/Main.hs',\n", " '../advent09/Main.hs',\n", " '../advent10/Main.hs',\n", " '../advent11/Main.hs',\n", " '../advent12/Main.hs',\n", " '../advent13/Main.hs',\n", " '../advent14/Main.hs',\n", " '../advent15/Main.hs',\n", " '../advent16/Main.hs',\n", " '../advent17/Main.hs',\n", " '../advent18/Main.hs',\n", " '../advent19/Main.hs',\n", " '../advent20/Main.hs',\n", " '../advent21/Main.hs',\n", " '../advent22/Main.hs',\n", " '../advent23/Main.hs',\n", " '../advent24/Main.hs',\n", " '../advent25/Main.hs']" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mains = list(sorted(f for f in glob.glob('../advent*/Main.hs')))\n", "mains" ] }, { "cell_type": "code", "execution_count": 40, "id": "f9076c9f-fc86-435b-9471-99726bfbfb87", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'advent01': [('AoC', False),\n", " ('Data.List', False),\n", " ('Data.List.Split', False),\n", " ('Data.Ord', False)],\n", " 'advent02': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False)],\n", " 'advent03': [('AoC', False),\n", " ('Data.Char', False),\n", " ('Data.Set', True),\n", " ('Data.List', False),\n", " ('Data.List.Split', False)],\n", " 'advent04': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False)],\n", " 'advent05': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.List', False),\n", " ('Data.Maybe', False),\n", " ('Data.IntMap.Strict', True),\n", " ('Data.IntMap.Strict', False)],\n", " 'advent06': [('AoC', False), ('Data.List', False)],\n", " 'advent07': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.Char', False),\n", " ('Data.Maybe', False),\n", " ('Data.Tree', False),\n", " ('Data.Tree.Zipper', False),\n", " ('Data.Map.Strict', True),\n", " ('Data.List', False)],\n", " 'advent08': [('AoC', False), ('Data.List', False)],\n", " 'advent09': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.List', False),\n", " ('Data.Set', True),\n", " ('Linear', False),\n", " ('Control.Lens', False)],\n", " 'advent10': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.List', False),\n", " ('Data.List.Split', False)],\n", " 'advent11': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.List', False),\n", " ('Data.IntMap.Strict', True),\n", " ('Data.IntMap', False),\n", " ('Control.Lens', False),\n", " ('Control.Monad.State.Strict', False),\n", " ('Control.Monad.Reader', False),\n", " ('Control.Monad.Writer', False),\n", " ('Control.Monad.RWS.Strict', False)],\n", " 'advent12': [('AoC', False),\n", " ('Data.PQueue.Prio.Min', True),\n", " ('Data.Set', True),\n", " ('Data.Sequence', True),\n", " ('Data.Sequence', False),\n", " ('Data.Foldable', False),\n", " ('Data.Char', False),\n", " ('Control.Monad.Reader', False),\n", " ('Control.Lens', False),\n", " ('Linear', False),\n", " ('Data.Array.IArray', False)],\n", " 'advent13': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.List', False)],\n", " 'advent14': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Data.List', False),\n", " ('Data.Ix', False),\n", " ('Data.Maybe', False),\n", " ('Data.Set', True),\n", " ('Linear', False),\n", " ('Control.Lens', False)],\n", " 'advent15': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Data.Ix', False),\n", " ('Data.Set', True),\n", " ('Linear', False)],\n", " 'advent16': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.PQueue.Prio.Max', True),\n", " ('Data.Set', True),\n", " ('Data.Sequence', True),\n", " ('Data.Map.Strict', True),\n", " ('Data.Map.Strict', False),\n", " ('Data.Sequence', False),\n", " ('Data.List', False),\n", " ('Data.List.Split', False),\n", " ('Data.Ord', False),\n", " ('Control.Monad.Reader', False),\n", " ('Control.Lens', False)],\n", " 'advent17': [('AoC', False),\n", " ('Data.Set', True),\n", " ('Linear', False),\n", " ('Control.Lens', False),\n", " ('Data.Maybe', False)],\n", " 'advent18': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Data.Set', True),\n", " ('Linear', False),\n", " ('Control.Lens', False),\n", " ('Data.Ix', False),\n", " ('Data.Maybe', False)],\n", " 'advent19': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.PQueue.Prio.Max', True),\n", " ('Data.Set', True),\n", " ('Data.Sequence', True),\n", " ('Data.Map.Strict', True),\n", " ('Data.Map.Strict', False),\n", " ('Data.MultiSet', False),\n", " ('Data.Sequence', False),\n", " ('Data.List', False),\n", " ('Data.Maybe', False),\n", " ('Control.Monad.Reader', False),\n", " ('Control.Lens', False),\n", " ('GHC.Generics', False),\n", " ('Control.Parallel.Strategies', False),\n", " ('Control.DeepSeq', False)],\n", " 'advent20': [('AoC', False),\n", " ('Data.List', False),\n", " ('Data.Maybe', False),\n", " ('Data.CircularList', False),\n", " ('Control.Lens', False)],\n", " 'advent21': [('AoC', False),\n", " ('Data.Text', False),\n", " ('Data.Text.IO', True),\n", " ('Data.Attoparsec.Text', False),\n", " ('Control.Applicative', False),\n", " ('Data.Map.Strict', True),\n", " ('Data.Map.Strict', False),\n", " ('Control.Lens', False)],\n", " 'advent22': [('AoC', False),\n", " ('Prelude', False),\n", " ('Data.Map.Strict', True),\n", " ('Data.Map.Strict', False),\n", " ('Linear', False),\n", " ('Control.Lens', False),\n", " ('Data.Ix', False),\n", " ('Data.Maybe', False),\n", " ('Data.Char', False),\n", " ('Control.Monad.Reader', False)],\n", " 'advent23': [('AoC', False),\n", " ('Data.Set', True),\n", " ('Linear', False),\n", " ('Control.Lens', False),\n", " ('Data.Ix', False),\n", " ('Data.Maybe', False),\n", " ('Data.Monoid', False),\n", " ('Data.MultiSet', False),\n", " ('Control.Monad.State.Strict', False)],\n", " 'advent24': [('AoC', False),\n", " ('Data.PQueue.Prio.Min', True),\n", " ('Data.Set', True),\n", " ('Data.IntMap.Strict', True),\n", " ('Data.Sequence', True),\n", " ('Data.Sequence', False),\n", " ('Control.Monad.Reader', False),\n", " ('Control.Lens', False),\n", " ('Linear', False),\n", " ('Data.Array.IArray', False),\n", " ('Data.List', False),\n", " ('Data.Maybe', False)],\n", " 'advent25': [('AoC', False), ('Data.List', False)]}" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "main_imports = {}\n", "\n", "for m in mains:\n", " with open(m) as f:\n", " lines = f.readlines()\n", " import_lines = [l for l in lines if l.strip().startswith('import') if 'Debug.Trace' not in l]\n", " imports = []\n", " for i in import_lines:\n", " words = i.strip().split()\n", " if 'qualified' in i:\n", " imports.append((words[2], True))\n", " else:\n", " imports.append((words[1], False))\n", " main_imports[m.split('/')[1]] = imports\n", "\n", "main_imports" ] }, { "cell_type": "code", "execution_count": 41, "id": "3260db91-68df-47d3-b4c3-8745ea974033", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(('AoC', False), 25),\n", " (('Data.List', False), 16),\n", " (('Data.Text', False), 14),\n", " (('Data.Text.IO', True), 14),\n", " (('Data.Attoparsec.Text', False), 14),\n", " (('Control.Lens', False), 13),\n", " (('Data.Set', True), 11),\n", " (('Control.Applicative', False), 10),\n", " (('Data.Maybe', False), 10),\n", " (('Linear', False), 9),\n", " (('Control.Monad.Reader', False), 6),\n", " (('Data.Map.Strict', True), 5),\n", " (('Data.Ix', False), 5),\n", " (('Data.List.Split', False), 4),\n", " (('Data.Char', False), 4),\n", " (('Data.Sequence', True), 4),\n", " (('Data.Sequence', False), 4),\n", " (('Data.Map.Strict', False), 4),\n", " (('Data.IntMap.Strict', True), 3),\n", " (('Data.Ord', False), 2),\n", " (('Control.Monad.State.Strict', False), 2),\n", " (('Data.PQueue.Prio.Min', True), 2),\n", " (('Data.Array.IArray', False), 2),\n", " (('Data.PQueue.Prio.Max', True), 2),\n", " (('Data.MultiSet', False), 2),\n", " (('Data.IntMap.Strict', False), 1),\n", " (('Data.Tree', False), 1),\n", " (('Data.Tree.Zipper', False), 1),\n", " (('Data.IntMap', False), 1),\n", " (('Control.Monad.Writer', False), 1),\n", " (('Control.Monad.RWS.Strict', False), 1),\n", " (('Data.Foldable', False), 1),\n", " (('GHC.Generics', False), 1),\n", " (('Control.Parallel.Strategies', False), 1),\n", " (('Control.DeepSeq', False), 1),\n", " (('Data.CircularList', False), 1),\n", " (('Prelude', False), 1),\n", " (('Data.Monoid', False), 1)]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import_counts = collections.Counter(l for ls in main_imports.values() for l in ls)\n", "import_counts.most_common()" ] }, { "cell_type": "code", "execution_count": 42, "id": "3f683faa-4d1d-4269-a66e-0ea848804e03", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'advent01': {'AoC', 'Data.List', 'Data.List.Split', 'Data.Ord'},\n", " 'advent02': {'AoC',\n", " 'Control.Applicative',\n", " 'Data.Attoparsec.Text',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent03': {'AoC', 'Data.Char', 'Data.List', 'Data.List.Split', 'Data.Set'},\n", " 'advent04': {'AoC', 'Data.Attoparsec.Text', 'Data.Text', 'Data.Text.IO'},\n", " 'advent05': {'AoC',\n", " 'Control.Applicative',\n", " 'Data.Attoparsec.Text',\n", " 'Data.IntMap.Strict',\n", " 'Data.List',\n", " 'Data.Maybe',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent06': {'AoC', 'Data.List'},\n", " 'advent07': {'AoC',\n", " 'Control.Applicative',\n", " 'Data.Attoparsec.Text',\n", " 'Data.Char',\n", " 'Data.List',\n", " 'Data.Map.Strict',\n", " 'Data.Maybe',\n", " 'Data.Text',\n", " 'Data.Text.IO',\n", " 'Data.Tree',\n", " 'Data.Tree.Zipper'},\n", " 'advent08': {'AoC', 'Data.List'},\n", " 'advent09': {'AoC',\n", " 'Control.Applicative',\n", " 'Control.Lens',\n", " 'Data.Attoparsec.Text',\n", " 'Data.List',\n", " 'Data.Set',\n", " 'Data.Text',\n", " 'Data.Text.IO',\n", " 'Linear'},\n", " 'advent10': {'AoC',\n", " 'Control.Applicative',\n", " 'Data.Attoparsec.Text',\n", " 'Data.List',\n", " 'Data.List.Split',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent11': {'AoC',\n", " 'Control.Applicative',\n", " 'Control.Lens',\n", " 'Control.Monad.RWS.Strict',\n", " 'Control.Monad.Reader',\n", " 'Control.Monad.State.Strict',\n", " 'Control.Monad.Writer',\n", " 'Data.Attoparsec.Text',\n", " 'Data.IntMap',\n", " 'Data.IntMap.Strict',\n", " 'Data.List',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent12': {'AoC',\n", " 'Control.Lens',\n", " 'Control.Monad.Reader',\n", " 'Data.Array.IArray',\n", " 'Data.Char',\n", " 'Data.Foldable',\n", " 'Data.PQueue.Prio.Min',\n", " 'Data.Sequence',\n", " 'Data.Set',\n", " 'Linear'},\n", " 'advent13': {'AoC',\n", " 'Control.Applicative',\n", " 'Data.Attoparsec.Text',\n", " 'Data.List',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent14': {'AoC',\n", " 'Control.Lens',\n", " 'Data.Attoparsec.Text',\n", " 'Data.Ix',\n", " 'Data.List',\n", " 'Data.Maybe',\n", " 'Data.Set',\n", " 'Data.Text',\n", " 'Data.Text.IO',\n", " 'Linear'},\n", " 'advent15': {'AoC',\n", " 'Data.Attoparsec.Text',\n", " 'Data.Ix',\n", " 'Data.Set',\n", " 'Data.Text',\n", " 'Data.Text.IO',\n", " 'Linear'},\n", " 'advent16': {'AoC',\n", " 'Control.Applicative',\n", " 'Control.Lens',\n", " 'Control.Monad.Reader',\n", " 'Data.Attoparsec.Text',\n", " 'Data.List',\n", " 'Data.List.Split',\n", " 'Data.Map.Strict',\n", " 'Data.Ord',\n", " 'Data.PQueue.Prio.Max',\n", " 'Data.Sequence',\n", " 'Data.Set',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent17': {'AoC', 'Control.Lens', 'Data.Maybe', 'Data.Set', 'Linear'},\n", " 'advent18': {'AoC',\n", " 'Control.Lens',\n", " 'Data.Attoparsec.Text',\n", " 'Data.Ix',\n", " 'Data.Maybe',\n", " 'Data.Set',\n", " 'Data.Text',\n", " 'Data.Text.IO',\n", " 'Linear'},\n", " 'advent19': {'AoC',\n", " 'Control.Applicative',\n", " 'Control.DeepSeq',\n", " 'Control.Lens',\n", " 'Control.Monad.Reader',\n", " 'Control.Parallel.Strategies',\n", " 'Data.Attoparsec.Text',\n", " 'Data.List',\n", " 'Data.Map.Strict',\n", " 'Data.Maybe',\n", " 'Data.MultiSet',\n", " 'Data.PQueue.Prio.Max',\n", " 'Data.Sequence',\n", " 'Data.Set',\n", " 'Data.Text',\n", " 'Data.Text.IO',\n", " 'GHC.Generics'},\n", " 'advent20': {'AoC',\n", " 'Control.Lens',\n", " 'Data.CircularList',\n", " 'Data.List',\n", " 'Data.Maybe'},\n", " 'advent21': {'AoC',\n", " 'Control.Applicative',\n", " 'Control.Lens',\n", " 'Data.Attoparsec.Text',\n", " 'Data.Map.Strict',\n", " 'Data.Text',\n", " 'Data.Text.IO'},\n", " 'advent22': {'AoC',\n", " 'Control.Lens',\n", " 'Control.Monad.Reader',\n", " 'Data.Char',\n", " 'Data.Ix',\n", " 'Data.Map.Strict',\n", " 'Data.Maybe',\n", " 'Linear',\n", " 'Prelude'},\n", " 'advent23': {'AoC',\n", " 'Control.Lens',\n", " 'Control.Monad.State.Strict',\n", " 'Data.Ix',\n", " 'Data.Maybe',\n", " 'Data.Monoid',\n", " 'Data.MultiSet',\n", " 'Data.Set',\n", " 'Linear'},\n", " 'advent24': {'AoC',\n", " 'Control.Lens',\n", " 'Control.Monad.Reader',\n", " 'Data.Array.IArray',\n", " 'Data.IntMap.Strict',\n", " 'Data.List',\n", " 'Data.Maybe',\n", " 'Data.PQueue.Prio.Min',\n", " 'Data.Sequence',\n", " 'Data.Set',\n", " 'Linear'},\n", " 'advent25': {'AoC', 'Data.List'}}" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "main_imports_unqualified = {m: set(i[0] for i in main_imports[m]) for m in main_imports}\n", "main_imports_unqualified" ] }, { "cell_type": "code", "execution_count": 43, "id": "e5ff5780-e511-41ab-9207-0cc6bdaecb64", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('AoC', 25),\n", " ('Data.List', 16),\n", " ('Data.Text', 14),\n", " ('Data.Attoparsec.Text', 14),\n", " ('Data.Text.IO', 14),\n", " ('Control.Lens', 13),\n", " ('Data.Set', 11),\n", " ('Control.Applicative', 10),\n", " ('Data.Maybe', 10),\n", " ('Linear', 9),\n", " ('Control.Monad.Reader', 6),\n", " ('Data.Map.Strict', 5),\n", " ('Data.Ix', 5),\n", " ('Data.List.Split', 4),\n", " ('Data.Char', 4),\n", " ('Data.Sequence', 4),\n", " ('Data.IntMap.Strict', 3),\n", " ('Data.Ord', 2),\n", " ('Control.Monad.State.Strict', 2),\n", " ('Data.PQueue.Prio.Min', 2),\n", " ('Data.Array.IArray', 2),\n", " ('Data.PQueue.Prio.Max', 2),\n", " ('Data.MultiSet', 2),\n", " ('Data.Tree', 1),\n", " ('Data.Tree.Zipper', 1),\n", " ('Control.Monad.Writer', 1),\n", " ('Control.Monad.RWS.Strict', 1),\n", " ('Data.IntMap', 1),\n", " ('Data.Foldable', 1),\n", " ('Control.DeepSeq', 1),\n", " ('GHC.Generics', 1),\n", " ('Control.Parallel.Strategies', 1),\n", " ('Data.CircularList', 1),\n", " ('Prelude', 1),\n", " ('Data.Monoid', 1)]" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import_counts_unqualified = collections.Counter(l for ls in main_imports_unqualified.values() for l in ls)\n", "import_counts_unqualified.most_common()" ] }, { "cell_type": "code", "execution_count": 44, "id": "e0580f26-9f6d-49f9-83ff-92dbd190aad6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AoCControl.ApplicativeControl.DeepSeqControl.LensControl.Monad.RWS.StrictControl.Monad.ReaderControl.Monad.State.StrictControl.Monad.WriterControl.Parallel.StrategiesData.Array.IArray...Data.PQueue.Prio.MinData.SequenceData.SetData.TextData.Text.IOData.TreeData.Tree.ZipperGHC.GenericsLinearPrelude
advent01TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent02TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent03TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseTrueFalseFalseFalseFalseFalseFalseFalse
advent04TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent05TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent06TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent07TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueTrueTrueFalseFalseFalse
advent08TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent09TrueTrueFalseTrueFalseFalseFalseFalseFalseFalse...FalseFalseTrueTrueTrueFalseFalseFalseTrueFalse
advent10TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent11TrueTrueFalseTrueTrueTrueTrueTrueFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent12TrueFalseFalseTrueFalseTrueFalseFalseFalseTrue...TrueTrueTrueFalseFalseFalseFalseFalseTrueFalse
advent13TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent14TrueFalseFalseTrueFalseFalseFalseFalseFalseFalse...FalseFalseTrueTrueTrueFalseFalseFalseTrueFalse
advent15TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseTrueTrueTrueFalseFalseFalseTrueFalse
advent16TrueTrueFalseTrueFalseTrueFalseFalseFalseFalse...FalseTrueTrueTrueTrueFalseFalseFalseFalseFalse
advent17TrueFalseFalseTrueFalseFalseFalseFalseFalseFalse...FalseFalseTrueFalseFalseFalseFalseFalseTrueFalse
advent18TrueFalseFalseTrueFalseFalseFalseFalseFalseFalse...FalseFalseTrueTrueTrueFalseFalseFalseTrueFalse
advent19TrueTrueTrueTrueFalseTrueFalseFalseTrueFalse...FalseTrueTrueTrueTrueFalseFalseTrueFalseFalse
advent20TrueFalseFalseTrueFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent21TrueTrueFalseTrueFalseFalseFalseFalseFalseFalse...FalseFalseFalseTrueTrueFalseFalseFalseFalseFalse
advent22TrueFalseFalseTrueFalseTrueFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseTrueTrue
advent23TrueFalseFalseTrueFalseFalseTrueFalseFalseFalse...FalseFalseTrueFalseFalseFalseFalseFalseTrueFalse
advent24TrueFalseFalseTrueFalseTrueFalseFalseFalseTrue...TrueTrueTrueFalseFalseFalseFalseFalseTrueFalse
advent25TrueFalseFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
\n", "

25 rows × 35 columns

\n", "
" ], "text/plain": [ " AoC Control.Applicative Control.DeepSeq Control.Lens \\\n", "advent01 True False False False \n", "advent02 True True False False \n", "advent03 True False False False \n", "advent04 True False False False \n", "advent05 True True False False \n", "advent06 True False False False \n", "advent07 True True False False \n", "advent08 True False False False \n", "advent09 True True False True \n", "advent10 True True False False \n", "advent11 True True False True \n", "advent12 True False False True \n", "advent13 True True False False \n", "advent14 True False False True \n", "advent15 True False False False \n", "advent16 True True False True \n", "advent17 True False False True \n", "advent18 True False False True \n", "advent19 True True True True \n", "advent20 True False False True \n", "advent21 True True False True \n", "advent22 True False False True \n", "advent23 True False False True \n", "advent24 True False False True \n", "advent25 True False False False \n", "\n", " Control.Monad.RWS.Strict Control.Monad.Reader \\\n", "advent01 False False \n", "advent02 False False \n", "advent03 False False \n", "advent04 False False \n", "advent05 False False \n", "advent06 False False \n", "advent07 False False \n", "advent08 False False \n", "advent09 False False \n", "advent10 False False \n", "advent11 True True \n", "advent12 False True \n", "advent13 False False \n", "advent14 False False \n", "advent15 False False \n", "advent16 False True \n", "advent17 False False \n", "advent18 False False \n", "advent19 False True \n", "advent20 False False \n", "advent21 False False \n", "advent22 False True \n", "advent23 False False \n", "advent24 False True \n", "advent25 False False \n", "\n", " Control.Monad.State.Strict Control.Monad.Writer \\\n", "advent01 False False \n", "advent02 False False \n", "advent03 False False \n", "advent04 False False \n", "advent05 False False \n", "advent06 False False \n", "advent07 False False \n", "advent08 False False \n", "advent09 False False \n", "advent10 False False \n", "advent11 True True \n", "advent12 False False \n", "advent13 False False \n", "advent14 False False \n", "advent15 False False \n", "advent16 False False \n", "advent17 False False \n", "advent18 False False \n", "advent19 False False \n", "advent20 False False \n", "advent21 False False \n", "advent22 False False \n", "advent23 True False \n", "advent24 False False \n", "advent25 False False \n", "\n", " Control.Parallel.Strategies Data.Array.IArray ... \\\n", "advent01 False False ... \n", "advent02 False False ... \n", "advent03 False False ... \n", "advent04 False False ... \n", "advent05 False False ... \n", "advent06 False False ... \n", "advent07 False False ... \n", "advent08 False False ... \n", "advent09 False False ... \n", "advent10 False False ... \n", "advent11 False False ... \n", "advent12 False True ... \n", "advent13 False False ... \n", "advent14 False False ... \n", "advent15 False False ... \n", "advent16 False False ... \n", "advent17 False False ... \n", "advent18 False False ... \n", "advent19 True False ... \n", "advent20 False False ... \n", "advent21 False False ... \n", "advent22 False False ... \n", "advent23 False False ... \n", "advent24 False True ... \n", "advent25 False False ... \n", "\n", " Data.PQueue.Prio.Min Data.Sequence Data.Set Data.Text \\\n", "advent01 False False False False \n", "advent02 False False False True \n", "advent03 False False True False \n", "advent04 False False False True \n", "advent05 False False False True \n", "advent06 False False False False \n", "advent07 False False False True \n", "advent08 False False False False \n", "advent09 False False True True \n", "advent10 False False False True \n", "advent11 False False False True \n", "advent12 True True True False \n", "advent13 False False False True \n", "advent14 False False True True \n", "advent15 False False True True \n", "advent16 False True True True \n", "advent17 False False True False \n", "advent18 False False True True \n", "advent19 False True True True \n", "advent20 False False False False \n", "advent21 False False False True \n", "advent22 False False False False \n", "advent23 False False True False \n", "advent24 True True True False \n", "advent25 False False False False \n", "\n", " Data.Text.IO Data.Tree Data.Tree.Zipper GHC.Generics Linear \\\n", "advent01 False False False False False \n", "advent02 True False False False False \n", "advent03 False False False False False \n", "advent04 True False False False False \n", "advent05 True False False False False \n", "advent06 False False False False False \n", "advent07 True True True False False \n", "advent08 False False False False False \n", "advent09 True False False False True \n", "advent10 True False False False False \n", "advent11 True False False False False \n", "advent12 False False False False True \n", "advent13 True False False False False \n", "advent14 True False False False True \n", "advent15 True False False False True \n", "advent16 True False False False False \n", "advent17 False False False False True \n", "advent18 True False False False True \n", "advent19 True False False True False \n", "advent20 False False False False False \n", "advent21 True False False False False \n", "advent22 False False False False True \n", "advent23 False False False False True \n", "advent24 False False False False True \n", "advent25 False False False False False \n", "\n", " Prelude \n", "advent01 False \n", "advent02 False \n", "advent03 False \n", "advent04 False \n", "advent05 False \n", "advent06 False \n", "advent07 False \n", "advent08 False \n", "advent09 False \n", "advent10 False \n", "advent11 False \n", "advent12 False \n", "advent13 False \n", "advent14 False \n", "advent15 False \n", "advent16 False \n", "advent17 False \n", "advent18 False \n", "advent19 False \n", "advent20 False \n", "advent21 False \n", "advent22 True \n", "advent23 False \n", "advent24 False \n", "advent25 False \n", "\n", "[25 rows x 35 columns]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_imports = set(m for p in main_imports_unqualified for m in main_imports_unqualified[p])\n", "imports_df = pd.DataFrame.from_dict(\n", " {p: {m: m in main_imports_unqualified[p] \n", " for m in sorted(all_imports)} \n", " for p in main_imports_unqualified}, \n", " orient='index').sort_index()\n", "imports_df" ] }, { "cell_type": "code", "execution_count": 45, "id": "3668bdab-5b8f-4ab0-b788-002f0ced7b8c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "| | 0 |\n", "|:----------------------------|----:|\n", "| AoC | 25 |\n", "| Data.List | 16 |\n", "| Data.Text | 14 |\n", "| Data.Attoparsec.Text | 14 |\n", "| Data.Text.IO | 14 |\n", "| Control.Lens | 13 |\n", "| Data.Set | 11 |\n", "| Data.Maybe | 10 |\n", "| Control.Applicative | 10 |\n", "| Linear | 9 |\n", "| Control.Monad.Reader | 6 |\n", "| Data.Map.Strict | 5 |\n", "| Data.Ix | 5 |\n", "| Data.Sequence | 4 |\n", "| Data.List.Split | 4 |\n", "| Data.Char | 4 |\n", "| Data.IntMap.Strict | 3 |\n", "| Data.Array.IArray | 2 |\n", "| Control.Monad.State.Strict | 2 |\n", "| Data.MultiSet | 2 |\n", "| Data.Ord | 2 |\n", "| Data.PQueue.Prio.Max | 2 |\n", "| Data.PQueue.Prio.Min | 2 |\n", "| Data.Tree | 1 |\n", "| Data.Tree.Zipper | 1 |\n", "| GHC.Generics | 1 |\n", "| Control.DeepSeq | 1 |\n", "| Data.Monoid | 1 |\n", "| Data.IntMap | 1 |\n", "| Data.Foldable | 1 |\n", "| Data.CircularList | 1 |\n", "| Control.Parallel.Strategies | 1 |\n", "| Control.Monad.Writer | 1 |\n", "| Control.Monad.RWS.Strict | 1 |\n", "| Prelude | 1 |\n" ] } ], "source": [ "print(imports_df.sum().sort_values(ascending=False).to_markdown())" ] }, { "cell_type": "code", "execution_count": 46, "id": "3f3e9d52-87b4-4a2d-889d-0bd925f967b0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
programmodulepresent
0advent01AoCTrue
17advent01Data.ListTrue
18advent01Data.List.SplitTrue
23advent01Data.OrdTrue
35advent02AoCTrue
............
831advent24Data.SequenceTrue
832advent24Data.SetTrue
838advent24LinearTrue
840advent25AoCTrue
857advent25Data.ListTrue
\n", "

191 rows × 3 columns

\n", "
" ], "text/plain": [ " program module present\n", "0 advent01 AoC True\n", "17 advent01 Data.List True\n", "18 advent01 Data.List.Split True\n", "23 advent01 Data.Ord True\n", "35 advent02 AoC True\n", ".. ... ... ...\n", "831 advent24 Data.Sequence True\n", "832 advent24 Data.Set True\n", "838 advent24 Linear True\n", "840 advent25 AoC True\n", "857 advent25 Data.List True\n", "\n", "[191 rows x 3 columns]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "imports_scatter = imports_df.stack().reset_index()\n", "imports_scatter.columns = ['program', 'module', 'present']\n", "imports_scatter = imports_scatter[imports_scatter.present]\n", "imports_scatter" ] }, { "cell_type": "code", "execution_count": 47, "id": "1b22b8c9-a14f-406d-bd77-ba7d7b3c3ffa", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "imports_scatter.plot.scatter(x='program', y='module', s=80, rot=45, figsize=(10, 10))" ] }, { "cell_type": "code", "execution_count": 48, "id": "9552d5f9-cc44-4d49-b97e-8961556878c5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "35" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "imports_df.columns.size" ] }, { "cell_type": "code", "execution_count": 49, "id": "fa42c909-7c89-4351-97fd-150138892255", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(['AoC', 'Data.List', 'Data.Text', 'Data.Attoparsec.Text',\n", " 'Data.Text.IO', 'Control.Lens', 'Data.Set', 'Data.Maybe',\n", " 'Control.Applicative', 'Linear', 'Control.Monad.Reader',\n", " 'Data.Map.Strict', 'Data.Ix', 'Data.Sequence', 'Data.List.Split',\n", " 'Data.Char', 'Data.IntMap.Strict', 'Data.Array.IArray',\n", " 'Control.Monad.State.Strict', 'Data.MultiSet', 'Data.Ord',\n", " 'Data.PQueue.Prio.Max', 'Data.PQueue.Prio.Min', 'Data.Tree',\n", " 'Data.Tree.Zipper', 'GHC.Generics', 'Control.DeepSeq',\n", " 'Data.Monoid', 'Data.IntMap', 'Data.Foldable', 'Data.CircularList',\n", " 'Control.Parallel.Strategies', 'Control.Monad.Writer',\n", " 'Control.Monad.RWS.Strict', 'Prelude'], dtype=object)" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted_imports = imports_df.sum().sort_values(ascending=False).index.values\n", "sorted_imports" ] }, { "cell_type": "code", "execution_count": 50, "id": "8d845f2f-4b8f-49cf-92a8-342fd368c71f", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AoCData.ListData.TextData.Attoparsec.TextData.Text.IOControl.LensData.SetData.MaybeControl.ApplicativeLinear...GHC.GenericsControl.DeepSeqData.MonoidData.IntMapData.FoldableData.CircularListControl.Parallel.StrategiesControl.Monad.WriterControl.Monad.RWS.StrictPrelude
advent01TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent02TrueFalseTrueTrueTrueFalseFalseFalseTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent03TrueTrueFalseFalseFalseFalseTrueFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent04TrueFalseTrueTrueTrueFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent05TrueTrueTrueTrueTrueFalseFalseTrueTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent06TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent07TrueTrueTrueTrueTrueFalseFalseTrueTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent08TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent09TrueTrueTrueTrueTrueTrueTrueFalseTrueTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent10TrueTrueTrueTrueTrueFalseFalseFalseTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent11TrueTrueTrueTrueTrueTrueFalseFalseTrueFalse...FalseFalseFalseTrueFalseFalseFalseTrueTrueFalse
advent12TrueFalseFalseFalseFalseTrueTrueFalseFalseTrue...FalseFalseFalseFalseTrueFalseFalseFalseFalseFalse
advent13TrueTrueTrueTrueTrueFalseFalseFalseTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent14TrueTrueTrueTrueTrueTrueTrueTrueFalseTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent15TrueFalseTrueTrueTrueFalseTrueFalseFalseTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent16TrueTrueTrueTrueTrueTrueTrueFalseTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent17TrueFalseFalseFalseFalseTrueTrueTrueFalseTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent18TrueFalseTrueTrueTrueTrueTrueTrueFalseTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent19TrueTrueTrueTrueTrueTrueTrueTrueTrueFalse...TrueTrueFalseFalseFalseFalseTrueFalseFalseFalse
advent20TrueTrueFalseFalseFalseTrueFalseTrueFalseFalse...FalseFalseFalseFalseFalseTrueFalseFalseFalseFalse
advent21TrueFalseTrueTrueTrueTrueFalseFalseTrueFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent22TrueFalseFalseFalseFalseTrueFalseTrueFalseTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseTrue
advent23TrueFalseFalseFalseFalseTrueTrueTrueFalseTrue...FalseFalseTrueFalseFalseFalseFalseFalseFalseFalse
advent24TrueTrueFalseFalseFalseTrueTrueTrueFalseTrue...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
advent25TrueTrueFalseFalseFalseFalseFalseFalseFalseFalse...FalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
\n", "

25 rows × 35 columns

\n", "
" ], "text/plain": [ " AoC Data.List Data.Text Data.Attoparsec.Text Data.Text.IO \\\n", "advent01 True True False False False \n", "advent02 True False True True True \n", "advent03 True True False False False \n", "advent04 True False True True True \n", "advent05 True True True True True \n", "advent06 True True False False False \n", "advent07 True True True True True \n", "advent08 True True False False False \n", "advent09 True True True True True \n", "advent10 True True True True True \n", "advent11 True True True True True \n", "advent12 True False False False False \n", "advent13 True True True True True \n", "advent14 True True True True True \n", "advent15 True False True True True \n", "advent16 True True True True True \n", "advent17 True False False False False \n", "advent18 True False True True True \n", "advent19 True True True True True \n", "advent20 True True False False False \n", "advent21 True False True True True \n", "advent22 True False False False False \n", "advent23 True False False False False \n", "advent24 True True False False False \n", "advent25 True True False False False \n", "\n", " Control.Lens Data.Set Data.Maybe Control.Applicative Linear \\\n", "advent01 False False False False False \n", "advent02 False False False True False \n", "advent03 False True False False False \n", "advent04 False False False False False \n", "advent05 False False True True False \n", "advent06 False False False False False \n", "advent07 False False True True False \n", "advent08 False False False False False \n", "advent09 True True False True True \n", "advent10 False False False True False \n", "advent11 True False False True False \n", "advent12 True True False False True \n", "advent13 False False False True False \n", "advent14 True True True False True \n", "advent15 False True False False True \n", "advent16 True True False True False \n", "advent17 True True True False True \n", "advent18 True True True False True \n", "advent19 True True True True False \n", "advent20 True False True False False \n", "advent21 True False False True False \n", "advent22 True False True False True \n", "advent23 True True True False True \n", "advent24 True True True False True \n", "advent25 False False False False False \n", "\n", " ... GHC.Generics Control.DeepSeq Data.Monoid Data.IntMap \\\n", "advent01 ... False False False False \n", "advent02 ... False False False False \n", "advent03 ... False False False False \n", "advent04 ... False False False False \n", "advent05 ... False False False False \n", "advent06 ... False False False False \n", "advent07 ... False False False False \n", "advent08 ... False False False False \n", "advent09 ... False False False False \n", "advent10 ... False False False False \n", "advent11 ... False False False True \n", "advent12 ... False False False False \n", "advent13 ... False False False False \n", "advent14 ... False False False False \n", "advent15 ... False False False False \n", "advent16 ... False False False False \n", "advent17 ... False False False False \n", "advent18 ... False False False False \n", "advent19 ... True True False False \n", "advent20 ... False False False False \n", "advent21 ... False False False False \n", "advent22 ... False False False False \n", "advent23 ... False False True False \n", "advent24 ... False False False False \n", "advent25 ... False False False False \n", "\n", " Data.Foldable Data.CircularList Control.Parallel.Strategies \\\n", "advent01 False False False \n", "advent02 False False False \n", "advent03 False False False \n", "advent04 False False False \n", "advent05 False False False \n", "advent06 False False False \n", "advent07 False False False \n", "advent08 False False False \n", "advent09 False False False \n", "advent10 False False False \n", "advent11 False False False \n", "advent12 True False False \n", "advent13 False False False \n", "advent14 False False False \n", "advent15 False False False \n", "advent16 False False False \n", "advent17 False False False \n", "advent18 False False False \n", "advent19 False False True \n", "advent20 False True False \n", "advent21 False False False \n", "advent22 False False False \n", "advent23 False False False \n", "advent24 False False False \n", "advent25 False False False \n", "\n", " Control.Monad.Writer Control.Monad.RWS.Strict Prelude \n", "advent01 False False False \n", "advent02 False False False \n", "advent03 False False False \n", "advent04 False False False \n", "advent05 False False False \n", "advent06 False False False \n", "advent07 False False False \n", "advent08 False False False \n", "advent09 False False False \n", "advent10 False False False \n", "advent11 True True False \n", "advent12 False False False \n", "advent13 False False False \n", "advent14 False False False \n", "advent15 False False False \n", "advent16 False False False \n", "advent17 False False False \n", "advent18 False False False \n", "advent19 False False False \n", "advent20 False False False \n", "advent21 False False False \n", "advent22 False False True \n", "advent23 False False False \n", "advent24 False False False \n", "advent25 False False False \n", "\n", "[25 rows x 35 columns]" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "imports_sorted_cols = imports_df[sorted_imports]\n", "imports_sorted_cols" ] }, { "cell_type": "code", "execution_count": 51, "id": "4b70002e-f12e-4067-b8b8-119504e4d86b", "metadata": {}, "outputs": [ { "data": { "image/png": "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aROIZY1TwHfA+hrzunXrLjuvuz73sLzSIV3xY2YeqjSvW7fusvO663MD9nRIR0TEdmAVsIuRRxZn5s7S87p16+7WXfNn1z0/9xBXr0hXrAR+AzaN7Etg3AG6kHndunWXndddnxvwSoeIiIj0hD0d0gkRcXNEvB8R3wy2b42IZ2rI69atu+y87vrcM7TtRLWs8xXwIXAHI4/JpXk7ZPF53bp1l53XXZ97WF7pkK5Ynpmfztn3dyV53bp1l53XXZ8b8PaKdMfJiFhL02hERGymeZRuDXndunWXndddn7th0ksjljVOATcC79F0Ox8HPgZuqCGvW7fusvO663MPy9Ur0gkRcXlmnouIq4DLMvNMLXndunWXndddn3uIt1ekK45GxCvAncAvleV169Zddl53fW7ASYd0xy00l+IeoxmsL0fEXZXkdevWXXZed33uhknvx1jWpAVcB7wGnKstr1u37rLzuutye6VDOiMiNkTEDuALYBnwQC153bp1l53XXZ8bfAy6dEREHAW+BN4Cdmfmr7XkdevWXXZed33umfM46ZAuiIiVmXm6xrxu3brLzuuuzz1zHicdMk0i4iUGD485H5n5RKl53bp1+xvVPV33XOzpkGnzGfA5zf2+24Ejg7oNOFd4Xrdu3d26a/7suufnns18ul4t61IF7AWWjmwvBfbWkNetW3fZed31uYfllQ7pitXAipHtqwf7asjr1q277Lzu+twALJk0IDImzwEHImLvYHsDsK2SvG7dusvO667PDdhIKh0SEauBrcAhYDlwIjM/qiGvW7fusvO663MD9nRY3RTwCPA1cIrmXuDvwAc15HXr1l12Xnd97pnzTBqwrHFqMDiXAV8OttcBb9aQ161bd9l53fW5h2UjqXTF2cw8CxARV2bmYZoXBtWQ161bd9l53fW5ARtJpTuORcS1wC5gT0ScAk5UktetW3fZed31uQEbSaUHImIDcA3wTmb+WVNet27dZed11+V20iEiIiK9YE+HiIiI9IKTDhEREekFJx0iIiLSC046REREpBecdIiIiEgv/APSKC9C0fn4twAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cmap = mpl.colors.ListedColormap(['white', 'blue'])\n", "\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.imshow(imports_df.to_numpy().T, cmap=cmap)\n", "plt.xticks(range(imports_df.index.size), labels=imports_df.index.values, rotation=90);\n", "plt.yticks(range(imports_df.columns.size), labels=imports_df.columns.values);\n", "\n", "ax.xaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.yaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.grid(which='minor', axis='both', linestyle='-', color='silver', linewidth=1.5);\n", "plt.savefig('imports.png');" ] }, { "cell_type": "code", "execution_count": 52, "id": "280a262c-13d5-44c9-ab5f-9e166a76a2dc", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cmap = mpl.colors.ListedColormap(['white', 'blue'])\n", "\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.imshow(imports_sorted_cols.to_numpy().T, cmap=cmap)\n", "plt.xticks(range(imports_sorted_cols.index.size), labels=imports_sorted_cols.index.values, rotation=90);\n", "plt.yticks(range(imports_sorted_cols.columns.size), labels=imports_sorted_cols.columns.values);\n", "\n", "ax.xaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.yaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n", "ax.grid(which='minor', axis='both', linestyle='-', color='silver', linewidth=1.5);\n", "plt.savefig('imports_sorted.png');" ] }, { "cell_type": "code", "execution_count": 82, "id": "684eb890-3729-4d68-a862-798c9ca152ce", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'3.4.2'" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib as mpl\n", "mpl.__version__" ] }, { "cell_type": "code", "execution_count": null, "id": "0c6ccc03-f87d-437f-aecf-e6cf1fcd0698", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "formats": "ipynb,md" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }