aboutsummaryrefslogtreecommitdiffstats
path: root/chromium
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2022-06-27 02:00:29 +0800
committerTing-Wei Lan <lantw44@gmail.com>2022-06-27 02:00:29 +0800
commite739cba16876fe8db3be167df89df718c7b2ada6 (patch)
tree5285738c720fcf7f7398824760393975431de90c /chromium
parentf565f86c3536d3a41e8bbbac2009e347c4105588 (diff)
downloadcopr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.tar
copr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.tar.gz
copr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.tar.bz2
copr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.tar.lz
copr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.tar.xz
copr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.tar.zst
copr-rpm-spec-e739cba16876fe8db3be167df89df718c7b2ada6.zip
chromium: Chromium 102.0.5005.115 -> 103.0.5060.53
Diffstat (limited to 'chromium')
-rw-r--r--chromium/chromium/chromium-base-v8-utility.patch12
-rw-r--r--chromium/chromium/chromium-gcc-11-r998791.patch35
-rw-r--r--chromium/chromium/chromium-gcc-12-r1003039.patch80
-rw-r--r--chromium/chromium/chromium-gcc-12-r1004139.patch35
-rw-r--r--chromium/chromium/chromium-gcc-12-subzero-undefined-reference.patch69
-rw-r--r--chromium/chromium/chromium-libxml2-r995726.patch87
-rw-r--r--chromium/chromium/chromium.spec22
7 files changed, 127 insertions, 213 deletions
diff --git a/chromium/chromium/chromium-base-v8-utility.patch b/chromium/chromium/chromium-base-v8-utility.patch
deleted file mode 100644
index 0bcd6c0..0000000
--- a/chromium/chromium/chromium-base-v8-utility.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h.missing-utility-for-std-exchange chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h
---- chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h.missing-utility-for-std-exchange 2022-02-25 22:30:02.833745309 +0000
-+++ chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h 2022-02-25 22:30:02.832745344 +0000
-@@ -58,6 +58,8 @@
- #include "config.h"
- #include "glog/logging.h"
-
-+#include <utility>
-+
- #ifdef HAVE_SYMBOLIZE
-
- #include <algorithm>
diff --git a/chromium/chromium/chromium-gcc-11-r998791.patch b/chromium/chromium/chromium-gcc-11-r998791.patch
deleted file mode 100644
index 2f615b2..0000000
--- a/chromium/chromium/chromium-gcc-11-r998791.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ed167cb5cf6b5e26338c92ff74c27372835f3155 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Tue, 3 May 2022 10:04:20 +0000
-Subject: [PATCH] IWYU: add cstring for std::strlen in fenced_frame_utils
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Bug: 957519
-Change-Id: Ie886531bc4115f280ca109819c6515ae20ea7115
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3609973
-Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
-Reviewed-by: Kentaro Hara <haraken@chromium.org>
-Reviewed-by: José Dapena Paz <jdapena@igalia.com>
-Cr-Commit-Position: refs/heads/main@{#998791}
----
- third_party/blink/common/fenced_frame/fenced_frame_utils.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc
-index 9e2d3ad5d8877..68f48237e1eb9 100644
---- a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc
-+++ b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc
-@@ -4,6 +4,8 @@
-
- #include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h"
-
-+#include <cstring>
-+
- #include "base/guid.h"
- #include "base/strings/string_util.h"
-
---
-2.35.3
-
diff --git a/chromium/chromium/chromium-gcc-12-r1003039.patch b/chromium/chromium/chromium-gcc-12-r1003039.patch
new file mode 100644
index 0000000..5915e56
--- /dev/null
+++ b/chromium/chromium/chromium-gcc-12-r1003039.patch
@@ -0,0 +1,80 @@
+From 0b2cb61de75f65e8d1a1925a4bd7509541b989ba Mon Sep 17 00:00:00 2001
+From: "Steinar H. Gunderson" <sesse@chromium.org>
+Date: Fri, 13 May 2022 09:31:23 +0000
+Subject: [PATCH] Make AhoCorasickNode 4-aligned.
+
+This should fix an issue where std::vector could allocate unaligned
+memory for AhoCorasickNode, and we'd then return a pointer to
+inline_edges, where a caller would expect the pointer to be aligned
+but it wasn't.
+
+Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3645110
+Reviewed-by: danakj <danakj@chromium.org>
+Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1003039}
+---
+ .../substring_set_matcher/substring_set_matcher.cc | 7 ++++++-
+ base/substring_set_matcher/substring_set_matcher.h | 14 ++++++++++++--
+ 2 files changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc
+index e1100479c250b..d2c66ead0c9c6 100644
+--- a/base/substring_set_matcher/substring_set_matcher.cc
++++ b/base/substring_set_matcher/substring_set_matcher.cc
+@@ -424,7 +424,12 @@ void SubstringSetMatcher::AhoCorasickNode::SetEdge(uint32_t label,
+ edges_.inline_edges[num_edges()] = AhoCorasickEdge{label, node};
+ if (label == kFailureNodeLabel) {
+ // Make sure that kFailureNodeLabel is first.
+- std::swap(edges_.inline_edges[0], edges_.inline_edges[num_edges()]);
++ // NOTE: We don't use std::swap here, because the compiler doesn't
++ // understand that inline_edges[] is 4-aligned and can give
++ // a warning or error.
++ AhoCorasickEdge temp = edges_.inline_edges[0];
++ edges_.inline_edges[0] = edges_.inline_edges[num_edges()];
++ edges_.inline_edges[num_edges()] = temp;
+ }
+ --num_free_edges_;
+ return;
+diff --git a/base/substring_set_matcher/substring_set_matcher.h b/base/substring_set_matcher/substring_set_matcher.h
+index 13b01971f6e78..47f913f2c09d9 100644
+--- a/base/substring_set_matcher/substring_set_matcher.h
++++ b/base/substring_set_matcher/substring_set_matcher.h
+@@ -154,8 +154,9 @@ class BASE_EXPORT SubstringSetMatcher {
+ static constexpr uint32_t kEmptyLabel = 0x103;
+
+ // A node in the trie, packed tightly together so that it occupies 12 bytes
+- // (both on 32- and 64-bit platforms).
+- class AhoCorasickNode {
++ // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the
++ // comment on edges_).
++ class alignas(AhoCorasickEdge) AhoCorasickNode {
+ public:
+ AhoCorasickNode();
+ ~AhoCorasickNode();
+@@ -178,6 +179,10 @@ class BASE_EXPORT SubstringSetMatcher {
+ NodeID GetEdgeNoInline(uint32_t label) const;
+ void SetEdge(uint32_t label, NodeID node);
+ const AhoCorasickEdge* edges() const {
++ // NOTE: Returning edges_.inline_edges here is fine, because it's
++ // the first thing in the struct (see the comment on edges_).
++ DCHECK_EQ(0u, reinterpret_cast<uintptr_t>(edges_.inline_edges) %
++ alignof(AhoCorasickEdge));
+ return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges;
+ }
+
+@@ -258,6 +263,11 @@ class BASE_EXPORT SubstringSetMatcher {
+ // in the first slot if it exists (ie., is not equal to kRootID), since we
+ // need to access that label during every single node we look at during
+ // traversal.
++ //
++ // NOTE: Keep this the first member in the struct, so that inline_edges gets
++ // 4-aligned (since the class is marked as such, despite being packed.
++ // Otherwise, edges() can return an unaligned pointer marked as aligned
++ // (the unalignedness gets lost).
+ static constexpr int kNumInlineEdges = 2;
+ union {
+ // Out-of-line edge storage, having room for edges_capacity_ elements.
+--
+2.35.3
+
diff --git a/chromium/chromium/chromium-gcc-12-r1004139.patch b/chromium/chromium/chromium-gcc-12-r1004139.patch
new file mode 100644
index 0000000..065e6d7
--- /dev/null
+++ b/chromium/chromium/chromium-gcc-12-r1004139.patch
@@ -0,0 +1,35 @@
+From 018f2969b72158534972befe1a0378a9cd5c2bc4 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Tue, 17 May 2022 07:51:50 +0000
+Subject: [PATCH] GCC: fix ambiguous references in blink::FrameLoadRequest
+
+Add namespace to avoid confusion.
+
+Bug: 819294
+Change-Id: Ia60b4cf7a6d17ba5cd386d3fc57cc59222fcef71
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3650536
+Reviewed-by: Mike West <mkwst@chromium.org>
+Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
+Cr-Commit-Position: refs/heads/main@{#1004139}
+---
+ third_party/blink/renderer/core/loader/frame_load_request.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h
+index 444b25c831245..32e3480fd395b 100644
+--- a/third_party/blink/renderer/core/loader/frame_load_request.h
++++ b/third_party/blink/renderer/core/loader/frame_load_request.h
+@@ -179,7 +179,9 @@ struct CORE_EXPORT FrameLoadRequest {
+ impression_ = impression;
+ }
+
+- const absl::optional<Impression>& Impression() const { return impression_; }
++ const absl::optional<blink::Impression>& Impression() const {
++ return impression_;
++ }
+
+ bool CanDisplay(const KURL&) const;
+
+--
+2.35.3
+
diff --git a/chromium/chromium/chromium-gcc-12-subzero-undefined-reference.patch b/chromium/chromium/chromium-gcc-12-subzero-undefined-reference.patch
deleted file mode 100644
index fd5bbdb..0000000
--- a/chromium/chromium/chromium-gcc-12-subzero-undefined-reference.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-diff -up chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp.gcc12fix chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp
---- chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp.gcc12fix 2022-02-25 22:17:18.071775686 +0000
-+++ chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp 2022-02-25 22:17:40.964996468 +0000
-@@ -659,6 +659,7 @@ void emitIASOpTyGPR(const Cfg *Func, Typ
- }
- }
-
-+#if 0
- template <bool VarCanBeByte, bool SrcCanBeByte>
- void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, const Variable *Var,
- const Operand *Src, const GPREmitterRegOp &Emitter) {
-@@ -697,6 +698,7 @@ void emitIASRegOpTyGPR(const Cfg *Func,
- llvm_unreachable("Unexpected operand type");
- }
- }
-+#endif
-
- void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr,
- const Operand *Src, const GPREmitterAddrOp &Emitter) {
-diff -up chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h.gcc12fix chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h
---- chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h.gcc12fix 2022-02-25 22:17:51.409640955 +0000
-+++ chromium-98.0.4758.102/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h 2022-02-25 22:19:13.478847553 +0000
-@@ -576,8 +576,44 @@ void emitIASXmmShift(const Cfg *Func, Ty
- /// Emit a two-operand (GPR) instruction, where the dest operand is a Variable
- /// that's guaranteed to be a register.
- template <bool VarCanBeByte = true, bool SrcCanBeByte = true>
--void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, const Variable *Dst,
-- const Operand *Src, const GPREmitterRegOp &Emitter);
-+
-+void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, const Variable *Var,
-+ const Operand *Src, const GPREmitterRegOp &Emitter) {
-+ auto *Target = InstX86Base::getTarget(Func);
-+ Assembler *Asm = Func->getAssembler<Assembler>();
-+ assert(Var->hasReg());
-+ // We cheat a little and use GPRRegister even for byte operations.
-+ GPRRegister VarReg = VarCanBeByte ? RegX8664::getEncodedGPR(Var->getRegNum())
-+ : RegX8664::getEncodedGPR(Var->getRegNum());
-+ if (const auto *SrcVar = llvm::dyn_cast<Variable>(Src)) {
-+ if (SrcVar->hasReg()) {
-+ GPRRegister SrcReg = SrcCanBeByte
-+ ? RegX8664::getEncodedGPR(SrcVar->getRegNum())
-+ : RegX8664::getEncodedGPR(SrcVar->getRegNum());
-+ (Asm->*(Emitter.GPRGPR))(Ty, VarReg, SrcReg);
-+ } else {
-+ AsmAddress SrcStackAddr = AsmAddress(SrcVar, Target);
-+ (Asm->*(Emitter.GPRAddr))(Ty, VarReg, SrcStackAddr);
-+ }
-+ } else if (const auto *Mem = llvm::dyn_cast<X86OperandMem>(Src)) {
-+ Mem->emitSegmentOverride(Asm);
-+ (Asm->*(Emitter.GPRAddr))(Ty, VarReg, AsmAddress(Mem, Asm, Target));
-+ } else if (const auto *Imm = llvm::dyn_cast<ConstantInteger32>(Src)) {
-+ (Asm->*(Emitter.GPRImm))(Ty, VarReg, AssemblerImmediate(Imm->getValue()));
-+ } else if (const auto *Imm = llvm::dyn_cast<ConstantInteger64>(Src)) {
-+ assert(Utils::IsInt(32, Imm->getValue()));
-+ (Asm->*(Emitter.GPRImm))(Ty, VarReg, AssemblerImmediate(Imm->getValue()));
-+ } else if (const auto *Reloc = llvm::dyn_cast<ConstantRelocatable>(Src)) {
-+ const auto FixupKind = (Reloc->getName().hasStdString() &&
-+ Reloc->getName().toString() == GlobalOffsetTable)
-+ ? FK_GotPC
-+ : FK_Abs;
-+ AssemblerFixup *Fixup = Asm->createFixup(FixupKind, Reloc);
-+ (Asm->*(Emitter.GPRImm))(Ty, VarReg, AssemblerImmediate(Fixup));
-+ } else {
-+ llvm_unreachable("Unexpected operand type");
-+ }
-+}
-
- /// Instructions of the form x := op(x).
- template <typename InstX86Base::InstKindX86 K>
diff --git a/chromium/chromium/chromium-libxml2-r995726.patch b/chromium/chromium/chromium-libxml2-r995726.patch
deleted file mode 100644
index a0dd416..0000000
--- a/chromium/chromium/chromium-libxml2-r995726.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From e67b31a6d61ec67c3cd89832a96e266f3470b5f0 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Mon, 25 Apr 2022 20:20:08 +0000
-Subject: [PATCH] unbundle: add //services/data_decoder:lib to libxml_utils
- visibility
-
-Also add a note to keep original and unbundle BUILD.gn files in sync.
-
-Bug: 1306942
-Change-Id: I83a57abfd7f2390232b1cf81060d79595f2aec55
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3488058
-Reviewed-by: Lei Zhang <thestig@chromium.org>
-Reviewed-by: Daniel Cheng <dcheng@chromium.org>
-Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
-Cr-Commit-Position: refs/heads/main@{#995726}
----
- build/linux/unbundle/libxml.gn | 4 ++++
- third_party/libxml/BUILD.gn | 3 +++
- 2 files changed, 7 insertions(+)
-
-diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
-index 243b62984fcb0..42f1aac867f49 100644
---- a/build/linux/unbundle/libxml.gn
-+++ b/build/linux/unbundle/libxml.gn
-@@ -12,6 +12,7 @@ source_set("libxml") {
- public_configs = [ ":system_libxml" ]
- }
-
-+# Please keep in sync with //third_party/libxml/BUILD.gn.
- static_library("libxml_utils") {
- # Do not expand this visibility list without first consulting with the
- # Security Team.
-@@ -19,6 +20,7 @@ static_library("libxml_utils") {
- ":xml_reader",
- ":xml_writer",
- "//base/test:test_support",
-+ "//services/data_decoder:lib",
- "//services/data_decoder:xml_parser_fuzzer_deps",
- ]
- sources = [
-@@ -28,6 +30,7 @@ static_library("libxml_utils") {
- public_configs = [ ":system_libxml" ]
- }
-
-+# Please keep in sync with //third_party/libxml/BUILD.gn.
- static_library("xml_reader") {
- # Do not expand this visibility list without first consulting with the
- # Security Team.
-@@ -44,6 +47,7 @@ static_library("xml_reader") {
- deps = [ ":libxml_utils" ]
- }
-
-+# Please keep in sync with //third_party/libxml/BUILD.gn.
- static_library("xml_writer") {
- # The XmlWriter is considered safe to use from any target.
- visibility = [ "*" ]
-diff --git a/third_party/libxml/BUILD.gn b/third_party/libxml/BUILD.gn
-index 24688c1643c77..f408123aeb7f9 100644
---- a/third_party/libxml/BUILD.gn
-+++ b/third_party/libxml/BUILD.gn
-@@ -75,6 +75,7 @@ config("libxml_warnings") {
- }
- }
-
-+# Please keep in sync with //build/linux/unbundle/libxml.gn.
- static_library("xml_reader") {
- # Do not expand this visibility list without first consulting with the
- # Security Team.
-@@ -98,6 +99,7 @@ static_library("xml_reader") {
- configs += [ ":libxml_config" ]
- }
-
-+# Please keep in sync with //build/linux/unbundle/libxml.gn.
- static_library("xml_writer") {
- # The XmlWriter is considered safe to use from any target.
- visibility = [ "*" ]
-@@ -112,6 +114,7 @@ static_library("xml_writer") {
- configs += [ ":libxml_config" ]
- }
-
-+# Please keep in sync with //build/linux/unbundle/libxml.gn.
- static_library("libxml_utils") {
- # Do not expand this visibility list without first consulting with the
- # Security Team.
---
-2.35.1
-
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index 71f9942..763acd5 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -56,7 +56,7 @@
%bcond_with fedora_compilation_flags
Name: chromium
-Version: 102.0.5005.115
+Version: 103.0.5060.53
Release: 100%{?dist}
Summary: A WebKit (Blink) powered web browser
@@ -106,15 +106,9 @@ Patch3: chromium-media-mojo-services-opus.patch
# https://src.fedoraproject.org/rpms/chromium/c/cb0be2c990fc724e
Patch10: chromium-python3.patch
-# Pull patches from Fedora
-# https://src.fedoraproject.org/rpms/chromium/c/bf83007e0323548f
-# https://src.fedoraproject.org/rpms/chromium/c/8dff5fe57ed46b4e
-Patch20: chromium-base-v8-utility.patch
-Patch21: chromium-gcc-12-subzero-undefined-reference.patch
-
# Pull upstream patches
-Patch40: chromium-libxml2-r995726.patch
-Patch41: chromium-gcc-11-r998791.patch
+Patch40: chromium-gcc-12-r1003039.patch
+Patch41: chromium-gcc-12-r1004139.patch
# I don't have time to test whether it work on other architectures
ExclusiveArch: x86_64
@@ -274,6 +268,7 @@ find -type f -exec \
third_party/ced \
third_party/cld_3 \
third_party/closure_compiler \
+ third_party/cpuinfo \
third_party/crashpad \
third_party/crashpad/crashpad/third_party/lss \
third_party/crashpad/crashpad/third_party/zlib \
@@ -311,10 +306,12 @@ find -type f -exec \
third_party/ffmpeg \
third_party/fft2d \
third_party/flatbuffers \
+ third_party/fp16 \
%if !%{with system_freetype}
third_party/freetype \
%endif
third_party/fusejs \
+ third_party/fxdiv \
third_party/gemmlowp \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
@@ -409,6 +406,7 @@ find -type f -exec \
third_party/private_membership \
third_party/protobuf \
third_party/protobuf/third_party/six \
+ third_party/pthreadpool \
third_party/pyjson5 \
third_party/qcms \
%if !%{with system_re2}
@@ -434,7 +432,7 @@ find -type f -exec \
third_party/swiftshader/third_party/llvm-10.0 \
third_party/swiftshader/third_party/llvm-subzero \
third_party/swiftshader/third_party/marl \
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 \
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv \
third_party/swiftshader/third_party/SPIRV-Tools \
third_party/swiftshader/third_party/subzero \
third_party/tensorflow-text \
@@ -463,6 +461,7 @@ find -type f -exec \
third_party/wuffs \
third_party/x11proto \
third_party/xcbproto \
+ third_party/xnnpack \
third_party/xdg-utils \
third_party/zlib/google \
third_party/zxcvbn-cpp \
@@ -728,6 +727,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Mon Jun 27 2022 - Ting-Wei Lan <lantw44@gmail.com> - 103.0.5060.53-100
+- Update to 103.0.5060.53
+
* Sat Jun 11 2022 - Ting-Wei Lan <lantw44@gmail.com> - 102.0.5005.115-100
- Update to 102.0.5005.115