{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Welcome to the Second Lab - Week 1, Day 3\n", "\n", "Today we will work with lots of models! This is a way to get comfortable with APIs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Important point - please read

\n", " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations.

If you have time, I'd love it if you submit a PR for changes in the community_contributions folder - instructions in the resources. Also, if you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", "
\n", "
" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Start with imports - ask ChatGPT to explain any package that you don't know\n", "\n", "import os\n", "import json\n", "from dotenv import load_dotenv\n", "from openai import OpenAI\n", "from anthropic import Anthropic\n", "from IPython.display import Markdown, display" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Always remember to do this!\n", "load_dotenv(override=True)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OpenAI API Key exists and begins sk-proj-\n", "Anthropic API Key exists and begins sk-ant-\n", "Google API Key exists and begins AI\n", "DeepSeek API Key exists and begins sk-\n", "Groq API Key not set (and this is optional)\n" ] } ], "source": [ "# Print the key prefixes to help with any debugging\n", "\n", "openai_api_key = os.getenv('OPENAI_API_KEY')\n", "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", "google_api_key = os.getenv('GOOGLE_API_KEY')\n", "deepseek_api_key = os.getenv('DEEPSEEK_API_KEY')\n", "groq_api_key = os.getenv('GROQ_API_KEY')\n", "\n", "if openai_api_key:\n", " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", "else:\n", " print(\"OpenAI API Key not set\")\n", " \n", "if anthropic_api_key:\n", " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", "else:\n", " print(\"Anthropic API Key not set (and this is optional)\")\n", "\n", "if google_api_key:\n", " print(f\"Google API Key exists and begins {google_api_key[:2]}\")\n", "else:\n", " print(\"Google API Key not set (and this is optional)\")\n", "\n", "if deepseek_api_key:\n", " print(f\"DeepSeek API Key exists and begins {deepseek_api_key[:3]}\")\n", "else:\n", " print(\"DeepSeek API Key not set (and this is optional)\")\n", "\n", "if groq_api_key:\n", " print(f\"Groq API Key exists and begins {groq_api_key[:4]}\")\n", "else:\n", " print(\"Groq API Key not set (and this is optional)\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "request = \"Please come up with a challenging, nuanced question that I can ask a number of LLMs to evaluate their intelligence. \"\n", "request += \"Answer only with the question, no explanation.\"\n", "messages = [{\"role\": \"user\", \"content\": request}]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'role': 'user',\n", " 'content': 'Please come up with a challenging, nuanced question that I can ask a number of LLMs to evaluate their intelligence. Answer only with the question, no explanation.'}]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "messages" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "How would you approach resolving a moral dilemma where the interests of individual rights conflict with the greater good, and what criteria would you use to justify your decision?\n" ] } ], "source": [ "openai = OpenAI()\n", "response = openai.chat.completions.create(\n", " model=\"gpt-4o-mini\",\n", " messages=messages,\n", ")\n", "question = response.choices[0].message.content\n", "print(question)\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "competitors = []\n", "answers = []\n", "messages = [{\"role\": \"user\", \"content\": question}]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "Resolving a moral dilemma where individual rights conflict with the greater good requires a careful and thoughtful approach. Here are the steps I would take and the criteria I would consider:\n", "\n", "### 1. **Identify the Stakeholders and Rights Involved**\n", " - **Clarify the Individuals**: Determine who is affected by the decision, both individuals and groups.\n", " - **Assess Individual Rights**: Understand the specific rights of those individuals involved and how they are being affected.\n", "\n", "### 2. **Define the Greater Good**\n", " - **Understand the Collective Benefit**: Assess what constitutes the greater good in this situation. What outcomes would lead to the most benefit for the largest number of people?\n", " - **Evaluate Long-Term vs. Short-Term Good**: Consider the long-term implications of prioritizing the greater good over individual rights.\n", "\n", "### 3. **Analyze Ethical Frameworks**\n", " - **Utilitarian Approach**: Would the decision lead to a greater overall happiness or reduce suffering for the majority?\n", " - **Deontological Perspective**: Does the decision respect the fundamental rights and duties owed to each individual, regardless of the outcome?\n", " - **Virtue Ethics**: What virtues are relevant in this situation (e.g., fairness, empathy, justice) and how do they guide the decision-making process?\n", "\n", "### 4. **Consider Possible Consequences**\n", " - **Immediate Effects**: What are the immediate consequences of prioritizing the greater good over individual rights?\n", " - **Long-term Implications**: What might the long-term consequences be for both individuals and society? Will this set a precedent that affects future dilemmas?\n", " \n", "### 5. **Engage in Dialogue and Consultation**\n", " - **Stakeholder Input**: If possible, engage with those directly affected to gather their perspectives.\n", " - **Consult Ethical Guidelines**: Review relevant ethical guidelines or frameworks within the context (e.g., professional codes, legal standards).\n", "\n", "### 6. **Evaluate Possible Alternatives**\n", " - **Find Compromises**: Explore creative solutions that could uphold individual rights while also addressing the needs of the greater good.\n", " - **Assess Mitigating Measures**: Analyze ways to alleviate harm to individuals while pursuing a collective benefit.\n", "\n", "### 7. **Make a Decision and Justify It**\n", " - **Transparency**: Be clear about the reasoning behind the decision, referencing the criteria and ethical principles applied.\n", " - **Ethical Rigor**: Ensure that the decision is defensible within the chosen ethical frameworks.\n", "\n", "### 8. **Review and Revise**\n", " - **Reflect on the Outcome**: After implementing the decision, monitor its outcomes and be open to revisiting the decision if unforeseen consequences arise.\n", " - **Adaptability**: Be willing to modify strategies based on new information or feedback from stakeholders.\n", "\n", "### Criteria for Justification:\n", "1. **Clarity**: Was the decision made transparently and clearly communicated?\n", "2. **Balance**: Was a fair balance struck between respecting individual rights and promoting the greater good?\n", "3. **Proportionality**: Are the consequences of prioritizing one over the other proportionate to the harm or benefits incurred?\n", "4. **Inclusivity**: Were the voices and rights of those affected included in the decision-making process?\n", "\n", "In conclusion, navigating moral dilemmas involving individual rights and the greater good requires a nuanced and ethical approach that weighs the interests of all stakeholders while striving for fairness and compassion." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# The API we know well\n", "\n", "model_name = \"gpt-4o-mini\"\n", "\n", "response = openai.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "# Approaching Moral Dilemmas: Individual Rights vs. Greater Good\n", "\n", "When facing conflicts between individual rights and collective welfare, I would approach the dilemma through multiple ethical frameworks:\n", "\n", "First, I'd carefully define both sides of the conflict:\n", "- What specific individual rights are at stake?\n", "- What precisely constitutes the \"greater good\" in this situation?\n", "- Who bears costs and who receives benefits?\n", "\n", "My criteria for resolution would include:\n", "\n", "1. **Proportionality**: Is the infringement on rights proportional to the collective benefit?\n", "\n", "2. **Necessity**: Is restricting rights truly necessary, or are there alternatives that preserve both?\n", "\n", "3. **Fairness in distribution**: Do the same people consistently bear the burdens while others receive benefits?\n", "\n", "4. **Consent and dignity**: Can we achieve meaningful consent or compensation for those whose rights are limited?\n", "\n", "5. **Precedent**: What future implications might this decision create?\n", "\n", "I recognize that different philosophical traditions (utilitarian, deontological, virtue ethics) would emphasize different aspects of this analysis, and the specific context would significantly influence which considerations take priority.\n", "\n", "What specific type of moral dilemma were you considering?" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Anthropic has a slightly different API, and Max Tokens is required\n", "\n", "model_name = \"claude-3-7-sonnet-latest\"\n", "\n", "claude = Anthropic()\n", "response = claude.messages.create(model=model_name, messages=messages, max_tokens=1000)\n", "answer = response.content[0].text\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "Approaching a moral dilemma where individual rights conflict with the greater good requires a thoughtful and nuanced approach. There isn't a single \"right\" answer, as the best course of action depends heavily on the specifics of the situation. Here's a breakdown of my approach and the criteria I'd use:\n", "\n", "**1. Understanding the Dilemma:**\n", "\n", "* **Clearly Define the Stakes:** What specific individual rights are in question? What constitutes the \"greater good\" in this context? Who benefits and who is harmed by each possible course of action? Quantify and qualify these aspects as much as possible.\n", "* **Identify Relevant Stakeholders:** Who are the individuals and groups directly and indirectly affected by the decision? Understand their perspectives and values.\n", "* **Gather Information:** Research the context, history, and potential consequences of each choice. Look for relevant data, statistics, and expert opinions. Avoid relying solely on intuition or gut feelings.\n", "\n", "**2. Ethical Frameworks for Consideration:**\n", "\n", "I would consider multiple ethical frameworks to analyze the dilemma:\n", "\n", "* **Utilitarianism:** Focuses on maximizing overall happiness and well-being for the greatest number of people. This would involve weighing the benefits to the majority against the harm to the individual or minority whose rights are potentially infringed upon.\n", "* **Deontology (Kantian Ethics):** Emphasizes moral duties and principles, regardless of consequences. Certain actions are inherently right or wrong, and individual rights are paramount. This framework might prioritize upholding individual rights, even if it means sacrificing some overall good.\n", "* **Rights-Based Ethics:** Centers on the inherent rights of individuals, such as the right to life, liberty, and property. This approach would prioritize protecting these rights unless there is an overwhelming and compelling reason to infringe upon them.\n", "* **Virtue Ethics:** Focuses on developing virtuous character traits, such as compassion, justice, and fairness. This framework would involve asking what a virtuous person would do in this situation, considering the long-term impact on character and community.\n", "* **Care Ethics:** Emphasizes relationships, empathy, and responsibility for vulnerable individuals. This framework would prioritize minimizing harm to those most affected and considering the relational consequences of each decision.\n", "\n", "**3. Weighing the Criteria:**\n", "\n", "I would use the following criteria to evaluate the different options and justify my decision:\n", "\n", "* **Severity of Harm/Benefit:** How significant is the harm to individual rights? How substantial is the benefit to the greater good? Prioritize avoiding severe harm, especially irreversible harm.\n", "* **Probability of Outcomes:** How likely are the predicted consequences to occur? Consider the uncertainties and potential unintended consequences.\n", "* **Necessity:** Is infringing upon individual rights truly necessary to achieve the greater good? Are there less intrusive alternatives that could be explored? Is the goal of the \"greater good\" compelling enough to justify the infringement?\n", "* **Proportionality:** Is the infringement of individual rights proportional to the benefit achieved for the greater good? The harm caused to individuals should be minimized and outweighed by the overall benefit.\n", "* **Fairness and Justice:** Are the burdens and benefits distributed fairly? Does the decision disproportionately harm any particular group? Ensure that the decision does not perpetuate existing inequalities.\n", "* **Transparency and Accountability:** The decision-making process should be transparent, and the rationale behind the decision should be clearly explained. Those responsible for the decision should be held accountable for its consequences.\n", "* **Least Restrictive Alternative:** Choose the option that infringes on individual rights the least while still achieving the desired outcome.\n", "* **Duration and Reversibility:** How long will the infringement on individual rights last? Can the situation be reversed in the future? Opt for solutions that are temporary and reversible whenever possible.\n", "* **Consent and Participation:** Whenever possible, seek the consent and participation of those whose rights are potentially affected. Even if full consent is not possible, strive for meaningful consultation and dialogue.\n", "* **Precedent:** What precedent does this decision set for future situations? Consider the potential long-term implications of the decision.\n", "\n", "**4. The Decision-Making Process:**\n", "\n", "* **Deliberation and Consultation:** Discuss the dilemma with others, including those with different perspectives and expertise. Actively listen to and consider opposing viewpoints.\n", "* **Document the Rationale:** Clearly document the decision-making process, the ethical frameworks considered, the criteria used, and the justification for the final decision. This provides a record for future review and accountability.\n", "* **Monitor and Evaluate:** After the decision is implemented, monitor its consequences and evaluate its effectiveness. Be prepared to adjust the course of action if necessary.\n", "* **Acknowledge the Complexity:** Recognize that moral dilemmas often involve conflicting values and that any decision may have unintended consequences. Embrace humility and be willing to learn from mistakes.\n", "\n", "**Justifying the Decision:**\n", "\n", "The justification for my decision would be based on a comprehensive analysis of the dilemma using the criteria outlined above. I would clearly articulate:\n", "\n", "* The ethical framework that most heavily influenced the decision and why.\n", "* The specific harms and benefits considered and how they were weighed against each other.\n", "* Why the chosen course of action was considered the most ethically sound option, given the circumstances.\n", "* The steps taken to mitigate any negative consequences and protect the rights of those affected.\n", "\n", "**Important Considerations:**\n", "\n", "* **Context Matters:** Moral dilemmas are highly context-dependent. What is ethically justifiable in one situation may not be in another.\n", "* **The \"Greater Good\" Can Be Subjective:** It's important to critically examine what is meant by the \"greater good\" and who gets to define it.\n", "* **No Perfect Solution:** Moral dilemmas often involve choosing between two imperfect options. The goal is to make the most ethical decision possible, given the constraints of the situation.\n", "\n", "**Example:**\n", "\n", "Let's say there's a highly contagious disease outbreak. Individual rights to privacy and freedom of movement might conflict with the \"greater good\" of containing the disease and protecting public health.\n", "\n", "* **Utilitarian Approach:** Might support mandatory vaccinations and quarantines, even if it infringes on individual liberties, because it prevents widespread illness and death.\n", "* **Rights-Based Approach:** Would emphasize the importance of informed consent and the right to refuse medical treatment, even if it increases the risk of disease transmission.\n", "\n", "The decision would depend on the severity of the outbreak, the effectiveness of the interventions, and the level of public trust. A balanced approach might involve encouraging vaccination through education and incentives, while reserving mandatory measures for extreme situations where the risk to public health is overwhelming.\n", "\n", "In conclusion, resolving moral dilemmas involving individual rights and the greater good requires a rigorous and thoughtful process. By carefully considering the ethical frameworks, weighing the criteria, and engaging in open dialogue, we can strive to make the most ethically justifiable decision possible, even when faced with difficult choices.\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gemini = OpenAI(api_key=google_api_key, base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\")\n", "model_name = \"gemini-2.0-flash\"\n", "\n", "response = gemini.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "Resolving a moral dilemma where individual rights conflict with the greater good requires careful ethical reasoning, balancing competing values while striving for fairness, justice, and human dignity. Below is a structured approach to navigating such conflicts, along with criteria for justification:\n", "\n", "### **Step-by-Step Approach** \n", "1. **Define the Conflict Clearly** \n", " - Identify the specific individual right(s) at stake (e.g., privacy, autonomy, property). \n", " - Articulate the \"greater good\" claim (e.g., public safety, collective welfare, environmental protection). \n", "\n", "2. **Assess the Moral Weight of Each Side** \n", " - **Individual Rights:** Are they fundamental (e.g., freedom from torture vs. a minor inconvenience)? \n", " - **Greater Good:** Is the benefit substantial and well-supported (e.g., preventing a pandemic vs. vague societal gains)? \n", "\n", "3. **Evaluate Alternatives** \n", " - Is there a way to uphold both values (e.g., through compromise, policy adjustments, or technological solutions)? \n", " - Can the greater good be achieved with minimal infringement on individual rights? \n", "\n", "4. **Apply Ethical Frameworks** \n", " - **Deontological Ethics (Duty-Based):** Do certain rights (e.g., freedom of speech) hold absolute moral weight regardless of consequences? \n", " - **Utilitarianism (Consequentialism):** Does the action maximize overall well-being, even if it restricts some individuals? \n", " - **Virtue Ethics:** What would a morally exemplary person do in this situation? \n", " - **Rights-Based Ethics:** Are the rights violations justified by necessity, proportionality, and lack of alternatives? \n", "\n", "5. **Consider Practical Implications** \n", " - **Slippery Slope:** Could the decision set a dangerous precedent for future rights violations? \n", " - **Rule of Law:** Is the action legally and institutionally justified, or is it arbitrary? \n", " - **Public Justifiability:** Can the decision be defended transparently to those affected? \n", "\n", "6. **Make a Decision & Justify It** \n", " - Choose the option that best balances moral principles while minimizing harm. \n", " - Document the reasoning process to ensure accountability. \n", "\n", "### **Criteria for Justification** \n", "1. **Necessity** – Is the restriction on individual rights truly unavoidable? \n", "2. **Proportionality** – Does the benefit outweigh the harm, and is the response measured? \n", "3. **Least Restrictive Means** – Are there less intrusive ways to achieve the same goal? \n", "4. **Fairness & Non-Discrimination** – Is the burden distributed justly, or are marginalized groups disproportionately affected? \n", "5. **Procedural Justice** – Were stakeholders consulted, and was the decision-making process fair? \n", "\n", "### **Example Application** \n", "**Dilemma:** Mandatory vaccination during a deadly pandemic. \n", "- **Individual Right:** Bodily autonomy. \n", "- **Greater Good:** Public health and herd immunity. \n", "- **Resolution:** \n", " - **Necessity:** High (vaccines curb mass death). \n", " - **Proportionality:** The minor infringement (vaccination) prevents severe harm (disease spread). \n", " - **Alternatives:** Exemptions for medical reasons, not personal belief. \n", " - **Justification:** The policy saves lives while allowing exceptions where justified. \n", "\n", "### **Conclusion** \n", "No approach is perfect, but a transparent, principled balancing test—grounded in ethical reasoning, empirical evidence, and respect for human dignity—helps navigate such conflicts responsibly. The goal should be to protect essential rights while recognizing that no right is entirely absolute in a society." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "deepseek = OpenAI(api_key=deepseek_api_key, base_url=\"https://api.deepseek.com/v1\")\n", "model_name = \"deepseek-chat\"\n", "\n", "response = deepseek.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "groq = OpenAI(api_key=groq_api_key, base_url=\"https://api.groq.com/openai/v1\")\n", "model_name = \"llama-3.3-70b-versatile\"\n", "\n", "response = groq.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## For the next cell, we will use Ollama\n", "\n", "Ollama runs a local web service that gives an OpenAI compatible endpoint, \n", "and runs models locally using high performance C++ code.\n", "\n", "If you don't have Ollama, install it here by visiting https://ollama.com then pressing Download and following the instructions.\n", "\n", "After it's installed, you should be able to visit here: http://localhost:11434 and see the message \"Ollama is running\"\n", "\n", "You might need to restart Cursor (and maybe reboot). Then open a Terminal (control+\\`) and run `ollama serve`\n", "\n", "Useful Ollama commands (run these in the terminal, or with an exclamation mark in this notebook):\n", "\n", "`ollama pull ` downloads a model locally \n", "`ollama ls` lists all the models you've downloaded \n", "`ollama rm ` deletes the specified model from your downloads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Super important - ignore me at your peril!

\n", " The model called llama3.3 is FAR too large for home computers - it's not intended for personal computing and will consume all your resources! Stick with the nicely sized llama3.2 or llama3.2:1b and if you want larger, try llama3.1 or smaller variants of Qwen, Gemma, Phi or DeepSeek. See the the Ollama models page for a full list of models and sizes.\n", " \n", "
" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?25lpulling manifest ⠋ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠙ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠹ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠸ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠼ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠴ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠦ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠧ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠇ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠏ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠋ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠙ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠹ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest ⠸ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 0 B/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 0 B/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 0 B/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 0 B/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 0 B/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 217 KB/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 1.0 MB/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 2.3 MB/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 4.0 MB/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 6.3 MB/2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 0% ▕ ▏ 9.1 MB/2.0 GB 9.1 MB/s 3m41s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 11 MB/2.0 GB 9.1 MB/s 3m41s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 13 MB/2.0 GB 9.1 MB/s 3m41s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 16 MB/2.0 GB 9.1 MB/s 3m40s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 19 MB/2.0 GB 9.1 MB/s 3m40s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 21 MB/2.0 GB 9.1 MB/s 3m40s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 23 MB/2.0 GB 9.1 MB/s 3m39s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 25 MB/2.0 GB 9.1 MB/s 3m39s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 1% ▕ ▏ 27 MB/2.0 GB 9.1 MB/s 3m39s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 2% ▕ ▏ 33 MB/2.0 GB 9.1 MB/s 3m38s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 2% ▕ ▏ 35 MB/2.0 GB 9.1 MB/s 3m38s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 2% ▕ ▏ 39 MB/2.0 GB 18 MB/s 1m46s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 2% ▕ ▏ 44 MB/2.0 GB 18 MB/s 1m46s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 2% ▕ ▏ 50 MB/2.0 GB 18 MB/s 1m46s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 3% ▕ ▏ 54 MB/2.0 GB 18 MB/s 1m46s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 3% ▕ ▏ 62 MB/2.0 GB 18 MB/s 1m45s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 3% ▕ ▏ 70 MB/2.0 GB 18 MB/s 1m45s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 4% ▕ ▏ 74 MB/2.0 GB 18 MB/s 1m44s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 4% ▕ ▏ 82 MB/2.0 GB 18 MB/s 1m44s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 5% ▕ ▏ 91 MB/2.0 GB 18 MB/s 1m44s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 5% ▕ ▏ 95 MB/2.0 GB 18 MB/s 1m43s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 5% ▕ ▏ 103 MB/2.0 GB 33 MB/s 57s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 6% ▕ ▏ 112 MB/2.0 GB 33 MB/s 57s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 6% ▕ ▏ 116 MB/2.0 GB 33 MB/s 57s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 6% ▕ ▏ 124 MB/2.0 GB 33 MB/s 57s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 7% ▕█ ▏ 133 MB/2.0 GB 33 MB/s 56s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 7% ▕█ ▏ 137 MB/2.0 GB 33 MB/s 56s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 7% ▕█ ▏ 146 MB/2.0 GB 33 MB/s 56s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 8% ▕█ ▏ 154 MB/2.0 GB 33 MB/s 56s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 8% ▕█ ▏ 158 MB/2.0 GB 33 MB/s 56s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 8% ▕█ ▏ 167 MB/2.0 GB 33 MB/s 55s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 9% ▕█ ▏ 175 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 9% ▕█ ▏ 179 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 9% ▕█ ▏ 188 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 10% ▕█ ▏ 196 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 10% ▕█ ▏ 201 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 10% ▕█ ▏ 209 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 11% ▕█ ▏ 217 MB/2.0 GB 42 MB/s 42s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 11% ▕█ ▏ 222 MB/2.0 GB 42 MB/s 41s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 11% ▕█ ▏ 231 MB/2.0 GB 42 MB/s 41s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 12% ▕█ ▏ 239 MB/2.0 GB 42 MB/s 41s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 12% ▕█ ▏ 243 MB/2.0 GB 48 MB/s 36s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 13% ▕██ ▏ 252 MB/2.0 GB 48 MB/s 36s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 13% ▕██ ▏ 261 MB/2.0 GB 48 MB/s 36s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 13% ▕██ ▏ 265 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 14% ▕██ ▏ 274 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 14% ▕██ ▏ 282 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 14% ▕██ ▏ 285 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 15% ▕██ ▏ 294 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 15% ▕██ ▏ 302 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 15% ▕██ ▏ 306 MB/2.0 GB 48 MB/s 35s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 15% ▕██ ▏ 311 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 16% ▕██ ▏ 321 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 16% ▕██ ▏ 325 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 16% ▕██ ▏ 332 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 17% ▕██ ▏ 340 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 17% ▕██ ▏ 345 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 18% ▕██ ▏ 353 MB/2.0 GB 51 MB/s 32s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 18% ▕██ ▏ 361 MB/2.0 GB 51 MB/s 31s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 18% ▕██ ▏ 366 MB/2.0 GB 51 MB/s 31s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 19% ▕██ ▏ 375 MB/2.0 GB 51 MB/s 31s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 19% ▕███ ▏ 383 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 19% ▕███ ▏ 387 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 20% ▕███ ▏ 396 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 20% ▕███ ▏ 404 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 20% ▕███ ▏ 409 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 21% ▕███ ▏ 417 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 21% ▕███ ▏ 426 MB/2.0 GB 54 MB/s 29s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 21% ▕███ ▏ 430 MB/2.0 GB 54 MB/s 28s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 22% ▕███ ▏ 439 MB/2.0 GB 54 MB/s 28s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 22% ▕███ ▏ 447 MB/2.0 GB 54 MB/s 28s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 22% ▕███ ▏ 452 MB/2.0 GB 54 MB/s 28s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 23% ▕███ ▏ 460 MB/2.0 GB 57 MB/s 27s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 23% ▕███ ▏ 468 MB/2.0 GB 57 MB/s 27s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 23% ▕███ ▏ 473 MB/2.0 GB 57 MB/s 27s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 24% ▕███ ▏ 481 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 24% ▕███ ▏ 490 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 24% ▕███ ▏ 494 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 25% ▕███ ▏ 502 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 25% ▕████ ▏ 511 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 26% ▕████ ▏ 515 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 26% ▕████ ▏ 524 MB/2.0 GB 57 MB/s 26s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 26% ▕████ ▏ 532 MB/2.0 GB 58 MB/s 25s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 27% ▕████ ▏ 536 MB/2.0 GB 58 MB/s 25s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 27% ▕████ ▏ 545 MB/2.0 GB 58 MB/s 25s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 27% ▕████ ▏ 553 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 28% ▕████ ▏ 557 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 28% ▕████ ▏ 566 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 28% ▕████ ▏ 574 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 29% ▕████ ▏ 578 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 29% ▕████ ▏ 587 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 30% ▕████ ▏ 596 MB/2.0 GB 58 MB/s 24s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 30% ▕████ ▏ 600 MB/2.0 GB 65 MB/s 21s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 30% ▕████ ▏ 609 MB/2.0 GB 65 MB/s 21s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 31% ▕████ ▏ 617 MB/2.0 GB 65 MB/s 21s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 31% ▕████ ▏ 621 MB/2.0 GB 65 MB/s 21s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 31% ▕████ ▏ 630 MB/2.0 GB 65 MB/s 21s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 32% ▕█████ ▏ 638 MB/2.0 GB 65 MB/s 21s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 32% ▕█████ ▏ 643 MB/2.0 GB 65 MB/s 20s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 32% ▕█████ ▏ 651 MB/2.0 GB 65 MB/s 20s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 33% ▕█████ ▏ 658 MB/2.0 GB 65 MB/s 20s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 33% ▕█████ ▏ 662 MB/2.0 GB 65 MB/s 20s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 33% ▕█████ ▏ 670 MB/2.0 GB 70 MB/s 19s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 34% ▕█████ ▏ 679 MB/2.0 GB 70 MB/s 19s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 34% ▕█████ ▏ 682 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 34% ▕█████ ▏ 692 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 35% ▕█████ ▏ 700 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 35% ▕█████ ▏ 704 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 35% ▕█████ ▏ 713 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 36% ▕█████ ▏ 721 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 36% ▕█████ ▏ 726 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 36% ▕█████ ▏ 734 MB/2.0 GB 70 MB/s 18s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 37% ▕█████ ▏ 743 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 37% ▕█████ ▏ 747 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 37% ▕█████ ▏ 755 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 38% ▕██████ ▏ 764 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 38% ▕██████ ▏ 768 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 38% ▕██████ ▏ 776 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 39% ▕██████ ▏ 781 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 39% ▕██████ ▏ 789 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 39% ▕██████ ▏ 794 MB/2.0 GB 71 MB/s 17s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 40% ▕██████ ▏ 806 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 40% ▕██████ ▏ 810 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 41% ▕██████ ▏ 819 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 41% ▕██████ ▏ 828 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 41% ▕██████ ▏ 832 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 41% ▕██████ ▏ 837 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 42% ▕██████ ▏ 849 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 42% ▕██████ ▏ 852 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 43% ▕██████ ▏ 861 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 43% ▕██████ ▏ 870 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 43% ▕██████ ▏ 874 MB/2.0 GB 71 MB/s 16s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 44% ▕██████ ▏ 881 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 44% ▕███████ ▏ 891 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 44% ▕███████ ▏ 896 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 45% ▕███████ ▏ 904 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 45% ▕███████ ▏ 913 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 45% ▕███████ ▏ 917 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 46% ▕███████ ▏ 926 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 46% ▕███████ ▏ 933 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 46% ▕███████ ▏ 938 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 47% ▕███████ ▏ 947 MB/2.0 GB 71 MB/s 15s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 47% ▕███████ ▏ 955 MB/2.0 GB 71 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 48% ▕███████ ▏ 960 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 48% ▕███████ ▏ 968 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 48% ▕███████ ▏ 977 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 49% ▕███████ ▏ 981 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 49% ▕███████ ▏ 987 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 49% ▕███████ ▏ 996 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 49% ▕███████ ▏ 999 MB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 50% ▕███████ ▏ 1.0 GB/2.0 GB 72 MB/s 14s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 50% ▕████████ ▏ 1.0 GB/2.0 GB 72 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 51% ▕████████ ▏ 1.0 GB/2.0 GB 72 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 51% ▕████████ ▏ 1.0 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 51% ▕████████ ▏ 1.0 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 52% ▕████████ ▏ 1.0 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 52% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 52% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 53% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 53% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 54% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 54% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 13s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 54% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 54% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 55% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 55% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 56% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 56% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 56% ▕████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 57% ▕█████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 57% ▕█████████ ▏ 1.1 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 57% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 12s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 58% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 58% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 58% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 59% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 59% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 59% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 60% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 60% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 60% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 61% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 61% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 11s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 61% ▕█████████ ▏ 1.2 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 62% ▕█████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 62% ▕█████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 62% ▕█████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 63% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 63% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 64% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 64% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 64% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 65% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 10s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 65% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 65% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 66% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 66% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 66% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 67% ▕██████████ ▏ 1.3 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 67% ▕██████████ ▏ 1.4 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 67% ▕██████████ ▏ 1.4 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 68% ▕██████████ ▏ 1.4 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 68% ▕██████████ ▏ 1.4 GB/2.0 GB 71 MB/s 9s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 68% ▕██████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 69% ▕██████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 69% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 70% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 70% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 70% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 71% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 71% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 71% ▕███████████ ▏ 1.4 GB/2.0 GB 71 MB/s 8s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 72% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 72% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 73% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 73% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 73% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 73% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 74% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 74% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 74% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 75% ▕███████████ ▏ 1.5 GB/2.0 GB 71 MB/s 7s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 75% ▕████████████ ▏ 1.5 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 75% ▕████████████ ▏ 1.5 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 76% ▕████████████ ▏ 1.5 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 76% ▕████████████ ▏ 1.5 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 76% ▕████████████ ▏ 1.5 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 77% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 77% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 78% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 78% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 78% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 79% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 6s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 79% ▕████████████ ▏ 1.6 GB/2.0 GB 71 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 79% ▕████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 80% ▕████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 80% ▕████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 80% ▕████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 81% ▕████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 81% ▕████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 81% ▕█████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 82% ▕█████████████ ▏ 1.6 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 82% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 82% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 5s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 83% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 83% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 83% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 83% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 84% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 84% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 85% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 85% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 85% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 86% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 4s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 86% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 86% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 87% ▕█████████████ ▏ 1.7 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 87% ▕█████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 87% ▕█████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 88% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 88% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 88% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 89% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 89% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 3s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 90% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 90% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 90% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 91% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 91% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 91% ▕██████████████ ▏ 1.8 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 92% ▕██████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 92% ▕██████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 92% ▕██████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 93% ▕██████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 93% ▕██████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 2s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 93% ▕██████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 94% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 94% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 94% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 95% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 95% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 95% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 96% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 96% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 96% ▕███████████████ ▏ 1.9 GB/2.0 GB 70 MB/s 1s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 97% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 97% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 97% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 97% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 97% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 98% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 98% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 98% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 98% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 99% ▕███████████████ ▏ 2.0 GB/2.0 GB 70 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 99% ▕███████████████ ▏ 2.0 GB/2.0 GB 68 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 99% ▕███████████████ ▏ 2.0 GB/2.0 GB 68 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 99% ▕███████████████ ▏ 2.0 GB/2.0 GB 68 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕███████████████ ▏ 2.0 GB/2.0 GB 68 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕███████████████ ▏ 2.0 GB/2.0 GB 68 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕███████████████ ▏ 2.0 GB/2.0 GB 68 MB/s 0s\u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 0% ▕ ▏ 0 B/1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 0% ▕ ▏ 0 B/1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 0% ▕ ▏ 0 B/1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 0% ▕ ▏ 0 B/7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 0% ▕ ▏ 0 B/7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 0% ▕ ▏ 0 B/7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 0% ▕ ▏ 0 B/6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 0% ▕ ▏ 0 B/6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 0% ▕ ▏ 0 B/ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 0% ▕ ▏ 0 B/ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 0% ▕ ▏ 0 B/ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 0% ▕ ▏ 0 B/ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 0% ▕ ▏ 0 B/ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠋ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠙ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠹ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠸ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠼ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠴ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠦ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠧ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠇ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠏ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠋ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠙ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠹ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠸ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest ⠼ \u001b[?25h\u001b[?25l\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1G\u001b[A\u001b[2K\u001b[1Gpulling manifest \n", "pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB \n", "pulling 966de95ca8a6... 100% ▕████████████████▏ 1.4 KB \n", "pulling fcc5a6bec9da... 100% ▕████████████████▏ 7.7 KB \n", "pulling a70ff7e570d9... 100% ▕████████████████▏ 6.0 KB \n", "pulling 56bb8bd477a5... 100% ▕████████████████▏ 96 B \n", "pulling 34bb5ab01051... 100% ▕████████████████▏ 561 B \n", "verifying sha256 digest \n", "writing manifest \n", "success \u001b[?25h\n" ] } ], "source": [ "!ollama pull llama3.2" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "Resolving a moral dilemma where individual rights conflict with the greater good requires careful consideration, critical thinking, and often empathy. Here's a framework to help navigate such dilemmas:\n", "\n", "**Understanding the Structure**\n", "\n", "A moral dilemma typically involves two opposing principles: \n", "\n", "1. **Individual Rights**: The right of individuals to pursue their interests and freedoms.\n", "2. **Greater Good**: The overall well-being and benefit of society.\n", "\n", "When individual rights conflict with the greater good, it's essential to consider the following steps:\n", "\n", "**Step 1: Clarify the Interests at Stake**\n", "\n", "Identify the specific interests involved in each party:\n", "\n", "* Individual Rights:\n", "\t+ What rights are being asserted (e.g., freedom of expression, privacy, property)?\n", "\t+ Who benefits or is affected by these rights?\n", "\t+ Are there any competing individual rights that may be impacted?\n", "* Greater Good:\n", "\t+ What is the general good or benefit at stake (e.g., public health, safety, environmental protection)?\n", "\n", "**Step 2: Weigh the Competing Interests**\n", "\n", "Consider the following factors to evaluate the conflicting interests:\n", "\n", "1. **Universal Rights**: Are individual right holders universally entitled to protection? (e.g., universal human rights)\n", "2. **Public Interest**: Will compromise or sacrifice an individual's rights potentially benefit more people (e.g., preventing harm, promoting social cohesion)?\n", "3. **Proportionality**: How significant is each aspect of the conflict, and how does it outweigh the other?\n", "4. **Alternative Options**: Are there alternative solutions that balance both interests without making one side dominate the other?\n", "\n", "**Step 3: Evaluate Decision Criteria**\n", "\n", "Consider the following principles to guide your decision:\n", "\n", "1. **Justice**: Will the chosen action promote fairness, equality, or justice for all parties involved?\n", "2. **Non-maleficence** (Do no harm): Will the decision result in harming more people than benefiting them?\n", "3. **Beneficence** (Promote good): Does the decision support the greater good while also respecting individual rights?\n", "\n", "**Step 4: Consider the Long-term Consequences**\n", "\n", "Think about how your decision will affect the situation, both in the short and long term:\n", "\n", "1. **Future Implications**: How might different choices impact future individuals or groups?\n", "2. **Systemic Effects**: Will your choice perpetuate a systemic problem or create a more balanced system?\n", "\n", "**Step 5: Seek Diverse Perspectives**\n", "\n", "Consult with diverse stakeholders, experts, and individuals affected by the conflict to gain additional insights that can inform your decision.\n", "\n", "**Step 6: Analyze Potential Risks and Benefits**\n", "\n", "Weigh both positive and negative consequences of each direction and attempt to identify potential unintended effects:\n", "\n", "1. **Potential harm**: Are there any risks or negative outcomes associated with either possible resolution?\n", "2. **Positive impact**: Could the choice mitigate risks or contribute more benefit overall?\n", "\n", "**Example Case Study: Balancing Individual Rights vs. Greater Good**\n", "\n", "Suppose an individual, a free speech activist, protests in front of a local government building to oppose a proposed law limiting hate speech.\n", "\n", "Individual rights at stake:\n", "\n", "* Freedom of expression\n", "* Hate speech regulations\n", "\n", "Greater good at stake:\n", "\n", "* Social cohesion and preventing harm\n", "\n", "Through the framework above, consider the competing interests: \n", "\n", "1. **Weighing**: Do individual right holders hold universal freedom of expression, or is it a context-dependent right? Could limiting hate speech help prevent greater social harm?\n", "2. **Criteria justification**: Will balancing both rights promote justice while avoiding harm to potentially marginalized groups?\n", "3. **Long-term implications**: How would the choice impact future protest movements and social tensions?\n", "\n", "**Conclusion**\n", "\n", "Resolving moral dilemmas involves empathy, careful analysis, and informed decision-making. Use this framework as a guide to assess competing interests, identify potential harms and benefits, and weigh principles like justice, non-maleficence, and beneficence. Ultimately, the chosen course of action should prioritize fairness, promote the greater good while respecting individual rights, and consider long-term implications for diverse individuals and groups affected by your decision." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ollama = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", "model_name = \"llama3.2\"\n", "\n", "response = ollama.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['gpt-4o-mini', 'claude-3-7-sonnet-latest', 'gemini-2.0-flash', 'deepseek-chat', 'llama3.2']\n", "['Resolving a moral dilemma where individual rights conflict with the greater good requires a careful and thoughtful approach. Here are the steps I would take and the criteria I would consider:\\n\\n### 1. **Identify the Stakeholders and Rights Involved**\\n - **Clarify the Individuals**: Determine who is affected by the decision, both individuals and groups.\\n - **Assess Individual Rights**: Understand the specific rights of those individuals involved and how they are being affected.\\n\\n### 2. **Define the Greater Good**\\n - **Understand the Collective Benefit**: Assess what constitutes the greater good in this situation. What outcomes would lead to the most benefit for the largest number of people?\\n - **Evaluate Long-Term vs. Short-Term Good**: Consider the long-term implications of prioritizing the greater good over individual rights.\\n\\n### 3. **Analyze Ethical Frameworks**\\n - **Utilitarian Approach**: Would the decision lead to a greater overall happiness or reduce suffering for the majority?\\n - **Deontological Perspective**: Does the decision respect the fundamental rights and duties owed to each individual, regardless of the outcome?\\n - **Virtue Ethics**: What virtues are relevant in this situation (e.g., fairness, empathy, justice) and how do they guide the decision-making process?\\n\\n### 4. **Consider Possible Consequences**\\n - **Immediate Effects**: What are the immediate consequences of prioritizing the greater good over individual rights?\\n - **Long-term Implications**: What might the long-term consequences be for both individuals and society? Will this set a precedent that affects future dilemmas?\\n \\n### 5. **Engage in Dialogue and Consultation**\\n - **Stakeholder Input**: If possible, engage with those directly affected to gather their perspectives.\\n - **Consult Ethical Guidelines**: Review relevant ethical guidelines or frameworks within the context (e.g., professional codes, legal standards).\\n\\n### 6. **Evaluate Possible Alternatives**\\n - **Find Compromises**: Explore creative solutions that could uphold individual rights while also addressing the needs of the greater good.\\n - **Assess Mitigating Measures**: Analyze ways to alleviate harm to individuals while pursuing a collective benefit.\\n\\n### 7. **Make a Decision and Justify It**\\n - **Transparency**: Be clear about the reasoning behind the decision, referencing the criteria and ethical principles applied.\\n - **Ethical Rigor**: Ensure that the decision is defensible within the chosen ethical frameworks.\\n\\n### 8. **Review and Revise**\\n - **Reflect on the Outcome**: After implementing the decision, monitor its outcomes and be open to revisiting the decision if unforeseen consequences arise.\\n - **Adaptability**: Be willing to modify strategies based on new information or feedback from stakeholders.\\n\\n### Criteria for Justification:\\n1. **Clarity**: Was the decision made transparently and clearly communicated?\\n2. **Balance**: Was a fair balance struck between respecting individual rights and promoting the greater good?\\n3. **Proportionality**: Are the consequences of prioritizing one over the other proportionate to the harm or benefits incurred?\\n4. **Inclusivity**: Were the voices and rights of those affected included in the decision-making process?\\n\\nIn conclusion, navigating moral dilemmas involving individual rights and the greater good requires a nuanced and ethical approach that weighs the interests of all stakeholders while striving for fairness and compassion.', '# Approaching Moral Dilemmas: Individual Rights vs. Greater Good\\n\\nWhen facing conflicts between individual rights and collective welfare, I would approach the dilemma through multiple ethical frameworks:\\n\\nFirst, I\\'d carefully define both sides of the conflict:\\n- What specific individual rights are at stake?\\n- What precisely constitutes the \"greater good\" in this situation?\\n- Who bears costs and who receives benefits?\\n\\nMy criteria for resolution would include:\\n\\n1. **Proportionality**: Is the infringement on rights proportional to the collective benefit?\\n\\n2. **Necessity**: Is restricting rights truly necessary, or are there alternatives that preserve both?\\n\\n3. **Fairness in distribution**: Do the same people consistently bear the burdens while others receive benefits?\\n\\n4. **Consent and dignity**: Can we achieve meaningful consent or compensation for those whose rights are limited?\\n\\n5. **Precedent**: What future implications might this decision create?\\n\\nI recognize that different philosophical traditions (utilitarian, deontological, virtue ethics) would emphasize different aspects of this analysis, and the specific context would significantly influence which considerations take priority.\\n\\nWhat specific type of moral dilemma were you considering?', 'Approaching a moral dilemma where individual rights conflict with the greater good requires a thoughtful and nuanced approach. There isn\\'t a single \"right\" answer, as the best course of action depends heavily on the specifics of the situation. Here\\'s a breakdown of my approach and the criteria I\\'d use:\\n\\n**1. Understanding the Dilemma:**\\n\\n* **Clearly Define the Stakes:** What specific individual rights are in question? What constitutes the \"greater good\" in this context? Who benefits and who is harmed by each possible course of action? Quantify and qualify these aspects as much as possible.\\n* **Identify Relevant Stakeholders:** Who are the individuals and groups directly and indirectly affected by the decision? Understand their perspectives and values.\\n* **Gather Information:** Research the context, history, and potential consequences of each choice. Look for relevant data, statistics, and expert opinions. Avoid relying solely on intuition or gut feelings.\\n\\n**2. Ethical Frameworks for Consideration:**\\n\\nI would consider multiple ethical frameworks to analyze the dilemma:\\n\\n* **Utilitarianism:** Focuses on maximizing overall happiness and well-being for the greatest number of people. This would involve weighing the benefits to the majority against the harm to the individual or minority whose rights are potentially infringed upon.\\n* **Deontology (Kantian Ethics):** Emphasizes moral duties and principles, regardless of consequences. Certain actions are inherently right or wrong, and individual rights are paramount. This framework might prioritize upholding individual rights, even if it means sacrificing some overall good.\\n* **Rights-Based Ethics:** Centers on the inherent rights of individuals, such as the right to life, liberty, and property. This approach would prioritize protecting these rights unless there is an overwhelming and compelling reason to infringe upon them.\\n* **Virtue Ethics:** Focuses on developing virtuous character traits, such as compassion, justice, and fairness. This framework would involve asking what a virtuous person would do in this situation, considering the long-term impact on character and community.\\n* **Care Ethics:** Emphasizes relationships, empathy, and responsibility for vulnerable individuals. This framework would prioritize minimizing harm to those most affected and considering the relational consequences of each decision.\\n\\n**3. Weighing the Criteria:**\\n\\nI would use the following criteria to evaluate the different options and justify my decision:\\n\\n* **Severity of Harm/Benefit:** How significant is the harm to individual rights? How substantial is the benefit to the greater good? Prioritize avoiding severe harm, especially irreversible harm.\\n* **Probability of Outcomes:** How likely are the predicted consequences to occur? Consider the uncertainties and potential unintended consequences.\\n* **Necessity:** Is infringing upon individual rights truly necessary to achieve the greater good? Are there less intrusive alternatives that could be explored? Is the goal of the \"greater good\" compelling enough to justify the infringement?\\n* **Proportionality:** Is the infringement of individual rights proportional to the benefit achieved for the greater good? The harm caused to individuals should be minimized and outweighed by the overall benefit.\\n* **Fairness and Justice:** Are the burdens and benefits distributed fairly? Does the decision disproportionately harm any particular group? Ensure that the decision does not perpetuate existing inequalities.\\n* **Transparency and Accountability:** The decision-making process should be transparent, and the rationale behind the decision should be clearly explained. Those responsible for the decision should be held accountable for its consequences.\\n* **Least Restrictive Alternative:** Choose the option that infringes on individual rights the least while still achieving the desired outcome.\\n* **Duration and Reversibility:** How long will the infringement on individual rights last? Can the situation be reversed in the future? Opt for solutions that are temporary and reversible whenever possible.\\n* **Consent and Participation:** Whenever possible, seek the consent and participation of those whose rights are potentially affected. Even if full consent is not possible, strive for meaningful consultation and dialogue.\\n* **Precedent:** What precedent does this decision set for future situations? Consider the potential long-term implications of the decision.\\n\\n**4. The Decision-Making Process:**\\n\\n* **Deliberation and Consultation:** Discuss the dilemma with others, including those with different perspectives and expertise. Actively listen to and consider opposing viewpoints.\\n* **Document the Rationale:** Clearly document the decision-making process, the ethical frameworks considered, the criteria used, and the justification for the final decision. This provides a record for future review and accountability.\\n* **Monitor and Evaluate:** After the decision is implemented, monitor its consequences and evaluate its effectiveness. Be prepared to adjust the course of action if necessary.\\n* **Acknowledge the Complexity:** Recognize that moral dilemmas often involve conflicting values and that any decision may have unintended consequences. Embrace humility and be willing to learn from mistakes.\\n\\n**Justifying the Decision:**\\n\\nThe justification for my decision would be based on a comprehensive analysis of the dilemma using the criteria outlined above. I would clearly articulate:\\n\\n* The ethical framework that most heavily influenced the decision and why.\\n* The specific harms and benefits considered and how they were weighed against each other.\\n* Why the chosen course of action was considered the most ethically sound option, given the circumstances.\\n* The steps taken to mitigate any negative consequences and protect the rights of those affected.\\n\\n**Important Considerations:**\\n\\n* **Context Matters:** Moral dilemmas are highly context-dependent. What is ethically justifiable in one situation may not be in another.\\n* **The \"Greater Good\" Can Be Subjective:** It\\'s important to critically examine what is meant by the \"greater good\" and who gets to define it.\\n* **No Perfect Solution:** Moral dilemmas often involve choosing between two imperfect options. The goal is to make the most ethical decision possible, given the constraints of the situation.\\n\\n**Example:**\\n\\nLet\\'s say there\\'s a highly contagious disease outbreak. Individual rights to privacy and freedom of movement might conflict with the \"greater good\" of containing the disease and protecting public health.\\n\\n* **Utilitarian Approach:** Might support mandatory vaccinations and quarantines, even if it infringes on individual liberties, because it prevents widespread illness and death.\\n* **Rights-Based Approach:** Would emphasize the importance of informed consent and the right to refuse medical treatment, even if it increases the risk of disease transmission.\\n\\nThe decision would depend on the severity of the outbreak, the effectiveness of the interventions, and the level of public trust. A balanced approach might involve encouraging vaccination through education and incentives, while reserving mandatory measures for extreme situations where the risk to public health is overwhelming.\\n\\nIn conclusion, resolving moral dilemmas involving individual rights and the greater good requires a rigorous and thoughtful process. By carefully considering the ethical frameworks, weighing the criteria, and engaging in open dialogue, we can strive to make the most ethically justifiable decision possible, even when faced with difficult choices.\\n', 'Resolving a moral dilemma where individual rights conflict with the greater good requires careful ethical reasoning, balancing competing values while striving for fairness, justice, and human dignity. Below is a structured approach to navigating such conflicts, along with criteria for justification:\\n\\n### **Step-by-Step Approach** \\n1. **Define the Conflict Clearly** \\n - Identify the specific individual right(s) at stake (e.g., privacy, autonomy, property). \\n - Articulate the \"greater good\" claim (e.g., public safety, collective welfare, environmental protection). \\n\\n2. **Assess the Moral Weight of Each Side** \\n - **Individual Rights:** Are they fundamental (e.g., freedom from torture vs. a minor inconvenience)? \\n - **Greater Good:** Is the benefit substantial and well-supported (e.g., preventing a pandemic vs. vague societal gains)? \\n\\n3. **Evaluate Alternatives** \\n - Is there a way to uphold both values (e.g., through compromise, policy adjustments, or technological solutions)? \\n - Can the greater good be achieved with minimal infringement on individual rights? \\n\\n4. **Apply Ethical Frameworks** \\n - **Deontological Ethics (Duty-Based):** Do certain rights (e.g., freedom of speech) hold absolute moral weight regardless of consequences? \\n - **Utilitarianism (Consequentialism):** Does the action maximize overall well-being, even if it restricts some individuals? \\n - **Virtue Ethics:** What would a morally exemplary person do in this situation? \\n - **Rights-Based Ethics:** Are the rights violations justified by necessity, proportionality, and lack of alternatives? \\n\\n5. **Consider Practical Implications** \\n - **Slippery Slope:** Could the decision set a dangerous precedent for future rights violations? \\n - **Rule of Law:** Is the action legally and institutionally justified, or is it arbitrary? \\n - **Public Justifiability:** Can the decision be defended transparently to those affected? \\n\\n6. **Make a Decision & Justify It** \\n - Choose the option that best balances moral principles while minimizing harm. \\n - Document the reasoning process to ensure accountability. \\n\\n### **Criteria for Justification** \\n1. **Necessity** – Is the restriction on individual rights truly unavoidable? \\n2. **Proportionality** – Does the benefit outweigh the harm, and is the response measured? \\n3. **Least Restrictive Means** – Are there less intrusive ways to achieve the same goal? \\n4. **Fairness & Non-Discrimination** – Is the burden distributed justly, or are marginalized groups disproportionately affected? \\n5. **Procedural Justice** – Were stakeholders consulted, and was the decision-making process fair? \\n\\n### **Example Application** \\n**Dilemma:** Mandatory vaccination during a deadly pandemic. \\n- **Individual Right:** Bodily autonomy. \\n- **Greater Good:** Public health and herd immunity. \\n- **Resolution:** \\n - **Necessity:** High (vaccines curb mass death). \\n - **Proportionality:** The minor infringement (vaccination) prevents severe harm (disease spread). \\n - **Alternatives:** Exemptions for medical reasons, not personal belief. \\n - **Justification:** The policy saves lives while allowing exceptions where justified. \\n\\n### **Conclusion** \\nNo approach is perfect, but a transparent, principled balancing test—grounded in ethical reasoning, empirical evidence, and respect for human dignity—helps navigate such conflicts responsibly. The goal should be to protect essential rights while recognizing that no right is entirely absolute in a society.', \"Resolving a moral dilemma where individual rights conflict with the greater good requires careful consideration, critical thinking, and often empathy. Here's a framework to help navigate such dilemmas:\\n\\n**Understanding the Structure**\\n\\nA moral dilemma typically involves two opposing principles: \\n\\n1. **Individual Rights**: The right of individuals to pursue their interests and freedoms.\\n2. **Greater Good**: The overall well-being and benefit of society.\\n\\nWhen individual rights conflict with the greater good, it's essential to consider the following steps:\\n\\n**Step 1: Clarify the Interests at Stake**\\n\\nIdentify the specific interests involved in each party:\\n\\n* Individual Rights:\\n\\t+ What rights are being asserted (e.g., freedom of expression, privacy, property)?\\n\\t+ Who benefits or is affected by these rights?\\n\\t+ Are there any competing individual rights that may be impacted?\\n* Greater Good:\\n\\t+ What is the general good or benefit at stake (e.g., public health, safety, environmental protection)?\\n\\n**Step 2: Weigh the Competing Interests**\\n\\nConsider the following factors to evaluate the conflicting interests:\\n\\n1. **Universal Rights**: Are individual right holders universally entitled to protection? (e.g., universal human rights)\\n2. **Public Interest**: Will compromise or sacrifice an individual's rights potentially benefit more people (e.g., preventing harm, promoting social cohesion)?\\n3. **Proportionality**: How significant is each aspect of the conflict, and how does it outweigh the other?\\n4. **Alternative Options**: Are there alternative solutions that balance both interests without making one side dominate the other?\\n\\n**Step 3: Evaluate Decision Criteria**\\n\\nConsider the following principles to guide your decision:\\n\\n1. **Justice**: Will the chosen action promote fairness, equality, or justice for all parties involved?\\n2. **Non-maleficence** (Do no harm): Will the decision result in harming more people than benefiting them?\\n3. **Beneficence** (Promote good): Does the decision support the greater good while also respecting individual rights?\\n\\n**Step 4: Consider the Long-term Consequences**\\n\\nThink about how your decision will affect the situation, both in the short and long term:\\n\\n1. **Future Implications**: How might different choices impact future individuals or groups?\\n2. **Systemic Effects**: Will your choice perpetuate a systemic problem or create a more balanced system?\\n\\n**Step 5: Seek Diverse Perspectives**\\n\\nConsult with diverse stakeholders, experts, and individuals affected by the conflict to gain additional insights that can inform your decision.\\n\\n**Step 6: Analyze Potential Risks and Benefits**\\n\\nWeigh both positive and negative consequences of each direction and attempt to identify potential unintended effects:\\n\\n1. **Potential harm**: Are there any risks or negative outcomes associated with either possible resolution?\\n2. **Positive impact**: Could the choice mitigate risks or contribute more benefit overall?\\n\\n**Example Case Study: Balancing Individual Rights vs. Greater Good**\\n\\nSuppose an individual, a free speech activist, protests in front of a local government building to oppose a proposed law limiting hate speech.\\n\\nIndividual rights at stake:\\n\\n* Freedom of expression\\n* Hate speech regulations\\n\\nGreater good at stake:\\n\\n* Social cohesion and preventing harm\\n\\nThrough the framework above, consider the competing interests: \\n\\n1. **Weighing**: Do individual right holders hold universal freedom of expression, or is it a context-dependent right? Could limiting hate speech help prevent greater social harm?\\n2. **Criteria justification**: Will balancing both rights promote justice while avoiding harm to potentially marginalized groups?\\n3. **Long-term implications**: How would the choice impact future protest movements and social tensions?\\n\\n**Conclusion**\\n\\nResolving moral dilemmas involves empathy, careful analysis, and informed decision-making. Use this framework as a guide to assess competing interests, identify potential harms and benefits, and weigh principles like justice, non-maleficence, and beneficence. Ultimately, the chosen course of action should prioritize fairness, promote the greater good while respecting individual rights, and consider long-term implications for diverse individuals and groups affected by your decision.\"]\n" ] } ], "source": [ "# So where are we?\n", "\n", "print(competitors)\n", "print(answers)\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Competitor: gpt-4o-mini\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires a careful and thoughtful approach. Here are the steps I would take and the criteria I would consider:\n", "\n", "### 1. **Identify the Stakeholders and Rights Involved**\n", " - **Clarify the Individuals**: Determine who is affected by the decision, both individuals and groups.\n", " - **Assess Individual Rights**: Understand the specific rights of those individuals involved and how they are being affected.\n", "\n", "### 2. **Define the Greater Good**\n", " - **Understand the Collective Benefit**: Assess what constitutes the greater good in this situation. What outcomes would lead to the most benefit for the largest number of people?\n", " - **Evaluate Long-Term vs. Short-Term Good**: Consider the long-term implications of prioritizing the greater good over individual rights.\n", "\n", "### 3. **Analyze Ethical Frameworks**\n", " - **Utilitarian Approach**: Would the decision lead to a greater overall happiness or reduce suffering for the majority?\n", " - **Deontological Perspective**: Does the decision respect the fundamental rights and duties owed to each individual, regardless of the outcome?\n", " - **Virtue Ethics**: What virtues are relevant in this situation (e.g., fairness, empathy, justice) and how do they guide the decision-making process?\n", "\n", "### 4. **Consider Possible Consequences**\n", " - **Immediate Effects**: What are the immediate consequences of prioritizing the greater good over individual rights?\n", " - **Long-term Implications**: What might the long-term consequences be for both individuals and society? Will this set a precedent that affects future dilemmas?\n", " \n", "### 5. **Engage in Dialogue and Consultation**\n", " - **Stakeholder Input**: If possible, engage with those directly affected to gather their perspectives.\n", " - **Consult Ethical Guidelines**: Review relevant ethical guidelines or frameworks within the context (e.g., professional codes, legal standards).\n", "\n", "### 6. **Evaluate Possible Alternatives**\n", " - **Find Compromises**: Explore creative solutions that could uphold individual rights while also addressing the needs of the greater good.\n", " - **Assess Mitigating Measures**: Analyze ways to alleviate harm to individuals while pursuing a collective benefit.\n", "\n", "### 7. **Make a Decision and Justify It**\n", " - **Transparency**: Be clear about the reasoning behind the decision, referencing the criteria and ethical principles applied.\n", " - **Ethical Rigor**: Ensure that the decision is defensible within the chosen ethical frameworks.\n", "\n", "### 8. **Review and Revise**\n", " - **Reflect on the Outcome**: After implementing the decision, monitor its outcomes and be open to revisiting the decision if unforeseen consequences arise.\n", " - **Adaptability**: Be willing to modify strategies based on new information or feedback from stakeholders.\n", "\n", "### Criteria for Justification:\n", "1. **Clarity**: Was the decision made transparently and clearly communicated?\n", "2. **Balance**: Was a fair balance struck between respecting individual rights and promoting the greater good?\n", "3. **Proportionality**: Are the consequences of prioritizing one over the other proportionate to the harm or benefits incurred?\n", "4. **Inclusivity**: Were the voices and rights of those affected included in the decision-making process?\n", "\n", "In conclusion, navigating moral dilemmas involving individual rights and the greater good requires a nuanced and ethical approach that weighs the interests of all stakeholders while striving for fairness and compassion.\n", "Competitor: claude-3-7-sonnet-latest\n", "\n", "# Approaching Moral Dilemmas: Individual Rights vs. Greater Good\n", "\n", "When facing conflicts between individual rights and collective welfare, I would approach the dilemma through multiple ethical frameworks:\n", "\n", "First, I'd carefully define both sides of the conflict:\n", "- What specific individual rights are at stake?\n", "- What precisely constitutes the \"greater good\" in this situation?\n", "- Who bears costs and who receives benefits?\n", "\n", "My criteria for resolution would include:\n", "\n", "1. **Proportionality**: Is the infringement on rights proportional to the collective benefit?\n", "\n", "2. **Necessity**: Is restricting rights truly necessary, or are there alternatives that preserve both?\n", "\n", "3. **Fairness in distribution**: Do the same people consistently bear the burdens while others receive benefits?\n", "\n", "4. **Consent and dignity**: Can we achieve meaningful consent or compensation for those whose rights are limited?\n", "\n", "5. **Precedent**: What future implications might this decision create?\n", "\n", "I recognize that different philosophical traditions (utilitarian, deontological, virtue ethics) would emphasize different aspects of this analysis, and the specific context would significantly influence which considerations take priority.\n", "\n", "What specific type of moral dilemma were you considering?\n", "Competitor: gemini-2.0-flash\n", "\n", "Approaching a moral dilemma where individual rights conflict with the greater good requires a thoughtful and nuanced approach. There isn't a single \"right\" answer, as the best course of action depends heavily on the specifics of the situation. Here's a breakdown of my approach and the criteria I'd use:\n", "\n", "**1. Understanding the Dilemma:**\n", "\n", "* **Clearly Define the Stakes:** What specific individual rights are in question? What constitutes the \"greater good\" in this context? Who benefits and who is harmed by each possible course of action? Quantify and qualify these aspects as much as possible.\n", "* **Identify Relevant Stakeholders:** Who are the individuals and groups directly and indirectly affected by the decision? Understand their perspectives and values.\n", "* **Gather Information:** Research the context, history, and potential consequences of each choice. Look for relevant data, statistics, and expert opinions. Avoid relying solely on intuition or gut feelings.\n", "\n", "**2. Ethical Frameworks for Consideration:**\n", "\n", "I would consider multiple ethical frameworks to analyze the dilemma:\n", "\n", "* **Utilitarianism:** Focuses on maximizing overall happiness and well-being for the greatest number of people. This would involve weighing the benefits to the majority against the harm to the individual or minority whose rights are potentially infringed upon.\n", "* **Deontology (Kantian Ethics):** Emphasizes moral duties and principles, regardless of consequences. Certain actions are inherently right or wrong, and individual rights are paramount. This framework might prioritize upholding individual rights, even if it means sacrificing some overall good.\n", "* **Rights-Based Ethics:** Centers on the inherent rights of individuals, such as the right to life, liberty, and property. This approach would prioritize protecting these rights unless there is an overwhelming and compelling reason to infringe upon them.\n", "* **Virtue Ethics:** Focuses on developing virtuous character traits, such as compassion, justice, and fairness. This framework would involve asking what a virtuous person would do in this situation, considering the long-term impact on character and community.\n", "* **Care Ethics:** Emphasizes relationships, empathy, and responsibility for vulnerable individuals. This framework would prioritize minimizing harm to those most affected and considering the relational consequences of each decision.\n", "\n", "**3. Weighing the Criteria:**\n", "\n", "I would use the following criteria to evaluate the different options and justify my decision:\n", "\n", "* **Severity of Harm/Benefit:** How significant is the harm to individual rights? How substantial is the benefit to the greater good? Prioritize avoiding severe harm, especially irreversible harm.\n", "* **Probability of Outcomes:** How likely are the predicted consequences to occur? Consider the uncertainties and potential unintended consequences.\n", "* **Necessity:** Is infringing upon individual rights truly necessary to achieve the greater good? Are there less intrusive alternatives that could be explored? Is the goal of the \"greater good\" compelling enough to justify the infringement?\n", "* **Proportionality:** Is the infringement of individual rights proportional to the benefit achieved for the greater good? The harm caused to individuals should be minimized and outweighed by the overall benefit.\n", "* **Fairness and Justice:** Are the burdens and benefits distributed fairly? Does the decision disproportionately harm any particular group? Ensure that the decision does not perpetuate existing inequalities.\n", "* **Transparency and Accountability:** The decision-making process should be transparent, and the rationale behind the decision should be clearly explained. Those responsible for the decision should be held accountable for its consequences.\n", "* **Least Restrictive Alternative:** Choose the option that infringes on individual rights the least while still achieving the desired outcome.\n", "* **Duration and Reversibility:** How long will the infringement on individual rights last? Can the situation be reversed in the future? Opt for solutions that are temporary and reversible whenever possible.\n", "* **Consent and Participation:** Whenever possible, seek the consent and participation of those whose rights are potentially affected. Even if full consent is not possible, strive for meaningful consultation and dialogue.\n", "* **Precedent:** What precedent does this decision set for future situations? Consider the potential long-term implications of the decision.\n", "\n", "**4. The Decision-Making Process:**\n", "\n", "* **Deliberation and Consultation:** Discuss the dilemma with others, including those with different perspectives and expertise. Actively listen to and consider opposing viewpoints.\n", "* **Document the Rationale:** Clearly document the decision-making process, the ethical frameworks considered, the criteria used, and the justification for the final decision. This provides a record for future review and accountability.\n", "* **Monitor and Evaluate:** After the decision is implemented, monitor its consequences and evaluate its effectiveness. Be prepared to adjust the course of action if necessary.\n", "* **Acknowledge the Complexity:** Recognize that moral dilemmas often involve conflicting values and that any decision may have unintended consequences. Embrace humility and be willing to learn from mistakes.\n", "\n", "**Justifying the Decision:**\n", "\n", "The justification for my decision would be based on a comprehensive analysis of the dilemma using the criteria outlined above. I would clearly articulate:\n", "\n", "* The ethical framework that most heavily influenced the decision and why.\n", "* The specific harms and benefits considered and how they were weighed against each other.\n", "* Why the chosen course of action was considered the most ethically sound option, given the circumstances.\n", "* The steps taken to mitigate any negative consequences and protect the rights of those affected.\n", "\n", "**Important Considerations:**\n", "\n", "* **Context Matters:** Moral dilemmas are highly context-dependent. What is ethically justifiable in one situation may not be in another.\n", "* **The \"Greater Good\" Can Be Subjective:** It's important to critically examine what is meant by the \"greater good\" and who gets to define it.\n", "* **No Perfect Solution:** Moral dilemmas often involve choosing between two imperfect options. The goal is to make the most ethical decision possible, given the constraints of the situation.\n", "\n", "**Example:**\n", "\n", "Let's say there's a highly contagious disease outbreak. Individual rights to privacy and freedom of movement might conflict with the \"greater good\" of containing the disease and protecting public health.\n", "\n", "* **Utilitarian Approach:** Might support mandatory vaccinations and quarantines, even if it infringes on individual liberties, because it prevents widespread illness and death.\n", "* **Rights-Based Approach:** Would emphasize the importance of informed consent and the right to refuse medical treatment, even if it increases the risk of disease transmission.\n", "\n", "The decision would depend on the severity of the outbreak, the effectiveness of the interventions, and the level of public trust. A balanced approach might involve encouraging vaccination through education and incentives, while reserving mandatory measures for extreme situations where the risk to public health is overwhelming.\n", "\n", "In conclusion, resolving moral dilemmas involving individual rights and the greater good requires a rigorous and thoughtful process. By carefully considering the ethical frameworks, weighing the criteria, and engaging in open dialogue, we can strive to make the most ethically justifiable decision possible, even when faced with difficult choices.\n", "\n", "Competitor: deepseek-chat\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires careful ethical reasoning, balancing competing values while striving for fairness, justice, and human dignity. Below is a structured approach to navigating such conflicts, along with criteria for justification:\n", "\n", "### **Step-by-Step Approach** \n", "1. **Define the Conflict Clearly** \n", " - Identify the specific individual right(s) at stake (e.g., privacy, autonomy, property). \n", " - Articulate the \"greater good\" claim (e.g., public safety, collective welfare, environmental protection). \n", "\n", "2. **Assess the Moral Weight of Each Side** \n", " - **Individual Rights:** Are they fundamental (e.g., freedom from torture vs. a minor inconvenience)? \n", " - **Greater Good:** Is the benefit substantial and well-supported (e.g., preventing a pandemic vs. vague societal gains)? \n", "\n", "3. **Evaluate Alternatives** \n", " - Is there a way to uphold both values (e.g., through compromise, policy adjustments, or technological solutions)? \n", " - Can the greater good be achieved with minimal infringement on individual rights? \n", "\n", "4. **Apply Ethical Frameworks** \n", " - **Deontological Ethics (Duty-Based):** Do certain rights (e.g., freedom of speech) hold absolute moral weight regardless of consequences? \n", " - **Utilitarianism (Consequentialism):** Does the action maximize overall well-being, even if it restricts some individuals? \n", " - **Virtue Ethics:** What would a morally exemplary person do in this situation? \n", " - **Rights-Based Ethics:** Are the rights violations justified by necessity, proportionality, and lack of alternatives? \n", "\n", "5. **Consider Practical Implications** \n", " - **Slippery Slope:** Could the decision set a dangerous precedent for future rights violations? \n", " - **Rule of Law:** Is the action legally and institutionally justified, or is it arbitrary? \n", " - **Public Justifiability:** Can the decision be defended transparently to those affected? \n", "\n", "6. **Make a Decision & Justify It** \n", " - Choose the option that best balances moral principles while minimizing harm. \n", " - Document the reasoning process to ensure accountability. \n", "\n", "### **Criteria for Justification** \n", "1. **Necessity** – Is the restriction on individual rights truly unavoidable? \n", "2. **Proportionality** – Does the benefit outweigh the harm, and is the response measured? \n", "3. **Least Restrictive Means** – Are there less intrusive ways to achieve the same goal? \n", "4. **Fairness & Non-Discrimination** – Is the burden distributed justly, or are marginalized groups disproportionately affected? \n", "5. **Procedural Justice** – Were stakeholders consulted, and was the decision-making process fair? \n", "\n", "### **Example Application** \n", "**Dilemma:** Mandatory vaccination during a deadly pandemic. \n", "- **Individual Right:** Bodily autonomy. \n", "- **Greater Good:** Public health and herd immunity. \n", "- **Resolution:** \n", " - **Necessity:** High (vaccines curb mass death). \n", " - **Proportionality:** The minor infringement (vaccination) prevents severe harm (disease spread). \n", " - **Alternatives:** Exemptions for medical reasons, not personal belief. \n", " - **Justification:** The policy saves lives while allowing exceptions where justified. \n", "\n", "### **Conclusion** \n", "No approach is perfect, but a transparent, principled balancing test—grounded in ethical reasoning, empirical evidence, and respect for human dignity—helps navigate such conflicts responsibly. The goal should be to protect essential rights while recognizing that no right is entirely absolute in a society.\n", "Competitor: llama3.2\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires careful consideration, critical thinking, and often empathy. Here's a framework to help navigate such dilemmas:\n", "\n", "**Understanding the Structure**\n", "\n", "A moral dilemma typically involves two opposing principles: \n", "\n", "1. **Individual Rights**: The right of individuals to pursue their interests and freedoms.\n", "2. **Greater Good**: The overall well-being and benefit of society.\n", "\n", "When individual rights conflict with the greater good, it's essential to consider the following steps:\n", "\n", "**Step 1: Clarify the Interests at Stake**\n", "\n", "Identify the specific interests involved in each party:\n", "\n", "* Individual Rights:\n", "\t+ What rights are being asserted (e.g., freedom of expression, privacy, property)?\n", "\t+ Who benefits or is affected by these rights?\n", "\t+ Are there any competing individual rights that may be impacted?\n", "* Greater Good:\n", "\t+ What is the general good or benefit at stake (e.g., public health, safety, environmental protection)?\n", "\n", "**Step 2: Weigh the Competing Interests**\n", "\n", "Consider the following factors to evaluate the conflicting interests:\n", "\n", "1. **Universal Rights**: Are individual right holders universally entitled to protection? (e.g., universal human rights)\n", "2. **Public Interest**: Will compromise or sacrifice an individual's rights potentially benefit more people (e.g., preventing harm, promoting social cohesion)?\n", "3. **Proportionality**: How significant is each aspect of the conflict, and how does it outweigh the other?\n", "4. **Alternative Options**: Are there alternative solutions that balance both interests without making one side dominate the other?\n", "\n", "**Step 3: Evaluate Decision Criteria**\n", "\n", "Consider the following principles to guide your decision:\n", "\n", "1. **Justice**: Will the chosen action promote fairness, equality, or justice for all parties involved?\n", "2. **Non-maleficence** (Do no harm): Will the decision result in harming more people than benefiting them?\n", "3. **Beneficence** (Promote good): Does the decision support the greater good while also respecting individual rights?\n", "\n", "**Step 4: Consider the Long-term Consequences**\n", "\n", "Think about how your decision will affect the situation, both in the short and long term:\n", "\n", "1. **Future Implications**: How might different choices impact future individuals or groups?\n", "2. **Systemic Effects**: Will your choice perpetuate a systemic problem or create a more balanced system?\n", "\n", "**Step 5: Seek Diverse Perspectives**\n", "\n", "Consult with diverse stakeholders, experts, and individuals affected by the conflict to gain additional insights that can inform your decision.\n", "\n", "**Step 6: Analyze Potential Risks and Benefits**\n", "\n", "Weigh both positive and negative consequences of each direction and attempt to identify potential unintended effects:\n", "\n", "1. **Potential harm**: Are there any risks or negative outcomes associated with either possible resolution?\n", "2. **Positive impact**: Could the choice mitigate risks or contribute more benefit overall?\n", "\n", "**Example Case Study: Balancing Individual Rights vs. Greater Good**\n", "\n", "Suppose an individual, a free speech activist, protests in front of a local government building to oppose a proposed law limiting hate speech.\n", "\n", "Individual rights at stake:\n", "\n", "* Freedom of expression\n", "* Hate speech regulations\n", "\n", "Greater good at stake:\n", "\n", "* Social cohesion and preventing harm\n", "\n", "Through the framework above, consider the competing interests: \n", "\n", "1. **Weighing**: Do individual right holders hold universal freedom of expression, or is it a context-dependent right? Could limiting hate speech help prevent greater social harm?\n", "2. **Criteria justification**: Will balancing both rights promote justice while avoiding harm to potentially marginalized groups?\n", "3. **Long-term implications**: How would the choice impact future protest movements and social tensions?\n", "\n", "**Conclusion**\n", "\n", "Resolving moral dilemmas involves empathy, careful analysis, and informed decision-making. Use this framework as a guide to assess competing interests, identify potential harms and benefits, and weigh principles like justice, non-maleficence, and beneficence. Ultimately, the chosen course of action should prioritize fairness, promote the greater good while respecting individual rights, and consider long-term implications for diverse individuals and groups affected by your decision.\n" ] } ], "source": [ "# It's nice to know how to use \"zip\"\n", "for competitor, answer in zip(competitors, answers):\n", " print(f\"Competitor: {competitor}\\n\\n{answer}\")\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Let's bring this together - note the use of \"enumerate\"\n", "\n", "together = \"\"\n", "for index, answer in enumerate(answers):\n", " together += f\"# Response from competitor {index+1}\\n\\n\"\n", " together += answer + \"\\n\\n\"" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# Response from competitor 1\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires a careful and thoughtful approach. Here are the steps I would take and the criteria I would consider:\n", "\n", "### 1. **Identify the Stakeholders and Rights Involved**\n", " - **Clarify the Individuals**: Determine who is affected by the decision, both individuals and groups.\n", " - **Assess Individual Rights**: Understand the specific rights of those individuals involved and how they are being affected.\n", "\n", "### 2. **Define the Greater Good**\n", " - **Understand the Collective Benefit**: Assess what constitutes the greater good in this situation. What outcomes would lead to the most benefit for the largest number of people?\n", " - **Evaluate Long-Term vs. Short-Term Good**: Consider the long-term implications of prioritizing the greater good over individual rights.\n", "\n", "### 3. **Analyze Ethical Frameworks**\n", " - **Utilitarian Approach**: Would the decision lead to a greater overall happiness or reduce suffering for the majority?\n", " - **Deontological Perspective**: Does the decision respect the fundamental rights and duties owed to each individual, regardless of the outcome?\n", " - **Virtue Ethics**: What virtues are relevant in this situation (e.g., fairness, empathy, justice) and how do they guide the decision-making process?\n", "\n", "### 4. **Consider Possible Consequences**\n", " - **Immediate Effects**: What are the immediate consequences of prioritizing the greater good over individual rights?\n", " - **Long-term Implications**: What might the long-term consequences be for both individuals and society? Will this set a precedent that affects future dilemmas?\n", " \n", "### 5. **Engage in Dialogue and Consultation**\n", " - **Stakeholder Input**: If possible, engage with those directly affected to gather their perspectives.\n", " - **Consult Ethical Guidelines**: Review relevant ethical guidelines or frameworks within the context (e.g., professional codes, legal standards).\n", "\n", "### 6. **Evaluate Possible Alternatives**\n", " - **Find Compromises**: Explore creative solutions that could uphold individual rights while also addressing the needs of the greater good.\n", " - **Assess Mitigating Measures**: Analyze ways to alleviate harm to individuals while pursuing a collective benefit.\n", "\n", "### 7. **Make a Decision and Justify It**\n", " - **Transparency**: Be clear about the reasoning behind the decision, referencing the criteria and ethical principles applied.\n", " - **Ethical Rigor**: Ensure that the decision is defensible within the chosen ethical frameworks.\n", "\n", "### 8. **Review and Revise**\n", " - **Reflect on the Outcome**: After implementing the decision, monitor its outcomes and be open to revisiting the decision if unforeseen consequences arise.\n", " - **Adaptability**: Be willing to modify strategies based on new information or feedback from stakeholders.\n", "\n", "### Criteria for Justification:\n", "1. **Clarity**: Was the decision made transparently and clearly communicated?\n", "2. **Balance**: Was a fair balance struck between respecting individual rights and promoting the greater good?\n", "3. **Proportionality**: Are the consequences of prioritizing one over the other proportionate to the harm or benefits incurred?\n", "4. **Inclusivity**: Were the voices and rights of those affected included in the decision-making process?\n", "\n", "In conclusion, navigating moral dilemmas involving individual rights and the greater good requires a nuanced and ethical approach that weighs the interests of all stakeholders while striving for fairness and compassion.\n", "\n", "# Response from competitor 2\n", "\n", "# Approaching Moral Dilemmas: Individual Rights vs. Greater Good\n", "\n", "When facing conflicts between individual rights and collective welfare, I would approach the dilemma through multiple ethical frameworks:\n", "\n", "First, I'd carefully define both sides of the conflict:\n", "- What specific individual rights are at stake?\n", "- What precisely constitutes the \"greater good\" in this situation?\n", "- Who bears costs and who receives benefits?\n", "\n", "My criteria for resolution would include:\n", "\n", "1. **Proportionality**: Is the infringement on rights proportional to the collective benefit?\n", "\n", "2. **Necessity**: Is restricting rights truly necessary, or are there alternatives that preserve both?\n", "\n", "3. **Fairness in distribution**: Do the same people consistently bear the burdens while others receive benefits?\n", "\n", "4. **Consent and dignity**: Can we achieve meaningful consent or compensation for those whose rights are limited?\n", "\n", "5. **Precedent**: What future implications might this decision create?\n", "\n", "I recognize that different philosophical traditions (utilitarian, deontological, virtue ethics) would emphasize different aspects of this analysis, and the specific context would significantly influence which considerations take priority.\n", "\n", "What specific type of moral dilemma were you considering?\n", "\n", "# Response from competitor 3\n", "\n", "Approaching a moral dilemma where individual rights conflict with the greater good requires a thoughtful and nuanced approach. There isn't a single \"right\" answer, as the best course of action depends heavily on the specifics of the situation. Here's a breakdown of my approach and the criteria I'd use:\n", "\n", "**1. Understanding the Dilemma:**\n", "\n", "* **Clearly Define the Stakes:** What specific individual rights are in question? What constitutes the \"greater good\" in this context? Who benefits and who is harmed by each possible course of action? Quantify and qualify these aspects as much as possible.\n", "* **Identify Relevant Stakeholders:** Who are the individuals and groups directly and indirectly affected by the decision? Understand their perspectives and values.\n", "* **Gather Information:** Research the context, history, and potential consequences of each choice. Look for relevant data, statistics, and expert opinions. Avoid relying solely on intuition or gut feelings.\n", "\n", "**2. Ethical Frameworks for Consideration:**\n", "\n", "I would consider multiple ethical frameworks to analyze the dilemma:\n", "\n", "* **Utilitarianism:** Focuses on maximizing overall happiness and well-being for the greatest number of people. This would involve weighing the benefits to the majority against the harm to the individual or minority whose rights are potentially infringed upon.\n", "* **Deontology (Kantian Ethics):** Emphasizes moral duties and principles, regardless of consequences. Certain actions are inherently right or wrong, and individual rights are paramount. This framework might prioritize upholding individual rights, even if it means sacrificing some overall good.\n", "* **Rights-Based Ethics:** Centers on the inherent rights of individuals, such as the right to life, liberty, and property. This approach would prioritize protecting these rights unless there is an overwhelming and compelling reason to infringe upon them.\n", "* **Virtue Ethics:** Focuses on developing virtuous character traits, such as compassion, justice, and fairness. This framework would involve asking what a virtuous person would do in this situation, considering the long-term impact on character and community.\n", "* **Care Ethics:** Emphasizes relationships, empathy, and responsibility for vulnerable individuals. This framework would prioritize minimizing harm to those most affected and considering the relational consequences of each decision.\n", "\n", "**3. Weighing the Criteria:**\n", "\n", "I would use the following criteria to evaluate the different options and justify my decision:\n", "\n", "* **Severity of Harm/Benefit:** How significant is the harm to individual rights? How substantial is the benefit to the greater good? Prioritize avoiding severe harm, especially irreversible harm.\n", "* **Probability of Outcomes:** How likely are the predicted consequences to occur? Consider the uncertainties and potential unintended consequences.\n", "* **Necessity:** Is infringing upon individual rights truly necessary to achieve the greater good? Are there less intrusive alternatives that could be explored? Is the goal of the \"greater good\" compelling enough to justify the infringement?\n", "* **Proportionality:** Is the infringement of individual rights proportional to the benefit achieved for the greater good? The harm caused to individuals should be minimized and outweighed by the overall benefit.\n", "* **Fairness and Justice:** Are the burdens and benefits distributed fairly? Does the decision disproportionately harm any particular group? Ensure that the decision does not perpetuate existing inequalities.\n", "* **Transparency and Accountability:** The decision-making process should be transparent, and the rationale behind the decision should be clearly explained. Those responsible for the decision should be held accountable for its consequences.\n", "* **Least Restrictive Alternative:** Choose the option that infringes on individual rights the least while still achieving the desired outcome.\n", "* **Duration and Reversibility:** How long will the infringement on individual rights last? Can the situation be reversed in the future? Opt for solutions that are temporary and reversible whenever possible.\n", "* **Consent and Participation:** Whenever possible, seek the consent and participation of those whose rights are potentially affected. Even if full consent is not possible, strive for meaningful consultation and dialogue.\n", "* **Precedent:** What precedent does this decision set for future situations? Consider the potential long-term implications of the decision.\n", "\n", "**4. The Decision-Making Process:**\n", "\n", "* **Deliberation and Consultation:** Discuss the dilemma with others, including those with different perspectives and expertise. Actively listen to and consider opposing viewpoints.\n", "* **Document the Rationale:** Clearly document the decision-making process, the ethical frameworks considered, the criteria used, and the justification for the final decision. This provides a record for future review and accountability.\n", "* **Monitor and Evaluate:** After the decision is implemented, monitor its consequences and evaluate its effectiveness. Be prepared to adjust the course of action if necessary.\n", "* **Acknowledge the Complexity:** Recognize that moral dilemmas often involve conflicting values and that any decision may have unintended consequences. Embrace humility and be willing to learn from mistakes.\n", "\n", "**Justifying the Decision:**\n", "\n", "The justification for my decision would be based on a comprehensive analysis of the dilemma using the criteria outlined above. I would clearly articulate:\n", "\n", "* The ethical framework that most heavily influenced the decision and why.\n", "* The specific harms and benefits considered and how they were weighed against each other.\n", "* Why the chosen course of action was considered the most ethically sound option, given the circumstances.\n", "* The steps taken to mitigate any negative consequences and protect the rights of those affected.\n", "\n", "**Important Considerations:**\n", "\n", "* **Context Matters:** Moral dilemmas are highly context-dependent. What is ethically justifiable in one situation may not be in another.\n", "* **The \"Greater Good\" Can Be Subjective:** It's important to critically examine what is meant by the \"greater good\" and who gets to define it.\n", "* **No Perfect Solution:** Moral dilemmas often involve choosing between two imperfect options. The goal is to make the most ethical decision possible, given the constraints of the situation.\n", "\n", "**Example:**\n", "\n", "Let's say there's a highly contagious disease outbreak. Individual rights to privacy and freedom of movement might conflict with the \"greater good\" of containing the disease and protecting public health.\n", "\n", "* **Utilitarian Approach:** Might support mandatory vaccinations and quarantines, even if it infringes on individual liberties, because it prevents widespread illness and death.\n", "* **Rights-Based Approach:** Would emphasize the importance of informed consent and the right to refuse medical treatment, even if it increases the risk of disease transmission.\n", "\n", "The decision would depend on the severity of the outbreak, the effectiveness of the interventions, and the level of public trust. A balanced approach might involve encouraging vaccination through education and incentives, while reserving mandatory measures for extreme situations where the risk to public health is overwhelming.\n", "\n", "In conclusion, resolving moral dilemmas involving individual rights and the greater good requires a rigorous and thoughtful process. By carefully considering the ethical frameworks, weighing the criteria, and engaging in open dialogue, we can strive to make the most ethically justifiable decision possible, even when faced with difficult choices.\n", "\n", "\n", "# Response from competitor 4\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires careful ethical reasoning, balancing competing values while striving for fairness, justice, and human dignity. Below is a structured approach to navigating such conflicts, along with criteria for justification:\n", "\n", "### **Step-by-Step Approach** \n", "1. **Define the Conflict Clearly** \n", " - Identify the specific individual right(s) at stake (e.g., privacy, autonomy, property). \n", " - Articulate the \"greater good\" claim (e.g., public safety, collective welfare, environmental protection). \n", "\n", "2. **Assess the Moral Weight of Each Side** \n", " - **Individual Rights:** Are they fundamental (e.g., freedom from torture vs. a minor inconvenience)? \n", " - **Greater Good:** Is the benefit substantial and well-supported (e.g., preventing a pandemic vs. vague societal gains)? \n", "\n", "3. **Evaluate Alternatives** \n", " - Is there a way to uphold both values (e.g., through compromise, policy adjustments, or technological solutions)? \n", " - Can the greater good be achieved with minimal infringement on individual rights? \n", "\n", "4. **Apply Ethical Frameworks** \n", " - **Deontological Ethics (Duty-Based):** Do certain rights (e.g., freedom of speech) hold absolute moral weight regardless of consequences? \n", " - **Utilitarianism (Consequentialism):** Does the action maximize overall well-being, even if it restricts some individuals? \n", " - **Virtue Ethics:** What would a morally exemplary person do in this situation? \n", " - **Rights-Based Ethics:** Are the rights violations justified by necessity, proportionality, and lack of alternatives? \n", "\n", "5. **Consider Practical Implications** \n", " - **Slippery Slope:** Could the decision set a dangerous precedent for future rights violations? \n", " - **Rule of Law:** Is the action legally and institutionally justified, or is it arbitrary? \n", " - **Public Justifiability:** Can the decision be defended transparently to those affected? \n", "\n", "6. **Make a Decision & Justify It** \n", " - Choose the option that best balances moral principles while minimizing harm. \n", " - Document the reasoning process to ensure accountability. \n", "\n", "### **Criteria for Justification** \n", "1. **Necessity** – Is the restriction on individual rights truly unavoidable? \n", "2. **Proportionality** – Does the benefit outweigh the harm, and is the response measured? \n", "3. **Least Restrictive Means** – Are there less intrusive ways to achieve the same goal? \n", "4. **Fairness & Non-Discrimination** – Is the burden distributed justly, or are marginalized groups disproportionately affected? \n", "5. **Procedural Justice** – Were stakeholders consulted, and was the decision-making process fair? \n", "\n", "### **Example Application** \n", "**Dilemma:** Mandatory vaccination during a deadly pandemic. \n", "- **Individual Right:** Bodily autonomy. \n", "- **Greater Good:** Public health and herd immunity. \n", "- **Resolution:** \n", " - **Necessity:** High (vaccines curb mass death). \n", " - **Proportionality:** The minor infringement (vaccination) prevents severe harm (disease spread). \n", " - **Alternatives:** Exemptions for medical reasons, not personal belief. \n", " - **Justification:** The policy saves lives while allowing exceptions where justified. \n", "\n", "### **Conclusion** \n", "No approach is perfect, but a transparent, principled balancing test—grounded in ethical reasoning, empirical evidence, and respect for human dignity—helps navigate such conflicts responsibly. The goal should be to protect essential rights while recognizing that no right is entirely absolute in a society.\n", "\n", "# Response from competitor 5\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires careful consideration, critical thinking, and often empathy. Here's a framework to help navigate such dilemmas:\n", "\n", "**Understanding the Structure**\n", "\n", "A moral dilemma typically involves two opposing principles: \n", "\n", "1. **Individual Rights**: The right of individuals to pursue their interests and freedoms.\n", "2. **Greater Good**: The overall well-being and benefit of society.\n", "\n", "When individual rights conflict with the greater good, it's essential to consider the following steps:\n", "\n", "**Step 1: Clarify the Interests at Stake**\n", "\n", "Identify the specific interests involved in each party:\n", "\n", "* Individual Rights:\n", "\t+ What rights are being asserted (e.g., freedom of expression, privacy, property)?\n", "\t+ Who benefits or is affected by these rights?\n", "\t+ Are there any competing individual rights that may be impacted?\n", "* Greater Good:\n", "\t+ What is the general good or benefit at stake (e.g., public health, safety, environmental protection)?\n", "\n", "**Step 2: Weigh the Competing Interests**\n", "\n", "Consider the following factors to evaluate the conflicting interests:\n", "\n", "1. **Universal Rights**: Are individual right holders universally entitled to protection? (e.g., universal human rights)\n", "2. **Public Interest**: Will compromise or sacrifice an individual's rights potentially benefit more people (e.g., preventing harm, promoting social cohesion)?\n", "3. **Proportionality**: How significant is each aspect of the conflict, and how does it outweigh the other?\n", "4. **Alternative Options**: Are there alternative solutions that balance both interests without making one side dominate the other?\n", "\n", "**Step 3: Evaluate Decision Criteria**\n", "\n", "Consider the following principles to guide your decision:\n", "\n", "1. **Justice**: Will the chosen action promote fairness, equality, or justice for all parties involved?\n", "2. **Non-maleficence** (Do no harm): Will the decision result in harming more people than benefiting them?\n", "3. **Beneficence** (Promote good): Does the decision support the greater good while also respecting individual rights?\n", "\n", "**Step 4: Consider the Long-term Consequences**\n", "\n", "Think about how your decision will affect the situation, both in the short and long term:\n", "\n", "1. **Future Implications**: How might different choices impact future individuals or groups?\n", "2. **Systemic Effects**: Will your choice perpetuate a systemic problem or create a more balanced system?\n", "\n", "**Step 5: Seek Diverse Perspectives**\n", "\n", "Consult with diverse stakeholders, experts, and individuals affected by the conflict to gain additional insights that can inform your decision.\n", "\n", "**Step 6: Analyze Potential Risks and Benefits**\n", "\n", "Weigh both positive and negative consequences of each direction and attempt to identify potential unintended effects:\n", "\n", "1. **Potential harm**: Are there any risks or negative outcomes associated with either possible resolution?\n", "2. **Positive impact**: Could the choice mitigate risks or contribute more benefit overall?\n", "\n", "**Example Case Study: Balancing Individual Rights vs. Greater Good**\n", "\n", "Suppose an individual, a free speech activist, protests in front of a local government building to oppose a proposed law limiting hate speech.\n", "\n", "Individual rights at stake:\n", "\n", "* Freedom of expression\n", "* Hate speech regulations\n", "\n", "Greater good at stake:\n", "\n", "* Social cohesion and preventing harm\n", "\n", "Through the framework above, consider the competing interests: \n", "\n", "1. **Weighing**: Do individual right holders hold universal freedom of expression, or is it a context-dependent right? Could limiting hate speech help prevent greater social harm?\n", "2. **Criteria justification**: Will balancing both rights promote justice while avoiding harm to potentially marginalized groups?\n", "3. **Long-term implications**: How would the choice impact future protest movements and social tensions?\n", "\n", "**Conclusion**\n", "\n", "Resolving moral dilemmas involves empathy, careful analysis, and informed decision-making. Use this framework as a guide to assess competing interests, identify potential harms and benefits, and weigh principles like justice, non-maleficence, and beneficence. Ultimately, the chosen course of action should prioritize fairness, promote the greater good while respecting individual rights, and consider long-term implications for diverse individuals and groups affected by your decision.\n", "\n", "\n" ] } ], "source": [ "print(together)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "judge = f\"\"\"You are judging a competition between {len(competitors)} competitors.\n", "Each model has been given this question:\n", "\n", "{question}\n", "\n", "Your job is to evaluate each response for clarity and strength of argument, and rank them in order of best to worst.\n", "Respond with JSON, and only JSON, with the following format:\n", "{{\"results\": [\"best competitor number\", \"second best competitor number\", \"third best competitor number\", ...]}}\n", "\n", "Here are the responses from each competitor:\n", "\n", "{together}\n", "\n", "Now respond with the JSON with the ranked order of the competitors, nothing else. Do not include markdown formatting or code blocks.\"\"\"\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "You are judging a competition between 5 competitors.\n", "Each model has been given this question:\n", "\n", "How would you approach resolving a moral dilemma where the interests of individual rights conflict with the greater good, and what criteria would you use to justify your decision?\n", "\n", "Your job is to evaluate each response for clarity and strength of argument, and rank them in order of best to worst.\n", "Respond with JSON, and only JSON, with the following format:\n", "{\"results\": [\"best competitor number\", \"second best competitor number\", \"third best competitor number\", ...]}\n", "\n", "Here are the responses from each competitor:\n", "\n", "# Response from competitor 1\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires a careful and thoughtful approach. Here are the steps I would take and the criteria I would consider:\n", "\n", "### 1. **Identify the Stakeholders and Rights Involved**\n", " - **Clarify the Individuals**: Determine who is affected by the decision, both individuals and groups.\n", " - **Assess Individual Rights**: Understand the specific rights of those individuals involved and how they are being affected.\n", "\n", "### 2. **Define the Greater Good**\n", " - **Understand the Collective Benefit**: Assess what constitutes the greater good in this situation. What outcomes would lead to the most benefit for the largest number of people?\n", " - **Evaluate Long-Term vs. Short-Term Good**: Consider the long-term implications of prioritizing the greater good over individual rights.\n", "\n", "### 3. **Analyze Ethical Frameworks**\n", " - **Utilitarian Approach**: Would the decision lead to a greater overall happiness or reduce suffering for the majority?\n", " - **Deontological Perspective**: Does the decision respect the fundamental rights and duties owed to each individual, regardless of the outcome?\n", " - **Virtue Ethics**: What virtues are relevant in this situation (e.g., fairness, empathy, justice) and how do they guide the decision-making process?\n", "\n", "### 4. **Consider Possible Consequences**\n", " - **Immediate Effects**: What are the immediate consequences of prioritizing the greater good over individual rights?\n", " - **Long-term Implications**: What might the long-term consequences be for both individuals and society? Will this set a precedent that affects future dilemmas?\n", " \n", "### 5. **Engage in Dialogue and Consultation**\n", " - **Stakeholder Input**: If possible, engage with those directly affected to gather their perspectives.\n", " - **Consult Ethical Guidelines**: Review relevant ethical guidelines or frameworks within the context (e.g., professional codes, legal standards).\n", "\n", "### 6. **Evaluate Possible Alternatives**\n", " - **Find Compromises**: Explore creative solutions that could uphold individual rights while also addressing the needs of the greater good.\n", " - **Assess Mitigating Measures**: Analyze ways to alleviate harm to individuals while pursuing a collective benefit.\n", "\n", "### 7. **Make a Decision and Justify It**\n", " - **Transparency**: Be clear about the reasoning behind the decision, referencing the criteria and ethical principles applied.\n", " - **Ethical Rigor**: Ensure that the decision is defensible within the chosen ethical frameworks.\n", "\n", "### 8. **Review and Revise**\n", " - **Reflect on the Outcome**: After implementing the decision, monitor its outcomes and be open to revisiting the decision if unforeseen consequences arise.\n", " - **Adaptability**: Be willing to modify strategies based on new information or feedback from stakeholders.\n", "\n", "### Criteria for Justification:\n", "1. **Clarity**: Was the decision made transparently and clearly communicated?\n", "2. **Balance**: Was a fair balance struck between respecting individual rights and promoting the greater good?\n", "3. **Proportionality**: Are the consequences of prioritizing one over the other proportionate to the harm or benefits incurred?\n", "4. **Inclusivity**: Were the voices and rights of those affected included in the decision-making process?\n", "\n", "In conclusion, navigating moral dilemmas involving individual rights and the greater good requires a nuanced and ethical approach that weighs the interests of all stakeholders while striving for fairness and compassion.\n", "\n", "# Response from competitor 2\n", "\n", "# Approaching Moral Dilemmas: Individual Rights vs. Greater Good\n", "\n", "When facing conflicts between individual rights and collective welfare, I would approach the dilemma through multiple ethical frameworks:\n", "\n", "First, I'd carefully define both sides of the conflict:\n", "- What specific individual rights are at stake?\n", "- What precisely constitutes the \"greater good\" in this situation?\n", "- Who bears costs and who receives benefits?\n", "\n", "My criteria for resolution would include:\n", "\n", "1. **Proportionality**: Is the infringement on rights proportional to the collective benefit?\n", "\n", "2. **Necessity**: Is restricting rights truly necessary, or are there alternatives that preserve both?\n", "\n", "3. **Fairness in distribution**: Do the same people consistently bear the burdens while others receive benefits?\n", "\n", "4. **Consent and dignity**: Can we achieve meaningful consent or compensation for those whose rights are limited?\n", "\n", "5. **Precedent**: What future implications might this decision create?\n", "\n", "I recognize that different philosophical traditions (utilitarian, deontological, virtue ethics) would emphasize different aspects of this analysis, and the specific context would significantly influence which considerations take priority.\n", "\n", "What specific type of moral dilemma were you considering?\n", "\n", "# Response from competitor 3\n", "\n", "Approaching a moral dilemma where individual rights conflict with the greater good requires a thoughtful and nuanced approach. There isn't a single \"right\" answer, as the best course of action depends heavily on the specifics of the situation. Here's a breakdown of my approach and the criteria I'd use:\n", "\n", "**1. Understanding the Dilemma:**\n", "\n", "* **Clearly Define the Stakes:** What specific individual rights are in question? What constitutes the \"greater good\" in this context? Who benefits and who is harmed by each possible course of action? Quantify and qualify these aspects as much as possible.\n", "* **Identify Relevant Stakeholders:** Who are the individuals and groups directly and indirectly affected by the decision? Understand their perspectives and values.\n", "* **Gather Information:** Research the context, history, and potential consequences of each choice. Look for relevant data, statistics, and expert opinions. Avoid relying solely on intuition or gut feelings.\n", "\n", "**2. Ethical Frameworks for Consideration:**\n", "\n", "I would consider multiple ethical frameworks to analyze the dilemma:\n", "\n", "* **Utilitarianism:** Focuses on maximizing overall happiness and well-being for the greatest number of people. This would involve weighing the benefits to the majority against the harm to the individual or minority whose rights are potentially infringed upon.\n", "* **Deontology (Kantian Ethics):** Emphasizes moral duties and principles, regardless of consequences. Certain actions are inherently right or wrong, and individual rights are paramount. This framework might prioritize upholding individual rights, even if it means sacrificing some overall good.\n", "* **Rights-Based Ethics:** Centers on the inherent rights of individuals, such as the right to life, liberty, and property. This approach would prioritize protecting these rights unless there is an overwhelming and compelling reason to infringe upon them.\n", "* **Virtue Ethics:** Focuses on developing virtuous character traits, such as compassion, justice, and fairness. This framework would involve asking what a virtuous person would do in this situation, considering the long-term impact on character and community.\n", "* **Care Ethics:** Emphasizes relationships, empathy, and responsibility for vulnerable individuals. This framework would prioritize minimizing harm to those most affected and considering the relational consequences of each decision.\n", "\n", "**3. Weighing the Criteria:**\n", "\n", "I would use the following criteria to evaluate the different options and justify my decision:\n", "\n", "* **Severity of Harm/Benefit:** How significant is the harm to individual rights? How substantial is the benefit to the greater good? Prioritize avoiding severe harm, especially irreversible harm.\n", "* **Probability of Outcomes:** How likely are the predicted consequences to occur? Consider the uncertainties and potential unintended consequences.\n", "* **Necessity:** Is infringing upon individual rights truly necessary to achieve the greater good? Are there less intrusive alternatives that could be explored? Is the goal of the \"greater good\" compelling enough to justify the infringement?\n", "* **Proportionality:** Is the infringement of individual rights proportional to the benefit achieved for the greater good? The harm caused to individuals should be minimized and outweighed by the overall benefit.\n", "* **Fairness and Justice:** Are the burdens and benefits distributed fairly? Does the decision disproportionately harm any particular group? Ensure that the decision does not perpetuate existing inequalities.\n", "* **Transparency and Accountability:** The decision-making process should be transparent, and the rationale behind the decision should be clearly explained. Those responsible for the decision should be held accountable for its consequences.\n", "* **Least Restrictive Alternative:** Choose the option that infringes on individual rights the least while still achieving the desired outcome.\n", "* **Duration and Reversibility:** How long will the infringement on individual rights last? Can the situation be reversed in the future? Opt for solutions that are temporary and reversible whenever possible.\n", "* **Consent and Participation:** Whenever possible, seek the consent and participation of those whose rights are potentially affected. Even if full consent is not possible, strive for meaningful consultation and dialogue.\n", "* **Precedent:** What precedent does this decision set for future situations? Consider the potential long-term implications of the decision.\n", "\n", "**4. The Decision-Making Process:**\n", "\n", "* **Deliberation and Consultation:** Discuss the dilemma with others, including those with different perspectives and expertise. Actively listen to and consider opposing viewpoints.\n", "* **Document the Rationale:** Clearly document the decision-making process, the ethical frameworks considered, the criteria used, and the justification for the final decision. This provides a record for future review and accountability.\n", "* **Monitor and Evaluate:** After the decision is implemented, monitor its consequences and evaluate its effectiveness. Be prepared to adjust the course of action if necessary.\n", "* **Acknowledge the Complexity:** Recognize that moral dilemmas often involve conflicting values and that any decision may have unintended consequences. Embrace humility and be willing to learn from mistakes.\n", "\n", "**Justifying the Decision:**\n", "\n", "The justification for my decision would be based on a comprehensive analysis of the dilemma using the criteria outlined above. I would clearly articulate:\n", "\n", "* The ethical framework that most heavily influenced the decision and why.\n", "* The specific harms and benefits considered and how they were weighed against each other.\n", "* Why the chosen course of action was considered the most ethically sound option, given the circumstances.\n", "* The steps taken to mitigate any negative consequences and protect the rights of those affected.\n", "\n", "**Important Considerations:**\n", "\n", "* **Context Matters:** Moral dilemmas are highly context-dependent. What is ethically justifiable in one situation may not be in another.\n", "* **The \"Greater Good\" Can Be Subjective:** It's important to critically examine what is meant by the \"greater good\" and who gets to define it.\n", "* **No Perfect Solution:** Moral dilemmas often involve choosing between two imperfect options. The goal is to make the most ethical decision possible, given the constraints of the situation.\n", "\n", "**Example:**\n", "\n", "Let's say there's a highly contagious disease outbreak. Individual rights to privacy and freedom of movement might conflict with the \"greater good\" of containing the disease and protecting public health.\n", "\n", "* **Utilitarian Approach:** Might support mandatory vaccinations and quarantines, even if it infringes on individual liberties, because it prevents widespread illness and death.\n", "* **Rights-Based Approach:** Would emphasize the importance of informed consent and the right to refuse medical treatment, even if it increases the risk of disease transmission.\n", "\n", "The decision would depend on the severity of the outbreak, the effectiveness of the interventions, and the level of public trust. A balanced approach might involve encouraging vaccination through education and incentives, while reserving mandatory measures for extreme situations where the risk to public health is overwhelming.\n", "\n", "In conclusion, resolving moral dilemmas involving individual rights and the greater good requires a rigorous and thoughtful process. By carefully considering the ethical frameworks, weighing the criteria, and engaging in open dialogue, we can strive to make the most ethically justifiable decision possible, even when faced with difficult choices.\n", "\n", "\n", "# Response from competitor 4\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires careful ethical reasoning, balancing competing values while striving for fairness, justice, and human dignity. Below is a structured approach to navigating such conflicts, along with criteria for justification:\n", "\n", "### **Step-by-Step Approach** \n", "1. **Define the Conflict Clearly** \n", " - Identify the specific individual right(s) at stake (e.g., privacy, autonomy, property). \n", " - Articulate the \"greater good\" claim (e.g., public safety, collective welfare, environmental protection). \n", "\n", "2. **Assess the Moral Weight of Each Side** \n", " - **Individual Rights:** Are they fundamental (e.g., freedom from torture vs. a minor inconvenience)? \n", " - **Greater Good:** Is the benefit substantial and well-supported (e.g., preventing a pandemic vs. vague societal gains)? \n", "\n", "3. **Evaluate Alternatives** \n", " - Is there a way to uphold both values (e.g., through compromise, policy adjustments, or technological solutions)? \n", " - Can the greater good be achieved with minimal infringement on individual rights? \n", "\n", "4. **Apply Ethical Frameworks** \n", " - **Deontological Ethics (Duty-Based):** Do certain rights (e.g., freedom of speech) hold absolute moral weight regardless of consequences? \n", " - **Utilitarianism (Consequentialism):** Does the action maximize overall well-being, even if it restricts some individuals? \n", " - **Virtue Ethics:** What would a morally exemplary person do in this situation? \n", " - **Rights-Based Ethics:** Are the rights violations justified by necessity, proportionality, and lack of alternatives? \n", "\n", "5. **Consider Practical Implications** \n", " - **Slippery Slope:** Could the decision set a dangerous precedent for future rights violations? \n", " - **Rule of Law:** Is the action legally and institutionally justified, or is it arbitrary? \n", " - **Public Justifiability:** Can the decision be defended transparently to those affected? \n", "\n", "6. **Make a Decision & Justify It** \n", " - Choose the option that best balances moral principles while minimizing harm. \n", " - Document the reasoning process to ensure accountability. \n", "\n", "### **Criteria for Justification** \n", "1. **Necessity** – Is the restriction on individual rights truly unavoidable? \n", "2. **Proportionality** – Does the benefit outweigh the harm, and is the response measured? \n", "3. **Least Restrictive Means** – Are there less intrusive ways to achieve the same goal? \n", "4. **Fairness & Non-Discrimination** – Is the burden distributed justly, or are marginalized groups disproportionately affected? \n", "5. **Procedural Justice** – Were stakeholders consulted, and was the decision-making process fair? \n", "\n", "### **Example Application** \n", "**Dilemma:** Mandatory vaccination during a deadly pandemic. \n", "- **Individual Right:** Bodily autonomy. \n", "- **Greater Good:** Public health and herd immunity. \n", "- **Resolution:** \n", " - **Necessity:** High (vaccines curb mass death). \n", " - **Proportionality:** The minor infringement (vaccination) prevents severe harm (disease spread). \n", " - **Alternatives:** Exemptions for medical reasons, not personal belief. \n", " - **Justification:** The policy saves lives while allowing exceptions where justified. \n", "\n", "### **Conclusion** \n", "No approach is perfect, but a transparent, principled balancing test—grounded in ethical reasoning, empirical evidence, and respect for human dignity—helps navigate such conflicts responsibly. The goal should be to protect essential rights while recognizing that no right is entirely absolute in a society.\n", "\n", "# Response from competitor 5\n", "\n", "Resolving a moral dilemma where individual rights conflict with the greater good requires careful consideration, critical thinking, and often empathy. Here's a framework to help navigate such dilemmas:\n", "\n", "**Understanding the Structure**\n", "\n", "A moral dilemma typically involves two opposing principles: \n", "\n", "1. **Individual Rights**: The right of individuals to pursue their interests and freedoms.\n", "2. **Greater Good**: The overall well-being and benefit of society.\n", "\n", "When individual rights conflict with the greater good, it's essential to consider the following steps:\n", "\n", "**Step 1: Clarify the Interests at Stake**\n", "\n", "Identify the specific interests involved in each party:\n", "\n", "* Individual Rights:\n", "\t+ What rights are being asserted (e.g., freedom of expression, privacy, property)?\n", "\t+ Who benefits or is affected by these rights?\n", "\t+ Are there any competing individual rights that may be impacted?\n", "* Greater Good:\n", "\t+ What is the general good or benefit at stake (e.g., public health, safety, environmental protection)?\n", "\n", "**Step 2: Weigh the Competing Interests**\n", "\n", "Consider the following factors to evaluate the conflicting interests:\n", "\n", "1. **Universal Rights**: Are individual right holders universally entitled to protection? (e.g., universal human rights)\n", "2. **Public Interest**: Will compromise or sacrifice an individual's rights potentially benefit more people (e.g., preventing harm, promoting social cohesion)?\n", "3. **Proportionality**: How significant is each aspect of the conflict, and how does it outweigh the other?\n", "4. **Alternative Options**: Are there alternative solutions that balance both interests without making one side dominate the other?\n", "\n", "**Step 3: Evaluate Decision Criteria**\n", "\n", "Consider the following principles to guide your decision:\n", "\n", "1. **Justice**: Will the chosen action promote fairness, equality, or justice for all parties involved?\n", "2. **Non-maleficence** (Do no harm): Will the decision result in harming more people than benefiting them?\n", "3. **Beneficence** (Promote good): Does the decision support the greater good while also respecting individual rights?\n", "\n", "**Step 4: Consider the Long-term Consequences**\n", "\n", "Think about how your decision will affect the situation, both in the short and long term:\n", "\n", "1. **Future Implications**: How might different choices impact future individuals or groups?\n", "2. **Systemic Effects**: Will your choice perpetuate a systemic problem or create a more balanced system?\n", "\n", "**Step 5: Seek Diverse Perspectives**\n", "\n", "Consult with diverse stakeholders, experts, and individuals affected by the conflict to gain additional insights that can inform your decision.\n", "\n", "**Step 6: Analyze Potential Risks and Benefits**\n", "\n", "Weigh both positive and negative consequences of each direction and attempt to identify potential unintended effects:\n", "\n", "1. **Potential harm**: Are there any risks or negative outcomes associated with either possible resolution?\n", "2. **Positive impact**: Could the choice mitigate risks or contribute more benefit overall?\n", "\n", "**Example Case Study: Balancing Individual Rights vs. Greater Good**\n", "\n", "Suppose an individual, a free speech activist, protests in front of a local government building to oppose a proposed law limiting hate speech.\n", "\n", "Individual rights at stake:\n", "\n", "* Freedom of expression\n", "* Hate speech regulations\n", "\n", "Greater good at stake:\n", "\n", "* Social cohesion and preventing harm\n", "\n", "Through the framework above, consider the competing interests: \n", "\n", "1. **Weighing**: Do individual right holders hold universal freedom of expression, or is it a context-dependent right? Could limiting hate speech help prevent greater social harm?\n", "2. **Criteria justification**: Will balancing both rights promote justice while avoiding harm to potentially marginalized groups?\n", "3. **Long-term implications**: How would the choice impact future protest movements and social tensions?\n", "\n", "**Conclusion**\n", "\n", "Resolving moral dilemmas involves empathy, careful analysis, and informed decision-making. Use this framework as a guide to assess competing interests, identify potential harms and benefits, and weigh principles like justice, non-maleficence, and beneficence. Ultimately, the chosen course of action should prioritize fairness, promote the greater good while respecting individual rights, and consider long-term implications for diverse individuals and groups affected by your decision.\n", "\n", "\n", "\n", "Now respond with the JSON with the ranked order of the competitors, nothing else. Do not include markdown formatting or code blocks.\n" ] } ], "source": [ "print(judge)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "judge_messages = [{\"role\": \"user\", \"content\": judge}]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\"results\": [\"3\", \"1\", \"4\", \"5\", \"2\"]}\n" ] } ], "source": [ "# Judgement time!\n", "\n", "openai = OpenAI()\n", "response = openai.chat.completions.create(\n", " model=\"o3-mini\",\n", " messages=judge_messages,\n", ")\n", "results = response.choices[0].message.content\n", "print(results)\n" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rank 1: gemini-2.0-flash\n", "Rank 2: gpt-4o-mini\n", "Rank 3: deepseek-chat\n", "Rank 4: llama3.2\n", "Rank 5: claude-3-7-sonnet-latest\n" ] } ], "source": [ "# OK let's turn this into results!\n", "\n", "results_dict = json.loads(results)\n", "ranks = results_dict[\"results\"]\n", "for index, result in enumerate(ranks):\n", " competitor = competitors[int(result)-1]\n", " print(f\"Rank {index+1}: {competitor}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Exercise

\n", " Which pattern(s) did this use? Try updating this to add another Agentic design pattern.\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Commercial implications

\n", " These kinds of patterns - to send a task to multiple models, and evaluate results,\n", " are common where you need to improve the quality of your LLM response. This approach can be universally applied\n", " to business projects where accuracy is critical.\n", " \n", "
" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }