We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
panel examples gives UnboundLocalError
#### ALL software version info
panel 0.12.4

#### Description of expected behavior and the observed behavior
`$ panel examples` doesn't raise an error

#### Complete, minimal, self-contained example code that reproduces the issue

Was taking a look at https://panel.holoviz.org/#id1

```
panel examples
```

#### Stack traceback and/or browser JavaScript console output

#### Screenshots or screencasts of the bug in action

<img width="846" alt="Screen Shot 2021-11-04 at 9 23 56 PM" src="https://user-images.githubusercontent.com/17162724/140442696-82e6c5c2-4cd6-40f6-821d-47c87f5e1541.png">



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `panel/command/__init__.py`
Content:
```
1 """
2 Commandline interface to Panel
3 """
4 import sys
5 import argparse
6 
7 from bokeh.__main__ import main as bokeh_entry_point
8 from bokeh.command.subcommands.serve import Serve as BkServe
9 from bokeh.command.util import die
10 from bokeh.util.string import nice_join
11 
12 from .. import __version__
13 from .serve import Serve
14 from .oauth_secret import OAuthSecret
15 
16 
17 def transform_cmds(argv):
18     """
19     Allows usage with anaconda-project by remapping the argv list provided
20     into arguments accepted by Bokeh 0.12.7 or later.
21     """
22     replacements = {
23         '--anaconda-project-host':'--allow-websocket-origin',
24         '--anaconda-project-port': '--port',
25         '--anaconda-project-address': '--address'
26     }
27     transformed = []
28     skip = False
29     for arg in argv:
30         if skip:
31             skip = False
32             continue
33         if arg in replacements.keys():
34             transformed.append(replacements[arg])
35         elif arg == '--anaconda-project-iframe-hosts':
36             skip = True
37             continue
38         elif arg.startswith('--anaconda-project'):
39             continue
40         else:
41             transformed.append(arg)
42     return transformed
43 
44 
45 def main(args=None):
46     """Merges commands offered by pyct and bokeh and provides help for both"""
47     from bokeh.command.subcommands import all as bokeh_commands
48     bokeh_commands = bokeh_commands + [OAuthSecret]
49 
50     try:
51         import pyct.cmd
52         pyct_commands = ['copy-examples', 'examples']
53     except Exception:
54         pass
55 
56     parser = argparse.ArgumentParser(
57         prog="panel", epilog="See '<command> --help' to read about a specific subcommand."
58     )
59 
60     parser.add_argument('-v', '--version', action='version', version=__version__)
61 
62     subs = parser.add_subparsers(help="Sub-commands")
63 
64     for cmd in pyct_commands:
65         cmd = cmd.replace('-', '_')
66         fn = getattr(pyct.cmd, cmd)
67         subs.add_parser(cmd, help=fn.__doc__)
68 
69     for cls in bokeh_commands:
70         if cls is BkServe:
71             subparser = subs.add_parser(Serve.name, help=Serve.help)
72             subcommand = Serve(parser=subparser)
73             subparser.set_defaults(invoke=subcommand.invoke)
74         else:
75             subs.add_parser(cls.name, help=cls.help)
76 
77     if len(sys.argv) == 1:
78         all_commands = sorted([c.name for c in bokeh_commands] + pyct_commands)
79         die("ERROR: Must specify subcommand, one of: %s" % nice_join(all_commands))
80 
81     if sys.argv[1] in ('--help', '-h'):
82         args = parser.parse_args(sys.argv[1:])
83         args.invoke(args)
84         sys.exit()
85 
86     if len(sys.argv) > 1 and any(sys.argv[1] == c.name for c in bokeh_commands):
87         sys.argv = transform_cmds(sys.argv)
88         if sys.argv[1] == 'serve':
89             args = parser.parse_args(sys.argv[1:])
90             try:
91                 ret = args.invoke(args)
92             except Exception as e:
93                 die("ERROR: " + str(e))
94         elif sys.argv[1] == 'oauth-secret':
95             ret = OAuthSecret(parser).invoke(args)
96         else:
97             ret = bokeh_entry_point()
98     elif sys.argv[1] in pyct_commands:
99         try:
100             import pyct.cmd
101         except ImportError:
102             print("install pyct to enable this command (e.g. `conda install -c pyviz pyct` or `pip install pyct[cmd]`)")
103             sys.exit(1)
104         pyct.cmd.substitute_main('panel', cmds=pyct_commands, args=args)
105     else:
106         parser.parse_args(sys.argv[1:])
107         sys.exit(1)
108 
109     if ret is False:
110         sys.exit(1)
111     elif ret is not True and isinstance(ret, int) and ret != 0:
112         sys.exit(ret)
113 
114 
115 
116 if __name__ == "__main__":
117     main()
118
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/panel/command/__init__.py b/panel/command/__init__.py
--- a/panel/command/__init__.py
+++ b/panel/command/__init__.py
@@ -102,6 +102,7 @@
             print("install pyct to enable this command (e.g. `conda install -c pyviz pyct` or `pip install pyct[cmd]`)")
             sys.exit(1)
         pyct.cmd.substitute_main('panel', cmds=pyct_commands, args=args)
+        sys.exit()
     else:
         parser.parse_args(sys.argv[1:])
         sys.exit(1)

{"golden_diff": "diff --git a/panel/command/__init__.py b/panel/command/__init__.py\n--- a/panel/command/__init__.py\n+++ b/panel/command/__init__.py\n@@ -102,6 +102,7 @@\n             print(\"install pyct to enable this command (e.g. `conda install -c pyviz pyct` or `pip install pyct[cmd]`)\")\n             sys.exit(1)\n         pyct.cmd.substitute_main('panel', cmds=pyct_commands, args=args)\n+        sys.exit()\n     else:\n         parser.parse_args(sys.argv[1:])\n         sys.exit(1)\n", "issue": "panel examples gives UnboundLocalError\n#### ALL software version info\r\npanel 0.12.4\r\n\r\n#### Description of expected behavior and the observed behavior\r\n`$ panel examples` doesn't raise an error\r\n\r\n#### Complete, minimal, self-contained example code that reproduces the issue\r\n\r\nWas taking a look at https://panel.holoviz.org/#id1\r\n\r\n```\r\npanel examples\r\n```\r\n\r\n#### Stack traceback and/or browser JavaScript console output\r\n\r\n#### Screenshots or screencasts of the bug in action\r\n\r\n<img width=\"846\" alt=\"Screen Shot 2021-11-04 at 9 23 56 PM\" src=\"https://user-images.githubusercontent.com/17162724/140442696-82e6c5c2-4cd6-40f6-821d-47c87f5e1541.png\">\r\n\r\n\n", "before_files": [{"content": "\"\"\"\nCommandline interface to Panel\n\"\"\"\nimport sys\nimport argparse\n\nfrom bokeh.__main__ import main as bokeh_entry_point\nfrom bokeh.command.subcommands.serve import Serve as BkServe\nfrom bokeh.command.util import die\nfrom bokeh.util.string import nice_join\n\nfrom .. import __version__\nfrom .serve import Serve\nfrom .oauth_secret import OAuthSecret\n\n\ndef transform_cmds(argv):\n    \"\"\"\n    Allows usage with anaconda-project by remapping the argv list provided\n    into arguments accepted by Bokeh 0.12.7 or later.\n    \"\"\"\n    replacements = {\n        '--anaconda-project-host':'--allow-websocket-origin',\n        '--anaconda-project-port': '--port',\n        '--anaconda-project-address': '--address'\n    }\n    transformed = []\n    skip = False\n    for arg in argv:\n        if skip:\n            skip = False\n            continue\n        if arg in replacements.keys():\n            transformed.append(replacements[arg])\n        elif arg == '--anaconda-project-iframe-hosts':\n            skip = True\n            continue\n        elif arg.startswith('--anaconda-project'):\n            continue\n        else:\n            transformed.append(arg)\n    return transformed\n\n\ndef main(args=None):\n    \"\"\"Merges commands offered by pyct and bokeh and provides help for both\"\"\"\n    from bokeh.command.subcommands import all as bokeh_commands\n    bokeh_commands = bokeh_commands + [OAuthSecret]\n\n    try:\n        import pyct.cmd\n        pyct_commands = ['copy-examples', 'examples']\n    except Exception:\n        pass\n\n    parser = argparse.ArgumentParser(\n        prog=\"panel\", epilog=\"See '<command> --help' to read about a specific subcommand.\"\n    )\n\n    parser.add_argument('-v', '--version', action='version', version=__version__)\n\n    subs = parser.add_subparsers(help=\"Sub-commands\")\n\n    for cmd in pyct_commands:\n        cmd = cmd.replace('-', '_')\n        fn = getattr(pyct.cmd, cmd)\n        subs.add_parser(cmd, help=fn.__doc__)\n\n    for cls in bokeh_commands:\n        if cls is BkServe:\n            subparser = subs.add_parser(Serve.name, help=Serve.help)\n            subcommand = Serve(parser=subparser)\n            subparser.set_defaults(invoke=subcommand.invoke)\n        else:\n            subs.add_parser(cls.name, help=cls.help)\n\n    if len(sys.argv) == 1:\n        all_commands = sorted([c.name for c in bokeh_commands] + pyct_commands)\n        die(\"ERROR: Must specify subcommand, one of: %s\" % nice_join(all_commands))\n\n    if sys.argv[1] in ('--help', '-h'):\n        args = parser.parse_args(sys.argv[1:])\n        args.invoke(args)\n        sys.exit()\n\n    if len(sys.argv) > 1 and any(sys.argv[1] == c.name for c in bokeh_commands):\n        sys.argv = transform_cmds(sys.argv)\n        if sys.argv[1] == 'serve':\n            args = parser.parse_args(sys.argv[1:])\n            try:\n                ret = args.invoke(args)\n            except Exception as e:\n                die(\"ERROR: \" + str(e))\n        elif sys.argv[1] == 'oauth-secret':\n            ret = OAuthSecret(parser).invoke(args)\n        else:\n            ret = bokeh_entry_point()\n    elif sys.argv[1] in pyct_commands:\n        try:\n            import pyct.cmd\n        except ImportError:\n            print(\"install pyct to enable this command (e.g. `conda install -c pyviz pyct` or `pip install pyct[cmd]`)\")\n            sys.exit(1)\n        pyct.cmd.substitute_main('panel', cmds=pyct_commands, args=args)\n    else:\n        parser.parse_args(sys.argv[1:])\n        sys.exit(1)\n\n    if ret is False:\n        sys.exit(1)\n    elif ret is not True and isinstance(ret, int) and ret != 0:\n        sys.exit(ret)\n\n\n\nif __name__ == \"__main__\":\n    main()\n", "path": "panel/command/__init__.py"}], "after_files": [{"content": "\"\"\"\nCommandline interface to Panel\n\"\"\"\nimport sys\nimport argparse\n\nfrom bokeh.__main__ import main as bokeh_entry_point\nfrom bokeh.command.subcommands.serve import Serve as BkServe\nfrom bokeh.command.util import die\nfrom bokeh.util.string import nice_join\n\nfrom .. import __version__\nfrom .serve import Serve\nfrom .oauth_secret import OAuthSecret\n\n\ndef transform_cmds(argv):\n    \"\"\"\n    Allows usage with anaconda-project by remapping the argv list provided\n    into arguments accepted by Bokeh 0.12.7 or later.\n    \"\"\"\n    replacements = {\n        '--anaconda-project-host':'--allow-websocket-origin',\n        '--anaconda-project-port': '--port',\n        '--anaconda-project-address': '--address'\n    }\n    transformed = []\n    skip = False\n    for arg in argv:\n        if skip:\n            skip = False\n            continue\n        if arg in replacements.keys():\n            transformed.append(replacements[arg])\n        elif arg == '--anaconda-project-iframe-hosts':\n            skip = True\n            continue\n        elif arg.startswith('--anaconda-project'):\n            continue\n        else:\n            transformed.append(arg)\n    return transformed\n\n\ndef main(args=None):\n    \"\"\"Merges commands offered by pyct and bokeh and provides help for both\"\"\"\n    from bokeh.command.subcommands import all as bokeh_commands\n    bokeh_commands = bokeh_commands + [OAuthSecret]\n\n    try:\n        import pyct.cmd\n        pyct_commands = ['copy-examples', 'examples']\n    except Exception:\n        pass\n\n    parser = argparse.ArgumentParser(\n        prog=\"panel\", epilog=\"See '<command> --help' to read about a specific subcommand.\"\n    )\n\n    parser.add_argument('-v', '--version', action='version', version=__version__)\n\n    subs = parser.add_subparsers(help=\"Sub-commands\")\n\n    for cmd in pyct_commands:\n        cmd = cmd.replace('-', '_')\n        fn = getattr(pyct.cmd, cmd)\n        subs.add_parser(cmd, help=fn.__doc__)\n\n    for cls in bokeh_commands:\n        if cls is BkServe:\n            subparser = subs.add_parser(Serve.name, help=Serve.help)\n            subcommand = Serve(parser=subparser)\n            subparser.set_defaults(invoke=subcommand.invoke)\n        else:\n            subs.add_parser(cls.name, help=cls.help)\n\n    if len(sys.argv) == 1:\n        all_commands = sorted([c.name for c in bokeh_commands] + pyct_commands)\n        die(\"ERROR: Must specify subcommand, one of: %s\" % nice_join(all_commands))\n\n    if sys.argv[1] in ('--help', '-h'):\n        args = parser.parse_args(sys.argv[1:])\n        args.invoke(args)\n        sys.exit()\n\n    if len(sys.argv) > 1 and any(sys.argv[1] == c.name for c in bokeh_commands):\n        sys.argv = transform_cmds(sys.argv)\n        if sys.argv[1] == 'serve':\n            args = parser.parse_args(sys.argv[1:])\n            try:\n                ret = args.invoke(args)\n            except Exception as e:\n                die(\"ERROR: \" + str(e))\n        elif sys.argv[1] == 'oauth-secret':\n            ret = OAuthSecret(parser).invoke(args)\n        else:\n            ret = bokeh_entry_point()\n    elif sys.argv[1] in pyct_commands:\n        try:\n            import pyct.cmd\n        except ImportError:\n            print(\"install pyct to enable this command (e.g. `conda install -c pyviz pyct` or `pip install pyct[cmd]`)\")\n            sys.exit(1)\n        pyct.cmd.substitute_main('panel', cmds=pyct_commands, args=args)\n        sys.exit()\n    else:\n        parser.parse_args(sys.argv[1:])\n        sys.exit(1)\n\n    if ret is False:\n        sys.exit(1)\n    elif ret is not True and isinstance(ret, int) and ret != 0:\n        sys.exit(ret)\n\n\n\nif __name__ == \"__main__\":\n    main()\n", "path": "panel/command/__init__.py"}]}