@inboxsdk/core 2.1.10 → 2.1.12
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.
- package/inboxsdk.js +445 -934
- package/package.json +1 -1
- package/pageWorld.js +1 -31
- package/src/common/log-error.d.ts +0 -1
- package/src/common/log-error.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +0 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +0 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts +17 -3
- package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts +0 -6
- package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +5 -0
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts.map +1 -1
- package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/logger.d.ts +0 -1
- package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/common-page-communicator.d.ts +0 -20
- package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +0 -1
package/inboxsdk.js
CHANGED
|
@@ -785,23 +785,6 @@ const get = function get(map, key) {
|
|
|
785
785
|
|
|
786
786
|
/***/ }),
|
|
787
787
|
|
|
788
|
-
/***/ 9865:
|
|
789
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
790
|
-
|
|
791
|
-
"use strict";
|
|
792
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
793
|
-
/* harmony export */ "Z": () => (/* binding */ htmlToText)
|
|
794
|
-
/* harmony export */ });
|
|
795
|
-
// Quick function for converting HTML with entities into text without
|
|
796
|
-
// introducing an XSS vulnerability.
|
|
797
|
-
function htmlToText(html) {
|
|
798
|
-
const div = document.createElement('div');
|
|
799
|
-
div.innerHTML = html.replace(/<[^>]*>?/g, '');
|
|
800
|
-
return div.textContent;
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
/***/ }),
|
|
804
|
-
|
|
805
788
|
/***/ 3567:
|
|
806
789
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
807
790
|
|
|
@@ -831,7 +814,7 @@ function isElementVisible(el) {
|
|
|
831
814
|
|
|
832
815
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- SDK_VERSION is injected by webpack
|
|
833
816
|
///@ts-ignore
|
|
834
|
-
const BUILD_VERSION = "2.1.
|
|
817
|
+
const BUILD_VERSION = "2.1.12-1699623720812-466cb297eff34e1f";
|
|
835
818
|
if (false) {}
|
|
836
819
|
|
|
837
820
|
/***/ }),
|
|
@@ -1001,20 +984,18 @@ const gotoView = ud__WEBPACK_IMPORTED_MODULE_2__.defn(module, async function got
|
|
|
1001
984
|
viewName = viewName.slice(1);
|
|
1002
985
|
}
|
|
1003
986
|
if (lodash_includes__WEBPACK_IMPORTED_MODULE_0___default()(_constants_router__WEBPACK_IMPORTED_MODULE_1__/* .NATIVE_ROUTE_IDS */ .H7, viewName)) {
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
params
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
};
|
|
1017
|
-
}
|
|
987
|
+
// need to go to the new url
|
|
988
|
+
if (params && typeof params !== 'string') {
|
|
989
|
+
const threadID = params.threadID;
|
|
990
|
+
if (threadID && typeof threadID === 'string') {
|
|
991
|
+
const int = parseInt(threadID, 16);
|
|
992
|
+
if (!isNaN(int)) {
|
|
993
|
+
//we got an old id
|
|
994
|
+
const syncThreadId = await gmailDriver.getSyncThreadIdForOldGmailThreadId(threadID);
|
|
995
|
+
params = {
|
|
996
|
+
...params,
|
|
997
|
+
threadID: '#' + syncThreadId
|
|
998
|
+
};
|
|
1018
999
|
}
|
|
1019
1000
|
}
|
|
1020
1001
|
}
|
|
@@ -1624,9 +1605,6 @@ const GmailElementGetter = {
|
|
|
1624
1605
|
getMainContentElementChangedStream: once_default()(function () {
|
|
1625
1606
|
return getMainContentElementChangedStream(this);
|
|
1626
1607
|
}),
|
|
1627
|
-
getMoleParent() {
|
|
1628
|
-
return document.body.querySelector('.dw .nH > .nH > .no');
|
|
1629
|
-
},
|
|
1630
1608
|
/**
|
|
1631
1609
|
* This method checks whether we should use the old InboxSDK style of adding nav items
|
|
1632
1610
|
* inline among Gmail's nav items (as opposed to the newer style where we put our nav items
|
|
@@ -1777,21 +1755,15 @@ const GmailElementGetter = {
|
|
|
1777
1755
|
"use strict";
|
|
1778
1756
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1779
1757
|
/* harmony export */ "Be": () => (/* binding */ readDraftId),
|
|
1780
|
-
/* harmony export */ "
|
|
1781
|
-
/* harmony export */ "MA": () => (/* binding */ extractThreads),
|
|
1782
|
-
/* harmony export */ "PH": () => (/* binding */ extractMessageIdsFromThreadBatchRequest),
|
|
1783
|
-
/* harmony export */ "Z8": () => (/* binding */ replaceThreadsInResponse)
|
|
1758
|
+
/* harmony export */ "PH": () => (/* binding */ extractMessageIdsFromThreadBatchRequest)
|
|
1784
1759
|
/* harmony export */ });
|
|
1785
|
-
/* unused harmony exports
|
|
1760
|
+
/* unused harmony exports extractGmailThreadIdFromMessageIdSearch, rewriteSingleQuotes, deserialize, deserializeArray, serialize, replaceThreadsInResponse, extractThreads, extractThreadsFromDeserialized, cleanupPeopleLine, extractMessages */
|
|
1786
1761
|
/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5564);
|
|
1787
1762
|
/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_0__);
|
|
1788
1763
|
/* harmony import */ var lodash_last__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(928);
|
|
1789
1764
|
/* harmony import */ var lodash_last__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_last__WEBPACK_IMPORTED_MODULE_1__);
|
|
1790
1765
|
/* harmony import */ var transducers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1095);
|
|
1791
1766
|
/* harmony import */ var transducers_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(transducers_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
1792
|
-
/* harmony import */ var map_indexed_xf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9880);
|
|
1793
|
-
/* harmony import */ var map_indexed_xf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(map_indexed_xf__WEBPACK_IMPORTED_MODULE_5__);
|
|
1794
|
-
/* harmony import */ var _common_html_to_text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9865);
|
|
1795
1767
|
/* harmony import */ var _common_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9817);
|
|
1796
1768
|
|
|
1797
1769
|
|
|
@@ -1799,36 +1771,6 @@ const GmailElementGetter = {
|
|
|
1799
1771
|
|
|
1800
1772
|
|
|
1801
1773
|
|
|
1802
|
-
function interpretSentEmailResponse(responseString) {
|
|
1803
|
-
const emailSentArray = deserialize(responseString).value;
|
|
1804
|
-
const gmailMessageId = extractGmailMessageIdFromSentEmail(emailSentArray);
|
|
1805
|
-
const gmailThreadId = extractGmailThreadIdFromSentEmail(emailSentArray) || gmailMessageId;
|
|
1806
|
-
if (!gmailMessageId || !gmailThreadId) {
|
|
1807
|
-
throw new Error('Failed to read email response');
|
|
1808
|
-
}
|
|
1809
|
-
return {
|
|
1810
|
-
threadID: gmailThreadId,
|
|
1811
|
-
messageID: gmailMessageId
|
|
1812
|
-
};
|
|
1813
|
-
}
|
|
1814
|
-
function extractGmailMessageIdFromSentEmail(emailSentArray) {
|
|
1815
|
-
const messageIdArrayMarker = 'a';
|
|
1816
|
-
const messageIdArray = _searchArray(emailSentArray, messageIdArrayMarker, markerArray => markerArray.length > 3 && Array.isArray(markerArray[3]) && markerArray[3].length > 0);
|
|
1817
|
-
if (!messageIdArray) {
|
|
1818
|
-
return null;
|
|
1819
|
-
}
|
|
1820
|
-
return messageIdArray[3][0];
|
|
1821
|
-
}
|
|
1822
|
-
function extractGmailThreadIdFromSentEmail(emailSentArray) {
|
|
1823
|
-
const threadIdArrayMarker = 'csd';
|
|
1824
|
-
const threadIdArray = _searchArray(emailSentArray, threadIdArrayMarker, function (markerArray) {
|
|
1825
|
-
return markerArray.length == 3 && Array.isArray(markerArray[2]) && markerArray[2].length > 5;
|
|
1826
|
-
});
|
|
1827
|
-
if (!threadIdArray) {
|
|
1828
|
-
return null;
|
|
1829
|
-
}
|
|
1830
|
-
return threadIdArray[1];
|
|
1831
|
-
}
|
|
1832
1774
|
function extractGmailThreadIdFromMessageIdSearch(responseString) {
|
|
1833
1775
|
const threadResponseArray = deserialize(responseString).value;
|
|
1834
1776
|
const threadIdArrayMarker = 'cs';
|
|
@@ -2000,7 +1942,7 @@ function deserializeArray(value) {
|
|
|
2000
1942
|
}
|
|
2001
1943
|
function serialize(value, options) {
|
|
2002
1944
|
if (options.suggestionMode) {
|
|
2003
|
-
|
|
1945
|
+
assert(options.includeLengths);
|
|
2004
1946
|
return suggestionSerialize(value, options.includeExplicitNulls);
|
|
2005
1947
|
}
|
|
2006
1948
|
return threadListSerialize(value, options);
|
|
@@ -2181,14 +2123,14 @@ function replaceThreadsInResponse(response, replacementThreads, _ref) {
|
|
|
2181
2123
|
newTbs.push(postTbItems);
|
|
2182
2124
|
}
|
|
2183
2125
|
}
|
|
2184
|
-
const parsedNew =
|
|
2185
|
-
const allSections =
|
|
2186
|
-
const endSection =
|
|
2126
|
+
const parsedNew = flatten([preTbGroups, newTbs, postTbGroups]);
|
|
2127
|
+
const allSections = flatten(parsedNew);
|
|
2128
|
+
const endSection = last(allSections);
|
|
2187
2129
|
if (endSection[0] !== 'e') {
|
|
2188
2130
|
throw new Error('Failed to find end section');
|
|
2189
2131
|
}
|
|
2190
2132
|
endSection[1] = allSections.length;
|
|
2191
|
-
const fullNew = actionResponseMode ? [[
|
|
2133
|
+
const fullNew = actionResponseMode ? [[flatten(parsedNew), value[0][1]]] : parsedNew;
|
|
2192
2134
|
return serialize(fullNew, options);
|
|
2193
2135
|
}
|
|
2194
2136
|
function extractThreads(response) {
|
|
@@ -2199,9 +2141,9 @@ function extractThreadsFromDeserialized(value) {
|
|
|
2199
2141
|
value = [value[0][0]];
|
|
2200
2142
|
}
|
|
2201
2143
|
return _extractThreadArraysFromResponseArray(value).map(thread => Object.freeze(Object.defineProperty({
|
|
2202
|
-
subject: (
|
|
2203
|
-
shortDate: (
|
|
2204
|
-
timeString: (
|
|
2144
|
+
subject: htmlToText(thread[9]),
|
|
2145
|
+
shortDate: htmlToText(thread[14]),
|
|
2146
|
+
timeString: htmlToText(thread[15]),
|
|
2205
2147
|
peopleHtml: cleanupPeopleLine(thread[7]),
|
|
2206
2148
|
timestamp: thread[16] / 1000,
|
|
2207
2149
|
isUnread: thread[9].indexOf('<b>') > -1,
|
|
@@ -2227,7 +2169,7 @@ function cleanupPeopleLine(peopleHtml) {
|
|
|
2227
2169
|
}
|
|
2228
2170
|
const _extractThreadArraysFromResponseArrayXf = transducers_js__WEBPACK_IMPORTED_MODULE_2___default().compose((transducers_js__WEBPACK_IMPORTED_MODULE_2___default().cat), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().filter(item => item[0] === 'tb'), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().map(item => item[2]), (transducers_js__WEBPACK_IMPORTED_MODULE_2___default().cat));
|
|
2229
2171
|
function _extractThreadArraysFromResponseArray(threadResponseArray) {
|
|
2230
|
-
return
|
|
2172
|
+
return t.toArray(threadResponseArray, _extractThreadArraysFromResponseArrayXf);
|
|
2231
2173
|
}
|
|
2232
2174
|
const _extractThreadsFromConversationViewResponseArrayXf = transducers_js__WEBPACK_IMPORTED_MODULE_2___default().compose((transducers_js__WEBPACK_IMPORTED_MODULE_2___default().cat), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().filter(item => item[0] === 'cs'), transducers_js__WEBPACK_IMPORTED_MODULE_2___default().map(item => ({
|
|
2233
2175
|
threadID: item[1],
|
|
@@ -2263,8 +2205,8 @@ function extractMessages(response) {
|
|
|
2263
2205
|
});
|
|
2264
2206
|
}
|
|
2265
2207
|
function _threadsToTbGroups(threads, start) {
|
|
2266
|
-
const _threadsToTbGroupsXf =
|
|
2267
|
-
return
|
|
2208
|
+
const _threadsToTbGroupsXf = t.compose(t.map(thread => thread._originalGmailFormat), t.partition(10), mapIndexed((threadsChunk, i) => [['tb', start + i * 10, threadsChunk]]));
|
|
2209
|
+
return t.toArray(threads, _threadsToTbGroupsXf);
|
|
2268
2210
|
}
|
|
2269
2211
|
function _searchArray(responseArray, marker, markerArrayValidator) {
|
|
2270
2212
|
const pathArray = _searchObject(responseArray, marker, 100);
|
|
@@ -4072,9 +4014,6 @@ var once_default = /*#__PURE__*/__webpack_require__.n(once);
|
|
|
4072
4014
|
// EXTERNAL MODULE: ./node_modules/lodash/escape.js
|
|
4073
4015
|
var lodash_escape = __webpack_require__(1675);
|
|
4074
4016
|
var escape_default = /*#__PURE__*/__webpack_require__.n(lodash_escape);
|
|
4075
|
-
// EXTERNAL MODULE: ./node_modules/lodash/includes.js
|
|
4076
|
-
var includes = __webpack_require__(4721);
|
|
4077
|
-
var includes_default = /*#__PURE__*/__webpack_require__.n(includes);
|
|
4078
4017
|
// EXTERNAL MODULE: ./node_modules/lodash/constant.js
|
|
4079
4018
|
var constant = __webpack_require__(5703);
|
|
4080
4019
|
var constant_default = /*#__PURE__*/__webpack_require__.n(constant);
|
|
@@ -4251,8 +4190,6 @@ function simulateDragEnd(element, files) {
|
|
|
4251
4190
|
dataTransfer
|
|
4252
4191
|
});
|
|
4253
4192
|
}
|
|
4254
|
-
// EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.ts
|
|
4255
|
-
var gmail_response_processor = __webpack_require__(6139);
|
|
4256
4193
|
// EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.ts + 2 modules
|
|
4257
4194
|
var gmail_element_getter = __webpack_require__(2851);
|
|
4258
4195
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/dom/set-css.ts
|
|
@@ -4279,8 +4216,6 @@ function setCss(key, css) {
|
|
|
4279
4216
|
var wait_for = __webpack_require__(2392);
|
|
4280
4217
|
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/stream-wait-for.ts
|
|
4281
4218
|
var stream_wait_for = __webpack_require__(3511);
|
|
4282
|
-
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.ts
|
|
4283
|
-
var make_mutation_observer_chunked_stream = __webpack_require__(5578);
|
|
4284
4219
|
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/handle-compose-link-chips.ts
|
|
4285
4220
|
var handle_compose_link_chips = __webpack_require__(3095);
|
|
4286
4221
|
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/insert-link-chip-into-body.ts
|
|
@@ -4372,12 +4307,17 @@ function ensureAppButtonToolbarsAreClosed(gmailComposeViewElement) {
|
|
|
4372
4307
|
(0,simulate_mouse_event/* simulateClick */.HX)(groupedButton);
|
|
4373
4308
|
}
|
|
4374
4309
|
}
|
|
4310
|
+
// EXTERNAL MODULE: ./node_modules/lodash/includes.js
|
|
4311
|
+
var includes = __webpack_require__(4721);
|
|
4312
|
+
var includes_default = /*#__PURE__*/__webpack_require__.n(includes);
|
|
4375
4313
|
// EXTERNAL MODULE: ./node_modules/lodash/startsWith.js
|
|
4376
4314
|
var startsWith = __webpack_require__(240);
|
|
4377
4315
|
var startsWith_default = /*#__PURE__*/__webpack_require__.n(startsWith);
|
|
4378
4316
|
// EXTERNAL MODULE: ./node_modules/lodash/findIndex.js
|
|
4379
4317
|
var findIndex = __webpack_require__(998);
|
|
4380
4318
|
var findIndex_default = /*#__PURE__*/__webpack_require__.n(findIndex);
|
|
4319
|
+
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.ts
|
|
4320
|
+
var make_mutation_observer_chunked_stream = __webpack_require__(5578);
|
|
4381
4321
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/css-selector-escape.ts
|
|
4382
4322
|
function cssSelectorEscape(text) {
|
|
4383
4323
|
if (text.length === 0 || /^-?[0-9]/.test(text)) {
|
|
@@ -5660,9 +5600,6 @@ function setFromEmail(driver, gmailComposeView, email) {
|
|
|
5660
5600
|
|
|
5661
5601
|
|
|
5662
5602
|
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
5603
|
|
|
5667
5604
|
|
|
5668
5605
|
|
|
@@ -5699,181 +5636,70 @@ class GmailComposeView {
|
|
|
5699
5636
|
this._isTriggeringADraftSavePending = false;
|
|
5700
5637
|
this._page = makePageParser(element, driver.getLogger());
|
|
5701
5638
|
this.tagTree = this._page.tree;
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5708
|
-
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
|
|
5716
|
-
|
|
5717
|
-
|
|
5718
|
-
|
|
5719
|
-
|
|
5720
|
-
|
|
5721
|
-
|
|
5722
|
-
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
if (event.oldThreadID) {
|
|
5727
|
-
return event.oldThreadID;
|
|
5728
|
-
}
|
|
5729
|
-
return await driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
|
|
5730
|
-
}),
|
|
5731
|
-
getMessageID: once_default()(async () => {
|
|
5732
|
-
if (event.oldMessageID) {
|
|
5733
|
-
return event.oldMessageID;
|
|
5734
|
-
}
|
|
5735
|
-
return await driver.getGmailMessageIdForSyncMessageId(syncMessageID);
|
|
5736
|
-
})
|
|
5737
|
-
}
|
|
5738
|
-
};
|
|
5739
|
-
}
|
|
5740
|
-
case 'emailSendFailed':
|
|
5741
|
-
{
|
|
5742
|
-
return {
|
|
5743
|
-
eventName: 'sendCanceled'
|
|
5744
|
-
};
|
|
5745
|
-
}
|
|
5746
|
-
case 'emailDraftReceived':
|
|
5747
|
-
{
|
|
5748
|
-
this._messageId = event.oldMessageID;
|
|
5749
|
-
this._threadID = event.oldThreadID;
|
|
5750
|
-
return {
|
|
5751
|
-
eventName: 'draftSaved',
|
|
5752
|
-
data: {
|
|
5753
|
-
getThreadID() {
|
|
5754
|
-
return Promise.resolve(event.oldThreadID);
|
|
5755
|
-
},
|
|
5756
|
-
getMessageID() {
|
|
5757
|
-
return Promise.resolve(event.oldMessageID);
|
|
5758
|
-
}
|
|
5759
|
-
}
|
|
5760
|
-
};
|
|
5761
|
-
}
|
|
5762
|
-
default:
|
|
5763
|
-
{
|
|
5764
|
-
return null;
|
|
5765
|
-
}
|
|
5766
|
-
}
|
|
5767
|
-
}).filter(Boolean);
|
|
5768
|
-
} else {
|
|
5769
|
-
saveAndSendStream = xhrInterceptorStream.filter(event => event.composeId === this.getComposeID()).map(event => {
|
|
5770
|
-
switch (event.type) {
|
|
5771
|
-
case 'emailSending':
|
|
5772
|
-
{
|
|
5773
|
-
return [{
|
|
5774
|
-
eventName: 'sending'
|
|
5775
|
-
}];
|
|
5776
|
-
}
|
|
5777
|
-
case 'emailSent':
|
|
5778
|
-
{
|
|
5779
|
-
const response = gmail_response_processor/* interpretSentEmailResponse */.IG(event.response);
|
|
5780
|
-
if (includes_default()(['tr', 'eu'], response.messageID)) {
|
|
5781
|
-
return [{
|
|
5782
|
-
eventName: 'sendCanceled'
|
|
5783
|
-
}];
|
|
5784
|
-
}
|
|
5785
|
-
this._emailWasSent = true;
|
|
5786
|
-
if (response.messageID) {
|
|
5787
|
-
this._finalMessageId = response.messageID;
|
|
5788
|
-
}
|
|
5789
|
-
this._messageId = null;
|
|
5790
|
-
const data = {
|
|
5791
|
-
getThreadID: () => Promise.resolve(response.threadID),
|
|
5792
|
-
getMessageID: () => Promise.resolve(response.messageID)
|
|
5793
|
-
};
|
|
5794
|
-
['threadID', 'gmailThreadId'].forEach(prop => {
|
|
5795
|
-
// These properties are nonenumerable.
|
|
5796
|
-
Object.defineProperty(data, prop, {
|
|
5797
|
-
get: () => {
|
|
5798
|
-
this._driver.getLogger().deprecationWarning(`composeView sent event.${prop}`, 'composeView sent event.getThreadID()');
|
|
5799
|
-
return response.threadID;
|
|
5639
|
+
const saveAndSendStream = xhrInterceptorStream // we know _getDraftIDfromForm will work because by the time we're
|
|
5640
|
+
// getting an ajax event Gmail's JS has generated an ID and added it to the DOM.
|
|
5641
|
+
.filter(event => event.draftID === this._getDraftIDfromForm()).map(event => {
|
|
5642
|
+
switch (event.type) {
|
|
5643
|
+
case 'emailSending':
|
|
5644
|
+
{
|
|
5645
|
+
return {
|
|
5646
|
+
eventName: 'sending'
|
|
5647
|
+
};
|
|
5648
|
+
}
|
|
5649
|
+
case 'emailSent':
|
|
5650
|
+
{
|
|
5651
|
+
const syncThreadID = event.threadID;
|
|
5652
|
+
const syncMessageID = event.messageID;
|
|
5653
|
+
if (event.oldMessageID) this._messageId = event.oldMessageID;
|
|
5654
|
+
if (event.oldThreadID) this._threadID = event.oldThreadID;
|
|
5655
|
+
driver.removeCachedGmailMessageIdForSyncMessageId(syncMessageID);
|
|
5656
|
+
driver.removeCachedOldGmailThreadIdFromSyncThreadId(syncThreadID);
|
|
5657
|
+
return {
|
|
5658
|
+
eventName: 'sent',
|
|
5659
|
+
data: {
|
|
5660
|
+
getThreadID: once_default()(async () => {
|
|
5661
|
+
if (event.oldThreadID) {
|
|
5662
|
+
return event.oldThreadID;
|
|
5800
5663
|
}
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
this._driver.getLogger().deprecationWarning(`composeView sent event.${prop}`, 'composeView sent event.getMessageID()');
|
|
5807
|
-
return response.messageID;
|
|
5664
|
+
return await driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
|
|
5665
|
+
}),
|
|
5666
|
+
getMessageID: once_default()(async () => {
|
|
5667
|
+
if (event.oldMessageID) {
|
|
5668
|
+
return event.oldMessageID;
|
|
5808
5669
|
}
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
return [{
|
|
5812
|
-
eventName: 'sent',
|
|
5813
|
-
data
|
|
5814
|
-
}];
|
|
5815
|
-
}
|
|
5816
|
-
case 'emailDraftSaveSending':
|
|
5817
|
-
{
|
|
5818
|
-
this._draftSaving = true;
|
|
5819
|
-
return [{
|
|
5820
|
-
eventName: 'draftSaving'
|
|
5821
|
-
}];
|
|
5822
|
-
}
|
|
5823
|
-
case 'emailDraftReceived':
|
|
5824
|
-
{
|
|
5825
|
-
this._draftSaving = false;
|
|
5826
|
-
let response;
|
|
5827
|
-
try {
|
|
5828
|
-
response = gmail_response_processor/* interpretSentEmailResponse */.IG(event.response);
|
|
5829
|
-
} catch (err) {
|
|
5830
|
-
if (this._driver.getAppId() === 'sdk_streak_21e9788951') {
|
|
5831
|
-
this._driver.getLogger().error(err, {
|
|
5832
|
-
connectionDetails: event.connectionDetails,
|
|
5833
|
-
response: event.response
|
|
5834
|
-
});
|
|
5835
|
-
throw err;
|
|
5836
|
-
} else {
|
|
5837
|
-
throw err;
|
|
5838
|
-
}
|
|
5839
|
-
}
|
|
5840
|
-
if (response.messageID === 'eu') {
|
|
5841
|
-
return []; // save was canceled
|
|
5670
|
+
return await driver.getGmailMessageIdForSyncMessageId(syncMessageID);
|
|
5671
|
+
})
|
|
5842
5672
|
}
|
|
5843
|
-
|
|
5844
|
-
|
|
5845
|
-
|
|
5846
|
-
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
|
|
5859
|
-
|
|
5860
|
-
|
|
5673
|
+
};
|
|
5674
|
+
}
|
|
5675
|
+
case 'emailSendFailed':
|
|
5676
|
+
{
|
|
5677
|
+
return {
|
|
5678
|
+
eventName: 'sendCanceled'
|
|
5679
|
+
};
|
|
5680
|
+
}
|
|
5681
|
+
case 'emailDraftReceived':
|
|
5682
|
+
{
|
|
5683
|
+
this._messageId = event.oldMessageID;
|
|
5684
|
+
this._threadID = event.oldThreadID;
|
|
5685
|
+
return {
|
|
5686
|
+
eventName: 'draftSaved',
|
|
5687
|
+
data: {
|
|
5688
|
+
getThreadID() {
|
|
5689
|
+
return Promise.resolve(event.oldThreadID);
|
|
5690
|
+
},
|
|
5691
|
+
getMessageID() {
|
|
5692
|
+
return Promise.resolve(event.oldMessageID);
|
|
5861
5693
|
}
|
|
5862
5694
|
}
|
|
5863
|
-
|
|
5864
|
-
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
|
|
5871
|
-
eventName: event.eventName
|
|
5872
|
-
});
|
|
5873
|
-
}
|
|
5874
|
-
return event;
|
|
5875
|
-
});
|
|
5876
|
-
}
|
|
5695
|
+
};
|
|
5696
|
+
}
|
|
5697
|
+
default:
|
|
5698
|
+
{
|
|
5699
|
+
return null;
|
|
5700
|
+
}
|
|
5701
|
+
}
|
|
5702
|
+
}).filter(Boolean);
|
|
5877
5703
|
this._eventStream.plug(kefir_esm.merge([saveAndSendStream, kefir_esm.fromEvents(this._element, 'buttonAdded').map(() => {
|
|
5878
5704
|
return {
|
|
5879
5705
|
eventName: 'buttonAdded'
|
|
@@ -5938,35 +5764,27 @@ class GmailComposeView {
|
|
|
5938
5764
|
class: this.getElement().getAttribute('class')
|
|
5939
5765
|
});
|
|
5940
5766
|
});
|
|
5941
|
-
|
|
5942
|
-
//
|
|
5943
|
-
//
|
|
5944
|
-
//
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
eventName
|
|
5963
|
-
} = _ref5;
|
|
5964
|
-
return eventName === 'sent';
|
|
5965
|
-
})])]).take(1) // we delay asap here so that the event stream is not destroyed before listeners here the sent event
|
|
5966
|
-
.flatMap(() => (0,delay_asap/* default */.Z)(null)).onValue(() => this._destroy());
|
|
5967
|
-
} else {
|
|
5968
|
-
this._removedFromDOMStopper.onValue(() => this._destroy());
|
|
5969
|
-
}
|
|
5767
|
+
kefir_esm.merge([
|
|
5768
|
+
// if we get a presending then we let the other stream wait for
|
|
5769
|
+
// sent. But if we get a sendCanceled, then a regular destroy can
|
|
5770
|
+
// pass through
|
|
5771
|
+
this._removedFromDOMStopper.filterBy(this._eventStream.filter(_ref3 => {
|
|
5772
|
+
let {
|
|
5773
|
+
eventName
|
|
5774
|
+
} = _ref3;
|
|
5775
|
+
return eventName === 'presending' || eventName === 'sendCanceled';
|
|
5776
|
+
}).map(_ref4 => {
|
|
5777
|
+
let {
|
|
5778
|
+
eventName
|
|
5779
|
+
} = _ref4;
|
|
5780
|
+
return eventName === 'sendCanceled';
|
|
5781
|
+
}).toProperty(() => true)), kefir_esm.combine([this._removedFromDOMStopper, this._eventStream.filter(_ref5 => {
|
|
5782
|
+
let {
|
|
5783
|
+
eventName
|
|
5784
|
+
} = _ref5;
|
|
5785
|
+
return eventName === 'sent';
|
|
5786
|
+
})])]).take(1) // we delay asap here so that the event stream is not destroyed before listeners here the sent event
|
|
5787
|
+
.flatMap(() => (0,delay_asap/* default */.Z)(null)).onValue(() => this._destroy());
|
|
5970
5788
|
detectClassicRecipientsArea();
|
|
5971
5789
|
}
|
|
5972
5790
|
destroy() {
|
|
@@ -6046,18 +5864,6 @@ class GmailComposeView {
|
|
|
6046
5864
|
this._eventStream.plug(kefir_esm.later(10, undefined).flatMap(() => (0,get_minimized_stream/* default */.Z)(this)).changes().map(minimized => ({
|
|
6047
5865
|
eventName: minimized ? 'minimized' : 'restored'
|
|
6048
5866
|
})));
|
|
6049
|
-
if (!this._driver.isUsingSyncAPI()) {
|
|
6050
|
-
(0,make_mutation_observer_chunked_stream/* default */.Z)(this._messageIDElement, {
|
|
6051
|
-
attributes: true,
|
|
6052
|
-
attributeFilter: ['value']
|
|
6053
|
-
}).takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null)).map(() => this._getMessageIDfromForm()).filter(messageID => messageID && !this._emailWasSent && this._messageId !== messageID).onValue(messageID => {
|
|
6054
|
-
this._messageId = messageID;
|
|
6055
|
-
this._eventStream.emit({
|
|
6056
|
-
eventName: 'messageIDChange',
|
|
6057
|
-
data: this._messageId
|
|
6058
|
-
});
|
|
6059
|
-
});
|
|
6060
|
-
}
|
|
6061
5867
|
}
|
|
6062
5868
|
_setupConsistencyCheckers() {
|
|
6063
5869
|
try {
|
|
@@ -6070,33 +5876,27 @@ class GmailComposeView {
|
|
|
6070
5876
|
}
|
|
6071
5877
|
}
|
|
6072
5878
|
_setupIDs() {
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
this.
|
|
6081
|
-
|
|
6082
|
-
|
|
6083
|
-
|
|
6084
|
-
|
|
6085
|
-
|
|
6086
|
-
|
|
6087
|
-
this.
|
|
6088
|
-
|
|
6089
|
-
});
|
|
6090
|
-
} else {
|
|
6091
|
-
this._driver.getLogger().error(new Error('Draft is missing sync draft id'));
|
|
6092
|
-
}
|
|
6093
|
-
const legacyThreadIdElement = this._element.querySelector('input[name="lts"]');
|
|
6094
|
-
if (legacyThreadIdElement && typeof legacyThreadIdElement.value === 'string') this._threadID = legacyThreadIdElement.value;
|
|
5879
|
+
const syncTargetMessageID = this._getTargetMessageID();
|
|
5880
|
+
if (syncTargetMessageID) {
|
|
5881
|
+
this._driver.getGmailMessageIdForSyncMessageId(syncTargetMessageID).then(gmailMessageId => this._targetMessageID = gmailMessageId);
|
|
5882
|
+
}
|
|
5883
|
+
const syncMessageId = this._getMessageIDfromForm();
|
|
5884
|
+
if (syncMessageId) {
|
|
5885
|
+
this._driver.getGmailMessageIdForSyncDraftId(syncMessageId).then(gmailMessageId => {
|
|
5886
|
+
this._initialMessageId = gmailMessageId;
|
|
5887
|
+
this._messageId = gmailMessageId;
|
|
5888
|
+
}).catch(() => {
|
|
5889
|
+
//do nothing because this means the message hasn't been saved yet
|
|
5890
|
+
});
|
|
5891
|
+
this._driver.reportRecentSyncDraftId(syncMessageId);
|
|
5892
|
+
this._stopper.onValue(() => {
|
|
5893
|
+
this._driver.reportDraftClosed(syncMessageId);
|
|
5894
|
+
});
|
|
6095
5895
|
} else {
|
|
6096
|
-
this.
|
|
6097
|
-
this._messageId = this._initialMessageId = this._getMessageIDfromForm();
|
|
6098
|
-
this._threadID = this._getThreadID();
|
|
5896
|
+
this._driver.getLogger().error(new Error('Draft is missing sync draft id'));
|
|
6099
5897
|
}
|
|
5898
|
+
const legacyThreadIdElement = this._element.querySelector('input[name="lts"]');
|
|
5899
|
+
if (legacyThreadIdElement && typeof legacyThreadIdElement.value === 'string') this._threadID = legacyThreadIdElement.value;
|
|
6100
5900
|
}
|
|
6101
5901
|
_updateComposeFullscreenState() {
|
|
6102
5902
|
if (this._isInlineReplyForm) {
|
|
@@ -6597,37 +6397,24 @@ class GmailComposeView {
|
|
|
6597
6397
|
return this._initialMessageId;
|
|
6598
6398
|
}
|
|
6599
6399
|
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6400
|
+
/**
|
|
6401
|
+
* gets the draft ID
|
|
6402
|
+
* from the input that used to hold the hex message ID. Still does not
|
|
6403
|
+
* populate until first save.
|
|
6404
|
+
*/
|
|
6603
6405
|
_getDraftIDfromForm() {
|
|
6604
6406
|
const value = this._messageIDElement && this._messageIDElement.value || null;
|
|
6605
6407
|
if (typeof value === 'string' && value !== 'undefined' && value !== 'null') {
|
|
6606
|
-
|
|
6607
|
-
return value.replace('#', '').replace('msg-a:', '');
|
|
6608
|
-
} else {
|
|
6609
|
-
this._driver.getLogger().error(new Error('Invalid draft id in element'), {
|
|
6610
|
-
value
|
|
6611
|
-
});
|
|
6612
|
-
}
|
|
6408
|
+
return value.replace('#', '').replace('msg-a:', '');
|
|
6613
6409
|
}
|
|
6614
6410
|
return null;
|
|
6615
6411
|
}
|
|
6616
6412
|
_getMessageIDfromForm() {
|
|
6617
6413
|
const value = this._messageIDElement && this._messageIDElement.value || null;
|
|
6618
6414
|
if (typeof value === 'string' && value !== 'undefined' && value !== 'null') {
|
|
6619
|
-
|
|
6620
|
-
return value.replace('#', ''); //annoyingly the hash is included
|
|
6621
|
-
} else {
|
|
6622
|
-
if (/^[0-9a-f]+$/i.test(value)) {
|
|
6623
|
-
return value;
|
|
6624
|
-
} else {
|
|
6625
|
-
this._driver.getLogger().error(new Error('Invalid message id in element'), {
|
|
6626
|
-
value
|
|
6627
|
-
});
|
|
6628
|
-
}
|
|
6629
|
-
}
|
|
6415
|
+
return value.replace('#', ''); //annoyingly the hash is included
|
|
6630
6416
|
}
|
|
6417
|
+
|
|
6631
6418
|
return null;
|
|
6632
6419
|
}
|
|
6633
6420
|
getMessageID() {
|
|
@@ -6640,31 +6427,23 @@ class GmailComposeView {
|
|
|
6640
6427
|
return this._threadID;
|
|
6641
6428
|
}
|
|
6642
6429
|
async getCurrentDraftID() {
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
return draftID;
|
|
6649
|
-
} else {
|
|
6650
|
-
const syncMessageId = this._getMessageIDfromForm();
|
|
6651
|
-
if (syncMessageId) {
|
|
6652
|
-
try {
|
|
6653
|
-
// If this succeeds, then the draft must exist on the server and we
|
|
6654
|
-
// can safely return the draft id we know.
|
|
6655
|
-
await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
|
|
6656
|
-
} catch (e) {
|
|
6657
|
-
// ignore error, it's probably that the draft isn't saved yet.
|
|
6658
|
-
return null;
|
|
6659
|
-
}
|
|
6660
|
-
return draftID;
|
|
6661
|
-
}
|
|
6662
|
-
}
|
|
6430
|
+
// This function is mostly a mirror of _getDraftIDimplementation, but
|
|
6431
|
+
// instead of waiting when finding out it's not saved, just returns null.
|
|
6432
|
+
const draftID = this._getDraftIDfromForm();
|
|
6433
|
+
if (this._messageId) {
|
|
6434
|
+
return draftID;
|
|
6663
6435
|
} else {
|
|
6664
|
-
|
|
6665
|
-
|
|
6666
|
-
|
|
6667
|
-
|
|
6436
|
+
const syncMessageId = this._getMessageIDfromForm();
|
|
6437
|
+
if (syncMessageId) {
|
|
6438
|
+
try {
|
|
6439
|
+
// If this succeeds, then the draft must exist on the server and we
|
|
6440
|
+
// can safely return the draft id we know.
|
|
6441
|
+
await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
|
|
6442
|
+
} catch (e) {
|
|
6443
|
+
// ignore error, it's probably that the draft isn't saved yet.
|
|
6444
|
+
return null;
|
|
6445
|
+
}
|
|
6446
|
+
return draftID;
|
|
6668
6447
|
}
|
|
6669
6448
|
}
|
|
6670
6449
|
}
|
|
@@ -6676,115 +6455,32 @@ class GmailComposeView {
|
|
|
6676
6455
|
return draftIDpromise;
|
|
6677
6456
|
}
|
|
6678
6457
|
async _getDraftIDimplementation() {
|
|
6679
|
-
|
|
6680
|
-
const draftID = this._getDraftIDfromForm();
|
|
6458
|
+
const draftID = this._getDraftIDfromForm();
|
|
6681
6459
|
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
} else {
|
|
6688
|
-
// there may be a draft on the server, so let's find out
|
|
6689
|
-
const syncMessageId = this._getMessageIDfromForm();
|
|
6690
|
-
if (syncMessageId) {
|
|
6691
|
-
try {
|
|
6692
|
-
// If this succeeds, then the draft must exist on the server and we
|
|
6693
|
-
// can safely return the draft id we know.
|
|
6694
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6695
|
-
const gmailMessageId = await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
|
|
6696
|
-
} catch (e) {
|
|
6697
|
-
// draft doesn't exist so we wait until it does
|
|
6698
|
-
await this._eventStream.filter(_ref8 => {
|
|
6699
|
-
let {
|
|
6700
|
-
eventName
|
|
6701
|
-
} = _ref8;
|
|
6702
|
-
return eventName === 'draftSaved';
|
|
6703
|
-
}).beforeEnd(() => null).map(() => this._getDraftIDfromForm()).take(1).toPromise();
|
|
6704
|
-
}
|
|
6705
|
-
return draftID;
|
|
6706
|
-
}
|
|
6707
|
-
}
|
|
6460
|
+
// we want to keep the semantics that getDraftID doesn't return until
|
|
6461
|
+
// the draft is actually saved on Gmail's servers
|
|
6462
|
+
if (this._messageId) {
|
|
6463
|
+
// if we have a messageId that means there is a draft on the server
|
|
6464
|
+
return draftID;
|
|
6708
6465
|
} else {
|
|
6709
|
-
let
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
// message ID has changed since we made the request, then we try again.
|
|
6726
|
-
let lastMessageId = null;
|
|
6727
|
-
|
|
6728
|
-
// eslint-disable-next-line no-constant-condition
|
|
6729
|
-
while (true) {
|
|
6730
|
-
i++;
|
|
6731
|
-
const messageId = this._messageId;
|
|
6732
|
-
if (!messageId) {
|
|
6733
|
-
throw new Error('Should not happen');
|
|
6734
|
-
}
|
|
6735
|
-
if (lastMessageId === messageId) {
|
|
6736
|
-
// It's possible that the server received a draft save request from us
|
|
6737
|
-
// already, causing the draft id lookup to fail, but we haven't gotten
|
|
6738
|
-
// the draft save response yet. Wait for that response to finish and
|
|
6739
|
-
// keep trying if it looks like that might be the case.
|
|
6740
|
-
if (this._draftSaving) {
|
|
6741
|
-
await this._eventStream.filter(event => event.eventName === 'messageIDChange').beforeEnd(() => null).take(1).toPromise();
|
|
6742
|
-
continue;
|
|
6743
|
-
}
|
|
6744
|
-
|
|
6745
|
-
// maaaaybe the draft is saving, but we failed to detect that.
|
|
6746
|
-
// Let's log whether things would've worked out a little in the future.
|
|
6747
|
-
setTimeout(async () => {
|
|
6748
|
-
const newMessageId = this._messageId;
|
|
6749
|
-
if (!newMessageId) {
|
|
6750
|
-
throw new Error('Should not happen');
|
|
6751
|
-
}
|
|
6752
|
-
const {
|
|
6753
|
-
draftID,
|
|
6754
|
-
debugData
|
|
6755
|
-
} = await this._driver.getDraftIDForMessageID(newMessageId, true);
|
|
6756
|
-
const err = new Error('Failed to read draft ID -- after check');
|
|
6757
|
-
this._driver.getLogger().error(err, {
|
|
6758
|
-
message: 'getDraftID error -- after check',
|
|
6759
|
-
messageIdChanged: messageId !== newMessageId,
|
|
6760
|
-
gotDraftID: draftID != null,
|
|
6761
|
-
debugData: draftID ? null : debugData
|
|
6762
|
-
});
|
|
6763
|
-
}, 10 * 1000);
|
|
6764
|
-
throw new Error('Failed to read draft ID');
|
|
6765
|
-
}
|
|
6766
|
-
lastMessageId = messageId;
|
|
6767
|
-
const {
|
|
6768
|
-
draftID,
|
|
6769
|
-
debugData
|
|
6770
|
-
} = await this._driver.getDraftIDForMessageID(messageId);
|
|
6771
|
-
lastDebugData = debugData;
|
|
6772
|
-
if (draftID) {
|
|
6773
|
-
return draftID;
|
|
6774
|
-
}
|
|
6466
|
+
// there may be a draft on the server, so let's find out
|
|
6467
|
+
const syncMessageId = this._getMessageIDfromForm();
|
|
6468
|
+
if (syncMessageId) {
|
|
6469
|
+
try {
|
|
6470
|
+
// If this succeeds, then the draft must exist on the server and we
|
|
6471
|
+
// can safely return the draft id we know.
|
|
6472
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6473
|
+
const gmailMessageId = await this._driver.getGmailMessageIdForSyncDraftId(syncMessageId);
|
|
6474
|
+
} catch (e) {
|
|
6475
|
+
// draft doesn't exist so we wait until it does
|
|
6476
|
+
await this._eventStream.filter(_ref8 => {
|
|
6477
|
+
let {
|
|
6478
|
+
eventName
|
|
6479
|
+
} = _ref8;
|
|
6480
|
+
return eventName === 'draftSaved';
|
|
6481
|
+
}).beforeEnd(() => null).map(() => this._getDraftIDfromForm()).take(1).toPromise();
|
|
6775
6482
|
}
|
|
6776
|
-
|
|
6777
|
-
this._driver.getLogger().error(err, {
|
|
6778
|
-
message: 'getDraftID error',
|
|
6779
|
-
removedFromDOM: !document.contains(this._element),
|
|
6780
|
-
destroyed: this._destroyed,
|
|
6781
|
-
isFullscreen: this._isFullscreen,
|
|
6782
|
-
isStandalone: this._isStandalone,
|
|
6783
|
-
emailWasSent: this._emailWasSent,
|
|
6784
|
-
i,
|
|
6785
|
-
lastDebugData
|
|
6786
|
-
});
|
|
6787
|
-
throw err;
|
|
6483
|
+
return draftID;
|
|
6788
6484
|
}
|
|
6789
6485
|
}
|
|
6790
6486
|
}
|
|
@@ -6932,7 +6628,7 @@ class GmailComposeView {
|
|
|
6932
6628
|
this._lastSelectionRange = lastSelectionRange;
|
|
6933
6629
|
}
|
|
6934
6630
|
registerRequestModifier(modifier) {
|
|
6935
|
-
const keyId = this.
|
|
6631
|
+
const keyId = this._getDraftIDfromForm();
|
|
6936
6632
|
if (!keyId) throw new Error('keyId should be set here');
|
|
6937
6633
|
const modifierId = this._driver.getPageCommunicator().registerComposeRequestModifier(keyId, this._driver.getAppId());
|
|
6938
6634
|
this._requestModifiers[modifierId] = modifier;
|
|
@@ -6945,7 +6641,7 @@ class GmailComposeView {
|
|
|
6945
6641
|
if (this._isListeningToAjaxInterceptStream) {
|
|
6946
6642
|
return;
|
|
6947
6643
|
}
|
|
6948
|
-
const keyId = this.
|
|
6644
|
+
const keyId = this._getDraftIDfromForm();
|
|
6949
6645
|
if (!keyId) throw new Error('keyId should be set here');
|
|
6950
6646
|
this._driver.getPageCommunicator().ajaxInterceptStream.filter(_ref9 => {
|
|
6951
6647
|
let {
|
|
@@ -8134,26 +7830,13 @@ class GmailThreadRowView {
|
|
|
8134
7830
|
let counts = this._counts;
|
|
8135
7831
|
if (!counts) {
|
|
8136
7832
|
const recipientsElement = (0,querySelectorOrFail/* default */.Z)(this._elements[0], 'td div.yW');
|
|
8137
|
-
|
|
8138
|
-
|
|
8139
|
-
|
|
8140
|
-
|
|
8141
|
-
|
|
8142
|
-
|
|
8143
|
-
|
|
8144
|
-
};
|
|
8145
|
-
} else {
|
|
8146
|
-
const [preDrafts, drafts] = recipientsElement.innerHTML.split(/<font color=[^>]+>[^>]+<\/font>/);
|
|
8147
|
-
const preDraftsWithoutNames = preDrafts.replace(/<span\b[^>]*>.*?<\/span>/g, '');
|
|
8148
|
-
const messageCountMatch = preDraftsWithoutNames.match(/\((\d+)\)/);
|
|
8149
|
-
const messageCount = messageCountMatch ? +messageCountMatch[1] : preDrafts ? 1 : 0;
|
|
8150
|
-
const draftCountMatch = drafts && drafts.match(/\((\d+)\)/);
|
|
8151
|
-
const draftCount = draftCountMatch ? +draftCountMatch[1] : drafts != null ? 1 : 0;
|
|
8152
|
-
counts = this._counts = {
|
|
8153
|
-
messageCount,
|
|
8154
|
-
draftCount
|
|
8155
|
-
};
|
|
8156
|
-
}
|
|
7833
|
+
const draftCount = recipientsElement.querySelectorAll('.boq').length;
|
|
7834
|
+
const messageCountMatch = recipientsElement.querySelector('.bx0');
|
|
7835
|
+
const messageCount = messageCountMatch && messageCountMatch.innerHTML ? +messageCountMatch.innerHTML : draftCount ? 0 : 1;
|
|
7836
|
+
counts = this._counts = {
|
|
7837
|
+
messageCount,
|
|
7838
|
+
draftCount
|
|
7839
|
+
};
|
|
8157
7840
|
}
|
|
8158
7841
|
return counts;
|
|
8159
7842
|
}
|
|
@@ -8662,23 +8345,19 @@ class GmailThreadRowView {
|
|
|
8662
8345
|
if (this._cachedThreadID) {
|
|
8663
8346
|
return this._cachedThreadID;
|
|
8664
8347
|
}
|
|
8665
|
-
|
|
8666
|
-
|
|
8667
|
-
|
|
8668
|
-
|
|
8669
|
-
|
|
8670
|
-
return this._cachedThreadID;
|
|
8671
|
-
} else {
|
|
8672
|
-
const threadID = this._driver.getThreadRowIdentifier().getThreadIdForThreadRow(this, this._elements);
|
|
8673
|
-
this._cachedSyncThreadID = threadID;
|
|
8674
|
-
if (threadID) {
|
|
8675
|
-
this._driver.getOldGmailThreadIdFromSyncThreadId(threadID).then(oldGmailThreadID => {
|
|
8676
|
-
this._cachedThreadID = oldGmailThreadID;
|
|
8677
|
-
});
|
|
8678
|
-
}
|
|
8679
|
-
}
|
|
8348
|
+
const elementWithId = flatten_default()(this._elements.map(el => Array.from(el.querySelectorAll('[data-thread-id][data-legacy-thread-id]')))).filter(Boolean)[0];
|
|
8349
|
+
if (elementWithId) {
|
|
8350
|
+
this._cachedSyncThreadID = elementWithId.getAttribute('data-thread-id').replace('#', '');
|
|
8351
|
+
this._cachedThreadID = elementWithId.getAttribute('data-legacy-thread-id').replace('#', '');
|
|
8352
|
+
return this._cachedThreadID;
|
|
8680
8353
|
} else {
|
|
8681
|
-
|
|
8354
|
+
const threadID = this._driver.getThreadRowIdentifier().getThreadIdForThreadRow(this, this._elements);
|
|
8355
|
+
this._cachedSyncThreadID = threadID;
|
|
8356
|
+
if (threadID) {
|
|
8357
|
+
this._driver.getOldGmailThreadIdFromSyncThreadId(threadID).then(oldGmailThreadID => {
|
|
8358
|
+
this._cachedThreadID = oldGmailThreadID;
|
|
8359
|
+
});
|
|
8360
|
+
}
|
|
8682
8361
|
}
|
|
8683
8362
|
return this._cachedThreadID;
|
|
8684
8363
|
}
|
|
@@ -8702,12 +8381,8 @@ class GmailThreadRowView {
|
|
|
8702
8381
|
}
|
|
8703
8382
|
getDraftID() {
|
|
8704
8383
|
if (this._cachedSyncDraftIDPromise) return this._cachedSyncDraftIDPromise;
|
|
8705
|
-
|
|
8706
|
-
|
|
8707
|
-
this._cachedSyncDraftIDPromise = Promise.resolve(elementWithId ? elementWithId.getAttribute('data-standalone-draft-id').replace('#msg-a:', '') : null);
|
|
8708
|
-
} else {
|
|
8709
|
-
this._cachedSyncDraftIDPromise = this._driver.getThreadRowIdentifier().getDraftIdForThreadRow(this);
|
|
8710
|
-
}
|
|
8384
|
+
const elementWithId = flatten_default()(this._elements.map(el => Array.from(el.querySelectorAll('[data-standalone-draft-id]')))).filter(Boolean)[0];
|
|
8385
|
+
this._cachedSyncDraftIDPromise = Promise.resolve(elementWithId ? elementWithId.getAttribute('data-standalone-draft-id').replace('#msg-a:', '') : null);
|
|
8711
8386
|
return this._cachedSyncDraftIDPromise;
|
|
8712
8387
|
}
|
|
8713
8388
|
getVisibleDraftCount() {
|
|
@@ -9604,57 +9279,18 @@ async function getGmailMessageIdForSyncMessageId(driver, syncMessageID) {
|
|
|
9604
9279
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9605
9280
|
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
9606
9281
|
/* harmony export */ });
|
|
9607
|
-
/* harmony import */ var
|
|
9608
|
-
/* harmony import */ var
|
|
9609
|
-
/* harmony import */ var _getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7889);
|
|
9610
|
-
/* harmony import */ var _gmailAjax__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4013);
|
|
9611
|
-
/* harmony import */ var _getAccountUrlPart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4653);
|
|
9282
|
+
/* harmony import */ var ud__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1010);
|
|
9283
|
+
/* harmony import */ var _getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7889);
|
|
9612
9284
|
/* module decorator */ module = __webpack_require__.hmd(module);
|
|
9613
9285
|
|
|
9614
9286
|
|
|
9615
|
-
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
9287
|
async function getGmailThreadIdForRfcMessageId(driver, rfcMessageId) {
|
|
9619
|
-
|
|
9620
|
-
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
return threadDescriptors[0].oldGmailThreadID;
|
|
9624
|
-
} else {
|
|
9625
|
-
return forOldAPI(driver, rfcMessageId);
|
|
9626
|
-
}
|
|
9627
|
-
}
|
|
9628
|
-
async function forOldAPI(driver, rfcMessageId) {
|
|
9629
|
-
const response = await (0,_gmailAjax__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)({
|
|
9630
|
-
method: 'POST',
|
|
9631
|
-
url: `https://mail.google.com/mail${(0,_getAccountUrlPart__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)()}/`,
|
|
9632
|
-
data: {
|
|
9633
|
-
ik: driver.getPageCommunicator().getIkValue(),
|
|
9634
|
-
at: await driver.getGmailActionToken(),
|
|
9635
|
-
ui: '2',
|
|
9636
|
-
view: 'tl',
|
|
9637
|
-
start: '0',
|
|
9638
|
-
num: '1',
|
|
9639
|
-
rt: 'c',
|
|
9640
|
-
search: 'query',
|
|
9641
|
-
q: `rfc822msgid:${rfcMessageId}`
|
|
9642
|
-
},
|
|
9643
|
-
xhrFields: {
|
|
9644
|
-
withCredentials: true
|
|
9645
|
-
},
|
|
9646
|
-
canRetry: true,
|
|
9647
|
-
headers: {
|
|
9648
|
-
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
9649
|
-
}
|
|
9650
|
-
});
|
|
9651
|
-
const threads = (0,_dom_driver_gmail_gmail_response_processor__WEBPACK_IMPORTED_MODULE_0__/* .extractThreads */ .MA)(response.text);
|
|
9652
|
-
if (threads.length !== 1) {
|
|
9653
|
-
throw new Error("Failed to find gmail thread id for rfc message id. Message may not exist in user's account.");
|
|
9654
|
-
}
|
|
9655
|
-
return threads[0].gmailThreadId;
|
|
9288
|
+
const {
|
|
9289
|
+
threads: threadDescriptors
|
|
9290
|
+
} = await (0,_getSyncThreadsForSearch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(driver, 'rfc822msgid:' + rfcMessageId);
|
|
9291
|
+
return threadDescriptors[0].oldGmailThreadID;
|
|
9656
9292
|
}
|
|
9657
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,
|
|
9293
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,ud__WEBPACK_IMPORTED_MODULE_1__.defn)(module, getGmailThreadIdForRfcMessageId));
|
|
9658
9294
|
|
|
9659
9295
|
/***/ }),
|
|
9660
9296
|
|
|
@@ -10842,7 +10478,7 @@ options.insert = htmlElement => {
|
|
|
10842
10478
|
htmlElement.setAttribute('data-inboxsdk-version',
|
|
10843
10479
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
|
|
10844
10480
|
///@ts-ignore
|
|
10845
|
-
"2.1.
|
|
10481
|
+
"2.1.12-1699623720812-466cb297eff34e1f");
|
|
10846
10482
|
document.head.append(htmlElement);
|
|
10847
10483
|
};
|
|
10848
10484
|
options.domAPI = (styleDomAPI_default());
|
|
@@ -11093,7 +10729,6 @@ function logError(err, details, context) {
|
|
|
11093
10729
|
const {
|
|
11094
10730
|
appIds,
|
|
11095
10731
|
implVersion,
|
|
11096
|
-
isUsingSyncAPI,
|
|
11097
10732
|
userEmailHash
|
|
11098
10733
|
} = context;
|
|
11099
10734
|
const loaderVersion = context.loaderVersion || version/* BUILD_VERSION */.b;
|
|
@@ -11134,7 +10769,6 @@ function logError(err, details, context) {
|
|
|
11134
10769
|
stuffToLog.push('\nExtension Id:', getExtensionId());
|
|
11135
10770
|
stuffToLog.push('\nInboxSDK Loader Version:', loaderVersion);
|
|
11136
10771
|
stuffToLog.push('\nInboxSDK Implementation Version:', implVersion);
|
|
11137
|
-
stuffToLog.push('\nIs Using Sync API:', isUsingSyncAPI);
|
|
11138
10772
|
console.error(...stuffToLog);
|
|
11139
10773
|
const report = {
|
|
11140
10774
|
message: err && err.message || err,
|
|
@@ -11148,7 +10782,6 @@ function logError(err, details, context) {
|
|
|
11148
10782
|
extensionId: getExtensionId(),
|
|
11149
10783
|
loaderVersion: loaderVersion,
|
|
11150
10784
|
implementationVersion: implVersion,
|
|
11151
|
-
isUsingSyncAPI,
|
|
11152
10785
|
origin: document.location.origin,
|
|
11153
10786
|
timestamp: Date.now() * 1000
|
|
11154
10787
|
};
|
|
@@ -11372,7 +11005,6 @@ let _extensionLoaderVersion;
|
|
|
11372
11005
|
let _extensionImplVersion;
|
|
11373
11006
|
let _extensionUserEmailHash;
|
|
11374
11007
|
let _extensionUseEventTracking = false;
|
|
11375
|
-
let _isUsingSyncAPI = undefined;
|
|
11376
11008
|
const _sessionId = getSessionId();
|
|
11377
11009
|
const _loggedDeprecatedMessages = new Set();
|
|
11378
11010
|
|
|
@@ -11433,9 +11065,6 @@ class Logger {
|
|
|
11433
11065
|
shouldTrackEverything() {
|
|
11434
11066
|
return _extensionUserEmailHash === 'ca05afe92819df590a4196c31814fdb24050e8f49d8a41613f3d6cfb5729c785';
|
|
11435
11067
|
}
|
|
11436
|
-
setIsUsingSyncAPI(isUsing) {
|
|
11437
|
-
_isUsingSyncAPI = isUsing;
|
|
11438
|
-
}
|
|
11439
11068
|
static run(cb, details) {
|
|
11440
11069
|
try {
|
|
11441
11070
|
return cb();
|
|
@@ -11679,8 +11308,7 @@ function _logError(err, details, appId, sentByApp) {
|
|
|
11679
11308
|
appIds: getAppIdsProperty(appId),
|
|
11680
11309
|
loaderVersion: _extensionLoaderVersion,
|
|
11681
11310
|
implVersion: _extensionImplVersion,
|
|
11682
|
-
userEmailHash: _extensionUserEmailHash
|
|
11683
|
-
isUsingSyncAPI: _isUsingSyncAPI
|
|
11311
|
+
userEmailHash: _extensionUserEmailHash
|
|
11684
11312
|
});
|
|
11685
11313
|
}
|
|
11686
11314
|
function makeLoggedFunction(func, name) {
|
|
@@ -11715,7 +11343,6 @@ function _trackEvent(appId, type, eventName, properties) {
|
|
|
11715
11343
|
emailHash: _extensionUserEmailHash,
|
|
11716
11344
|
loaderVersion: _extensionLoaderVersion,
|
|
11717
11345
|
implementationVersion: _extensionImplVersion,
|
|
11718
|
-
isUsingSyncAPI: _isUsingSyncAPI,
|
|
11719
11346
|
properties: properties
|
|
11720
11347
|
};
|
|
11721
11348
|
if (type != 'gmail') {
|
|
@@ -11989,7 +11616,7 @@ if (!__webpack_require__.g.__InboxSDKImpLoader) {
|
|
|
11989
11616
|
await onready;
|
|
11990
11617
|
const {
|
|
11991
11618
|
makePlatformImplementation
|
|
11992
|
-
} = await Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
11619
|
+
} = await Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 2384));
|
|
11993
11620
|
return makePlatformImplementation(appId, opts, {
|
|
11994
11621
|
piMainStarted,
|
|
11995
11622
|
piLoadStarted,
|
|
@@ -12677,7 +12304,7 @@ function _updateNavMenu(members, newRouteViewDriver) {
|
|
|
12677
12304
|
|
|
12678
12305
|
/***/ }),
|
|
12679
12306
|
|
|
12680
|
-
/***/
|
|
12307
|
+
/***/ 2384:
|
|
12681
12308
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
12682
12309
|
|
|
12683
12310
|
"use strict";
|
|
@@ -13386,40 +13013,37 @@ class GmailMessageView {
|
|
|
13386
13013
|
this._monitorEmailAddressHovering();
|
|
13387
13014
|
this._setupMoreMenuWatching();
|
|
13388
13015
|
let partialReadyStream;
|
|
13389
|
-
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
|
|
13395
|
-
|
|
13396
|
-
|
|
13397
|
-
|
|
13398
|
-
|
|
13399
|
-
|
|
13400
|
-
|
|
13401
|
-
|
|
13402
|
-
|
|
13403
|
-
|
|
13404
|
-
partialReadyStream = kefir_esm.constant(null);
|
|
13405
|
-
} else {
|
|
13406
|
-
// we have a data message id, but not the legacy message id. So now we have to poll for the gmail message id
|
|
13407
|
-
partialReadyStream = kefir_esm.fromPromise((async () => {
|
|
13408
|
-
for (let ii = 0; ii < 10; ii++) {
|
|
13409
|
-
try {
|
|
13410
|
-
const gmailMessageId = await this._driver.getGmailMessageIdForSyncMessageId(syncMessageId.replace('#', ''));
|
|
13411
|
-
// set the legacy message id attribute so subsequent calls to getMessageId find the legacy message id in the dom
|
|
13412
|
-
messageIdElement.setAttribute('data-legacy-message-id', gmailMessageId);
|
|
13413
|
-
return null;
|
|
13414
|
-
} catch (e) {
|
|
13415
|
-
await new Promise(resolve => setTimeout(resolve, ii * 200));
|
|
13416
|
-
}
|
|
13417
|
-
}
|
|
13418
|
-
throw new Error('gmail message id never became available');
|
|
13419
|
-
})());
|
|
13420
|
-
}
|
|
13421
|
-
} else {
|
|
13016
|
+
|
|
13017
|
+
// handle the case that the data-message-id is available, but the data-legacy-message-id is not
|
|
13018
|
+
// this happens when you're looking at a thread, and then you reply to a message, the message id is generated
|
|
13019
|
+
// client side, so the new message added (from your reply) shows up in the UI right away and has a data-message-id but
|
|
13020
|
+
// because it hasn't been synced to the server it does not have a data-legacy-messag-id
|
|
13021
|
+
// so we wait until the message has been synced to the server before saying this is ready
|
|
13022
|
+
const messageIdElement = this._element.querySelector('[data-message-id]');
|
|
13023
|
+
if (messageIdElement) {
|
|
13024
|
+
const syncMessageId = messageIdElement.getAttribute('data-message-id');
|
|
13025
|
+
if (!syncMessageId) throw new Error('data-message-id attribute has no value');
|
|
13026
|
+
|
|
13027
|
+
// Only respect data-legacy-message-id if data-message-id is not the id
|
|
13028
|
+
// of a draft we've seen recently, in order to work around a Gmail bug.
|
|
13029
|
+
// https://github.com/StreakYC/GmailSDK/issues/515#issuecomment-457420619
|
|
13030
|
+
if (messageIdElement.hasAttribute('data-legacy-message-id') && !this._driver.isRecentSyncDraftId(syncMessageId.replace('#', ''))) {
|
|
13422
13031
|
partialReadyStream = kefir_esm.constant(null);
|
|
13032
|
+
} else {
|
|
13033
|
+
// we have a data message id, but not the legacy message id. So now we have to poll for the gmail message id
|
|
13034
|
+
partialReadyStream = kefir_esm.fromPromise((async () => {
|
|
13035
|
+
for (let ii = 0; ii < 10; ii++) {
|
|
13036
|
+
try {
|
|
13037
|
+
const gmailMessageId = await this._driver.getGmailMessageIdForSyncMessageId(syncMessageId.replace('#', ''));
|
|
13038
|
+
// set the legacy message id attribute so subsequent calls to getMessageId find the legacy message id in the dom
|
|
13039
|
+
messageIdElement.setAttribute('data-legacy-message-id', gmailMessageId);
|
|
13040
|
+
return null;
|
|
13041
|
+
} catch (e) {
|
|
13042
|
+
await new Promise(resolve => setTimeout(resolve, ii * 200));
|
|
13043
|
+
}
|
|
13044
|
+
}
|
|
13045
|
+
throw new Error('gmail message id never became available');
|
|
13046
|
+
})());
|
|
13423
13047
|
}
|
|
13424
13048
|
} else {
|
|
13425
13049
|
partialReadyStream = kefir_esm.constant(null);
|
|
@@ -13498,23 +13122,13 @@ class GmailMessageView {
|
|
|
13498
13122
|
async getRecipientsFull() {
|
|
13499
13123
|
let recipients = this._recipientsFull;
|
|
13500
13124
|
if (recipients) return recipients;
|
|
13501
|
-
|
|
13502
|
-
|
|
13503
|
-
|
|
13504
|
-
|
|
13505
|
-
|
|
13506
|
-
threadID
|
|
13507
|
-
});
|
|
13508
|
-
recipients = this._recipientsFull = this.getRecipients();
|
|
13509
|
-
}
|
|
13510
|
-
} else {
|
|
13511
|
-
const receipientSpans = Array.from(this._element.querySelectorAll('.hb span[email]'));
|
|
13512
|
-
recipients = this._recipientsFull = receipientSpans.map(span => {
|
|
13513
|
-
return this._getUpdatedContact({
|
|
13514
|
-
name: span.getAttribute('name'),
|
|
13515
|
-
emailAddress: span.getAttribute('email') || ''
|
|
13516
|
-
});
|
|
13125
|
+
const threadID = this._threadViewDriver.getInternalID();
|
|
13126
|
+
recipients = this._recipientsFull = await this._driver.getPageCommunicator().getMessageRecipients(threadID, this._element);
|
|
13127
|
+
if (!recipients) {
|
|
13128
|
+
this._driver.getLogger().error(new Error('Failed to find message recipients from response'), {
|
|
13129
|
+
threadID
|
|
13517
13130
|
});
|
|
13131
|
+
recipients = this._recipientsFull = this.getRecipients();
|
|
13518
13132
|
}
|
|
13519
13133
|
return recipients;
|
|
13520
13134
|
}
|
|
@@ -14778,7 +14392,7 @@ class GmailThreadView {
|
|
|
14778
14392
|
return kefir_esm.constant(null);
|
|
14779
14393
|
}).toProperty();
|
|
14780
14394
|
let combinedReadyStream;
|
|
14781
|
-
if (driver.getOpts().REQUESTED_API_VERSION === 1
|
|
14395
|
+
if (driver.getOpts().REQUESTED_API_VERSION === 1) {
|
|
14782
14396
|
combinedReadyStream = kefir_esm.combine([waitForSidebarReady, kefir_esm.fromPromise(this.getThreadIDAsync())]);
|
|
14783
14397
|
} else {
|
|
14784
14398
|
combinedReadyStream = waitForSidebarReady;
|
|
@@ -15019,19 +14633,17 @@ class GmailThreadView {
|
|
|
15019
14633
|
getThreadID() {
|
|
15020
14634
|
if (this._threadID) return this._threadID;
|
|
15021
14635
|
let threadID;
|
|
15022
|
-
|
|
15023
|
-
|
|
15024
|
-
|
|
15025
|
-
|
|
15026
|
-
|
|
15027
|
-
|
|
15028
|
-
|
|
15029
|
-
|
|
15030
|
-
|
|
15031
|
-
|
|
15032
|
-
|
|
15033
|
-
// probably an okay choice.
|
|
15034
|
-
}
|
|
14636
|
+
const idElement = this._element.querySelector('[data-thread-perm-id]');
|
|
14637
|
+
if (!idElement) throw new Error('threadID element not found');
|
|
14638
|
+
const syncThreadID = this._syncThreadID = idElement.getAttribute('data-thread-perm-id');
|
|
14639
|
+
if (!syncThreadID) throw new Error('syncThreadID attribute with no value');
|
|
14640
|
+
threadID = idElement.getAttribute('data-legacy-thread-id');
|
|
14641
|
+
if (!threadID) {
|
|
14642
|
+
const err = new Error('Failed to get id for thread: data-legacy-thread-id attribute missing');
|
|
14643
|
+
this._driver.getLogger().error(err); // throw err;
|
|
14644
|
+
// Fall back to old behavior instead of throwing. Probably not super sensible, but
|
|
14645
|
+
// this is a deprecated method and preserving the current behavior is
|
|
14646
|
+
// probably an okay choice.
|
|
15035
14647
|
}
|
|
15036
14648
|
|
|
15037
14649
|
if (!threadID) {
|
|
@@ -15053,29 +14665,13 @@ class GmailThreadView {
|
|
|
15053
14665
|
}
|
|
15054
14666
|
async getThreadIDAsync() {
|
|
15055
14667
|
let threadID;
|
|
15056
|
-
|
|
15057
|
-
|
|
15058
|
-
|
|
15059
|
-
|
|
15060
|
-
|
|
15061
|
-
|
|
15062
|
-
|
|
15063
|
-
this._threadID = threadID = await this._driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
|
|
15064
|
-
}
|
|
15065
|
-
} else {
|
|
15066
|
-
if (this._isPreviewedThread) {
|
|
15067
|
-
threadID = this._driver.getPageCommunicator().getCurrentThreadID(this._element, true);
|
|
15068
|
-
} else {
|
|
15069
|
-
const params = this._routeViewDriver ? this._routeViewDriver.getParams() : null;
|
|
15070
|
-
if (params && params.threadID) {
|
|
15071
|
-
threadID = params.threadID;
|
|
15072
|
-
} else {
|
|
15073
|
-
const err = new Error('Failed to get id for thread');
|
|
15074
|
-
this._driver.getLogger().error(err);
|
|
15075
|
-
throw err;
|
|
15076
|
-
}
|
|
15077
|
-
}
|
|
15078
|
-
this._threadID = threadID;
|
|
14668
|
+
const idElement = this._element.querySelector('[data-thread-perm-id]');
|
|
14669
|
+
if (!idElement) throw new Error('threadID element not found');
|
|
14670
|
+
const syncThreadID = this._syncThreadID = idElement.getAttribute('data-thread-perm-id');
|
|
14671
|
+
if (!syncThreadID) throw new Error('syncThreadID attribute with no value');
|
|
14672
|
+
this._threadID = threadID = idElement.getAttribute('data-legacy-thread-id');
|
|
14673
|
+
if (!threadID) {
|
|
14674
|
+
this._threadID = threadID = await this._driver.getOldGmailThreadIdFromSyncThreadId(syncThreadID);
|
|
15079
14675
|
}
|
|
15080
14676
|
if (this._threadID) return this._threadID;else throw new Error('Failed to get id for thread');
|
|
15081
14677
|
}
|
|
@@ -18601,14 +18197,26 @@ function showAppIdWarning(driver) {
|
|
|
18601
18197
|
}
|
|
18602
18198
|
// EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/makePageParserTree.ts + 1 modules
|
|
18603
18199
|
var makePageParserTree = __webpack_require__(6107);
|
|
18604
|
-
;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/
|
|
18200
|
+
;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/dom/custom-events.ts
|
|
18201
|
+
var CustomDomEvent = {
|
|
18202
|
+
tellMeThisThreadIdByDatabase: "inboxSDKtellMeThisThreadIdByDatabase",
|
|
18203
|
+
tellMeThisThreadIdByClick: "inboxSDKtellMeThisThreadIdByClick"
|
|
18204
|
+
};
|
|
18205
|
+
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.ts
|
|
18206
|
+
|
|
18605
18207
|
|
|
18606
18208
|
|
|
18607
18209
|
|
|
18608
18210
|
|
|
18609
|
-
|
|
18211
|
+
|
|
18212
|
+
|
|
18213
|
+
// This is intended to be instantiated from makeXhrInterceptor, since it depends
|
|
18214
|
+
// on the injected script, and if it's not instantiated elsewhere, you know that
|
|
18215
|
+
// if you have an instance of this, then the injected script is present and this
|
|
18216
|
+
// will work.
|
|
18217
|
+
class GmailPageCommunicator {
|
|
18610
18218
|
constructor() {
|
|
18611
|
-
this.ajaxInterceptStream = kefir_esm.fromEvents(document, 'inboxSDKajaxIntercept').map(x => x.detail);
|
|
18219
|
+
this.ajaxInterceptStream = kefir_esm["default"].fromEvents(document, 'inboxSDKajaxIntercept').map(x => x.detail);
|
|
18612
18220
|
}
|
|
18613
18221
|
getUserEmailAddress() {
|
|
18614
18222
|
const s = document.head.getAttribute('data-inboxsdk-user-email-address');
|
|
@@ -18636,9 +18244,6 @@ class CommonPageCommunicator {
|
|
|
18636
18244
|
}
|
|
18637
18245
|
throw new Error("Failed to look up 'ik' value");
|
|
18638
18246
|
}
|
|
18639
|
-
isUsingSyncAPI() {
|
|
18640
|
-
return false;
|
|
18641
|
-
}
|
|
18642
18247
|
async getXsrfToken() {
|
|
18643
18248
|
const existingHeader = document.head.getAttribute('data-inboxsdk-xsrf-token');
|
|
18644
18249
|
if (existingHeader) {
|
|
@@ -18679,7 +18284,7 @@ class CommonPageCommunicator {
|
|
|
18679
18284
|
}
|
|
18680
18285
|
pageAjax(opts) {
|
|
18681
18286
|
const id = `${Date.now()}-${Math.random()}`;
|
|
18682
|
-
const promise = kefir_esm.fromEvents(document, 'inboxSDKpageAjaxDone').filter(event => event.detail && event.detail.id === id).take(1).flatMap(event => {
|
|
18287
|
+
const promise = kefir_esm["default"].fromEvents(document, 'inboxSDKpageAjaxDone').filter(event => event.detail && event.detail.id === id).take(1).flatMap(event => {
|
|
18683
18288
|
if (event.detail.error) {
|
|
18684
18289
|
const err = Object.assign(new Error(event.detail.message || 'Connection error'), {
|
|
18685
18290
|
status: event.detail.status
|
|
@@ -18687,9 +18292,9 @@ class CommonPageCommunicator {
|
|
|
18687
18292
|
if (event.detail.stack) {
|
|
18688
18293
|
err.stack = event.detail.stack;
|
|
18689
18294
|
}
|
|
18690
|
-
return kefir_esm.constantError(err);
|
|
18295
|
+
return kefir_esm["default"].constantError(err);
|
|
18691
18296
|
} else {
|
|
18692
|
-
return kefir_esm.constant({
|
|
18297
|
+
return kefir_esm["default"].constant({
|
|
18693
18298
|
text: event.detail.text,
|
|
18694
18299
|
responseURL: event.detail.responseURL
|
|
18695
18300
|
});
|
|
@@ -18738,23 +18343,6 @@ class CommonPageCommunicator {
|
|
|
18738
18343
|
}
|
|
18739
18344
|
}));
|
|
18740
18345
|
}
|
|
18741
|
-
}
|
|
18742
|
-
;// CONCATENATED MODULE: ./src/platform-implementation-js/lib/dom/custom-events.ts
|
|
18743
|
-
var CustomDomEvent = {
|
|
18744
|
-
tellMeThisThreadIdByDatabase: "inboxSDKtellMeThisThreadIdByDatabase",
|
|
18745
|
-
tellMeThisThreadIdByClick: "inboxSDKtellMeThisThreadIdByClick"
|
|
18746
|
-
};
|
|
18747
|
-
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.ts
|
|
18748
|
-
|
|
18749
|
-
|
|
18750
|
-
|
|
18751
|
-
|
|
18752
|
-
|
|
18753
|
-
// This is intended to be instantiated from makeXhrInterceptor, since it depends
|
|
18754
|
-
// on the injected script, and if it's not instantiated elsewhere, you know that
|
|
18755
|
-
// if you have an instance of this, then the injected script is present and this
|
|
18756
|
-
// will work.
|
|
18757
|
-
class GmailPageCommunicator extends CommonPageCommunicator {
|
|
18758
18346
|
async getMessageDate(threadId, message) {
|
|
18759
18347
|
return this._getMessageData(threadId, message, 'data-inboxsdk-sortdate', 'inboxSDKtellMeThisMessageDate');
|
|
18760
18348
|
}
|
|
@@ -18764,7 +18352,7 @@ class GmailPageCommunicator extends CommonPageCommunicator {
|
|
|
18764
18352
|
async _getMessageData(threadId, message, attribute, eventName) {
|
|
18765
18353
|
let data = message.getAttribute(attribute);
|
|
18766
18354
|
if (!data) {
|
|
18767
|
-
const [btaiHeader, xsrfToken] =
|
|
18355
|
+
const [btaiHeader, xsrfToken] = await Promise.all([this.getBtaiHeader(), this.getXsrfToken()]);
|
|
18768
18356
|
message.dispatchEvent(new CustomEvent(eventName, {
|
|
18769
18357
|
bubbles: true,
|
|
18770
18358
|
cancelable: false,
|
|
@@ -18831,11 +18419,6 @@ class GmailPageCommunicator extends CommonPageCommunicator {
|
|
|
18831
18419
|
if (s == null) throw new Error('Failed to read value');
|
|
18832
18420
|
return s;
|
|
18833
18421
|
}
|
|
18834
|
-
isUsingSyncAPI() {
|
|
18835
|
-
const s = document.head.getAttribute('data-inboxsdk-using-sync-api');
|
|
18836
|
-
if (s == null) throw new Error('Failed to read value');
|
|
18837
|
-
return s === 'true';
|
|
18838
|
-
}
|
|
18839
18422
|
isConversationViewDisabled() {
|
|
18840
18423
|
return new Promise(resolve => {
|
|
18841
18424
|
kefir_esm["default"].fromEvents(document, 'inboxSDKgmonkeyResponse').take(1).onValue(event => {
|
|
@@ -18932,11 +18515,7 @@ class GmailPageCommunicator extends CommonPageCommunicator {
|
|
|
18932
18515
|
const detail = {
|
|
18933
18516
|
modifierId
|
|
18934
18517
|
};
|
|
18935
|
-
|
|
18936
|
-
detail.draftID = keyId;
|
|
18937
|
-
} else {
|
|
18938
|
-
detail.composeid = keyId;
|
|
18939
|
-
}
|
|
18518
|
+
detail.draftID = keyId;
|
|
18940
18519
|
document.dispatchEvent(new CustomEvent('inboxSDKregisterComposeRequestModifier', {
|
|
18941
18520
|
detail,
|
|
18942
18521
|
bubbles: false,
|
|
@@ -18957,9 +18536,9 @@ class GmailPageCommunicator extends CommonPageCommunicator {
|
|
|
18957
18536
|
modifyComposeRequest(keyId, modifierId, composeParams) {
|
|
18958
18537
|
const detail = {
|
|
18959
18538
|
modifierId,
|
|
18960
|
-
composeParams
|
|
18539
|
+
composeParams,
|
|
18540
|
+
draftID: keyId
|
|
18961
18541
|
};
|
|
18962
|
-
if (this.isUsingSyncAPI()) detail.draftID = keyId;else detail.composeid = keyId;
|
|
18963
18542
|
document.dispatchEvent(new CustomEvent('inboxSDKcomposeRequestModified', {
|
|
18964
18543
|
detail,
|
|
18965
18544
|
bubbles: false,
|
|
@@ -19415,7 +18994,7 @@ options.insert = htmlElement => {
|
|
|
19415
18994
|
htmlElement.setAttribute('data-inboxsdk-version',
|
|
19416
18995
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
|
|
19417
18996
|
///@ts-ignore
|
|
19418
|
-
"2.1.
|
|
18997
|
+
"2.1.12-1699623720812-466cb297eff34e1f");
|
|
19419
18998
|
document.head.append(htmlElement);
|
|
19420
18999
|
};
|
|
19421
19000
|
options.domAPI = (styleDomAPI_default());
|
|
@@ -19440,10 +19019,11 @@ var update = injectStylesIntoStyleTag_default()(mole_view_module/* default */.ZP
|
|
|
19440
19019
|
|
|
19441
19020
|
|
|
19442
19021
|
|
|
19443
|
-
|
|
19444
19022
|
const gmail_mole_view_driver_INBOXSDK_CLASS = 'inboxsdk__mole_view';
|
|
19445
19023
|
class GmailMoleViewDriver {
|
|
19446
19024
|
static #page;
|
|
19025
|
+
static #moleParentReadyEvent = kefir_bus_default()();
|
|
19026
|
+
static #moleParent;
|
|
19447
19027
|
static #_ = (() => {
|
|
19448
19028
|
this.#page = new (page_parser_tree_js_default())(document, {
|
|
19449
19029
|
logError(err, el) {
|
|
@@ -19475,7 +19055,7 @@ class GmailMoleViewDriver {
|
|
|
19475
19055
|
["moleParent"]: {
|
|
19476
19056
|
fn: root => [root.querySelector(".dw .nH > .nH > .no")].filter(isNotNil/* default */.Z),
|
|
19477
19057
|
interval(elementCount, timeRunning) {
|
|
19478
|
-
return timeRunning <=
|
|
19058
|
+
return timeRunning <= 15_000 && elementCount === 0 ? 100 : 5_000;
|
|
19479
19059
|
}
|
|
19480
19060
|
},
|
|
19481
19061
|
["mole"]: {
|
|
@@ -19491,6 +19071,20 @@ class GmailMoleViewDriver {
|
|
|
19491
19071
|
}
|
|
19492
19072
|
}
|
|
19493
19073
|
});
|
|
19074
|
+
const moleParent = this.#page.tree.getAllByTag("moleParent");
|
|
19075
|
+
const moleParentLiveSet = moleParent.subscribe(changes => {
|
|
19076
|
+
for (const change of changes) {
|
|
19077
|
+
switch (change.type) {
|
|
19078
|
+
case 'add':
|
|
19079
|
+
{
|
|
19080
|
+
const el = change.value.getValue();
|
|
19081
|
+
this.#moleParent = el;
|
|
19082
|
+
this.#moleParentReadyEvent.emit(el);
|
|
19083
|
+
moleParentLiveSet.unsubscribe();
|
|
19084
|
+
}
|
|
19085
|
+
}
|
|
19086
|
+
}
|
|
19087
|
+
});
|
|
19494
19088
|
const moles = this.#page.tree.getAllByTag("mole");
|
|
19495
19089
|
moles.subscribe(changes => {
|
|
19496
19090
|
for (const change of changes) {
|
|
@@ -19578,47 +19172,54 @@ class GmailMoleViewDriver {
|
|
|
19578
19172
|
event.stopPropagation();
|
|
19579
19173
|
titleButton.onClick.call(null);
|
|
19580
19174
|
});
|
|
19581
|
-
|
|
19175
|
+
if (titleButton.iconUrl) {
|
|
19176
|
+
img.src = titleButton.iconUrl;
|
|
19177
|
+
}
|
|
19582
19178
|
titleButtonContainer.insertBefore(img, lastChild);
|
|
19583
19179
|
});
|
|
19584
19180
|
}
|
|
19585
19181
|
}
|
|
19586
19182
|
(0,querySelectorOrFail/* default */.Z)(this.#element, '.inboxsdk__mole_view_content').appendChild(options.el);
|
|
19587
19183
|
}
|
|
19184
|
+
#doShow = moleParent => {
|
|
19185
|
+
const insertBefore = moleParent.lastElementChild;
|
|
19186
|
+
if (insertBefore instanceof HTMLElement) {
|
|
19187
|
+
moleParent.insertBefore(this.#element, insertBefore);
|
|
19188
|
+
} else {
|
|
19189
|
+
this.#driver.logger.error(new Error('Mole show invariant violated. `lastMole` is not an HTMLElement'));
|
|
19190
|
+
return;
|
|
19191
|
+
}
|
|
19192
|
+
const dw = moleParent.closest('div.dw');
|
|
19193
|
+
if (dw) {
|
|
19194
|
+
dw.classList.add('inboxsdk__moles_in_use', mole_view_module/* inboxsdkMolesInUse */.Yy);
|
|
19195
|
+
}
|
|
19196
|
+
};
|
|
19588
19197
|
show() {
|
|
19589
|
-
const
|
|
19590
|
-
const insertBefore = moleParent.lastElementChild;
|
|
19591
|
-
if (insertBefore instanceof HTMLElement) {
|
|
19592
|
-
moleParent.insertBefore(this.#element, insertBefore);
|
|
19593
|
-
} else {
|
|
19594
|
-
this.#driver.logger.error(new Error('Mole show invariant violated. `lastMole` is not an HTMLElement'));
|
|
19595
|
-
return;
|
|
19596
|
-
}
|
|
19597
|
-
const dw = moleParent.closest('div.dw');
|
|
19598
|
-
if (dw) {
|
|
19599
|
-
dw.classList.add('inboxsdk__moles_in_use', mole_view_module/* inboxsdkMolesInUse */.Yy);
|
|
19600
|
-
}
|
|
19601
|
-
};
|
|
19602
|
-
const moleParent = gmail_element_getter/* default.getMoleParent */.Z.getMoleParent();
|
|
19198
|
+
const moleParent = GmailMoleViewDriver.#moleParent;
|
|
19603
19199
|
if (moleParent) {
|
|
19604
|
-
doShow(moleParent);
|
|
19605
|
-
|
|
19606
|
-
const moleParentReadyEvent = (0,stream_wait_for/* default */.Z)(() => gmail_element_getter/* default.getMoleParent */.Z.getMoleParent()).takeUntilBy(this.#stopper).onValue(doShow);
|
|
19607
|
-
// For some users, the mole parent element seems to be lazily loaded by
|
|
19608
|
-
// Gmail only once the user has used a compose view or a thread view.
|
|
19609
|
-
// If the gmail mode has settled, we've been loaded for 10 seconds, and
|
|
19610
|
-
// we don't have the mole parent yet, then force the mole parent to load
|
|
19611
|
-
// by opening a compose view and then closing it.
|
|
19612
|
-
kefir_esm.fromPromise(gmail_element_getter/* default.waitForGmailModeToSettle */.Z.waitForGmailModeToSettle()).flatMap(() => {
|
|
19613
|
-
// delay until we've passed TimestampOnReady + 10 seconds
|
|
19614
|
-
return this.#driver.delayToTimeAfterReady(10 * 1000);
|
|
19615
|
-
}).takeUntilBy(moleParentReadyEvent).takeUntilBy(this.#stopper).onValue(() => {
|
|
19616
|
-
this.#driver.getLogger().eventSdkActive('mole parent force load');
|
|
19617
|
-
this.#driver.openNewComposeViewDriver().then(gmailComposeView => {
|
|
19618
|
-
gmailComposeView.close();
|
|
19619
|
-
});
|
|
19620
|
-
});
|
|
19200
|
+
this.#doShow(moleParent);
|
|
19201
|
+
return;
|
|
19621
19202
|
}
|
|
19203
|
+
const moleParentReadyEvent = GmailMoleViewDriver.#moleParentReadyEvent.takeUntilBy(this.#stopper).onValue(this.#doShow);
|
|
19204
|
+
|
|
19205
|
+
// The mole parent element is lazily loaded by
|
|
19206
|
+
// Gmail only once the user has used a compose view or a thread view.
|
|
19207
|
+
// If the gmail mode has settled, we've been loaded for 10 seconds, and
|
|
19208
|
+
// we don't have the mole parent yet, then force the mole parent to load
|
|
19209
|
+
// by opening a compose view and then closing it.
|
|
19210
|
+
kefir_esm.fromPromise(gmail_element_getter/* default.waitForGmailModeToSettle */.Z.waitForGmailModeToSettle()).flatMap(() => {
|
|
19211
|
+
// delay until we've passed TimestampOnReady + 5 seconds
|
|
19212
|
+
return this.#driver.delayToTimeAfterReady(5_000);
|
|
19213
|
+
}).takeUntilBy(moleParentReadyEvent).takeUntilBy(this.#stopper).onValue(async () => {
|
|
19214
|
+
this.#driver.getLogger().eventSdkActive('mole parent force load');
|
|
19215
|
+
try {
|
|
19216
|
+
document.body.classList.add(mole_view_module/* hideComposes */.Pn);
|
|
19217
|
+
const gmailComposeView = await this.#driver.openNewComposeViewDriver();
|
|
19218
|
+
gmailComposeView.discard();
|
|
19219
|
+
} finally {
|
|
19220
|
+
document.body.classList.remove(mole_view_module/* hideComposes */.Pn);
|
|
19221
|
+
}
|
|
19222
|
+
});
|
|
19622
19223
|
}
|
|
19623
19224
|
|
|
19624
19225
|
/**
|
|
@@ -20264,8 +19865,14 @@ function encodeDraftUrlId(syncThreadId, syncMessageId) {
|
|
|
20264
19865
|
}
|
|
20265
19866
|
// EXTERNAL MODULE: ./src/platform-implementation-js/driver-common/getOriginalMessagePage.ts
|
|
20266
19867
|
var getOriginalMessagePage = __webpack_require__(8102);
|
|
20267
|
-
|
|
20268
|
-
|
|
19868
|
+
;// CONCATENATED MODULE: ./src/common/html-to-text.ts
|
|
19869
|
+
// Quick function for converting HTML with entities into text without
|
|
19870
|
+
// introducing an XSS vulnerability.
|
|
19871
|
+
function htmlToText(html) {
|
|
19872
|
+
const div = document.createElement('div');
|
|
19873
|
+
div.innerHTML = html.replace(/<[^>]*>?/g, '');
|
|
19874
|
+
return div.textContent;
|
|
19875
|
+
}
|
|
20269
19876
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.ts
|
|
20270
19877
|
|
|
20271
19878
|
|
|
@@ -20277,7 +19884,7 @@ async function getRfcMessageIdForGmailMessageId(driver, gmailMessageId) {
|
|
|
20277
19884
|
if (!match) {
|
|
20278
19885
|
throw new Error("Failed to find rfc id for gmail thread id. Message may not exist in user's account.");
|
|
20279
19886
|
}
|
|
20280
|
-
return (
|
|
19887
|
+
return htmlToText(match[1]);
|
|
20281
19888
|
}
|
|
20282
19889
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.ts
|
|
20283
19890
|
|
|
@@ -20285,39 +19892,34 @@ async function getRfcMessageIdForGmailMessageId(driver, gmailMessageId) {
|
|
|
20285
19892
|
|
|
20286
19893
|
|
|
20287
19894
|
async function openDraftByMessageID(driver, messageID) {
|
|
20288
|
-
|
|
20289
|
-
|
|
20290
|
-
|
|
20291
|
-
|
|
20292
|
-
|
|
20293
|
-
|
|
20294
|
-
|
|
20295
|
-
|
|
20296
|
-
|
|
20297
|
-
|
|
20298
|
-
|
|
20299
|
-
if (!syncMessageData) {
|
|
20300
|
-
throw new Error('Failed to find syncMessageData');
|
|
20301
|
-
}
|
|
20302
|
-
const {
|
|
20303
|
-
syncMessageID
|
|
20304
|
-
} = syncMessageData;
|
|
20305
|
-
newHash = makeNewSyncHash(window.location.hash, thread.syncThreadID, syncMessageID);
|
|
20306
|
-
} else {
|
|
20307
|
-
newHash = makeNewHash(window.location.hash, messageID);
|
|
19895
|
+
const rfcMessageID = await getRfcMessageIdForGmailMessageId(driver, messageID);
|
|
19896
|
+
const {
|
|
19897
|
+
threads
|
|
19898
|
+
} = await (0,getSyncThreadsForSearch/* default */.Z)(driver, 'rfc822msgid:' + rfcMessageID);
|
|
19899
|
+
if (threads.length === 0) {
|
|
19900
|
+
throw new Error('Failed to get sync message id');
|
|
19901
|
+
}
|
|
19902
|
+
const thread = threads[0];
|
|
19903
|
+
const syncMessageData = thread.extraMetaData.syncMessageData.find(m => m.oldMessageID === messageID);
|
|
19904
|
+
if (!syncMessageData) {
|
|
19905
|
+
throw new Error('Failed to find syncMessageData');
|
|
20308
19906
|
}
|
|
19907
|
+
const {
|
|
19908
|
+
syncMessageID
|
|
19909
|
+
} = syncMessageData;
|
|
19910
|
+
const newHash = makeNewSyncHash(window.location.hash, thread.syncThreadID, syncMessageID);
|
|
20309
19911
|
window.location.hash = newHash;
|
|
20310
19912
|
}
|
|
20311
19913
|
function makeNewHash(oldHash, messageID) {
|
|
20312
19914
|
oldHash = '#' + oldHash.replace(/^#/, '');
|
|
20313
19915
|
const [pre, query] = oldHash.split('?');
|
|
20314
|
-
const params =
|
|
19916
|
+
const params = qs.parse(query);
|
|
20315
19917
|
if (params.compose) {
|
|
20316
19918
|
params.compose += ',' + messageID;
|
|
20317
19919
|
} else {
|
|
20318
19920
|
params.compose = messageID;
|
|
20319
19921
|
}
|
|
20320
|
-
return pre + '?' +
|
|
19922
|
+
return pre + '?' + qs.stringify(params);
|
|
20321
19923
|
}
|
|
20322
19924
|
function makeNewSyncHash(oldHash, syncThreadID, syncMessageID) {
|
|
20323
19925
|
oldHash = '#' + oldHash.replace(/^#/, '');
|
|
@@ -21703,7 +21305,6 @@ var immutability_helper_default = /*#__PURE__*/__webpack_require__.n(immutabilit
|
|
|
21703
21305
|
|
|
21704
21306
|
|
|
21705
21307
|
|
|
21706
|
-
|
|
21707
21308
|
const threadListHandlersToSearchStrings = new Map();
|
|
21708
21309
|
const MAX_THREADS_PER_PAGE = 50;
|
|
21709
21310
|
|
|
@@ -21900,97 +21501,83 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
|
|
|
21900
21501
|
// order that user passed in
|
|
21901
21502
|
let newResponse;
|
|
21902
21503
|
try {
|
|
21903
|
-
|
|
21904
|
-
|
|
21905
|
-
|
|
21906
|
-
|
|
21907
|
-
|
|
21908
|
-
|
|
21909
|
-
|
|
21910
|
-
|
|
21911
|
-
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21915
|
-
|
|
21916
|
-
|
|
21917
|
-
|
|
21918
|
-
|
|
21504
|
+
const extractedThreads = gmail_sync_response_processor/* extractThreadsFromSearchResponse */.OL(response);
|
|
21505
|
+
const extractedThreadsInCompletedIDPairsOrder = completedIDPairs.map(_ref3 => {
|
|
21506
|
+
let {
|
|
21507
|
+
gtid
|
|
21508
|
+
} = _ref3;
|
|
21509
|
+
return find_default()(extractedThreads, t => t.oldGmailThreadID === gtid);
|
|
21510
|
+
}).filter(Boolean);
|
|
21511
|
+
const doesNeedReorder = extractedThreads.length !== extractedThreadsInCompletedIDPairsOrder.length || extractedThreads.some((extractedThread, index) => extractedThread !== extractedThreadsInCompletedIDPairsOrder[index]);
|
|
21512
|
+
let reorderedThreads;
|
|
21513
|
+
if (doesNeedReorder) {
|
|
21514
|
+
const now = Date.now();
|
|
21515
|
+
reorderedThreads = extractedThreadsInCompletedIDPairsOrder.map((extractedThread, index) => {
|
|
21516
|
+
const newFormat = Array.isArray(extractedThread.rawResponse);
|
|
21517
|
+
const newTime = String(now - index);
|
|
21518
|
+
let newThread = immutability_helper_default()(extractedThread, {
|
|
21519
|
+
rawResponse: newFormat ? {
|
|
21520
|
+
'0': {
|
|
21521
|
+
'2': {
|
|
21522
|
+
$set: newTime
|
|
21523
|
+
},
|
|
21524
|
+
'7': {
|
|
21525
|
+
$set: newTime
|
|
21526
|
+
}
|
|
21527
|
+
}
|
|
21528
|
+
} : {
|
|
21529
|
+
'1': {
|
|
21530
|
+
'3': {
|
|
21531
|
+
$set: newTime
|
|
21532
|
+
},
|
|
21533
|
+
'8': {
|
|
21534
|
+
$set: newTime
|
|
21535
|
+
}
|
|
21536
|
+
}
|
|
21537
|
+
}
|
|
21538
|
+
});
|
|
21539
|
+
if (newFormat ? extractedThread.rawResponse[0][4] : extractedThread.rawResponse[1][5]) {
|
|
21540
|
+
newThread = immutability_helper_default()(newThread, {
|
|
21919
21541
|
rawResponse: newFormat ? {
|
|
21920
21542
|
'0': {
|
|
21921
|
-
'
|
|
21922
|
-
|
|
21923
|
-
|
|
21924
|
-
|
|
21925
|
-
|
|
21926
|
-
|
|
21543
|
+
'4': oldVal => oldVal.map(md => immutability_helper_default()(md, {
|
|
21544
|
+
'6': {
|
|
21545
|
+
$set: newTime
|
|
21546
|
+
},
|
|
21547
|
+
'17': {
|
|
21548
|
+
$set: newTime
|
|
21549
|
+
},
|
|
21550
|
+
'30': {
|
|
21551
|
+
$set: newTime
|
|
21552
|
+
}
|
|
21553
|
+
}))
|
|
21927
21554
|
}
|
|
21928
21555
|
} : {
|
|
21929
21556
|
'1': {
|
|
21930
|
-
'
|
|
21931
|
-
|
|
21932
|
-
|
|
21933
|
-
|
|
21934
|
-
|
|
21935
|
-
|
|
21557
|
+
'5': oldVal => oldVal.map(md => immutability_helper_default()(md, {
|
|
21558
|
+
'7': {
|
|
21559
|
+
$set: newTime
|
|
21560
|
+
},
|
|
21561
|
+
'18': {
|
|
21562
|
+
$set: newTime
|
|
21563
|
+
},
|
|
21564
|
+
'31': {
|
|
21565
|
+
$set: newTime
|
|
21566
|
+
}
|
|
21567
|
+
}))
|
|
21936
21568
|
}
|
|
21937
21569
|
}
|
|
21938
21570
|
});
|
|
21939
|
-
|
|
21940
|
-
|
|
21941
|
-
rawResponse: newFormat ? {
|
|
21942
|
-
'0': {
|
|
21943
|
-
'4': oldVal => oldVal.map(md => immutability_helper_default()(md, {
|
|
21944
|
-
'6': {
|
|
21945
|
-
$set: newTime
|
|
21946
|
-
},
|
|
21947
|
-
'17': {
|
|
21948
|
-
$set: newTime
|
|
21949
|
-
},
|
|
21950
|
-
'30': {
|
|
21951
|
-
$set: newTime
|
|
21952
|
-
}
|
|
21953
|
-
}))
|
|
21954
|
-
}
|
|
21955
|
-
} : {
|
|
21956
|
-
'1': {
|
|
21957
|
-
'5': oldVal => oldVal.map(md => immutability_helper_default()(md, {
|
|
21958
|
-
'7': {
|
|
21959
|
-
$set: newTime
|
|
21960
|
-
},
|
|
21961
|
-
'18': {
|
|
21962
|
-
$set: newTime
|
|
21963
|
-
},
|
|
21964
|
-
'31': {
|
|
21965
|
-
$set: newTime
|
|
21966
|
-
}
|
|
21967
|
-
}))
|
|
21968
|
-
}
|
|
21969
|
-
}
|
|
21970
|
-
});
|
|
21971
|
-
}
|
|
21972
|
-
return newThread;
|
|
21973
|
-
});
|
|
21974
|
-
} else {
|
|
21975
|
-
reorderedThreads = extractedThreads;
|
|
21976
|
-
}
|
|
21977
|
-
newResponse = gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, reorderedThreads, {
|
|
21978
|
-
start,
|
|
21979
|
-
total
|
|
21571
|
+
}
|
|
21572
|
+
return newThread;
|
|
21980
21573
|
});
|
|
21981
21574
|
} else {
|
|
21982
|
-
|
|
21983
|
-
const reorderedThreads = completedIDPairs.map(_ref4 => {
|
|
21984
|
-
let {
|
|
21985
|
-
gtid
|
|
21986
|
-
} = _ref4;
|
|
21987
|
-
return find_default()(extractedThreads, t => t.gmailThreadId === gtid);
|
|
21988
|
-
}).filter(Boolean);
|
|
21989
|
-
newResponse = gmail_response_processor/* replaceThreadsInResponse */.Z8(response, reorderedThreads, {
|
|
21990
|
-
start,
|
|
21991
|
-
total
|
|
21992
|
-
});
|
|
21575
|
+
reorderedThreads = extractedThreads;
|
|
21993
21576
|
}
|
|
21577
|
+
newResponse = gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, reorderedThreads, {
|
|
21578
|
+
start,
|
|
21579
|
+
total
|
|
21580
|
+
});
|
|
21994
21581
|
driver.getPageCommunicator().setCustomListResults(newQuery, newResponse);
|
|
21995
21582
|
} catch (e) {
|
|
21996
21583
|
driver.getLogger().error(e, {
|
|
@@ -22005,17 +21592,10 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
|
|
|
22005
21592
|
});
|
|
22006
21593
|
}
|
|
22007
21594
|
try {
|
|
22008
|
-
|
|
22009
|
-
|
|
22010
|
-
|
|
22011
|
-
|
|
22012
|
-
}));
|
|
22013
|
-
} else {
|
|
22014
|
-
driver.getPageCommunicator().setCustomListResults(newQuery, gmail_response_processor/* replaceThreadsInResponse */.Z8(response, [], {
|
|
22015
|
-
start,
|
|
22016
|
-
total
|
|
22017
|
-
}));
|
|
22018
|
-
}
|
|
21595
|
+
driver.getPageCommunicator().setCustomListResults(newQuery, gmail_sync_response_processor/* replaceThreadsInSearchResponse */.ti(response, [], {
|
|
21596
|
+
start,
|
|
21597
|
+
total
|
|
21598
|
+
}));
|
|
22019
21599
|
} catch (e2) {
|
|
22020
21600
|
driver.getLogger().error(e2);
|
|
22021
21601
|
// The original response will be used.
|
|
@@ -22384,7 +21964,6 @@ async function gmailLoadEvent(driver) {
|
|
|
22384
21964
|
windowWidth: window.innerWidth,
|
|
22385
21965
|
windowHeight: window.innerHeight,
|
|
22386
21966
|
language: pageCommunicator.getUserLanguage(),
|
|
22387
|
-
isUsingSyncAPI: pageCommunicator.isUsingSyncAPI(),
|
|
22388
21967
|
previewPane: pageCommunicator.getUserOriginalPreviewPaneMode(),
|
|
22389
21968
|
isConversationViewDisabled,
|
|
22390
21969
|
wasAccountSwitcherReadyAtStart: driver.getEnvData().wasAccountSwitcherReadyAtStart,
|
|
@@ -23577,13 +23156,6 @@ class GmailDriver {
|
|
|
23577
23156
|
|
|
23578
23157
|
// mapping between sync message ids and old message ids
|
|
23579
23158
|
{
|
|
23580
|
-
try {
|
|
23581
|
-
// TODO remove sometime after March 24 2019 to give time for this to
|
|
23582
|
-
// run for most users.
|
|
23583
|
-
localStorage.removeItem('inboxsdk__cached_gmail_and_inbox_message_ids_2');
|
|
23584
|
-
} catch (err) {
|
|
23585
|
-
console.error(err);
|
|
23586
|
-
}
|
|
23587
23159
|
const gmailMessageIdForSyncMessageIdCache = new (bimapcache_js_default())({
|
|
23588
23160
|
key: 'inboxsdk__cached_gmail_and_inbox_message_ids_3',
|
|
23589
23161
|
getAfromB: sync => (0,getGmailMessageIdForSyncMessageId/* default */.Z)(this, sync),
|
|
@@ -23985,7 +23557,6 @@ class GmailDriver {
|
|
|
23985
23557
|
this.#timestampGlobalsFound = Date.now();
|
|
23986
23558
|
this.#pageCommunicator = pageCommunicator;
|
|
23987
23559
|
this.#logger.setUserEmailAddress(this.getUserEmailAddress());
|
|
23988
|
-
this.#logger.setIsUsingSyncAPI(pageCommunicator.isUsingSyncAPI());
|
|
23989
23560
|
this.#userInfo = new UserInfo(this);
|
|
23990
23561
|
this.#timestampAccountSwitcherReady = Date.now();
|
|
23991
23562
|
this.#routeViewDriverStream = setupRouteViewDriverStream(this.#gmailRouteProcessor, this).takeUntilBy(this.#stopper).toProperty();
|
|
@@ -24050,9 +23621,6 @@ class GmailDriver {
|
|
|
24050
23621
|
isRunningInPageContext() {
|
|
24051
23622
|
return !!(__webpack_require__.g.GLOBALS && __webpack_require__.g._GM_main);
|
|
24052
23623
|
}
|
|
24053
|
-
isUsingSyncAPI() {
|
|
24054
|
-
return this.#pageCommunicator.isUsingSyncAPI();
|
|
24055
|
-
}
|
|
24056
23624
|
showAppIdWarning() {
|
|
24057
23625
|
showAppIdWarning(this);
|
|
24058
23626
|
}
|
|
@@ -32854,6 +32422,7 @@ module.exports["default"] = exports.default;
|
|
|
32854
32422
|
"use strict";
|
|
32855
32423
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32856
32424
|
/* harmony export */ "DH": () => (/* binding */ main),
|
|
32425
|
+
/* harmony export */ "Pn": () => (/* binding */ hideComposes),
|
|
32857
32426
|
/* harmony export */ "Yy": () => (/* binding */ inboxsdkMolesInUse),
|
|
32858
32427
|
/* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
32859
32428
|
/* harmony export */ });
|
|
@@ -32866,10 +32435,11 @@ module.exports["default"] = exports.default;
|
|
|
32866
32435
|
|
|
32867
32436
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
32868
32437
|
// Module
|
|
32869
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".inboxsdk___CVI_XgzMBSxR6kVfDAg{order:1}.inboxsdk__UJYCuevuXZxfTgEf23lV .aDj.ahe{position:static!important}", ""]);
|
|
32438
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".inboxsdk___CVI_XgzMBSxR6kVfDAg{order:1}.inboxsdk__UJYCuevuXZxfTgEf23lV .aDj.ahe{position:static!important}.inboxsdk__cZb1_NDJIxsKMlBKVLgD .dw\n .nH\n > .nH\n > .no\n > *:not([style*='order: 0;'], [style*='order: 2147483647;'], .aJl).nn.nH{display:none!important}", ""]);
|
|
32870
32439
|
// Exports
|
|
32871
32440
|
var main = "inboxsdk___CVI_XgzMBSxR6kVfDAg";
|
|
32872
32441
|
var inboxsdkMolesInUse = "inboxsdk__UJYCuevuXZxfTgEf23lV";
|
|
32442
|
+
var hideComposes = "inboxsdk__cZb1_NDJIxsKMlBKVLgD";
|
|
32873
32443
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
32874
32444
|
|
|
32875
32445
|
|
|
@@ -32925,7 +32495,7 @@ var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_g
|
|
|
32925
32495
|
var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);
|
|
32926
32496
|
var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);
|
|
32927
32497
|
// Module
|
|
32928
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".inboxsdk__notransition{transition:none!important}.inboxsdk__close_button{height:24px;width:24px;opacity:.7;position:relative;background:0 0;border:0;padding:0;box-sizing:content-box;outline:0;cursor:pointer}.inboxsdk__close_button:focus,.inboxsdk__close_button:hover{opacity:1}.inboxsdk__close_button:focus::before{background-color:rgb(0 0 0/12%)}.inboxsdk__close_button::before{border-radius:50%;position:absolute;inset:-4px -4px -4px -4px;padding:4px;content:\" \"}.inboxsdk__close_button::after{content:\" \";background:url(https://www.gstatic.com/images/icons/material/system/1x/close_black_24dp.png);position:absolute;height:24px;width:24px;top:0;left:0}@media (min-resolution:192dpi){.inboxsdk__close_button::after{background:url(https://www.gstatic.com/images/icons/material/system/2x/close_black_24dp.png);background-size:contain}}.inboxsdk__nJrOYb9x4IUalKhkqH70{display:none}.inboxsdk__drawer_view_container{visibility:visible;direction:initial;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:51;pointer-events:none}.inboxsdk__drawer_view{position:absolute;pointer-events:auto;top:0;bottom:0;right:0;width:452px;font:13px\"Helvetica Neue\",Helvetica,Arial,sans-serif;display:flex;flex-direction:column;background-color:#fff;outline:0;box-shadow:0 0 8px rgb(0 0 0/18%),0 8px 16px rgb(0 0 0/36%);transform:translateX(100%);transition:transform 150ms cubic-bezier(.4,0,.2,1)}.inboxsdk__drawer_view.inboxsdk__match_sidebar_content_panel_width{width:300px}.inboxsdk__drawer_view.inboxsdk__active{transform:none}.inboxsdk__drawer_title_bar{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:16px 20px;white-space:nowrap;display:flex;flex:0 0 auto}.inboxsdk__drawer_title_bar .inboxsdk__close_button{margin-right:20px;flex-shrink:0}.inboxsdk__drawer_title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:20px/24px\"Helvetica Neue\",Helvetica,Arial,sans-serif}.inboxsdk__inbox_backdrop{visibility:visible;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:50;background-color:transparent;transition:background-color 150ms cubic-bezier(.4,0,1,1)}.inboxsdk__inbox_backdrop.inboxsdk__active{background-color:rgb(10 10 10/60%);transition:background-color 70ms cubic-bezier(0,0,.2,1)}.inboxsdk__inbox_backdrop~.inboxsdk__inbox_backdrop{opacity:.6}.inboxsdk__YVRXKNcaUvgm8xbnhvbA{display:flex;flex-direction:column}.inboxsdk__L1YTilBb_3NY6uyjljIg>.inboxsdk__close_button{position:absolute;bottom:10px;right:20px}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:216px}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{overflow:hidden;font:12px Arial,sans-serif;max-height:100%;box-sizing:border-box}.inboxsdk__iYzl6PjYB9v7KGQNbONH{white-space:nowrap;display:flex;user-select:none;cursor:default}.inboxsdk__RRnCd87hoA2uHeC1Z_FE:not(.inboxsdk__o9YcckDJql686JS0n2cc) .inboxsdk__iYzl6PjYB9v7KGQNbONH{border-bottom:1px solid #ddd}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH,.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover{background:rgb(0 0 0/3%)}.inboxsdk__lD1h9YUibxcHdtWGdiWq{min-width:0;overflow:hidden;text-overflow:ellipsis}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__lD1h9YUibxcHdtWGdiWq{cursor:move}.inboxsdk__p_cMIiZvN4vwQdGOpCts{padding-left:6px;vertical-align:middle;font:700 13px/40px\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:rgb(0 0 0/87%)}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__iYzl6PjYB9v7KGQNbONH{display:none}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__KudoZ1EBFoQsddbSavvj{position:absolute;top:0;left:0;width:10px;height:40px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ")50%center no-repeat}.inboxsdk__TFQRFr4aJVmDmx2llTVx{width:20px;height:20px;vertical-align:middle;display:inline-flex;justify-content:center;align-items:center;margin-top:-1px}.inboxsdk__Yzt2_upvw7fe6BjWdlhZ,.inboxsdk__Yzt2_upvw7fe6BjWdlhZ>img{width:13px;height:13px}.inboxsdk__M4Frio2Us0lwSTltblkg{flex:1;text-align:right;visibility:hidden}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__M4Frio2Us0lwSTltblkg{visibility:visible;cursor:pointer}.inboxsdk__Nr6Udyn2ocUynKpdfxh1{margin-top:12px;margin-right:4px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ")center/20px no-repeat;border:0;width:14px;height:14px;transform:rotate(-90deg);transition:-webkit-transform .15s,transform .15s;outline:0;opacity:.6;cursor:pointer}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH .inboxsdk__Nr6Udyn2ocUynKpdfxh1,.inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__Nr6Udyn2ocUynKpdfxh1{opacity:.9}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__o9YcckDJql686JS0n2cc .inboxsdk__Nr6Udyn2ocUynKpdfxh1{transform:rotate(0)}.inboxsdk__QsikHKWmzD0Ovsg3wrIw{margin-bottom:25px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__ARG5bpD2vntIyElH978u{position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:focus,.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover{outline:0}.inboxsdk__appid_warning{margin:0;padding:9px;color:#4b4b4b;background:#ff6c6c;font-size:10pt}.inboxsdk__appid_warning_main,a.inboxsdk__appid_register{display:inline-block;vertical-align:middle}.inboxsdk__appid_warning .topline{font-weight:700;font-size:11pt}a.inboxsdk__appid_register{color:#fff;background:#1989ff;border-radius:3px;text-decoration:none;box-shadow:0 0 5px rgb(0 0 0/30%);padding:7px;font-size:10pt;margin-left:1em}.inboxsdk__thread_row_icon_wrapper{display:inline-block}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{margin-top:0}.inboxsdk__QbxpXL1mja3SlO_1nJOS{background:#f8ebc0;margin-bottom:10px;padding:12px 4px 6px 12px}.inboxsdk__suggestions_separator_before{padding-bottom:2px!important}.inboxsdk__suggestions_separator_after{border-top:1px solid #e5e5e5;padding-top:2px!important}div.T-I.inboxsdk__button{user-select:none;min-width:27px}.inboxsdk__no_bg{background:0 0}.inboxsdk__button.inboxsdk__button_disabled{opacity:.55}.inboxsdk__button_icon+.inboxsdk__button_text{margin-left:5px}.inboxsdk__button_icon{display:inline-block}.inboxsdk__button_iconImg{height:20px;width:20px;vertical-align:middle;margin-top:-2px;user-drag:none;user-select:none;-webkit-user-drag:none}.inboxsdk__button_green_hover,.inboxsdk__button_green_inactive{background-image:-webkit-linear-gradient(top,transparent,transparent);background-image:linear-gradient(top,transparent,transparent);border:1px solid transparent;text-shadow:none}.inboxsdk__button_green_inactive{box-shadow:0 1px 0 rgb(0 0 0/5%);background-color:#53a93f;color:#fff}.inboxsdk__button_green_hover{box-shadow:inset 0-1px 0#4c8534;background-color:#65b045;border-bottom:1px solid #4c8534}.inboxsdk__button_green_active{box-shadow:inset 0 1px 0#2f6124;background:#3e802f;border:1px solid transparent;border-top:1px solid #2f6124;color:#fff;text-shadow:none}.inboxsdk__menu{min-width:1em;min-height:1em;padding:0;overflow:visible;max-height:none;z-index:7;cursor:default;font-size:13px;margin:0;outline:0}.inboxsdk__menu>.inboxsdk__menuContent{padding:0;box-shadow:0 8px 10px 1px rgb(0 0 0/14%),0 3px 14px 2px rgb(0 0 0/12%),0 5px 5px -3px rgb(0 0 0/20%);transition:opacity .218s;border:1px solid rgb(0 0 0/20%);background:#fff;outline:0}.f4.J-N-JX.inboxsdk__message_more_icon{height:16px;margin-top:1px;width:16px}.dw .nH>.no .nH.nn:last-child[style*=\"width: 310px;\"],body:has(.companion_app_sidebar_visible) .dw .nH>.no .nH.nn:last-child{width:366px!important}.inboxsdk__composeButton{height:20px;width:20px;padding:4px}.inboxsdk__composeButton,.inboxsdk__compose_sendButton{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;outline:0;position:relative}.inboxsdk__composeButton+.inboxsdk__composeButton{margin-left:4px}.inboxsdk__composeButton .inboxsdk__button_icon{opacity:.55}.inboxsdk__composeButton.inboxsdk__composeButton_active .inboxsdk__button_icon,.inboxsdk__composeButton:focus .inboxsdk__button_icon,.inboxsdk__composeButton:hover .inboxsdk__button_icon{opacity:1}.inboxsdk__composeButton::before{content:\"\";display:block;opacity:0;position:absolute;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);inset:0 0 0 0;background:0 0;box-sizing:border-box;transform:scale(0);transition-property:transform,opacity;border-radius:4px}.inboxsdk__composeButton:hover::before{background-color:rgb(32 33 36/5.9%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__composeButton.inboxsdk__composeButton_active::before,.inboxsdk__composeButton:focus::before{background-color:rgb(32 33 36/12.2%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__compose_actionToolbar .inboxsdk__compose_groupedActionToolbar div.inboxsdk__composeButton:last-child{margin-right:0}.inboxsdk__compose_sendButton{background-color:#1a73e8;color:#fff;height:24px;width:auto;border-radius:4px;padding:6px 4px;margin-left:2px}.inboxsdk__compose_inlineReply .inboxsdk__compose_sendButton{height:24px}.inboxsdk__compose_sendButton.inboxsdk__composeButton_active,.inboxsdk__compose_sendButton:focus{background-color:#5094ed;box-shadow:0 1px 1px 0 rgb(66 133 244/30%),0 1px 3px 1px rgb(66 133 244/15%);border:0}.T-I~.inboxsdk__compose_sendButton{margin-left:-6px}.inboxsdk__compose_actionToolbar{white-space:nowrap;padding-left:6px}.inboxsdk__compose_actionToolbar .inboxsdk__button_icon{height:20px;width:20px;display:inline-flex;user-select:none}.inboxsdk__compose_actionToolbar .inboxsdk__button_iconImg{height:17px;width:17px;display:inline-flex;margin:auto}.inboxsdk__compose_actionToolbar+.gU:not(.inboxsdk__compose_separator){padding-left:8px}.inboxsdk__compose_groupedActionToolbar_visible .aDg .aDh{overflow-y:visible}.inboxsdk__compose_groupedActionToolbar{position:absolute;bottom:44px;z-index:10;border-radius:2px;box-shadow:0 4px 5px 0 rgb(0 0 0/14%),0 1px 10px 0 rgb(0 0 0/12%),0 2px 4px -1px rgb(0 0 0/20%);margin:3px 3px 7px;padding:4px 5px;background:#fff;left:-3px}.inboxsdk__compose_inlineReply .inboxsdk__compose_groupedActionToolbar{left:14px}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton:first-child{margin-left:0;margin-right:0}.inboxsdk__composeButton.inboxsdk__compose_groupedActionButton{margin-right:0}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton{padding:4px}.inboxsdk__compose_groupedActionToolbar_visible .bA3{height:40px}.inboxsdk__compose_groupedActionToolbar div.inboxsdk__button{z-index:1;margin-right:0}.inboxsdk__compose_groupedActionToolbar_arrow,span.inboxsdk__thread_row_custom_draft_label+div.yW{display:none}.inboxsdk__compose_customSendContainer{display:inline-block;position:relative;outline:0;margin:6px 0;padding:0;vertical-align:middle;height:36px;line-height:36px}.inboxsdk__compose_customTitleBarColor>img.Ha,.inboxsdk__compose_customTitleBarColor>img.Hl,.inboxsdk__compose_customTitleBarColor>img.Hq{background-color:transparent!important}.inboxsdk__compose_hasCustomTitleBarText,.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{display:flex}.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{align-items:center}.inboxsdk__compose_hasCustomTitleBarText>tbody{width:100%}.inboxsdk__compose_nativeTitleBarText{display:none!important}.inboxsdk__compose_customTitleBarText{width:calc(100% - 80px)}.inboxsdk__compose_hasCustomTitleBarText td.Hm{margin-right:10px;margin-left:auto}.inboxsdk__compose_statusBarPrependContainer{border-top:1px solid #cfcfcf}.inboxsdk__compose_statusBarPrependContainer+table td.gU{border-top:none}input.inboxsdk__x_close_button{background-color:transparent;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ");background-size:cover;background-repeat:no-repeat;background-position:center center;height:20px;width:20px;border:0;vertical-align:middle;cursor:pointer;float:right;margin:5px}.inboxsdk__gmail_label.inboxsdk__label_has_icon .au{display:inline-block;margin-left:14px}.inboxsdk__thread_row_label .inboxsdk__button_icon,.inboxsdk__thread_row_label .inboxsdk__button_iconImg{height:11px;width:11px}.inboxsdk__thread_row_label .inboxsdk__button_icon{display:inline-block;margin-top:3px;margin-left:4px;position:absolute}.inboxsdk__thread_row_button{outline:0;height:20px;width:20px;padding:0}.inboxsdk__thread_row_button .inboxsdk__button_icon{max-height:100%}.inboxsdk__thread_row_custom_date_container,.zA>.xY.inboxsdk__thread_row_attachment_icons_present{max-width:inherit}.inboxsdk__thread_row_button .inboxsdk__button_iconImg{height:20px;width:20px;margin-top:0}.inboxsdk__gmail_action{float:right;position:relative;background-color:gray;margin-left:1em;cursor:default;background-image:-webkit-linear-gradient(top,#e9e9e9,#e6e6e6);background-image:linear-gradient(top,#e9e9e9,#e6e6e6);border:1px solid rgb(0 0 0/10%);border-color:#ccc;color:#444;height:17px;line-height:17px;min-width:56px;border-radius:2px;font-size:11px;font-weight:700;text-align:center;white-space:nowrap;padding:0 18px 0 6px}.inboxsdk__gmail_action:focus{border:1px solid #4d90fe;outline:0}.inboxsdk__gmail_action:active{box-shadow:inset 0 1px 2px rgb(0 0 0/10%)}.inboxsdk__gmail_action:hover{box-shadow:0 1px 1px rgb(0 0 0/5%);background-color:#ededed;background-image:-webkit-linear-gradient(top,#ededed,#eaeaea);background-image:linear-gradient(top,#ededed,#eaeaea);border-color:#b8b8b8}.inboxsdk__gmail_action::after{content:\"\";position:absolute;right:5px;top:5px;margin-left:5px;background:no-repeat url(https://ssl.gstatic.com/mail/sprites/smartmail-561acb673be75c1d374881a95997fce4.png)-67px -100px;width:7px;height:7px;opacity:.55}.inboxsdk__thread_row_custom_date{margin-left:2px}span.inboxsdk__thread_row_custom_date+span:not(.inboxsdk__thread_row_custom_date){display:none}.inboxsdk__thread_row_attachment_iconWrapper{margin-left:3px;height:16px}.inboxsdk__thread_row_attachment_icon{margin-left:3px;width:16px;height:16px}.inboxsdk__thread_row_attachment_iconWrapper{display:flex;justify-content:center;align-items:center;width:max-content}.zA td.apU.xY{width:initial}.zA td.apU.xY span.inboxsdk__thread_row_button{margin:0 10px;opacity:.16}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button{opacity:.54}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button:hover{opacity:1}.zA td.apU.xY span.inboxsdk__thread_row_button::before{width:0;height:0}.inboxsdk__thread_row_attachment_icon{vertical-align:middle}.Zs .xY.inboxsdk__thread_row_attachment_icons_present{flex-grow:0}.Zs .xY.inboxsdk__thread_row_label{order:1}.Zs .xY.inboxsdk__thread_row_icon_wrapper{order:1;margin-left:3px;margin-right:0}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_icon,.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{height:18px;width:18px}.inboxsdk__thread_row_icon_wrapper{width:20px;margin-right:3px;align-self:center;height:20px;flex:0 0 auto}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{vertical-align:top}.inboxsdk__thread_row_image_added .y6 .inboxsdk__thread_row_icon_wrapper~span[id]{margin-left:3px}.inboxsdk__thread_row_image_added .a4W,.inboxsdk__thread_row_image_added .apA,.inboxsdk__thread_row_image_added .apx{position:relative}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>img,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>img{margin-right:3px;margin-left:3px;margin-top:0}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>:last-child,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>:last-child{margin-right:6px}.inboxsdk__message_attachment_icon,.inboxsdk__message_attachment_iconWrapper{width:21px;height:21px;position:relative}.inboxsdk__message_attachment_iconWrapper{margin:auto 3px;display:inline-flex;justify-content:center;align-items:center;vertical-align:top}.inboxsdk__message_attachment_tooltipWrapper{position:absolute;top:19px;z-index:10}.gU .aWQ{max-height:3px}.aQw .inboxsdk__button_icon{display:inline-flex;align-items:center;justify-content:center;height:28px}.aQw .inboxsdk__button_iconImg{height:18px;width:18px;margin-top:2px}.aZi .asa .inboxsdk__button_iconImg{display:inline-block;vertical-align:middle;margin-top:-3px}.aZi .aZj .asa .inboxsdk__button_iconImg{margin:0}body .dw{z-index:6!important}.inboxsdk__compose_outerSidebar_wrapper{position:absolute;left:-401px;top:0;background:#fff;width:400px;bottom:0;border-left:1px solid silver;box-shadow:-2px 0 1px #e6e6e6;display:block}.inboxsdk__outerSidebarActive .aSt .inboxsdk__compose_outerSidebar_wrapper{border-left:0;box-shadow:none;left:-400px}.inboxsdk__outerSidebarActive .aSs>div{width:50%!important;margin-left:30%}.inboxsdk__compose_outerSidebar_header{background:#404040;font-size:80%;padding:10px 10px 11px;color:#fff;border-bottom:1px solid #c4c4c4}.inboxsdk__compose_outerSidebar_body{position:absolute;width:100%;bottom:43px;top:36px;left:-1px;overflow:auto}.inboxsdk__compose_outerSidebar_footer{position:absolute;bottom:0;width:100%;border-top:1px solid rgb(206 206 206);display:block}.inboxsdk__compose_innerSidebarActive .GQ,.inboxsdk__compose_innerSidebarActive form{padding-right:200px}div.inboxsdk__compose_statusbar{border:0;height:40px;margin:0}.inboxsdk__compose_statusbar{background:0 0;position:relative}.HM .I5 .inboxsdk__compose_statusbar{padding:0 16px 16px}table+.inboxsdk__compose_statusbar{margin-top:-8px}body.inboxsdk__classic_gmail_recipients_area .inboxsdk__compose_statusbarActive .aoI{height:auto!important}.inboxsdk__compose_statusbarActive .aDl{z-index:unset}.inboxsdk__compose .qz{max-height:inherit!important}body:not(.inboxsdk_hack_disableComposeSizeFixer) .inboxsdk__size_fixer .aDj.aDi{position:static!important}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .HM .I5{padding-bottom:var(--inboxsdk-total-added-statusbar-height, 0px)}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj::before{height:calc(100% + var(--inboxsdk-total-added-statusbar-height, 0px))}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj.aDi>.aDh{background-color:#fff}.inboxsdk__recipient_row{display:flex}.inboxsdk__compose_notice{background-color:#f5f5f5;border-radius:4px;margin:10px;padding:10px 16px}.inboxsdk__recipient_row td.ok{height:20px;padding:0!important}.inboxsdk__recipient_row td.az3{padding:0 3px}.inboxsdk__compose_forceRecipientsOpen .fX.aXjCH{display:block!important}.inboxsdk__compose_forceRecipientRowHidden,.inboxsdk__compose_forceRecipientsOpen .aoD.hl,.inboxsdk__compose_hideRecipientArea .aoD.hl,.inboxsdk__compose_hideRecipientArea .fX.aXjCH,[data-thread-toolbar=true] [data-rowlist-toolbar=true],[data-toolbar-expanded=false] [data-toolbar-expanded=true],[data-toolbar-expanded=true] [data-toolbar-expanded=false],[data-toolbar-icononly=true] .inboxsdk__button_text{display:none!important}[data-toolbar-icononly=false] .inboxsdk__button_text{color:#5f6368}[data-toolbar-icononly=false] .asa::before{border-radius:4px;border:0!important}[data-toolbar-icononly=false] .inboxsdk__button{align-items:center;border:0;display:inline-flex;justify-content:center;position:relative;z-index:0;-webkit-font-smoothing:antialiased;font-family:\"Google Sans\",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.15px;background:0 0;box-sizing:border-box;color:#5f6368;cursor:pointer;font-weight:500;outline:0;padding:0 8px}.inboxsdk__menuItem .inboxsdk__icon,.inboxsdk__menuItem img{height:16px;width:16px;margin-top:-1px}.inboxsdk__modal_overlay{right:0;bottom:0}.inboxsdk__modal_fullscreen{position:fixed;inset:0 0 0 0;z-index:503;display:flex;justify-content:center;align-items:center;padding:110px 50px 50px}.inboxsdk__modal_content{margin-top:30px;margin-bottom:30px}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons:not(.inboxsdk__modal_hideBottom) .inboxsdk__modal_content{margin-bottom:0;padding-bottom:24px}.inboxsdk__modal_close{outline:0;cursor:pointer}.inboxsdk__modal_fullscreen .inboxsdk__modal_container{position:relative;margin-top:-60px;width:auto;overflow:hidden}.inboxsdk__modal_fullscreen .inboxsdk__modal_container .inboxsdk__modal_toprow{margin-right:16px}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_close{display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_container{padding-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_content{margin-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .Kj-JD-K7{margin:0;display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_container,.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_content{padding-left:0;padding-right:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_container{padding-bottom:0}.inboxsdk__modal_toprow.inboxsdk__modal_toprow--constrain-title-width{display:flex}.inboxsdk__modal_toprow--constrain-title-width>span[role=heading]{flex:1;width:0;word-wrap:break-word}.inboxsdk__drawers_in_use .aDi,.inboxsdk__moles_in_use .aDi{left:auto!important;position:static}.inboxsdk__moles_in_use .nH>.nH>.no{white-space:nowrap}.inboxsdk__moles_in_use .nH>.nH>.no>*{white-space:initial}.inboxsdk__moles_in_use .nH>.nH>.no>.nn{display:inline-block;float:none}.inboxsdk__mole_view{position:relative;max-width:564px;height:100vh;vertical-align:top;display:inline-flex;align-items:flex-end}.inboxsdk__mole_view_inner{visibility:visible;box-sizing:border-box;margin-right:5px;box-shadow:rgb(0 0 0/20%)0 2px 6px;min-width:260px;min-height:40px}.inboxsdk__mole_view_inner:not(.inboxsdk__original_view),.inboxsdk__mole_view_titlebar:not(.inboxsdk__original_view){border-radius:8px 8px 0 0}.inboxsdk__mole_view_titlebar{position:absolute;left:0;right:5px;font-size:14px;font-weight:500;box-sizing:border-box;height:40px;cursor:pointer;padding:10px 12px 10px 16px;color:#041e49;background:#f2f6fc}.inboxsdk__mole_view_titlebar.inboxsdk__original_view{color:#fff;font-size:12.8px;font-weight:400;background:#404040;padding:9px 0 0 11px;border-radius:4px 4px 0 0}.inboxsdk__mole_view_titlebar h2{font-size:inherit;font-weight:inherit;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inboxsdk__mole_title_buttons{white-space:nowrap;float:right;padding-right:5px;margin-top:1px}.inboxsdk__mole_title_buttons.inboxsdk__original_view{margin-top:-3px}.inboxsdk__mole_title_buttons>img{height:24px;width:24px;position:relative;top:2px;opacity:.6}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img{height:16px;width:16px;margin-left:4px}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img:hover{background-color:rgb(68 71 70/7.8%)}.inboxsdk__mole_title_buttons.inboxsdk__original_view>img:hover{background-color:#737373}.inboxsdk__mole_title_buttons>img:hover{opacity:1}.inboxsdk__mole_view.inboxsdk__minimized .Hl,.inboxsdk__mole_view.inboxsdk__minimized .inboxsdk__mole_view_content,.inboxsdk__mole_view.inboxsdk__minimized.inboxsdk__mole_use_minimize_title h2.inboxsdk__mole_default,.inboxsdk__mole_view:not(.inboxsdk__minimized) .Hk,.inboxsdk__mole_view:not(.inboxsdk__minimized) h2.inboxsdk__mole_minimized,.inboxsdk__mole_view:not(.inboxsdk__mole_use_minimize_title) h2.inboxsdk__mole_minimized{display:none}.inboxsdk__mole_view_content:not(.inboxsdk__original_view){margin-top:40px;border:0}.inboxsdk__mole_view_content{margin-top:36px;border:1px solid #cfcfcf;background:#fff;min-width:260px;min-height:20px;max-height:80vh}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_inner{min-width:0}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_content{margin-top:0;min-width:0}.inboxsdk__tab{width:30px}.inboxsdk__tab.inboxsdk__fQK2Ffccj51PVtC_ibDc:first-child:last-child{display:none}.inboxsdk__tab.inboxsdk__tab_selected{width:auto}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab .aAy[role=tab]{height:28px}.inboxsdk__tab_icon{width:30px;height:25px;background-position-x:5px;background-position-y:3px;background-size:16px;background-repeat:no-repeat}.inboxsdk__tab_icon img{height:16px;width:16px;margin-left:5px;margin-top:3px}.inboxsdk__tab .aKx{top:4px}.inboxsdk__sidebar div[role=complementary]{position:static!important}.inboxsdk__sidebar>div.y4,.inboxsdk__lmkPHCz841PzU2vywMZI>div.y4{display:none}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab:first-child .aAy[role=tab]{border-left-width:1px}.inboxsdk__sidebar .inboxsdk__contentPanelContainer{font:12px Arial,sans-serif;max-width:220px}.inboxsdk__contentPanelContainer_contentContainer{overflow:hidden;margin-bottom:10px;border-bottom:1px solid #d8d8d8}body.inboxsdk__hasTopMessageBar .bq9{top:var(--inboxsdk__topMessageBar-height)}.inboxsdk__lmkPHCz841PzU2vywMZI>div[role=complementary]{position:static!important;width:216px!important}.inboxsdk__lmkPHCz841PzU2vywMZI{will-change:position}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{background:#fff}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding:4px 0 12px}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding-top:0}.container_app_sidebar_in_use.no,.inboxsdk__IpDkQtEZuh257muFXot6.no{display:flex;flex-direction:row;width:100%}body[dir=rtl] .container_app_sidebar_in_use.no[dir=ltr],body[dir=rtl] .idm5_container_app_sidebar_no_icons.no[dir=ltr]{flex-direction:row-reverse}.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-57px!important}.container_addon_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm],.container_app_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-321px!important}.inboxsdk__IpDkQtEZuh257muFXot6 .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:0!important}.inboxsdk__button.ar7{pointer-events:all!important}.container_app_sidebar_in_use .bkK.nn,.inboxsdk__IpDkQtEZuh257muFXot6 .bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__IpDkQtEZuh257muFXot6 .bnl.nn{z-index:-1;position:absolute}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI{min-width:57px!important;flex-shrink:0}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible{min-width:321px!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI>.J-KU-Jg{display:block!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:none}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:block;float:left;height:100%;border-left:1px solid #e0e0e0;padding-left:16px;width:calc(100% - 74px);overflow:auto}.container_app_sidebar_in_use .inboxsdk__jQiSbhX57v1JCl6fIbdb .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:calc(100% - 16px);padding-right:16px}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .J-KU-Jz{width:auto;padding-right:50px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{margin:18px 18px 10px;border:0;background:0 0;height:20px;width:20px;overflow:hidden;padding:0;cursor:pointer;position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .inboxsdk__button_icon{margin-bottom:18px}body .inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{overflow:visible}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover::before,.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{content:\"\";background:#f1f3f4;position:absolute;inset:-10px -10px -10px -10px;border-radius:50%;z-index:0}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{background:#e8eaed}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_iconImg{width:20px;height:20px;margin-top:0}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon .inboxsdk__button_iconImg{position:absolute;left:0;top:0;z-index:1}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_selectedIndicator{height:40px;width:4px;position:absolute;right:0;bottom:0;background-color:rgb(66 133 244);border-radius:3px 0 0 3px}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .sidebar_button_container_active .inboxsdk__button_selectedIndicator{bottom:8px}.brC-brG.companion_app_sidebar_visible{display:block!important}.bq9:not(.brC-brG).companion_app_sidebar_wrapper_visible{display:block!important}.companion_global_app_sidebar_visible .thread_app_sidebar{display:none}.companion_app_sidebar_visible:not(.companion_global_app_sidebar_visible) .global_app_sidebar,body.inboxsdk__custom_view_active .brC-aT5-aOt-ato-Kp-Jw [role=tablist]>div:not(:last-child){display:none}.nH.companion_container_app_sidebar_visible{width:calc(100% - 300px)!important}.companion_app_sidebar_visible .addon_sidebar~div:not(.addon_sidebar){display:none!important}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar{height:100%;overflow:auto}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:100%}.inboxsdk__lmkPHCz841PzU2vywMZI:not(.companion_app_sidebar_visible) .addon_sidebar{display:none}.inboxsdk__TFQRFr4aJVmDmx2llTVx{margin-left:0}.inboxsdk__RRnCd87hoA2uHeC1Z_FE .inboxsdk__iYzl6PjYB9v7KGQNbONH{padding:0 16px}.inboxsdk__lmkPHCz841PzU2vywMZI .bvq,.inboxsdk__lmkPHCz841PzU2vywMZI .bvq>div:last-child{display:block!important}.inboxsdk__cnd4jAy3zFUYdR_NdMxT .bvq>div:first-child{display:none!important}.inboxsdk__custom_view_element{overflow:auto}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem){border-left-color:transparent}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .bsU,.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .nU:not(.n1) .n0{font-weight:400}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .TO{background:0 0}.inboxsdk__hide_addon_container{display:flex!important;flex-direction:row;width:100%!important}body[dir=rtl] .inboxsdk__hide_addon_container[dir=ltr]{flex-direction:row-reverse}.inboxsdk__hide_addon_container>.bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__hide_addon_container>.bnl.nn,.inboxsdk__navItem>.TO img.afM.afO~.aio>.bsU{display:none}.inboxsdk__navItem{font-size:14px}.inboxsdk__navItem:not(.Xr)>.V3[style]{flex-grow:0!important}.inboxsdk__navItem>.TO.n4{display:block;padding-left:0}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .TN.aik{padding-left:18px}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .qj{margin-right:14px}.inboxsdk__navItem>.TO.n4 .qj>.G-asx{margin-right:0}.inboxsdk__navItem>.TO .aio>.bsU:empty{display:none}.inboxsdk__navItem>.TO .qj:empty::after{background-color:rgb(118 118 118);border-radius:50%;content:\"\";height:18px;margin-left:1px;width:18px}.inboxsdk__navItem>.TO .qj[style*=border-color]:empty::after{border-color:inherit}.inboxsdk__navItem>.TO:hover .pM{display:flex;visibility:visible}.inboxsdk__navItem>.TO .afM{cursor:pointer}.inboxsdk__navItem>.TO img.afM.afO,.inboxsdk__navItem>.TO:hover .afM{display:block;visibility:visible}.inboxsdk__collapsiblePanel_loading_container,.inboxsdk__navItem>.TO:hover .bsU{display:none}.inboxsdk__navItem.inboxsdk__navItem_nonClickable>.TO:active{background-color:initial}.inboxsdk__navItem_hover .aj0,.inboxsdk__navItem_hover .p8{visibility:visible}.inboxsdk__appMenuItem .CL.V6::before,.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-image:var(--background-image)}.inboxsdk__collapsiblePanel.apV.aJu .T-I.T-I-KE.L3::before{background-image:var(--background-image--hover)}.inboxsdk__appMenuItem.apV .CL.V6::before{background-image:var(--background-image--active)}.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-size:24px}.inboxsdk__collapsiblePanel_loading_container.inboxsdk__collapsiblePanel_loading_container--active,.inboxsdk__shortcutHelp_table table.cf,.inboxsdk__shortcutHelp_table tbody tbody,table[role=presentation].inboxsdk__thread_view_with_custom_view>tr{display:block}.inboxsdk__navItem_link{cursor:pointer;margin-left:auto}.inboxsdk__navItem_link>a{margin-left:16px}.inboxsdk__navItem>.TO .inboxsdk__button{margin-right:0}[dir=rtl] .inboxsdk__navItem_link{left:-4px;right:initial}.inboxsdk__navItem_container .aio .inboxsdk__button{position:absolute;top:0;right:-30px}.inboxsdk__navItem_marker{position:absolute;left:0;padding-bottom:2px}.inboxsdk__expando{z-index:1}.aip .CK,.inboxsdk__navItem_link>a{color:#15c}.aip .CK:hover,.inboxsdk__navItem_link>a:hover{text-decoration:underline}.inboxsdk__navItem_container .aio.aip{white-space:nowrap}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button):empty{display:none}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button){background:0 0}.WR[role=navigation] .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:none}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh{opacity:1}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh.inboxsdk__navItem_parent_accessory_button{background-image:none!important}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh:empty{background-color:rgb(32 33 36/71%);border-radius:50%;display:inherit;height:18px;margin-left:1px;width:18px}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:inherit}.inboxsdk__custom_sections{margin-bottom:8px}.inboxsdk__custom_sections.Wc{padding:0;margin-bottom:0}.inboxsdk__resultsSection.inboxsdk__resultsSection_nonCollapsible .inboxsdk__resultsSection_title .Wp{visibility:hidden}.inboxsdk__custom_sections .Wg,.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection{padding-top:0}.inboxsdk__custom_sections.Wc .Wg{border-bottom:0;padding:0}.inboxsdk__results_collapsedContainer.Wg{height:auto}.inboxsdk__results_collapsedContainer>div{display:flex;flex-wrap:wrap;flex:1 0 100%}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child{flex:1;margin-right:0}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header{display:flex;align-items:center;flex:1}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header>.Cr{display:flex;align-items:center;margin-left:auto}.inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{display:inline-block;margin-right:20px;display:inline-flex}.Wc .inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{margin-right:0}.inboxsdk__resultsSection_collapsed .Cr{display:none}.inboxsdk__resultsSection_title{white-space:nowrap;cursor:pointer;display:inline-block;display:flex;align-items:center;height:48px}.Wc .inboxsdk__resultsSection_title{padding:3px 0 3px 8px}.inboxsdk__resultsSection_header{min-height:48px;line-height:48px}.inboxsdk__resultsSection_header_summaryText.Wm:last-child .amH{padding-right:0;margin-right:0}.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection_header_summaryText:last-child{margin-right:11px}.inboxsdk__custom_sections.Wc .J-JN-M-I{margin-right:13px}.inboxsdk__resultsSection .TB.TC{text-align:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_loading{font-style:italic}.inboxsdk__resultsSection .inboxsdk__resultsSection_result_icon{height:15px;width:15px}.inboxsdk__resultsSection_label_iconHtml,.inboxsdk__resultsSection_result_iconHtml{display:flex;justify-content:center;align-items:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA:hover>.xW{display:flex}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA>.xW{max-width:none;flex-basis:auto}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow .xT{align-items:center}.inboxsdk__resultsSection .xX{width:20ex}.inboxsdk__resultsSection tr .xW>span,.inboxsdk__resultsSection_result_title span{overflow:hidden;display:block;text-overflow:ellipsis}.inboxsdk__resultsSection .V3{overflow:hidden;white-space:nowrap}.inboxsdk__resultsSection .at{position:relative}.inboxsdk__thread_row_label{flex-shrink:0;align-self:flex-end}.apv .inboxsdk__thread_row_label{align-self:flex-start}.inboxsdk__resultsSection_label_icon{height:11px;width:11px;position:absolute;top:2px;margin-left:4px;margin-top:1px}.inboxsdk__resultsSection .av,.inboxsdk__thread_row_label .av{overflow:hidden;text-overflow:ellipsis}.inboxsdk__resultsSection_label_icon+.av,.inboxsdk__thread_row_label .inboxsdk__button_icon+.av{margin-left:16px}.Wc .inboxsdk__resultsSection_footer{padding:3px 3px 3px 8px}.inboxsdk__tooltip .T-P{box-shadow:0 1px 3px rgb(0 0 0/20%);background-color:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;padding:16px;z-index:1201!important}.inboxdk__tooltip_content.inboxsdk__tooltip .aRM,.inboxsdk__tooltip.inboxdk__tooltip_content .T-P,.inboxsdk__tooltip.inboxsdk__appButton_tooltip .T-P{padding:0}.inboxsdk__tooltip .aRM{outline:0;padding:13px 10px 16px;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip .aRR{color:#333;font-size:18px;margin-top:13px}.inboxsdk__tooltip .aRQ{color:#777;font-size:13px;margin:3px 0 14px}.inboxsdk__tooltip{position:fixed;z-index:1300;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .T-P{position:relative;width:auto;max-width:500px}.inboxsdk__tooltip .inboxsdk__tooltip_arrow{position:fixed;z-index:1400;margin-top:-1px;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .inboxsdk__tooltip_close{user-select:none}.inboxsdk__tooltip .inboxsdk__button{margin-right:0}.inboxsdk__tooltip .inboxsdk__tooltip_image{max-height:300px;max-width:500px;overflow:hidden;height:auto}.inboxsdk__tooltip .inboxsdk__tooltip_image>img{max-height:300px;max-width:500px}.inboxsdk__attachmentCard img.aQG.aYB{max-width:178px;min-width:178px;min-height:118px}.inboxsdk__attachmentCard img.aZG.aYw{background:0 0}.aQw>.T-I.J-J5-Ji.L3{margin-top:5px}table.cf.wd.inboxsdk__shortcutHelp_table{margin-bottom:15px}.inboxsdk__shortcutHelp_table td.Dn{display:inline-block;width:50%}.inboxsdk__shortcutHelp_table tbody tbody tr{display:block;white-space:nowrap}.inboxsdk__shortcutHelp_table td.wg.Dn{display:inline-block;width:45%}.inboxsdk__shortcutHelp_table span.wb{margin-left:3px}.inboxsdk__shortcutHelp_table td.we.Dn{width:60%;white-space:normal}.inboxsdk__shortcutHelp_title img.inboxsdk__icon{height:21px;width:21px;vertical-align:middle;margin-right:10px;border-radius:4px}.asor.inboxsdk__custom_suggestion,.inboxsdk__custom_suggestion_iconHTML{display:flex;justify-content:center;align-items:center}.inboxsdk__custom_suggestion img{max-width:32px;max-height:32px}.inboxsdk__custom_suggestion_iconHTML{position:absolute;left:8px;height:32px;width:43px}.gstq_d .inboxsdk__custom_suggestion_iconHTML{margin-top:-8px}.inboxsdk__appButton{margin-right:8px}.inboxsdk__appButton+.inboxsdk__appButton{margin-left:16px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus{margin-right:0}.inboxsdk__appButton .inboxsdk__button_icon{margin-right:5px;position:relative}.inboxsdk__appButton a{color:#404040;text-decoration:none;line-height:24px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus a{line-height:30px}.inboxsdk__appButton a:hover{text-decoration:underline;color:#000}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a{color:#eee}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a:hover{color:#fff}.inboxsdk__appButton_tooltip{outline:0;transition:none;animation:gb__a .2s}.inboxsdk__appButton_tooltip .inboxsdk__tooltip_close,.inboxsdk__searchIsNarrow .streak__appToolbarButton_title{display:none}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .aRM{padding:0;white-space:initial;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .inboxsdk__tooltip_arrow{transform-origin:top;transform:rotateZ(180deg);margin-top:9px}.inboxsdk__custom_message_view{display:flex;padding-top:20px;padding-bottom:20px;border-top:1px solid #efefef;border-collapse:collapse}.inboxsdk__custom_message_view_hidden{display:none}.h7.ie+.inboxsdk__custom_message_view{margin-top:5px}.kQ+.inboxsdk__custom_message_view,.kx+.inboxsdk__custom_message_view{margin-top:1px}.inboxsdk__custom_message_view.inboxsdk__custom_message_view_collapsed{cursor:pointer}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon{padding-left:16px;padding-right:16px;flex-shrink:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon img{height:32px;width:32px;border-radius:50%}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_content{width:100%;min-width:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_header{cursor:pointer}.inboxsdk__custom_message_view_app_notice_content{position:relative;z-index:1;align-items:center;display:flex;font-size:.75rem!important;justify-content:flex-start;margin-left:0;padding:0;top:0}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container{position:relative;width:auto!important;min-width:32px}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container:hover::before{content:none!important}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container>span:first-child{display:none}.inboxsdk__custom_message_view_app_notice_container::before{position:absolute}.inboxsdk__custom_message_view_app_notice_content>*{color:#555}table[role=presentation].inboxsdk__thread_view_with_custom_view{table-layout:fixed}.inboxsdk__butterbar.inboxsdk__butterbar_error{background-color:#c53929!important}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]{color:#fff}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]::before{background:rgb(255 255 255/8%)}.inboxsdk__support_menuItem:hover{background-color:#eee;outline:1px dashed transparent}.inboxsdk__compose_addressList{display:flex!important}.inboxsdk__linkPopOver_section_container{position:absolute;width:100%;top:35px;left:0}.inboxsdk__linkPopOver_section{width:100%;background:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;font:13px arial,sans-serif;padding:5px 8px;margin-bottom:5px;box-sizing:border-box;box-shadow:0 1px 3px rgb(0 0 0/20%)}.T-I.J-J5-Ji.T-I-ax7.inboxsdk__button .asa::after{width:auto}", ""]);
|
|
32498
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".inboxsdk__notransition{transition:none!important}.inboxsdk__close_button{height:24px;width:24px;opacity:.7;position:relative;background:0 0;border:0;padding:0;box-sizing:content-box;outline:0;cursor:pointer}.inboxsdk__close_button:focus,.inboxsdk__close_button:hover{opacity:1}.inboxsdk__close_button:focus::before{background-color:rgb(0 0 0/12%)}.inboxsdk__close_button::before{border-radius:50%;position:absolute;inset:-4px -4px -4px -4px;padding:4px;content:\" \"}.inboxsdk__close_button::after{content:\" \";background:url(https://www.gstatic.com/images/icons/material/system/1x/close_black_24dp.png);position:absolute;height:24px;width:24px;top:0;left:0}@media (min-resolution:192dpi){.inboxsdk__close_button::after{background:url(https://www.gstatic.com/images/icons/material/system/2x/close_black_24dp.png);background-size:contain}}.inboxsdk__nJrOYb9x4IUalKhkqH70{display:none}.inboxsdk__drawer_view_container{visibility:visible;direction:initial;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:51;pointer-events:none}.inboxsdk__drawer_view{position:absolute;pointer-events:auto;top:0;bottom:0;right:0;width:452px;font:13px\"Helvetica Neue\",Helvetica,Arial,sans-serif;display:flex;flex-direction:column;background-color:#fff;outline:0;box-shadow:0 0 8px rgb(0 0 0/18%),0 8px 16px rgb(0 0 0/36%);transform:translateX(100%);transition:transform 150ms cubic-bezier(.4,0,.2,1)}.inboxsdk__drawer_view.inboxsdk__match_sidebar_content_panel_width{width:300px}.inboxsdk__drawer_view.inboxsdk__active{transform:none}.inboxsdk__drawer_title_bar{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:16px 20px;white-space:nowrap;display:flex;flex:0 0 auto}.inboxsdk__drawer_title_bar .inboxsdk__close_button{margin-right:20px;flex-shrink:0}.inboxsdk__drawer_title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:20px/24px\"Helvetica Neue\",Helvetica,Arial,sans-serif}.inboxsdk__inbox_backdrop{visibility:visible;position:fixed;height:100vh;width:100vw;bottom:0;left:0;z-index:50;background-color:transparent;transition:background-color 150ms cubic-bezier(.4,0,1,1)}.inboxsdk__inbox_backdrop.inboxsdk__active{background-color:rgb(10 10 10/60%);transition:background-color 70ms cubic-bezier(0,0,.2,1)}.inboxsdk__inbox_backdrop~.inboxsdk__inbox_backdrop{opacity:.6}.inboxsdk__YVRXKNcaUvgm8xbnhvbA{display:flex;flex-direction:column}.inboxsdk__L1YTilBb_3NY6uyjljIg>.inboxsdk__close_button{position:absolute;bottom:10px;right:20px}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:216px}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{overflow:hidden;font:12px Arial,sans-serif;max-height:100%;box-sizing:border-box}.inboxsdk__iYzl6PjYB9v7KGQNbONH{white-space:nowrap;display:flex;user-select:none;cursor:default}.inboxsdk__RRnCd87hoA2uHeC1Z_FE:not(.inboxsdk__o9YcckDJql686JS0n2cc) .inboxsdk__iYzl6PjYB9v7KGQNbONH{border-bottom:1px solid #ddd}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH,.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover{background:rgb(0 0 0/3%)}.inboxsdk__lD1h9YUibxcHdtWGdiWq{min-width:0;overflow:hidden;text-overflow:ellipsis}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__lD1h9YUibxcHdtWGdiWq{cursor:move}.inboxsdk__p_cMIiZvN4vwQdGOpCts{padding-left:6px;vertical-align:middle;font:700 13px/40px\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:rgb(0 0 0/87%)}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__iYzl6PjYB9v7KGQNbONH{display:none}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__KudoZ1EBFoQsddbSavvj{position:absolute;top:0;left:0;width:10px;height:40px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ")50%center no-repeat}.inboxsdk__TFQRFr4aJVmDmx2llTVx{width:20px;height:20px;vertical-align:middle;display:inline-flex;justify-content:center;align-items:center;margin-top:-1px}.inboxsdk__Yzt2_upvw7fe6BjWdlhZ,.inboxsdk__Yzt2_upvw7fe6BjWdlhZ>img{width:13px;height:13px}.inboxsdk__M4Frio2Us0lwSTltblkg{flex:1;text-align:right;visibility:hidden}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__vTsoFgWgM9ldKGsRJYHd .inboxsdk__M4Frio2Us0lwSTltblkg{visibility:visible;cursor:pointer}.inboxsdk__Nr6Udyn2ocUynKpdfxh1{margin-top:12px;margin-right:4px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ")center/20px no-repeat;border:0;width:14px;height:14px;transform:rotate(-90deg);transition:-webkit-transform .15s,transform .15s;outline:0;opacity:.6;cursor:pointer}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__XdCPRDkO7zSIv6nU4USH .inboxsdk__iYzl6PjYB9v7KGQNbONH .inboxsdk__Nr6Udyn2ocUynKpdfxh1,.inboxsdk__iYzl6PjYB9v7KGQNbONH:hover .inboxsdk__Nr6Udyn2ocUynKpdfxh1{opacity:.9}.inboxsdk__RRnCd87hoA2uHeC1Z_FE.inboxsdk__o9YcckDJql686JS0n2cc .inboxsdk__Nr6Udyn2ocUynKpdfxh1{transform:rotate(0)}.inboxsdk__QsikHKWmzD0Ovsg3wrIw{margin-bottom:25px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__ARG5bpD2vntIyElH978u{position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:focus,.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover{outline:0}.inboxsdk__appid_warning{margin:0;padding:9px;color:#4b4b4b;background:#ff6c6c;font-size:10pt}.inboxsdk__appid_warning_main,a.inboxsdk__appid_register{display:inline-block;vertical-align:middle}.inboxsdk__appid_warning .topline{font-weight:700;font-size:11pt}a.inboxsdk__appid_register{color:#fff;background:#1989ff;border-radius:3px;text-decoration:none;box-shadow:0 0 5px rgb(0 0 0/30%);padding:7px;font-size:10pt;margin-left:1em}.inboxsdk__thread_row_icon_wrapper{display:inline-block}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{margin-top:0}.inboxsdk__QbxpXL1mja3SlO_1nJOS{background:#f8ebc0;margin-bottom:10px;padding:12px 4px 6px 12px}.inboxsdk__suggestions_separator_before{padding-bottom:2px!important}.inboxsdk__suggestions_separator_after{border-top:1px solid #e5e5e5;padding-top:2px!important}div.T-I.inboxsdk__button{user-select:none;min-width:27px}.inboxsdk__no_bg{background:0 0}.inboxsdk__button.inboxsdk__button_disabled{opacity:.55}.inboxsdk__button_icon+.inboxsdk__button_text{margin-left:5px}.inboxsdk__button_icon{display:inline-block}.inboxsdk__button_iconImg{height:20px;width:20px;vertical-align:middle;margin-top:-2px;user-drag:none;user-select:none;-webkit-user-drag:none}.inboxsdk__button_green_hover,.inboxsdk__button_green_inactive{background-image:-webkit-linear-gradient(top,transparent,transparent);background-image:linear-gradient(top,transparent,transparent);border:1px solid transparent;text-shadow:none}.inboxsdk__button_green_inactive{box-shadow:0 1px 0 rgb(0 0 0/5%);background-color:#53a93f;color:#fff}.inboxsdk__button_green_hover{box-shadow:inset 0-1px 0#4c8534;background-color:#65b045;border-bottom:1px solid #4c8534}.inboxsdk__button_green_active{box-shadow:inset 0 1px 0#2f6124;background:#3e802f;border:1px solid transparent;border-top:1px solid #2f6124;color:#fff;text-shadow:none}.inboxsdk__menu{min-width:1em;min-height:1em;padding:0;overflow:visible;max-height:none;z-index:7;cursor:default;font-size:13px;margin:0;outline:0}.inboxsdk__menu>.inboxsdk__menuContent{padding:0;box-shadow:0 8px 10px 1px rgb(0 0 0/14%),0 3px 14px 2px rgb(0 0 0/12%),0 5px 5px -3px rgb(0 0 0/20%);transition:opacity .218s;border:1px solid rgb(0 0 0/20%);background:#fff;outline:0}.f4.J-N-JX.inboxsdk__message_more_icon{height:16px;margin-top:1px;width:16px}.dw .nH>.no .nH.nn:last-child[style*=\"width: 310px;\"],body:has(.companion_app_sidebar_visible) .dw .nH>.no .nH.nn:last-child{width:366px!important}.inboxsdk__composeButton{height:20px;width:20px;padding:4px}.inboxsdk__composeButton,.inboxsdk__compose_sendButton{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;outline:0;position:relative}.inboxsdk__composeButton+.inboxsdk__composeButton{margin-left:4px}.inboxsdk__composeButton .inboxsdk__button_icon{opacity:.55}.inboxsdk__composeButton.inboxsdk__composeButton_active .inboxsdk__button_icon,.inboxsdk__composeButton:focus .inboxsdk__button_icon,.inboxsdk__composeButton:hover .inboxsdk__button_icon{opacity:1}.inboxsdk__composeButton::before{content:\"\";display:block;opacity:0;position:absolute;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);inset:0 0 0 0;background:0 0;box-sizing:border-box;transform:scale(0);transition-property:transform,opacity;border-radius:4px}.inboxsdk__composeButton:hover::before{background-color:rgb(32 33 36/5.9%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__composeButton.inboxsdk__composeButton_active::before,.inboxsdk__composeButton:focus::before{background-color:rgb(32 33 36/12.2%);border:0;box-shadow:none;opacity:1;transform:scale(1)}.inboxsdk__compose_actionToolbar .inboxsdk__compose_groupedActionToolbar div.inboxsdk__composeButton:last-child{margin-right:0}.inboxsdk__compose_sendButton{background-color:#1a73e8;color:#fff;height:24px;width:auto;border-radius:4px;padding:6px 4px;margin-left:2px}.inboxsdk__compose_inlineReply .inboxsdk__compose_sendButton{height:24px}.inboxsdk__compose_sendButton.inboxsdk__composeButton_active,.inboxsdk__compose_sendButton:focus{background-color:#5094ed;box-shadow:0 1px 1px 0 rgb(66 133 244/30%),0 1px 3px 1px rgb(66 133 244/15%);border:0}.T-I~.inboxsdk__compose_sendButton{margin-left:-6px}.inboxsdk__compose_actionToolbar{white-space:nowrap;padding-left:6px}.inboxsdk__compose_actionToolbar .inboxsdk__button_icon{height:20px;width:20px;display:inline-flex;user-select:none}.inboxsdk__compose_actionToolbar .inboxsdk__button_iconImg{height:17px;width:17px;display:inline-flex;margin:auto}.inboxsdk__compose_actionToolbar+.gU:not(.inboxsdk__compose_separator){padding-left:8px}.inboxsdk__compose_groupedActionToolbar_visible .aDg .aDh{overflow-y:visible}.inboxsdk__compose_groupedActionToolbar{position:absolute;bottom:44px;z-index:10;border-radius:2px;box-shadow:0 4px 5px 0 rgb(0 0 0/14%),0 1px 10px 0 rgb(0 0 0/12%),0 2px 4px -1px rgb(0 0 0/20%);margin:3px 3px 7px;padding:4px 5px;background:#fff;left:-3px}.inboxsdk__compose_inlineReply .inboxsdk__compose_groupedActionToolbar{left:14px}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton:first-child{margin-left:0;margin-right:0}.inboxsdk__composeButton.inboxsdk__compose_groupedActionButton{margin-right:0}.inboxsdk__compose_groupedActionToolbar .inboxsdk__composeButton{padding:4px}.inboxsdk__compose_groupedActionToolbar_visible .bA3{height:40px}.inboxsdk__compose_groupedActionToolbar div.inboxsdk__button{z-index:1;margin-right:0}.inboxsdk__compose_groupedActionToolbar_arrow,span.inboxsdk__thread_row_custom_draft_label+div.yW{display:none}.inboxsdk__compose_customSendContainer{display:inline-block;position:relative;outline:0;margin:6px 0;padding:0;vertical-align:middle;height:36px;line-height:36px}.inboxsdk__compose_customTitleBarColor>img.Ha,.inboxsdk__compose_customTitleBarColor>img.Hl,.inboxsdk__compose_customTitleBarColor>img.Hq{background-color:transparent!important}.inboxsdk__compose_hasCustomTitleBarText,.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{display:flex}.inboxsdk__compose_hasCustomTitleBarText>tbody>tr{align-items:center}.inboxsdk__compose_hasCustomTitleBarText>tbody{width:100%}.inboxsdk__compose_nativeTitleBarText{display:none!important}.inboxsdk__compose_customTitleBarText{width:calc(100% - 80px)}.inboxsdk__compose_hasCustomTitleBarText td.Hm{margin-right:10px;margin-left:auto}.inboxsdk__compose_statusBarPrependContainer{border-top:1px solid #cfcfcf}.inboxsdk__compose_statusBarPrependContainer+table td.gU{border-top:none}input.inboxsdk__x_close_button{background-color:transparent;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ");background-size:cover;background-repeat:no-repeat;background-position:center center;height:20px;width:20px;border:0;vertical-align:middle;cursor:pointer;float:right;margin:5px}.inboxsdk__gmail_label.inboxsdk__label_has_icon .au{display:inline-block;margin-left:14px}.inboxsdk__thread_row_label .inboxsdk__button_icon,.inboxsdk__thread_row_label .inboxsdk__button_iconImg{height:11px;width:11px}.inboxsdk__thread_row_label .inboxsdk__button_icon{display:inline-block;margin-top:3px;margin-left:4px;position:absolute}.inboxsdk__thread_row_button{outline:0;height:20px;width:20px;padding:0}.inboxsdk__thread_row_button .inboxsdk__button_icon{max-height:100%}.inboxsdk__thread_row_custom_date_container,.zA>.xY.inboxsdk__thread_row_attachment_icons_present{max-width:inherit}.inboxsdk__thread_row_button .inboxsdk__button_iconImg{height:20px;width:20px;margin-top:0}.inboxsdk__gmail_action{float:right;position:relative;background-color:gray;margin-left:1em;cursor:default;background-image:-webkit-linear-gradient(top,#e9e9e9,#e6e6e6);background-image:linear-gradient(top,#e9e9e9,#e6e6e6);border:1px solid rgb(0 0 0/10%);border-color:#ccc;color:#444;height:17px;line-height:17px;min-width:56px;border-radius:2px;font-size:11px;font-weight:700;text-align:center;white-space:nowrap;padding:0 18px 0 6px}.inboxsdk__gmail_action:focus{border:1px solid #4d90fe;outline:0}.inboxsdk__gmail_action:active{box-shadow:inset 0 1px 2px rgb(0 0 0/10%)}.inboxsdk__gmail_action:hover{box-shadow:0 1px 1px rgb(0 0 0/5%);background-color:#ededed;background-image:-webkit-linear-gradient(top,#ededed,#eaeaea);background-image:linear-gradient(top,#ededed,#eaeaea);border-color:#b8b8b8}.inboxsdk__gmail_action::after{content:\"\";position:absolute;right:5px;top:5px;margin-left:5px;background:no-repeat url(https://ssl.gstatic.com/mail/sprites/smartmail-561acb673be75c1d374881a95997fce4.png)-67px -100px;width:7px;height:7px;opacity:.55}.inboxsdk__thread_row_custom_date{margin-left:2px}span.inboxsdk__thread_row_custom_date+span:not(.inboxsdk__thread_row_custom_date){display:none}.inboxsdk__thread_row_attachment_iconWrapper{margin-left:3px;height:16px}.inboxsdk__thread_row_attachment_icon{margin-left:3px;width:16px;height:16px}.inboxsdk__thread_row_attachment_iconWrapper{display:flex;justify-content:center;align-items:center;width:max-content}.zA td.apU.xY{width:initial}.zA td.apU.xY span.inboxsdk__thread_row_button{margin:0 10px;opacity:.16}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button{opacity:.54}.zA.aqw td.apU.xY span.inboxsdk__thread_row_button:hover{opacity:1}.zA td.apU.xY span.inboxsdk__thread_row_button::before{width:0;height:0}.inboxsdk__thread_row_attachment_icon{vertical-align:middle}.Zs .xY.inboxsdk__thread_row_attachment_icons_present{flex-grow:0}.Zs .xY.inboxsdk__thread_row_label{order:1}.Zs .xY.inboxsdk__thread_row_icon_wrapper{order:1;margin-left:3px;margin-right:0}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_icon,.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{height:18px;width:18px}.inboxsdk__thread_row_icon_wrapper{width:20px;margin-right:3px;align-self:center;height:20px;flex:0 0 auto}.inboxsdk__thread_row_icon_wrapper .inboxsdk__button_iconImg{vertical-align:top}.inboxsdk__thread_row_image_added .y6 .inboxsdk__thread_row_icon_wrapper~span[id]{margin-left:3px}.inboxsdk__thread_row_image_added .a4W,.inboxsdk__thread_row_image_added .apA,.inboxsdk__thread_row_image_added .apx{position:relative}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>img,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>img{margin-right:3px;margin-left:3px;margin-top:0}[inboxsdk__message_added_attachment_icon] td.gH div.gK>span:first-child>:last-child,[inboxsdk__message_added_attachment_icon] td.gH>span:first-child>:last-child{margin-right:6px}.inboxsdk__message_attachment_icon,.inboxsdk__message_attachment_iconWrapper{width:21px;height:21px;position:relative}.inboxsdk__message_attachment_iconWrapper{margin:auto 3px;display:inline-flex;justify-content:center;align-items:center;vertical-align:top}.inboxsdk__message_attachment_tooltipWrapper{position:absolute;top:19px;z-index:10}.gU .aWQ{max-height:3px}.aQw .inboxsdk__button_icon{display:inline-flex;align-items:center;justify-content:center;height:28px}.aQw .inboxsdk__button_iconImg{height:18px;width:18px;margin-top:2px}.aZi .asa .inboxsdk__button_iconImg{display:inline-block;vertical-align:middle;margin-top:-3px}.aZi .aZj .asa .inboxsdk__button_iconImg{margin:0}body .dw{z-index:6!important}.inboxsdk__compose_outerSidebar_wrapper{position:absolute;left:-401px;top:0;background:#fff;width:400px;bottom:0;border-left:1px solid silver;box-shadow:-2px 0 1px #e6e6e6;display:block}.inboxsdk__outerSidebarActive .aSt .inboxsdk__compose_outerSidebar_wrapper{border-left:0;box-shadow:none;left:-400px}.inboxsdk__outerSidebarActive .aSs>div{width:50%!important;margin-left:30%}.inboxsdk__compose_outerSidebar_header{background:#404040;font-size:80%;padding:10px 10px 11px;color:#fff;border-bottom:1px solid #c4c4c4}.inboxsdk__compose_outerSidebar_body{position:absolute;width:100%;bottom:43px;top:36px;left:-1px;overflow:auto}.inboxsdk__compose_outerSidebar_footer{position:absolute;bottom:0;width:100%;border-top:1px solid rgb(206 206 206);display:block}.inboxsdk__compose_innerSidebarActive .GQ,.inboxsdk__compose_innerSidebarActive form{padding-right:200px}div.inboxsdk__compose_statusbar{border:0;height:40px;margin:0}.inboxsdk__compose_statusbar{background:0 0;position:relative}.HM .I5 .inboxsdk__compose_statusbar{padding:0 16px 16px}table+.inboxsdk__compose_statusbar{margin-top:-8px}body.inboxsdk__classic_gmail_recipients_area .inboxsdk__compose_statusbarActive .aoI{height:auto!important}.inboxsdk__compose_statusbarActive .aDl{z-index:unset}.inboxsdk__compose .qz{max-height:inherit!important}body:not(.inboxsdk_hack_disableComposeSizeFixer) .inboxsdk__size_fixer .aDj.aDi{position:static!important}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .HM .I5{padding-bottom:var(--inboxsdk-total-added-statusbar-height, 0px)}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj::before{height:calc(100% + var(--inboxsdk-total-added-statusbar-height, 0px))}.inboxsdk__compose_inlineReply.inboxsdk__compose_statusbarActive .aDj.aDi>.aDh{background-color:#fff}.inboxsdk__recipient_row{display:flex}.inboxsdk__compose_notice{background-color:#f5f5f5;border-radius:4px;margin:10px;padding:10px 16px}.inboxsdk__recipient_row td.ok{height:20px;padding:0!important}.inboxsdk__recipient_row td.az3{padding:0 3px}.inboxsdk__compose_forceRecipientsOpen .fX.aXjCH{display:block!important}.inboxsdk__compose_forceRecipientRowHidden,.inboxsdk__compose_forceRecipientsOpen .aoD.hl,.inboxsdk__compose_hideRecipientArea .aoD.hl,.inboxsdk__compose_hideRecipientArea .fX.aXjCH,[data-thread-toolbar=true] [data-rowlist-toolbar=true],[data-toolbar-expanded=false] [data-toolbar-expanded=true],[data-toolbar-expanded=true] [data-toolbar-expanded=false],[data-toolbar-icononly=true] .inboxsdk__button_text{display:none!important}[data-toolbar-icononly=false] .inboxsdk__button_text{color:#5f6368}[data-toolbar-icononly=false] .asa::before{border-radius:4px;border:0!important}[data-toolbar-icononly=false] .inboxsdk__button{align-items:center;border:0;display:inline-flex;justify-content:center;position:relative;z-index:0;-webkit-font-smoothing:antialiased;font-family:\"Google Sans\",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.15px;background:0 0;box-sizing:border-box;color:#5f6368;cursor:pointer;font-weight:500;outline:0;padding:0 8px}.inboxsdk__menuItem .inboxsdk__icon,.inboxsdk__menuItem img{height:16px;width:16px;margin-top:-1px}.inboxsdk__modal_overlay{right:0;bottom:0}.inboxsdk__modal_fullscreen{position:fixed;inset:0 0 0 0;z-index:503;display:flex;justify-content:center;align-items:center;padding:110px 50px 50px}.inboxsdk__modal_content{margin-top:30px;margin-bottom:30px}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_content_no_buttons:not(.inboxsdk__modal_hideBottom) .inboxsdk__modal_content{margin-bottom:0;padding-bottom:24px}.inboxsdk__modal_close{outline:0;cursor:pointer}.inboxsdk__modal_fullscreen .inboxsdk__modal_container{position:relative;margin-top:-60px;width:auto;overflow:hidden}.inboxsdk__modal_fullscreen .inboxsdk__modal_container .inboxsdk__modal_toprow{margin-right:16px}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_close{display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_container{padding-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .inboxsdk__modal_content{margin-top:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideTop .Kj-JD-K7{margin:0;display:none}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_container,.inboxsdk__modal_fullscreen.inboxsdk__modal_hideSides .inboxsdk__modal_content{padding-left:0;padding-right:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_content{margin-bottom:0}.inboxsdk__modal_fullscreen.inboxsdk__modal_hideBottom .inboxsdk__modal_container{padding-bottom:0}.inboxsdk__modal_toprow.inboxsdk__modal_toprow--constrain-title-width{display:flex}.inboxsdk__modal_toprow--constrain-title-width>span[role=heading]{flex:1;width:0;word-wrap:break-word}.inboxsdk__drawers_in_use .aDi,.inboxsdk__moles_in_use .aDi{left:auto!important;position:static}.inboxsdk__moles_in_use .nH>.nH>.no{white-space:nowrap}.inboxsdk__moles_in_use .nH>.nH>.no>*{white-space:initial}.inboxsdk__moles_in_use .nH>.nH>.no>.nn{display:inline-block;float:none}.inboxsdk__mole_view{position:relative;max-width:564px;height:100vh;vertical-align:top;display:inline-flex;align-items:flex-end}.inboxsdk__mole_view_inner{visibility:visible;box-sizing:border-box;margin-right:5px;box-shadow:rgb(0 0 0/20%)0 2px 6px;min-width:260px;min-height:40px}.inboxsdk__mole_view_inner:not(.inboxsdk__original_view),.inboxsdk__mole_view_titlebar:not(.inboxsdk__original_view){border-radius:8px 8px 0 0}.inboxsdk__mole_view_titlebar{position:absolute;left:0;right:5px;font-size:14px;font-weight:500;box-sizing:border-box;height:40px;cursor:pointer;padding:10px 12px 10px 16px;color:#041e49;background:#f2f6fc}.inboxsdk__mole_view_titlebar.inboxsdk__original_view{color:#fff;font-size:12.8px;font-weight:400;background:#404040;padding:9px 0 0 11px;border-radius:4px 4px 0 0}.inboxsdk__mole_view_titlebar h2{font-size:inherit;font-weight:inherit;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inboxsdk__mole_title_buttons{white-space:nowrap;float:right;padding-right:5px;margin-top:1px}.inboxsdk__mole_title_buttons.inboxsdk__original_view{margin-top:-3px}.inboxsdk__mole_title_buttons>img{height:24px;width:24px;position:relative;top:2px}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img{height:16px;width:16px;margin-left:4px}.inboxsdk__mole_title_buttons:not(.inboxsdk__original_view)>img:hover{background-color:rgb(68 71 70/7.8%)}.inboxsdk__mole_title_buttons.inboxsdk__original_view>img:hover{background-color:#737373}.inboxsdk__mole_title_buttons>img:hover{opacity:1}.inboxsdk__mole_view.inboxsdk__minimized .Hl,.inboxsdk__mole_view.inboxsdk__minimized .inboxsdk__mole_view_content,.inboxsdk__mole_view.inboxsdk__minimized.inboxsdk__mole_use_minimize_title h2.inboxsdk__mole_default,.inboxsdk__mole_view:not(.inboxsdk__minimized) .Hk,.inboxsdk__mole_view:not(.inboxsdk__minimized) h2.inboxsdk__mole_minimized,.inboxsdk__mole_view:not(.inboxsdk__mole_use_minimize_title) h2.inboxsdk__mole_minimized{display:none}.inboxsdk__mole_view_content:not(.inboxsdk__original_view){margin-top:40px;border:0}.inboxsdk__mole_view_content{margin-top:36px;border:1px solid #cfcfcf;background:#fff;min-width:260px;min-height:20px;max-height:80vh}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_inner{min-width:0}.inboxsdk__mole_view_chromeless .inboxsdk__mole_view_content{margin-top:0;min-width:0}.inboxsdk__tab{width:30px}.inboxsdk__tab.inboxsdk__fQK2Ffccj51PVtC_ibDc:first-child:last-child{display:none}.inboxsdk__tab.inboxsdk__tab_selected{width:auto}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab .aAy[role=tab]{height:28px}.inboxsdk__tab_icon{width:30px;height:25px;background-position-x:5px;background-position-y:3px;background-size:16px;background-repeat:no-repeat}.inboxsdk__tab_icon img{height:16px;width:16px;margin-left:5px;margin-top:3px}.inboxsdk__tab .aKx{top:4px}.inboxsdk__sidebar div[role=complementary]{position:static!important}.inboxsdk__sidebar>div.y4,.inboxsdk__lmkPHCz841PzU2vywMZI>div.y4{display:none}table.aKk .inboxsdk__contentTabContainer .inboxsdk__tab:first-child .aAy[role=tab]{border-left-width:1px}.inboxsdk__sidebar .inboxsdk__contentPanelContainer{font:12px Arial,sans-serif;max-width:220px}.inboxsdk__contentPanelContainer_contentContainer{overflow:hidden;margin-bottom:10px;border-bottom:1px solid #d8d8d8}body.inboxsdk__hasTopMessageBar .bq9{top:var(--inboxsdk__topMessageBar-height)}.inboxsdk__lmkPHCz841PzU2vywMZI>div[role=complementary]{position:static!important;width:216px!important}.inboxsdk__lmkPHCz841PzU2vywMZI{will-change:position}.inboxsdk__RRnCd87hoA2uHeC1Z_FE{background:#fff}.inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding:4px 0 12px}.inboxsdk__L1YTilBb_3NY6uyjljIg.inboxsdk__fQK2Ffccj51PVtC_ibDc .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{padding-top:0}.container_app_sidebar_in_use.no,.inboxsdk__IpDkQtEZuh257muFXot6.no{display:flex;flex-direction:row;width:100%}body[dir=rtl] .container_app_sidebar_in_use.no[dir=ltr],body[dir=rtl] .idm5_container_app_sidebar_no_icons.no[dir=ltr]{flex-direction:row-reverse}.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-57px!important}.container_addon_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm],.container_app_sidebar_visible.container_app_sidebar_in_use.no .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:-321px!important}.inboxsdk__IpDkQtEZuh257muFXot6 .G-atb.inboxsdk__thread_toolbar_parent[gh=tm]{margin-right:0!important}.inboxsdk__button.ar7{pointer-events:all!important}.container_app_sidebar_in_use .bkK.nn,.inboxsdk__IpDkQtEZuh257muFXot6 .bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__IpDkQtEZuh257muFXot6 .bnl.nn{z-index:-1;position:absolute}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI{min-width:57px!important;flex-shrink:0}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible{min-width:321px!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI>.J-KU-Jg{display:block!important}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:none}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .inboxsdk__jQiSbhX57v1JCl6fIbdb{display:block;float:left;height:100%;border-left:1px solid #e0e0e0;padding-left:16px;width:calc(100% - 74px);overflow:auto}.container_app_sidebar_in_use .inboxsdk__jQiSbhX57v1JCl6fIbdb .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:calc(100% - 16px);padding-right:16px}.container_app_sidebar_in_use .inboxsdk__lmkPHCz841PzU2vywMZI.app_sidebar_visible .J-KU-Jz{width:auto;padding-right:50px}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{margin:18px 18px 10px;border:0;background:0 0;height:20px;width:20px;overflow:hidden;padding:0;cursor:pointer;position:relative}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .inboxsdk__button_icon{margin-bottom:18px}body .inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon{overflow:visible}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon:hover::before,.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{content:\"\";background:#f1f3f4;position:absolute;inset:-10px -10px -10px -10px;border-radius:50%;z-index:0}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_icon::before{background:#e8eaed}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_iconImg{width:20px;height:20px;margin-top:0}.inboxsdk__z3cCBtGXYneog44Vf16J .inboxsdk__button_icon .inboxsdk__button_iconImg{position:absolute;left:0;top:0;z-index:1}.inboxsdk__z3cCBtGXYneog44Vf16J .sidebar_button_container_active .inboxsdk__button_selectedIndicator{height:40px;width:4px;position:absolute;right:0;bottom:0;background-color:rgb(66 133 244);border-radius:3px 0 0 3px}.inboxsdk__z3cCBtGXYneog44Vf16J.sidebar_global_iconArea .sidebar_button_container_active .inboxsdk__button_selectedIndicator{bottom:8px}.brC-brG.companion_app_sidebar_visible{display:block!important}.bq9:not(.brC-brG).companion_app_sidebar_wrapper_visible{display:block!important}.companion_global_app_sidebar_visible .thread_app_sidebar{display:none}.companion_app_sidebar_visible:not(.companion_global_app_sidebar_visible) .global_app_sidebar,body.inboxsdk__custom_view_active .brC-aT5-aOt-ato-Kp-Jw [role=tablist]>div:not(:last-child){display:none}.nH.companion_container_app_sidebar_visible{width:calc(100% - 300px)!important}.companion_app_sidebar_visible .addon_sidebar~div:not(.addon_sidebar){display:none!important}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar{height:100%;overflow:auto}.inboxsdk__lmkPHCz841PzU2vywMZI .inboxsdk__jQiSbhX57v1JCl6fIbdb.addon_sidebar .inboxsdk__ZsVjiThsnbCmCG_X1Vvn{width:100%}.inboxsdk__lmkPHCz841PzU2vywMZI:not(.companion_app_sidebar_visible) .addon_sidebar{display:none}.inboxsdk__TFQRFr4aJVmDmx2llTVx{margin-left:0}.inboxsdk__RRnCd87hoA2uHeC1Z_FE .inboxsdk__iYzl6PjYB9v7KGQNbONH{padding:0 16px}.inboxsdk__lmkPHCz841PzU2vywMZI .bvq,.inboxsdk__lmkPHCz841PzU2vywMZI .bvq>div:last-child{display:block!important}.inboxsdk__cnd4jAy3zFUYdR_NdMxT .bvq>div:first-child{display:none!important}.inboxsdk__custom_view_element{overflow:auto}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem){border-left-color:transparent}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .bsU,.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .nU:not(.n1) .n0{font-weight:400}.inboxsdk__hide_native_marker .ain:not(.inboxsdk__navItem) .TO{background:0 0}.inboxsdk__hide_addon_container{display:flex!important;flex-direction:row;width:100%!important}body[dir=rtl] .inboxsdk__hide_addon_container[dir=ltr]{flex-direction:row-reverse}.inboxsdk__hide_addon_container>.bkK.nn{width:auto!important;flex:1;min-width:0}.inboxsdk__hide_addon_container>.bnl.nn,.inboxsdk__navItem>.TO img.afM.afO~.aio>.bsU{display:none}.inboxsdk__navItem{font-size:14px}.inboxsdk__navItem:not(.Xr)>.V3[style]{flex-grow:0!important}.inboxsdk__navItem>.TO.n4{display:block;padding-left:0}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .TN.aik{padding-left:18px}.inboxsdk__collapsiblePanel .inboxsdk__navItem>.TO .qj{margin-right:14px}.inboxsdk__navItem>.TO.n4 .qj>.G-asx{margin-right:0}.inboxsdk__navItem>.TO .aio>.bsU:empty{display:none}.inboxsdk__navItem>.TO .qj:empty::after{background-color:rgb(118 118 118);border-radius:50%;content:\"\";height:18px;margin-left:1px;width:18px}.inboxsdk__navItem>.TO .qj[style*=border-color]:empty::after{border-color:inherit}.inboxsdk__navItem>.TO:hover .pM{display:flex;visibility:visible}.inboxsdk__navItem>.TO .afM{cursor:pointer}.inboxsdk__navItem>.TO img.afM.afO,.inboxsdk__navItem>.TO:hover .afM{display:block;visibility:visible}.inboxsdk__collapsiblePanel_loading_container,.inboxsdk__navItem>.TO:hover .bsU{display:none}.inboxsdk__navItem.inboxsdk__navItem_nonClickable>.TO:active{background-color:initial}.inboxsdk__navItem_hover .aj0,.inboxsdk__navItem_hover .p8{visibility:visible}.inboxsdk__appMenuItem .CL.V6::before,.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-image:var(--background-image)}.inboxsdk__collapsiblePanel.apV.aJu .T-I.T-I-KE.L3::before{background-image:var(--background-image--hover)}.inboxsdk__appMenuItem.apV .CL.V6::before{background-image:var(--background-image--active)}.inboxsdk__collapsiblePanel .T-I.T-I-KE.L3::before{background-size:24px}.inboxsdk__collapsiblePanel_loading_container.inboxsdk__collapsiblePanel_loading_container--active,.inboxsdk__shortcutHelp_table table.cf,.inboxsdk__shortcutHelp_table tbody tbody,table[role=presentation].inboxsdk__thread_view_with_custom_view>tr{display:block}.inboxsdk__navItem_link{cursor:pointer;margin-left:auto}.inboxsdk__navItem_link>a{margin-left:16px}.inboxsdk__navItem>.TO .inboxsdk__button{margin-right:0}[dir=rtl] .inboxsdk__navItem_link{left:-4px;right:initial}.inboxsdk__navItem_container .aio .inboxsdk__button{position:absolute;top:0;right:-30px}.inboxsdk__navItem_marker{position:absolute;left:0;padding-bottom:2px}.inboxsdk__expando{z-index:1}.aip .CK,.inboxsdk__navItem_link>a{color:#15c}.aip .CK:hover,.inboxsdk__navItem_link>a:hover{text-decoration:underline}.inboxsdk__navItem_container .aio.aip{white-space:nowrap}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button):empty{display:none}.WR[role=navigation] .inboxsdk__navItem .Yh:not(.inboxsdk__navItem_parent_accessory_button){background:0 0}.WR[role=navigation] .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:none}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh{opacity:1}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh.inboxsdk__navItem_parent_accessory_button{background-image:none!important}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh:empty{background-color:rgb(32 33 36/71%);border-radius:50%;display:inherit;height:18px;margin-left:1px;width:18px}.WR[role=navigation].bhZ:not(.bym) .inboxsdk__navItem .Yh .inboxsdk__button_icon{display:inherit}.inboxsdk__custom_sections{margin-bottom:8px}.inboxsdk__custom_sections.Wc{padding:0;margin-bottom:0}.inboxsdk__resultsSection.inboxsdk__resultsSection_nonCollapsible .inboxsdk__resultsSection_title .Wp{visibility:hidden}.inboxsdk__custom_sections .Wg,.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection{padding-top:0}.inboxsdk__custom_sections.Wc .Wg{border-bottom:0;padding:0}.inboxsdk__results_collapsedContainer.Wg{height:auto}.inboxsdk__results_collapsedContainer>div{display:flex;flex-wrap:wrap;flex:1 0 100%}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child{flex:1;margin-right:0}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header{display:flex;align-items:center;flex:1}.inboxsdk__results_collapsedContainer>div>.inboxsdk__resultsSection_collapsed:first-child:last-child>.inboxsdk__resultsSection_header>.Cr{display:flex;align-items:center;margin-left:auto}.inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{display:inline-block;margin-right:20px;display:inline-flex}.Wc .inboxsdk__resultsSection.inboxsdk__resultsSection_collapsed{margin-right:0}.inboxsdk__resultsSection_collapsed .Cr{display:none}.inboxsdk__resultsSection_title{white-space:nowrap;cursor:pointer;display:inline-block;display:flex;align-items:center;height:48px}.Wc .inboxsdk__resultsSection_title{padding:3px 0 3px 8px}.inboxsdk__resultsSection_header{min-height:48px;line-height:48px}.inboxsdk__resultsSection_header_summaryText.Wm:last-child .amH{padding-right:0;margin-right:0}.inboxsdk__custom_sections.Wc .inboxsdk__resultsSection_header_summaryText:last-child{margin-right:11px}.inboxsdk__custom_sections.Wc .J-JN-M-I{margin-right:13px}.inboxsdk__resultsSection .TB.TC{text-align:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_loading{font-style:italic}.inboxsdk__resultsSection .inboxsdk__resultsSection_result_icon{height:15px;width:15px}.inboxsdk__resultsSection_label_iconHtml,.inboxsdk__resultsSection_result_iconHtml{display:flex;justify-content:center;align-items:center}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA:hover>.xW{display:flex}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow.zA>.xW{max-width:none;flex-basis:auto}.inboxsdk__resultsSection .inboxsdk__resultsSection_tableRow .xT{align-items:center}.inboxsdk__resultsSection .xX{width:20ex}.inboxsdk__resultsSection tr .xW>span,.inboxsdk__resultsSection_result_title span{overflow:hidden;display:block;text-overflow:ellipsis}.inboxsdk__resultsSection .V3{overflow:hidden;white-space:nowrap}.inboxsdk__resultsSection .at{position:relative}.inboxsdk__thread_row_label{flex-shrink:0;align-self:flex-end}.apv .inboxsdk__thread_row_label{align-self:flex-start}.inboxsdk__resultsSection_label_icon{height:11px;width:11px;position:absolute;top:2px;margin-left:4px;margin-top:1px}.inboxsdk__resultsSection .av,.inboxsdk__thread_row_label .av{overflow:hidden;text-overflow:ellipsis}.inboxsdk__resultsSection_label_icon+.av,.inboxsdk__thread_row_label .inboxsdk__button_icon+.av{margin-left:16px}.Wc .inboxsdk__resultsSection_footer{padding:3px 3px 3px 8px}.inboxsdk__tooltip .T-P{box-shadow:0 1px 3px rgb(0 0 0/20%);background-color:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;padding:16px;z-index:1201!important}.inboxdk__tooltip_content.inboxsdk__tooltip .aRM,.inboxsdk__tooltip.inboxdk__tooltip_content .T-P,.inboxsdk__tooltip.inboxsdk__appButton_tooltip .T-P{padding:0}.inboxsdk__tooltip .aRM{outline:0;padding:13px 10px 16px;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip .aRR{color:#333;font-size:18px;margin-top:13px}.inboxsdk__tooltip .aRQ{color:#777;font-size:13px;margin:3px 0 14px}.inboxsdk__tooltip{position:fixed;z-index:1300;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .T-P{position:relative;width:auto;max-width:500px}.inboxsdk__tooltip .inboxsdk__tooltip_arrow{position:fixed;z-index:1400;margin-top:-1px;transition:left 200ms ease,top 200ms ease}.inboxsdk__tooltip .inboxsdk__tooltip_close{user-select:none}.inboxsdk__tooltip .inboxsdk__button{margin-right:0}.inboxsdk__tooltip .inboxsdk__tooltip_image{max-height:300px;max-width:500px;overflow:hidden;height:auto}.inboxsdk__tooltip .inboxsdk__tooltip_image>img{max-height:300px;max-width:500px}.inboxsdk__attachmentCard img.aQG.aYB{max-width:178px;min-width:178px;min-height:118px}.inboxsdk__attachmentCard img.aZG.aYw{background:0 0}.aQw>.T-I.J-J5-Ji.L3{margin-top:5px}table.cf.wd.inboxsdk__shortcutHelp_table{margin-bottom:15px}.inboxsdk__shortcutHelp_table td.Dn{display:inline-block;width:50%}.inboxsdk__shortcutHelp_table tbody tbody tr{display:block;white-space:nowrap}.inboxsdk__shortcutHelp_table td.wg.Dn{display:inline-block;width:45%}.inboxsdk__shortcutHelp_table span.wb{margin-left:3px}.inboxsdk__shortcutHelp_table td.we.Dn{width:60%;white-space:normal}.inboxsdk__shortcutHelp_title img.inboxsdk__icon{height:21px;width:21px;vertical-align:middle;margin-right:10px;border-radius:4px}.asor.inboxsdk__custom_suggestion,.inboxsdk__custom_suggestion_iconHTML{display:flex;justify-content:center;align-items:center}.inboxsdk__custom_suggestion img{max-width:32px;max-height:32px}.inboxsdk__custom_suggestion_iconHTML{position:absolute;left:8px;height:32px;width:43px}.gstq_d .inboxsdk__custom_suggestion_iconHTML{margin-top:-8px}.inboxsdk__appButton{margin-right:8px}.inboxsdk__appButton+.inboxsdk__appButton{margin-left:16px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus{margin-right:0}.inboxsdk__appButton .inboxsdk__button_icon{margin-right:5px;position:relative}.inboxsdk__appButton a{color:#404040;text-decoration:none;line-height:24px}.inboxsdk__appButton.inboxsdk__appButton_noGPlus a{line-height:30px}.inboxsdk__appButton a:hover{text-decoration:underline;color:#000}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a{color:#eee}.inboxsdk__gmail_dark_theme .inboxsdk__appButton a:hover{color:#fff}.inboxsdk__appButton_tooltip{outline:0;transition:none;animation:gb__a .2s}.inboxsdk__appButton_tooltip .inboxsdk__tooltip_close,.inboxsdk__searchIsNarrow .streak__appToolbarButton_title{display:none}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .aRM{padding:0;white-space:initial;text-align:center;font:16px arial,sans-serif}.inboxsdk__tooltip.inboxsdk__appButton_tooltip .inboxsdk__tooltip_arrow{transform-origin:top;transform:rotateZ(180deg);margin-top:9px}.inboxsdk__custom_message_view{display:flex;padding-top:20px;padding-bottom:20px;border-top:1px solid #efefef;border-collapse:collapse}.inboxsdk__custom_message_view_hidden{display:none}.h7.ie+.inboxsdk__custom_message_view{margin-top:5px}.kQ+.inboxsdk__custom_message_view,.kx+.inboxsdk__custom_message_view{margin-top:1px}.inboxsdk__custom_message_view.inboxsdk__custom_message_view_collapsed{cursor:pointer}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon{padding-left:16px;padding-right:16px;flex-shrink:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_icon img{height:32px;width:32px;border-radius:50%}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_content{width:100%;min-width:0}.inboxsdk__custom_message_view .inboxsdk__custom_message_view_header{cursor:pointer}.inboxsdk__custom_message_view_app_notice_content{position:relative;z-index:1;align-items:center;display:flex;font-size:.75rem!important;justify-content:flex-start;margin-left:0;padding:0;top:0}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container{position:relative;width:auto!important;min-width:32px}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container:hover::before{content:none!important}.adx.inboxsdk__custom_message_view_app_notice_container.inboxsdk__custom_message_view_app_notice_container>span:first-child{display:none}.inboxsdk__custom_message_view_app_notice_container::before{position:absolute}.inboxsdk__custom_message_view_app_notice_content>*{color:#555}table[role=presentation].inboxsdk__thread_view_with_custom_view{table-layout:fixed}.inboxsdk__butterbar.inboxsdk__butterbar_error{background-color:#c53929!important}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]{color:#fff}.inboxsdk__butterbar.inboxsdk__butterbar_error [role=button]::before{background:rgb(255 255 255/8%)}.inboxsdk__support_menuItem:hover{background-color:#eee;outline:1px dashed transparent}.inboxsdk__compose_addressList{display:flex!important}.inboxsdk__linkPopOver_section_container{position:absolute;width:100%;top:35px;left:0}.inboxsdk__linkPopOver_section{width:100%;background:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;font:13px arial,sans-serif;padding:5px 8px;margin-bottom:5px;box-sizing:border-box;box-shadow:0 1px 3px rgb(0 0 0/20%)}.T-I.J-J5-Ji.T-I-ax7.inboxsdk__button .asa::after{width:auto}", ""]);
|
|
32929
32499
|
// Exports
|
|
32930
32500
|
var app_sidebar_waiting_platform = "inboxsdk__nJrOYb9x4IUalKhkqH70";
|
|
32931
32501
|
var app_sidebar_main = "inboxsdk__YVRXKNcaUvgm8xbnhvbA";
|
|
@@ -51373,65 +50943,6 @@ var zip = baseRest(unzip);
|
|
|
51373
50943
|
module.exports = zip;
|
|
51374
50944
|
|
|
51375
50945
|
|
|
51376
|
-
/***/ }),
|
|
51377
|
-
|
|
51378
|
-
/***/ 9880:
|
|
51379
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
51380
|
-
|
|
51381
|
-
"use strict";
|
|
51382
|
-
|
|
51383
|
-
|
|
51384
|
-
var _interopRequireDefault = __webpack_require__(4836);
|
|
51385
|
-
|
|
51386
|
-
Object.defineProperty(exports, "__esModule", ({
|
|
51387
|
-
value: true
|
|
51388
|
-
}));
|
|
51389
|
-
exports["default"] = mapIndexed;
|
|
51390
|
-
|
|
51391
|
-
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(6690));
|
|
51392
|
-
|
|
51393
|
-
var _createClass2 = _interopRequireDefault(__webpack_require__(9728));
|
|
51394
|
-
|
|
51395
|
-
var MapIndexed =
|
|
51396
|
-
/*#__PURE__*/
|
|
51397
|
-
function () {
|
|
51398
|
-
function MapIndexed(f, xform) {
|
|
51399
|
-
(0, _classCallCheck2.default)(this, MapIndexed);
|
|
51400
|
-
this.f = f;
|
|
51401
|
-
this.xform = xform;
|
|
51402
|
-
this.i = -1;
|
|
51403
|
-
}
|
|
51404
|
-
|
|
51405
|
-
(0, _createClass2.default)(MapIndexed, [{
|
|
51406
|
-
key: '@@transducer/init',
|
|
51407
|
-
value: function transducerInit() {
|
|
51408
|
-
return this.xform['@@transducer/init']();
|
|
51409
|
-
}
|
|
51410
|
-
}, {
|
|
51411
|
-
key: '@@transducer/result',
|
|
51412
|
-
value: function transducerResult(v) {
|
|
51413
|
-
return this.xform['@@transducer/result'](v);
|
|
51414
|
-
}
|
|
51415
|
-
}, {
|
|
51416
|
-
key: '@@transducer/step',
|
|
51417
|
-
value: function transducerStep(res, input) {
|
|
51418
|
-
this.i++;
|
|
51419
|
-
return this.xform['@@transducer/step'](res, this.f(input, this.i));
|
|
51420
|
-
}
|
|
51421
|
-
}]);
|
|
51422
|
-
return MapIndexed;
|
|
51423
|
-
}();
|
|
51424
|
-
|
|
51425
|
-
function mapIndexed(f) {
|
|
51426
|
-
return function (xform) {
|
|
51427
|
-
return new MapIndexed(f, xform);
|
|
51428
|
-
};
|
|
51429
|
-
}
|
|
51430
|
-
|
|
51431
|
-
module.exports = exports.default;
|
|
51432
|
-
module.exports["default"] = exports.default;
|
|
51433
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJNYXBJbmRleGVkIiwiZiIsInhmb3JtIiwiaSIsInYiLCJyZXMiLCJpbnB1dCIsIm1hcEluZGV4ZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBTUEsVTs7O0FBQ0osc0JBQVlDLENBQVosRUFBZUMsS0FBZixFQUFzQjtBQUFBO0FBQ3BCLFNBQUtELENBQUwsR0FBU0EsQ0FBVDtBQUNBLFNBQUtDLEtBQUwsR0FBYUEsS0FBYjtBQUNBLFNBQUtDLENBQUwsR0FBUyxDQUFDLENBQVY7QUFDRDs7O1NBRUQsbUI7cUNBQXNCO0FBQ3BCLGFBQU8sS0FBS0QsS0FBTCxDQUFXLG1CQUFYLEdBQVA7QUFDRDs7U0FFRCxxQjtxQ0FBc0JFLEMsRUFBRztBQUN2QixhQUFPLEtBQUtGLEtBQUwsQ0FBVyxxQkFBWCxFQUFrQ0UsQ0FBbEMsQ0FBUDtBQUNEOztTQUVELG1CO21DQUFvQkMsRyxFQUFLQyxLLEVBQU87QUFDOUIsV0FBS0gsQ0FBTDtBQUNBLGFBQU8sS0FBS0QsS0FBTCxDQUFXLG1CQUFYLEVBQWdDRyxHQUFoQyxFQUFxQyxLQUFLSixDQUFMLENBQU9LLEtBQVAsRUFBYyxLQUFLSCxDQUFuQixDQUFyQyxDQUFQO0FBQ0Q7Ozs7O0FBR1ksU0FBU0ksVUFBVCxDQUFvQk4sQ0FBcEIsRUFBdUI7QUFDcEMsU0FBTyxVQUFTQyxLQUFULEVBQWdCO0FBQ3JCLFdBQU8sSUFBSUYsVUFBSixDQUFlQyxDQUFmLEVBQWtCQyxLQUFsQixDQUFQO0FBQ0QsR0FGRDtBQUdEIiwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgTWFwSW5kZXhlZCB7XG4gIGNvbnN0cnVjdG9yKGYsIHhmb3JtKSB7XG4gICAgdGhpcy5mID0gZjtcbiAgICB0aGlzLnhmb3JtID0geGZvcm07XG4gICAgdGhpcy5pID0gLTE7XG4gIH1cblxuICAnQEB0cmFuc2R1Y2VyL2luaXQnKCkge1xuICAgIHJldHVybiB0aGlzLnhmb3JtWydAQHRyYW5zZHVjZXIvaW5pdCddKCk7XG4gIH1cblxuICAnQEB0cmFuc2R1Y2VyL3Jlc3VsdCcodikge1xuICAgIHJldHVybiB0aGlzLnhmb3JtWydAQHRyYW5zZHVjZXIvcmVzdWx0J10odik7XG4gIH1cblxuICAnQEB0cmFuc2R1Y2VyL3N0ZXAnKHJlcywgaW5wdXQpIHtcbiAgICB0aGlzLmkrKztcbiAgICByZXR1cm4gdGhpcy54Zm9ybVsnQEB0cmFuc2R1Y2VyL3N0ZXAnXShyZXMsIHRoaXMuZihpbnB1dCwgdGhpcy5pKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFwSW5kZXhlZChmKSB7XG4gIHJldHVybiBmdW5jdGlvbih4Zm9ybSkge1xuICAgIHJldHVybiBuZXcgTWFwSW5kZXhlZChmLCB4Zm9ybSk7XG4gIH07XG59XG4iXX0=
|
|
51434
|
-
|
|
51435
50946
|
/***/ }),
|
|
51436
50947
|
|
|
51437
50948
|
/***/ 5936:
|