prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Cannot style minor ticks
  Axis objects do not have minor tick properties.
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `bokeh/models/axes.py`
  Content:
  ```
  1 from __future__ import absolute_import
  2 
  3 from ..properties import Int, Float, String, Enum, Instance, Tuple, Either, Include
  4 from ..mixins import LineProps, TextProps
  5 from ..enums import Location
  6 
  7 from .renderers import GuideRenderer
  8 from .tickers import Ticker, BasicTicker, LogTicker, CategoricalTicker, DatetimeTicker
  9 from .formatters import TickFormatter, BasicTickFormatter, LogTickFormatter, CategoricalTickFormatter, DatetimeTickFormatter
  10 
  11 class Axis(GuideRenderer):
  12     location = Either(Enum('auto'), Enum(Location))
  13     bounds = Either(Enum('auto'), Tuple(Float, Float))
  14 
  15     x_range_name = String('default')
  16     y_range_name = String('default')
  17 
  18     ticker = Instance(Ticker)
  19     formatter = Instance(TickFormatter)
  20 
  21     axis_label = String
  22     axis_label_standoff = Int
  23     axis_label_props = Include(TextProps)
  24 
  25     major_label_standoff = Int
  26     major_label_orientation = Either(Enum("horizontal", "vertical"), Float)
  27     major_label_props = Include(TextProps)
  28 
  29     axis_props = Include(LineProps)
  30     major_tick_props = Include(LineProps)
  31 
  32     major_tick_in = Int
  33     major_tick_out = Int
  34 
  35 class ContinuousAxis(Axis):
  36     pass
  37 
  38 class LinearAxis(ContinuousAxis):
  39     def __init__(self, ticker=None, formatter=None, **kwargs):
  40         if ticker is None:
  41             ticker = BasicTicker()
  42         if formatter is None:
  43             formatter = BasicTickFormatter()
  44         super(LinearAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)
  45 
  46 class LogAxis(ContinuousAxis):
  47     def __init__(self, ticker=None, formatter=None, **kwargs):
  48         if ticker is None:
  49             ticker = LogTicker(num_minor_ticks=10)
  50         if formatter is None:
  51             formatter = LogTickFormatter()
  52         super(LogAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)
  53 
  54 class CategoricalAxis(Axis):
  55     def __init__(self, ticker=None, formatter=None, **kwargs):
  56         if ticker is None:
  57             ticker = CategoricalTicker()
  58         if formatter is None:
  59             formatter = CategoricalTickFormatter()
  60         super(CategoricalAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)
  61 
  62 class DatetimeAxis(LinearAxis):
  63     axis_label = String("date")
  64     scale = String("time")
  65     num_labels = Int(8)
  66     char_width = Int(10)
  67     fill_ratio = Float(0.3)
  68 
  69     def __init__(self, ticker=None, formatter=None, **kwargs):
  70         if ticker is None:
  71             ticker = DatetimeTicker()
  72         if formatter is None:
  73             formatter = DatetimeTickFormatter()
  74         super(DatetimeAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)
  75
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/bokeh/models/axes.py b/bokeh/models/axes.py
  --- a/bokeh/models/axes.py
  +++ b/bokeh/models/axes.py
  @@ -27,11 +27,15 @@
       major_label_props = Include(TextProps)
   
       axis_props = Include(LineProps)
  -    major_tick_props = Include(LineProps)
   
  +    major_tick_props = Include(LineProps)
       major_tick_in = Int
       major_tick_out = Int
   
  +    minor_tick_props = Include(LineProps)
  +    minor_tick_in = Int
  +    minor_tick_out = Int
  +
   class ContinuousAxis(Axis):
       pass
  
verification_info: {"golden_diff": "diff --git a/bokeh/models/axes.py b/bokeh/models/axes.py\n--- a/bokeh/models/axes.py\n+++ b/bokeh/models/axes.py\n@@ -27,11 +27,15 @@\n     major_label_props = Include(TextProps)\n \n     axis_props = Include(LineProps)\n-    major_tick_props = Include(LineProps)\n \n+    major_tick_props = Include(LineProps)\n     major_tick_in = Int\n     major_tick_out = Int\n \n+    minor_tick_props = Include(LineProps)\n+    minor_tick_in = Int\n+    minor_tick_out = Int\n+\n class ContinuousAxis(Axis):\n     pass\n", "issue": "Cannot style minor ticks\nAxis objects do not have minor tick properties.\n\n", "before_files": [{"content": "from __future__ import absolute_import\n\nfrom ..properties import Int, Float, String, Enum, Instance, Tuple, Either, Include\nfrom ..mixins import LineProps, TextProps\nfrom ..enums import Location\n\nfrom .renderers import GuideRenderer\nfrom .tickers import Ticker, BasicTicker, LogTicker, CategoricalTicker, DatetimeTicker\nfrom .formatters import TickFormatter, BasicTickFormatter, LogTickFormatter, CategoricalTickFormatter, DatetimeTickFormatter\n\nclass Axis(GuideRenderer):\n    location = Either(Enum('auto'), Enum(Location))\n    bounds = Either(Enum('auto'), Tuple(Float, Float))\n\n    x_range_name = String('default')\n    y_range_name = String('default')\n\n    ticker = Instance(Ticker)\n    formatter = Instance(TickFormatter)\n\n    axis_label = String\n    axis_label_standoff = Int\n    axis_label_props = Include(TextProps)\n\n    major_label_standoff = Int\n    major_label_orientation = Either(Enum(\"horizontal\", \"vertical\"), Float)\n    major_label_props = Include(TextProps)\n\n    axis_props = Include(LineProps)\n    major_tick_props = Include(LineProps)\n\n    major_tick_in = Int\n    major_tick_out = Int\n\nclass ContinuousAxis(Axis):\n    pass\n\nclass LinearAxis(ContinuousAxis):\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = BasicTicker()\n        if formatter is None:\n            formatter = BasicTickFormatter()\n        super(LinearAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n\nclass LogAxis(ContinuousAxis):\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = LogTicker(num_minor_ticks=10)\n        if formatter is None:\n            formatter = LogTickFormatter()\n        super(LogAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n\nclass CategoricalAxis(Axis):\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = CategoricalTicker()\n        if formatter is None:\n            formatter = CategoricalTickFormatter()\n        super(CategoricalAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n\nclass DatetimeAxis(LinearAxis):\n    axis_label = String(\"date\")\n    scale = String(\"time\")\n    num_labels = Int(8)\n    char_width = Int(10)\n    fill_ratio = Float(0.3)\n\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = DatetimeTicker()\n        if formatter is None:\n            formatter = DatetimeTickFormatter()\n        super(DatetimeAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n", "path": "bokeh/models/axes.py"}], "after_files": [{"content": "from __future__ import absolute_import\n\nfrom ..properties import Int, Float, String, Enum, Instance, Tuple, Either, Include\nfrom ..mixins import LineProps, TextProps\nfrom ..enums import Location\n\nfrom .renderers import GuideRenderer\nfrom .tickers import Ticker, BasicTicker, LogTicker, CategoricalTicker, DatetimeTicker\nfrom .formatters import TickFormatter, BasicTickFormatter, LogTickFormatter, CategoricalTickFormatter, DatetimeTickFormatter\n\nclass Axis(GuideRenderer):\n    location = Either(Enum('auto'), Enum(Location))\n    bounds = Either(Enum('auto'), Tuple(Float, Float))\n\n    x_range_name = String('default')\n    y_range_name = String('default')\n\n    ticker = Instance(Ticker)\n    formatter = Instance(TickFormatter)\n\n    axis_label = String\n    axis_label_standoff = Int\n    axis_label_props = Include(TextProps)\n\n    major_label_standoff = Int\n    major_label_orientation = Either(Enum(\"horizontal\", \"vertical\"), Float)\n    major_label_props = Include(TextProps)\n\n    axis_props = Include(LineProps)\n\n    major_tick_props = Include(LineProps)\n    major_tick_in = Int\n    major_tick_out = Int\n\n    minor_tick_props = Include(LineProps)\n    minor_tick_in = Int\n    minor_tick_out = Int\n\nclass ContinuousAxis(Axis):\n    pass\n\nclass LinearAxis(ContinuousAxis):\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = BasicTicker()\n        if formatter is None:\n            formatter = BasicTickFormatter()\n        super(LinearAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n\nclass LogAxis(ContinuousAxis):\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = LogTicker(num_minor_ticks=10)\n        if formatter is None:\n            formatter = LogTickFormatter()\n        super(LogAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n\nclass CategoricalAxis(Axis):\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = CategoricalTicker()\n        if formatter is None:\n            formatter = CategoricalTickFormatter()\n        super(CategoricalAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n\nclass DatetimeAxis(LinearAxis):\n    axis_label = String(\"date\")\n    scale = String(\"time\")\n    num_labels = Int(8)\n    char_width = Int(10)\n    fill_ratio = Float(0.3)\n\n    def __init__(self, ticker=None, formatter=None, **kwargs):\n        if ticker is None:\n            ticker = DatetimeTicker()\n        if formatter is None:\n            formatter = DatetimeTickFormatter()\n        super(DatetimeAxis, self).__init__(ticker=ticker, formatter=formatter, **kwargs)\n", "path": "bokeh/models/axes.py"}]}