kinto 19.4.0__py3-none-any.whl → 19.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kinto might be problematic. Click here for more details.

kinto/core/errors.py CHANGED
@@ -140,14 +140,16 @@ def json_error_handler(request):
140
140
  """
141
141
  errors = request.errors
142
142
  sorted_errors = sorted(errors, key=lambda x: str(x["name"]))
143
+ for error in sorted_errors:
144
+ # Decode in place.
145
+ if isinstance(error["description"], bytes):
146
+ error["description"] = error["description"].decode("utf-8")
147
+
143
148
  # In Cornice, we call error handler if at least one error was set.
144
149
  error = sorted_errors[0]
145
150
  name = error["name"]
146
151
  description = error["description"]
147
152
 
148
- if isinstance(description, bytes):
149
- description = error["description"].decode("utf-8")
150
-
151
153
  if name is not None:
152
154
  if str(name) in description:
153
155
  message = description
@@ -162,7 +164,7 @@ def json_error_handler(request):
162
164
  errno=ERRORS.INVALID_PARAMETERS.value,
163
165
  error="Invalid parameters",
164
166
  message=message,
165
- details=errors,
167
+ details=sorted_errors,
166
168
  )
167
169
  response.status = errors.status
168
170
  response = reapply_cors(request, response)
@@ -98,8 +98,9 @@ class Permission(PermissionBase):
98
98
  candidates = []
99
99
  if bound_permissions is None:
100
100
  for key, value in self._store.items():
101
- _, object_id, permission = key.split(":", 2)
102
- candidates.append((object_id, permission, value))
101
+ if key.startswith("permission:"):
102
+ _, object_id, permission = key.split(":", 2)
103
+ candidates.append((object_id, permission, value))
103
104
  else:
104
105
  for pattern, perm in bound_permissions:
105
106
  id_match = ".*" if with_children else "[^/]+"
@@ -344,6 +344,12 @@ class PermissionTest:
344
344
  )
345
345
  self.assertEqual(sorted(per_object_ids.keys()), ["/url/a", "/url/a/id/1", "/url/a/id/2"])
346
346
 
347
+ def test_accessible_objects_with_user_principle(self):
348
+ self.permission.add_user_principal("user1", "group")
349
+ self.permission.add_principal_to_ace("id1", "write", "user1")
350
+ per_object_ids = self.permission.get_accessible_objects(["user1"])
351
+ self.assertEqual(sorted(per_object_ids.keys()), ["id1"])
352
+
347
353
  #
348
354
  # get_object_permissions()
349
355
  #
@@ -1 +1 @@
1
- 3.4.1
1
+ 3.5.1
@@ -1 +1 @@
1
- 3.4.1
1
+ 3.5.1
@@ -1,4 +1,4 @@
1
- html,body{background:#fafbfc}h1{font-family:Ubuntu,Calibri,Arial,sans-serif;font-size:2.2em}.icon{vertical-align:-.125em;margin-bottom:-.0625em}.main{padding-top:2.8em}.sidebar{padding-top:1em}.sidebar .card{margin-bottom:20px}.card.panel-info .card-header{background-color:#cce5ff;border-color:#b8daff}.card-header span{margin-right:1em;max-width:26em;display:inline-block;height:1.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header span label{font-weight:700}.card>.card-body{position:relative}.sidebar-filters>.card-body{padding:15px 15px 0}.sidebar-filters a.clear{color:#777}.list-group-item .glyphicon.glyphicon-lock{color:#888}.content .list-actions{margin-bottom:.4em}.content .list-actions a{margin-right:.5em}.content .list-actions a>.glyphicon{margin-right:.3em}.content .edit-coll-props .btn{margin-right:0;margin-left:.3em}.kinto-admin-title{display:inline-block;font-size:2em;margin-top:0;margin-bottom:0;padding-left:100px;background:transparent url(/v1/admin/assets/logo-VBRiKSPX.png) no-repeat left;background-size:contain}.user-info{float:right;padding-top:.3em;font-size:14px}.user-info a.spaced{margin-left:1em}.server-url input:invalid,.server-url input:focus:invalid{box-shadow:0 0 5px 1px red}.session-info-bar{position:fixed;top:0;left:0;right:0;background:#24292e;color:#fff;padding:.2em 1.15em;z-index:999}.session-info-bar>a{margin-left:.5em}.server-info-panel table{margin:0}.server-info-panel .table-condensed>tbody>tr>th,.server-info-panel .table-condensed>tbody>tr>td{padding:.3em;overflow:hidden;text-overflow:ellipsis;max-width:300px}.server-info-panel tr:first-child th,.server-info-panel tr:first-child td{border:none}.alert h4 small{margin-left:.5em}.list-page .alert{margin-top:1.5em;margin-right:.5em}.tabs-container .panel-default{border-top:none}.tabs-container .panel-danger{margin-top:2em}table.record-list{margin-top:1em}table.record-list th{background:#00000014}table.record-list tbody.loading td{background:#dcdcdc26;color:#777}table.record-list td:not(.actions){max-width:8vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.8em .5em}table.record-list td.lastmod{white-space:nowrap;width:120px}table.record-list td.status{white-space:nowrap;width:80px}table.record-list td.actions{min-width:150px;width:150px;padding:.5em 0;white-space:nowrap;text-align:center}table.record-list td.actions .btn-group{margin:0 .5em}table.record-list>tbody+tbody{border-top:none}.load-more>a{display:block;width:100%}table.record-list td.load-more{padding:0;line-height:2.5em}.load-more>a:hover,.load-more>a:active{background:#d9edf7;text-decoration:none}.card-body>.spinner{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.load-more .spinner{margin-top:.25em}.history-row-details{display:table-row}.table>tbody>tr.history-row-details>td{padding:0;margin:0}.history-row-details td pre{border:none;margin:0}.history-row-details .alert{margin:0;border-radius:0}.sort-link{float:right;margin-top:.1em;color:#444}.sort-link.active{color:#fff}.json-record>div{padding:1px 0 1px 4px}.json-record>div.added{background:#cbeecb;color:green}.json-record>div.removed{background:#f0c9c9;color:red}.json-record-simple-review{white-space:pre-wrap}.card-header>.icon,.list-group-item .icon,.nav-tabs li .icon{margin-right:.5em}.nav-tabs.nav-justified>li>a{color:#333}.collections-menu-entry{display:flex}.collections-menu-entry a:first-child{display:inline-block;width:95%;color:#555;text-decoration:none}.collections-menu-entry.active>a{color:#fff}.home-menu i,.home-menu .icon{float:right;margin:.15em -.5em 0 0}.bucket-menu-entry-edit{float:right;color:#555;text-decoration:none}.bucket-menu-entry-edit:hover{color:inherit}.collections-menu-entry-edit{position:absolute;margin-right:-.5em;color:#888}.collections-menu-entry-edit:hover{color:inherit}.CodeMirror{border:1px solid #ccc;height:auto;border-radius:.3em}.attachment-icon{width:16px}.attachment-action{margin:0;padding:0}.attachment-info .attachment-attributes{display:flex;align-content:stretch;align-items:end}.attachment-info table{margin-bottom:0;flex-grow:1;display:block}.attachment-info .table-condensed>tbody>tr>td{overflow:hidden;text-overflow:ellipsis}.attachment-img{display:flex;align-items:center;justify-content:center;max-width:150px;max-height:150px;text-align:center;background:#fff;border:1px solid #ddd;margin:10px}.attachment-img img{max-width:100%;max-height:100%}form button[type=submit].btn-primary{font-size:1.2em;padding:12px;box-shadow:inset 0 0 0 1px #fff}.record-form-buttons .delete{margin-top:12px}.permissions-form .array-item:not(:last-child) fieldset{border-bottom:1px solid #eee}.permissions-form .field-principal{float:left;width:60%;padding-right:1em}.permissions-form .field-permissions{float:left;width:30%;padding-left:1em}.permissions-form .field-anonymous,.permissions-form .field-authenticated{width:100%;float:left;clear:both}.permissions-form .field-anonymous{border-bottom:1px solid #eee}.permissions-form .field-anonymous p,.permissions-form .field-authenticated p{width:50%}.permissions-form .field-anonymous .checkboxes,.permissions-form .field-authenticated .checkboxes{float:right;width:50%;padding-left:1em;margin-top:-60px}.permissions-form .field-groups fieldset{clear:left}.permissions-form .field-groups .checkboxes{float:right;width:50%;padding-left:1em;margin-top:-60px}.permissions-form .field-groups fieldset>.field.field-array{clear:right}.permissions-form .field-principals .checkboxes{margin-top:-35px}.permissions-form .field-principal>label{display:none}.spinner{margin:30px auto 0;width:70px;text-align:center}.spinner>div{width:18px;height:18px;background-color:#337ab7;border-radius:100%;display:inline-block;-webkit-animation:sk-bouncedelay 1.4s infinite ease-in-out both;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes sk-bouncedelay{0%,80%,to{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes sk-bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.notifications>div{top:3em}i.fa{position:relative;top:1px;display:inline-block;font-style:normal;font-weight:400;line-height:1}i.fa:before{display:inline-block;content:"";background-repeat:no-repeat;background-size:24px 24px;width:24px;height:24px}.fa.fa-check:before{background-image:url(~bootstrap-icons/icons/check.svg)}.fa-exclamation-circle:before{background-image:url(~bootstrap-icons/icons/exclamation-circle-fill.svg)}.fa-info:before{background-image:url(~bootstrap-icons/icons/info-circle-fill.svg)}.fa-warning:before{background-image:url(~bootstrap-icons/icons/exclamation-triangle-fill.svg)}.rjsf{margin-bottom:1.25rem}.rjsf pre{padding:9.5px;margin:0 0 10px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.rjsf input[type=radio],.rjsf input[type=checkbox]{margin-right:10px}.rjsf .form-label{font-weight:700}.rjsf h5{font-size:18pt;margin:0 0 0 1pt}.rjsf hr{margin:1px 0 .5em;background-color:#ccc!important}.rjsf .row .align-items-center{align-items:flex-start!important;border-bottom:1px solid #eee}.rjsf .align-items-center button.btn{font-size:14pt}.rjsf .input-group-append button.dropdown-toggle{font-size:12pt}.formWrapper{position:relative}.formWrapper>.spinner{position:absolute;left:-1.25em;right:-1.25em;top:-1.5em;bottom:-2.5em;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.interactive>.spinner{position:absolute;left:-1.25em;right:-1.25em;top:-.5em;bottom:0;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.modal{background-color:#0000004d}.modal-dialog>.spinner{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.informative{filter:grayscale(.8)}.interactive{position:relative}.bs-wizard{margin-top:40px}.progress-steps .row.bs-wizard{border-bottom:0}.bs-wizard{border-bottom:solid 1px #e0e0e0;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{position:absolute;width:30px;height:30px;display:block;background:#fbe8aa;top:45px;left:50%;margin-top:-15px;margin-left:-15px;border-radius:50%}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{content:" ";width:14px;height:14px;background:#fbbd19;border-radius:50px;position:absolute;top:8px;left:8px}.bs-wizard>.bs-wizard-step>.progress{position:relative;border-radius:0;height:8px;box-shadow:none;margin:20px 0}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{width:0px;box-shadow:none;background:#fbe8aa}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0%}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.bs-wizard>.bs-wizard-step .bs-wizard-info li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:250px;text-align:left}.diffstats{font-weight:600}.diffstats .text-green{color:#55a532}.diffstats .text-red{color:#bd2c00;padding-left:4px;padding-right:4px}.signoff-comment{display:block;overflow:auto;max-height:4em;white-space:pre-line}.rollback-changes{position:absolute;top:152px;right:30px}.breadcrumbs{padding-top:.5em;font-size:1.2em;text-transform:lowercase}/*!
1
+ html,body{background:#fafbfc}h1{font-family:Ubuntu,Calibri,Arial,sans-serif;font-size:2.2em}.icon{vertical-align:-.125em;margin-bottom:-.0625em}.main{padding-top:2.8em}.sidebar{padding-top:1em}.sidebar .card{margin-bottom:20px}.card.panel-info .card-header{background-color:#cce5ff;border-color:#b8daff}.card-header span{margin-right:1em;max-width:26em;display:inline-block;height:1.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header span label{font-weight:700}.card>.card-body{position:relative}.sidebar-filters>.card-body{padding:15px 15px 0}.sidebar-filters a.clear{color:#777}.list-group-item .glyphicon.glyphicon-lock{color:#888}.content .list-actions{margin-bottom:.4em}.content .list-actions a{margin-right:.5em}.content .list-actions a>.glyphicon{margin-right:.3em}.content .edit-coll-props .btn{margin-right:0;margin-left:.3em}.kinto-admin-title{display:inline-block;font-size:2em;margin-top:0;margin-bottom:0;padding-left:100px;background:transparent url(/v1/admin/assets/logo-VBRiKSPX.png) no-repeat left;background-size:contain}.user-info{float:right;padding-top:.3em;font-size:14px}.user-info a.spaced{margin-left:1em}.server-url input:invalid,.server-url input:focus:invalid{box-shadow:0 0 5px 1px red}.session-info-bar{position:fixed;top:0;left:0;right:0;background:#24292e;color:#fff;padding:.2em 1.15em;z-index:999}.session-info-bar>a{margin-left:.5em}.server-info-panel table{margin:0}.server-info-panel .table-condensed>tbody>tr>th,.server-info-panel .table-condensed>tbody>tr>td{padding:.3em;overflow:hidden;text-overflow:ellipsis;max-width:300px}.server-info-panel tr:first-child th,.server-info-panel tr:first-child td{border:none}.alert h4 small{margin-left:.5em}.list-page .alert{margin-top:1.5em;margin-right:.5em}.tabs-container .panel-default{border-top:none}.tabs-container .panel-danger{margin-top:2em}table.record-list{margin-top:1em}table.record-list th{background:#00000014}table.record-list tbody.loading td{background:#dcdcdc26;color:#777}table.record-list td:not(.actions){max-width:8vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.8em .5em}table.record-list td.lastmod{white-space:nowrap;width:120px}table.record-list td.status{white-space:nowrap;width:80px}table.record-list td.actions{min-width:150px;width:150px;padding:.5em 0;white-space:nowrap;text-align:center}table.record-list td.actions .btn-group{margin:0 .5em}table.record-list>tbody+tbody{border-top:none}.load-more>a{display:block;width:100%}table.record-list td.load-more{padding:0;line-height:2.5em}.load-more>a:hover,.load-more>a:active{background:#d9edf7;text-decoration:none}.card-body>.spinner{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.load-more .spinner{margin-top:.25em}.history-row-details{display:table-row}.table>tbody>tr.history-row-details>td{padding:0;margin:0}.history-row-details td pre{border:none;margin:0}.history-row-details .alert{margin:0;border-radius:0}.sort-link{float:right;margin-top:.1em;color:#444}.sort-link.active{color:#fff}.json-record>div{padding:1px 0 1px 4px}.json-record>div.added{background:#cbeecb;color:green}.json-record>div.removed{background:#f0c9c9;color:red}.json-record-simple-review{white-space:pre-wrap}.card-header>.icon,.list-group-item .icon,.nav-tabs li .icon{margin-right:.5em}.nav-tabs.nav-justified>li>a{color:#333}.collections-menu-entry{display:flex}.collections-menu-entry a:first-child{display:inline-block;width:95%;color:#555;text-decoration:none}.collections-menu-entry.active>a{color:#fff}.home-menu i,.home-menu .icon{float:right;margin:.15em -.5em 0 0}.bucket-menu-entry-edit{float:right;color:#555;text-decoration:none}.bucket-menu-entry-edit:hover{color:inherit}.collections-menu-entry-edit{position:absolute;margin-right:-.5em;color:#888}.collections-menu-entry-edit:hover{color:inherit}.CodeMirror{border:1px solid #ccc;height:auto;border-radius:.3em}.attachment-icon{width:16px}.attachment-action{margin:0;padding:0}.attachment-info .attachment-attributes{display:flex;align-content:stretch;align-items:end}.attachment-info table{margin-bottom:0;flex-grow:1;display:block}.attachment-info .table-condensed>tbody>tr>td{overflow:hidden;text-overflow:ellipsis}.attachment-img{display:flex;align-items:center;justify-content:center;max-width:150px;max-height:150px;text-align:center;background:#fff;border:1px solid #ddd;margin:10px}.attachment-img img{max-width:100%;max-height:100%}form button[type=submit].btn-primary{font-size:1.2em;padding:12px;box-shadow:inset 0 0 0 1px #fff}.record-form-buttons .delete{margin-top:12px}.permissions-form .array-item:not(:last-child) fieldset{border-bottom:1px solid #eee}.permissions-form .field-principal{float:left;width:60%;padding-right:1em}.permissions-form .field-permissions{float:left;width:30%;padding-left:1em}.permissions-form .field-anonymous,.permissions-form .field-authenticated{width:100%;float:left;clear:both}.permissions-form .field-anonymous{border-bottom:1px solid #eee}.permissions-form .field-anonymous p,.permissions-form .field-authenticated p{width:50%}.permissions-form .field-anonymous .checkboxes,.permissions-form .field-authenticated .checkboxes{float:right;width:50%;padding-left:1em;margin-top:-60px}.permissions-form .field-groups fieldset{clear:left}.permissions-form .field-groups .checkboxes{float:right;width:50%;padding-left:1em;margin-top:-60px}.permissions-form .field-groups fieldset>.field.field-array{clear:right}.permissions-form .field-principals .checkboxes{margin-top:-35px}.permissions-form .field-principal>label{display:none}.quickFilter{margin-bottom:-.5em}.spinner{margin:30px auto 0;width:70px;text-align:center}.spinner>div{width:18px;height:18px;background-color:#337ab7;border-radius:100%;display:inline-block;-webkit-animation:sk-bouncedelay 1.4s infinite ease-in-out both;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes sk-bouncedelay{0%,80%,to{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes sk-bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.notifications>div{top:3em}i.fa{position:relative;top:1px;display:inline-block;font-style:normal;font-weight:400;line-height:1}i.fa:before{display:inline-block;content:"";background-repeat:no-repeat;background-size:24px 24px;width:24px;height:24px}.fa.fa-check:before{background-image:url(~bootstrap-icons/icons/check.svg)}.fa-exclamation-circle:before{background-image:url(~bootstrap-icons/icons/exclamation-circle-fill.svg)}.fa-info:before{background-image:url(~bootstrap-icons/icons/info-circle-fill.svg)}.fa-warning:before{background-image:url(~bootstrap-icons/icons/exclamation-triangle-fill.svg)}.rjsf{margin-bottom:1.25rem}.rjsf pre{padding:9.5px;margin:0 0 10px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.rjsf input[type=radio],.rjsf input[type=checkbox]{margin-right:10px}.rjsf .form-label{font-weight:700}.rjsf h5{font-size:18pt;margin:0 0 0 1pt}.rjsf hr{margin:1px 0 .5em;background-color:#ccc!important}.rjsf .row .align-items-center{align-items:flex-start!important;border-bottom:1px solid #eee}.rjsf .align-items-center button.btn{font-size:14pt}.rjsf .input-group-append button.dropdown-toggle{font-size:12pt}.formWrapper{position:relative}.formWrapper>.spinner{position:absolute;left:-1.25em;right:-1.25em;top:-1.5em;bottom:-2.5em;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.interactive>.spinner{position:absolute;left:-1.25em;right:-1.25em;top:-.5em;bottom:0;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.modal{background-color:#0000004d}.modal-dialog>.spinner{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#0003;z-index:1;display:flex;justify-content:center;align-items:center;width:auto;margin:0;border-radius:3px}.informative{filter:grayscale(.8)}.interactive{position:relative}.bs-wizard{margin-top:40px}.progress-steps .row.bs-wizard{border-bottom:0}.bs-wizard{border-bottom:solid 1px #e0e0e0;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{position:absolute;width:30px;height:30px;display:block;background:#fbe8aa;top:45px;left:50%;margin-top:-15px;margin-left:-15px;border-radius:50%}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{content:" ";width:14px;height:14px;background:#fbbd19;border-radius:50px;position:absolute;top:8px;left:8px}.bs-wizard>.bs-wizard-step>.progress{position:relative;border-radius:0;height:8px;box-shadow:none;margin:20px 0}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{width:0px;box-shadow:none;background:#fbe8aa}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0%}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.bs-wizard>.bs-wizard-step .bs-wizard-info li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:250px;text-align:left}.diffstats{font-weight:600}.diffstats .text-green{color:#55a532}.diffstats .text-red{color:#bd2c00;padding-left:4px;padding-right:4px}.signoff-comment{display:block;overflow:auto;max-height:4em;white-space:pre-line}.rollback-changes{position:absolute;top:152px;right:30px}.breadcrumbs{padding-top:.5em;font-size:1.2em;text-transform:lowercase}/*!
2
2
  * Bootstrap v4.6.2 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2022 The Bootstrap Authors
4
4
  * Copyright 2011-2022 Twitter, Inc.