1
var rectangleArea = function (rectangles) {5
let mod = BigInt(1000000007);7
for (var rec of rectangles) {8
events.push([rec[1], "open", rec[0], rec[2]]);9
events.push([rec[3], "close", rec[0], rec[2]]);12
events = events.sort((a, b) => a[0] - b[0]);15
for (var event of events) {23
for (var ev of active) {24
curr = Math.max(curr, ev[0]);25
maxLength += Math.max(0, ev[1] - curr);26
curr = Math.max(curr, ev[1]);29
area += BigInt(maxLength) * BigInt(currY - y);32
if (type === "open") {33
active.push([x1, x2]);34
active = active.sort((a, b) => a[0] - b[0]);36
for (var i = 0; i < active.length; i++) {38
if (e[0] === x1 && e[1] === x2) {